Claude 用量稽核
四個本地指令碼,作用於 ~/.claude/projects/**/*.jsonl(主要工作階段與 subagents/)。每個 API 呼叫根據 (message.id, requestId) 進行去重;成本為每個模型的公開 API 價格,因此在訂閱方案下會顯示為「API 等值」,可作為方案配額的代理指標。
執行
SKILL_DIR="${CLAUDE_SKILL_DIR}/scripts"
OUT=$(mktemp -d) # 或使用工作階段的暫存區
python3 -I "$SKILL_DIR/usage.py" "$OUT/usage.json" # 總量、每日、模型、專案、工作階段、快取重建、工具、技能、代理
python3 -I "$SKILL_DIR/context_sources.py" "$OUT/usage2.json" # Bash 指令系列(按輸出大小分類)、完整 vs 部分 Read、SDK 進入點、閒置間隔
python3 -I "$SKILL_DIR/cost_split.py" # 按 Token 類型拆分成本,超過 200k / 300k 上下文的快取讀取稅
python3 -I "$SKILL_DIR/history.py" "$OUT/hist.json" # 每週提示、每次提示成本、斜線指令、工作階段、小時 x 星期(預設 90 天)
視窗:環境變數 AUDIT_DAYS=90(預設 30,history.py 為 90)。轉錄僅回溯至 cleanupPeriodDays(可在設定中設為 120;Claude Code 預設為 30),而 ~/.claude/history.jsonl 保留所有提示:超過保留期限後,只有提示層級的指標是真實的。將轉錄部分被刪除的週標記為「部分」,絕不標記為低成本。
引用美元金額前
價格儲存在三個表格中:usage.py 與 history.py 中的 PRICES,以及 cost_split.py 中的 P。請先與 claude-api 技能比對,並在模型缺失時修正表格(未知模型計為 $0)。
依序檢查項目
| 訊號 | 欄位 | 調整方法 |
|---|---|---|
| 超過 200k 上下文的呼叫 | ctx_cost, cost_split.py 中的稅 | 設定中的 autoCompactWindow,每個主題使用 /clear |
| 冷啟動(閒置超過 1 小時後快取重建) | cache_miss | cold-resume-guard.sh 掛鉤 |
非 CLI 進入點(sdk-py, sdk-cli) | usage2 中的 entry, sdk | 產生 Claude 的外掛或掛鉤:固定其模型(安全性指導使用 SG_AGENTIC_MODEL) |
| 最大的工具輸出 | tool_result_kchars, bash_fam, read | 精準的 Read,限制指令輸出 |
| 1 小時 vs 5 分鐘快取 TTL | w1h 與 gaps 中 5-60 分鐘間隔的計數 | 若 5-60 分鐘間隔 x 上下文 x 1.25 超過 1 小時寫入的 0.75 倍溢價,則維持 1 小時 |
| 子代理佔比與模型 | main_sub, agents | 模式工作使用 Sonnet |
工作階段提示中的 top_sessions 為使用者自己的文字:請避免將其放入任何共享內容中。