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 後即可看到兩行狀態列。這個“儀表盤”讓開發者始終掌握自己的資源餘量,避免意外中斷。