Deploy OpenAB with the Pi coding agent as a Discord/Slack bot. Pi is a minimal coding agent (4 tools: read/write/edit/bash) with native subscription auth — Claude Pro/Max, ChatGPT Plus/Pro, or any API key. Supports 15+ LLM providers via mid-session model switching. Source: https://github.com/openabdev/openab

One-click deployment of OpenAB with the Pi coding agent as the AI backend. Uses the pi-acp Node.js adapter to bridge ACP JSON-RPC ↔ Pi CLI.
pi /login. No auth-proxy sidecar needed.beta tag. To pin a specific version, change the image tag in Zeabur Dashboard → Service → Settings./home/node is mounted as a persistent volume. Config, auth tokens (~/.pi/), and session trees survive restarts.config.toml is generated at /home/node/.config/openab/config.toml on first boot. Edit it directly after that — env vars are only used for initial setup.node user (UID 1000) — different from other agent templates that use agent. Paths in this template all start with /home/node.DISCORD_BOT_TOKENbot → check permissions: Send Messages, Send Messages in Threads, Create Public Threads, Read Message History, Add Reactions, Manage MessagesPi authentication is interactive. After deployment, open the Exec tab in Zeabur Dashboard and run:
pi
Inside Pi's interactive UI, type:
/login
Choose your provider and follow the OAuth flow in your browser. Tokens persist in /home/node/.pi/.
For pay-per-token API keys instead of subscription:
pi
# then inside Pi:
/set OPENAI_API_KEY sk-...
# or
/set ANTHROPIC_API_KEY sk-ant-...
Set OPENAB_ALLOWED_CHANNELS to restrict which channels the bot responds in. Leave empty to allow all channels.
connections:writeapp_mention, message.channels, message.groupsapp_mentions:read, chat:write, channels:history, groups:history, channels:read, groups:read, reactions:write, files:read, users:readxoxb-... token and xapp-... token| File | Description |
|---|---|
/home/node/.config/openab/config.toml | OpenAB config (sessions, reactions, etc.) |
/home/node/.pi/ | Pi configuration and auth tokens |
/home/node/.pi/sessions/ | Pi session history trees |
/home/node/AGENTS.md | Project-level steering for Pi (loaded into context) |
/home/node/.pi/APPEND_SYSTEM.md | Append to Pi's system prompt |
/home/node/.pi/SYSTEM.md | Replace Pi's system prompt entirely |
To reset OpenAB config: rm /home/node/.config/openab/config.toml and restart.
pi-acp returns the full response at once; intermediate output is buffered.session/cancel may not interrupt mid-generation; Pi CLI runs to completion.