view-usage について
view-usageは、稼働中のLiteLLMプロキシから日次の利用状況と支出を取得するスキルです。ユーザー、チーム、組織、タグ、ジョブ別の確認に使え、集計や失敗日の表示も行います。
主な機能
- 01日次の支出と利用状況を取得
- 02ユーザー、チーム、組織、タグ、ジョブ別に集計
- 03モデルと期間で絞り込み
- 04リクエスト数、トークン数、支出を集計
- 05失敗リクエストのある日を表示
活用シーン
- 01当月のプロキシ利用状況を確認
- 02チームやユーザー間の支出を比較
- 03タグ付きジョブのLLMコストを把握
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ berriai/ litellm-skills --skill view-usageインストール後、Claude Code で/view-usageを入力して読み込まれたか確認します。
詳細
使用状況の表示
稼働中の LiteLLM プロキシから、日ごとのアクティビティと支出データを取得します。
セットアップ
まだわかっていない場合は、以下を確認してください。
LITELLM_BASE_URL — e.g. https://my-proxy.example.com
LITELLM_API_KEY — proxy admin key
API リファレンス:https://docs.litellm.ai/docs/proxy/users#get-user-spend
ユーザーへの確認事項
- 表示単位 — 全体/ユーザー/チーム/組織/タグ/ジョブ(デフォルト:全体)
- 日付範囲 — 指定がない場合は、今月をデフォルトにします
- モデルで絞り込みますか?(任意)
- ジョブタグ(任意)— ジョブのコストを割り当てるため、どのリクエストタグでジョブを識別するか確認してください。
例:
job:nightly-evalやjob=batch-import。
ジョブのコスト割り当て
LiteLLM は、リクエストタグを使ってリクエストごとのコストを割り当てます。LLM ジョブでは、job:<job-name> のような安定したジョブラベルでリクエストにタグを付け、そのうえでタグ API を照会してください。
- 1 つ以上のジョブタグについて、日ごとの支出、トークン数、リクエスト数、モデル/プロバイダー別の内訳を取得するには、
/tag/daily/activity?tags=<tag>を使用します。 - 日付範囲内のタグ別の合計支出を取得するには、
/global/spend/tags?tags=<tag>を使用します。 - ユーザーが「最もコストが高いジョブはどれですか?」と尋ねた場合は、
tagsフィルターなしで/global/spend/tagsを呼び出し、支出の降順に並べ替えて、ジョブラベルと思われる上位のタグを提示します。
エンドポイント
全体の支出(全ユーザー)
curl -s "$BASE/user/daily/activity?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD&page_size=30" \
-H "Authorization: Bearer $KEY"
全体のリクエスト数とトークン数
curl -s "$BASE/global/activity?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD" \
-H "Authorization: Bearer $KEY"
チーム別
curl -s "$BASE/team/daily/activity?team_ids=<team_id>&start_date=YYYY-MM-DD&end_date=YYYY-MM-DD" \
-H "Authorization: Bearer $KEY"
組織別
curl -s "$BASE/organization/daily/activity?organization_ids=<org_id>&start_date=YYYY-MM-DD&end_date=YYYY-MM-DD" \
-H "Authorization: Bearer $KEY"
ユーザー別
curl -s "$BASE/user/daily/activity?user_id=<user_id>&start_date=YYYY-MM-DD&end_date=YYYY-MM-DD" \
-H "Authorization: Bearer $KEY"
タグまたはジョブ別
curl -s "$BASE/tag/daily/activity?tags=<tag>&start_date=YYYY-MM-DD&end_date=YYYY-MM-DD&page_size=30" \
-H "Authorization: Bearer $KEY"
複数のタグを指定する場合は、カンマ区切りのリストを渡します。
curl -s "$BASE/tag/daily/activity?tags=job:nightly-eval,job:batch-import&start_date=YYYY-MM-DD&end_date=YYYY-MM-DD&page_size=30" \
-H "Authorization: Bearer $KEY"
タグ別の上位支出
curl -s "$BASE/global/spend/tags?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD" \
-H "Authorization: Bearer $KEY"
特定のジョブタグで絞り込みます。
curl -s "$BASE/global/spend/tags?tags=<tag>&start_date=YYYY-MM-DD&end_date=YYYY-MM-DD" \
-H "Authorization: Bearer $KEY"
レスポンス形式
{
"results": [
{
"date": "2026-03-14",
"metrics": {
"spend": 1.23,
"prompt_tokens": 45000,
"completion_tokens": 12000,
"total_tokens": 57000,
"api_requests": 120,
"successful_requests": 118,
"failed_requests": 2
},
"breakdown": {
"models": { "gpt-4o": { "metrics": { "spend": 1.23, ... } } }
}
}
],
"metadata": { "page": 1, "page_size": 10, "total_count": 31 }
}
注:最上位のキーは data ではなく results です。
python3 で集計する
curl -s "$BASE/user/daily/activity?start_date=YYYY-MM-DD&end_date=YYYY-MM-DD&page_size=30" \
-H "Authorization: Bearer $KEY" | python3 -c "
import sys, json
d = json.load(sys.stdin)
rows = d.get('results', [])
print('{:<12} {:>10} {:>12} {:>10}'.format('Date', 'Requests', 'Tokens', 'Spend'))
print('-' * 46)
total_spend = 0
for r in rows:
m = r.get('metrics', {})
print('{:<12} {:>10} {:>12} ${:>9.4f}'.format(
r.get('date', ''),
m.get('api_requests', 0),
m.get('total_tokens', 0),
m.get('spend', 0),
))
total_spend += m.get('spend', 0)
print('-' * 46)
print('{:<12} {:>10} {:>12} ${:>9.4f}'.format('TOTAL', '', '', total_spend))
"
エラー処理
結果を処理する前に、HTTP ステータスを確認してください。
- 401/403 —
LITELLM_API_KEYが無効または期限切れです。ユーザーに確認を依頼してください。 - 404 — エンドポイントを利用できません。LiteLLM プロキシのバージョンがアクティビティエンドポイントに対応しているか確認してください。
- 結果が空 — 指定された日付範囲にアクティビティがありません。日付が正しいか確認してください。
手順
- 日付範囲を確認します。デフォルトは今月です。
- 適切なエンドポイントを実行します。ジョブのコスト割り当てにはタグエンドポイントを優先し、ジョブタグが指定されていない場合は確認してください。
- 表を出力します:日付 | リクエスト数 | トークン数 | 支出。
- 最下部に合計行を表示します。
failed_requests > 0の日を強調表示します。metadata.total_pages > 1の場合は、残りのページも取得するか確認します。
コメント
Markdown 対応