技能用途
在並行開發(Team Mode)中,如果多個背景 Worker 彼此孤立、互不溝通,很容易導致它們各自做出相互衝突的修改決策(例如,Worker A 將 ID 改為 Int,Worker B 將其改為 Guid)。這會讓最後的程式碼合併(Merge)變成一場衝突噩夢。
Hermes 是 OMO 的 跨代理解析與數據總線技能。它扮演了「通訊官」的角色:
- 當某個 Worker 修改了核心 AST 接口時,Hermes 會自動攔截此修改,將其轉換為特徵指紋,主動廣播發送給所有其他在運行的背景 Sisyphus 執行緒。
- 在背景自動觸發受影響 Worker 的代碼重置或拉取,將變更衝突解決在萌芽狀態。
運作原理
- 訊息匯流排監聽:訂閱本地隱藏目錄
.omo/bus/下的 IPC FIFO 訊息。 - 衝突預測:比對各分支 Git index 的修改路徑。如果發現多個分支同時包含了某個共用檔案,自動發出警告。
- 主動協調 (Delegation):呼叫主控端暫停受影響 Worker,由 Hermes 進行代碼預合併。
實戰對話範例
範例:處理並行分支的 Namespace 衝突
- You:
omo /spawn hermes "監控目前 billing 與 admin 兩個 worktree 的衝突狀態" - AI:
[OMO] Hermes Engaged: Communication & Orchestration
正在掃描並行 Worker 的檔案變更軌跡…
Worker: billing修改了IConnection.csWorker: admin正在嘗試重載IConnection.cs中的同名方法。
衝突警報 (Conflict Detected):兩者同時修改了底層介面!
我已自動將billing分支的修改快照廣播給admin分支,並暫時掛起admin執行緒的 Sisyphus 修復,將合併後的介面提前注入到其 Context 中,以防止代碼分歧。雙端狀態同步完成。