Open Agent Broker — 轻量的 Rust 程序,通过 stdio JSON-RPC 将 Discord 桥接到任何 ACP 兼容的 coding CLI(Claude Code、Codex、Gemini、Kiro、Cursor)。此模板使用 Cursor Agent CLI 作为 agent 后端。 来源:https://github.com/openabdev/openab

OpenAB 是一个轻量的开源 Rust 程序,通过 stdio JSON-RPC 将 Discord 桥接到任何支持 Agent Client Protocol 的 coding CLI。
此模板部署的是 Cursor 变体,使用 openab-cursor 镜像搭配 cursor-agent 作为 agent 后端。
0.8.3-beta.4)。如需升级,请在 Zeabur Dashboard → 服务 → 设置中更改镜像标签。可用标签:GitHub Packages。/home/agent 挂载为持久化磁盘。认证数据(~/.cursor/)、MCP 配置、approvals 和设置会在重启后保留。bot → 勾选权限:Send Messages、Send Messages in Threads、Create Public Threads、Read Message History、Add Reactions、Manage Messages启动脚本不会强制任何 Cursor 认证 env var,任选下列一种方式即可:
方式 A:Device Flow(交互式,无需 env var)
服务启动后,在 Zeabur Dashboard 打开服务终端,运行:
runuser -u agent -- cursor-agent login
ℹ️
runuser -u agent直接以agent身份运行,自动将HOME设为/home/agent,认证文件写入时就归agent所有 — 不需要再 chown 或重启。
按照屏幕指示到浏览器完成授权。完成后新对话会自动采用新认证,不必重启服务(如果要清掉现有 session 才需要重启)。
方式 B:CURSOR_API_KEY 环境变量(无需进终端)
CURSOR_API_KEY,填入刚刚的 keycursor-agent 会直接读取此变量,无需执行 cursor-agent login123456789012345678,234567890123456789填入 Discord Bot Token 后点击部署即可。服务会自动连接到 Discord。然后使用上述方法认证 Cursor。
若要桥接 Telegram、LINE、飞书/Lark、Google Chat 或 MS Teams,请在同一个 Zeabur 项目中部署 OpenAB Gateway 模板,然后在此服务上设置以下环境变量:
GATEWAY_URL = ws://openab-gateway:8080/wsGATEWAY_PLATFORM = telegram、line、feishu、googlechat 或 teams 之一重启服务。启动脚本会自动将 [gateway] 块注入 config.toml。
| 文件 | 说明 |
|---|---|
/home/agent/.config/openab/config.toml | OpenAB 设置(sessions、reactions、STT 等) |
config.toml 在首次启动时从内建模板创建。之后请直接编辑文件,环境变量仅用于初始设置。要恢复默认值请删除后重启:rm /home/agent/.config/openab/config.toml
设置选项请参阅 OpenAB 文档。
默认情况下,openab 会忽略来自其他 Bot 和 Webhook 的消息。如需允许 Webhook 触发消息(例如自动化测试或 CI pipeline),请在 config.toml 添加:
[discord]
allow_bot_messages = "mentions"
设置后,openab 会响应任何 @mention 它的 Bot 或 Webhook 消息。若要限制为特定 Webhook,可添加:
trusted_bot_ids = ["YOUR_WEBHOOK_USER_ID"]
Webhook 的 user ID 为 Webhook URL 中的数字 ID:https://discord.com/api/webhooks/<ID>/...
部署时将 Discord Bot Token 留空即可。服务会进入 sleep 状态,不会崩溃。