Open Agent Broker — 輕量的 Rust 程式,透過 stdio JSON-RPC 將 Discord 橋接到任何 ACP 相容的 coding CLI(Claude Code、Codex、Gemini、Kiro、Cursor)。此模板使用 Cursor Agent CLI 作為 agent 後端。 來源:https://github.com/openabdev/openab

OpenAB 是一個輕量的開源 Rust 程式,透過 stdio JSON-RPC 將 Discord 橋接到任何支援 Agent Client Protocol 的 coding CLI。
此模板部署的是 Cursor 變體,使用 openab-cursor 映像搭配 cursor-agent 作為 agent 後端。
0.8.3-beta.4)。如需升級,請在 Zeabur Dashboard → 服務 → 設定中更改映像標籤。可用標籤:GitHub Packages。/home/agent 掛載為持久化磁碟。認證資料(~/.cursor/)、MCP 設定、approvals 和設定會在重啟後保留。bot → 勾選權限:Send Messages、Send Messages in Threads、Create Public Threads、Read Message History、Add Reactions、Manage Messages啟動腳本不會強制任何 Cursor 認證 env var,任選下列一種方式即可:
方式 A:Device Flow(互動式,不需要 env var)
服務啟動後,在 Zeabur Dashboard 打開服務終端,執行:
runuser -u agent -- cursor-agent login
ℹ️
runuser -u agent會直接以agent身份執行,自動把HOME設為/home/agent,認證檔寫入時就直接是agent擁有 — 不需要再 chown 或重啟。
依照畫面指示到瀏覽器完成授權。完成後新的對話會自動套用新認證,不必重啟服務(若要清掉現有的 session 才需重啟)。
方式 B:CURSOR_API_KEY 環境變數(不需進終端)
CURSOR_API_KEY,填入剛剛的 keycursor-agent 會直接讀取此變數,不需執行 cursor-agent login123456789012345678,234567890123456789填入 Discord Bot Token 後點擊部署即可。服務會自動連線到 Discord。然後使用上述方法認證 Cursor。
若要橋接 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/agent/.config/openab/config.toml | OpenAB 設定(sessions、reactions、STT 等) |
config.toml 在首次啟動時從內建範本建立。之後請直接編輯檔案,環境變數僅用於初始設定。要恢復預設值請刪除後重啟:rm /home/agent/.config/openab/config.toml
設定選項請參閱 OpenAB 文件。
預設情況下,openab 會忽略來自其他 Bot 和 Webhook 的訊息。如需允許 Webhook 觸發訊息(例如自動化測試或 CI pipeline),請在 config.toml 加入:
[discord]
allow_bot_messages = "mentions"
設定後,openab 會回應任何 @mention 它的 Bot 或 Webhook 訊息。若要限制為特定 Webhook,可加入:
trusted_bot_ids = ["YOUR_WEBHOOK_USER_ID"]
Webhook 的 user ID 為 Webhook URL 中的數字 ID:https://discord.com/api/webhooks/<ID>/...
部署時將 Discord Bot Token 留空即可。服務會進入 sleep 狀態,不會崩潰。