MoonshotAI / MoonshotAI/kimi-code

feat(acp): expose graded reasoning-effort over session/set_config_option

Open
#1,486 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
7.5k
Forks
1.2k
Avg merge
11h 53m
Merged PRs (30d)
350

Description

What feature would you like to see?

Expose graded reasoning-effort over the ACP session/set_config_option method

The ACP adapter exposes the thinking config option as a 2-entry boolean (on/off). A client that sends a graded value (low/medium/high/xhigh/max) over session/set_config_option has it collapsed to a boolean, and any non-on string reads as off. Yet the core already supports setting a graded effort live, mid-session, with no restart — the REST server and web UI both do exactly this (see #1344 for the web segmented control). The capability exists one layer below the adapter (resolveThinkingEffort, and the setThinking RPC that already accepts any effort string); the ACP adapter is the only surface that throws it away.

Ask: let an ACP client set and discover a graded reasoning effort live, matching the REST/web surface — so an editor like Zed can offer a reasoning-effort slider instead of a restart hack.

Suggested shape (backward compatible):

  1. Route the raw thinking value to the graded setter — off disables, on = model default, any level the model declares in support_efforts is applied live; keep on/off working for existing clients (an unadvertised value clamps to off, preserving the current footgun-guard).
  2. Advertise the model's ordered support_efforts (plus off, or just the levels for always_thinking models) as the config-option options, updating on model change — clients that only understand on/off still work.
Additional information

Builds directly on #1132 (thinking-config overhaul that made ThinkingEffort an open, model-driven string and centralized the always_thinking clamp — its own description flags the ACP adapter as a residual effort-collapse site) and #1344 (the analogous graded-effort UX shipped for the web client). This is the natural third client after TUI (#194) and web. No open or closed issue/PR currently asks for it. Happy to open a PR once maintainers greenlight — per the feature-request template I'm filing the issue first.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the ACP adapter's session/set_config_option handling and trace the existing resolveThinkingEffort and setThinking paths. Compare the REST and web behavior, then follow how support_efforts and always_thinking determine the advertised options. Done means ACP can set and discover graded effort live while retaining compatible on/off behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.