前后端通信协议
HTTP Agent 完全兼容 AG-UI 协议,使用 SSE 实现前后端实时流式通信。
本文适用范围
本文描述自建 HTTP Agent 的 AG-UI 协议。基于 cloudbase-agent 模板创建的 Agent 使用 ACP 协议:其 /send-message 路径同样存在,但请求体为 ACP(JSON-RPC 2.0)格式,按本文的 RunAgentInput 结构调用会返回 400。
可直接使用 AG-UI TypeScript SDK 的 HttpAgent 进行接入:
import { HttpAgent } from "@ag-ui/client";
const agent = new HttpAgent({
url: "https://your-endpoint/send-message",
headers: {
Authorization: "Bearer your-api-key",
},
});
POST /send-message
请求体
请求体遵循 AG-UI 协议的 RunAgentInput 结构:
interface RunAgentInput {
threadId: string; // 会话线程 ID
runId: string; // 本次运行的唯一 ID
parentRunId?: string; // 可选,父运行 ID(用于分支/回溯场景)
state?: any; // 可选,当前状态
messages: Message[]; // 消息历史
tools: Tool[]; // 客户端工具列表
context: Context[]; // 上下文信息
forwardedProps?: any; // 可选,透传属性
}
说明:
threadId整个对话保持一致,服务端通过该 ID 维护会话状态runId每次调用生成新的唯一 IDmessages消息列表