跳转到内容

truncation_policy.limit 硬编码 10000 导致 Codex 上下文受限 - CC Switch

Quick fix

手动将 cc-switch-model-catalog.json 中 truncation_policy.limit 改为模型实际上下文长度即可临时修复。

报错原文
truncation_policy.limit 仍是 10000

根源在于 cc-switch 内部模板文件 src-tauri/src/resources/codex_native_responses_template.json 第 24-27 行硬编码了 truncation_policy.limit 为 10000。无论用户在 UI 职务角色设定中配置什么上下文长度,生成的 cc-switch-model-catalog.json 中该值始终被重置为 10000。Codex 根据此文件决定每次请求发送多少 tokens 给模型,10000 tokens 对现代 LLM 极度不足,导致对话几轮后被截断。PR #5534 已将 truncation_policy.limit 改为跟随 context_window 动态生成,但截至 v3.16.5 该修复尚未合并,问题仍然存在。

  1. 每次在 CC Switch 中修改任何设定后,手动编辑 cc-switch-model-catalog.json,将 truncation_policy.limit 从 10000 改为模型实际支持的上下文长度(例如 1000000 对应 1M 上下文)。

    cc-switch-model-catalog.json
    "truncation_policy": {
    "mode": "bytes",
    "limit": 10000
    "limit": 1000000
    }
ToolCodex
Version3.16.4 - 3.16.5(受影响版本,尚未修复)
PlatformsWindows
为什么我在 CC Switch UI 里设置了 1M 上下文,生成的配置文件里 limit 还是 10000?
因为 codex_native_responses_template.json 中 truncation_policy.limit 是硬编码的 10000,目前不会跟随 UI 设置的 context_window 动态变化。PR #5534 已提供修复,等待合并。
v3.16.5 修复了这个问题吗?
没有。用户在 v3.16.5 上测试确认问题仍然存在。cc-switch-model-catalog.json 正确包含了 max_context_window: 1000000,但 truncation_policy.limit 仍被硬编码为 10000。
每次 CC Switch 覆盖设置后都要手动改一次吗?
是的,这是目前的临时解法。只要在 CC Switch 中修改任何设定,cc-switch-model-catalog.json 就会被重新覆盖回 limit: 10000,需要再次手动修改。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。