Open Agent Broker — 轻量的 Rust 程序,通过 stdio JSON-RPC 将 Discord 桥接到任何 ACP 兼容的 coding CLI。此模板使用 OpenCode 作为 agent 后端,支持 75+ LLM 供应商(Ollama Cloud、OpenAI、Anthropic、Google 等)。 来源:https://github.com/openabdev/openab

OpenAB 是一个轻量的开源 Rust 程序,通过 stdio JSON-RPC 将 Discord 桥接到任何支持 Agent Client Protocol 的 coding CLI。
此模板使用 OpenCode 作为 agent 后端,支持 75+ LLM 供应商。
0.8.1-beta.5)。如需升级,请在 Zeabur Dashboard → 服务 → 设置中更改镜像标签。/home/node 挂载为持久化磁盘。设置、config、认证数据和 opencode.json 会在重启后保留。node 用户运行 openab。如遇权限问题,重启服务即可。bot → 勾选权限:Send Messages、Send Messages in Threads、Create Public Threads、Read Message History、Add Reactions、Manage MessagesOpenCode 需要连接 LLM 供应商。最简单的方式是在 Zeabur Dashboard → 服务 → 变量中设置环境变量:
| 变量名 | 供应商 |
|---|---|
OPENCODE_API_KEY | OpenCode 原生(在 opencode.ai 获取) |
ANTHROPIC_API_KEY | Anthropic Claude |
OPENAI_API_KEY | OpenAI GPT |
GOOGLE_GENERATIVE_AI_API_KEY | Google Gemini |
GROQ_API_KEY | Groq |
MISTRAL_API_KEY | Mistral |
DEEPSEEK_API_KEY | DeepSeek |
OPENROUTER_API_KEY | OpenRouter(代理 100+ 模型) |
设置至少一个变量后重启服务,OpenCode 会自动读取。
交互式登录(替代方式)
如需使用浏览器 OAuth 的供应商(如 AWS Bedrock、Azure OpenAI),在 Zeabur Dashboard 打开服务终端并运行:
runuser -u node -- opencode auth login
⚠️ 必须以
node身份执行。以root执行会把认证文件写到/root/,该路径未持久化,重启后会丢失。
如需设置特定模型,创建或编辑 /home/node/opencode.json:
{
"provider": "anthropic",
"model": "claude-sonnet-4-20250514"
}
详见 OpenCode 文档。
填入 Discord Bot Token 后点击部署。服务会自动连接到 Discord。然后使用上述方法认证 OpenCode。
| 文件 | 说明 |
|---|---|
/home/node/.config/openab/config.toml | OpenAB 设置 |
/home/node/opencode.json | OpenCode 模型/供应商设置 |
/home/node/.opencode/ | OpenCode 凭据与状态 |
默认情况下,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 用户 ID 是 webhook URL 中的数字 ID:https://discord.com/api/webhooks/<ID>/...
部署时将 Discord Bot Token 留空即可。