作者: · 发布:

2.2K Star!CopilotKit 推出 OpenBot:给你的 AI Agent 配一台专属电脑!

过去两年,AI Agent 浪潮席卷了整个开发者社区。

从最早之前 AutoGen 把”多智能体协作”的概念摆在台面上,到后面各大框架相继推出自己的 Agent 编排方案,再到 2025 年 MCP 协议让 Agent 能真正连接外部工具,整个行业都在往同一个方向狂奔:让 AI 不只是聊天,而是真正”干活”。

听起来挺灵活,但实际用起来总有一种”裸奔”的感觉——Agent 操作你的文件、访问你的浏览器、调用你的 API,每一步都是黑盒,你事后查日志才能知道它做了什么,而且很多时候日志根本不够详细。

这就是 CopilotKit 团队在推出 OpenBot 时想要解决的核心痛点。

2.2K Star!CopilotKit 推出 OpenBot:给你的 AI Agent 配一台专属电脑!

他们的思路很有意思:既然我们信不过 Agent 的”自觉性”,不如给每个 Agent 配一台专属的”电脑”——一个真正独立的容器环境,有自己的浏览器、自己的文件系统、自己的会话状态。

Agent 所有的操作都发生在这台电脑里,你通过一个审计网关来控制和记录每一个动作。

这不是在 Agent 外面包一层权限校验,而是从底层重构了”Agent 如何使用工具”的方式。让我们来看看 OpenBot 是怎么做到的。

OpenBot 是什么

OpenBot 是 CopilotKit 推出的一个开源 Agent 平台,它把 AI Agent 变成了你可以信任的数字同事(AI coworkers)。

每个 Agent 都拥有自己专属的计算机环境:一个独立的 Docker 容器,里面运行着 Chromium 浏览器和专属的工作空间文件系统。

它基于 CopilotKit 之前推出的 AG-UI 协议构建,这意味着你可以把任何支持 AG-UI 的 Agent 框架(LangGraph、Mastra、CrewAI、Pydantic AI、Google ADK 等)接入 OpenBot,不用被某个特定框架绑死。

目前已经收获 2.2k Star。

核心亮点

OpenBot 相比现有的 Agent 框架,在理念上有几个根本性的差异。

2.2K Star!CopilotKit 推出 OpenBot:给你的 AI Agent 配一台专属电脑!

亮点一:每个 Agent 有自己的”电脑”

Supervisor 服务为每个 Bot 创建一个独立的 Docker 容器实例,这个容器就是 Agent 的”电脑”——里面有一个 Chromium 浏览器实例(拥有独立的登录会话和 Cookie)、一个 /workspace 工作空间目录、以及一个专属的浏览器配置文件(profile)。

这带来了几个关键好处:

  • • 会话持久化:Agent 登录过的网站会保持登录状态,不需要每次重新认证
  • • 环境隔离:不同 Agent 之间完全隔离,一个 Agent 出问题不会影响另一个
  • • 可观测性:你可以直接查看 Agent 正在看的浏览器画面,就像坐在同事旁边看他工作一样

如果你需要更高的安全级别,还可以设置 COMPUTER_RUNTIME=runsc 使用 gVisor 来运行容器,提供额外的内核级隔离。

亮点二:所有操作都经过”网关审计”

OpenBot 的核心安全理念是:每一个动作,在执行前就已经被记录

Agent 对浏览器、文件、MCP 服务器的任何操作,都必须经过 Server 网关。网关的工作流程非常严格:

  1. 1. 接收 Agent 的工具调用请求
  2. 2. 解析目标(哪个 URL、哪个文件、哪个 MCP 工具)
  3. 3. 根据策略规则进行评估(允许?拒绝?需要更多信息?)
  4. 4. 写入审计日志
  5. 5. 执行操作或返回拒绝原因

这不是传统的”先操作后记录”,而是 “先记录后操作”。即使操作失败,日志里也会完整记录下来。用 OpenBot 官方的话来说:”没有任何操作路径可以跳过记录环节。”

亮点三:支持人机协作的”方向盘接管”

OpenBot 有一个很实用的功能叫”Take the wheel”(方向盘接管)。

