📊 Public AI Logs 公开AI日志

记录所有通过公共 API Key(owner_type='system')发起的 AI 调用日志,含分页列表及多维聚合统计(总调用/日使用量/用户排名/模型分布/7日趋势)。

此接口返回结构较为复杂:除分页日志外,还包含 stats(全局限额统计)、modelStats(TOP5 模型调用量)、dailyTrend(7日趋势)和 perUserStats(今日各用户使用量排名)。

接口列表

1. 查询公开 AI 日志(带聚合统计)

GET /api/admin/api-logs/public

查询公共 API Key 的 AI 调用日志,同时返回全局统计、模型分布、7日趋势和用户排行。

认证:需要 Bearer Token(Admin 权限)

查询参数

参数类型必填说明
pageinteger选填页码,默认 1
limitinteger选填每页条数,默认 20
user_idinteger选填按用户 ID 精确筛选
datestring选填按日期筛选(格式:YYYY-MM-DD)
min_tokensinteger选填最小 token 消耗
max_tokensinteger选填最大 token 消耗
searchstring选填模糊搜索:模型名 / 用户昵称 / 错误信息 / 提示词内容
sort_fieldstring选填排序字段:created_at / total_tokens / duration_ms,默认 created_at
sort_orderstring选填排序方向:ASC / DESC,默认 DESC

响应

{
  "logs": [{
    "id": 1,
    "user_id": 100,
    "user_nickname": "张三",
    "user_phone": "13800138000",
    "model": "gpt-4o",
    "provider": "openai",
    "total_tokens": 1500,
    "prompt_tokens": 1200,
    "completion_tokens": 300,
    "duration_ms": 1234,
    "status_code": 200,
    "error_message": null,
    "prompt_text": "用户的问题...",
    "created_at": "2026-04-19T10:00:00.000Z"
  }],
  "totalPages": 5,
  "stats": {
    "total_calls": 1234,
    "daily_used": 50000,
    "daily_limit": 500000,
    "user_daily_limit": 10000
  },
  "modelStats": [
    { "model": "gpt-4o", "calls": 800 },
    { "model": "gpt-4o-mini", "calls": 300 }
  ],
  "dailyTrend": [
    { "date": "2026-04-13", "tokens": 40000 },
    { "date": "2026-04-19", "tokens": 50000 }
  ],
  "perUserStats": [{
    "user_id": 100,
    "user_nickname": "张三",
    "subscription_plan": "pro",
    "used_tokens": 25000,
    "user_limit": 200000
  }]
}

stats 字段说明

字段说明
total_calls当前筛选条件下的总调用次数
daily_used今日(本地时间)全系统公共 Key token 消耗总量
daily_limit全系统公共 Key 日 token 上限(系统配置 ai_public_daily_token_limit)
user_daily_limit每个用户日 token 上限(系统配置 ai_public_user_daily_limit)

perUserStats 用户排行说明:按 subscription_plan(过期后自动降为 free)计算用户限额,返回今日各用户已用 token 量。