MoonshotAI / MoonshotAI/kimi-code
[feature request] Global support_efforts inheritance in [thinking] table
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 1.2k
- Avg merge
- 11h 53m
- Merged PRs (30d)
- 350
Description
Summary
Currently, support_efforts can only be configured per-model under each [models."<alias>"] table. When multiple models all support the same five effort levels (low, medium, high, xhigh, max), the same array has to be copied into every model block, creating unnecessary repetition and maintenance overhead.
Proposed change
Add a global support_efforts field to the [thinking] table that serves as a fallback when a model does not define its own support_efforts. This mirrors how [thinking].effort already provides a global default for default_effort.
Desired behavior
- If
[models."<alias>"].support_effortsis set -> use it (per-model override) - If
[models."<alias>"].support_effortsis absent -> fall back to[thinking].support_efforts - If neither is set -> preserve current default behavior
Example
[thinking]
enabled = true
effort = "high"
support_efforts = ["low", "medium", "high", "xhigh", "max"]
[models."deepseek/deepseek-v4-flash"]
default_effort = "high"
[models."some-other-model"]
support_efforts = ["low", "medium", "high"]
Benefits
- Eliminates repetitive boilerplate when managing many models
- Makes it effortless to give all models the same set of effort levels
- Still allows per-model customization when needed
- Consistent with the existing effort / default_effort hierarchy
Environment
- kimi-code version: 0.27.0
- Platform: Windows / win32-x64
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the configuration parsing and model-resolution entry points for the [thinking] table and per-model support_efforts. First trace how [thinking].effort and model-level support_efforts are loaded. Done means a global value is used only when a model override is absent, existing defaults remain unchanged, and the behavior is covered by the relevant configuration tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100