AI

CopilotKit:用于构建应用内 AI Copilot 的开源前端堆栈

CopilotKit 是一个拥有 30K Stars 的开源 SDK,用于构建全栈代理应用,支持生成式 UI、共享状态和人在循环工作流程。

CopilotKit:用于构建应用内 AI Copilot 的开源前端堆栈

构建 AI 驱动的应用程序传统上意味着将聊天 UI、AI 后端、状态管理和工具执行拼凑在一起——同时确保 AI 能够与应用程序的数据和 UI 实际交互。CopilotKit 通过提供一个完整的开源堆栈来解决这个问题,为任何 React 应用程序添加 AI copilot,处理流式 AI 响应、生成式 UI 和共享状态的复杂管道,让你专注于应用程序逻辑。

拥有超过 30,000 个 GitHub Stars,CopilotKit 已成为团队所称的「应用内 AI」的领先框架。与在单独窗口中运行的独立聊天机器人不同,CopilotKit 的 copilot 深度集成到你的应用程序中——它们可以读取和修改应用程序状态、在其响应中渲染自定义 UI 组件,以及执行影响实际应用程序的操作。

魔法通过 CopilotKit 的 AG-UI 协议(代理生成式 UI)发生,这是一个用于 AI 代理和 UI 组件之间实时通信的开放规范。此协议使 AI 能够直接在聊天中渲染动态表单、图表和表格,并且用户与这些组件的交互会作为下一个动作的上下文流回代理。


CopilotKit 的核心组件有哪些?

CopilotKit 提供一组设计为无缝协作的 React 组件和钩子。

组件/钩子用途配置
CopilotKit(提供者)为应用提供 AI 上下文的根包装器API 端点、代理配置
CopilotSidebar用于深度 AI 对话的侧边栏面板位置、宽度、自定义标题
CopilotPopup用于快速交互的浮动聊天气泡位置、触发元素
useCopilotAction注册 AI 可调用的工具和操作名称、描述、参数、处理函数
useCopilotReadable向 AI 暴露应用状态描述、状态值、类别
useCopilotChat对聊天的编程式控制发送消息、设置上下文、清除历史

AG-UI 协议是如何运作的?

AG-UI 协议是支持 CopilotKit 生成式 UI 能力的架构基础。它定义了 AI 代理和 UI 组件如何实时通信。

协议功能描述
UI 流式传输代理在响应生成期间以 JSON 流式传输组件定义
双向事件用户与渲染 UI 的交互流回代理
状态同步代理可通过 CopilotReadable 读取和修改应用状态
工具执行代理可调用任何已注册的 useCopilotAction 工具
响应加载代理在工具执行时显示中间状态

该协议设计为与框架无关。虽然 CopilotKit 的参考实现针对 React,但协议本身可以为任何 UI 框架实现。这意味着你使用 AG-UI 协议构建的后端代理可以服务多个前端。


CopilotKit 支持哪些框架和集成?

CopilotKit 的集成生态系统涵盖前端框架和后端 AI 编排工具。

类别支持的技术
前端框架Next.js 14/15(App Router + Pages Router)、Vite + React、Remix、纯 React
AI 编排LangChain、LangGraph、LangServe、OpenAI Assistants API、自定义 API 端点
向量存储Pinecone、Chroma、Weaviate、Supabase、自定义向量存储
LLM 提供商Claude(Anthropic)、GPT-4o(OpenAI)、Gemini(Google)、通过 LangChain 的本地模型

CopilotKit 如何处理状态管理?

CopilotKit 的状态集成是其最强大的功能之一。通过 useCopilotReadable 钩子,你可以将应用程序状态的部分暴露给 AI。AI 然后可以在对话中自然地引用此状态。

状态方面钩子/方法示例
向 AI 暴露状态useCopilotReadable「购物车目前有 3 件商品,总计 $45.20」
注册 AI 操作useCopilotAction「将商品加入购物车」、「应用折扣码」
执行操作操作处理函数API 调用、数据库更新、表单提交
状态同步通过 React 状态自动AI 在每次变更后看到最新状态

例如,如果你的电子商务应用通过 useCopilotReadable 暴露购物车,AI copilot 可以回答像「我的购物车里有什么?」、「总共多少钱?」之类的问题,以及——通过已注册的操作——「将蓝色毛衣中号加入我的购物车。」应用程序状态和 AI 对话会自动保持同步。


为什么要使用 CopilotKit 而不是构建自定义聊天 UI?

构建一个自定义 AI 聊天界面需要解决一系列复杂的问题:将 AI 响应流式传输到 UI、解析和渲染工具调用、处理生成式 UI、维护状态同步以及管理对话历史。CopilotKit 开箱即用地解决了所有这些问题。

关注点自定义构建CopilotKit
流式响应手动 SSE/WebSocket 处理内置、优化流式传输
工具执行工具调用的自定义解析器声明式 useCopilotAction
生成式 UI自定义协议设计包含 AG-UI 协议
状态同步手动状态管理通过 useCopilotReadable 自动
React 渲染自定义聊天组件CopilotSidebar、CopilotPopup
多模型支持每个模型的自定义适配器LangChain 集成

对于构建生产代理应用程序的团队来说,CopilotKit 消除了数周的基础设施工作,并为 AI UI 集成最具挑战性的方面提供了经实战考验的模式。


常见问题

什么是 CopilotKit? CopilotKit 是一个拥有超过 30,000 个 GitHub Stars 的开源 SDK,用于构建全栈代理 AI 应用程序。它提供 React 组件和钩子,让你可以添加应用内 AI copilot,支持生成式 UI、共享应用状态管理和人在循环工作流程。它抽象化了流式 AI 响应、工具执行和 AI 与应用程序之间状态同步的复杂性。

CopilotKit 的核心组件有哪些? CopilotKit 有四个核心组件:CopilotSidebar(可读取/写入应用状态的聊天侧边栏)、CopilotPopup(用于快速 AI 交互的浮动聊天小部件)、CopilotKit(包装应用程序的根提供者),以及像 useCopilotAction(注册 AI 可调用的工具)、useCopilotReadable(向 AI 暴露应用状态)和 useCopilotChat(编程式聊天控制)等钩子。

什么是 AG-UI 协议? AG-UI(代理生成式 UI)协议是 CopilotKit 的开放规范,用于 AI 代理和 UI 组件之间的实时通信。它定义了代理如何在聊天响应中渲染动态 UI 元素(表单、图表、表格)、用户与这些元素的交互如何流回代理,以及代理如何读取和修改应用状态。该协议与框架无关,专为互操作性而设计。

CopilotKit 支持哪些 React 框架? CopilotKit 支持所有主要 React 框架,包括 Next.js(App Router 和 Pages Router)、Vite + React、Remix 和纯 React。SDK 包含针对服务器端渲染、流式传输和部署的框架特定优化。对 Vue、Svelte 和其他框架的支持可通过社区或 AG-UI 协议实现获得。

CopilotKit 支持哪些集成? CopilotKit 集成多个 AI 提供商和服务。对于 AI 编排,它支持 LangChain、LangGraph、LangServe、OpenAI Assistants API 和自定义端点。对于向量存储和检索,它与 Pinecone、Chroma、Weaviate 和 Supabase 集成。对于 LLM,它支持任何可通过 LangChain 或直接 API 集成访问的模型,包括 Claude、GPT-4o、Gemini 和开源模型。


延伸阅读

TAG
CATEGORIES