dsh-a2a-agent:把 DSH 智能体暴露为 A2A 兼容 Agent

前言

下面介绍 dsh-a2a-agent。它面向 DeepSeek Harness(DSH)插件环境,把一个 DSH 智能体转换为 A2A 兼容的 Agent:对外提供 Agent Card、JSON-RPC 2.0 端点,并支持大模型驱动的对话回复。对需要在 DSH 之外调用该智能体的系统来说,它提供了一个标准化的入口。

这是什么

dsh-a2a-agentfangweixuan26-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,因此这里不列目录页链接。

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

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

Xiaoye