Open Agent Broker — 輕量的 Rust 程式,透過 stdio JSON-RPC 將 Discord 橋接到任何 ACP 相容的 coding CLI。此模板使用 OpenCode 作為 agent 後端,支援 75+ LLM 供應商(Ollama Cloud、OpenAI、Anthropic、Google 等)。 來源:https://github.com/openabdev/openab

OpenAB 是一個輕量的開源 Rust 程式,透過 stdio JSON-RPC 將 Discord 橋接到任何支援 Agent Client Protocol 的 coding CLI。
此模板使用 OpenCode 作為 agent 後端,支援 75+ LLM 供應商。
0.8.1-beta.5)。如需升級,請在 Zeabur Dashboard → 服務 → 設定中更改映像標籤。/home/node 掛載為持久化磁碟。設定、config、認證資料和 opencode.json 會在重啟後保留。node 用戶執行 openab。如遇權限問題,重啟服務即可。bot → 勾選權限:Send Messages、Send Messages in Threads、Create Public Threads、Read Message History、Add Reactions、Manage MessagesOpenCode 需要連接 LLM 供應商。最簡單的方式是在 Zeabur Dashboard → 服務 → 變數中設定環境變數:
| 變數名 | 供應商 |
|---|---|
OPENCODE_API_KEY | OpenCode 原生(在 opencode.ai 取得) |
ANTHROPIC_API_KEY | Anthropic Claude |
OPENAI_API_KEY | OpenAI GPT |
GOOGLE_GENERATIVE_AI_API_KEY | Google Gemini |
GROQ_API_KEY | Groq |
MISTRAL_API_KEY | Mistral |
DEEPSEEK_API_KEY | DeepSeek |
OPENROUTER_API_KEY | OpenRouter(代理 100+ 模型) |
設定至少一個變數後重啟服務,OpenCode 會自動讀取。
互動式登入(替代方式)
如需使用瀏覽器 OAuth 的供應商(如 AWS Bedrock、Azure OpenAI),在 Zeabur Dashboard 開啟服務終端並執行:
runuser -u node -- opencode auth login
⚠️ 必須以
node身份執行。以root執行會把認證檔寫到/root/,該路徑未持久化,重啟後會遺失。
如需設定特定模型,建立或編輯 /home/node/opencode.json:
{
"provider": "anthropic",
"model": "claude-sonnet-4-20250514"
}
詳見 OpenCode 文件。
填入 Discord Bot Token 後點擊部署。服務會自動連線到 Discord。然後使用上述方法認證 OpenCode。
| 檔案 | 說明 |
|---|---|
/home/node/.config/openab/config.toml | OpenAB 設定 |
/home/node/opencode.json | OpenCode 模型/供應商設定 |
/home/node/.opencode/ | OpenCode 認證資料與狀態 |
預設情況下,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 用戶 ID 是 webhook URL 中的數字 ID:https://discord.com/api/webhooks/<ID>/...
部署時將 Discord Bot Token 留空即可。