Theme / v4.19.4

Oh My OpenAgent

AI 代理編排系統

Skills

Hermes 多代理溝通與同步技能

介紹 Hermes 代理如何作為中央調度官,協調多個背景 Worktree 之間的狀態同步與數據共享

技能用途

在並行開發(Team Mode)中,如果多個背景 Worker 彼此孤立、互不溝通,很容易導致它們各自做出相互衝突的修改決策(例如,Worker A 將 ID 改為 Int,Worker B 將其改為 Guid)。這會讓最後的程式碼合併(Merge)變成一場衝突噩夢。

Hermes 是 OMO 的 跨代理解析與數據總線技能。它扮演了「通訊官」的角色:

  • 當某個 Worker 修改了核心 AST 接口時,Hermes 會自動攔截此修改,將其轉換為特徵指紋,主動廣播發送給所有其他在運行的背景 Sisyphus 執行緒。
  • 在背景自動觸發受影響 Worker 的代碼重置或拉取,將變更衝突解決在萌芽狀態。

運作原理

  1. 訊息匯流排監聽:訂閱本地隱藏目錄 .omo/bus/ 下的 IPC FIFO 訊息。
  2. 衝突預測:比對各分支 Git index 的修改路徑。如果發現多個分支同時包含了某個共用檔案,自動發出警告。
  3. 主動協調 (Delegation):呼叫主控端暫停受影響 Worker,由 Hermes 進行代碼預合併。

實戰對話範例

範例:處理並行分支的 Namespace 衝突

  • You:
    omo /spawn hermes "監控目前 billing 與 admin 兩個 worktree 的衝突狀態"
  • AI:

    [OMO] Hermes Engaged: Communication & Orchestration

    正在掃描並行 Worker 的檔案變更軌跡…

    • Worker: billing 修改了 IConnection.cs
    • Worker: admin 正在嘗試重載 IConnection.cs 中的同名方法。

    衝突警報 (Conflict Detected):兩者同時修改了底層介面!
    我已自動將 billing 分支的修改快照廣播給 admin 分支,並暫時掛起 admin 執行緒的 Sisyphus 修復,將合併後的介面提前注入到其 Context 中,以防止代碼分歧。

    雙端狀態同步完成。