a2a

更新时间:
复制 MD 格式

调用a2a接口通过A2A(Agent-to-Agent)协议与OSS Agent进行交互。该接口基于JSON-RPC 2.0协议,支持流式和非流式两种消息发送模式。

注意事项

  • 该接口遵循A2A(Agent-to-Agent)协议,基于JSON-RPC 2.0规范。

请求语法

POST /api/a2a HTTP/1.1

请求参数

名称

类型

必选

描述

id

string

是

消息ID。用于关联请求和响应。

示例值:791

jsonrpc

string

是

JSON-RPC协议版本标识符。固定值为 2.0。

method

string

是

请求方法。取值:

  • message/stream:流式发送消息,Agent以流式方式返回响应。

  • message/send:非流式发送消息,Agent返回完整响应。

params

object

是

A2A请求参数。包含发送给Agent的消息内容。

params.message

object

是

消息对象。包含角色、内容部件和消息类型。

params.message.role

string

是

消息角色。

示例值:user

params.message.parts

array<object>

是

消息内容部件列表。每个部件包含 kind(类型,如 text)和 text(文本内容)字段。

params.message.kind

string

是

消息类型标识。固定值为 message。

返回参数

响应遵循JSON-RPC 2.0规范,返回一个Task对象,包含任务状态、上下文信息和对话历史。

名称

类型

描述

jsonrpc

string

JSON-RPC协议版本,固定值为 2.0。

id

string

与请求中id对应的响应标识。

result

object

Task对象。包含任务ID、上下文ID、状态、产物和对话历史。

result.id

string

任务唯一标识。

result.contextId

string

上下文ID,用于关联同一会话的多次交互。

result.status

object

任务状态。包含 state(状态值,如 submitted)和 timestamp(时间戳)字段。

result.history

array<object>

对话历史消息列表。每条消息包含 role、parts、messageId、contextId、taskId 等字段。

result.kind

string

结果对象类型,固定值为 task。

示例

请求示例:

POST /api/a2a HTTP/1.1
Content-Type: application/json

{
  "id": "791",
  "jsonrpc": "2.0",
  "method": "message/stream",
  "params": {
    "message": {
      "role": "user",
      "parts": [
        {
          "kind": "text",
          "text": "你好"
        }
      ],
      "kind": "message"
    }
  }
}

返回示例:

{
  "jsonrpc": "2.0",
  "id": "791",
  "result": {
    "id": "UUID",
    "contextId": "UUID",
    "status": {
      "state": "submitted",
      "timestamp": "2026-08-20T00:00:00.000000000Z"
    },
    "artifacts": [],
    "history": [
      {
        "role": "user",
        "parts": [
          {
            "text": "你好",
            "kind": "text"
          }
        ],
        "messageId": "msg-1",
        "contextId": "UUID",
        "taskId": "UUID.task-1",
        "metadata": {},
        "kind": "message"
      }
    ],
    "kind": "task"
  }
}