当 Agent 在操作过程中遇到登录墙、2FA 验证或其他需要人工介入的场景时,它会主动请求帮助。

此时你可以在同一个面板中接管这台电脑,完成认证操作后再交还给 Agent。

整个过程都会被记录为 computer.help_requestedcomputer.control_taken 和 computer.control_released 事件。在人工驾驶期间,Agent 的所有操作都会被拒绝而不是排队等待,确保不会出现冲突。

这个设计特别适合处理那些”只需要人工完成一步认证,后续就可以全自动”的场景,比如登录企业内部系统、完成支付验证等。

亮点四:组件式 UI 输出,而非纯文本

OpenBot 遵循 AG-UI 协议,这意味着 Agent 的输出不只是纯文本回复,还可以是交互式的 React 组件。

这些组件可以在运行时动态渲染,用户可以直接与组件交互,而不是阅读一大段文字后自己去操作。

组件有两种来源:

  • • 内置组件:存放在 app/src/components/gallery/ 目录下,经过编译后直接使用
  • • 沙箱组件:在 /admin/playground 中创建和测试,无需重新部署即可发布

每个组件的访问权限也可以单独控制,管理员可以决定哪些 Agent 可以使用哪些组件。

快速上手

第一步:克隆仓库并配置环境变量

git clone https://github.com/CopilotKit/openbot.git
cd openbot
cp .env.example .env

第二步:获取 CopilotKit Intelligence 凭证

npx --yes copilotkit@latest login
npx --yes copilotkit@latest project select
npx --yes copilotkit@latest license --write

执行 project select 后会输出一个 cpk-... 格式的运行时密钥,将它填入 .env 文件的 INTELLIGENCE_API_KEY 字段。license --write 命令会自动将 COPILOTKIT_LICENSE_TOKEN 写入 .env 文件。

第三步:配置必要的环境变量

在 .env 文件中填入其他必要的配置:

# 必填:你的大模型 API Key
OPENAI_API_KEY=sk-xxxxxxxx
# 可选:如果使用自托管的 Intelligence,保留默认的托管 URL 即可# INTELLIGENCE_API_URL=https://...
# INTELLIGENCE_GATEWAY_WS_URL=wss://...# 推荐:生成自己的密钥加密密钥
openssl rand -base64 32
# 将输出填入 KEY_ENCRYPTION_KEY 字段

如果只是本地测试,.env.example 中的示例 KEY_ENCRYPTION_KEY 可以直接使用。但在生产环境中必须使用自己的密钥。

第四步:一键启动

bun install
bash scripts/start.sh

start.sh 脚本会自动完成以下工作:

  1. 1. 启动 Docker Compose 中的所有服务(PostgreSQL、Agent Bot、LangGraph Bot、Supervisor 等)
  2. 2. 执行数据库迁移
  3. 3. 在 3001 端口启动 API 服务器
  4. 4. 在 3010 端口启动前端应用
  5. 5. 检查所有服务的健康状态

第五步:开始使用

打开浏览器访问 http://localhost:3010,你应该能看到 OpenBot 的主界面。

写在最后

OpenBot 代表了一种与传统 Agent 框架完全不同的思路。

它不追求让 Agent 拥有无限的自由度,而是通过给每个 Agent 分配独立的计算环境、强制的审计网关和细粒度的策略控制,让 Agent 的每一步操作都可追溯、可审计、可干预。

这种设计特别适合企业级场景——当你需要让 AI Agent 操作真实的业务系统、处理敏感数据、与合规要求打交道时,”信任但验证”比”放手去干”更重要。

GitHub:https://github.com/CopilotKit/openbot

原文:https://mp.weixin.qq.com/s?__biz=MzkwMjQ0NzI0OQ==&mid=2247506769&idx=1&sn=ee2ee6cb769ef5d1ae560d73c21d4613

颜资源站长
颜资源站长 已发布 825 篇文章

资深互联网从业者,专注AI工具研究与实战应用。长期跟踪ChatGPT、Claude、Stable Diffusion等前沿AI技术,擅长将复杂的技术概念转化为通俗易懂的教程。运营颜资源小站,致力于为中文用户提供高质量的AI教程、开源项目推荐和数字资源整理。