Open Agent Broker — 轻量的 Rust 程序,通过 stdio JSON-RPC 将 Discord 和 Slack 桥接到任何 ACP 兼容的 coding CLI。此模板使用 Nous Research 的 Hermes Agent 作为后端 — 一个 multi-provider inference gateway,通过 OAuth 支持 30+ LLM 供应商(xAI Grok、Anthropic、OpenAI、Nous Portal 等)。 来源:https://github.com/openabdev/openab

OpenAB 是一个轻量的开源 Rust 程序,通过 stdio JSON-RPC 将 Discord 和 Slack 桥接到任何支持 Agent Client Protocol 的 coding CLI。
此模板使用 Hermes 变体:以 Nous Research 的 Hermes Agent 为后端。Hermes 本身是一个 multi-provider inference gateway — 内置管理 OAuth token、认证存储、provider 路由,可对接 30+ LLM 供应商(xAI Grok、Anthropic、OpenAI、Nous Portal 等),OpenAB 不需要自行处理供应商认证。
0.8.3-beta.10)。如需升级,请在 Zeabur Dashboard → 服务 → 设置中更改镜像标签。可用标签:GitHub Packages。/home/agent 挂载为持久化磁盘。Hermes 认证、plugins、设置、config 会在重启后保留。hermes auth add <provider> 来绑定要使用的 LLM 供应商。bot → 勾选权限:Send Messages、Send Messages in Threads、Create Public Threads、Read Message History、Add Reactions、Manage Messages123456789012345678,234567890123456789填入变量后点击部署即可。服务会自动连接到 Discord,但在你完成步骤 4 认证之前,bot 不会产生任何 LLM 回复。
服务启动后,在 Zeabur Dashboard → 服务 → Exec 打开容器终端。Hermes 支持多家供应商,以下是两种常见的选择。
runuser -u agent -- hermes auth add nous
按照提示打开显示的 URL 完成 OAuth。
⚠️ 需要 SuperGrok 付费订阅($30/月)。 没有订阅时 auth 仍会成功,但 API 返回空字符串 — bot 看似在运行却不会回复任何消息。
xAI OAuth 使用 loopback 重定向到 127.0.0.1:56121。Zeabur 不暴露此端口,请使用「双终端」流程:
终端 1 — 启动 auth listener:
runuser -u agent -- hermes auth add xai-oauth --no-browser
画面会打印含 &state=XXXXX 的授权 URL,并在 http://127.0.0.1:56121/callback 等待。
在你的浏览器 — 打开该授权 URL → 同意授权。浏览器会被重定向到 http://127.0.0.1:56121/callback?code=... 并显示连接失败(这是预期的)。从地址栏复制 code 的值。
终端 2 — 在 Zeabur 再开一个 Exec session,在容器内把 callback 喂回去:
runuser -u agent -- curl "http://127.0.0.1:56121/callback?code=<CODE>&state=<STATE>"
终端 1 应该会打印 Added xai-oauth OAuth credential #1。code 几秒后就会失效,若出现 invalid_grant 请重新执行 hermes auth add xai-oauth 再试。
用交互式 picker:
runuser -u agent -- hermes model
…或手动把 provider 和 model 分成两个 key 设置(这是 hermes-acp 能读到的格式 — hermes config set 示例中合并成 provider/model 的写法只有 standalone CLI 能识别,openab spawn 的 hermes-acp 不会生效):
runuser -u agent -- hermes config set provider xai-oauth
runuser -u agent -- hermes config set model grok-4-latest
设置会写入 /home/agent,重启后仍保留。新的 Discord session 会自动应用新 model,无需重启服务。
其他供应商(Anthropic、OpenAI 等)请参阅 Hermes Agent 文档。
OpenAB 支持通过 Socket Mode 连接 Slack,无需公开 URL。
connections:write → 复制 xapp-... token(SLACK_APP_TOKEN)app_mention、message.channels、message.groupsapp_mentions:read、chat:write、channels:history、groups:history、channels:read、groups:read、reactions:write、files:read、users:readxoxb-... token(SLACK_BOT_TOKEN)/invite @YourAppName部署前填入 SLACK_BOT_TOKEN 和 SLACK_APP_TOKEN 变量。Discord 和 Slack 可同时运行。
若要桥接 Telegram、LINE、飞书/Lark、Google Chat、MS Teams 或企业微信(WeCom),请在同一个 Zeabur 项目中部署 OpenAB Gateway 模板,然后在此服务上设置以下环境变量:
GATEWAY_URL = ws://openab-gateway:8080/wsGATEWAY_PLATFORM = telegram、line、feishu、googlechat、teams 或 wecom 之一重启服务。启动脚本会自动将 [gateway] 块注入 config.toml。
| 文件 | 说明 |
|---|---|
/home/agent/.config/openab/config.toml | OpenAB 设置(sessions、reactions、STT 等) |
/home/agent/.config/hermes/ | Hermes 认证与 provider 设置(由 hermes auth / hermes model 管理) |
config.toml 在首次启动时从内建模板创建。之后请直接编辑文件,环境变量仅用于初始设置。要恢复默认值请删除后重启:rm /home/agent/.config/openab/config.toml
OpenAB 设置选项请参阅 OpenAB 文档。Hermes provider 选项请参阅 Hermes 文档。
部署时将 Discord Bot Token 和 SLACK_BOT_TOKEN 都留空即可。服务会进入 sleep 状态,不会崩溃。