logo
icon

OpenAB Grok

Open Agent Broker — 輕量的 Rust 程式,透過 stdio JSON-RPC 將 Discord 和 Slack 橋接到任何 ACP 相容的 coding CLI。此模板使用 Grok Build(xAI 官方 coding agent CLI)作為後端,透過 `grok agent stdio` 啟動。 來源:https://github.com/openabdev/openab

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

OpenAB Grok

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

此模板部署 Grok 變體 — 使用 xAI 官方 coding agent CLI Grok Build 作為後端,透過 grok agent stdio 啟動。

注意事項

  • 映像標籤: 此模板使用固定版本(0.8.3-beta.11)。如需升級,請在 Zeabur Dashboard → 服務 → 設定中更改映像標籤。可用標籤:GitHub Packages
  • 持久化儲存: /home/agent 掛載為持久化磁碟。Grok 認證資料(~/.grok/auth.json)、設定、config 會在重啟後保留。

設定步驟

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 頻道 ID

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

3. 選擇認證方式

Grok Build 支援三種認證來源,選一個適合你的場景:

方法適用場景操作
API Key依使用量付費 API、CI / bot 部署console.x.ai 取得 key,填入 GROK_CODE_XAI_API_KEY 變數
Device-AuthSuperGrok 訂閱GROK_CODE_XAI_API_KEY 留空。部署後到服務 Exec 終端執行 runuser -u agent -- grok login --device-auth。CLI 會印出短代碼 + URL — 在任何裝置開啟 URL、輸入代碼、同意授權。Token 寫入 /home/agent/.grok/auth.json(重啟後保留)。
Deployment KeyxAI 企業客戶部署後在 Zeabur Dashboard → 服務 → Variables 新增自訂變數 GROK_DEPLOYMENT_KEY。優先權高於 auth.json

💡 跟 loopback OAuth 不同,Grok 的 device-auth 在任何 headless 環境都能用(不需 port-forward、不需 curl callback)。

4. 部署

填入變數後點擊部署。服務會自動連線到 Discord。如果選擇 Device-Auth,部署後再執行步驟 3 中的 login 指令。

Slack 設定(選用)

OpenAB 支援透過 Socket Mode 連接 Slack,不需要公開 URL。

  1. 前往 https://api.slack.com/appsCreate New AppFrom scratch
  2. Socket Mode → 啟用 → 產生 App-Level Token,scope 選 connections:write → 複製 xapp-... token(SLACK_APP_TOKEN
  3. Event Subscriptions → 啟用 → 新增 bot events:app_mentionmessage.channelsmessage.groups
  4. OAuth & Permissions → Bot Token Scopes → 新增:app_mentions:readchat:writechannels:historygroups:historychannels:readgroups:readreactions:writefiles:readusers:read
  5. Install App → 安裝到工作區 → 複製 xoxb-... token(SLACK_BOT_TOKEN
  6. 在每個要使用 Bot 的 Slack 頻道執行 /invite @YourAppName

部署前填入 SLACK_BOT_TOKENSLACK_APP_TOKEN 變數。Discord 和 Slack 可同時運作。

新增通訊平台(Telegram / LINE / Feishu / Google Chat / MS Teams / WeCom)

若要橋接 Telegram、LINE、Feishu/Lark、Google Chat、MS Teams 或 WeCom(企業微信),請在同一個 Zeabur 專案中部署 OpenAB Gateway 模板,然後在此服務新增以下環境變數:

  • GATEWAY_URL = ws://openab-gateway:8080/ws
  • GATEWAY_PLATFORM = telegramlinefeishugooglechatteamswecom 其中之一

重新啟動服務後,啟動腳本會自動在 config.toml 中加入 [gateway] 區塊。

使用方式

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

自訂設定

檔案說明
/home/agent/.config/openab/config.tomlOpenAB 設定(sessions、reactions、STT 等)
/home/agent/.grok/auth.jsonGrok OAuth 認證(由 grok login 管理)
/home/agent/.grok/config.tomlGrok runtime 設定

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

OpenAB 設定選項請參閱 OpenAB 文件。Grok 設定選項請參閱 Grok Build 文件

停用

部署時將 Discord Bot TokenSLACK_BOT_TOKEN 都留空即可。服務會進入 sleep 狀態,不會崩潰。

連結