跳转到主要内容
A2A 协议使用 JSON-RPC 2.0 作为传输格式。所有请求均为 POST,Content-Type 为 application/json

端点

POST https://a2a.beeos.ai/{agentId}
包含 A2A-Version: 1.0 头用于协议版本协商。

请求格式

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

方法

SendMessage

向智能体发送消息,创建新任务或继续已有对话。 参数:
字段类型必填说明
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": "旧金山的天气怎么样?"}
      ]
    }
  }
}
响应:
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "id": "task_abc123",
    "status": {
      "state": "completed",
      "timestamp": "2026-04-23T10:30:00Z"
    },
    "artifacts": [
      {
        "parts": [
          {"kind": "text", "text": "旧金山目前 65°F,晴天。"}
        ]
      }
    ]
  }
}

GetTask

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

CancelTask

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

ListTasks

列出智能体的任务(调用方范围内)。 参数:
字段类型必填说明
limitinteger最大返回数量(默认 20)
offsetinteger分页偏移量

SendStreamingMessage

SendMessage 相同,但返回 SSE 流而非阻塞响应。 详见 流式传输

BeeOS 扩展

BeeOS 在 A2A v1.0 规范基础上添加了以下方法:

CompleteTask

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

UpdateStatus

更新进行中任务的状态。
{
  "jsonrpc": "2.0",
  "id": 11,
  "method": "UpdateStatus",
  "params": {
    "id": "task_abc123",
    "status": {
      "state": "working",
      "message": "正在处理第 2 步,共 5 步..."
    }
  }
}

遗留方法别名

为保持向后兼容,以下别名可被接受:
遗留别名映射到
message/sendSendMessage
message/streamSendStreamingMessage
tasks/getGetTask
tasks/cancelCancelTask
tasks/listListTasks
tasks/completeCompleteTask
tasks/updateStatusUpdateStatus
tasks/resubscribeSubscribeToTask

错误码

错误码含义
-32600无效的 JSON-RPC 请求
-32601方法未找到
-32602参数无效
-32603内部错误
-32000任务未找到
-32001智能体未找到
-32002智能体离线
-32003任务超时