dsh-agent-message:DeepSeek Harness 的跨會話 Agent 通信插件

前言

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,離線時自動恢復後投遞。

支持三種投遞模式:followupsteerinject

查詢消息回執

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 查詢,但不再返回易失的 sentAtmode
  • 跨進程/跨機器通信不在本插件範圍內。

結尾

dsh-agent-message 提供會話列表、消息發送、回執查詢、@ 定位、消息卡片和複製會話 ID 等能力,適合在同一 DSH 進程內做 Agent 會話通信。

倉庫地址:

https://github.com/GengDaPeng/dsh-agent-message
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