logo
icon

OpenAB Gemini

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

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

OpenAB Gemini

OpenAB 是一个轻量的开源 Rust 程序,通过 stdio JSON-RPC 将 Discord 桥接到任何支持 Agent Client Protocol 的 coding CLI。

此模板部署的是 Gemini 变体(openab-gemini),使用 gemini --acp 作为 agent 后端。

注意事项

  • 镜像标签: 此模板使用固定版本(0.8.1-beta.5)。如需升级,请在 Zeabur Dashboard → 服务 → 设置中更改镜像标签。可用标签:GitHub Packages
  • 持久化存储: /home/node 挂载为持久化磁盘。Plugins、设置、config 和认证数据会在重启后保留。
  • 文件权限: 容器以 root 启动后切换为 node 用户(uid 1000)运行 openab。如遇权限问题,重启服务即可 — 启动时会自动修正权限。

设置步骤

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. 获取 Gemini API Key

  1. 前往 Google AI Studio
  2. 点击 Create API key
  3. 复制生成的 API 密钥

3. 获取 Discord 频道 ID

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

4. 部署

填入模板变量后点击部署即可。服务会自动连接到 Discord。

使用方式

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

自定义设置

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

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

设置选项请参阅 OpenAB 文档

Webhook / Bot 集成

OpenAB 默认忽略来自其他 bot 和 webhook 的消息。要允许 webhook 触发的消息(例如自动化测试或 CI 流水线),在 config.toml 中添加以下配置:

[discord]
allow_bot_messages = "mentions"

设置后,openab 会响应任何 @mention 它的 bot 或 webhook 消息。若要限制为特定 webhook,还可添加:

trusted_bot_ids = ["YOUR_WEBHOOK_USER_ID"]

Webhook 用户 ID 为 webhook URL 中的数字 ID:https://discord.com/api/webhooks/<ID>/...

停用

部署时将 Discord Bot Token 留空即可。服务会进入 sleep 状态,不会崩溃。

链接