作者开发Claude Gauge技能,让Claude能感知自身用量限额并在接近耗尽时自动处理低优先级任务,实现订阅价值最大化。
Claude Code 没有内置的方式访问你的用量数据。想看用量得自己输入 /usage;Claude 无法自己调用这个命令。
所以要想围绕用量做自动化,我需要一种方式让 Claude 获取这些数据——这就是 Claude Gauge 诞生的原因。
Claude Gauge 让 Claude Code 能看到你的会话用量和周用量,以及它们的重置时间。但如果 Claude 自己无法运行 /usage,而且无头模式(claude -p)不支持仅 UI 的斜杠命令,它实际上是怎么获取这些数据的呢?
这个 skill 在伪终端中(通过 node-pty)启动一个真实的交互式 claude 进程,像人一样输入 /usage,然后等待输出稳定。之后,它将原始 PTY 字节流送入一个无头终端模拟器(@xterm/headless),而不是直接解析字节——因为 TUI(终端 UI)使用光标定位转义码在原地重绘面板,所以简单拼接原始输出会产生乱码和重叠的文本。读取模拟器的最终渲染屏幕缓冲区instead gives one clean frame,得到的就是你亲自输入命令后会看到的清晰画面。然后,用正则表达式从屏幕文本中提取"Current session"和"Current week (all models)"区块——已使用百分比和重置时间——将重置时间转换为绝对时间戳和以毫秒为单位的倒计时,最后将结果打印为 JSON。
{
"currentSession": {
"used": 0.14,
"resetsAt": "2026-07-19T16:00:00.000Z",
"resetsIn": 7089559
},
"currentWeek": {
"used": 0.35,
"resetsAt": "2026-07-19T17:00:00.000Z",
"resetsIn": 10689559
}
}
一个缺点:由于这本质上是在抓取官方 TUI 的屏幕,所以跨 Claude Code 版本变化时会有点脆弱。还有一个 --raw 标志可以转储未解析的面板,便于调试解析出错的情况。
要开始使用,请按照 README 中的说明操作。
克隆仓库后,如果想让 skill 在所有项目中可用,运行安装脚本:
./install
这会做两件事:
~/.claude/skills/(替换已存在的旧版本)然后打开 Claude Code 并问:
What's my current usage?
几秒钟后,你应该会看到类似这样的结果:

仅仅让 Claude 告诉你用量并没有多大用处——你直接输入 /usage 也能更快地得到相同答案。真正的价值在于围绕它做自动化。
将 Claude Gauge 与内置的 /loop skill 结合,你就能构建自己的自动化方案,把未使用的 token 用起来,而不是让它们白白浪费。
例如,要消耗掉剩余的周用量:
Every Sunday at 8AM check my usage. If my weekly limit is below 80%, start working on the items in the project backlog.
或者依靠重置时间来做判断:
Check my usage every hour. If my session limit is below 50% or resets in less than 30 minutes...
甚至可以用它来在高用量时跳过某个重复任务的执行:
Perform … every hour. If the current session usage is above 75%, skip the iteration.
正如本文中提到的,/goal 让你用明确的停止条件来管理用量——比如"最多尝试 5 次"。有了 Claude Gauge,你可以把它换成:
...stop when the session usage reaches 10%.
我很满意它在笔记本上的运行效果,但还有一个问题:我的笔记本必须保持开机。目前有三种方式来调度重复性或一次性工作:
/loop——需要打开的会话和机器保持运行/loop 需要终端会话保持打开,Claude Desktop 需要笔记本保持开机。Routines 是例外:它们在 Anthropic 自有基础设施上运行 Claude 提示词,所以即使你的笔记本关机了它们也会继续运行。
所以从理论上讲,在 routine 内部运行 Claude Gauge 是理想的配置。可惜的是,这个 skill 需要一个已认证的 Claude Code 会话才能工作,而 routines 每次都是从全新环境启动的——所以这目前还不可行。
这就是目前的进展。如果我找到了绕过的办法,我会写出来分享——如果你已经知道更好的方法,也请告诉我。
这就是 Claude Gauge 的故事:我为什么构建它、它内部是如何工作的,以及我一直在用它做的一些事情。我相信 usage-aware 自动化还有许多我没想到的用例——如果你想出了一个,请告诉我。