MoonshotAI / MoonshotAI/kimi-code
子智能体模型选择器:思考强度子菜单没有提示具体档位会写入 [secondary_model].default_effort 并钉死整个模型池
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,行为正常。
期望(任一)
- 在思考强度子菜单加提示文案,例如"具体档位将应用于整个子智能体模型池,并覆盖各模型条目自己的默认强度";或
- 选择器只把档位写到所选条目(如
[models."<alias>".overrides] default_effort),而不是段落级;或 - 两者同时存在时,让条目级
default_effort优先于段落级值。
复现
- 配置
[secondary_model.models]两个不同default_effort的条目(如一个 high、一个 max)。 - 选择器中任选模型 + 具体档位(如 High)。
- 在 max 条目上派生 subagent → 实际绑定为 high。
附注:选择器还会同时写入一个遗留的 model = 键(无害,源码中作为 v1 fallback 保留)。
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
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