logo
icon

OpenAB Gemini

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

template cover
部署次數8
發布者zeaburZeabur
建立於2026-04-20
最低規格2 核心4 GB
推薦規格4 核心8 GB
標籤
AIDeveloper ToolsDiscord

OpenAB Gemini

OpenAB 是一個輕量的開源 Rust 程式,透過 stdio JSON-RPC 將 Discord 橋接到任何支援 Agent Client Protocol 的 coding CLI。

此模板部署的是 Gemini 變體(openab-gemini),使用 gemini --acp 作為 agent 後端。

注意事項

  • 映像標籤: 此模板使用固定版本(0.8.1-beta.5)。如需升級,請在 Zeabur Dashboard → 服務 → 設定中更改映像標籤。可用標籤:GitHub Packages
  • 持久化儲存: /home/node 掛載為持久化磁碟。Plugins、設定、config 和認證資料會在重啟後保留。
  • 檔案權限: 容器以 root 啟動後切換為 node 用戶(uid 1000)執行 openab。如遇權限問題,重啟服務即可 — 啟動時會自動修正權限。

設定步驟

1. 取得 Discord Bot Token

  1. 前往 https://discord.com/developers/applications,點擊 New Application
  2. 進入 Bot 頁籤 → 點擊 Reset Token → 複製 token
  3. 同一頁面往下滑,在 Privileged Gateway Intents 下啟用 Message Content Intent
  4. 前往 OAuth2 → URL Generator → 勾選 scope bot → 勾選權限:Send Messages、Send Messages in Threads、Create Public Threads、Read Message History、Add Reactions、Manage Messages
  5. 複製產生的 URL,在瀏覽器中開啟以邀請 Bot 到你的伺服器

2. 取得 Gemini API Key

  1. 前往 Google AI Studio
  2. 點擊 Create API key
  3. 複製產生的 API 金鑰

3. 取得 Discord 頻道 ID

  1. 開啟 Discord → 前往 使用者設定(齒輪圖示)→ 進階 → 啟用 開發者模式
  2. 對你要 Bot 回應的頻道按右鍵 → 複製頻道 ID
  3. 多個頻道用逗號分隔:123456789012345678,234567890123456789

4. 部署

填入模板變數後點擊部署即可。服務會自動連線到 Discord。

使用方式

  • 在允許的頻道中 @mention Bot 即可開始對話
  • OpenAB 會自動建立 thread 進行多輪對話 — 後續訊息不需要再 @mention
  • 每個 thread 對應一個持久的 Gemini session(預設 24 小時 TTL)

自訂設定

檔案說明
/home/node/.config/openab/config.tomlOpenAB 設定(sessions、reactions、STT 等)

config.toml 在首次啟動時從內建範本建立。之後請直接編輯檔案,環境變數僅用於初始設定。要恢復預設值請刪除後重啟:rm /home/node/.config/openab/config.toml

設定選項請參閱 OpenAB 文件

Webhook / Bot 整合

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 留空即可。服務會進入 sleep 狀態,不會崩潰。

連結