前言¶
DeepSeek Harness(DSH)可以在同一個進程裏運行多個 Agent 會話。dsh-agent-message 是一個 DSH 插件:讓運行在同一個進程裏的不同 Agent 會話,像發消息一樣互相收發信息。
它由 GengDaPeng 維護,許可證爲 MIT。GitHub 倉庫地址爲:
https://github.com/GengDaPeng/dsh-agent-message
這是什麼¶
dsh-agent-message 用於 DSH 裏的獨立會話通信:一個 Agent 會話可以向另一個 Agent 會話發送消息,並查詢消息回執。
適用前提是目標會話未歸檔、存在於本機持久化裏,並且屬於當前 Harness 進程能夠恢復和投遞的範圍。跨進程、跨機器通信不在本插件範圍內。
核心功能¶
列出可發送會話¶
list_peer_agents 列出所有可發送的獨立會話:未歸檔、排除真實子代理,含離線未打開。
發送消息¶
給指定會話 ID 發消息;默認使用 followup 創建獨立的新 turn,離線時自動恢復後投遞。
支持三種投遞模式:followup、steer、inject。
查詢消息回執¶
check_delivery 按需查詢消息回執:
pending
claimed
discarded
unknown
@ 會話定位¶
在輸入框開頭鍵入 @ 選擇目標會話。候選只顯示會話標題和“運行中/空閒”。
可見的 Agent 消息卡片¶
relay 顯示爲左側 Agent 消息卡片,消息頭可打開發送方會話。
複製會話 ID¶
會話頭部新增一鍵複製當前會話 ID 按鈕。
安裝與啓用¶
安裝命令:
dsh plugin --profile web add dsh-agent-message
兼容範圍:
Node.js 24
DeepSeek Harness >=0.1.0-rc.6 <0.2.0
當前驗證版本爲:
Node.js 24.x
DeepSeek Harness 0.1.0-rc.6
插件運行在當前 DSH 進程裏。安裝前建議檢查源碼與 MIT 許可證。
典型用法¶
1、在會話 A 的輸入框開頭鍵入 @,從候選中選擇目標會話;候選會顯示標題和“運行中/空閒”。
2、@ 用於定位目標會話。例如:
@B 告訴他最後提交 PR draft 就停止
會發送。
@B 幫我分析他最新的對話結果
則不應向 B 發消息。
3、也可以讓 Agent 調 list_peer_agents,再用完整會話 ID 直接發送。
4、監督場景下,可以說:
查一下我發給 <會話ID> 的消息狀態
它會調 check_delivery。
限制與注意¶
- 目標會話必須未歸檔且存在於本機持久化裏;歸檔會話一律拒絕發送。
- 工具只用於獨立 Session 之間通信;真實子代理既不會出現在目標列表中,也不能作爲調用方使用這些工具。
- 同一對 Session(不分發送方向)在滾動 60 秒內最多投遞 10 條消息;第 11 條會在寫入目標 Inbox 前被拒絕。該窗口只屬於當前 Harness 進程,重啓後清空。
- 自動恢復離線會話時會使用默認模型,不繼承它上次手動切換的模型選擇;恢復失敗時消息不會被寫入目標 Inbox。
- 不指定
messageId的批量回執依賴內存記賬,只覆蓋本進程最近 1000 條發送記錄(FIFO 淘汰);進程重啓後仍可憑已知messageId查詢,但不再返回易失的sentAt和mode。 - 跨進程/跨機器通信不在本插件範圍內。
結尾¶
dsh-agent-message 提供會話列表、消息發送、回執查詢、@ 定位、消息卡片和複製會話 ID 等能力,適合在同一 DSH 進程內做 Agent 會話通信。
倉庫地址:
https://github.com/GengDaPeng/dsh-agent-message