logo
icon

OpenAB Native

部署 OpenAB 搭配原生 Rust coding agent(openab-agent)作為 Discord/Slack 機器人。單一靜態 binary、無 Node.js 或 Python runtime、冷啟動 ~50ms。支援 Anthropic API key 或 OpenAI Codex(ChatGPT Plus/Pro)OAuth device flow 訂閱認證。 來源:https://github.com/openabdev/openab

template cover
部署次數0
發布者zeaburZeabur
建立於2026-05-27
標籤
AIDiscord BotDeveloper Tools

模板內的服務

OpenAB Native

一鍵部署 OpenAB 搭配 openab-agent——OpenAB 自帶的原生 Rust coding agent。無 Node.js、無 Python、無 adapter 層。

為什麼用 native?

openab-native其他 agent 模板
Runtime無(單一 Rust binary)Node.js / Python
冷啟動~50ms1–3 秒
Image 大小~20MB 層300–800MB
Adapter 層無(ACP 內建)需 codex-acp / pi-acp / agy-acp
工具4 個:read / write / edit / bash依 CLI 而定

設計目標:快速、可預測的 agent loop,無 npm/pip 供應鏈風險。

注意事項

  • 映像標籤: 本模板追蹤 beta 標籤。若要 pin 特定版本,請至 Zeabur Dashboard → 服務 → 設定修改映像標籤。
  • 持久化儲存: /home/agent 掛載為持久化磁碟。Config 與認證 Token(~/.openab/agent/auth.json)會在重啟後保留。
  • Config 位置: 首次啟動時生成於 /home/agent/.config/openab/config.toml。之後直接編輯即可。

設定

1. 建立 Discord Bot

  1. 前往 Discord Developer Portal 建立應用程式並加上 Bot
  2. 在 Privileged Gateway Intents 啟用 Message Content Intent
  3. 複製 bot token 貼到 DISCORD_BOT_TOKEN
  4. OAuth2 → URL Generator → scope 勾 bot、權限勾 Send Messages、Read Message History、Add Reactions 等
  5. 用產生的網址邀請 bot 到伺服器

2. 選擇 LLM 提供者(擇一)

方案 A — Anthropic API key(最簡單): 把 Anthropic API key 貼到 ANTHROPIC_API_KEY。Agent 預設用 claude-sonnet-4-20250514。完成。

方案 B — OpenAI Codex 訂閱(ChatGPT Plus/Pro): ANTHROPIC_API_KEY 留空。部署後於 Zeabur Dashboard → Exec 分頁執行:

openab-agent auth codex-device

依畫面顯示的 URL 與 code 在瀏覽器完成授權。Token 會存於 ~/.openab/agent/auth.json,重啟後仍有效。

驗證:

openab-agent auth status

3. 設定頻道(選填)

設定 OPENAB_ALLOWED_CHANNELS 限制 bot 回應的頻道;留空則允許所有頻道。

Slack 設定(選填)

  1. https://api.slack.com/apps → Create New App
  2. 啟用 Socket Mode → 產生 App-Level Token(scope connections:write
  3. 啟用 Event Subscriptions → bot events: app_mentionmessage.channelsmessage.groups
  4. OAuth & Permissions → scopes: app_mentions:readchat:writechannels:history
  5. 安裝 App → 複製 xoxb-...xapp-... token

選擇模型

於 Zeabur Dashboard → 服務 → 環境變數新增:

變數預設說明
OPENAB_AGENT_PROVIDERauto-detectanthropiccodex 強制指定
OPENAB_AGENT_MODELclaude-sonnet-4-20250514(Anthropic)任何 Anthropic 模型 ID
OPENAB_AGENT_OPENAI_MODELgpt-4.1-nano(Codex)provider 為 codex 時使用
OPENAB_AGENT_MAX_TOKENS8192輸出最大 token 數

Auto-detect 順序:先試 ANTHROPIC_API_KEY,再試 OAuth token store。

自訂

檔案說明
/home/agent/.config/openab/config.tomlOpenAB 設定(sessions、reactions 等)
/home/agent/.openab/agent/auth.jsonOAuth token(Codex 流程)

重置:rm /home/agent/.config/openab/config.toml 後重啟。

安全性

Native agent 的 bash 工具預設過濾環境變數——ANTHROPIC_API_KEY*_TOKEN*_SECRET 等不會傳給子程序,避免 prompt injection 攻擊外洩 API key。需要傳入特定安全變數可加到 OPENAB_AGENT_BASH_ENV_ALLOW(以逗號分隔)。

連結