cc-switch 使用统计异常:0/200K、重复计费与定价无法删除
Quick fix
升级到 v3.16.3 修复 token 为 0,v3.17.0 改进 Codex 派生会话去重,v3.19.0 修复内置定价删除后复发。
Symptom
Section titled “Symptom”claude desktop升级Claude 1.8555.2 (a476c3) 后,对话上下文无法统计,一直显示0/200K,导致无法触发自动压缩该集群包含多类使用统计问题。核心问题发生在 Claude Code / Claude Desktop 通过 CC Switch 本地代理接管,且上游供应商只支持 OpenAI Chat Completions 格式时:代理转发流式请求未携带 stream_options.include_usage,上游 SSE 末尾不返回 usage,代理转换回 Anthropic 格式后 token 用量被记为 0,导致上下文显示 0/200K 且无法自动压缩,此问题在 v3.16.3 修复。Codex 派生会话或路由切换期间可能出现父会话历史被重复计费、旧/新映射同时计费,v3.17.0 改进了 thread 去重与父会话基线处理,但 issue 中仍有用户反馈未完全解决。内置成本定价删除后重新出现,是因为启动时的内置定价补齐逻辑会重新插入被删除条目,v3.19.0 通过在 ~/.cc-switch/model-pricing.json 记录已删除模型 ID 修复。另有失败请求显示原始模型而非映射模型、Codex 侧边聊天请求未被统计、Hermes 功能异常等独立或未完全解决的现象。
若 Claude Code / Claude Desktop 上下文一直显示 0/200K 或 token usage 为 0,升级 CC Switch 到 v3.16.3 或更高版本。该版本会在转发给 openai_chat 格式上游的流式请求中注入 stream_options.include_usage: true,使上游返回 usage 数据。
若 Codex 派生会话重复计费,升级到 v3.17.0 或更高版本后重新测试新建的派生会话。该版本按日志文件自身的 thread 标识去重,并把父会话历史重放仅作为累计基线。
若内置模型成本定价删除后重新打开页面又出现,升级到 v3.19.0 或更高版本。删除内置定价时,应用会额外在本地记录已删除标记,启动补齐内置价格后再清除这些条目。
~/.cc-switch/model-pricing.json # v3.19.0 起,删除内置定价后该文件会记录已删除模型 ID 标记;无需手动编辑,升级后重新删除即可。若统计页面中失败请求的计费模型显示为原始模型而非路由映射模型,这是当前记录行为:失败请求没有完整响应,记录的是客户端请求的原始模型;成功请求才记录最终上游模型。若怀疑路由映射未生效,可通过成功请求或日志确认映射关系。
若 Codex 侧边聊天请求未被统计、Hermes 模块功能不可用,或 Codex 路由切换后仍出现重复统计,当前输入 issue 未提供已确认修复版本。请升级到最新版后复测,并保留 JSONL 文件名、会话关系、截图或日志以便提交新 issue。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 9 个真实 issue
- 为什么 Claude Code / Claude Desktop 上下文一直显示 0/200K?
- 当上游只支持 OpenAI 格式且代理未请求 stream_options.include_usage 时,流式响应缺少 usage 数据,CC Switch 转换后 token 全部记为 0。升级到 v3.16.3 及以上可修复。
- 手动压缩后能短暂显示上下文,为什么 LLM 回复后又变成 0/200K?
- 手动压缩可临时产生一次上下文统计,但后续请求如果仍缺少上游 usage 数据,代理会继续记录 0 token,因此显示会重新变为 0/200K。
- Codex 派生会话为什么会重复计费?
- 派生会话包含父会话历史,早期导入逻辑可能把父/祖先历史重复计入。v3.17.0 改为按 thread 标识去重,并把父会话历史仅作为累计基线;若新版本仍重复,需要提供 JSONL 文件名和会话关系继续排查。
- 删除内置模型定价后为什么重启又出现?
- 应用启动时会执行内置定价补齐逻辑,之前不知道某条内置价格已被用户删除,因此会重新插入。v3.19.0 会把主动删除的模型 ID 记录到 ~/.cc-switch/model-pricing.json,启动补齐后再清除。
- 失败请求的计费模型为什么显示转换前的模型?
- 失败请求没有完整响应,当前记录的是客户端请求的原始模型;成功请求才记录最终上游模型。这不代表路由映射没有生效。
- 统计里出现莫名其妙的 codex(session) 条目是 bug 吗?
- 在 #5639 中维护者回复称属于正常行为;如有其他需求可另行提出 PR 或 issue。
- Codex 侧边聊天请求为什么没有被统计?
- #4114 报告新会话可正常记录,但侧边聊天请求未被记录。该 issue 仍为 open/stale,输入中未给出已确认修复版本。
- Hermes 模块功能不能用怎么办?
- #5397 报告 Hermes 模块部分功能未跑通,且有用户称切换模型供应商后 /model 命令异常。该 issue 仍 open,输入中未提供已确认修复方案。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。