前言¶
在 DeepSeek Harness 裏同時跑多個 agent session 時,常見的問題是:一個 session 發現了另一個 session 馬上會碰到的變更,但兩個 session 之間沒有直接通道。結果往往由人來搬運:在 A 會話裏看到結論,再手動打到 B 會話裏。
dsh-agent-messaging 針對這個問題,給 DeepSeek Harness 增加跨會話消息、聲明檢查和決策臺賬。它的目標是讓兩個 agent session 少重複、少矛盾、少互相卡死。
這是什麼¶
dsh-agent-messaging 是 DeepSeek Harness 的一個插件,倉庫路徑爲 happyren/dsh-agent-messaging,許可證爲 MIT。
它主要解決三類問題:
- 一個 session 需要把事實、約束或破壞性變更告訴另一個命名 session。
- 多個 session 可能同時 claim 同一資源,需要發現衝突並指出持有者。
- 多個 session 可能互相等待,需要發現 deadlock cycle。
- 重要 decision 需要被記錄,後續用 supersession 處理,而不是反覆 reopen。
需要說明的是,DSH 插件生態裏的社區目錄是獨立站點,不屬於 DeepSeek / 幻方的官方應用商店。本文只討論 dsh-agent-messaging 這個倉庫。
核心功能¶
下面列出已覈實的能力:
- 跨會話校驗:用於兩個 agent session 之間傳遞需要對方處理的信息。
- 發送消息:用
peer_send向另一個命名 session 投遞消息。 - 投遞模式:
steer:interrupt。followup:open a new turn。context:不 wake。- 發佈能力卡片:用
peer_card公佈 alias、role、owns、groups 等信息。 - 衝突檢測:發現 claim collision,並命名 holder。
- 死鎖檢測:發現會話之間互相等待的 deadlock cycle 並報告。
- 決策臺賬:記錄 decision,並用 supersession 代替重新打開舊決策。
安裝與啓用¶
先安裝插件:
npx -p @deepseek-ai/dsh dsh plugin --profile web add dsh-agent-messaging
安裝完成後重啓對應 profile,然後檢查安裝狀態:
npx dsh-agent-messaging doctor
如果需要在會話外查看運行報告,可以執行:
npx dsh-agent-messaging report
已確認的 Node engines 要求是:
^22.19.0 || >=24
已確認 peerDependencies 包括 @deepseek-ai/cordis ^4.0.0;完整依賴列表未在已覈實事實中給出,這裏不展開。
典型用法¶
下面兩個示例來自已覈實用法。
先發佈一個能力卡片,說明當前 session 負責什麼、不負責什麼:
peer_card alias: "payments-api"
role: "Owns api/ and the charge contract. I do NOT own client code."
owns: [{ resource: "api" }]
groups: ["backend"]
這個例子表達的是:payments-api 負責 api 和 charge contract,不負責 client code。
當 payments-api 發現一個會影響 checkout-client 的變更時,可以發送一條 steer:
peer_send to: checkout-client mode: steer
message: "tenant_id is now required on ChargeRequest — your call site will break"
這裏使用 mode: steer,表示 interrupt。接收方看到的是這條消息文本本身,而不是完整的會話歷史。
適用場景與注意¶
適合這類場景:
- 你同時運行多個獨立 DSH session,希望它們之間傳遞短文本結論。
- 你需要讓 session 先聲明 owns 和 role,再減少重複修改。
- 你需要發現 claim collision,並知道 holder 是誰。
- 你需要發現多個 session 互相等待造成的 deadlock cycle。
- 你希望把 decision 記入 ledger,後續用 supersession 處理。
不適合這類場景:
- 把另一個 session 的歷史拉進當前 message。
- 做一個 coordinator,去 spawn 和 supervise workers。
- 把同一個 conversation 移到別處繼續。
dsh-agent-messaging 的消息是文本,不是 conversation history,也不是 files。
啓用前建議確認三件事:
1、倉庫來源是 https://github.com/happyren/dsh-agent-messaging。
2、許可證是 MIT。
3、插件會以當前 dsh 進程權限運行,因此安裝前應先檢查源碼;如果 profile 有文件、網絡或模型調用權限,啓用後它也可能使用這些權限。
鏈接¶
GitHub:
https://github.com/happyren/dsh-agent-messaging