AG-UI:用事件协议把智能体接入前端应用
一个把LangChain、CrewAI等智能体接进前端的事件协议,统一流式交互而不绑定传输层。
GitHub ag-ui-protocol/ag-ui 更新 2026-11-15 分支 main 星标 17.4K 分叉 1.7K
TypeScript Python 智能体交互协议 SSE WebSockets MCP A2A React Native

🧭 决策指南

适合,如果你

  • 你用LangChain或CrewAI做需要流式聊天的前端智能体应用。
    README的“Supported Integrations”将LangChain和CrewAI标为✅ Supported;“Features”列出Real-time agentic chat with streaming。
  • 你的后端需要在SSE、WebSockets或webhooks之间保持协议层独立。
    README的“What is AG-UI?”明确写有“Works with any event transport (SSE, WebSockets, webhooks, etc.)”。
  • 你需要双向状态同步、生成式UI或人工介入能力。
    README的“Features”列出Bi-directional state synchronization、Generative UI and structured messages、Human-in-the-loop collaboration。
  • 你希望先用现成脚手架创建应用,再查看50-200行代码的Dojo示例。
    README的“Getting Started”提供npx命令;“The AG-UI Dojo”说明每个示例约50-200行代码。

不适合,如果你

  • 你当前依赖Nim、Flowise或Langflow的现成AG-UI集成。
    README的“SDKs”将Nim、Flowise和Langflow标为🛠️ In Progress。
  • 你需要README已明确给出协议版本、性能基准或兼容矩阵的方案。
    所提供的README正文和项目数据没有这些信息。
  • 你的目标只是单一后端与单一前端之间的自定义消息传输,不需要AG-UI事件或多框架互操作。
    README将AG-UI定义为标准化智能体连接用户应用的开放事件协议,并强调约16种标准事件与广泛互操作性。

前置条件

  • README的“Getting Started”使用命令“npx create-ag-ui-app my-agent-app”;未给出Node.js或npm版本要求。
  • README列出的直接集成包括LangChain、CrewAI、A2A、Amazon Bedrock AgentCore和CopilotKit;其他框架的支持状态需以对应表格为准。

第一步命令(README 原文)

npx create-ag-ui-app my-agent-app

要注意

  • 不要把MCP和AG-UI当作同一层:README明确区分MCP工具、A2A智能体通信与AG-UI用户应用接入。
    README章节“Where does AGUI fit in the agentic protocol stack?”
  • 社区SDK与一方集成成熟度不同,Kotlin、Golang、Dart和Rust等条目标为Community。
    README的“SDKs”表格将这些SDK的Integrations列为Community。
  • Dojo示例每个约50-200行,但这不等于生产集成所需代码量。
    README的“The AG-UI Dojo”只说明示例规模为50-200 lines of code。

替代方案

  • 自定义SSE消息协议:只需要单一SSE通道,且不需要AG-UI约16种标准事件、A2A或多框架互操作时更直接。
    通用领域知识
  • MCP:核心问题是给智能体提供工具,而不是把智能体接入用户界面。
    README章节“Where does AGUI fit in the agentic protocol stack?”
  • A2A:核心问题是让智能体与其他智能体通信,而不是连接前端应用。
    README章节“Where does AGUI fit in the agentic protocol stack?”

材料未说明

  • README没有说明约16种标准事件的完整事件清单、字段定义和版本兼容策略。
  • README没有给出TypeScript、Python、C#、Swift、Kotlin SDK的安装命令、版本要求或API稳定性。
  • README没有提供SSE、WebSockets和webhooks的性能、延迟、并发或断线恢复数据。
  • README没有说明认证、授权、数据安全和生产部署的具体做法。
  • README没有说明LangChain、CrewAI、Amazon Bedrock AgentCore与AG-UI各版本之间的兼容矩阵。
  • README没有说明从已有自定义事件协议迁移到AG-UI的步骤和成本。
  • README没有说明默认连接器与HTTP参考实现是否覆盖所有约16种标准事件。

💡 深度解析

6
适合 我已经采用 MCP 连接工具、A2A 做 Agent 间通信,并计划部署到 Amazon Bedrock AgentCore;是否还应加入 AG-UI 来承载面向用户的交互?
适合读者: 同时使用 MCP、A2A 和 Amazon Bedrock AgentCore 的企业平台工程师,需要明确工具、Agent 间通信和用户界面的协议分工

适合,因为 AG-UI 在协议栈中的定位正好补足 MCP 和 A2A 未覆盖的用户界面交互层。

  • README 明确区分三者:MCP gives agents tools,A2A allows agents to communicate with other agents,AG-UI brings agents into user-facing applications。
  • A2A 在 Agent Interaction Protocols 表中标记为 ✅ Supported,说明可以与 AG-UI 组合,而不是互相替代。
  • Amazon Bedrock AgentCore 在 Infrastructure / Deployment 表中标记为 ✅ Supported,并提供 AWS 官方文档链接。
  • AG-UI 还提供传输无关的事件协议,可承载流式输出、状态同步和人工协作。

