A2A流式消息发送
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
请求语法
POST /open/a2a/message/stream HTTP/1.1
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| Message |
object |
否 |
消息体对象,包含用户输入内容及会话上下文信息 |
|
| MessageId |
string |
否 |
消息 ID,未传则服务端自动生成 |
m_msijl2sv_pcfge8r7l |
| Role |
string |
否 |
消息角色 |
user |
| Parts |
array<object> |
否 |
消息内容分片列表,支持多个 Part |
|
|
object |
否 |
消息内容分片对象 |
||
| Text |
string |
否 |
文本内容。用户输入的自然语言指令,如诊断请求、问题咨询等 |
诊断一下这个实例ngw-xxx |
| Raw |
string |
否 |
原始内容,用于传递非文本数据 |
cmVzZXJ2ZWQ= |
| Url |
string |
否 |
文件 URL,用于传递文件类内容 |
https://example.com/file.txt |
| MediaType |
string |
否 |
媒体类型 |
application/json |
| Filename |
string |
否 |
文件名 |
report.txt |
| Data |
any |
否 |
结构化数据,用于传递 JSON 格式的结构化内容 |
{"key":"value"} |
| ContextId |
string |
否 |
会话上下文 ID。首次对话不传,服务端会创建新会话;多轮对话需传入上一次响应中的 contextId 以保持上下文连续 |
context-xxx |
| TaskId |
string |
否 |
任务 ID。续聊场景传入上一次任务的 ID |
task-xxx |
| ReferenceTaskIds |
array |
否 |
引用的历史任务 ID 列表,用于上下文关联 |
|
|
string |
否 |
保留字段,当前接口暂不返回。 |
task-reserved |
|
| Metadata |
object |
否 |
扩展元数据,用于传递额外上下文信息 |
{} |
| Extensions |
array |
否 |
扩展信息列表 |
|
|
string |
否 |
扩展信息 |
trace |
|
| Metadata |
object |
否 |
请求附加信息 |
|
|
string |
否 |
节点元数据 |
{"tenantId":"t-10001"} |
|
| Configuration |
object |
否 |
请求配置对象 |
|
| AcceptedOutputModes |
array |
否 |
接受的输出模式。默认 ["text/event-stream"],表示接受 SSE 流式响应 |
|
|
string |
否 |
输出模式 |
text/event-stream |
|
| HistoryLength |
integer |
否 |
历史消息长度。控制多轮对话时携带的历史消息数量,默认 20 |
20 |
| ReturnImmediately |
boolean |
否 |
是否立即返回。false(默认)表示流式返回,true 表示立即返回任务 ID 后异步处理 |
false |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
|||
| RequestId |
string |
请求 ID |
A7F0D6EC-E19E-58AC-AC9F-08036763960F |
| Task |
object |
任务信息 |
|
| Id |
string |
任务 ID |
task-38cZ**MAVKu |
| ContextId |
string |
会话上下文 ID。用于多轮对话保持上下文连续 |
context-07b0**bcc2 |
| Status |
object |
任务状态对象 |
|
| State |
string |
任务状态。可选值:TASK_STATE_SUBMITTED(已提交)、TASK_STATE_WORKING(执行中)、TASK_STATE_COMPLETED(已完成)、TASK_STATE_FAILED(已失败) |
TASK_STATE_SUBMITTED |
| Message |
object |
A2A 协议定义的消息对象,包含发送方角色、一个或多个内容分片,以及可选的会话和任务上下文。作为顶层返回字段时,表示智能体直接回复,与 Task、TaskStatusUpdate、TaskArtifactUpdate 互斥;返回后流立即关闭。作为 Status.Message 时,表示与任务状态关联的说明消息。当前接口暂不返回顶层 Message,仅用于协议兼容。 |
|
| MessageId |
string |
消息 ID |
message-fd6e**9949 |
| Role |
string |
消息角色 |
agent |
| Parts |
array<object> |
消息内容分片列表 |
|
|
object |
消息内容分片对象 |
||
| Text |
string |
文本内容。用户输入的自然语言指令,如诊断请求、问题咨询等 |
当前实例运行正常。 |
| Raw |
string |
保留字段,当前接口暂不返回。 |
cmVzZXJ2ZWQ= |
| Url |
string |
保留字段,当前接口暂不返回。 |
https://example.com/reserved.bin |
| Data |
any |
保留字段,当前接口暂不返回。 |
{} |
| MediaType |
string |
保留字段,当前接口暂不返回。 |
application/octet-stream |
| Filename |
string |
保留字段,当前接口暂不返回。 |
reserved.bin |
| Timestamp |
string |
状态时间戳(ISO 8601 格式) |
2026-08-07T06:08:10Z |
| Artifacts |
array<object> |
任务产出物列表 |
|
|
array<object> |
任务产出物对象 |
||
| ArtifactId |
string |
产出物唯一标识 |
output |
| Name |
string |
产出物名称 |
巡检报告 |
| Description |
string |
产出物描述 |
实例健康巡检结果 |
| Parts |
array<object> |
内容分片列表 |
|
|
object |
内容分片对象 |
||
| Text |
string |
报告文本片段 |
诊断结果 |
| Raw |
string |
保留字段,当前接口暂不返回。 |
cmVzZXJ2ZWQ= |
| Url |
string |
保留字段,当前接口暂不返回。 |
https://example.com/reserved.bin |
| Data |
any |
保留字段,当前接口暂不返回。 |
{} |
| MediaType |
string |
保留字段,当前接口暂不返回。 |
application/octet-stream |
| Filename |
string |
保留字段,当前接口暂不返回。 |
reserved.bin |
| Metadata |
object |
保留字段,当前接口暂不返回。 |
{} |
| Extensions |
array |
保留字段,当前接口暂不返回。 |
|
|
string |
保留字段,当前接口暂不返回。 |
reserved |
|
| History |
array<object> |
历史消息列表 |
|
|
array<object> |
历史消息 |
||
| MessageId |
string |
消息 ID |
message-fd6e**9949 |
| Role |
string |
消息角色 |
user |
| Parts |
array<object> |
消息内容分片列表 |
|
|
object |
消息内容分片对象 |
||
| Text |
string |
文本内容 |
诊断一下这个实例ngw-xxx |
| Raw |
string |
保留字段,当前接口暂不返回。 |
cmVzZXJ2ZWQ= |
| Url |
string |
保留字段,当前接口暂不返回。 |
https://example.com/reserved.bin |
| Data |
any |
保留字段,当前接口暂不返回。 |
{} |
| MediaType |
string |
保留字段,当前接口暂不返回。 |
application/octet-stream |
| Filename |
string |
保留字段,当前接口暂不返回。 |
reserved.bin |
| ContextId |
string |
会话上下文 ID |
context-07b0**bcc2 |
| TaskId |
string |
任务 ID |
task-38cZ**MAVKu |
| ReferenceTaskIds |
array |
保留字段,当前接口暂不返回。 |
|
|
string |
保留字段,当前接口暂不返回。 |
task-reserved |
|
| Metadata |
object |
保留字段,当前接口暂不返回。 |
{} |
| Extensions |
array |
保留字段,当前接口暂不返回。 |
|
|
string |
保留字段,当前接口暂不返回。 |
reserved |
|
| Metadata |
object |
扩展元数据,用于传递额外上下文信息 |
{"usage":"{totalTokens=327672}"} |
| Message |
object |
该字段与 Task、TaskStatusUpdate、TaskArtifactUpdate 互斥;返回该字段时不创建任务,流在发送一条 Message 后关闭。当前接口暂不返回该类型,仅用于预留以协议兼容。 |
|
| MessageId |
string |
消息 ID |
message-fd6e**9949 |
| Role |
string |
消息角色 |
agent |
| Parts |
array<object> |
消息内容分片列表 |
|
|
object |
消息内容分片对象 |
||
| Text |
string |
文本内容 |
当前实例运行正常。 |
| Raw |
string |
保留字段,当前接口暂不返回。 |
cmVzZXJ2ZWQ= |
| Url |
string |
保留字段,当前接口暂不返回。 |
https://example.com/reserved.bin |
| Data |
any |
保留字段,当前接口暂不返回。 |
{} |
| MediaType |
string |
保留字段,当前接口暂不返回。 |
application/octet-stream |
| Filename |
string |
保留字段,当前接口暂不返回。 |
reserved.bin |
| ContextId |
string |
会话上下文 ID |
context-07b0**bcc2 |
| TaskId |
string |
保留字段。直返 Message 不创建任务,因此该字段为空;当前接口暂不返回顶层 Message。 |
task-reserved |
| ReferenceTaskIds |
array |
保留字段,当前接口暂不返回。 |
|
|
string |
保留字段,当前接口暂不返回。 |
task-reserved |
|
| Metadata |
object |
保留字段,当前接口暂不返回。 |
{} |
| Extensions |
array |
保留字段,当前接口暂不返回。 |
|
|
string |
保留字段,当前接口暂不返回。 |
reserved |
|
| TaskStatusUpdate |
object |
任务状态更新对象 |
|
| TaskId |
string |
任务 ID |
task-38cZ**MAVKu |
| ContextId |
string |
会话上下文 ID |
context-07b0**bcc2 |
| Status |
object |
任务状态对象 |
|
| State |
string |
任务状态。可选值:TASK_STATE_WORKING(执行中)、TASK_STATE_COMPLETED(已完成)、TASK_STATE_FAILED(已失败)、TASK_STATE_CANCELED(已取消) |
TASK_STATE_WORKING |
| Message |
object |
消息体对象 |
|
| MessageId |
string |
消息 ID |
message-fd6e**9949 |
| Role |
string |
消息角色 |
user |
| Parts |
array<object> |
消息内容分片列表 |
|
|
object |
消息内容分片对象 |
||
| Text |
string |
文本内容 |
查询流量 |
| Raw |
string |
保留字段,当前接口暂不返回。 |
cmVzZXJ2ZWQ= |
| Url |
string |
保留字段,当前接口暂不返回。 |
https://example.com/reserved.bin |
| Data |
any |
保留字段,当前接口暂不返回。 |
{} |
| MediaType |
string |
保留字段,当前接口暂不返回。 |
application/octet-stream |
| Filename |
string |
保留字段,当前接口暂不返回。 |
reserved.bin |
| Timestamp |
string |
状态时间戳(ISO 8601 格式) |
2026-08-07T06:08:30Z |
| Final |
boolean |
是否为终态事件。true 表示任务已结束(完成或失败),此后不再推送事件 |
false |
| Metadata |
object |
元数据对象,包含步骤执行信息 |
|
| Step |
object |
步骤执行信息 |
|
| CostTime |
integer |
步骤执行耗时,单位毫秒 ms。 |
203 |
| Id |
string |
步骤唯一标识 |
30688 |
| IsError |
boolean |
步骤是否执行出错 |
false |
| Name |
string |
步骤名称 |
load_skill |
| Params |
any |
步骤输入参数 |
{"skill_id":"239"} |
| Result |
any |
步骤执行结果 |
success |
| RetryCount |
integer |
重试次数 |
1 |
| UiContent |
string |
前端展示内容 |
load_skill |
| TaskArtifactUpdate |
object |
任务产出更新对象 |
|
| TaskId |
string |
任务 ID |
task-38cZ**MAVKu |
| ContextId |
string |
会话上下文 ID |
context-07b0**bcc2 |
| Artifact |
object |
产出物对象 |
|
| ArtifactId |
string |
产出物唯一标识 |
output |
| Name |
string |
产出物名称 |
巡检报告 |
| Description |
string |
产出物描述 |
巡检详细报告 |
| Parts |
array<object> |
内容分片列表 |
|
|
object |
内容分片对象 |
||
| Text |
string |
报告文本片段 |
实例状态正常 |
| Raw |
string |
保留字段,当前接口暂不返回。 |
cmVzZXJ2ZWQ= |
| Url |
string |
保留字段,当前接口暂不返回。 |
https://example.com/reserved.bin |
| Data |
any |
保留字段,当前接口暂不返回。 |
{} |
| MediaType |
string |
保留字段,当前接口暂不返回。 |
application/octet-stream |
| Filename |
string |
保留字段,当前接口暂不返回。 |
reserved.bin |
| Metadata |
object |
保留字段,当前接口暂不返回。 |
{} |
| Extensions |
array |
保留字段,当前接口暂不返回。 |
|
|
string |
保留字段,当前接口暂不返回。 |
reserved |
|
| Append |
boolean |
是否为追加内容。 |
true |
| LastChunk |
boolean |
是否为最后一块。 |
false |
示例
正常返回示例
JSON格式
{
"RequestId": "A7F0D6EC-E19E-58AC-AC9F-08036763960F",
"Task": {
"Id": "task-38cZ**MAVKu",
"ContextId": "context-07b0**bcc2",
"Status": {
"State": "TASK_STATE_SUBMITTED",
"Message": {
"MessageId": "message-fd6e**9949",
"Role": "agent",
"Parts": [
{
"Text": "当前实例运行正常。",
"Raw": "cmVzZXJ2ZWQ=",
"Url": "https://example.com/reserved.bin",
"Data": "{}",
"MediaType": "application/octet-stream",
"Filename": "reserved.bin"
}
]
},
"Timestamp": "2026-08-07T06:08:10Z"
},
"Artifacts": [
{
"ArtifactId": "output",
"Name": "巡检报告",
"Description": "实例健康巡检结果",
"Parts": [
{
"Text": "诊断结果",
"Raw": "cmVzZXJ2ZWQ=",
"Url": "https://example.com/reserved.bin",
"Data": "{}",
"MediaType": "application/octet-stream",
"Filename": "reserved.bin"
}
],
"Metadata": {},
"Extensions": [
"reserved"
]
}
],
"History": [
{
"MessageId": "message-fd6e**9949",
"Role": "user",
"Parts": [
{
"Text": "诊断一下这个实例ngw-xxx",
"Raw": "cmVzZXJ2ZWQ=",
"Url": "https://example.com/reserved.bin",
"Data": "{}",
"MediaType": "application/octet-stream",
"Filename": "reserved.bin"
}
],
"ContextId": "context-07b0**bcc2",
"TaskId": "task-38cZ**MAVKu",
"ReferenceTaskIds": [
"task-reserved"
],
"Metadata": {},
"Extensions": [
"reserved"
]
}
],
"Metadata": {
"usage": "{totalTokens=327672}"
}
},
"Message": {
"MessageId": "message-fd6e**9949",
"Role": "agent",
"Parts": [
{
"Text": "当前实例运行正常。",
"Raw": "cmVzZXJ2ZWQ=",
"Url": "https://example.com/reserved.bin",
"Data": "{}",
"MediaType": "application/octet-stream",
"Filename": "reserved.bin"
}
],
"ContextId": "context-07b0**bcc2",
"TaskId": "task-reserved",
"ReferenceTaskIds": [
"task-reserved"
],
"Metadata": {},
"Extensions": [
"reserved"
]
},
"TaskStatusUpdate": {
"TaskId": "task-38cZ**MAVKu",
"ContextId": "context-07b0**bcc2",
"Status": {
"State": "TASK_STATE_WORKING",
"Message": {
"MessageId": "message-fd6e**9949",
"Role": "user",
"Parts": [
{
"Text": "查询流量",
"Raw": "cmVzZXJ2ZWQ=",
"Url": "https://example.com/reserved.bin",
"Data": "{}",
"MediaType": "application/octet-stream",
"Filename": "reserved.bin"
}
]
},
"Timestamp": "2026-08-07T06:08:30Z"
},
"Final": true,
"Metadata": {
"Step": {
"CostTime": 203,
"Id": "30688",
"IsError": false,
"Name": "load_skill",
"Params": "{\"skill_id\":\"239\"}",
"Result": "success",
"RetryCount": 1,
"UiContent": "load_skill"
}
}
},
"TaskArtifactUpdate": {
"TaskId": "task-38cZ**MAVKu",
"ContextId": "context-07b0**bcc2",
"Artifact": {
"ArtifactId": "output",
"Name": "巡检报告",
"Description": "巡检详细报告",
"Parts": [
{
"Text": "实例状态正常",
"Raw": "cmVzZXJ2ZWQ=",
"Url": "https://example.com/reserved.bin",
"Data": "{}",
"MediaType": "application/octet-stream",
"Filename": "reserved.bin"
}
],
"Metadata": {},
"Extensions": [
"reserved"
]
},
"Append": true,
"LastChunk": false
}
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | IllegalParam.IllegalParameter | The parameter is illegal. | |
| 403 | OperationDenied.AliUid | The specified AliUid is not authorized to operate this resource. | 指定的AliUid无权操作该资源。 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。