Theme / v5.3.0

Oh My ClaudeCode

Claude Code 多代理編排系統

指令詳解

omc doctor 指令詳解

如何使用 omc doctor 診斷工作區狀態、清除衝突的 git worktree 與修復 tmux 代理連線

指令用途

在啟動多代理並行開發(Team Mode)時,OMC 會在本地建立多個臨時工作樹與背景 tmux 會話。如果在執行期間發生了異常終斷(如電腦意外斷電、終端機被強行關閉),本地可能會留下「半殘」的 git worktree 與孤立的 tmux 行程,導致下一次執行 omc team 時因為名稱衝突或連接失敗而報錯。

omc doctor 是專為 環境健康診斷與自我修復 而設計的維護指令。它會自動掃描專案的 Git 狀態、鎖定文件、背景 tmux 會話與 SQLite 資料庫連線,若發現異常,會提供一鍵自動修復,幫助開發者迅速重置回乾淨的開發環境。


運作流程

  1. 環境檢查
    • 檢查 git worktree list,找出與 .omc/ 快取中不一致的孤立工作樹。
    • 檢測當前運行的 tmux 會話是否存在 omc-team 重複。
    • 診斷本地 sqlite 連線健康度。
  2. 生成健康報告:以醒目的紅/綠色彩在終端機中列出各項指標。
  3. 自動修復 (Self-repair):若帶有 --fix 參數,會自動清理所有孤立資源,執行 Git 安全重置。

實戰對話範例

範例:診斷並修復衝突的背景 Worktree

  • You:
    /opsx:explore "我剛剛強行關閉了終端機,現在執行 omc team 報錯。請幫我執行 omc doctor。"
  • AI:

    好的,這通常是由於背景工作樹未被正常清理所致。我將執行 omc doctor 來診斷並自動修復您的開發環境。

    OMC 呼叫: omc doctor --fix
    OMC 回傳:

    [Doctor] Checking Git Status... Clean.
    [Doctor] Checking Worktrees... Found 1 orphaned worktree: temp/wt-billing [FAIL]
    [Doctor] Checking Tmux sessions... Found 1 dead session: 'omc-team' [FAIL]
    [Doctor] Action (--fix enabled):
      -> Removing git worktree 'temp/wt-billing'... Success.
      -> Terminating tmux session 'omc-team'... Success.
    [Doctor] All issues resolved! Your workspace is healthy.

    分析
    診斷成功!omc doctor 成功找出了一個殘留的 wt-billing 工作樹與一個死掉的 tmux 會話,並在幾毫秒內完成了安全清理。

    您的環境現在已恢復健康。您可以重新執行 omc team init 來開啟您的並行重構任務了。