news 2026/9/28 21:08:31

Claude Usage Tracker如何读取你的用量数据?claude.ai私有API与limits[]新格式完全剖析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Claude Usage Tracker如何读取你的用量数据?claude.ai私有API与limits[]新格式完全剖析

Claude Usage Tracker如何读取你的用量数据?claude.ai私有API与limits[]新格式完全剖析

【免费下载链接】Claude-Usage-TrackerNative macOS menu bar app for tracking Claude AI usage limits in real-time. Built with Swift/SwiftUI.项目地址: https://gitcode.com/gh_mirrors/cl/Claude-Usage-Tracker

Claude Usage Tracker 是一款原生 macOS 菜单栏用量监控工具,它能实时读取你的 Claude AI 使用额度(5 小时窗口、每周上限、各模型用量)。这篇文章带你完整剖析它读取用量数据的 3 条凭证通道,以及新版limits[]响应格式的设计原理,帮你彻底搞懂 Claude 用量追踪背后的数据链路。

一、凭证三级校验:应用如何拿到"钥匙"?

一切从凭证开始。Claude Usage Tracker 每次刷新前,都会按优先级挑选最佳鉴权方式(源码见 ClaudeAPIService.swift):

优先级凭证类型用途认证方式
1claude.ai 会话密钥(session key)读取用量 + 超额消费Cookie 认证
2已保存的 CLI OAuth Token读取用量Bearer Token +anthropic-beta头
3系统钥匙串中的 CLI 凭证读取用量Bearer Token

💡 注意:Console API 会话只用于计费数据,不会作为用量凭证的降级选项——这一细节在 KeychainService.swift 的密钥存取逻辑中有所体现。

会话密钥在保存前会经过 SessionKeyValidator.swift 校验,防止无效密钥入库。

二、主通道:claude.ai 私有 API 的用量端点

拥有有效会话密钥时,应用会向claude.ai/api(基础地址定义在 Constants.swift)发起三组并行请求:

  1. /organizations/{orgId}/usage— 核心用量数据(5 小时窗口、每周窗口、各模型用量)
  2. /organizations/{orgId}/overage_spend_limit— 超额消费限额
  3. /organizations/{orgId}/overage_credit_grant— 超额积分余额

请求携带sessionKeyCookie 时有一个关键细节:应用会同时附带登录窗口捕获的 Cloudflare 防护 Cookie(cf_clearance、__cf_bm等)。只带裸会话密钥的请求经常被风控拦截,返回"Just a moment..."挑战页。源码在 sessionCookieHeader 中处理了这一点,并专门区分"风控拦截"与"凭证过期"两种错误,避免误判。

三、备用通道:从限流响应头"免费"读取用量

当只有 CLI OAuth 凭证时,应用会向 Messages API 发送一次最小化请求(最便宜模型、1 个 token),从响应头中解析用量:

  • anthropic-ratelimit-unified-5h-utilization— 5 小时窗口使用率
  • anthropic-ratelimit-unified-7d-utilization— 每周窗口使用率
  • 对应的-reset头提供重置时间戳

巧妙的地方在于:429 限流响应同样携带这些响应头(见 parseUsageFromRateLimitHeaders),恰好在你最需要数据时(已达上限)也能正常读取。

四、limits[] 新格式完全剖析

发生了什么变化?

旧版 API 通过seven_day_opus、seven_day_sonnet等独立字段上报各模型用量,新版 API 将这些遗留字段置空,改为统一的limits[]数组(解析逻辑见 parseUsageResponse)。

limits[] 数据结构

数组中每个条目形如:

{ "kind": "weekly_scoped", "percent": 73, "resets_at": "2026-09-29T12:59:00Z", "scope": { "model": { "id": null, "display_name": "Fable" } } }

应用的三条匹配规则

  1. 只认kind == "weekly_scoped"的条目,其余跳过;
  2. 模型识别:优先匹配稳定的id,display_name仅作兜底(因为它可能随改名变化)。Fable 额外兼容别名mythos,Design 兼容omelette;
  3. 覆盖原则:limits[]是"唯一事实来源"——只要某模型在数组中出现,就覆盖遗留字段给出的值。

