mcpField
C
codex-token-usage

codex-token-usage

github.com/huajiexiewenfengデータ・データベース31463 回インストール7 週間前に更新
リポジトリ

codex-token-usage について

codex-token-usageは、ローカルのCodexセッションログからトークン使用量を集計するスキルです。付属スクリプトで既定のHTMLダッシュボードを生成し、MarkdownやJSONでも出力できます。

主な機能

  1. 01ローカルのCodexログを読み取り
  2. 02期間とタイムゾーンを指定して集計
  3. 03HTMLダッシュボードを生成
  4. 04MarkdownとJSONに対応
  5. 05日別データをCSVで出力

活用シーン

  1. 01週や月の使用量を確認
  2. 02集計結果を自動処理に利用

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/huajiexiewenfeng/codex-token-usage-skill --skill codex-token-usage

インストール後、Claude Code で/codex-token-usageを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
assets/
dashboard.html
scripts/
codex_token_usage.py
test_codex_token_usage.py

詳細

Codex トークン使用量

概要

同梱のスクリプトを使用して、ローカルの Codex セッションログを読み取り、一貫したトークン使用量レポートを生成します。その場限りの rg による要約よりも、再現性のあるスクリプト出力を優先してください。

デフォルトでは、固定の HTML ダッシュボードを生成し、システムのデフォルトの外部ブラウザで開きます。 これは「统计本周用量」や「统计下 token」のような単純なリクエストにも適用されます。ユーザーが明示的にテキスト、Markdown、JSON、またはブラウザを開かないことを要求しない限り、Markdown の表だけで回答しないでください。古いタスクを再利用する際は、このインストール済みファイルを再読してください。以前のタスクの指示は、古い Markdown デフォルトについて記述している可能性があります。

ワークフロー

  1. ユーザーのリクエストからレポート対象期間を特定します。
    • ユーザーが暦月を指定せずに「1 か月」または「先月」と要求した場合は、今日を終点とする直近 30 日間のローカル暦日を使用します。
    • ユーザーが「今月」と要求した場合、または特定の月を指定した場合は、その暦月を使用し、それが現在の月であれば今日までに切り詰めます。
    • コンテキストで利用可能な場合はユーザーのタイムゾーンを使用し、タイムゾーンが指定されていない場合に限り、ローカルマシンのタイムゾーンをデフォルトとします。
    • 「今週」はそのタイムゾーンでの月曜日から今日までを意味します。明示的な --start と --end の日付を渡してください。
  2. ユーザーのワークスペースから、レポート対象の日付とタイムゾーンを指定して、インストール済みの scripts/codex_token_usage.py を実行します。スクリプトは、このファイルを含むスキルディレクトリから解決してください。ログについては、存在する場合はアクティブな CODEX_HOME を使用してください。レガシーなスキルのインストールパスからログの場所を推測しないでください。
  3. 明示的に上書きされない限り、HTML(CLI のデフォルト)を使用します。スクリプトは作業ディレクトリの下に output/token-usage-<start>-<end>.html を書き込み、システムのデフォルトの外部ブラウザで開くよう要求します。--output はファイルパスを上書きします。レポートはスキルのソースディレクトリの外に保ってください。
  4. アプリ内ブラウザのプレビューで代用しないでください。開くことに失敗した場合やブロックされた場合は、保存されたファイルのリンクを提示し、開かれなかったことを正確に述べてください。ホストの制限を回避しないでください。OS の起動要求が成功したことだけでは、ページがレンダリングされた証拠にはなりません。
  5. クリック可能な絶対 HTML ファイルリンク、正確な日付範囲、および短い要約を返します。ダッシュボードには日別のカウント、ピーク期間、指標の定義が含まれます。それを長い Markdown の表で置き換えないでください。
  6. 明示的なテキスト/Markdown のリクエストには --format markdown を渡し、機械可読なリクエストには --format json を渡します。これらのフォーマットは、--output が指定されない限り標準出力に出力され、ブラウザを開きません。自動化や、ブラウザを開かないというユーザーのリクエストには、HTML とともに --no-open を使用してください。

スクリプト

ユーザーのワークスペースから、インストール済みスクリプトの絶対パスを指定して実行します(以下の相対的な例は省略形です)。

python scripts/codex_token_usage.py --days 30 --timezone Asia/Shanghai

便利なオプション:

python scripts/codex_token_usage.py --start 2026-03-30 --end 2026-04-28 --timezone Asia/Shanghai
python scripts/codex_token_usage.py --month 2026-04 --timezone Asia/Shanghai
python scripts/codex_token_usage.py --codex-home C:\Users\admin\.codex --days 30
python scripts/codex_token_usage.py --days 30 --format json
python scripts/codex_token_usage.py --days 30 --format markdown --language en
python scripts/codex_token_usage.py --days 30 --timezone Asia/Shanghai --format html --output /path/to/output/token-usage.html
python scripts/codex_token_usage.py --days 30 --timezone Asia/Shanghai --no-open

