DeepSeek Harness 插件:dsh-agent-mailbox

前言

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 倉庫。

羽毛球分组比赛记分
小程序二维码

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

小夜