Kiro CLI is the default agent backend for OpenAB. It supports ACP natively — no adapter needed.
The default Dockerfile bundles both openab and kiro-cli:
docker build -t openab:latest .helm repo add openab https://openabdev.github.io/openab
helm repo update
helm install openab openab/openab \
--set agents.kiro.discord.botToken="$DISCORD_BOT_TOKEN" \
--set-string 'agents.kiro.discord.allowedChannels[0]=YOUR_CHANNEL_ID'[agent]
command = "kiro-cli"
args = ["acp", "--trust-all-tools"]
working_dir = "/home/agent"Kiro CLI requires a one-time OAuth login. The PVC persists tokens across pod restarts.
kubectl exec -it deployment/openab-kiro -- kiro-cli login --use-device-flowFollow the device code flow in your browser, then restart the pod:
kubectl rollout restart deployment/openab-kiro| Path | Contents |
|---|---|
~/.kiro/ |
Settings, skills, sessions |
~/.local/share/kiro-cli/ |
OAuth tokens (data.sqlite3 → auth_kv table), conversation history |
| Command | Purpose | Status |
|---|---|---|
/models |
Switch AI model | ✅ Implemented |
/agents |
Switch agent mode | ✅ Implemented |
/cancel |
Cancel current generation | ✅ Implemented |
Kiro CLI returns available models via ACP configOptions (category: "model") on session creation. User types /models in a thread → select menu appears → pick a model → OpenAB sends session/set_config_option (falls back to /model <value> prompt if not supported).
Same mechanism as /models but for the agent category. Kiro CLI exposes modes like kiro_default and kiro_planner via configOptions.
Sends a session/cancel JSON-RPC notification to abort in-flight LLM requests and tool calls. Works immediately — no need to wait for the current response to finish.
Note: All slash commands only work in threads where a conversation is already active. If no session exists, they will prompt the user to start one first.
See docs/slash-commands.md for full details.
All built-in kiro-cli slash commands can be passed directly after an @mention:
@MyBot /compact
@MyBot /clear
@MyBot /model claude-sonnet-4
These are forwarded as-is to the kiro-cli ACP session as a prompt. Any command that kiro-cli supports in its interactive mode works here.