A2A 协议
MateClaw 可以把已启用智能体暴露为 A2A JSON-RPC 端点,也可以通过工具调用其他 A2A 对端。
配置
yaml
mateclaw:
a2a:
enabled: true
base-url: https://your-public-host
call-timeout-ms: 120000
max-tasks: 1000
task-ttl-seconds: 3600生产环境必须配置 base-url。为空时,MateClaw 会按入站请求推导名片 URL,这依赖反向代理正确传递 Host 与协议头。
入站
GET /.well-known/agent-card.json和匿名GET /api/a2a/card返回最小公开名片,不包含skills。- 带 Bearer 访问
GET /api/a2a/card返回 enabled 智能体列表到skills[];调用时把智能体 id 放到message.metadata.skillId。 POST /api/a2a复用 MateClaw Bearer token 鉴权,支持message/send、message/stream、tasks/get、tasks/cancel。
出站工具
智能体可调用 call_a2a_agent:
json
{
"url": "https://peer.example.com/api/a2a",
"headers": {
"Authorization": "Bearer token"
},
"stream": false
}出站默认拒绝内网和保留地址,不跟随重定向,限制响应大小;阻塞发送返回在途任务时,会继续轮询 tasks/get。
