dsh-a2a-server:让 DeepSeek Harness 智能体接入 A2A 协议的插件

前言

DeepSeek Harness (DSH) 采用插件化架构,智能体通常在本地或特定环境中运行。若要让外部系统或其他 A2A(Agent2Agent)协议的智能体发现并调用这些智能体,需要一套标准的接入机制。dsh-a2a-server 插件提供了这一能力,它作为入站服务器运行,通过标准的 Agent Card 和 JSON-RPC 绑定,使 DSH 智能体能够被任何兼容的客户端发现和提交任务。

插件定位

dsh-a2a-server 是一个社区插件(非 DeepSeek 官方产品),由 huangjuhua-aigc 维护,许可证为 MIT。它是一个 DeepSeek Harness 的插件,核心作用是将本地的智能体代理暴露给 A2A 协议。它通过在已知 URI(.well-known/agent-card)上提供 Agent Card,并实现 v1.0 JSON-RPC 绑定,允许任何知晓部署地址的合规对端发现该智能体并向其提交任务。

核心功能

该插件提供以下核心能力:

  1. 入站 A2A 服务器:仅作为服务器端运行,不会主动连接到另一个智能体。
  2. Agent Card 服务:在标准 URI 上提供 Agent Card,用于服务发现。
  3. JSON-RPC 绑定:实现 v1.0 JSON-RPC 协议,支持以下方法:
    • SendMessage
    • SendStreamingMessage
    • GetTask
    • ListTasks
    • CancelTask
    • SubscribeToTask
    • GetExtendedAgentCard
  4. 多对端支持:通过环境变量配置多个对端(A2A_PEERS),支持带令牌或不带令牌的访问。

安装与启用

安装该插件需要使用 Web 配置文件。

1、在终端执行安装命令:

dsh plugin --profile web add dsh-a2a-server

2、安装后,插件处于 PENDING 状态,直到依赖的服务就绪。该插件需要以下上下文服务:
* ctx.agents
* ctx.credentials
* ctx.webServer(由 dsh-web-app 提供)
* ctx.sessionProjections(可选,用于在结算后获取任务)

典型用法

安装完成后,可以通过以下步骤启动服务并测试交互。

1、在插件目录下安装依赖并启动服务器。以下命令启动服务,监听端口 9922,并配置了一个名为 alice 的对端,令牌为 demo123:

pnpm install
A2A_PEERS="alice:demo123" A2A_PORT=9922 pnpm serve

2、获取 Agent Card,验证服务是否正常:

curl -s http://127.0.0.1:9922/.well-known/agent-card.json

3、提交任务。使用 SendMessage 方法发送一条文本消息:

curl -s http://127.0.0.1:9922/a2a \
  -H "authorization: Bearer demo123" \
  -H 'content-type: application/json' \
  -H 'a2a-version: 1.0' \
  -d '{"jsonrpc":"2.0","id":1,"method":"SendMessage","params":{"message":{"messageId":"m1","role":"ROLE_USER","parts":[{"text":"hello"}]}}}'

4、使用官方提供的探测脚本验证接口合规性:

node example/probe.mjs http://127.0.0.1:9922 demo123

注意事项与限制

  1. 仅限入站模式:该插件不会主动连接到其他智能体,没有客户端或对端目录功能。
  2. 版本兼容性:该插件仅支持 A2A v1.0 协议。v0.3 协议的方法名、类型定义等均不兼容,且不支持 v0.3。如果请求中未指定 A2A-Version,默认视为 1.0。
  3. 运行环境依赖:对于无头配置文件(headless profile),必须挂载 @deepseek-ai/dsh-host-webserver 以提供 ctx.webServer。
  4. 凭证解析:模型的凭证通过 ctx.credentials 解析,例如从环境变量 DEEPSEEK_API_KEY 中读取。

结语

dsh-a2a-server 为 DeepSeek Harness 提供了接入 Agent2Agent 生态的基础设施。对于需要在 DSH 中运行智能体并希望其被外部系统调用的开发者,该插件提供了标准化的接口和发现机制。相关代码与文档位于 GitHub。

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

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

小夜