Open Agent Broker — a lightweight Rust harness that bridges Discord to any ACP-compatible coding CLI (Claude Code, Codex, Gemini, Kiro, Cursor) over stdio JSON-RPC. This template uses the Cursor Agent CLI as the agent backend. Source: https://github.com/openabdev/openab

OpenAB is a lightweight, open-source Rust harness that bridges Discord to any Agent Client Protocol-compatible coding CLI over stdio JSON-RPC.
This template deploys the Cursor variant using the openab-cursor image with cursor-agent as the agent backend.
0.8.1-beta.5). To upgrade, change the image tag in Zeabur Dashboard → Service → Settings. Available tags: GitHub Packages./home/agent is mounted as a persistent volume. Auth credentials (~/.cursor/), MCP config, approvals, and settings survive restarts.agent user (uid 1000) before running openab. If you encounter permission issues, restart the service — ownership is fixed automatically on boot.bot → check permissions: Send Messages, Send Messages in Threads, Create Public Threads, Read Message History, Add Reactions, Manage MessagesCursor uses device flow for authentication — no API key is needed at deploy time. After the service is running, open the service terminal in Zeabur Dashboard and run:
HOME=/home/agent cursor-agent login
⚠️ Must set
HOME=/home/agent. Without it, credentials are written to/root/which is not persisted and will be lost on restart.
Follow the on-screen instructions to complete device flow authorization in your browser. Restart the service after login completes.
123456789012345678,234567890123456789Fill in the Discord Bot Token and click deploy. The service connects to Discord automatically. Then authenticate Cursor using the method above.
| File | Description |
|---|---|
/home/agent/.config/openab/config.toml | OpenAB config (sessions, reactions, STT, etc.) |
config.toml is created from a built-in template on first boot. After that, edit the file directly — environment variables are only used for initial setup. To reset to defaults, delete the file and restart: rm /home/agent/.config/openab/config.toml
For config options, see the OpenAB documentation.
By default, openab ignores messages from other bots and webhooks. To allow webhook-triggered messages (e.g. automated testing or CI pipelines), add the following to your config.toml:
[discord]
allow_bot_messages = "mentions"
With this setting, openab responds to any bot or webhook message that @mentions it. To restrict to a specific webhook, also add:
trusted_bot_ids = ["YOUR_WEBHOOK_USER_ID"]
The webhook user ID is the numeric ID in the webhook URL: https://discord.com/api/webhooks/<ID>/...
Leave Discord Bot Token empty. The service sleeps instead of crashing.