但它不会替代 MCP 工具授权、A2A 协作语义或 AgentCore 的部署与运行时能力;三层仍需分别设计。

  • README「Where does AGUI fit in the agentic protocol stack?」:MCP gives agents tools;A2A allows agents to communicate with other agents;AG-UI brings agents into user-facing applications
  • README「Agent Interaction Protocols」:A2A | ✅ Supported
  • README「Infrastructure / Deployment」:Amazon Bedrock AgentCore | ✅ Supported
  • README「What is AG-UI?」:Works with any event transport
材料未说明:README 未说明 AG-UI、A2A 与 Amazon Bedrock AgentCore 组合部署时的认证、事件转发和错误边界。;README 未说明 MCP 工具调用结果如何映射为前端可展示或需审批的事件。
不适合 我只有一个简单 REST 文本问答接口,不需要流式输出、共享状态、生成式 UI 或人工审批;引入 AG-UI 是否值得?
适合读者: 只维护一个传统 REST 文本问答接口、没有流式输出、共享状态、前端工具或人工审批需求的后端开发者

不适合,至少从当前约束看,AG-UI 的主要能力会超过你的实际需求并增加事件协议的接入成本。

  • README 将 AG-UI 定义为 Agent 与用户界面之间的开放、轻量、事件驱动协议,而不是普通的单次 REST 问答接口。
  • 它重点覆盖流式聊天、双向状态同步、生成式 UI、实时上下文增强、前端工具和 Human-in-the-loop;这些都不是你的必需能力。
  • 项目还需要后端发出约 16 类标准事件,并接收少量 AG-UI 输入;对只返回最终文本的接口,这会引入额外适配工作。

除非你计划把需求扩展到实时事件或用户控制,否则现有 REST 方案更直接。README 没有声称 AG-UI 能改善模型质量或替代业务 API。

  • README「What is AG-UI?」:open, lightweight, event-based protocol
  • README「What is AG-UI?」:agent backends emit events compatible with one of AG-UI's ~16 standard event types
  • README「🚀 Features」:streaming chat、state synchronization、generative UI、context enrichment、frontend tool integration、Human-in-the-loop
材料未说明:README 未提供与普通 REST 问答相比的性能、延迟或运维成本对比。;README 未说明仅启用文本流式输出时的最小事件子集。
适合 我正在用 TypeScript 和 React 做前端,并计划把 LangChain 或 CrewAI Agent 接入实时聊天、结构化消息和人工介入流程;AG-UI 是否适合作为前后端交互层?
适合读者: 使用 TypeScript 和 React 构建前端、需要把 LangChain 或 CrewAI Agent 接入流式聊天、生成式 UI 和人工审批界面的全栈开发者

适合,因为 AG-UI 正是面向 Agent 与用户界面的事件协议,并覆盖你需要的几类交互。

  • README 将实时流式聊天、双向状态同步、生成式 UI、结构化消息和 Human-in-the-loop 列为正式功能。
  • 项目以 TypeScript 为主要语言,且提供参考 HTTP 实现、默认连接器和 Quickstart,适合 React 应用从协议层接入。
  • LangChain 与 CrewAI 被列为项目最初合作基础,说明这类 Agent 框架属于明确的集成方向。

不过,AG-UI 不负责 Agent 编排、React 组件渲染或审批权限;这些仍需由应用实现。

  • README「🚀 Features」:Real-time agentic chat with streaming;Bi-directional state synchronization;Generative UI and structured messages;Human-in-the-loop collaboration
  • README「What is AG-UI?」:reference HTTP implementation and default connector
  • README「🛠 Supported Integrations」:AG-UI was born from CopilotKit's initial partnership with LangChain and CrewAI
  • 项目数据:TypeScript 为主要语言
npx create-ag-ui-app my-agent-app
材料未说明:README 未说明 React 组件级别的生成式 UI 如何注册、渲染和做安全隔离。;README 未说明 LangChain 与 CrewAI 集成覆盖哪些具体事件类型及版本。
适合 我已经有 Slack 和 Microsoft Teams 入口,希望复用 Agent 的流式消息、状态反馈和人工协作能力;AG-UI 能否直接覆盖这类客户端?
适合读者: 已经运营 Slack 或 Microsoft Teams 入口、希望把同一个 Agent 交互能力扩展到聊天平台的企业应用开发者

适合,README 已把 Slack、Microsoft Teams 和 Channels SDK 列为支持的客户端路径。

  • Clients 表明确列出“Chat platforms (Slack, Microsoft Teams)”并标记为 ✅ Supported。
  • 该条目提供 Channels SDK 和 OpenTag example,说明项目不只是抽象协议,还存在面向聊天平台的接入资源。
  • AG-UI 的事件模型可表达流式输出、结构化消息、前端工具和人工介入,因此可以承载比单次文本回复更丰富的 Agent 交互。

