跳转到内容

unexpected status 401 Unauthorized:Codex 使用 Kimi

Quick fix

在 Codex config.toml 中把 AUTO COMPACT 阈值调到低于 Kimi 256K 上限,并核对模型映射、减少不必要的 MCP。

报错原文
unexpected status 401 Unauthorized: CC Switch local proxy failed while handling Codex endpoint /responses. Provider: Kimi; model: kimi-k2.7-code; upstream_status: HTTP 401; cause: k3-256k supports only 256K context., url: http://127.0.0.1:15721/v1/responses

Kimi 的 k3-256k 只允许 256K 上下文,而 Codex 针对默认 272K 上下文的自动压缩阈值约为 258K。请求可能在 Codex 触发自动压缩前就已经超过 Kimi 的输入上限,因此上游先返回 HTTP 401,压缩也随之失败。

另一种变体是在 Codex UI 仍显示剩余 23% 或 28% 时发生:UI 数字可能没有完整计入 system/developer prompt、工具定义、MCP schema、reasoning 字段或历史重建内容;模型别名也可能被 Kimi 判定为 1M context 档。两个 issue 没有给出已验证成功的 AUTO COMPACT 字段名和具体数值。

  1. 在 Codex config.toml 中调整 AUTO COMPACT 相关字段,让压缩阈值明显低于 Kimi k3-256k 的 256K 输入上限;issue 未提供可确认的字段名和具体值。

  2. 新建空会话并使用同一模型测试;如果空会话正常而长会话报错,可判断实际请求体、工具 schema 或历史重建触发了上游限制。

  3. 临时关闭不必要的 MCP 工具,减少随请求发送的工具定义和 schema。

  4. 检查 CC Switch 代理日志中的 model 字段和上游返回体,确认最终模型名是普通 k3 或 k3-coding 的 256K 档,而不是会被识别为 1M context 的别名。

ToolCodex
Version受影响版本:3.18.0
PlatformsWindows
为什么 Codex 显示上下文只使用了 23% 或仍剩 28%,Kimi 却提示超过 256K?
Codex UI 展示的可见上下文估算可能没有完整包含 system/developer prompt、工具定义、MCP schema、reasoning 字段和历史重建内容,因此上游收到的实际请求可能更大;模型别名也可能被识别为 1M context 档。
CC Switch 收到 /responses/compact 后会自己调用模型压缩上下文吗?
该 issue 报告称 CC Switch 将 /responses/compact 内容发送到 /chat/completions,而后者没有 compact 功能;当输入已超过 Kimi 256K 上限时,上游会先报错。现有讨论建议通过 Codex 的 AUTO COMPACT 相关字段提前触发压缩。
减少 MCP 后仍然复现怎么办?
检查 CC Switch 代理日志里的实际 model 字段及上游返回体,确认模型映射没有进入 1M context 档;issue #5865 已被标记 completed,并说明后续由另一个 per-model context window 与 auto-compact sync 事项统一跟踪。

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