Open Agent Broker — stdio JSON-RPC を通じて Discord と Slack を ACP 対応の coding CLI(Claude Code、Codex、Gemini、Kiro)にブリッジする軽量な Rust ハーネス。 ソース:https://github.com/openabdev/openab

OpenAB は、stdio JSON-RPC を通じて Discord を Agent Client Protocol 対応の coding CLI にブリッジする軽量なオープンソース Rust ハーネスです。
このテンプレートは Claude バリアント(openab-claude)をデプロイし、claude-agent-acp をエージェントバックエンドとして使用します。
0.8.3-beta.4)を使用しています。アップグレードするには、Zeabur Dashboard → サービス → 設定でイメージタグを変更してください。利用可能なタグ:GitHub Packages。/home/node が永続ボリュームとしてマウントされます。プラグイン、設定、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/ に書き込まれ、再起動後も保持されます。 |
トークンを agent に渡す: openab は
env_clear()で agent サブプロセスを分離するため、方法 1–3 では初回起動後に/home/node/.config/openab/config.tomlを編集し、[agent]セクションに env allowlist(または明示的な env マップ)を追加する必要があります:[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 で App-Level Token を生成 → 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、Feishu/Lark、Google Chat、MS Teams を接続するには、同じ Zeabur プロジェクトに OpenAB Gateway テンプレート をデプロイしてから、このサービスに次の環境変数を設定してください:
GATEWAY_URL = ws://openab-gateway:8080/wsGATEWAY_PLATFORM = telegram、line、feishu、googlechat、teams のいずれかサービスを再起動すると、起動スクリプトが config.toml に [gateway] セクションを自動追加します。
| ファイル | 説明 |
|---|---|
/home/node/CLAUDE.md | エージェント指示 — Claude が毎セッション自動的に読み込みます |
/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 を空にしてください。サービスはクラッシュせずスリープ状態になります。