logo
icon

OpenAB Cursor

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

template cover
部署次数3
发布者zeaburZeabur
创建于2026-04-20
最低配置2 核心4 GB
推荐配置4 核心8 GB
标签
AIDeveloper ToolsDiscord

OpenAB Cursor

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 和设置会在重启后保留。
  • 文件权限: 容器以 root 启动后切换为 agent 用户(uid 1000)运行 openab。如遇权限问题,重启服务即可 — 启动时会自动修正权限。
  • 需要付费订阅: Cursor Agent CLI 需要付费的 Cursor 订阅方案(Pro 或 Business)。

设置步骤

1. 获取 Discord Bot Token

  1. 前往 https://discord.com/developers/applications,点击 New Application
  2. 进入 Bot 页签 → 点击 Reset Token → 复制 token
  3. 同一页面往下滑,在 Privileged Gateway Intents 下启用 Message Content Intent
  4. 前往 OAuth2 → URL Generator → 勾选 scope bot → 勾选权限:Send Messages、Send Messages in Threads、Create Public Threads、Read Message History、Add Reactions、Manage Messages
  5. 复制生成的 URL,在浏览器中打开以邀请 Bot 到你的服务器

2. 认证 Cursor(任选其一)

启动脚本不会强制任何 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 环境变量(无需进终端)

  1. 在 Cursor Dashboard → Settings → Account 创建 API key
  2. 到 Zeabur Dashboard → 服务 → 变量 添加 CURSOR_API_KEY,填入刚刚的 key
  3. 重启服务即可。cursor-agent 会直接读取此变量,无需执行 cursor-agent login

3. 获取 Discord 频道 ID

  1. 打开 Discord → 前往 用户设置(齿轮图标)→ 高级 → 启用 开发者模式
  2. 右键点击你要 Bot 回应的频道 → 复制频道 ID
  3. 多个频道用逗号分隔:123456789012345678,234567890123456789

4. 部署

填入 Discord Bot Token 后点击部署即可。服务会自动连接到 Discord。然后使用上述方法认证 Cursor。

添加通讯平台(Telegram / LINE / 飞书 / Google Chat / MS Teams)

若要桥接 Telegram、LINE、飞书/Lark、Google Chat 或 MS Teams,请在同一个 Zeabur 项目中部署 OpenAB Gateway 模板,然后在此服务上设置以下环境变量:

  • GATEWAY_URL = ws://openab-gateway:8080/ws
  • GATEWAY_PLATFORM = telegramlinefeishugooglechatteams 之一

重启服务。启动脚本会自动将 [gateway] 块注入 config.toml

使用方式

  • 在允许的频道中 @mention Bot 即可开始对话
  • OpenAB 会自动创建 thread 进行多轮对话 — 后续消息不需要再 @mention
  • 每个 thread 对应一个持久的 Cursor session(默认 24 小时 TTL)

自定义设置

文件说明
/home/agent/.config/openab/config.tomlOpenAB 设置(sessions、reactions、STT 等)

config.toml 在首次启动时从内建模板创建。之后请直接编辑文件,环境变量仅用于初始设置。要恢复默认值请删除后重启:rm /home/agent/.config/openab/config.toml

设置选项请参阅 OpenAB 文档

Webhook / Bot 集成

默认情况下,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 状态,不会崩溃。

链接