Open Agent Broker — 輕量的 Rust 程式,透過 stdio JSON-RPC 將 Discord 和 Slack 橋接到任何 ACP 相容的 coding CLI(Claude Code、Codex、Gemini、Kiro)。 來源:https://github.com/openabdev/openab

OpenAB 是一個輕量的開源 Rust 程式,透過 stdio JSON-RPC 將 Discord 橋接到任何支援 Agent Client Protocol 的 coding CLI。
此模板部署的是 Claude 變體(openab-claude),使用 claude-agent-acp 作為 agent 後端。
0.8.3-beta.4)。如需升級,請在 Zeabur Dashboard → 服務 → 設定中更改映像標籤。可用標籤:GitHub Packages。/home/node 掛載為持久化磁碟。Plugins、設定、config 和認證資料會在重啟後保留。bot → 勾選權限:Send Messages、Send Messages in Threads、Create Public Threads、Read Message History、Add Reactions、Manage Messages| 方式 | 使用方法 |
|---|---|
| Anthropic API Key | 前往 console.anthropic.com/settings/keys → Create Key → 將 sk-ant-api... 金鑰填入 OPENAB_AUTH_TOKEN |
| Zeabur AI Hub Token | 前往 Zeabur AI Hub → API Keys → Create → 將 token 填入 OPENAB_AUTH_TOKEN |
| Claude OAuth Token | 在終端執行 claude setup-token(需要 Claude Pro/Max/Team/Enterprise 訂閱)→ 開啟顯示的 URL → 授權 → 貼回驗證碼 → 將輸出的 sk-ant-oat... token 填入 OPENAB_AUTH_TOKEN |
| 容器內登入 | OPENAB_AUTH_TOKEN 留空。部署後到 Zeabur Dashboard → 服務 → Exec 執行 runuser -u node -- claude auth login(或 claude setup-token)。認證資料會寫入持久卷的 /home/node/.claude/,重啟後仍保留。 |
將 token 傳給 agent: openab 會以
env_clear()隔離 agent 子程序,因此方式 1–3 需在首次啟動後編輯/home/node/.config/openab/config.toml,在[agent]區塊加入 env allowlist(或顯式 env map):[agent] inherit_env = ["ANTHROPIC_API_KEY", "CLAUDE_CODE_OAUTH_TOKEN", "ANTHROPIC_BASE_URL", "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS"]方式 4 不需修改 — 認證資料直接從
~/.claude/.credentials.json讀取。
123456789012345678,234567890123456789填入變數後點擊部署即可。服務會自動連線到 Discord 和/或 Slack。
OpenAB 支援透過 Socket Mode 連接 Slack,不需要公開 URL。
connections:write → 複製 xapp-... token(SLACK_APP_TOKEN)app_mention、message.channels、message.groupsapp_mentions:read、chat:write、channels:history、groups:history、channels:read、groups:read、reactions:write、files:read、users:readxoxb-... token(SLACK_BOT_TOKEN)/invite @YourAppName部署前填入 SLACK_BOT_TOKEN 和 SLACK_APP_TOKEN 變數。Discord 和 Slack 可同時運作。
若要橋接 Telegram、LINE、Feishu/Lark、Google Chat 或 MS Teams,請在同一個 Zeabur 專案中部署 OpenAB Gateway 模板,然後在此服務新增以下環境變數:
GATEWAY_URL = ws://openab-gateway:8080/wsGATEWAY_PLATFORM = telegram、line、feishu、googlechat 或 teams 其中之一重新啟動服務後,啟動腳本會自動在 config.toml 中加入 [gateway] 區塊。
| 檔案 | 說明 |
|---|---|
/home/node/CLAUDE.md | Agent 指令 — Claude 每次 session 會自動讀取 |
/home/node/.config/openab/config.toml | OpenAB 設定(sessions、reactions、STT 等) |
/etc/claude-code/managed-settings.json | Claude Code 權限模式 |
config.toml 在首次啟動時從內建範本建立。之後請直接編輯檔案,環境變數僅用於初始設定。要恢復預設值請刪除後重啟:rm /home/node/.config/openab/config.toml
設定選項請參閱 OpenAB 文件。
部署時將 Discord Bot Token 留空即可。服務會進入 sleep 狀態,不會崩潰。