OpenBot - 可信任的开源 AI 协作员平台
CopilotKit/OpenBot
为 AI Agent 分配独立浏览器与文件系统的开源协作平台,每个操作先决策后记录,支持接入任意 AG-UI 协议 Agent
成熟度:维护活跃,最近提交1天前,处于 Alpha 阶段,34个 open issues 待解决
项目体检
部署 · Docker Compose 一键部署(PostgreSQL + 迁移服务 + Agent 计算容器),API 默认端口 3001,前端 3010,Agent 浏览器容器端口 4100(仅 localhost 暴露)
成本 · 需 CopilotKit Intelligence 项目凭证(cpk-... runtime key)、模型 Key(OpenAI/Anthropic/Google)、KEY_ENCRYPTION_KEY(生产环境需自行生成);开发模式可用 OPENBOT_SINGLE_USER=true 跳过 OAuth
技术 · TypeScript + Bun 运行时 + PostgreSQL(pgvector) + Docker 容器化浏览器(Chromium),支持 AG-UI 协议接入多框架 Agent
许可 · MIT 协议,可商用且无限制,需保留原作者版权声明
活跃 · 最新 release v0.0.4 于1天前发布,13位贡献者参与,项目创建仅6天处于快速迭代期
解决什么
企业部署 AI Agent 时面临两大矛盾:既需要 Agent 能真正操作浏览器、文件和工具,又担心失控的操作带来安全风险。OpenBot 通过为每个 Agent 分配独立的容器化"电脑"(独立浏览器实例、文件系统、登录会话),并在网关层对所有操作执行"先决策后记录"的审计机制,让企业敢于给 AI 真实权限。项目采用开放的 AG-UI 协议,避免绑定特定框架,支持 LangGraph、CrewAI、Mastra 等任意框架编写的 Agent 接入。
为何火
在 Hacker News 获得12点关注,主要吸引点在于三个创新:1) 物理隔离设计——每个 Agent 运行在独立 Docker 容器中,浏览器会话和文件互不干扰;2) 协议开放性——基于 AG-UI 协议而非绑定某个 Agent 框架,开发者可用任何工具构建 Agent;3) 企业级审计——所有工具调用经过策略网关,拒绝操作时会明确标注违反的规则,审计日志存入 PostgreSQL。项目维护者在 HN 评论中坦承处于 Alpha 阶段,但透明度反而增强了社区信任。
核心功能
- 独立计算环境:每个 Bot 获得专属容器,内含 Chromium 浏览器、持久化文件系统和独立登录会话,操作互不污染
- 操作网关审计:所有浏览器操作、文件访问、MCP 服务器调用均经过中央网关,执行前检查策略,执行后写入审计表
- 策略边界管理:通过
/admin/boundaries配置允许/拒绝规则,支持预设策略模板(如禁止访问特定域名、限制文件操作) - AG-UI 协议支持:Agent 通过标准 HTTP 端点接入,返回结构化组件而非纯文本,前端可渲染交互式 UI
- 多租户隔离:支持 OAuth 登录(Google/GitHub/Microsoft),生产环境强制关闭单用户模式
- 内置示例 Agent:提供通用助手、知识库查询、风险分析三个配置型 Bot,可通过
agents.yaml扩展
安装
# 1. 复制环境变量模板
cp .env.example .env
# 2. 获取 CopilotKit Intelligence 凭证(需梯子)
npx copilotkit@latest login
npx copilotkit@latest project select # 复制 cpk-... 到 INTELLIGENCE_API_KEY
npx copilotkit@latest license --write
# 3. 配置必需变量
# - OPENAI_API_KEY: OpenAI 模型密钥
# - KEY_ENCRYPTION_KEY: 生产环境需执行 openssl rand -base64 32 生成
# 4. 启动服务(需 Bun 1.3+ 和 Docker)
bun install
bash scripts/start.sh
# 访问 http://localhost:3010
生产部署可用单镜像模式:
docker build -t openbot .
docker run -p 3001:3001 --env-file .env \
-e EMBEDDED_POSTGRES=on -v openbot-data:/var/lib/postgresql/data openbot
适合谁
- 企业 AI 团队:需要部署可审计的 Agent 系统,满足合规要求(如金融、医疗行业)
- Agent 框架开发者:希望为自己的 Agent 框架提供生产级运行环境,无需从零构建审计和隔离机制
- 安全敏感场景:需要 Agent 访问内部系统但必须记录每个操作,支持事后溯源
- 多 Agent 编排:需要管理多个不同职责的 Agent(如客服、数据分析、风控),每个 Agent 需独立权限配置
不适合纯 API 调用型 Agent(如简单的 ChatGPT 封装),项目的浏览器容器和审计机制会带来额外资源开销。
社区评价
HN 讨论热度中等(12点),维护者主动参与回复,强调项目处于 Alpha 阶段且路线图仍在快速演进。社区对"每个 Agent 一个浏览器"的设计表示认可,认为这是解决 Agent 权限滥用的务实方案。争议点在于对 CopilotKit Intelligence 的依赖——虽然项目声称可自部署 Intelligence,但快速启动流程强依赖其托管服务,国内用户可能遇到网络障碍。正面观点集中在 MIT 协议的开放性和 AG-UI 协议的前瞻性,负面担忧主要是 Alpha 阶段的稳定性和文档完整度(README 中多处标注"under active development")。
选型对比
vs 商业 Agent 平台(如 LangSmith、Humanloop):OpenBot 优势在于完全自托管、数据不出内网、MIT 协议可商用;劣势是需自行维护基础设施,缺少商业平台的开箱即用监控和团队协作功能。
vs 纯开源 Agent 框架(如 AutoGPT、BabyAGI):OpenBot 不是 Agent 框架而是运行平台,核心差异在审计层和隔离机制——其他框架需自行实现操作记录和权限控制,OpenBot 将其作为平台能力提供。
vs Kubernetes 原生方案:OpenBot 用 Docker Compose 即可运行,单镜像包含所有组件(含可选的嵌入式 PostgreSQL),部署复杂度远低于 K8s,但扩展性受限(文档提到多副本部署的注意事项)。
已知坑
- Alpha 阶段不稳定:维护者明确标注"expect rough edges and bugs",生产环境需谨慎评估
- CopilotKit 依赖:虽然声称 Intelligence 可自部署,但快速启动强依赖
npx copilotkit命令,国内网络可能失败,需提前准备梯子 - 资源消耗:每个 Bot 的浏览器容器占用数百 MB 内存,默认最多保持8个活跃浏览器(可通过
COMPUTER_MAX_BROWSERS调整),大规模部署需规划容量 - 单用户模式风险:
.env.example默认OPENBOT_SINGLE_USER=true让所有访问者成为管理员,生产环境必须删除此行并配置 OAuth,否则存在严重安全隐患 - 审计日志无限增长:默认保留所有审计记录,需手动设置
AUDIT_RETENTION_DAYS避免数据库膨胀 - 模型 Key 必需:项目不内置模型,必须配置 OpenAI/Anthropic/Google Key,国内用户需解决 API 访问问题
- 浏览器会话持久化:容器重启会丢失未保存的浏览器登录状态,需依赖 volume 持久化
/home/bot/.config/chromium
安装方式:docker-compose + bun