
比官方 /usage 页面更精确的秘密Claude Counter 如何从 SSE 流读取未取整的真实配额【免费下载链接】claude-counterA minimal browser extension that shows token count, cache timer, and usage bars on claude.ai.项目地址: https://gitcode.com/gh_mirrors/cl/claude-counterClaude Counter是一款极简浏览器扩展在 claude.ai 侧边栏实时显示token 计数、缓存倒计时和 5 小时/7 天用量进度条。它的核心卖点是从 Claude 的SSE 流中直接读取未取整的真实配额比例——比官方 /usage 页面的取整百分比更精确而且数据全部留在本地无外部服务器。如截图所示顶部是~19,646 tokens的上下文用量与cached for 3:49的缓存倒计时底部则显示Session: 22.8%与Weekly: 78.5%——注意这里的百分比带有小数位这正是 SSE 数据的指纹。为什么官方 /usage 页面的百分比不够真打开 claude.ai 的 /usage 页面你看到的 5 小时和 7 天用量都是取整后的整数百分比如 23%、79%。这对粗略感知够用但在以下场景会失真配额临界点判断差 0.5% 决定是否还能再开一轮对话时整数百分比帮不上忙精确预估剩余时间22.8% 和 23% 对应的重置倒计时差异明显长对话成本感知想尽量在缓存窗口内继续对话缓存命中更省钱需要尽量实时的数字。Claude 官方其实并没有一个公开接口直接返回精确比例——但它的聊天接口在每次生成回复时会顺带把精确数据捎带推给前端。从 SSE 流中捕获真实配额三步拆解整个抓取逻辑集中在 src/injected/bridge.js核心只有三步。1️⃣ 抢在页面框架之前包装fetch扩展通过 manifest 注入一个运行在页面主世界的桥接脚本它先保存原始的window.fetch再替换为自己的代理函数见 bridge.js对POST /completion或/retry_completion请求发出cc:generation_start事件用于切换缓存计时器状态请求发出后检查响应的content-type——只要包含event-stream就认定为SSE 流并进入下一步。2️⃣ 克隆响应体逐行解析message_limit事件Claude 的回复以SSEServer-Sent Events流式推送数据格式是data: {...}逐行到达。桥接脚本用response.clone()复制一份流不破坏原页面渲染通过getReader()边读边解码见 bridge.jsdata: {type: message_limit, message_limit: {windows: {5h: {...}, 7d: {...}}}}当某行的 JSON 里type等于message_limit时脚本立刻把message_limit对象通过postMessage发给内容脚本。关键在于windows[5h]和windows[7d]中的utilization字段是一个 0~1 的原始小数如 0.2283同时附带 Unix 时间戳resets_at——这就是未取整的真实配额。3️⃣ 内容脚本换算并渲染main.js 中的parseUsageFromMessageLimit把小数乘以 100 得到精确百分比并解析重置时间随后 ui.js 把它渲染成Session: 22.8% · resets in 4h 43m这样的进度条与倒计时。双数据源策略SSE 为主/usage 兜底只靠 SSE 有个盲区你不发消息时SSE 不会触发。Claude Counter 因此设计了三层刷新机制见 main.js数据源触发时机精度SSEmessage_limit每次对话生成时⭐ 最精确未取整/usage 接口首次加载、5h/7d 窗口翻转时取整百分比官方值每小时安全刷新SSE 数据超过 1 小时未更新时官方值兜底窗口翻转的检测很巧妙main.js 的tick()每秒检查一次一旦发现当前时间超过resets_at就主动请求一次 /usage 接口刷新——因为翻转时刻 SSE 大概率不会自己触发。隐私方面值得强调扩展只向 claude.ai 发请求无任何外部服务器详见 README.md 的 Privacy 章节。顺带看看另外两个小功能Token 计数内置o200k_base分词器vendored 在 src/vendor/o200k_base.js沿对话主干累加消息 token配合 20 万上下文上限画出迷你进度条核心逻辑在 tokens.js缓存计时器基于最后一条助手消息的时间加 5 分钟缓存窗口定义于 constants.js倒计时归零前继续对话可享受缓存价格。如何安装 Claude Counter支持三种方式Chrome / Edge / Firefox / 油猴Chrome / Edge / Chromium下载 release 的claude-counter-0.4.2.zip打开chrome://extensions开启开发者模式把 zip 直接拖进页面即可Firefox下载.xpi文件拖入任意 Firefox 窗口点击添加油猴用户脚本无需装扩展安装 claude-counter.user.js 即可它通过document-start在页面加载前接管fetch实现与扩展版一致的 SSE 捕获。如果习惯本地构建可克隆仓库git clone https://gitcode.com/gh_mirrors/cl/claude-counter小结Claude Counter 的精确并非来自什么独家接口而是读懂了 claude.ai 自己的数据流SSE 里的message_limit事件天然携带未取整的utilization小数扩展只是忠实地把它接了出来。对想精打细算使用额度的用户来说这个 22.8% 和 23% 之间的差距就是它存在的意义。【免费下载链接】claude-counterA minimal browser extension that shows token count, cache timer, and usage bars on claude.ai.项目地址: https://gitcode.com/gh_mirrors/cl/claude-counter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考