@dpskh/a2a:DeepSeek Harness 的 Agent2Agent 即時 mesh 插件

前言

在 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 與即時 WebSocket
  • ctx.a2aMesh:每個已加入 agent 一個 WebSocket presence,並串行注入 inbound messages
  • a2a_peersa2a_messagea2a_history 工具
  • /a2a hubprojectconnectdisconnectstatuspeershistoryhelp 命令面

它面向的是可信私有網絡內的即時協作。

核心功能

Hub 與消息

hub 側提供項目註冊表和不可變消息歷史。消息支持基於 messageId 的冪等處理。文本與附件共享 4 MiB decoded-content budget,單條消息最多八條附件。

Mesh client

mesh client 側爲每個已加入 agent 維護一個 WebSocket presence,並把 inbound messages 串行注入。presence 基於 WebSocket 連接狀態;僅當前在線接收者可被直髮,沒有離線投遞或持久 roster。

工具

下面三個工具面向模型側:

  • a2a_peers:查看當前項目內當前存在的 roster names
  • a2a_message:向 target.type=agent/nametarget.type=project 發送消息,可帶 replyTo、附件路徑和 messageId
  • a2a_history:通過 beforeafterlimitfrom 查看過去項目消息

命令面

/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.hosthub.porthub.maxPort 用於配置可選 hub server
  • mesh.projectmesh.agentIdmesh.namemesh.autoConnectmesh.persistConnectionsmesh.reconnectMs 爲資料中列出的 mesh 配置項

如果複製了 0.2 配置,persistBindingsautoRejoinpollIntervalMsheartbeatMscaps 這些 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/nametarget.type=projectreplyTo、附件路徑和 messageId

4、查看過去項目消息:

/a2a history

也可以調用:

a2a_history

參數可通過 beforeafterlimitfrom 控制範圍。

5、查看或斷開:

/a2a status
/a2a disconnect
/a2a help

信任模型與限制

這個插件假設運行在完全可信的私有網絡中:hub endpoints 不認證調用者,調用方提供的 project 和 member identities 爲可信聲明。不要把它暴露到公網或不可信網絡。

已知限制包括:

  • 僅當前在線接收者可直髮,無離線投遞或持久 roster
  • mesh client 一次只連接一個 hub
  • deliveredfaileddisconnected 等 delivery outcomes 僅內存保存,不持久化
  • inbound attachments 寫入系統臨時目錄
  • 0.2 mesh fields persistBindingsautoRejoinpollIntervalMsheartbeatMscaps 被忽略以兼容複製的 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
羽毛球分组比赛记分
小程序二维码

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

小夜