AI News HubLIVE
站内改写2 分钟阅读

在 Claude Code 状态栏中实时显示速率限制消耗

本文介绍了一个自定义的 Claude Code 状态栏脚本,可实时显示上下文窗口使用率、令牌总数、代码增减行数以及速率限制剩余配额,帮助开发者避免中途被限制。

来源Hacker News AI作者: fotoflo

在 Claude Code 中自定义状态栏:实时监控速率限制消耗

Claude Code 允许用户通过 statusLine 配置项替换默认状态栏,执行任意命令。本文将介绍一个实用的两行状态栏脚本,它能在你工作时持续显示上下文窗口、令牌消耗、代码变更量以及速率限制的剩余配额。

第一行:工作上下文

第一行显示当前工作目录、Git 分支、使用的模型以及会话名称。例如:~/dev/aimhuge (main) [opus] Invert menu order in projects page。一眼就能知道正在哪个仓库、哪个分支、用什么模型、执行什么任务。

第二行:资源消耗与速率限制

第二行包含两个部分,用竖线分隔。左侧是会话资源消耗:上下文窗口剩余百分比(ctx:N%),从 100% 逐渐下降,当低于 20% 时变成红色,提示需要压缩上下文;总令牌数(tok:Nk);以及本次会话新增/删除的代码行数(+N/-N)。作者特别看重代码行变化,因为删除行数往往代表有效的重构——去除冗余、简化代码,净负值的会话可能更有价值。

右侧是速率限制消耗:5 小时和 7 天窗口的剩余配额百分比,以及重置时间。例如:5hr:95% reset 10pm · 7d:95% reset Mon 5pm。绿色表示充裕,随着消耗变为黄色、红色。这样再也不会在任务中途突然遭遇“已达到限制”的提示。

此外,状态栏还显示当前权限模式,避免开发者困惑为何某些操作没有被询问。

工作原理

Claude Code 会将包含工作目录、模型、会话、令牌和成本数据的 JSON 对象通过管道传递给 statusLine 指向的命令。作者编写了一个 POSIX shell 脚本,使用 jq 解析 JSON,并用 ANSI 转义码将不同的百分比着色。脚本还包含了辅助函数,用于格式化令牌数(自动转换为 k/M 单位)和生成着色百分比。

安装方法

最简单的方式是将本文链接发给 Claude Code,让它自动安装。也可以手动操作:

  1. 将脚本保存为 ~/.claude/statusline-command.sh。
  2. 执行 chmod +x 使其可执行。
  3. 在 ~/.claude/settings.json 中添加配置:

{ "statusLine": { "type": "command", "command": "bash ~/.claude/statusline-command.sh" } }

重启 Claude Code 后即可看到两行状态栏。这个“仪表盘”让开发者始终掌握自己的资源余量,避免意外中断。