Skip to content

feat(chat): expose Kimi ACP config controls - #1261

Merged
arul28 merged 1 commit into
mainfrom
ade/provider-upgrade-kimi-2-0-0-26bfb4e7
Sep 19, 2026
Merged

arul28 merged 1 commit into
mainfrom
ade/provider-upgrade-kimi-2-0-0-26bfb4e7

Conversation

@arul28

@arul28 arul28 commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Problem

Kimi Code 2.0.0 documents ACP session configuration for mode, model, and thinking, but ADE marked Kimi session config absent and hid those controls.

Cause

The Kimi dialect was still modeled only from the captured 0.39.1 lifecycle fixture.

Change and boundary

Enable the existing standard session/set_config_option ACP behavior for Kimi and declare the three vendor-documented option IDs. Keep the existing pooled lifecycle, hidden usage meter, model launch mapping, and provider limitations unchanged. Update the ACP docs and contract tests.

Verification

Focused ACP and chat-runtime tests: 1,293 passed. Desktop typecheck passed. A live unauthenticated Kimi 0.39.1 handshake passed. Affected CI-shaped desktop shards 3/8, 4/8, and 8/8 passed (7,548 tests passed; 15 expected skips). Docs validation passed for 265 files.

Model/harness: GPT-5 Codex via ADE Work chat.


Devin Review


Note

Low Risk
Dialect and test/doc updates only; behavior aligns Kimi with existing Qwen session-config plumbing without changing auth, pooling, or usage handling.

Overview
Kimi ACP now advertises session/set_config_option for mode, model, and thinking, matching Kimi Code 2.0.0 docs. The dialect switches from absent session config to standardSetConfigOption, exports KIMI_CONFIG_OPTION_IDS, and keeps spawn argv, pooled session/close, and hidden usage unchanged.

Runtime: In yolo, Kimi is grouped with Qwen—permission posture goes through the agent via config options, so ADE does not client-side auto-approve permission prompts when sessionConfig is declared.

Tests & docs: Fixture and host tests assert Kimi forwards config RPCs; Kimi is removed from the “refuses config option” provider list. ACP provider spec and verification brief document 2.0.0 config controls and the 0.39.1 baseline.

Reviewed by Cursor Bugbot for commit bb964f4. Configure here.

Summary by CodeRabbit

  • New Features

    • Kimi now supports updating session configuration options for mode, model, and thinking settings.
    • Configuration changes are forwarded through the session, including in automatic-answer mode.
  • Tests

    • Added coverage confirming Kimi advertises and forwards the supported configuration options.
    • Updated compatibility checks for current Kimi ACP behavior.
  • Documentation

    • Refined compatibility and session lifecycle notes for Kimi integrations.

@vercel

vercel Bot commented Sep 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
ade Ignored Ignored Sep 19, 2026 12:04am UTC

@cursor

cursor Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_f54978b3-dfa3-455f-be56-fbb3bb6c4f7b)

@coderabbitai

coderabbitai Bot commented Sep 19, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: arul28/ADE/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 5cb045b1-3586-4a14-bd2c-b3622acc9779

📥 Commits

Reviewing files that changed from the base of the PR and between 9dbf3a0 and bb964f4.

⛔ Files ignored due to path filters (2)
  • docs/features/chat/acp-providers-spec.md is excluded by !docs/**
  • docs/features/chat/acp-verification-brief.md is excluded by !docs/**
📒 Files selected for processing (7)
  • apps/desktop/src/main/services/chat/acpHost/acpDialects/index.ts
  • apps/desktop/src/main/services/chat/acpHost/acpDialects/kimi.ts
  • apps/desktop/src/main/services/chat/acpHost/acpHost.fixtures.test.ts
  • apps/desktop/src/main/services/chat/acpHost/acpHost.test.ts
  • apps/desktop/src/main/services/chat/acpHost/acpHostTypes.ts
  • apps/desktop/src/main/services/chat/agentChatService.test.ts
  • apps/desktop/src/main/services/chat/agentChatService.ts

Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

Changes

Kimi ACP configuration

Layer / File(s) Summary
Dialect capability and exported option contract
apps/desktop/src/main/services/chat/acpHost/acpDialects/kimi.ts, apps/desktop/src/main/services/chat/acpHost/acpDialects/index.ts, apps/desktop/src/main/services/chat/acpHost/acpHostTypes.ts
Kimi now declares standard session configuration support and exports the option IDs mode, model, and thinking.
Configuration contract validation and supporting comments
apps/desktop/src/main/services/chat/acpHost/acpHost.fixtures.test.ts, apps/desktop/src/main/services/chat/acpHost/acpHost.test.ts, apps/desktop/src/main/services/chat/agentChatService.ts, apps/desktop/src/main/services/chat/agentChatService.test.ts
Tests verify Kimi configuration declarations and sessionSetConfigOption forwarding. Comments describe the updated Kimi ACP surface and usage state.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Suggested labels: desktop, docs

Merge Risk: ⚪ Minimal · up to bb964

The Kimi configuration flow is covered by contract tests and does not introduce a verified runtime regression.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 5 files. (2 skipped: 2 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: exposing Kimi ACP configuration controls for mode, model, and thinking.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 5 files. (2 skipped: 2 too large.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

2 flags not posted on this PR by your GitHub settings — view them in Devin Review. (Configure)

Devin Review

mcpInjection: capability(transportGatedMcpInjection),
imagePrompts: capability(inlineImagePrompt),
configOptionIds: [],
configOptionIds: KIMI_CONFIG_OPTION_IDS,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Kimi thinking control remains unavailable

KIMI_CONFIG_OPTION_IDS declares thinking, but no production consumer reads configOptionIds or acpConfigSnapshot. Kimi users cannot view or change the advertised thinking option.

Learn more

The dialect list is only metadata. Its current references are tests, while acpConfigSnapshot is produced and persisted by applyAcpConfigOptions but has no renderer consumer. Existing ACP permission and model controls use separate session fields, so they do not render the returned thinking option.

Example: Kimi 2.0 returns a thinking select with off, low, and high. ADE stores that option in the session snapshot, but the composer renders no matching selector, leaving the user unable to choose high.

Recommended fix: Thread acpConfigSnapshot into the composer control model and add an update contract for non-mode ACP options. Render only options returned by the live agent and permitted by dialect.configOptionIds, then route changes to the active session's setConfigOption behavior and persist the resulting snapshot.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

@arul28
arul28 merged commit 494af30 into main Sep 19, 2026
74 of 76 checks passed
@arul28
arul28 deleted the ade/provider-upgrade-kimi-2-0-0-26bfb4e7 branch September 19, 2026 21:51
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.

1 participant