fangweixuan26-hash/dsh-a2a-agent ↗★ 1
dsh-a2a-agent
Expose a DeepSeek Harness agent over the Agent2Agent (A2A) protocol: agent card, JSON-RPC endpoint, LLM-powered replies, and a live status card.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:fangweixuan26-hash/dsh-a2a-agent说明文档
阅读完整 README ↗📡 使用示例
发送一条消息
curl -s http://127.0.0.1:3080/a2a \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "message/send",
"params": {
"message": {
"messageId": "m1",
"role": "user",
"parts": [{ "kind": "text", "text": "用一句话介绍你自己" }]
}
}
}'
返回(节选):
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"id": "task-...",
"status": "completed",
"artifacts": [
{ "artifactId": "art-...", "name": "reply",
"parts": [{ "kind": "text", "text": "我是一个基于A2A协议的多功能AI助手…" }] }
]
}
}
查询任务
curl -s http://127.0.0.1:3080/a2a \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tasks/get","params":{"id":"task-..."}}'
流式消息(SSE)
curl -N http://127.0.0.1:3080/a2a \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":3,"method":"message/stream","params":{"message":{"messageId":"m3","role":"user","parts":[{"kind":"text","text":"用一句话介绍你自己"}]}}}'
返回 SSE 事件流,逐 token 推送:
: connected
event: status-update
data: {"kind":"status-update","status":{"state":"working"},...}
event: artifact-update
data: {"kind":"artifact-update","artifact":{"parts":[{"kind":"text","text":"我"}]},"append":true}
...
event: message
data: {"kind":"message","role":"agent","parts":[{"kind":"text","text":"我是一个智能助手…"}]}
event: status-update
data: {"kind":"status-update","status":{"state":"completed"},"final":true}
⚙️ 配置
enableStreaming(可选择启用 SSE 流式)
| 形态 | 配置方式 |
|---|---|
| npm 包 | cordis.yml 里 config: { enableStreaming: true } |
| 动态插件 | 编辑 host.js 顶部的 const enableStreaming = true |
开启后:
- Agent Card 声明
capabilities.streaming: true /a2a端点支持message/stream(SSE,逐 token 推送)- 状态卡片显示「SSE 流式」徽标
关闭时,message/stream 返回 -32601 Method not found。