feat: add Kimi Code CLI backend#1429
Conversation
This comment has been minimized.
This comment has been minimized.
chaodu-agent
left a comment
There was a problem hiding this comment.
Important
CHANGES REQUESTED
Consolidated review: #1429 (comment)
GitHub event: COMMENT — self-review delivery only; this is not an approval.
|
Important CHANGES REQUESTED What This PR DoesThis PR adds Kimi Code CLI as a packaged ACP backend with standalone and unified Docker images, native How It Works
Findings
Finding Details🟡 F1: Keep standalone and unified Kimi images functionally alignedThe standalone runtime installs only 🟡 F2: Correct the OAuth ADR inventory
🟡 F3: Do not promise unsupported shell-environment credential injectionThe new paragraph directs operators to pass a provider key through the broker environment using Official references: Kimi providers and models and config overrides. 🟢 F4: Good coverage of the new backendThe PR correctly uses Kimi's native ACP command, pins the npm package, validates the installed version and command wiring in the unified smoke workflow, and registers the backend across the build matrices and documentation surfaces. Baseline Check
Addressing External Reviewer FeedbackNo external GitHub review comments or submitted reviews were present for this SHA when this round was prepared. The prior keyed review was submitted against the superseded SHA and is preserved as history; its findings are re-evaluated here against the requested commit. What's Good (🟢)
5️⃣ Three Reasons We Might Not Need This PR
|
chaodu-agent
left a comment
There was a problem hiding this comment.
Important
CHANGES REQUESTED â� ï¸� â�� The standalone image, OAuth inventory, and provider-credential guidance need correction.
Consolidated review: #1429 (comment)
GitHub event: COMMENT � self-review delivery only; this is not an approval.
- align standalone Kimi image packages with unified target (add bubblewrap, socat, git) - correct OAuth ADR agent variant inventory (16 variants, add devin) - fix Kimi credential guidance: config.toml only, no shell env fallback

Problem Statement
OpenAB supports a growing set of ACP-compatible coding agents, but Kimi Code CLI is not currently available as a packaged backend. Users cannot select Kimi Code through the standard OpenAB image, Helm examples, image build workflows, or backend documentation.
Issue: No existing issue is referenced; this PR implements the requested Kimi Code CLI backend addition.
At a Glance
Review Contract
Goal
Package Kimi Code CLI as a first-class OpenAB ACP backend with reproducible images, the native
kimi acpcommand, interactive/loginauthentication guidance, CI/build registration, Helm configuration examples, and user-facing documentation.Non-goals
This PR does not change OpenAB's broker protocol, ACP session handling, gateway behavior, or existing backend defaults. It does not add a new provider implementation to Kimi Code, automate account login, or merge the pull request.
Accepted Residual Risks
0.28.1and uses the documented Node 24 runtime floor; future Kimi releases may require a deliberate version and image update.kimiand enter/login, then persist/home/node/.kimi-codethrough the existing deployment storage mechanism.origin/mainbaseline: 697 of 698 library tests passed, withsecrets::tests::resolve_exec_nonzero_exitfailing independently of this PR; clippy reports four pre-existing warnings incron.rsanddiscord.rs; repository-widecargo fmt --checkalso reports pre-existing formatting differences. These are reported transparently and are not modified by this backend-only change.Acceptance Criteria
Dockerfile.kimiimage and theDockerfile.unifiedkimitarget.@moonshot-ai/kimi-code@0.28.1, exposekimi, and configureOPENAB_AGENT_COMMAND=kimi acpwithkimias the interactive auth helper.Follow-ups
Prior Art & Industry Research
Proposed Solution
@moonshot-ai/kimi-codeto0.28.1and use its nativekimi acpadapter.OPENAB_AGENT_AUTH_COMMAND=kimi, documenting that operators enter/logininteractively.Why this approach?
It follows OpenAB's existing per-backend image and workflow conventions while respecting Kimi Code's documented Node 24 requirement. Using Kimi's native ACP command avoids an additional adapter process and preserves the current broker architecture. Pinning the npm package makes image rebuilds reproducible, while the existing persistent home-volume model preserves Kimi credentials.
Alternatives Considered
kimi acpstdio boundary already matches OpenAB's existing architecture.Validation
git diff --check: passed.charts/openab/values.yaml: passed.macmini: 57 passed, 0 failed.cargo test --workspaceonmacmini: 697 passed, 1 unrelated pre-existing failure (secrets::tests::resolve_exec_nonzero_exit).cargo clippy --workspace --all-targets -- -D warnings: blocked by four unrelated pre-existing warnings incron.rsanddiscord.rs.cargo fmt --all -- --check: blocked by extensive pre-existing formatting differences onorigin/main; no unrelated formatting was changed./usr/local/bin/openab,/usr/local/bin/kimi,OPENAB_AGENT_COMMAND=kimi acp, and package version0.28.1.docker buildx bake --print kimi: passed and resolvedDockerfile.kimi.https://discord.com/channels/1491295327620169908/1491365150664560881/1528804085480951840