跳转到内容

CopilotKit 项目介绍

CopilotKit 项目介绍

项目定位

CopilotKit 是一个 AI Agent 前端集成框架,让开发者能够将 AI Agent 能力无缝嵌入到任意 Web 应用中。它不是又一个 Agent 框架,而是连接前端 UI 与后端 Agent 的桥梁层

解决的核心问题:当 AI Agent 需要与用户界面深度交互时(读取上下文、执行前端操作、流式渲染 UI),如何建立一个标准化、可扩展的通信协议?

核心能力

  1. 三层架构解耦:Frontend(React/Angular/Vue)→ Runtime(Express/Hono)→ Agent(LangGraph/CrewAI/BuiltIn),各层可独立替换
  2. AG-UI 协议驱动:所有层间通信基于事件驱动的 SSE 流,标准化的事件生命周期(RUN_STARTED → STEP_STARTED → RUN_FINISHED)
  3. 前端工具注册:Agent 调用的工具可以在浏览器端执行(useFrontendTool),结果回传给 Agent 继续推理
  4. 多 Agent 管理:同一运行时注册多个 Agent,各自独立线程、状态和作用域工具
  5. 上下文注入:应用状态作为 Context 自动附加到每次 Agent 请求,提供 UI 感知能力
  6. Open Generative UI:中间件实时解析流式 JSON 工具参数,生成沙盒化的增量 UI 组件
  7. 人类中断(HITL):通过 LangGraph Interrupt 事件实现 Agent 执行过程中的人类审批/确认
  8. 语音输入:内置语音转文字转录服务,支持语音驱动的 Agent 交互
  9. 多框架支持:核心逻辑封装在 CopilotKitCore,React/Angular/Vue/Vanilla JS 各有对应的绑定层
  10. Intelligence 模式:支持持久化线程、WebSocket 实时事件和 Redis 锁的云端增强模式

技术栈

层面技术选型
前端核心TypeScript, RxJS (Observable 流), React Context
UI 组件React, Radix UI, Tailwind CSS
运行时Node.js, Express, Hono, Bun, Elysia
通信协议AG-UI Protocol (SSE 事件流), GraphQL (客户端)
Agent 后端LangGraph, CrewAI, OpenAI, Anthropic, Google GenAI, Groq, Bedrock
构建工具Nx (Monorepo), pnpm, tsdown
测试Vitest, Playwright (E2E)

架构概览

快速体验

最简安装方式(React 项目):

Terminal window
npm install @copilotkit/react-core @copilotkit/react-ui

最小可用示例:

import { CopilotKit } from "@copilotkit/react-core";
import { CopilotPopup } from "@copilotkit/react-ui";
function App() {
return (
<CopilotKit runtimeUrl="/api/copilotkit">
<YourApp />
<CopilotPopup />
</CopilotKit>
);
}

教程导读

本教程分为 AI 应用知识编程核心技术 两个部分:

AI 篇(ai/ 目录)

从 CopilotKit 的实践中抽象出 AI 应用通用知识:

  • AG-UI 事件驱动协议:标准化的 Agent-UI 通信协议,定义事件生命周期、SSE 流式传输、工具调用的前后端协同
  • 三层解耦架构:为什么把 Agent 框架拆成 Frontend → Runtime → Agent 三层,每层的职责和边界
  • 前端工具注册模式:Agent 如何将工具执行委托给浏览器端,以及这种设计的安全性和灵活性权衡
  • 多 Agent 编排:同一运行时管理多个 Agent 的隔离策略、线程管理和作用域工具
  • 人类中断(HITL):LangGraph Interrupt 事件如何实现 Agent 执行中的人类审批流程
  • 生成式 UI 中间件:实时流式 JSON 解析 + 沙盒 UI 渲染的完整方案

工程篇(dev/ 目录)

聚焦 CopilotKit 的具体工程实践:

  • Nx Monorepo 架构:18+ 个包的依赖关系、构建管道和发布策略
  • AG-UI 协议实现:SSE 事件编码/解码、事件总线、生命周期管理
  • RxJS Observable 流:前端如何用 RxJS 管理 Agent 事件流和状态订阅
  • 中间件系统:before/after 双阶段中间件,支持函数内联和 Webhook 两种模式
  • 多框架抽象:CopilotKitCore 如何被 React/Angular/Vue 复用
  • 服务适配器模式:10+ 个 LLM 提供商的统一抽象层
  • AgentRunner 状态管理:InMemory / SQLite / Intelligence 三种 Runner 实现

本教程分析的源码版本为 CopilotKit 74e9568(HEAD at 2026-06-04),部分包版本号为 1.8.2