🧭 决策指南
为什么现在热: README 同时强调 AG-UI 接入、自托管浏览器、CEL fail-closed 策略和完整审计;结合 v0.2.0、当日新增 247 星与总计 8,150 星,这些新近聚合的企业自动化能力可能解释关注度上升,但具体原因无法从材料确定。
适合,如果你
-
你已有 AG-UI endpoint,想让它获得独立浏览器、文件夹和工具权限。README 的 “Bring your own agent” 和 “A computer per person” 说明任意 AG-UI endpoint 可成为 Bot,并可分配 browser profile 与文件夹。
-
你需要在 Shell、浏览器和 MCP 操作前用 CEL 拒绝高风险动作。README 的 “CEL policy, fail closed” 说明策略可检查 command、page.url、mcp.*,且 deny 先于 allow。
-
你需要观察 Bot 屏幕,并在登录墙或 2FA 处人工接管。README 的 “Watch what it is doing” 和 “Take the wheel” 说明可查看屏幕、Activity,并记录 computer.control_taken。
-
你想在自己的机器或基础设施运行可修改的 AI coworker 模板。README 正文写明 runs on your machine、没有 hosted version,并称 OpenBot 是 template 而非 product。
不适合,如果你
-
你需要注册即用的 hosted SaaS,而不想维护 OpenBot 仓库和部署。README 明确写着 “There is no hosted version to sign up for”,并要求 clone repository 后自行替换 examples/。
-
你要把 OpenBot 作为稳定发布的 npm package 依赖。README 明确写着 “nothing here is published as a package to depend on”。
-
你不能接受 Beta 阶段的 bugs 和 rough edges。README 的 Beta 声明写明项目 early、expect rough edges and bugs、expect things to move。
-
你的部署不能接受 supervisor 持有 Docker socket。Features 的 “Loopback by default” 写明 supervisor binds locally because it holds the Docker socket。
前置条件
- README Quick start 要求先执行 `cp .env.example .env` 和 `bun install`。
- README Quick start 使用 `npx --yes copilotkit@latest login` 与 `npx --yes copilotkit@latest project select` 连接 managed Intelligence project。
- README 的 Runs on your machine 说明内容面向 laptop;CopilotKit Intelligence 可在 Mac 的 Docker 中本地运行。
- `.env.example` 包含 `OPENBOT_SINGLE_USER=true`;README 说明启用 Sign-in 后才允许其他用户访问部署。
- README Quick start 提醒需要填写 CopilotKit key 和 model key;其余空白 key 由启动脚本处理。
第一步命令(README 原文)
cp .env.example .env
要注意
-
初始的 OPENBOT_SINGLE_USER=true 会让所有请求进入同一管理员身份。README 的 Runs on your machine 章节明确说明该设置 admits every request as one administrator。
-
Bot 被人工接管时,Bot 动作会被拒绝而不是排队。Features 的 “Take the wheel” 明确写着 while a person is driving, Bot actions are refused rather than queued。
-
缺失 CEL policy 或规则损坏都会拒绝动作,而不是默认放行。Features 的 “CEL policy, fail closed” 写明 missing policy permits nothing,broken rule refuses。
-
Routines 需要 worker process,并有 15 分钟最短间隔和 20 个启用上限。Features 的 “Routines” 写明需要 worker process,最短间隔为 15 minutes,最多 20 enabled routines。
-
自定义 MCP server 必须通过 URL 检查,未知工具按写操作处理。Features 的 “Governed MCP” 写明 custom servers must pass URL checks,unknown tools are treated as writes。
材料未说明
- 材料没有说明支持的浏览器版本、Docker 版本或宿主机最低硬件配置。
- 材料没有说明 AG-UI 的协议版本、事件兼容矩阵和可接入 agent 框架清单。
- 材料没有给出并发 Bot 数、容器规模、审计存储容量或生产部署性能数据。
- 材料没有说明 CopilotKit Intelligence 使用哪些模型、支持哪些模型供应商及其成本。
- 材料没有提供 gVisor 对各类宿主机的具体支持矩阵,只说明 host supports it 时可使用 `COMPUTER_RUNTIME=runsc`。
- 材料没有说明 Docker socket 暴露后的具体隔离边界、威胁模型和安全加固步骤。
💡 深度解析
6
适合
我需要让 Bot 使用浏览器、Shell 和文件,但组织要求未知工具默认拒绝、Shell 命令可按规则限制,并且每次允许或拒绝都可审计;OpenBot 能否满足这个约束?
适合,因为 OpenBot 的执行入口、策略判断和审计记录集中在网关,并且 CEL 策略默认拒绝。
- README 写明网关先解析服务器保存的目标快照、评估策略、写入审计行,之后才调用计算机;不存在“先执行后记录”的路径。
- CEL 可检查
tool.name、command、file.*、页面 URL、Bot、用户和发起方式;拒绝优先于允许,缺少策略或规则损坏时都会拒绝。 - Shell 通过与其他工具相同的闸门,命令无论被允许还是拒绝都会留痕;审计页列出允许、拒绝和失败,并显示触发规则。
这适合治理层,但不等于业务动作可靠或宿主机天然安全。README 未给出策略规模、评估延迟及企业现有规则迁移方式。
- Features:"CEL policy, fail closed"
- Features:"The gateway is the only way in"
- Features:"A shell, not just a browser"
- Features:"An audit trail you can read"
适合
我已经有一个兼容 AG-UI 的 Agent,不想重写 Agent 逻辑,但需要给它独立浏览器、文件目录、工具权限和审计记录;OpenBot 是否适合作为接入层?
适合,因为 OpenBot 明确把 AG-UI Agent 包装成拥有独立计算机环境的 Bot,而不是要求替换现有 Agent。
- README 写明“any AG-UI endpoint is a Bot”,Agent 可以基于框架编写,也可以手写。
- 网关会先解析目标、评估策略并写入审计记录,再调用浏览器、Shell 或文件能力;因此治理边界不需要散落在 Agent 内部。
- Agent endpoint 会经过目标校验,认证头以只写方式保存,降低接入凭证进入普通配置或对话的风险。
但它是模板而非已托管产品,接入方仍需自行配置 endpoint、模型和部署环境。README 未说明 AG-UI 事件版本兼容矩阵、流式错误处理和现有 Agent 工具语义如何映射。
- Features:"Bring your own agent: any AG-UI endpoint is a Bot"
- Features:"The gateway is the only way in"
- README 引言:"A template, not a product"
- 项目数据:主语言 TypeScript;主题包含 ag-ui、agent-governance
适合
我希望 Bot 使用 Google Drive、Notion、Parallel、Exa、Firecrawl 和 Composio,但安全规则要求未知工具和自定义 MCP server 工具按写操作处理;OpenBot 是否能提供这种连接器治理?
适合,因为 OpenBot 不只是把 MCP 连接器直接暴露给模型,而是提供目录、Bot 授权和工具分类规则。
- README 列出 Google Drive、Notion、Parallel、Exa、Firecrawl,以及由 Composio 代理的数百个应用。
- 目录只包含部署方认可的供应商,新增供应商需要经过审查;自定义服务器必须通过 URL 检查。
- 未知工具和自定义服务器工具按写操作处理;目录中未明确标为写入类的工具才按读取类分类。
- Bot 会获知部署中有哪些连接器以及自己持有哪些连接器,因此没有权限时应明确表示未获授予,而不是访问供应商网站绕过治理。
但连接器可用不代表数据边界自动合规。README 未说明每个供应商的具体 OAuth scope、速率限制、数据驻留和失败重试策略。
- Features:"Governed MCP"
- Features:"Google Drive, Notion and the public-web research providers Parallel, Exa and Firecrawl"
- Features:"unknown tools and custom-server tools are treated as writes"
- Features:"A Bot is told which connectors exist here and which it holds"
视情况
我需要让每个人拥有独立浏览器和文件空间,并可让某些 Bot 使用独立容器;宿主机支持 gVisor 时还希望用 `COMPUTER_RUNTIME=runsc`,OpenBot 是否满足这个部署约束?
视情况:OpenBot 提供了所需的隔离开关,但能否达到企业目标取决于宿主机是否支持 gVisor,以及你是否补齐模板之外的生产运维能力。
- README 的“一人一台计算机”设计为每人分配容器、文件夹和 Bot 浏览器 profile;在 Bot 上勾选 Isolated 可再分配独立容器。
- README 明确给出
COMPUTER_RUNTIME=runsc,但前提是宿主机支持 gVisor。 - Shell 只继承 PATH、locale、terminal 和 proxy 变量,不继承部署环境的其余变量,减少把宿主环境直接暴露给 Bot 的范围。
- 项目是 MIT 许可的可克隆模板,不是托管产品;README 还明确处于 Beta,因此高可用、灾备、集中监控和大规模多租户不能直接视为已解决。
所以它适合作为隔离基础,但不应直接等同于完整生产隔离平台。
- Features:"A computer per person"
- Features:"Set `COMPUTER_RUNTIME=runsc` to run them under gVisor where the host supports it"
- Features:"A shell, not just a browser"
- README 引言:"A template, not a product"、"Beta, and under active development"
视情况
我需要把 OpenBot 放进企业内部,只允许经过 Google、Microsoft、Okta 或自有 SAML/OIDC 的人员登录,并由管理员在 `/admin/people` 撤销访问;它是否适合这个身份约束?
视情况:README 覆盖了多种企业登录和人员管理入口,但部署者必须关闭默认单用户模式并自行完成身份配置。
- 默认
.env.example使用OPENBOT_SINGLE_USER=true,会把每个请求视为同一个管理员;README 明确说其他人访问部署前必须启用 Sign-in。 - 支持 Google、Microsoft、Okta,以及运行时注册并按邮箱域路由的企业 SAML 或 OpenID Connect 提供商。
/admin/people可查看已登录人员、提升或降级权限、移除访问;这些变更进入审计记录,并会结束被移除用户的当前会话。- 凭证通过
/admin/credentials加密存储,不由 API 返回,审计事件会脱敏。
它适合身份治理起点,但不等于完整 IAM 产品。README 未说明多租户边界、SCIM、群组同步、密钥轮换和灾备策略。
- README 引言:"OPENBOT_SINGLE_USER=true" 以及 "Sign-in ... is required before anybody else can reach the deployment"
- Features:"Sign in with what your company already has"
- Features:"Decide who gets in"
- Features:"Credentials encrypted at rest"
适合
我主要用 TypeScript,在 Mac 上通过 Docker 本地运行 Intelligence;我的浏览器流程经常遇到登录和 2FA,需要人在同一界面接管后再交还给 Bot,OpenBot 是否适合?
适合,尤其适合需要在本地验证浏览器 Agent 并处理登录墙或 2FA 的开发者,但它仍处于 Beta。
- README 明确支持在自己的机器上运行,且 CopilotKit Developer plan 覆盖 Mac 上 Docker 中的本地 Intelligence。
- Bot 遇到登录墙或 2FA 会请求帮助,用户可在同一面板接管浏览器,完成后再交还控制权。
- 人工接管会记录为
computer.help_requested、computer.control_taken和computer.control_released;人工驾驶期间,Bot 动作会被拒绝而不是排队。 - 项目主语言是 TypeScript,适合需要修改界面、Bot 和工作区模板的 TypeScript 工程师。
不过浏览器流程仍受网站结构、网络和登录状态影响。README 未说明 2FA 类型覆盖范围、人工接管超时以及 Docker 在不同 Mac 架构上的差异。
- README 引言:"Runs on your machine"
- README 引言:"CopilotKit's free Developer plan covers running Intelligence locally in Docker on a Mac"
- Features:"Take the wheel"
- 项目数据:主语言 TypeScript
✨ 核心亮点
-
AG-UI endpoint 可直接变成带浏览器和文件的 Bot
-
CEL 策略在执行前拒绝动作,审计记录随后写入
-
浏览器、Shell、MCP 和文件操作统一经过 gateway
-
8,150 星但仍是 Beta 模板,README 明确存在粗糙点
🔧 工程化
-
为每个用户分配容器、文件夹和浏览器 profile,可启用 gVisor
-
Shell 命令继承 PATH 和代理变量,并通过同一 gateway 留痕
-
CEL 可检查 tool.name、page.url、command 和 initiator.*
-
支持 2FA 人工接管,并记录 computer.control_taken 等事件
-
内置 Google Drive、Notion、Parallel、Exa 和 Firecrawl MCP
⚠️ 风险
-
README 明确标注 Beta,预计会遇到 rough edges 和 bugs
-
项目是模板而非产品,没有 hosted 版本或可依赖 package
-
OPENBOT_SINGLE_USER=true 会让每个请求成为同一管理员
-
supervisor 持有 Docker socket,token 只是共享密钥而非网络边界
👥 适合谁?
-
希望把自有 AG-UI agent 接入浏览器和 Shell 的 TypeScript 团队
-
需要 CEL、审计和人工接管的企业内网自动化团队
-
能在 Docker Mac 环境运行 CopilotKit Intelligence 的开发者