但“支持客户端”不等于自动获得企业聊天权限模型、消息线程策略或平台特定 UI。你仍需确认 Channels SDK 的事件覆盖、身份映射、回调重试和平台限制是否满足现有系统。

  • README「Clients」:Chat platforms (Slack, Microsoft Teams) | ✅ Supported
  • README「Clients」:Channels SDK;OpenTag example
  • README「🚀 Features」:Real-time agentic chat with streaming;Generative UI and structured messages;Human-in-the-loop collaboration
材料未说明:README 未说明 Slack 和 Microsoft Teams 中每类 AG-UI 事件的具体呈现方式。;README 未说明企业身份、线程、速率限制和平台回调失败的处理细节。
视情况 我有一个 Python Agent 后端,基于 LangChain 或 CrewAI,并且现有连接可能使用 SSE 或 WebSocket;我是否需要重写传输层才能接入 AG-UI?
适合读者: 维护 Python Agent 后端、已经采用 SSE 或 WebSocket、希望同时服务 Web 前端和业务应用的 LangChain/CrewAI 集成开发者

视情况,但通常不必因为传输方式本身重写后端;真正的工作量取决于现有事件能否映射到 AG-UI 事件。

  • README 明确表示 AG-UI 可运行在 SSE、WebSockets、webhooks 等任意事件传输之上,因此它不是固定的网络协议实现。
  • 项目提供 flexible middleware、loose event format matching、reference HTTP implementation 和 default connector,可用于适配不同 Agent 环境。
  • LangChain 与 CrewAI 是明确的生态来源,但 README 没有承诺所有 Python 事件、错误和取消语义都已完整映射。

如果现有后端只返回单次文本,仍需增加事件发射和少量 AG-UI 输入处理;若已具备流式事件,则改造可能集中在适配层。

  • README「What is AG-UI?」:Works with any event transport (SSE, WebSockets, webhooks, etc.)
  • README「What is AG-UI?」:flexible middleware layer;loose event format matching
  • README「What is AG-UI?」:reference HTTP implementation and default connector
  • README「🛠 Supported Integrations」:LangChain and CrewAI partnership
材料未说明:README 未说明 Python SDK 的完整事件覆盖、重连语义、取消处理和版本兼容策略。;README 未说明已有 SSE 或 WebSocket 服务需要哪些具体字段转换。
视情况 我主要维护 Kotlin 客户端,需要接收 Agent 的流式事件、状态更新和前端工具请求;AG-UI 的 Kotlin SDK 是否适合直接采用?
适合读者: 为 Android 或跨端产品维护 Kotlin 客户端、希望从 Agent 接收流式事件并参与共享状态交互的移动端开发者

视情况,协议能力与 Kotlin 接入方向匹配,但 SDK 的成熟度和功能完整性需要单独确认。

  • README 的 SDK 表将 Kotlin 标为 ✅ Supported,并提供 Getting Started 链接,说明已有 Kotlin 接入路径。
  • AG-UI 的协议不绑定单一传输方式,理论上可适配移动端所需的 SSE、WebSocket 或其他连接形式。
  • 项目功能包含流式聊天、双向状态同步和前端工具集成,覆盖你的交互需求。
  • 但 Kotlin 条目标注为 Community,而不是 1st Party;README 也没有列出该 SDK 支持的全部事件、重连和后台网络行为。

因此,若只需要基础流式消费可以考虑;若依赖完整人工介入或复杂状态同步,不能仅凭“Supported”判断完成度。

  • README「SDKs」:Kotlin | ✅ Supported | Community
  • README「What is AG-UI?」:Works with any event transport (SSE, WebSockets, webhooks, etc.)
  • README「🚀 Features」:Real-time agentic chat with streaming;Bi-directional state synchronization;Frontend tool integration
材料未说明:README 未说明 Kotlin SDK 的事件覆盖、最低 Android 版本、生命周期处理和断线重连能力。;README 未说明移动网络切换或应用进入后台时的事件恢复机制。

✨ 核心亮点

  • 约16种标准事件连接智能体后端与前端
  • 兼容SSE、WebSockets和webhooks传输
  • 支持LangChain、CrewAI和A2A集成
  • npx命令可创建AG-UI应用骨架
  • Nim、Flowise、Langflow仍处于进行中

🔧 工程化

  • 用约16种事件实现流式聊天与双向状态同步
  • 通过灵活中间件兼容SSE、WebSockets等传输
  • 提供HTTP参考实现、默认连接器和Dojo示例
  • 覆盖MCP工具、A2A通信和生成式UI场景

⚠️ 风险

  • Nim、Flowise、Langflow集成在README中标为进行中
  • Kotlin、Golang、Dart等SDK主要标为社区集成
  • README未给出协议版本、兼容矩阵或性能数据

👥 适合谁?

  • 使用LangChain或CrewAI构建前端智能体应用的团队
  • 需要SSE或WebSockets流式交互的TypeScript项目
  • 需要React Native、Slack或Microsoft Teams客户端的团队
  • 希望连接MCP工具与A2A智能体通信的开发者