dsh-a2a-agent:把 DSH 智能體暴露爲 A2A 兼容 Agent

前言

下面介紹 dsh-a2a-agent。它面向 DeepSeek Harness(DSH)插件環境,把一個 DSH 智能體轉換爲 A2A 兼容的 Agent:對外提供 Agent Card、JSON-RPC 2.0 端點,並支持大模型驅動的對話回覆。對需要在 DSH 之外調用該智能體的系統來說,它提供了一個標準化的入口。

這是什麼

dsh-a2a-agent 由 fangweixuan26-hash 維護,許可證爲 MIT,要求 Node.js >= 20。

它提供兩種形態:

  • npm 包形態:可掛載到宿主組合。
  • 動態插件形態:可加載客戶端側狀態卡片;首次運行含 Client 代碼的 Package 需要在 UI 裏批准。

核心功能

下面列出已覈實的能力:

  • Agent Card 自動發現
  • JSON-RPC 2.0 端點
  • 大模型驅動的對話回覆
  • 即時狀態卡片
  • 模型失敗或不可用時,降級爲 [A2A echo] 確定性回顯
  • 複用宿主 webServer,不搶端口
  • 所有副作用掛載在 Cordis fiber 上
  • CORS 開箱即用
  • 支持以下 JSON-RPC 方法:
  • message/send
  • message/stream
  • tasks/get
  • tasks/cancel

安裝與啓用

組合包安裝:

dsh plugin add dsh-a2a-agent

也可以使用 npm 包形態手動掛載:

pnpm add dsh-a2a-agent

然後在宿主組合中添加:

- id: a2a-agent
  name: dsh-a2a-agent

如需啓用流式,可在 npm 包形態的 cordis.yml 中配置:

config:
  enableStreaming: true

啓用後,message/stream 可用於 SSE 事件流返回。關閉 enableStreaming 時,message/stream 會返回 -32601 Method not found。

典型用法

查看 Agent Card

curl http://127.0.0.1:3080/.well-known/agent.json

這條命令用於獲取 Agent Card。

查看狀態

curl http://127.0.0.1:3080/a2a/status

這條命令用於查看端點狀態信息。

調用 JSON-RPC 方法

向 POST /a2a 提交 JSON-RPC 2.0 請求,可按方法調用:

  • message/send:發送消息
  • tasks/get:查詢任務
  • message/stream:獲取 SSE 事件流,需要啓用流式
  • tasks/cancel:取消任務

適用場景與注意

適合需要把 DSH 智能體接入外部 A2A 客戶端、需要統一 Agent Card 發現,或需要查看運行狀態的場景。

注意:

  • 任務、消息、工件均存儲於進程內存,插件停止時自動清空。
  • 模型失敗或不可用時,會降級爲 [A2A echo] 確定性回顯。
  • npm 包形態不帶內置 Client 卡片,使用 /a2a/status HTTP 端點替代。
  • 當前未實現:子代理調度、任務持久化、認證、npm 包 Client 卡片。
  • 插件以當前 dsh 進程權限運行;安裝前應檢查源碼和 MIT 許可證。

鏈接

GitHub 倉庫:

https://github.com/fangweixuan26-hash/dsh-a2a-agent

已覈實資料未提供目錄頁 URL,因此這裏不列目錄頁鏈接。

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

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

小夜