你将获得
- 为每个你选择开放的代理提供一份 Agent Card,列出其技能
- JSON-RPC 2.0 端点,支持
tasks/send、tasks/get和tasks/cancel - 远程 A2A 代理与内置工具、MCP 工具和 HTTP 工具一起并入工具调用循环
- 技能过滤器,可只开放远程代理的一部分
在 EDDI 中如何工作
- 用
a2aEnabled: true为代理选择开放,并填写描述和要公布的技能。 - 对等方从
/a2a/agents/{agentId}/agent.json获取其卡片,并调用POST /a2a/agents/{agentId}。 - 如需使用远程代理,在 LLM 任务的
a2aAgents下列出它,并填写其 URL 和以保管库引用形式提供的 API 密钥。 - EDDI 读取远程卡片,把每项技能转换为名为
{agentName}_{skillId}的工具,并通过tasks/send调用它。
配置
摘自 EDDI 文档。诸如 your-agent-id 之类的占位符需要你自行替换。
{
"a2aEnabled": true,
"description": "Customer support agent specializing in order tracking",
"a2aSkills": ["order-tracking", "refund-processing"]
}{
"systemMessage": "You are an orchestrator agent...",
"a2aAgents": [
{
"url": "https://remote-eddi.example.com/a2a/agents/support-agent",
"name": "support-agent",
"apiKey": "${vault:remote-agent-key}",
"timeoutMs": 30000,
"skillsFilter": ["order-tracking"]
}
]
}治理
- Agent Card 在设计上允许匿名访问,使对等方在持有凭据之前就能发现代理。开启认证后,列出代理和 JSON-RPC 端点都需要令牌。
- 远程代理的工具与其他工具来源一样,经过相同的审批关口和工具结果护栏,API 密钥则保留在保管库中。
tasks/send会消耗你的 LLM 预算来运行对话,因此它不是匿名的。
须知
- 开启认证后,卡片会公布一个令牌端点。除非你设置
eddi.a2a.public-token-endpoint,EDDI 会推导出 Keycloak 风格的路径,因此使用其他身份提供方时请设置它。
相关集成
本页的配置和行为依据 EDDI 文档,核对日期为 2026-10-14。字段名称和默认值可能随版本变化,请在所用版本的文档中确认。