版本: 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 保留)。
版本: 2.0.0(macOS arm64;静默钉死行为最早在 0.43.0 上观察到,2.0 的选择器 UI 未变)
问题
设置 → 子智能体模型 → 思考强度 子菜单提供
模型默认 / Low / High / Max,但没有任何文字说明选择具体档位的后果。实际行为是:选一个具体档位(如 High)会向config.toml写入一个段落级 pin:按照文档的解析顺序,
[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)。附注:选择器还会同时写入一个遗留的
model =键(无害,源码中作为 v1 fallback 保留)。