跳转到内容

CC Switch does not show the remaining quota - Codex

Quick fix

Codex 免费账户因官方 API 限制无法查询配额,暂无直接修复方案;Grok Build 用量漏记需修改源码改为流式解析。

报错原文
For Codex free accounts, CC Switch does not show the remaining quota or the refresh/reset time.

CC Switch 的用量统计与余额显示模块存在多个已知问题。对于 Codex 免费账户,由于官方 API 限制,CC Switch 无法获取并显示剩余额度与刷新时间(Issue #3651)。此外,社区还反馈了其他工具的用量问题:Claude 的输入计费在扣除缓存时可能存在逻辑差异,导致输入小于缓存时费用计算为 0(Issue #1191);Grok Build 的会话日志(updates.jsonl)超过 50 MiB 时,会触发 MAX_GROK_FILE_BYTES 限制导致整文件被跳过,造成用量永久漏记(Issue #6660)。

  1. 针对 Codex 免费账户配额显示问题,目前官方尚未提供修复方案,建议等待后续版本更新以获取更清晰的不可用提示。

  2. 针对 Grok Build 用量漏记问题,需修改源码移除 50 MiB 限制,并参考 Codex 的实现将整文件读取改为 BufReader 逐行流式解析。

    // src-tauri/src/services/session_usage_grokbuild.rs
    const MAX_GROK_FILE_BYTES: u64 = 50 * 1024 * 1024;
    if metadata.len() > MAX_GROK_FILE_BYTES {
    log::warn!("Grok session log too large ({} bytes), skipping: {}", ...);
    return Ok(SessionSyncResult::default());
    }
    let content = fs::read_to_string(file_path)?;
    let events = parse_grok_usage_events(&content);
    let file = fs::File::open(file_path)?;
    let reader = BufReader::new(file);
    for line_result in reader.lines() {
    // 逐行解析 turn_completed 事件
    }
ToolCodex / Grok Build / Claude
Version3.16.1 - 3.20.0 (受影响版本范围)
PlatformsWindowsmacOS
为什么只有 Grok Build 会出现用量漏记,而 Codex 不会?
Codex 的读取器是流式的且没有大小上限,而 Grok Build 存在 50 MiB 的 MAX_GROK_FILE_BYTES 限制,超过后会整文件跳过。
Claude 的输入计费为什么有时显示为 0?
当输入小于缓存时,CC Switch 在扣除缓存后计算输入费用可能存在逻辑差异,导致费用为 0,该问题已被纳入追踪。

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