Skip to content

feat: add Codex and Claude Code support via ACP adapters#20

Merged
thepagent merged 5 commits intomainfrom
feat/codex-support
Apr 4, 2026
Merged

feat: add Codex and Claude Code support via ACP adapters#20
thepagent merged 5 commits intomainfrom
feat/codex-support

Conversation

@thepagent
Copy link
Copy Markdown
Collaborator

@thepagent thepagent commented Apr 4, 2026

Summary

Add Codex and Claude Code as pluggable agent backends alongside kiro-cli.

⚠️ Breaking Change: PVC mount

The PVC mount changed from individual subPaths to the entire home directory:

Before (0.1.8):

- mountPath: /home/agent/.kiro
  subPath: dot-kiro
- mountPath: /home/agent/.local/share/kiro-cli
  subPath: kiro-cli-data

After (0.1.9):

- mountPath: /home/agent

Migration for existing kiro-cli users: After upgrading, copy data from subPaths to the new layout:

kubectl exec deployment/agent-broker -- sh -c "
  cp -a /home/agent/dot-kiro/. /home/agent/.kiro/ 2>/dev/null
  mkdir -p /home/agent/.local/share/kiro-cli
  cp -a /home/agent/kiro-cli-data/. /home/agent/.local/share/kiro-cli/ 2>/dev/null
"
kubectl rollout restart deployment agent-broker

Or simply re-authenticate: kubectl exec -it deployment/agent-broker -- kiro-cli login --use-device-flow

Changes

Dockerfiles

  • Dockerfile.codex — node:22 + @zed-industries/codex-acp@0.9.5 + @openai/codex CLI
  • Dockerfile.claude — node:22 + @agentclientprotocol/claude-agent-acp@0.25.0 + @anthropic-ai/claude-code CLI

Helm chart (0.1.9)

  • PVC mount simplified — persist entire /home/agent instead of individual subPaths. Ensures auth tokens for any CLI backend survive pod restarts.
  • Dynamic NOTES.txt — shows backend-specific auth instructions based on agent.command value (kiro-cli, codex, claude)

CI

  • Build workflow now produces 3 multi-arch images via matrix:
    • ghcr.io/thepagent/agent-broker (kiro-cli, default)
    • ghcr.io/thepagent/agent-broker-codex
    • ghcr.io/thepagent/agent-broker-claude

Usage

# Codex
image:
  repository: ghcr.io/thepagent/agent-broker-codex
agent:
  command: codex-acp
# Auth: kubectl exec -it deploy/agent-broker -- codex login --device-auth

# Claude Code
image:
  repository: ghcr.io/thepagent/agent-broker-claude
agent:
  command: claude-agent-acp
# Auth: kubectl exec -it deploy/agent-broker -- claude setup-token
# Then: --set env.CLAUDE_CODE_OAUTH_TOKEN="<token>"

Tested

  • ✅ codex-acp ACP initialize locally and in k3s
  • ✅ claude-agent-acp ACP initialize locally and in k3s
  • ✅ Both backends responding to Discord messages end-to-end

Reference

Closes #14, closes #16

- Add Dockerfile.codex (node:22 + codex-acp + codex CLI for OAuth)
- Simplify PVC mount: persist entire /home/agent instead of subPaths
  This ensures auth tokens for any CLI backend (kiro, codex, etc.) survive restarts
- Bump chart to 0.1.9

Closes #14
- Add variant matrix to build both Dockerfile and Dockerfile.codex
- Produces ghcr.io/thepagent/agent-broker (kiro) and ghcr.io/thepagent/agent-broker-codex
- Trigger on Dockerfile.* changes
- Separate cache scopes per variant+platform
- Add Dockerfile.claude (node:22 + @agentclientprotocol/claude-agent-acp@0.25.0 + claude CLI)
- Add claude variant to CI build matrix
- Produces ghcr.io/thepagent/agent-broker-claude

Note: @zed-industries/claude-agent-acp is deprecated, using @agentclientprotocol/claude-agent-acp

Closes #16
Show kiro-cli, codex, or claude auth steps based on agent.command value.
@thepagent thepagent force-pushed the feat/codex-support branch from 3881bcf to 9ac4212 Compare April 4, 2026 11:16
@thepagent thepagent changed the title feat: add Codex support via codex-acp adapter feat: add Codex and Claude Code support via ACP adapters Apr 4, 2026
@thepagent thepagent merged commit 6677df2 into main Apr 4, 2026
henrieopenclaw added a commit to henrieopenclaw/agent-broker that referenced this pull request Apr 6, 2026
* feat: add Codex support via codex-acp adapter

- Add Dockerfile.codex (node:22 + codex-acp + codex CLI for OAuth)
- Simplify PVC mount: persist entire /home/agent instead of subPaths
  This ensures auth tokens for any CLI backend (kiro, codex, etc.) survive restarts
- Bump chart to 0.1.9

Closes openabdev#14

* ci: build codex image alongside kiro in CI

- Add variant matrix to build both Dockerfile and Dockerfile.codex
- Produces ghcr.io/thepagent/agent-broker (kiro) and ghcr.io/thepagent/agent-broker-codex
- Trigger on Dockerfile.* changes
- Separate cache scopes per variant+platform

* feat: add Claude Code support via claude-agent-acp adapter

- Add Dockerfile.claude (node:22 + @agentclientprotocol/claude-agent-acp@0.25.0 + claude CLI)
- Add claude variant to CI build matrix
- Produces ghcr.io/thepagent/agent-broker-claude

Note: @zed-industries/claude-agent-acp is deprecated, using @agentclientprotocol/claude-agent-acp

Closes openabdev#16

* docs: dynamic NOTES.txt auth instructions per backend

Show kiro-cli, codex, or claude auth steps based on agent.command value.

* chore: remove unused matrix field, add token expiry note

---------

Co-authored-by: thepagent <thepagent@users.noreply.github.com>
Reese-max pushed a commit to Reese-max/openab that referenced this pull request Apr 12, 2026
* feat: add Codex support via codex-acp adapter

- Add Dockerfile.codex (node:22 + codex-acp + codex CLI for OAuth)
- Simplify PVC mount: persist entire /home/agent instead of subPaths
  This ensures auth tokens for any CLI backend (kiro, codex, etc.) survive restarts
- Bump chart to 0.1.9

Closes openabdev#14

* ci: build codex image alongside kiro in CI

- Add variant matrix to build both Dockerfile and Dockerfile.codex
- Produces ghcr.io/thepagent/agent-broker (kiro) and ghcr.io/thepagent/agent-broker-codex
- Trigger on Dockerfile.* changes
- Separate cache scopes per variant+platform

* feat: add Claude Code support via claude-agent-acp adapter

- Add Dockerfile.claude (node:22 + @agentclientprotocol/claude-agent-acp@0.25.0 + claude CLI)
- Add claude variant to CI build matrix
- Produces ghcr.io/thepagent/agent-broker-claude

Note: @zed-industries/claude-agent-acp is deprecated, using @agentclientprotocol/claude-agent-acp

Closes openabdev#16

* docs: dynamic NOTES.txt auth instructions per backend

Show kiro-cli, codex, or claude auth steps based on agent.command value.

* chore: remove unused matrix field, add token expiry note

---------

Co-authored-by: thepagent <thepagent@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Claude Code support with separate Docker image Add Codex support with separate Docker image

2 participants