前言¶
下面介紹 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/sendmessage/streamtasks/gettasks/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/statusHTTP 端點替代。 - 當前未實現:子代理調度、任務持久化、認證、npm 包 Client 卡片。
- 插件以當前 dsh 進程權限運行;安裝前應檢查源碼和 MIT 許可證。
鏈接¶
GitHub 倉庫:
https://github.com/fangweixuan26-hash/dsh-a2a-agent
已覈實資料未提供目錄頁 URL,因此這裏不列目錄頁鏈接。