指令用途
官方的 Claude Code 主要是「單次往返」工作流。如果程式碼修改後編譯失敗,它會停下來等待開發者手動點擊「允許執行編譯命令」,這在處理大面積的連鎖編譯錯誤時非常繁瑣。
omc sisyphus 是 OMC 中的 自主自適應修復引擎。它將 AI 置於一個閉環(Closed-loop)中:
- 修改原始碼。
- 自動在背景跑建置或測試指令(如
dotnet build或pnpm test)。 - 如果失敗,將編譯器或測試框架的 Error Log 作為 Context 自動餵回給 AI。
- 自動進行第二次修改,直至編譯成功且測試 100% 通過。
這實現了真正的「無人值守自動駕駛式除錯」。
運作流程
- 指令接收:接收
omc sisyphus --test-cmd="pnpm test"。 - 啟動初次建置:自動執行測試命令。
- 錯誤偵測與解析:若有錯誤,使用 RegEx 提取出具體的檔名、行號與錯誤代碼(如 CS0246)。
- 遞歸自修復:自動建立 Patch,再次建置,最多遞歸循環
--max-loops次(預設 10 次)。
實戰對話範例
範例:啟動 Sisyphus 自主修復編譯錯誤
- You:
/opsx:explore "我的專案現在有 5 個編譯錯誤。請幫我啟動 omc sisyphus 自主修復。" - AI:
好的,我將啟動
omc sisyphus自主循環修復引擎,目標是通過全域編譯npm run build。OMC 呼叫:
omc sisyphus --build-cmd="npm run build" --max-loops=5
OMC 回傳:[Sisyphus] Loop 1/5: Running 'npm run build'... Failed. [Sisyphus] Found Error: src/api.ts(12,4): Cannot find name 'UserService'. [Sisyphus] Action: Importing UserService in src/api.ts. [Sisyphus] Loop 2/5: Running 'npm run build'... Succeeded! [Sisyphus] Autopilot complete. All errors resolved in 2 loops.分析:
Sisyphus 成功在第 2 輪循環中,自動識別出UserService命名空間缺失的問題,在代碼頂部補上import,並順利通過了編譯!整個過程完全沒有干擾您進行任何確認。