Open Agent Broker — 輕量的 Rust 程式,透過 stdio JSON-RPC 將 Discord 和 Slack 橋接到任何 ACP 相容的 coding CLI。此模板使用 Nous Research 的 Hermes Agent 作為後端 — 一個 multi-provider inference gateway,透過 OAuth 支援 30+ LLM 供應商(xAI Grok、Anthropic、OpenAI、Nous Portal 等)。 來源:https://github.com/openabdev/openab

OpenAB 是一個輕量的開源 Rust 程式,透過 stdio JSON-RPC 將 Discord 和 Slack 橋接到任何支援 Agent Client Protocol 的 coding CLI。
此模板使用 Hermes 變體:以 Nous Research 的 Hermes Agent 為後端。Hermes 本身是一個 multi-provider inference gateway — 內建管理 OAuth token、認證儲存、provider 路由,可串接 30+ LLM 供應商(xAI Grok、Anthropic、OpenAI、Nous Portal 等),OpenAB 不需自行處理供應商認證。
0.8.3-beta.10)。如需升級,請在 Zeabur Dashboard → 服務 → 設定中更改映像標籤。可用標籤:GitHub Packages。/home/agent 掛載為持久化磁碟。Hermes 認證、plugins、設定、config 會在重啟後保留。hermes auth add <provider> 來綁定要使用的 LLM 供應商。bot → 勾選權限:Send Messages、Send Messages in Threads、Create Public Threads、Read Message History、Add Reactions、Manage Messages123456789012345678,234567890123456789填入變數後點擊部署即可。服務會自動連線到 Discord,但在你完成步驟 4 認證之前,bot 不會產生任何 LLM 回覆。
服務啟動後,在 Zeabur Dashboard → 服務 → Exec 開啟容器終端。Hermes 支援多家供應商,以下是兩種常見的選擇。
runuser -u agent -- hermes auth add nous
依照提示開啟畫面顯示的 URL 完成 OAuth。
⚠️ 需要 SuperGrok 付費訂閱($30/月)。 沒有訂閱時 auth 仍會成功,但 API 回傳空字串 — bot 看似運作卻不會回覆任何訊息。
xAI OAuth 採用 loopback 重新導向 127.0.0.1:56121。Zeabur 不會對外暴露此 port,請使用「雙終端」流程:
終端 1 — 啟動 auth listener:
runuser -u agent -- hermes auth add xai-oauth --no-browser
畫面會印出含 &state=XXXXX 的授權 URL,並在 http://127.0.0.1:56121/callback 等待。
在你的瀏覽器 — 開啟該授權 URL → 同意授權。瀏覽器會被導向 http://127.0.0.1:56121/callback?code=... 並顯示連線失敗(這是預期的)。從網址列複製 code 的值。
終端 2 — 在 Zeabur 再開一個 Exec session,在容器內把 callback 餵回去:
runuser -u agent -- curl "http://127.0.0.1:56121/callback?code=<CODE>&state=<STATE>"
終端 1 應該會印出 Added xai-oauth OAuth credential #1。code 數秒後就會失效,若出現 invalid_grant 請重新執行 hermes auth add xai-oauth 再試。
用互動式 picker:
runuser -u agent -- hermes model
…或手動把 provider 和 model 分成兩個 key 設定(這是 hermes-acp 能讀到的格式 — hermes config set 範例中合併成 provider/model 的寫法只有 standalone CLI 認得,openab spawn 出的 hermes-acp 不會生效):
runuser -u agent -- hermes config set provider xai-oauth
runuser -u agent -- hermes config set model grok-4-latest
設定會寫入 /home/agent,重啟後仍保留。新的 Discord session 會自動套用新 model,不需重啟服務。
其他供應商(Anthropic、OpenAI 等)請參閱 Hermes Agent 文件。
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 或 WeCom(企業微信),請在同一個 Zeabur 專案中部署 OpenAB Gateway 模板,然後在此服務新增以下環境變數:
GATEWAY_URL = ws://openab-gateway:8080/wsGATEWAY_PLATFORM = telegram、line、feishu、googlechat、teams 或 wecom 其中之一重新啟動服務後,啟動腳本會自動在 config.toml 中加入 [gateway] 區塊。
| 檔案 | 說明 |
|---|---|
/home/agent/.config/openab/config.toml | OpenAB 設定(sessions、reactions、STT 等) |
/home/agent/.config/hermes/ | Hermes 認證與 provider 設定(由 hermes auth / hermes model 管理) |
config.toml 在首次啟動時從內建範本建立。之後請直接編輯檔案,環境變數僅用於初始設定。要恢復預設值請刪除後重啟:rm /home/agent/.config/openab/config.toml
OpenAB 設定選項請參閱 OpenAB 文件。Hermes provider 選項請參閱 Hermes 文件。
部署時將 Discord Bot Token 和 SLACK_BOT_TOKEN 都留空即可。服務會進入 sleep 狀態,不會崩潰。