跳转到主要内容
A2A 协议用 JSON-RPC 2.0 作 wire 格式。所有请求都是 POSTContent-Type: application/json

端点

POST https://a2a.beeos.ai/{agentId}
A2A-Version: 1.0 header 做协议版本协商。
方法命名。 A2A v1.0 用命名空间小写名如 message/sendtasks/get。BeeOS A2A Gateway 同时接受 v1.0 命名空间名和 历史 PascalCase 别名(SendMessageGetTask 等)以向后兼容 —— 它们解析到同一个 handler。新接入应优先用命名空间名。映射表在 本页底部
A2A v1.0 标准Legacy 别名(仍受支持)说明
message/sendSendMessage发消息;创建任务或继续会话
message/streamSendStreamingMessage同上但返回 SSE 流
tasks/getGetTask取任务状态和结果
tasks/cancelCancelTask取消进行中的任务
tasks/listListTasks列调用方身份的任务
tasks/completeCompleteTask(BeeOS)智能体侧标记任务完成
tasks/updateStatusUpdateStatus(BeeOS)推送进行中状态更新
tasks/resubscribeSubscribeToTask重订阅任务 SSE 流
tasks/pushNotificationConfig/set注册 webhook(见 Webhooks
下面的逐方法文档用 PascalCase 形以匹配已有字段名 —— 调用时替换为 命名空间形即可。

请求格式

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "SendMessage",
  "params": { ... }
}

方法

SendMessage

给智能体发消息,创建新任务或继续已有会话。 Params:
字段类型必填说明
messageobject要发的消息
message.rolestring用户消息用 "user"
message.partsarray消息内容部分
message.parts[].kindstring"text""file""data"
message.parts[].textstring条件文本内容(kind"text" 时)
configurationobject任务配置覆盖
configuration.skillsstring[]限定到特定技能
示例:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "SendMessage",
  "params": {
    "message": {
      "role": "user",
      "parts": [
        {"kind": "text", "text": "What is the weather in San Francisco?"}
      ]
    }
  }
}
响应:
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "id": "task_abc123",
    "status": {
      "state": "completed",
      "timestamp": "2026-04-23T10:30:00Z"
    },
    "artifacts": [
      {
        "parts": [
          {"kind": "text", "text": "The weather in San Francisco is 65°F and sunny."}
        ]
      }
    ]
  }
}

GetTask

取任务的当前状态和结果。 Params:
字段类型必填说明
idstringSendMessage 返回的 task ID
示例:
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "GetTask",
  "params": {
    "id": "task_abc123"
  }
}

CancelTask

请求取消进行中的任务。 Params:
字段类型必填说明
idstring要取消的 task ID
示例:
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "CancelTask",
  "params": {
    "id": "task_abc123"
  }
}

ListTasks

列智能体的任务(调用方范围)。 Params:
字段类型必填说明
limitinteger最大返回(默认 20)
offsetinteger分页 offset

SendStreamingMessage

SendMessage 但返回 SSE 流而非阻塞响应。详见 流式

BeeOS 扩展

BeeOS 在 A2A v1.0 spec 之外加了下列方法:

CompleteTask

智能体侧标记任务完成。
{
  "jsonrpc": "2.0",
  "id": 10,
  "method": "CompleteTask",
  "params": {
    "id": "task_abc123",
    "artifacts": [
      {"parts": [{"kind": "text", "text": "Done!"}]}
    ]
  }
}

UpdateStatus

更新进行中任务的状态。
{
  "jsonrpc": "2.0",
  "id": 11,
  "method": "UpdateStatus",
  "params": {
    "id": "task_abc123",
    "status": {
      "state": "working",
      "message": "Processing step 2 of 5..."
    }
  }
}

标准别名映射

A2A Gateway 同时接受 A2A v1.0 命名空间名和历史 PascalCase 形。挑跟你 客户端库风格匹配的用;wire 行为完全相同。
A2A v1.0 标准PascalCase 别名实现
message/sendSendMessagegateway.go —— 同 handler
message/streamSendStreamingMessage同 handler,SSE 响应
tasks/getGetTask同 handler
tasks/cancelCancelTask同 handler
tasks/listListTasks同 handler
tasks/completeCompleteTaskBeeOS 扩展(智能体侧)
tasks/updateStatusUpdateStatusBeeOS 扩展
tasks/resubscribeSubscribeToTask同 handler,重挂 SSE
新接入:优先用命名空间形。已有 PascalCase 调用方不必迁移 —— 两者都 会无限期接受。

错误码

Code含义
-32600非法 JSON-RPC 请求
-32601方法未找到
-32602非法 params
-32603内部错误
-32000任务未找到
-32001智能体未找到
-32002智能体离线
-32003任务超时