前言¶
在 DSH 中做智能體協作時,常需要讓多個 agent 在同一項目裏互相發現、發送消息,並保留可查詢的項目歷史。已有做法通常要自己處理 socket、在線狀態、消息冪等和附件預算。@dpskh/a2a 把這些能力做成一個 DSH 插件:掛載後提供 hub、mesh client、a2a 工具和 /a2a 命令面。
下面按能力、配置、用法和限制介紹這個插件。
這是什麼¶
@dpskh/a2a 是用於 DeepSeek Harness 的 Agent2Agent 即時 mesh 插件,維護者爲 dpskh,許可證爲 MIT。資料中給出的掛載版本是 0.3。
它把以下能力放在一個入口插件裏:
ctx.a2aHub:項目註冊表、不可變消息歷史、可選 hub server 與即時 WebSocketctx.a2aMesh:每個已加入 agent 一個 WebSocket presence,並串行注入 inbound messagesa2a_peers、a2a_message、a2a_history工具/a2a hub、project、connect、disconnect、status、peers、history、help命令面
它面向的是可信私有網絡內的即時協作。
核心功能¶
Hub 與消息¶
hub 側提供項目註冊表和不可變消息歷史。消息支持基於 messageId 的冪等處理。文本與附件共享 4 MiB decoded-content budget,單條消息最多八條附件。
Mesh client¶
mesh client 側爲每個已加入 agent 維護一個 WebSocket presence,並把 inbound messages 串行注入。presence 基於 WebSocket 連接狀態;僅當前在線接收者可被直髮,沒有離線投遞或持久 roster。
工具¶
下面三個工具面向模型側:
a2a_peers:查看當前項目內當前存在的 roster namesa2a_message:向target.type=agent/name或target.type=project發送消息,可帶replyTo、附件路徑和messageIda2a_history:通過before、after、limit或from查看過去項目消息
命令面¶
/a2a 命令麪包括:
/a2a hub/a2a project/a2a connect/a2a disconnect/a2a status/a2a peers/a2a history/a2a help
資料中給出的命令示例包括:
/a2a connect <project> [--as <name>]/a2a status/a2a peers/a2a history
瀏覽器協作控制¶
@dpskh/ui-a2a 提供協作控制。瀏覽器消費 Host a2a.snapshot,不直接連接 Hub WebSocket。
安裝與啓用¶
已覈實資料未給出可直接照抄的官方安裝命令,因此本文不補充安裝命令。
資料中給出的啓用方式是:掛載 @dpskh/a2a 0.3,即可獲得即時 A2A mesh。啓用 hub 和 mesh 前,還需要將 storage backend 路由到 a2a domain。
典型配置¶
下面是資料中給出的配置示例。hub 配置用於運行可選 hub server;mesh 配置用於聲明 mesh client 相關字段。
- id: a2a
name: '@dpskh/a2a'
config:
hub:
host: 127.0.0.1
port: 43123
maxPort: 43223
mesh:
project: main
agentId: main
name: main
autoConnect: true
persistConnections: false
reconnectMs: 500
其中:
hub.host、hub.port、hub.maxPort用於配置可選 hub servermesh.project、mesh.agentId、mesh.name、mesh.autoConnect、mesh.persistConnections、mesh.reconnectMs爲資料中列出的 mesh 配置項
如果複製了 0.2 配置,persistBindings、autoRejoin、pollIntervalMs、heartbeatMs、caps 這些 0.2 mesh fields 會被忽略。
典型用法¶
先連接項目,再查看當前 peer,然後發送消息,最後按需查詢歷史。
1、連接項目:
/a2a connect <project> [--as <name>]
2、查看當前項目內當前存在的 roster names:
/a2a peers
也可以調用工具:
a2a_peers
3、向當前 peer 或項目發送消息:
a2a_message
可攜帶 target.type=agent/name 或 target.type=project、replyTo、附件路徑和 messageId。
4、查看過去項目消息:
/a2a history
也可以調用:
a2a_history
參數可通過 before、after、limit 或 from 控制範圍。
5、查看或斷開:
/a2a status
/a2a disconnect
/a2a help
信任模型與限制¶
這個插件假設運行在完全可信的私有網絡中:hub endpoints 不認證調用者,調用方提供的 project 和 member identities 爲可信聲明。不要把它暴露到公網或不可信網絡。
已知限制包括:
- 僅當前在線接收者可直髮,無離線投遞或持久 roster
- mesh client 一次只連接一個 hub
delivered、failed、disconnected等 delivery outcomes 僅內存保存,不持久化- inbound attachments 寫入系統臨時目錄
- 0.2 mesh fields
persistBindings、autoRejoin、pollIntervalMs、heartbeatMs、caps被忽略以兼容複製的 0.2 配置 package.json標記private: true
適用場景與注意¶
適合以下情況:
- 在 DSH 中讓多個 agent 於同一項目內即時通信
- 需要查看當前在線 roster
- 需要查詢項目內過往消息
- 需要在瀏覽器中使用
@dpskh/ui-a2a協作控制
需要注意:
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證
- 許可證爲 MIT
- 資料未給出官方安裝命令,使用時以倉庫文檔爲準
- DSH 插件生態強調“一切皆插件”,社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係
鏈接¶
- GitHub: https://github.com/dpskh/dsh-a2a
- 社區目錄線索: https://www.skillhub.cn/plugins/dpskh/dsh-a2a