导航
AG-UI(Agent-User Interaction Protocol)是一种轻量级、事件驱动的开放协议,旨在标准化 AI 智能体(Agent)与前端应用(UI)之间的交互。它由 CopilotKit 团队于 2025 年 5 月开源,解决了不同 AI 智能体和前端应用之间通信方式碎片化的问题。
AG-UI 原本的设计是为了各厂商的 Agent 统一响应标准和响应流程,如:Autogen Agent、LazyLLM Agent等,并不是为了整个系统的前后端交互展示设计。
但我们可以将整个基座看成一个Agent整体,将后端数据推流的响应看成是Agent的响应,并以此协议,实现流式输出的响应事件。
RUN_STARTED{
"type": "RUN_STARTED", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"thread_id": "1", # 会话id,即session_id
"run_id": "1", # 处理这个对话的agent_id
}
RUN_FINISHED{
"type": "RUN_FINISHED", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"thread_id": "1", # 会话id,即session_id
"run_id": "1", # 处理这个对话的agent_id
"result":{}, # 运行结果数据(可选)
}
RUN_ERROR{
"type": "RUN_ERROR", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"message": "系统错误", # 错误信息描述
"code": "400", # 错误码(可选)
"result":{}, # 可选的运行结果数据
}
TEXT_MESSAGE_START{
"type": "TEXT_MESSAGE_START", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"messageId":"1096311", # 消息的唯一id
"role": "助手", # 消息发送者的作用(例如,“助手”)
}
TEXT_MESSAGE_CONTENT{
"type": "TEXT_MESSAGE_CONTENT", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"messageId":"1096311", # 消息的唯一id
"delta": "我正在", # 消息内容
}
TEXT_MESSAGE_END{
"type": "TEXT_MESSAGE_END", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"messageId":"1096311", # 消息的唯一id
}
THINKING_TEXT_MESSAGE_START{
"type": "THINKING_TEXT_MESSAGE_START", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"messageId":"1096319", # 消息的唯一id
"role": "助手", # 消息发送者的作用(例如,“助手”)
}
THINKING_TEXT_MESSAGE_CONTENT{
"type": "THINKING_TEXT_MESSAGE_CONTENT", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"messageId":"1096319", # 消息的唯一id
"delta": "我正在", # 消息内容
}
THINKING_TEXT_MESSAGE_END{
"type": "THINKING_TEXT_MESSAGE_END", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"messageId":"1096319", # 消息的唯一id
}
TOOL_CALL_START{
"type": "TOOL_CALL_START", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"toolCallId":"1096311", # 工具调用的唯一id
"toolCallName":"应用系统查询", # 工具名称
"parentMessageId":"1096311" # 父消息id(可选)
}
TOOL_CALL_ARGS{
"type": "TOOL_CALL_ARGS", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"toolCallId":"1096311", # 工具调用的唯一id
"delta":{}, # 参数块
}
TOOL_CALL_END{
"type": "TOOL_CALL_END", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"toolCallId":"1096311", # 工具调用的唯一id
}
TOOL_CALL_RESULT{
"type": "TOOL_CALL_RESULT", # 事件类型
"timestamp":10693854, # 当前时间戳
"rawEvent":{}, # 原始事件信息(可选)
"message_id":"", # 对话消息结果所属的ID
"toolCallId":"1096311", # 工具调用的唯一id
"content":"{
data:数据
type:'logic_chart'
}", # 工具执行的实际结果/输出内容
"role":"tool" #角色标识符,通常为“tool”用于工具结果(可选)
}
{
"type": "CUSTOM", # 事件类型
"name":"event_name", # 描述事件类型名称
"timestamp":10693854, # 当前时间戳
"value":"content", # 数据内容
}
{
"type": "CUSTOM",
"timestamp": 1761819878,
"raw_event": {
"name": "系统管理员",
"raw_event_data": null
},
"name": "SYSTEM_EXCEPTION",
"value": "系统繁忙,请稍后再试。"
}