MoonshotAI / MoonshotAI/kimi-code

[feature request] Global support_efforts inheritance in [thinking] table

Open
#1,923 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

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_efforts is set -> use it (per-model override)
  • If [models."<alias>"].support_efforts is 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

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.