Open Agent Broker — harness Rust yang ringan untuk menjembatani Discord ke CLI coding yang kompatibel dengan ACP melalui stdio JSON-RPC. Template ini menggunakan OpenCode sebagai backend, mendukung 75+ penyedia LLM. Sumber: https://github.com/openabdev/openab

OpenAB adalah harness Rust yang ringan untuk menjembatani Discord ke CLI coding yang kompatibel dengan Agent Client Protocol melalui stdio JSON-RPC.
Template ini menggunakan OpenCode sebagai backend, mendukung 75+ penyedia LLM.
beta dan otomatis ikut rilis beta OpenAB terbaru. Untuk pin ke versi tertentu, ubah tag di Zeabur Dashboard → Layanan → Pengaturan./home/node di-mount sebagai volume persisten.bot → undang botDi Zeabur Dashboard → Layanan → Variabel, atur minimal satu variabel:
| Variabel | Penyedia |
|---|---|
OPENCODE_API_KEY | OpenCode native (dapatkan di 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+ model) |
Restart layanan setelah mengatur variabel.
Login interaktif (alternatif):
runuser -u node -- opencode auth login
Menyambungkan API key ke agent: openab menjalankan agent dengan
env_clear(), jadi jalur env var memerlukan allowlist. Setelah boot pertama, edit/home/node/.config/openab/config.tomldan tambahkan di bawah[agent]:[agent] inherit_env = ["OPENCODE_API_KEY", "ANTHROPIC_API_KEY", "OPENAI_API_KEY", "GOOGLE_GENERATIVE_AI_API_KEY", "GROQ_API_KEY", "MISTRAL_API_KEY", "DEEPSEEK_API_KEY", "OPENROUTER_API_KEY"]
opencode auth logintidak perlu diedit — kredensial ada di~/.opencode/.
Untuk Telegram, deploy template OpenAB Telegram dan ganti image tag-nya ke beta-opencode dengan OPENAB_AGENT_COMMAND yang sesuai. Platform lain diaktifkan lewat variabel lingkungan pada unified mode (LINE_CHANNEL_SECRET, FEISHU_APP_ID, GOOGLE_CHAT_ENABLED=true, TEAMS_APP_ID, WECOM_CORP_ID) — lihat dokumentasi OpenAB. Platform webhook memerlukan domain HTTPS publik pada layanan (port 8080); Feishu terhubung keluar via WebSocket dan tidak butuh domain.
| File | Keterangan |
|---|---|
/home/node/.config/openab/config.toml | Konfigurasi OpenAB (sessions, reactions, STT, dll.) |
/home/node/opencode.json | Konfigurasi model/penyedia OpenCode |
/home/node/.opencode/ | Kredensial dan status OpenCode |
config.toml dibuat dari template bawaan saat pertama kali boot. Setelah itu, edit file langsung. Untuk mereset ke default: rm /home/node/.config/openab/config.toml
Secara default, openab mengabaikan pesan dari bot dan webhook lain. Untuk mengizinkan pesan yang dipicu webhook (misalnya pengujian otomatis atau pipeline CI), tambahkan berikut ke config.toml:
[discord]
allow_bot_messages = "mentions"
Dengan pengaturan ini, openab merespons pesan bot atau webhook yang @mention-nya. Untuk membatasi ke webhook tertentu, tambahkan juga:
trusted_bot_ids = ["YOUR_WEBHOOK_USER_ID"]
ID pengguna webhook adalah ID numerik di URL webhook: https://discord.com/api/webhooks/<ID>/...
Kosongkan Discord Bot Token saat deploy. Layanan akan masuk mode sleep tanpa crash.