DeepSeek 使用统计费用/缓存命中率错误 - cc-switch
Quick fix
升级到 v3.16.3 及以上,修复 chat→message 转换路径中重复计入 input、流式无 usage 与模型计费归属错误。
Symptom
Section titled “Symptom”使用统计中的缓存命中率显示为47.8%;真实消耗 为输入374.2 万+Output 1.9 万+命中343.0 万=719.16 万该问题涉及 cc-switch 在代理转发 DeepSeek 等模型时的多个统计缺陷:
1. **chat→message 协议转换时 input tokens 重复计入**:当使用 opencode go 等中间层将 chat 协议转为 message 协议时,实际模型名与 input tokens 被重复计入,导致真实消耗虚高、缓存命中率被稀释。此问题与 DeepSeek 官方 message 协议无关,仅影响经过 chat→message 转换的路径。 2. **Claude Code 经代理转发到 OpenAI 兼容上游时流式响应不带 usage**:代理未注入 `stream_options.include_usage`,导致 Claude Code 无统计数据而 Codex 有统计。 3. **Codex Session 模型归属错误导致跳费**:用户实际使用 deepseek-v4-flash,但 Codex (Session) 显示为 gpt5.5 并按 gpt5.5 价格扣费,费用计入 deepseek 账户。
v3.16.2 曾尝试修复 message_delta 中 input_tokens 膨胀问题,但未覆盖 chat→message 转换路径的重复计入;v3.16.3 通过 #2774 修复了格式转换路径的用量统计,v3.16.4 补充了 models.dev 定价导入。
将 cc-switch 升级到 v3.16.3 或更新版本(推荐 v3.16.4+,含 models.dev 定价导入)。
若使用 chat→message 协议转换(如 opencode go),确认升级后 DeepSeek-V4 的 input tokens 不再重复计入。若仍复现,检查是否关联 #2773 所述场景并反馈。
若 Claude Code 经 NVIDIA NIM 等 OpenAI 兼容上游仍无统计,确认已升级至 v3.16.3+,代理会自动注入 stream_options.include_usage。
若 Codex (Session) 显示错误模型(如 gpt5.5)并按错误价格扣费,升级后观察统计是否恢复正常;如仍存在,提供复现步骤重新反馈。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 4 个真实 issue
- 升级到 v3.16.2 后 DeepSeek 统计仍然不对,为什么?
- v3.16.2 修复的是非标准 message 协议中 delta tokens 膨胀问题,不适用于 chat→message 转换路径的 input 重复计入。需升级到 v3.16.3+ 才能覆盖该场景。
- 为什么 Claude Code 没有统计,但 Codex 有?
- v3.16.3 之前,代理转发到 OpenAI 兼容上游(如 NVIDIA NIM)时未在流式响应中注入 stream_options.include_usage,Claude Code 因此拿不到 usage。v3.16.3 已修复。
- Codex (Session) 显示 gpt5.5 并扣 DeepSeek 的钱,怎么回事?
- 这是模型归属与计费映射错误,实际请求走的是 deepseek-v4-flash 但统计误标为 gpt5.5 并按其价格计费。升级后若仍存在需提供复现信息反馈。
- 使用 DeepSeek 官方 message 协议会有这个问题吗?
- 不会。该重复计入问题仅出现在 chat→message 协议转换路径(如 opencode go),DeepSeek 官方 message 协议本身不受影响。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。