Skip to content

web: 设置页「子智能体模型」仍使用 v1 配置语义,与 [secondary_model] 模型池不互通(显示错误 + 静默死写入) #3511

Description

@Pulck

你运行的 Kimi Code 版本是?

0.40.1

你使用的是哪个开放平台/订阅?

Kimi 官方订阅(通过 /login 登录的 Kimi 账号)

你使用的是哪个模型?

k3(与模型无关,配置层问题)

你的电脑平台是?

Darwin 25.6.0 arm64(macOS 26.6.2,Apple Silicon)

你遇到了什么问题?

web 设置页的"子智能体模型与思考强度"仍是 v1 单模型语义,与 0.40 转正的模型池([secondary_model].default_model + [secondary_model.models])不互通。在手写池配置下产生两个实际缺陷:

  1. 显示错误:该设置只读取 [secondary_model].model(v1 遗留键)作为当前值。用户通过 default_model 或 TUI /secondary-model 配置了子代理默认模型后,页面仍显示"未设置(跟随主模型)"——与运行时实际生效行为不符(实际子代理默认走 default_model 指定的模型,并不跟随主模型)。

  2. 死写入:在该页面选择模型会向 config.toml 写入 [secondary_model].model 键;但运行时解析优先级为 models 池 > default_model > model(见 packages/agent-core-v2/src/session/subagent/configSection.tsresolveSubagentModelPool)。池存在时写入的 model 键被静默忽略,schema 与 assertValidSubagentModelConfig 均不报错,用户无任何途径发现配置未生效。

另外两点语义与界面文案不符,建议一并澄清:

  • 思考强度选"模型默认"时,子代理用的是该模型在 [models.*.overrides] 中声明的 default_effort(再经全局 [thinking] 回落),并非跟随主模型当前档位;
  • 该页面写入的 default_effort所有池选取的全局强制档位resolveSubagentBinding 对任何池选取都返回 section.defaultEffort,且 resolveSubagentThinking 中显式值优先级最高),会覆盖池内各条目自己声明的 default_effort——界面上看不出这一全局生效范围。

复现步骤?

  1. config.toml 中配置模型池:
[secondary_model]
default_model = "kimi-code/k3-256k"

[secondary_model.models]
"kimi-code/k3-256k" = "默认"
"kimi-code/kimi-for-coding-highspeed" = "快速任务"
  1. 打开 web 设置页 → Agent → 子智能体模型
  2. 页面显示"未设置(跟随主模型)"(与实际生效的 k3-256k 不符)
  3. 在页面中任选一个模型,检查 config.toml:写入了 model = "...",但运行时子代理仍走池的 default_model,该键被静默忽略

期望的行为是什么?

  • web 设置页读写 default_model(与 TUI /secondary-model 行为一致);
  • 检测到 [secondary_model.models] 池存在时,展示池的默认值,或提示该配置需通过配置文件管理;
  • 至少保证显示值与运行时实际生效值一致;对池存在时写入 model 键的操作给出提示或拒绝。

补充信息

关联:#2975(同一配置接缝,但其建议的修复方向相反——v2 运行时中 default_model/models 是正式键,model 仅为 v1 兼容兜底,正确方向应是 web 对齐到 default_model,详见该 issue 下评论)、#3261(池内 effort 回落链相关)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions