ag-ui-protocol
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAG-UI Protocol
AG-UI协议
The Agent-User Interaction (AG-UI) Protocol is an open, lightweight, event-based protocol that standardizes how AI agents connect to user-facing applications.
Agent-User Interaction(AG-UI)协议是一种开源、轻量的基于事件的协议,用于规范AI Agent与用户应用之间的连接方式。
When to Use This Skill
适用场景
Use this skill when:
- Implementing AG-UI protocol events in your code
- Building agents that communicate with frontends via AG-UI
- Understanding the event types and their structure
- Implementing state management, tool calls, or message streaming
- Debugging AG-UI event flows
在以下场景中使用本技能:
- 在代码中实现AG-UI协议事件
- 构建通过AG-UI与前端通信的Agent
- 理解事件类型及其结构
- 实现状态管理、工具调用或消息流式传输
- 调试AG-UI事件流
Documentation
文档说明
See the directory for complete AG-UI protocol documentation:
docs/2025-11-27/- - Protocol overview and integrations
introduction.md - - Core architecture and design
concepts/architecture.md - - Event types and patterns
concepts/events.md - - Message structure and types
concepts/messages.md - - State management and synchronization
concepts/state.md - - Tool definitions and lifecycle
concepts/tools.md - - Agent implementation
concepts/agents.md - - Middleware patterns
concepts/middleware.md - - Event serialization and compaction
concepts/serialization.md - - Getting started guide
quickstart/introduction.md - - Server implementation
quickstart/server.md - - Client implementation
quickstart/clients.md
完整的AG-UI协议文档请查看目录:
docs/2025-11-27/- - 协议概述与集成指南
introduction.md - - 核心架构与设计
concepts/architecture.md - - 事件类型与模式
concepts/events.md - - 消息结构与类型
concepts/messages.md - - 状态管理与同步
concepts/state.md - - 工具定义与生命周期
concepts/tools.md - - Agent实现方案
concepts/agents.md - - 中间件模式
concepts/middleware.md - - 事件序列化与压缩
concepts/serialization.md - - 快速入门指南
quickstart/introduction.md - - 服务端实现教程
quickstart/server.md - - 客户端实现教程
quickstart/clients.md
Quick Reference
快速参考
Event Types
事件类型
typescript
enum EventType {
// Lifecycle
RUN_STARTED = "RUN_STARTED",
RUN_FINISHED = "RUN_FINISHED",
RUN_ERROR = "RUN_ERROR",
STEP_STARTED = "STEP_STARTED",
STEP_FINISHED = "STEP_FINISHED",
// Text Messages
TEXT_MESSAGE_START = "TEXT_MESSAGE_START",
TEXT_MESSAGE_CONTENT = "TEXT_MESSAGE_CONTENT",
TEXT_MESSAGE_END = "TEXT_MESSAGE_END",
// Tool Calls
TOOL_CALL_START = "TOOL_CALL_START",
TOOL_CALL_ARGS = "TOOL_CALL_ARGS",
TOOL_CALL_END = "TOOL_CALL_END",
// State
STATE_SNAPSHOT = "STATE_SNAPSHOT",
STATE_DELTA = "STATE_DELTA",
MESSAGES_SNAPSHOT = "MESSAGES_SNAPSHOT",
// Custom
RAW = "RAW",
CUSTOM = "CUSTOM",
}typescript
enum EventType {
// Lifecycle
RUN_STARTED = "RUN_STARTED",
RUN_FINISHED = "RUN_FINISHED",
RUN_ERROR = "RUN_ERROR",
STEP_STARTED = "STEP_STARTED",
STEP_FINISHED = "STEP_FINISHED",
// Text Messages
TEXT_MESSAGE_START = "TEXT_MESSAGE_START",
TEXT_MESSAGE_CONTENT = "TEXT_MESSAGE_CONTENT",
TEXT_MESSAGE_END = "TEXT_MESSAGE_END",
// Tool Calls
TOOL_CALL_START = "TOOL_CALL_START",
TOOL_CALL_ARGS = "TOOL_CALL_ARGS",
TOOL_CALL_END = "TOOL_CALL_END",
// State
STATE_SNAPSHOT = "STATE_SNAPSHOT",
STATE_DELTA = "STATE_DELTA",
MESSAGES_SNAPSHOT = "MESSAGES_SNAPSHOT",
// Custom
RAW = "RAW",
CUSTOM = "CUSTOM",
}Event Patterns
事件模式
- Start-Content-End: Streams content incrementally (text, tool arguments)
- Snapshot-Delta: State synchronization using complete snapshots + JSON Patch updates
- Lifecycle: Run monitoring with mandatory start/end events
- Start-Content-End:增量流式传输内容(文本、工具参数)
- Snapshot-Delta:使用完整快照+JSON Patch更新实现状态同步
- Lifecycle:通过强制的开始/结束事件监控运行状态
Message Roles
消息角色
- - User messages (text and multimodal)
user - - AI responses (text and tool calls)
assistant - - Instructions or context
system - - Tool execution results
tool - - Progress updates
activity - - Internal debugging
developer
- - 用户消息(文本与多模态)
user - - AI响应(文本与工具调用)
assistant - - 指令或上下文信息
system - - 工具执行结果
tool - - 进度更新
activity - - 内部调试信息
developer
Tool Definition Structure
工具定义结构
typescript
interface Tool {
name: string; // Unique identifier
description: string; // Purpose explanation
parameters: JSONSchema; // Accepted arguments
}typescript
interface Tool {
name: string; // 唯一标识符
description: string; // 用途说明
parameters: JSONSchema; // 接受的参数
}Tool Call Lifecycle
工具调用生命周期
- - Initiates with unique ID
TOOL_CALL_START - - Streams JSON arguments
TOOL_CALL_ARGS - - Marks completion
TOOL_CALL_END
- - 使用唯一ID初始化调用
TOOL_CALL_START - - 流式传输JSON参数
TOOL_CALL_ARGS - - 标记调用完成
TOOL_CALL_END
State Synchronization
状态同步
- STATE_SNAPSHOT - Complete state replacement
- STATE_DELTA - Incremental JSON Patch (RFC 6902) updates
- STATE_SNAPSHOT - 完整状态替换
- STATE_DELTA - 增量式JSON Patch(RFC 6902)更新
Source
来源
Documentation downloaded from: https://github.com/ag-ui-protocol/ag-ui/tree/main/docs