讨论背景:从 A2UI 和 AG-UI 的基本概念对比开始,逐步深入到 AG-UI 的协议细节、使用方式、与 A2UI / MCP Apps 的集成支持。

1. A2UI vs AG-UI 核心对比

项目全称发起方核心作用层级定位典型生态支持
A2UIAgent-to-User InterfaceGoogle(开源)声明式生成式 UI 规范(JSON 格式),Agent 生成安全、可渲染的交互 UI 描述UI 描述层(内容)Flutter、Angular、Web Components、Lit 等渲染器;跨平台
AG-UIAgent–User Interaction ProtocolCopilotKit 团队等双向事件/交互协议:前后端实时通信、状态同步、事件处理传输/运行时层(管道)CopilotKit、Vercel AI SDK、LangGraph 等;常与 A2UI 搭配

区别

  • A2UI:Agent 要"画"什么样的界面?(描述结构和意图)
  • AG-UI:界面怎么实时送到前端、用户怎么互动、状态怎么同步?(通信管道)

常见组合:A2A(Agent-Agent) + AG-UI(前后端管道) + A2UI(UI 内容格式)

2. AG-UI 协议详解

AG-UI 是事件驱动的双向协议,主要通过 SSE(Server-Sent Events)或 WebSocket 传输标准化 JSON 事件。

核心事件类型(约 17 种主流)

类别主要事件类型示例作用简述前端典型反应
生命周期RUN_STARTED, RUN_FINISHED, RUN_PAUSED, RUN_ERRORAgent run 的整体状态显示"思考中"/完成/错误
文本消息TEXT_MESSAGE_START, TEXT_MESSAGE_CONTENT (delta), TEXT_MESSAGE_END流式文本输出打字机效果
工具调用TOOL_CALL_START, TOOL_CALL_PROGRESS, TOOL_CALL_END工具执行生命周期Loading 卡片 / 进度条
前端工具FRONTEND_TOOL_REQUESTAgent 需要前端执行工具(如获取位置)前端执行后回传结果
状态同步STATE_DELTA (JSON Patch), STATE_SNAPSHOT共享状态增量/全量更新更新表单/购物车等
人工干预HUMAN_APPROVAL_REQUEST, USER_PROMPT_REQUEST需要用户确认/输入弹出 modal / 输入框
渲染相关BEGIN_RENDERING, UPDATE_COMPONENT, END_RENDERING常包 A2UI JSON,通知渲染 UI调用 A2UI renderer
其他MEDIA_FRAME, DEBUG_LOG, CUSTOM媒体/日志/扩展显示图片、log 等

传输约定

  • 后端:HTTP 200 + text/event-stream,持续推送 event: XXX\ndata: {...}\n\n
  • 前端:可随时 POST 或 WebSocket 发送用户操作(如批准、工具结果)
  • 支持重连、session/run ID 恢复

3. AG-UI 支持 A2UI 和 MCP Apps

  • A2UI 支持:⭐⭐⭐⭐⭐ 全原生支持(Google launch partner)

    • Agent 生成 A2UI JSON → 通过 AG-UI 事件(如 BEGIN_RENDERING)传输 → 前端用 A2UI Renderer 渲染原生组件(安全、无代码执行)
  • MCP Apps 支持:⭐⭐⭐⭐ 已支持(CopilotKit 集成)

    • MCP Apps:MCP 扩展,工具返回交互式 UI(通常 sandboxed iframe + postMessage JSON-RPC)
    • AG-UI 作用:提供事件同步、状态管理、human-in-the-loop,让 MCP Apps 嵌入整体流程
    • 优势:MCP Apps 擅长复杂工具 UI,AG-UI 管整体交互流

4. CopilotKit 对 MCP Apps 的官方支持文档

CopilotKit 是 AG-UI 的主要实现框架,已深度集成 MCP Apps。

核心官方文档位置(2026 年 1 月最新):

  • MCP Apps 专用页面https://docs.copilotkit.ai/generative-ui-specs/mcp-apps (或类似路径:/generative-ui/specs/mcp-apps) 内容:解释 MCP Apps 定义、CopilotKit 如何自动 fetch & 渲染、CLI 快速启动等。

  • What’s New / Full MCP Apps Supporthttps://docs.copilotkit.ai/whats-new/mcp-apps-support 宣布全面支持,通过 AG-UI 桥接 MCP Apps。

  • 关键博客文章(最详细技术解释): https://www.copilotkit.ai/blog/bring-mcp-apps-into-your-own-app-with-copilotkit-and-ag-ui 发布时间:2026 年 1 月 22 日 亮点:

    • 集成流程:AG-UI 作为同步层(事件流 + JSON Patch)
    • CLI 启动:npx copilotkit create -f mcp-apps
    • 示例 JSON(ui:// URI、_meta 字段)
    • Live Demo:https://web-app-production-9af6.up.railway.app/
    • GitHub 示例:https://github.com/CopilotKit/with-mcp-apps
  • 首页 / 介绍https://docs.copilotkit.ai/ 顶部常有 banner:“CopilotKit fully supports MCP Apps!”

  • 其他相关

    • MCP 通用集成:https://docs.copilotkit.ai/guides/model-context-protocol
    • Generative UI 总览(包含 MCP Apps vs A2UI):https://docs.copilotkit.ai/generative-ui

快速上手推荐:从 CopilotKit 文档首页搜索 “MCP Apps” 或直接访问上述链接。CopilotKit 把 AG-UI + A2UI + MCP Apps 封装成统一框架,最适合 React/Next.js 项目。