解析器还对percent/utilization做了鲁棒处理,无论服务端返回整数、浮点数还是带%的字符串都能正确归一化(见 parseUtilization)。

五、从 JSON 到菜单栏:完整数据流

凭证校验 → 拉取 /usage → parseUsageResponse 解析 limits[] → 构建 ClaudeUsage 模型 → 菜单栏图标 + 弹出层展示
  • 数据模型:所有字段(会话/周度百分比、重置时间、各模型用量、超额消费)统一封装在 ClaudeUsage.swift 中;
  • 定时刷新:UsageRefreshCoordinator.swift 按用户配置的间隔定时调度上述流程,实现"实时"监控;
  • 类型定义:响应结构、超额消费等类型的 Codable 定义在 ClaudeAPIService+Types.swift;
  • CLI 凭证同步:OAuth Token 的提取与过期判断由 ClaudeCodeSyncService.swift 负责。

六、核心文件速查

文件职责
ClaudeAPIService.swift凭证选择、请求构造、limits[] 解析
ClaudeAPIService+Types.swift响应类型定义
ClaudeUsage.swift用量数据模型
UsageRefreshCoordinator.swift定时刷新调度
SessionKeyValidator.swift会话密钥校验
README.md安装与功能总览

总结:Claude Usage Tracker 用"三级凭证降级 + 双数据通道 + limits[] 覆盖式解析"三层设计,保证了无论你用浏览器登录、Claude Code 还是钥匙串凭证,都能稳定拿到最新的用量数据——这正是菜单栏上每个百分比背后的完整故事。

【免费下载链接】Claude-Usage-TrackerNative macOS menu bar app for tracking Claude AI usage limits in real-time. Built with Swift/SwiftUI.项目地址: https://gitcode.com/gh_mirrors/cl/Claude-Usage-Tracker

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 21:07:14

云智变AI:从大纲到定稿,论文写作的“一站式”到底该长什么样 | 云智变AI官网www.yunzhibian.cn

一个被说烂了但很少被做好的词 “一站式”是学术工具领域被用得最滥的词之一。几乎所有平台都宣称自己覆盖论文写作全流程,但真正用起来你会发现,大多数所谓的“一站式”,不过是把几个独立功能塞进同一个界面——大纲生成一个入口&#xff0…

作者头像 李华
网站建设 2026/9/28 21:05:51

Faiss向量检索实战:基于Python实现长尾搜题召回系统

在K12教育或职业考试题库中,题目分布呈现明显的长尾效应。头部热门题目数量有限,而大量长尾题目占据了题库的80%以上。传统的基于倒排索引的精确匹配或BM25算法,在处理长尾题目时,往往因为关键词不重合导致召回失败。例如&#xf…

作者头像 李华
网站建设 2026/9/28 21:05:08

YOLOv5+DeepSORT高速车流人流量统计:跟踪稳定才是计数关键

简介:基于YOLOv5与DeepSORT算法实现的高速移动场景下车流人流量统计实战项目,适合计算机相关专业毕业设计、课程设计或项目练习。项目由大四学生完成并经导师评审认可,代码完整、可直接运行,对初学者较为友好。压缩包共117个文件&…

作者头像 李华
网站建设 2026/9/28 21:04:49

《一文吃透红黑树:性质、插入、旋转与代码实现》

一、为什么需要红黑树 1.1 一切的起点:二叉搜索树(BST)二叉搜索树(Binary Search Tree)的思想非常朴素:左子树的所有值都比根小,右子树的所有值都比根大。借助这个性质,查找一个元素…

作者头像 李华
网站建设 2026/9/28 21:04:20

Innovus数字后端入门:Floorplan与Powerplan实战指南

1. 数字后端入门第一课:Floorplan与Powerplan到底在做什么刚接触数字后端的人,十有八九会在Innovus里被Floorplan和Powerplan这两个环节卡住。工具报错一大堆,DRC违规满屏飘红,电源网络压降超标,绕线绕不通&#xff0c…

作者头像 李华