部署 OpenAB 搭配 Pi coding agent 作為 Discord/Slack 機器人。Pi 是輕量 coding agent(僅 4 個工具:read/write/edit/bash),原生支援訂閱認證——Claude Pro/Max、ChatGPT Plus/Pro 或任何 API key。支援 15+ LLM 提供者,可於對話中切換模型。 來源:https://github.com/openabdev/openab

一鍵部署 OpenAB 搭配 Pi coding agent 作為 AI 後端。透過 pi-acp Node.js 適配器橋接 ACP JSON-RPC ↔ Pi CLI。
pi /login,無需 auth-proxy sidecar。beta 標籤。若要 pin 特定版本,請至 Zeabur Dashboard → 服務 → 設定修改映像標籤。/home/node 掛載為持久化磁碟。Config、認證 Token(~/.pi/)與 session 樹會在重啟後保留。/home/node/.config/openab/config.toml。之後直接編輯即可。node 使用者(UID 1000)執行——與其他 agent 模板的 agent 使用者不同。本模板所有路徑皆以 /home/node 開頭。DISCORD_BOT_TOKENbot、權限勾 Send Messages、Read Message History、Add Reactions 等方案 A — Claude Pro/Max OAuth token(最簡單,無需互動):
把 Claude OAuth token(sk-ant-oat01-...,與 CLAUDE_CODE_OAUTH_TOKEN 同格式)貼到 ANTHROPIC_OAUTH_TOKEN。Pi 會自動讀取,完成。
方案 B — 其他 API key(無需互動):
在 Zeabur Dashboard 開啟 openab-pi 服務 → 環境變數,加入以下任一(Pi 自動偵測):
| 變數 | Provider |
|---|---|
ANTHROPIC_API_KEY | Anthropic Claude(pay-per-token) |
OPENAI_API_KEY | OpenAI GPT |
GEMINI_API_KEY | Google Gemini |
DEEPSEEK_API_KEY / GROQ_API_KEY / XAI_API_KEY / OPENROUTER_API_KEY | 其他 provider |
上述變數已預先列在 inherit_env,會自動傳給 Pi。
方案 C — 互動式 OAuth(/login):
部署後於 Exec 分頁執行 pi,在互動介面中輸入 /login、選 provider、瀏覽器完成 OAuth。Token 會存於 /home/node/.pi/。
設定 OPENAB_ALLOWED_CHANNELS 限制 bot 回應的頻道;留空則允許所有頻道。
connections:write)app_mention、message.channels、message.groupsapp_mentions:read、chat:write、channels:history 等xoxb-... 與 xapp-... token| 檔案 | 說明 |
|---|---|
/home/node/.config/openab/config.toml | OpenAB 設定(sessions、reactions 等) |
/home/node/.pi/ | Pi 設定與認證 Token |
/home/node/.pi/sessions/ | Pi session 樹 |
/home/node/AGENTS.md | 專案層級的 Pi steering 檔案(注入到 context) |
/home/node/.pi/APPEND_SYSTEM.md | 附加到 Pi 預設 system prompt |
/home/node/.pi/SYSTEM.md | 完全取代 Pi 預設 system prompt |
重置 OpenAB config:rm /home/node/.config/openab/config.toml 後重啟。
pi-acp 一次回傳完整回應;中間輸出會被緩衝。session/cancel 可能無法中斷生成中的回應;Pi CLI 會執行到完成。