logo
icon

OpenAB Grok

Open Agent Broker — harness Rust yang ringan untuk menjembatani Discord dan Slack ke CLI coding yang kompatibel dengan ACP melalui stdio JSON-RPC. Template ini menggunakan Grok Build (CLI coding agent resmi xAI) sebagai backend melalui `grok agent stdio`. Sumber: https://github.com/openabdev/openab

template cover
Dideploy0 kali
PenerbitzeaburZeabur
Dibuat2026-05-17
Minimum2 Core4 GB
Direkomendasikan4 Core8 GB
Tag
AIDeveloper ToolsDiscordSlack

OpenAB Grok

OpenAB adalah harness Rust yang ringan dan open-source yang menjembatani Discord dan Slack ke CLI coding yang kompatibel dengan Agent Client Protocol melalui stdio JSON-RPC.

Template ini menjalankan varian Grok — menggunakan Grok Build, CLI coding agent resmi dari xAI, sebagai backend melalui grok agent stdio.

Catatan Penting

  • Tag image: Template ini menggunakan versi yang dipin (0.8.3-beta.11). Untuk upgrade, ubah tag image di Zeabur Dashboard → Layanan → Pengaturan. Tag yang tersedia: GitHub Packages.
  • Penyimpanan persisten: /home/agent di-mount sebagai volume persisten. Kredensial Grok (~/.grok/auth.json), settings, dan config dipertahankan antar restart.

Pengaturan

1. Dapatkan Discord Bot Token

  1. Buka https://discord.com/developers/applications dan klik New Application
  2. Buka tab Bot → klik Reset Token → salin token
  3. Di halaman yang sama, scroll ke bawah dan aktifkan Message Content Intent di Privileged Gateway Intents
  4. Buka OAuth2 → URL Generator → centang scope bot → centang izin: Send Messages, Send Messages in Threads, Create Public Threads, Read Message History, Add Reactions, Manage Messages
  5. Salin URL yang dihasilkan dan buka di browser untuk mengundang Bot ke server Anda

2. Dapatkan ID Channel Discord

  1. Buka Discord → Pengaturan Pengguna (ikon roda gigi) → Lanjutan → aktifkan Mode Pengembang
  2. Klik kanan channel tempat Anda ingin Bot merespons → Salin ID Channel
  3. Untuk beberapa channel, pisahkan dengan koma: 123456789012345678,234567890123456789

3. Pilih Metode Autentikasi

Grok Build mendukung tiga sumber kredensial. Pilih yang sesuai dengan kasus penggunaan Anda.

MetodeKapan digunakanCara
API KeyPenagihan API pay-per-token, deployment CI / botDapatkan key di console.x.ai → tempelkan ke variabel GROK_CODE_XAI_API_KEY
Device-AuthLangganan berbayar SuperGrokBiarkan GROK_CODE_XAI_API_KEY kosong. Setelah deploy, jalankan runuser -u agent -- grok login --device-auth di terminal Exec layanan. CLI mencetak kode pendek + URL — buka URL di perangkat mana pun, masukkan kode, lalu setujui. Token disimpan di /home/agent/.grok/auth.json (bertahan setelah restart).
Deployment KeyPelanggan enterprise xAITambahkan GROK_DEPLOYMENT_KEY sebagai variabel kustom di Zeabur Dashboard → Layanan → Variables setelah deploy. Lebih diutamakan daripada auth.json.

💡 Tidak seperti alur OAuth yang terikat pada port loopback, device-auth Grok berfungsi di lingkungan headless mana pun (tanpa port-forward, tanpa trik curl-the-callback).

4. Deploy

Isi variabel dan klik deploy. Layanan akan otomatis terhubung ke Discord. Jika menggunakan Device-Auth, jalankan perintah login di langkah 3 setelah layanan berjalan.

Pengaturan Slack (Opsional)

OpenAB mendukung Slack melalui Socket Mode — tidak perlu URL publik.

  1. Buka https://api.slack.com/appsCreate New AppFrom scratch
  2. Socket Mode → Aktifkan → buat App-Level Token dengan scope connections:write → salin token xapp-... (SLACK_APP_TOKEN)
  3. Event Subscriptions → Aktifkan → tambahkan bot events: app_mention, message.channels, message.groups
  4. OAuth & Permissions → Bot Token Scopes → tambahkan: app_mentions:read, chat:write, channels:history, groups:history, channels:read, groups:read, reactions:write, files:read, users:read
  5. Install App → Install ke workspace → salin token xoxb-... (SLACK_BOT_TOKEN)
  6. Di setiap channel Slack yang ingin menggunakan bot, jalankan /invite @YourAppName

Isi SLACK_BOT_TOKEN dan SLACK_APP_TOKEN sebelum deploy. Discord dan Slack dapat berjalan bersamaan.

Tambahkan Platform Pesan (Telegram / LINE / Feishu / Google Chat / MS Teams / WeCom)

Untuk menjembatani Telegram, LINE, Feishu/Lark, Google Chat, MS Teams, atau WeCom, deploy template OpenAB Gateway di proyek Zeabur yang sama. Kemudian tambahkan variabel lingkungan berikut ke layanan ini:

  • GATEWAY_URL = ws://openab-gateway:8080/ws
  • GATEWAY_PLATFORM = salah satu dari telegram, line, feishu, googlechat, teams, wecom

Restart layanan. Skrip startup otomatis menyuntikkan blok [gateway] ke config.toml.

Penggunaan

  • @mention bot di channel Discord atau Slack yang diizinkan untuk memulai percakapan
  • OpenAB membuat thread untuk percakapan multi-giliran — tidak perlu @mention untuk pesan selanjutnya
  • Setiap thread dipetakan ke sesi Grok yang persisten (TTL 24 jam secara default)

Kustomisasi

FileDeskripsi
/home/agent/.config/openab/config.tomlKonfigurasi OpenAB (sessions, reactions, STT, dll.)
/home/agent/.grok/auth.jsonKredensial OAuth Grok (dikelola oleh grok login)
/home/agent/.grok/config.tomlKonfigurasi runtime Grok

config.toml dibuat dari template bawaan saat boot pertama. Setelah itu, edit file secara langsung — variabel lingkungan hanya digunakan untuk pengaturan awal. Untuk mengembalikan ke default, hapus dan restart: rm /home/agent/.config/openab/config.toml

Untuk opsi konfigurasi OpenAB, lihat dokumentasi OpenAB. Untuk opsi konfigurasi Grok, lihat dokumentasi Grok Build.

Menonaktifkan

Kosongkan Discord Bot Token dan SLACK_BOT_TOKEN saat deploy. Layanan akan tidur tanpa crash.

Tautan