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

OpenAB 是一个轻量的开源 Rust 程序,通过 stdio JSON-RPC 将 Discord 桥接到任何支持 Agent Client Protocol 的 coding CLI。
此模板部署的是 Claude 变体(openab-claude),使用 claude-agent-acp 作为 agent 后端。
0.8.3-beta.4)。如需升级,请在 Zeabur Dashboard → 服务 → 设置中更改镜像标签。可用标签:GitHub Packages。/home/node 挂载为持久化磁盘。Plugins、设置、config 和认证数据会在重启后保留。bot → 勾选权限:Send Messages、Send Messages in Threads、Create Public Threads、Read Message History、Add Reactions、Manage Messages| 方式 | 使用方法 |
|---|---|
| Anthropic API Key | 前往 console.anthropic.com/settings/keys → Create Key → 将 sk-ant-api... 密钥填入 OPENAB_AUTH_TOKEN |
| Zeabur AI Hub Token | 前往 Zeabur AI Hub → API Keys → Create → 将 token 填入 OPENAB_AUTH_TOKEN |
| Claude OAuth Token | 在终端运行 claude setup-token(需要 Claude Pro/Max/Team/Enterprise 订阅)→ 打开显示的 URL → 授权 → 粘贴验证码 → 将输出的 sk-ant-oat... token 填入 OPENAB_AUTH_TOKEN |
| 容器内登录 | OPENAB_AUTH_TOKEN 留空。部署后到 Zeabur Dashboard → 服务 → Exec 运行 runuser -u node -- claude auth login(或 claude setup-token)。认证数据会写入持久卷的 /home/node/.claude/,重启后仍保留。 |
将 token 传给 agent: openab 会以
env_clear()隔离 agent 子进程,因此方式 1–3 需在首次启动后编辑/home/node/.config/openab/config.toml,在[agent]区块加入 env allowlist(或显式 env map):[agent] inherit_env = ["ANTHROPIC_API_KEY", "CLAUDE_CODE_OAUTH_TOKEN", "ANTHROPIC_BASE_URL", "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS"]方式 4 无需修改 — 认证数据直接从
~/.claude/.credentials.json读取。
123456789012345678,234567890123456789填入变量后点击部署即可。服务会自动连接到 Discord 和/或 Slack。
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,请在同一个 Zeabur 项目中部署 OpenAB Gateway 模板,然后在此服务上设置以下环境变量:
GATEWAY_URL = ws://openab-gateway:8080/wsGATEWAY_PLATFORM = telegram、line、feishu、googlechat 或 teams 之一重启服务。启动脚本会自动将 [gateway] 块注入 config.toml。
| 文件 | 说明 |
|---|---|
/home/node/CLAUDE.md | Agent 指令 — Claude 每次 session 会自动读取 |
/home/node/.config/openab/config.toml | OpenAB 设置(sessions、reactions、STT 等) |
/etc/claude-code/managed-settings.json | Claude Code 权限模式 |
config.toml 在首次启动时从内建模板创建。之后请直接编辑文件,环境变量仅用于初始设置。要恢复默认值请删除后重启:rm /home/node/.config/openab/config.toml
设置选项请参阅 OpenAB 文档。
部署时将 Discord Bot Token 留空即可。服务会进入 sleep 状态,不会崩溃。