Skip to content

[Bug] 订阅模型设置的上下文长度每次启动/登录后被覆盖回 1M(2.4.1,Windows) #4704

Open

Description

@mayii2001

环境

  • Kimi Code CLI 2.4.1(Windows 独立安装版,~/.kimi-code/bin/kimi.exe)
  • 登录方式:Kimi Code 订阅账号(managed:kimi-code OAuth)
  • 配置文件:~/.kimi-code/config.toml

现象

把订阅模型的上下文长度设置为 400k 后,每次启动 CLI(或重新登录后),设置又被改回上游默认的 1048576(1M)。用户设置无法保持。

影响所有 [models."kimi-code/*"] 订阅模型(k3、k3.1-pro、kimi-for-coding 等)。

期望:用户设置的上下文(写在模型条目或 [models."kimi-code/xxx".overrides] 里)在重启 / 登录 / 模型目录刷新后保持不变。

实际:启动或登录后回到上游目录里的 1M。

复现步骤

  1. 登录 Kimi Code 订阅账号,确认 config.toml 里有 [models."kimi-code/k3"] 等订阅模型。
  2. 把该模型的上下文设置为 400k(写入 max_context_size = 400000,或 [models."kimi-code/k3".overrides] 下 max_context_size = 400000)。
  3. 退出并重新启动 kimi(或触发一次登录 / OAuth 令牌刷新)。
  4. 查看 config.toml:400k 不见了,变回 max_context_size = 1048576。

证据

config.toml 的自动备份记录了覆盖过程。

2026-10-05 的备份里仍有用户设置:

[models."kimi-code/kimi-for-coding"]
provider = "managed:kimi-code"
model = "kimi-for-coding"
max_context_size = 1048576
...

[models."kimi-code/kimi-for-coding".overrides]
max_context_size = 286720

而 2026-10-12 22:59:18 生成的备份里,这个 .overrides 段已经消失。同一秒的日志正好出现订阅账号的 OAuth 检查:

2026-10-12T14:59:18.811Z INFO  oauth status: enter  provider=managed:kimi-code
2026-10-12T14:59:18.811Z INFO  oauth status: got token  provider=managed:kimi-code hasToken=true

当前配置里,非订阅 provider 的模型大多保留了用户设置,例如:

[models."Kimi For Coding/k3".overrides]
max_context_size = 400000

但所有 [models."kimi-code/*"] 订阅模型都没有任何 overrides。看起来只有订阅模型在登录 / 启动时的模型目录刷新中被重写。

可能相关的代码路径

  • packages/oauth/src/managed-kimi-code.ts — applyManagedKimiCodeConfig():登录/刷新时按上游模型表重写,并整体 replace(MODELS_SECTION, ...)
  • packages/agent-core-v2/src/app/auth/authService.ts — doRefreshOAuthProviderModels():启动/登录后的订阅模型刷新
  • packages/oauth/src/model-alias-merge.ts — MANAGED_KIMI_MODEL_FIELDS 把 maxContextSize 当作上游字段覆盖

如果 max_context_size 确实属于"上游字段",也希望给订阅模型提供一个不会被刷新的用户覆盖方式(例如保留 / 尊重 .overrides),否则用户无法把 1M 窗口降到 400k 来控制成本或规避网关限制。

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