调用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。用于关联请求和响应。 示例值: |
jsonrpc | string | 是 | JSON-RPC协议版本标识符。固定值为 |
method | string | 是 | 请求方法。取值:
|
params | object | 是 | A2A请求参数。包含发送给Agent的消息内容。 |
params.message | object | 是 | 消息对象。包含角色、内容部件和消息类型。 |
params.message.role | string | 是 | 消息角色。 示例值: |
params.message.parts | array<object> | 是 | 消息内容部件列表。每个部件包含 |
params.message.kind | string | 是 | 消息类型标识。固定值为 |
返回参数
响应遵循JSON-RPC 2.0规范,返回一个Task对象,包含任务状态、上下文信息和对话历史。
名称 | 类型 | 描述 |
jsonrpc | string | JSON-RPC协议版本,固定值为 |
id | string | 与请求中id对应的响应标识。 |
result | object | Task对象。包含任务ID、上下文ID、状态、产物和对话历史。 |
result.id | string | 任务唯一标识。 |
result.contextId | string | 上下文ID,用于关联同一会话的多次交互。 |
result.status | object | 任务状态。包含 |
result.history | array<object> | 对话历史消息列表。每条消息包含 role、parts、messageId、contextId、taskId 等字段。 |
result.kind | string | 结果对象类型,固定值为 |
示例
请求示例:
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"
}
}