mcpField
V
view-usage

view-usage

github.com/berriai数据与数据库103111 次安装25 周前更新
代码仓库

关于 view-usage

view-usage 是用于查询实时 LiteLLM 代理每日活动和支出的技能,适合需要按用户、团队、组织、标签或任务查看用量的运营人员,并可汇总数据和标出错误日期。

主要功能

  1. 01查询每日支出与活动
  2. 02按用户、团队、组织、标签或任务分组
  3. 03按模型和日期范围筛选
  4. 04汇总请求数、令牌数与支出
  5. 05标出存在失败请求的日期

适用场景

  1. 01查看当月代理用量
  2. 02比较不同团队或用户的支出
  3. 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

询问用户

  1. 查看维度 — 整体 / 用户 / 团队 / 组织 / 标签 / 作业(默认:整体)
  2. 日期范围 — 如果未指定,默认为当月
  3. 按模型筛选?(可选)
  4. 作业标签(可选)— 若要归因作业成本,请询问哪个请求标签用于标识该作业, 例如 job:nightly-eval 或 job=batch-import。

作业成本归因

LiteLLM 通过请求标签归因每个请求的成本。对于 LLM 作业,建议使用稳定的作业标签标记 请求,例如 job:<job-name>,然后查询标签 API:

  • 使用 /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 }
}

注意:顶层键为 results(而非 data)。

使用 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 代理版本是否支持活动端点
  • 结果为空 — 指定日期范围内没有活动;请确认日期是否正确

说明

  1. 询问日期范围 — 默认当月。
  2. 调用适当的端点。进行作业归因时,优先使用标签端点;如果用户未提供作业标签,请询问。
  3. 输出表格:日期 | 请求数 | 令牌数 | 支出。
  4. 在底部显示总计行。
  5. 标出 failed_requests > 0 的日期。
  6. 如果 metadata.total_pages > 1,询问是否继续获取其余页面。

评论

支持 Markdown