python が PATH にない場合は、利用可能であれば同梱の Codex ランタイムを使用してください。

C:\Users\admin\.cache\codex-runtimes\codex-primary-runtime\dependencies\python\python.exe scripts\codex_token_usage.py --days 30 --timezone Asia/Shanghai

定義

  • total: token_count イベント全体にわたる last_token_usage.total_tokens の合計。
  • input: last_token_usage.input_tokens の合計。
  • cached input: last_token_usage.cached_input_tokens の合計。
  • output: last_token_usage.output_tokens の合計。
  • reasoning output: last_token_usage.reasoning_output_tokens の合計。
  • non-cached input: input - cached input。
  • net usage: non-cached input + output。
  • cache hit rate: cached input / input。
  • daily average total: total / レポート対象範囲のローカル暦日数。

各イベントの total_token_usage を合計することは避けてください。これはセッション内で累積されるため、過大にカウントされます。代わりに last_token_usage を合計してください。

レスポンス形式

デフォルトでは、外部ブラウザを要求した後、HTML ファイルのリンクと短い要約を提示します。明示的なテキスト/Markdown のリクエストの場合に限り、以下の簡潔な表を使用してください。行ラベルはユーザーの言語にローカライズしてください。

| Metric | Tokens | Notes |
|---|---:|---|
| Total | 730,366,547 | Sum of `total_tokens` |
| Input | 724,204,405 | Input tokens, including cached input |
| Cached input | 640,615,168 | Cached input tokens |
| Output | 3,239,893 | Output tokens |
| Reasoning output | 456,198 | Reasoning output tokens |
| Non-cached input | 83,589,237 | `Input - Cached input` |
| Net usage | 86,829,130 | `Non-cached input + Output` |
| Cache hit rate | 88.44% | `Cached input / Input` |
| Daily average total | 24,345,552 | `Total / days in range` |

続いて、ピーク日と最も忙しい週について 1 文を追加します。

The peak day was 2026-04-01: 72,000,000 tokens.
The busiest week was 2026-03-30 to 2026-04-05: 244,371,620 tokens.

結果を別のスクリプト、自動化、またはレポートジェネレーターに渡す場合は --format json を使用してください。テキスト回答には Markdown を使用してください。すべてのフォーマットは、UTF-8 ファイル出力のための --output をサポートしています。

HTML ダッシュボード

単一の HTML ファイルに CSS、JavaScript、集計レポートデータが埋め込まれており、ビルド手順、サーバー、CDN なしでオフラインで開けます。JavaScript を有効にする必要があります。--language zh(デフォルト)または --language en を使用してください。

HTML は常に同梱のスクリプトと assets/dashboard.html を通じて生成してください。すべてのレポートでこの固定テンプレートを再利用し、集計データと言語のみを置き換えます。ユーザーがデザイン変更を要求しない限り、ページを再設計したり、その場で HTML を生成したり、レイアウト、色、インタラクションを変更したりしないでください。レスポンシブレイアウトは引き続きビューポートサイズに適応します。

每日明细(デイリー詳細)テーブルを含むコンパクトなトークン値では、100,000,000 で 亿、10,000,000 で 千万、1,000,000 で 百万を使用し、小数点以下は最大 2 桁とします。100 万未満の場合は、桁区切り付きの完全な数値を表示します。B、M、K は使用しないでください。テーブルのツールチップと CSV は正確なトークン数を保持します。イベント数とセッション数は完全な数値のままです。

これには、合計/純使用量、キャッシュヒット率、セッション数、日次平均、合計/純モードとキーボードでアクセス可能な日選択を備えた日次積み上げ棒グラフ、トークン構成、ピーク日/週、並べ替え可能な日次テーブル、CSV エクスポートが含まれます。エクスポートでは、選択されたレポートタイムゾーンが使用されます。使用量ゼロの日も平均に含まれ、すべての出力に残ります。JSON は既存のフィールドを保持し、timezone と generated_at を追加します。daily には範囲内のすべての日付が含まれるようになりました。

グラフの構成要素は 非キャッシュ入力 + キャッシュ入力 + 出力 です。キャッシュ入力は入力の一部であり、推論は出力の一部です。どちらのサブセットも親の上に積み上げないでください。ソースの合計が構成要素の合計と異なる場合、ダッシュボードはその差分を表示します。トークンイベントをツール呼び出しと呼んだり、既存のパーサーからモデル/プロジェクトのランキング、アクティブ時間、成功率を求めたりしないでください。これは生成されたスナップショットであり、ライブモニターではありません。

生成されたレポートには使用量の集計のみが含まれ、プロンプト、セッション ID、ソースパスは含まれません。ユーザーが共有を求めない限り、ローカルに留まります。スキルをインストールする際は、assets/dashboard.html を scripts/ とともに保持してください。

コメント