土曜日, 5月 31, 2025
ホームニューステックニュースClaude Codeの使用料金を可視化するCLIツール「ccusage」を作った

Claude Codeの使用料金を可視化するCLIツール「ccusage」を作った


はじめに

みなさん、Claude Code使ってますか?私は毎日使っています。

Vibe Codingガチアンチだったのですが、Claude Code + Sonnet 4の組み合わせがあまりにも強力すぎて、今では手放せません。

ところで Claude Max プラン、最高ですよね。月額$100で使い放題。

https://www.anthropic.com/news/max-plan

でも、ふと思いませんか?

「これ、従量課金だったらいくらかかってたんだろう…?」

そんな疑問を解決し、「Maxプランでこんなに得してる!」とニヤニヤするためのCLIツール「ccusage」を作りました。

https://github.com/ryoppippi/ccusage

きっかけ

このツールを作るきっかけになったのは、@milliondevさんの以下の記事です。

https://note.com/milliondev/n/n1d018da2d769

この記事では、Claude Codeがローカルに保存しているJSONLファイルをDuckDBで分析する方法が紹介されています。

ただ、毎回DuckDBでクエリを書くのは少し面倒ですし、サクッと使用状況を確認したいと思い、CLIツールとして実装しました。

ccusageでできること

1. インストール不要で即実行


npx ccusage@latest


bunx ccusage

インストールしなくても、上記のコマンドを実行するだけですぐに使用状況を確認できます。

2. 日別レポート

日付ごとのtoken使用量とコストを表形式で表示します。

実行結果の例:

╭──────────────────────────────────────────╮
│                                          │
│  Claude Code Token Usage Report - Daily  │
│                                          │
╰──────────────────────────────────────────╯

┌──────────────────┬──────────────┬───────────────┬──────────────┬────────────┐
│ Date             │ Input Tokens │ Output Tokens │ Total Tokens │ Cost (USD) │
├──────────────────┼──────────────┼───────────────┼──────────────┼────────────┤
│ 2025-05-30       │          277 │        31,456 │       31,733 │    $17.45  │
│ 2025-05-29       │          959 │        39,662 │       40,621 │    $16.37  │
│ 2025-05-28       │          155 │        21,693 │       21,848 │     $8.33  │
├──────────────────┼──────────────┼───────────────┼──────────────┼────────────┤
│ Total            │       11,174 │       720,366 │      731,540 │   $336.17  │
└──────────────────┴──────────────┴───────────────┴──────────────┴────────────┘

3. セッション別レポート

プロジェクトとセッションごとの使用量を確認できます。どのプロジェクトが一番コストがかかっているかが一目瞭然です。

4. 期間フィルタリング

特定の期間のデータだけを表示できます。


ccusage --since 20250525 --until 20250530

5. JSON出力

プログラムで処理しやすいJSON形式での出力もサポートしています。
jqなどのツールと組み合わせて、さらに詳細な分析が可能です。

ccusage daily --json | jq .total

Claude Codeのデータ構造

Claude Codeは使用履歴を~/.claude/projects/以下にJSONL形式で保存しています。各行には以下のような情報が含まれています:

  • メッセージの全て
  • タイムスタンプ
  • 入力token数
  • 出力token数
  • 使用モデル
  • プロジェクト名
  • セッションID

などなど…

ccusageはこれらのファイルを読み込んで集計し、見やすい形で表示します。

コスト計算

料金計算はlitellmが提供しているデータを実行時に参照し、モデルごとのtoken単価を取得しています。これにより、最新の料金体系に対応できます。
また、モデルの種類によってtoken単価が異なりますが、ccusageではモデルごとに集計し、合計コストを算出しています。
そのため、元の記事よりもより正確なコスト計算が可能です。

制限

ccusage はローカルのClaude Codeの使用履歴ファイルを直接読み込みコストを計算します。そのため、複数マシンでClaude Codeを使用している場合、各マシンの履歴ファイルを統合する必要があります。
もしアカウント全体での使用状況を把握したい場合は、Dropboxなどを使用して履歴ファイルを同期することをおすすめします(もちろんこれは公式に推奨されている方法ではないため、自己責任で行ってください)。

まとめ

ぜひ一度お試しください!

そして、できたら #ccusage のハッシュタグをつけて、あなたの使用状況をTwitter/BlueSkyにシェアしてください笑

リンク

https://github.com/ryoppippi/ccusage

https://www.npmjs.com/package/ccusage

謝辞

このツールの開発にインスピレーションを与えてくださった@milliondevさんに感謝します。元記事のDuckDBを使った分析手法は非常に勉強になりました。

余談

usage

えー、6日ですでに362ドル使ってますね…。

追記

このツールは97%ほどはClaude Codeに書いてもらいました。自分は環境構築とやりたいことを指示して、ライブラリのドキュメントを渡して、自分でやった方が早そうな軽微な修正をし、gitのコミットメッセージを整え、npmへの公開作業を行っただけです。
lintやformatter、テストを適切に設定していれば、それにそってClaude Codeが自律的にコードを記述、修正してくれるので、非常に楽でした。
Vibe Codingアンチでしたが、時代が変わっていくのをこの1週間で実感しています。



Source link

Views: 0

RELATED ARTICLES

返事を書く

あなたのコメントを入力してください。
ここにあなたの名前を入力してください

- Advertisment -