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