logo
icon

OpenAB Copilot

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

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

OpenAB Copilot

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

此模板部署 Copilot 變體(openab-copilot),以 GitHub Copilot CLI 作為 agent 後端。

注意事項

  • 需付費訂閱: GitHub Copilot CLI 需要付費 Copilot 方案(Pro、Pro+、Business 或 Enterprise),免費版不支援 CLI/ACP。
  • Public preview: Copilot CLI 的 ACP 支援自 2026 年 1 月起進入 public preview,行為可能變動。
  • 部署後才認證: 與 Claude/Codex 不同,Copilot 沒有 API key 環境變數。首次部署後需進入容器執行 gh auth login(見下方步驟)。
  • 映像標籤: 此模板使用固定版本(0.8.1-beta.5)。如需升級,請在 Zeabur Dashboard → 服務 → 設定中更改映像標籤。可用標籤:GitHub Packages
  • 持久化儲存: /home/node 掛載為持久化磁碟,plugins、設定、config、GitHub OAuth 認證(~/.config/gh/)都會保留。
  • 檔案權限: 容器以 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. 部署

填入 Discord Bot Token(以及選填的頻道 ID)後點擊部署。尚未認證 Copilot 前,容器會進入 sleep 狀態。

3. 認證 GitHub Copilot(device flow)

服務啟動後,前往 Zeabur Dashboard → 服務 → Exec 執行:

runuser -u node -- gh auth login --hostname github.com --git-protocol https -p https -w

依照 device code URL 在瀏覽器完成授權。Token 會儲存在 /home/node/.config/gh/,重啟後仍保留。

驗證:

runuser -u node -- gh auth status

完成後重啟服務。

4. 取得 Discord 頻道 ID

  1. Discord → 使用者設定進階 → 啟用 開發者模式
  2. 對頻道按右鍵 → 複製頻道 ID
  3. 多個頻道用逗號分隔

使用方式

  • 在允許的頻道中 @mention Bot 即可開始對話
  • OpenAB 會建立 thread 進行多輪對話,後續訊息不需 @mention
  • 每個 thread 對應一個持久的 Copilot session(預設 24 小時 TTL)
  • Copilot CLI 預設使用 Claude Sonnet 4.6;ACP 模式下無法切換模型

自訂設定

檔案說明
/home/node/.config/openab/config.tomlOpenAB 設定
/home/node/.config/gh/GitHub OAuth 認證資料

config.toml 首次啟動時由內建範本建立,之後直接編輯檔案即可。要恢復預設值:rm /home/node/.config/openab/config.toml

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 不會崩潰。

連結