2,437· 277 forks· TypeScript· MIT自托管

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,但扩展性受限(文档提到多副本部署的注意事项)。

已知坑

  1. Alpha 阶段不稳定:维护者明确标注"expect rough edges and bugs",生产环境需谨慎评估
  2. CopilotKit 依赖:虽然声称 Intelligence 可自部署,但快速启动强依赖 npx copilotkit 命令,国内网络可能失败,需提前准备梯子
  3. 资源消耗:每个 Bot 的浏览器容器占用数百 MB 内存,默认最多保持8个活跃浏览器(可通过 COMPUTER_MAX_BROWSERS 调整),大规模部署需规划容量
  4. 单用户模式风险:.env.example 默认 OPENBOT_SINGLE_USER=true 让所有访问者成为管理员,生产环境必须删除此行并配置 OAuth,否则存在严重安全隐患
  5. 审计日志无限增长:默认保留所有审计记录,需手动设置 AUDIT_RETENTION_DAYS 避免数据库膨胀
  6. 模型 Key 必需:项目不内置模型,必须配置 OpenAI/Anthropic/Google Key,国内用户需解决 API 访问问题
  7. 浏览器会话持久化:容器重启会丢失未保存的浏览器登录状态,需依赖 volume 持久化 /home/bot/.config/chromium

安装方式:docker-compose + bun