--- name: ag-ui description: AG-UI protocol for agent-user interaction. Use when implementing agent chat, streaming events, tool calls, state synchronization, SSE, multimodal messages, MCP/A2A integration, or any AG-UI protocol development. --- # AG-UI Skills AG-UI 协议开发权威指南。**必须使用**场景:构建 agentic 应用、实现 agent 与用户交互、处理流式事件、工具调用生命周期、状态同步、多模态消息、MCP/A2A 集成。提供完整模块索引与源文件行号映射。 ## 何时使用 **必须使用**的场景: - 实现 Agent 与前端的流式交互 - 处理 Agent 生命周期事件(RunStarted/Finished、StepStarted/Finished) - 实现工具调用(ToolCall 事件流) - Agent 状态管理与前端同步 - 集成 MCP/A2A 协议的 agent 应用 - 实现人机协作(Interrupts、Approval 流程) - 处理多模态消息(文本、图片、音频、视频) **查询模式**: - "如何实现 agent 流式响应" - "tool call 事件流程" - "agent state delta 同步" - "human-in-the-loop interrupt" - "AG-UI 与 MCP 集成" ## 模块索引 按功能模块查看源文件对应章节: | 模块 | 作用 | 源文件行号 | |------|------|------------| | [protocol](modules/protocol.md) | 协议概述,与 MCP、A2A 关系 | 1-33 | | [agents](modules/agents.md) | Agent 概念、架构、类型、实现 | 35-451 | | [architecture](modules/architecture.md) | 核心架构、设计原则、运行机制 | 453-679 | | [events](modules/events.md) | 所有事件类型详解 | 680-1475 | | [generative-ui](modules/generative-ui.md) | 生成式 UI 规范(A2UI/MCP-UI) | 1476-1496 | | [messages](modules/messages.md) | 消息结构、类型、同步机制 | 1498-1952 | | [middleware](modules/middleware.md) | 中间件:转换、过滤、增强事件流 | 1954-2158 | | [reasoning](modules/reasoning.md) | LLM 推理支持,加密推理内容 | 2160-2638 | | [serialization](modules/serialization.md) | 事件流序列化、压缩、分支 | 2640-2827 | | [state](modules/state.md) | Agent 与前端状态同步 | 2829-3080 | | [tools](modules/tools.md) | 工具定义、调用生命周期 | 3082-3441 | | [drafts](modules/drafts.md) | 提案功能:Generative UI, Interrupts, Meta Events, Multimodal | 3492-4846 | | [contributing](modules/contributing.md) | 贡献指南、路线图、更新日志 | 3443-3485 | | [overview](modules/overview.md) | **AG-UI 协议总体介绍** | 4894-5261 | ## 源文件 - `llms-full.txt` - AG-UI 协议完整文档(唯一信源,10632 行) - `scripts/` - 可执行示例代码(见下方"示例脚本") ## 示例脚本 `scripts/` 目录包含可直接运行的 TypeScript 示例: | 示例 | 用途 | 参考文档 | |------|------|---------| | [minimal_agent.ts](scripts/minimal_agent.ts) | 最小 Agent 实现 | [agents](modules/agents.md) 行 132-197 | | [tool_call_example.ts](scripts/tool_call_example.ts) | 工具调用流程 | [events](modules/events.md) 行 938-1066 | | [state_sync_example.ts](scripts/state_sync_example.ts) | Snapshot-Delta 状态同步 | [events](modules/events.md) 行 1067-1155 | **运行示例**: ```bash # 安装依赖 npm install @ag-ui/client rxjs # 运行 npx ts-node scripts/minimal_agent.ts ``` 详见 [scripts/README.md](scripts/README.md) ## 常见事件速查 | 场景 | 关键事件 | 详见 | |------|---------|------| | 流式响应 | TextMessageStart → Content → End | [events](modules/events.md) 行 835-937 | | 工具调用 | ToolCallStart → Args → End → Result | [events](modules/events.md) 行 938-1066 | | 状态同步 | StateSnapshot, StateDelta | [events](modules/events.md) 行 1067-1155 | | 生命周期 | RunStarted/Finished, StepStarted/Finished | [events](modules/events.md) 行 715-754 | | 人机中断 | RunFinished(interrupt) | [drafts](modules/drafts.md) 行 3897-3920 | ## 快速路径 **新手入门**: 1. [overview](modules/overview.md) - **理解 AG-UI 协议全貌与定位** 2. [protocol](modules/protocol.md) - AG-UI 在 AI 协议栈的位置(与 MCP/A2A 关系) 3. [architecture](modules/architecture.md) - 核心概念与设计原则 4. [agents](modules/agents.md) - Agent 基础实现 5. 运行 [minimal_agent.ts](scripts/minimal_agent.ts) 体验基础事件流 **实现功能**: - 流式响应 → [events](modules/events.md) (TextMessage 事件) + [minimal_agent.ts](scripts/minimal_agent.ts) - 工具调用 → [tools](modules/tools.md) + [events](modules/events.md) (ToolCall 事件) + [tool_call_example.ts](scripts/tool_call_example.ts) - 状态同步 → [state](modules/state.md) + [events](modules/events.md) (StateDelta) + [state_sync_example.ts](scripts/state_sync_example.ts) - 中间件 → [middleware](modules/middleware.md) **高级特性**: - 人机协作 → [drafts](modules/drafts.md) (Interrupts) - 多模态 → [drafts](modules/drafts.md) (Multimodal Messages) - 生成式 UI → [generative-ui](modules/generative-ui.md) + [drafts](modules/drafts.md) (Generative UI) - 推理加密 → [reasoning](modules/reasoning.md) ## 建议使用方式 1. 先阅读 [architecture](modules/architecture.md) 了解核心概念 2. 根据需要查看具体模块 3. 事件类型参考 [events](modules/events.md) 4. 实现细节参考对应功能模块