logo
icon

OpenAB Grok

Open Agent Broker — stdio JSON-RPC を通じて Discord と Slack を ACP 対応の coding CLI にブリッジする軽量な Rust ハーネス。このテンプレートは Grok Build(xAI 公式の coding agent CLI)をバックエンドとして使用し、`grok agent stdio` で起動します。 ソース:https://github.com/openabdev/openab

template cover
展開済み0
発行者zeaburZeabur
作成日2026-05-17
最小構成2 コア4 GB
推奨構成4 コア8 GB
タグ
AIDeveloper ToolsDiscordSlack

OpenAB Grok

OpenAB は、stdio JSON-RPC を通じて Discord と Slack を Agent Client Protocol 対応の coding CLI にブリッジする軽量なオープンソース Rust ハーネスです。

このテンプレートは Grok バリアントを実行します — xAI 公式の coding agent CLI である Grok Build をバックエンドとして使用し、grok agent stdio で起動します。

注意事項

  • イメージタグ: このテンプレートは固定バージョン(0.8.3-beta.11)を使用しています。アップグレードするには、Zeabur Dashboard → サービス → 設定でイメージタグを変更してください。利用可能なタグ:GitHub Packages
  • 永続ストレージ: /home/agent が永続ボリュームとしてマウントされます。Grok の認証情報(~/.grok/auth.json)、設定、config は再起動後も保持されます。

セットアップ

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. Discord チャンネル ID の取得

  1. Discord を開く → ユーザー設定(歯車アイコン)→ 詳細設定開発者モード を有効化
  2. Bot に応答させたいチャンネルを右クリック → チャンネル ID をコピー
  3. 複数チャンネルはカンマで区切る:123456789012345678,234567890123456789

3. 認証方法の選択

Grok Build は 3 種類の認証ソースをサポートします。ユースケースに合うものを選んでください。

方法利用シーン手順
API Keyトークン課金の API 利用、CI / bot デプロイconsole.x.ai でキーを取得 → GROK_CODE_XAI_API_KEY 変数に貼り付け
Device-AuthSuperGrok 有料サブスクリプションGROK_CODE_XAI_API_KEY は空のまま。デプロイ後、サービスの Exec ターミナルで runuser -u agent -- grok login --device-auth を実行。CLI が短いコードと URL を表示するので、任意のデバイスで URL を開き、コードを入力して承認。Token は /home/agent/.grok/auth.json に保存され、再起動後も保持されます。
Deployment KeyxAI エンタープライズ顧客デプロイ後、Zeabur Dashboard → サービス → Variables で GROK_DEPLOYMENT_KEY をカスタム変数として追加。auth.json より優先されます。

💡 loopback ポートにバインドする OAuth フローとは異なり、Grok の device-auth は任意のヘッドレス環境で動作します(port-forward 不要、curl-the-callback トリック不要)。

4. デプロイ

変数を入力してデプロイをクリック。サービスは自動的に Discord に接続します。Device-Auth を使用する場合は、サービス起動後にステップ 3 の login コマンドを実行してください。

Slack セットアップ(オプション)

OpenAB は Socket Mode 経由で Slack をサポートします — 公開 URL は不要です。

  1. https://api.slack.com/appsCreate New AppFrom scratch
  2. Socket Mode → 有効化 → scope connections:write で App-Level Token を生成 → xapp-... token をコピー(SLACK_APP_TOKEN
  3. Event Subscriptions → 有効化 → bot events を追加:app_mentionmessage.channelsmessage.groups
  4. OAuth & Permissions → Bot Token Scopes → 追加:app_mentions:readchat:writechannels:historygroups:historychannels:readgroups:readreactions:writefiles:readusers:read
  5. Install App → ワークスペースにインストール → xoxb-... token をコピー(SLACK_BOT_TOKEN
  6. Bot を使用したい各 Slack チャンネルで /invite @YourAppName を実行

デプロイ前に SLACK_BOT_TOKENSLACK_APP_TOKEN 変数を入力してください。Discord と Slack は同時に使用できます。

メッセージプラットフォームを追加(Telegram / LINE / Feishu / Google Chat / MS Teams / WeCom)

Telegram、LINE、Feishu/Lark、Google Chat、MS Teams、WeCom を接続するには、同じ Zeabur プロジェクトに OpenAB Gateway テンプレート をデプロイしてから、このサービスに次の環境変数を設定してください:

  • GATEWAY_URL = ws://openab-gateway:8080/ws
  • GATEWAY_PLATFORM = telegramlinefeishugooglechatteamswecom のいずれか

サービスを再起動すると、起動スクリプトが config.toml[gateway] セクションを自動追加します。

使い方

  • 許可された Discord または Slack チャンネルで Bot を @mention して会話を開始
  • OpenAB は自動的に thread を作成してマルチターン会話を行います — 以降のメッセージでは @mention 不要
  • 各 thread は永続的な Grok session に対応(デフォルト 24 時間 TTL)

カスタマイズ

ファイル説明
/home/agent/.config/openab/config.tomlOpenAB 設定(sessions、reactions、STT など)
/home/agent/.grok/auth.jsonGrok OAuth 認証情報(grok login で管理)
/home/agent/.grok/config.tomlGrok ランタイム設定

config.toml は初回起動時に内蔵テンプレートから作成されます。以降の変更はファイルを直接編集してください。環境変数は初期設定時のみ使用されます。デフォルトに戻すにはファイルを削除して再起動:rm /home/agent/.config/openab/config.toml

OpenAB の設定オプションは OpenAB ドキュメント を、Grok の設定オプションは Grok Build ドキュメント を参照してください。

無効化

デプロイ時に Discord Bot TokenSLACK_BOT_TOKEN の両方を空にしてください。サービスはクラッシュせずスリープ状態になります。

リンク