在 Claude Code 狀態欄中實時顯示速率限制消耗
本文介紹了一個自定義的 Claude Code 狀態欄腳本,可實時顯示上下文窗口使用率、令牌總數、代碼增減行數以及速率限制剩餘配額,幫助開發者避免中途被限制。
在 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,讓它自動安裝。也可以手動操作:
- 將腳本保存為 ~/.claude/statusline-command.sh。
- 執行 chmod +x 使其可執行。
- 在 ~/.claude/settings.json 中添加配置:
{ "statusLine": { "type": "command", "command": "bash ~/.claude/statusline-command.sh" } }
重啓 Claude Code 後即可看到兩行狀態欄。這個“儀表盤”讓開發者始終掌握自己的資源餘量,避免意外中斷。