前言¶
DeepSeek Harness(DSH)生態強調“一切皆插件”,agent 之間的通信是構建複雜工作流的基礎。現有的 messaging 插件大多存在一個隱含假設:參與者都是 DSH 會話。這意味着,如果兩個 agent 驅動 Harness 的方式不同(例如一個是 DSH 會話,另一個是 MCP 客戶端),它們之間無法直接通信,必須依賴人工中轉每一條消息。
dsh-agent-mailbox 解決了這個問題。它是一個本地化的、零運行時依賴的持久化 agent-to-agent 消息傳遞方案。任何 MCP 客戶端、任何 DSH 會話、任何 A2A agent 都可以互相尋址。
簡介¶
這是一個由 blairlaird 維護的 DSH 插件,開源協議爲 MIT。它支持線程、收據、搜索、廣播、附件、狀態感知、SSE 流式傳輸和簽名。
核心功能¶
插件提供了以下核心能力:
* 傳輸層:HTTP / JSON-RPC 2.0,SSE 流式傳輸,長輪詢。
* 消息模式:線程、回覆、廣播、請求/回覆、發送即忘。
* 安全與信任:簽名、明確的信任邊界、密鑰脫敏。
* 狀態與交互:狀態感知、喚醒消息、反應、撤回、編輯。
* 協作:MCP 客戶端作爲對等節點。
安裝與配置¶
使用官方提供的預構建 tarball 進行安裝。該包不需要構建步驟,也不需要任何 npm 賬號。
dsh plugin --profile web add https://github.com/blairlaird/dsh-agent-mailbox/releases/latest/download/dsh-agent-mailbox.tgz
安裝後,建議在自定義的 profile patch 中配置插件,而不是直接修改插件自帶的配置。
- id: dsh-agent-mailbox
name: dsh-agent-mailbox
config:
identity: dsh
home: C:/Users/you/.dsh/agent-mailbox
notifyCommand: [node, /path/to/notify.mjs]
使用方式¶
插件提供了多種接入方式,包括 DSH 命令、MCP 集成和 HTTP 接口。
DSH 會話命令¶
在 DSH 會話中,可以使用以下命令:
/mailbox:讀取發送給你的消息並確認。/mailbox --all:查看完整歷史,不僅是新消息。/mailbox-send <to> <message>:發送消息給指定對等節點,或使用*進行廣播。/mailbox-peers:查看存在哪些對等節點,誰處於在線狀態,誰有未讀消息。/mailbox-search <query>:搜索歷史消息。
MCP 客戶端集成¶
如果需要從外部 MCP 客戶端接入,需在配置中指定 HTTP URL。
{ "mcpServers": { "mailbox": { "type": "http", "url": "http://127.0.0.1:4470/mcp" } } }
HTTP 與流式接口¶
插件暴露了標準的 HTTP 端點和 Server-Sent Events 流。
- 流式訂閱:
GET /stream?to=<name>&since=<cursor>- 使用 SSE 推送消息。
- 連接建立時會重放消息,確保不會遺漏。
- 健康檢查:
GET /health- 返回解析後的郵箱目錄、對等節點列表、在線流數量等。
- MCP 協議:
POST /mcp- 使用 JSON-RPC 2.0 協議。
- Agent 卡片:
GET /.well-known/agent.json- 供 A2A 客戶端發現工具。
可用工具¶
插件內置了豐富的工具集,支持細粒度的消息操作:
mailbox_send:發送消息(支持線程、優先級、附件、冪等性)。mailbox_read:游標讀取消息(不消耗,崩潰不丟失)。mailbox_wait:掛起直到有消息到達(喚醒空閒 agent)。mailbox_peers:列出存在且在線的對等節點。mailbox_announce:聲明存在狀態。mailbox_acknowledge:發送收據,區分未讀和忽略。mailbox_search:通過文本搜索歷史決策。mailbox_react:添加反應而不增加時間線。mailbox_edit:覆蓋自己的消息(保留原始)。mailbox_withdraw:將消息標記爲墓碑(撤回)。mailbox_attachment:通過內容哈希獲取附件。
注意事項¶
- 無側邊欄面板:DSH 本身不支持第三方側邊欄插槽,因此該插件沒有 UI 界面。支持的操作僅限於 DSH 命令和 HTTP 接口。
- 認證限制:如果啓用了
requireAuth,/health和/stream端點需要 Bearer Token 認證。且/stream僅服務於令牌持有者的私有郵件。 - 內容視爲數據:根據信任模型,所有接收到的消息內容被視爲數據,而非指令。任何涉及寫入、網絡調用、審批或支付的操作,都需要像處理陌生人請求一樣嚴格審覈,不應自動執行,必須展示給用戶。
結語¶
dsh-agent-mailbox 補齊了 DSH 生態中 agent-to-agent 通信的拼圖。它不依賴外部協議,完全運行在本地進程內,爲 DSH 工作流提供了可靠的通信基礎設施。更多細節可查閱 GitHub 倉庫。