Claude Code使用量監視ツールを作った話 – Linux sarコマンド風のリアルタイム監視でコスト超過を防ぐ

作ってみた
スポンサーリンク

Claude Code Pro使ってる人、結構増えてきましたよね。便利すぎて手放せないけど、唯一困るのが使用量制限。5時間で$10っていう縛りがあるので、夢中でコーディングしてたら突然制限に引っかかって作業中断…なんてことありませんか?

そんな悩みを解決するために、Claude使用量をLinuxのsarコマンドみたいに時間別で監視できるツールを作ってみました。

2025年6月23日 追記

【2025年6月更新】プロジェクト名を変更しました

この記事を公開してから、より使いやすくするためにツール名を変更しました!

変更内容

名前を短くすることで、コマンドラインでの入力が楽になりました。claude-usage-monitor.tsって長すぎましたよね…。

既存ユーザーの方へ

すでに使ってくださっている方は、以下の手順で移行できます:

bash# 1. 新しいリポジトリをクローン
git clone https://github.com/shinagaki/ccmonitor.git
cd ccmonitor

# 2. 実行権限を付与
chmod +x ccmonitor.ts

# 3. 過去の集計データを引き継ぐ場合(オプション)
mv ~/.claude-usage-monitor ~/.ccmonitor

データの移行は任意です。移行しなくても、ccmonitorが自動的にClaude Codeのログから再集計してくれます。

最新の機能追加

リネームに合わせて、いくつかの改善も行いました:

  • パフォーマンス向上: より高速にログを処理できるように最適化
  • メモリ効率改善: 大量のログがあっても安定動作
  • エラーハンドリング強化: より分かりやすいエラーメッセージ

名前は変わりましたが、基本的な使い方は同じです。これまで通り reportrolling コマンドで使用量を監視できます。

bash# 時間別レポート
./ccmonitor report

# 5時間ローリング監視
./ccmonitor rolling

というわけで、新しい名前の ccmonitor をよろしくお願いします!旧リポジトリにアクセスしようとしている方は、新しいURLに更新してくださいね。


P.S. この更新情報もClaude Opus 4に書いてもらいました。リネーム作業自体もClaude Codeでやったので、本当にAIづくしの開発です。

完成したツール:Claude Usage Monitor

GitHub: shinagaki/claude-usage-monitor

Claude Usage Monitor

主な機能はこんな感じ

  • 時間別使用量レポート表示 – どの時間帯にどれだけ使ったか一目瞭然
  • 5時間ローリング制限の監視 – $10制限に対する進捗をリアルタイム表示
  • 美しい表形式の出力 – ターミナルでも見やすい表形式
  • 制限超過時の警告アラート – 危険ゾーンに入る前にお知らせ

実際の使い方

時間別レポートを見る

./claude-usage-monitor.ts report

実行すると、こんな感じの表が出てきます:

┌──────────────────┬──────────────┬──────────────┬──────────────┬────────────┐
│ Hour             │        Input │       Output │        Total │ Cost (USD) │
├──────────────────┼──────────────┼──────────────┼──────────────┼────────────┤
│ 2025-06-16 09:00 │    3,414,874 │        2,715 │    3,417,589 │      $1.62 │
│ 2025-06-16 08:00 │    1,501,766 │       15,231 │    1,516,997 │      $1.22 │
└──────────────────┴──────────────┴──────────────┴──────────────┴────────────┘

朝の時間帯に集中して使ってることが丸わかり。自分の使用パターンが見えてくるのが面白いです。

5時間制限の監視

./claude-usage-monitor.ts rolling

Pro版の制限に対する使用状況がプログレスバー付きで確認できます:

┌──────────────────┬────────────┬────────────┬───────────────┐
│ Current Hour     │ Hour Cost  │ 5-Hour Cost│ Limit Progress│
├──────────────────┼────────────┼────────────┼───────────────┤
│ 2025-06-16 09:00 │      $1.62 │      $6.69 │ 66.9% █████░░░│
│ 2025-06-16 08:00 │      $1.22 │      $4.27 │ 42.7% ███░░░░░│
└──────────────────┴────────────┴────────────┴───────────────┘

80%超えると⚠️、90%超えると🚨が表示されるので、制限超過前に一旦休憩するタイミングがわかります。

技術的な工夫ポイント

1. データの重複を防ぐ仕組み

Claude Codeって、同じメッセージに対して複数のJSONLエントリを生成することがあるんです。なので、message.idでユニーク管理して重複カウントを防いでます。これがないと、実際の使用量より多く表示されちゃうんですよね。

2. 正確なコスト計算

Claude Sonnet 4の料金体系に完全対応してます:

  • Input tokens: $0.003/1K
  • Output tokens: $0.015/1K
  • Cache creation: $0.0037/1K
  • Cache read: $0.0003/1K

キャッシュ機能も考慮してるので、実際の請求額とほぼ一致するはず。

3. 自動データ収集

ccusageと同じように、レポート表示時に最新データを自動で収集します。わざわざ手動でcollectコマンドを実行する必要がないので楽ちん。

使ってみた感想

実際に数週間使ってみて、自分のClaude使用パターンがよくわかるようになりました。例えば:

  • 午前中に集中的に使う傾向がある
  • 金曜日は使用量が少ない(週末モード?)
  • デバッグ作業の日はトークン消費が激しい

特に便利なのが、ローリング制限の監視機能。今まで「あとどれくらい使えるんだろう…」って不安になりながら作業してたけど、これがあれば安心してコーディングに集中できます。

インストールと使い方

# リポジトリをクローン
git clone https://github.com/shinagaki/claude-usage-monitor.git
cd claude-usage-monitor

# 依存関係をインストール
npm install

# 実行権限を付与
chmod +x claude-usage-monitor.ts

# 使ってみる
./claude-usage-monitor.ts report

まとめ

Claude Code Proユーザーなら絶対便利だと思うので、ぜひ使ってみてください。MITライセンスでオープンソース公開してるので、気に入らない部分があったら自由に改造してもOKです。

改善要望や新機能のアイデアがあったら、GitHubのIssueやPull Requestでお気軽にどうぞ!一緒により良いツールにしていきましょう。

実はこのツールも記事も…

ここまで読んでくれてありがとうございます。実は最後に告白があります。

このClaude使用量監視ツール、Claude Code自身に作ってもらいました。そう、監視される側が自分の監視ツールを作るという、なんともメタな構造になってます。

しかも、この記事自体もClaude Opus 4に書いてもらったという…。AIがAIの使用量を監視するツールを作って、それについてAIが記事を書く。まさに2025年らしい開発スタイルですよね。

でも、ツール自体はガチで便利なので、ぜひ使ってみてください。AIが作ったからって侮るなかれ、実用性はバッチリです!

(この告白部分も含めて全部AI生成なのが、また面白いところ)

コメント

タイトルとURLをコピーしました