DISCOVER THE FUTURE OF AI AGENTS

OpenAB

Added May 3, 2026
Agent & Tooling
Open Source
Workflow AutomationRustDockerAI AgentsAgent & ToolingDeveloper Tools & CodingProtocol, API & Integration

A lightweight, cloud-native ACP bridge connecting chat platforms like Discord and Slack to AI coding CLIs such as Kiro CLI, Claude Code, and Codex, enabling chat-based coding for team collaboration.

OpenAB (Open Agent Broker) is a lightweight, secure, cloud-native ACP (Agent Client Protocol) bridge written in Rust (99.1%). It connects chat platforms like Discord and Slack to any ACP-compatible coding CLI (such as Kiro CLI, Claude Code, Codex, Gemini, OpenCode, Copilot CLI, Cursor, etc.), enabling team members to interact with AI coding assistants directly via @bot mentions in IM channels.

Core Architecture#

The core communication is built on the ACP protocol (stdio-based JSON-RPC), where OpenAB serves as a middleware layer connecting upstream chat platform adapters to downstream CLI processes managed through a Session Pool. The adapter pattern (ChatAdapter trait + AdapterRouter) enables platform-agnostic message routing.

┌──────────────┐  Gateway WS   ┌──────────────┐  ACP stdio    ┌──────────────┐
│   Discord    │◄─────────────►│              │──────────────►│  coding CLI  │
│   User       │               │    openab    │◄── JSON-RPC ──│  (acp mode)  │
├──────────────┤  Socket Mode  │    (Rust)    │               └──────────────┘
│   Slack      │◄─────────────►│              │
│   User       │               └──────┬───────┘
├──────────────┤                      │ WebSocket (outbound)
│   Telegram   │◄──webhook──┐         │
│   LINE       │◄──webhook──┤  ┌──────▼───────┐
│  Feishu/Lark │◄───WS──────┤  │Custom Gateway│
│ Google Chat  │◄──webhook──┘  │(standalone)  │
└──────────────┘              └──────────────┘

Chat Platform Adapters#

  • Discord native adapter: Based on serenity, supports @mention trigger, threaded conversations, Edit-streaming (updates every 1.5s showing token streaming), Emoji status reactions (👀→🤔→🔥/👨‍💻/⚡→👍 + random emojis with debounce and stall detection), voice message STT (Groq/OpenAI/local Whisper)
  • Slack native adapter: Socket Mode connection, supports @mention trigger and threaded conversations
  • Custom Gateway extension: Standalone component connecting to Telegram, LINE, Feishu/Lark, Google Chat via Webhook/WebSocket
  • Multi-platform: Single instance can run Discord + Slack adapters simultaneously

Agent Backend Management#

Supports 7 Agent backends switchable via config: Kiro CLI (default), Claude Code, Codex, Gemini, OpenCode, Copilot CLI (⚠️ stability uncertain), Cursor. Multi-agent mode allows running different backends simultaneously.

Each chat thread maps to an independent CLI process session. The Session Pool manages connections by thread key with automatic lifecycle management (configurable max_sessions and session_ttl_hours).

Configuration & Deployment#

Configuration supports TOML format with ${ENV_VAR} expansion and remote URL loading (--config https://...). Channel and user-level access control via whitelist mechanism.

Deployment provides Dockerfile, Kubernetes manifests, and Helm chart (helm repo add openab https://openabdev.github.io/openab) with PVC for credential persistence, suitable for team-level long-running infrastructure. Local development via cargo run.

Core Source Structure#

PathResponsibility
src/main.rsMulti-adapter startup, cleanup, shutdown
src/adapter.rsChatAdapter trait, AdapterRouter
src/config.rsTOML config parsing + ${ENV_VAR} expansion
src/discord.rsDiscord adapter (serenity-based)
src/slack.rsSlack adapter (Socket Mode)
src/media.rsImage compression + STT download
src/acp/protocol.rsJSON-RPC types + ACP event classification
src/acp/connection.rsCLI process spawning + stdio JSON-RPC communication
src/acp/pool.rsSession pool management

Unconfirmed Information#

  • Current version is v0.8.3-beta.2, still in beta; breaking changes risk for API/config format is uncertain
  • Custom Gateway deployment details not fully documented in README
  • Voice message STT configuration details reference docs/stt.md but are not expanded in README
  • No benchmark data available for Session Pool concurrency limits, memory usage, or latency

Related Projects

View All

STAY UPDATED

Get the latest AI tools and trends delivered straight to your inbox. No spam, just intelligence.