MoonshotAI / MoonshotAI/kimi-code

子智能体模型选择器:思考强度子菜单没有提示具体档位会写入 [secondary_model].default_effort 并钉死整个模型池

Open
#3,880 0 comments 0 reactions 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

版本: 2.0.0(macOS arm64;静默钉死行为最早在 0.43.0 上观察到,2.0 的选择器 UI 未变)

问题

设置 → 子智能体模型 → 思考强度 子菜单提供 模型默认 / Low / High / Max,但没有任何文字说明选择具体档位的后果。实际行为是:选一个具体档位(如 High)会向 config.toml 写入一个段落级 pin:

[secondary_model]
default_model = "opencode-go/deepseek-v4.1-flash"
model = "opencode-go/deepseek-v4.1-flash"
default_effort = "high"   # <-- 选择器静默写入

按照文档的解析顺序,[secondary_model].default_effort 优先于每个 [models] 条目自己的 default_effort。我的池里 cliproxyapi/devin/swe-2 条目配置的是 default_effort = "max",但在选择器写入 pin 之后,该条目派生的 subagent 全部绑定为 high(会话 wire 日志 profile.bind.thinkingEffort 实测证实)。选择器和写入结果都没有任何提示告诉用户"这个档位作用于整个模型池、会覆盖各条目默认值";唯一可察觉的症状是"subagent 变笨了"。

选择「模型默认」则不会写入 default_effort,行为正常。

期望(任一)

  1. 在思考强度子菜单加提示文案,例如"具体档位将应用于整个子智能体模型池,并覆盖各模型条目自己的默认强度";或
  2. 选择器只把档位写到所选条目(如 [models."<alias>".overrides] default_effort),而不是段落级;或
  3. 两者同时存在时,让条目级 default_effort 优先于段落级值。

复现

  1. 配置 [secondary_model.models] 两个不同 default_effort 的条目(如一个 high、一个 max)。
  2. 选择器中任选模型 + 具体档位(如 High)。
  3. 在 max 条目上派生 subagent → 实际绑定为 high。

附注:选择器还会同时写入一个遗留的 model = 键(无害,源码中作为 v1 fallback 保留)。

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 settings → subagent model → thinking-effort selector and inspect how it writes config.toml, especially [secondary_model].default_effort and model. Reproduce the issue with two model entries using different default_effort values, then verify that the chosen effort no longer unexpectedly overrides entry-level defaults or that the selector clearly explains the pool-wide behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.