开源 OpenBot:让每个 AI Agent 拥有专属电脑

Admin
47阅读
0评论
0点赞

OpenBot 是 CopilotKit 推出的开源 AI Agent 平台。它给每个 Agent 分配独立容器、浏览器和专属工作区,所有操作先审计后执行,支持人工接管和组件式 UI,解决 AI 操作不透明、难审计问题,适合企业级可干预场景。

OpenBot 是 CopilotKit 团队推出的开源 AI Agent 平台。它的核心思路是:与其让 Agent 在宿主环境里“裸奔”,不如为每个 Agent 单独分配一台可监督、可审计、可干预的“专属电脑”。平台在 GitHub 上已获得 2.2K Star,定位于企业级可信任 Agent 运行环境。

OpenBot 是什么

OpenBot 基于 CopilotKit 的 AG-UI 协议构建,可以接入 LangGraph、Mastra、CrewAI、Pydantic AI、Google ADK 等支持 AG-UI 的 Agent 框架,避免被单一框架锁定。每个 Bot 都由 Supervisor 服务创建出独立的 Docker 容器,容器内包含一个 Chromium 浏览器实例、/workspace 工作空间目录和专属浏览器配置文件,这就是 Agent 自己的“电脑”。

OpenBot 项目界面

由于环境独立,Agent 登录过的网站可以保持会话;不同 Agent 之间互不干扰;管理员还能直接查看 Agent 当前看到的浏览器画面,像坐在同事旁边观察工作过程一样。

核心亮点

亮点一:每个 Agent 都有自己的容器环境

OpenBot 为每个 Bot 创建一个独立的 Docker 容器实例,作为 Agent 的“电脑”。这个环境包含:

  • Chromium 浏览器实例:拥有独立的登录会话和 Cookie
  • /workspace 工作空间:Agent 专属文件目录
  • 浏览器 profile:保证会话与配置持久化

如果需要更高安全性,可以设置 COMPUTER_RUNTIME=runsc,用 gVisor 提供内核级隔离。

亮点二:先审计后执行,网关记录每一步

OpenBot 的核心安全理念是“先记录后操作”。Agent 操作浏览器、文件或 MCP 服务器时,请求会先经过 Server 网关,流程如下:

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

即使操作失败,日志也会完整保留。官方表示,没有任何操作路径能跳过记录环节。

OpenBot 审计网关

亮点三:人工可以“接管方向盘”

当 Agent 遇到登录墙、2FA 验证等需要人工处理的场景时,它会主动发出帮助请求。用户可以在同一个管理面板中接管这台电脑,完成验证后再交还给 Agent。

在人工接管期间,Agent 发出的操作会被拒绝而不是排队,避免双方冲突。整个过程会记录为 computer.help_requested、computer.control_taken 和 computer.control_released 事件。这个设计很适合“只需要人工完成一步认证,之后全自动执行”的业务流程。

OpenBot 人工接管演示

亮点四:用组件输出交互界面

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-xxxxxx

如果要自托管 Intelligence,还可以配置 INTELLIGENCE_API_URL 和 INTELLIGENCE_GATEWAY_WS_URL。另外建议用下面命令生成自己的密钥加密密钥:

openssl rand -base64 32

然后将输出填入 KEY_ENCRYPTION_KEY。本地测试可以沿用示例值,生产环境必须替换。

一键启动

bun install
bash scripts/start.sh

启动脚本会完成:启动 Docker Compose 中的全部服务(PostgreSQL、Agent Bot、LangGraph Bot、Supervisor 等)、执行数据库迁移、在 3001 端口启动 API 服务、在 3010 端口启动前端应用,并检查各服务健康状态。

OpenBot 使用演示

完成后打开 http://localhost:3010 即可看到 OpenBot 主界面。

写在最后

OpenBot 的出发点是控制 Agent 的“自由度”,而不是追求无限授权。它用独立容器隔离运行环境、用强制网关记录所有操作、用策略控制每个动作,让 AI Agent 在真实业务系统中变得可追溯、可干预。对于需要处理敏感数据或满足合规要求的企业场景,这种“信任但验证”的模式显然更实用。

项目地址:https://github.com/CopilotKit/openbot

上一篇Hermes Agent v0.21.0发布:多智能体协作下一篇M系Mac一键拉起预装越狱iOS虚拟机
评论0

暂无评论,期待您的发言...

发表评论