用途
OpenRouter Usage Analytics 用于追踪和分析 OpenRouter API 的使用模式、成本与性能。当需要构建仪表盘、优化支出或对 AI 使用情况进行报告时可以使用该技能。
数据来源
OpenRouter 通过三个端点提供使用数据:
- GET /api/v1/auth/key:信用余额与速率限制
- GET /api/v1/generation?id=:单次请求的成本与元数据
- 响应中的 usage 字段:token 计数
该技能覆盖从这些来源采集指标、构建分析管道、成本报告以及性能仪表盘。
前置条件
- 一个 OpenRouter API 密钥(sk-or-v1-...),导出为 OPENROUTER_API_KEY(设置方式参见 openrouter-install-auth 技能)
- Python 3.8+,以及 OpenAI SDK 和 requests(用于从 generation 端点获取每次请求的精确成本);sqlite3(标准库)作为分析数据库
- curl 和 jq,用于信用余额监控的一行命令
- 如果还需要 OpenRouter 仪表盘的归因,在客户端设置 HTTP-Referer / X-Title 请求头
主要能力
按请求采集指标
通过 tracked_completion 路由补全请求:它会为每次调用计时,然后从 GET /api/v1/generation?id= 获取精确的 total_cost,并输出包含 token、延迟以及 model_requested 与 model_used 的 JSON 指标。
分析数据库
使用 init_analytics_db 初始化 openrouter_analytics.db,并通过 store_metric 持久化每条指标。generation_id 的唯一约束配合 INSERT OR IGNORE 可对重试进行去重。
分析查询
可对存储执行以下查询:每日成本汇总、按模型成本、用户支出排行、每小时请求模式以及 30 天成本趋势。
信用余额监控
使用 curl + jq 针对 /api/v1/auth/key 的片段查看剩余信用,报告 credits_used、credit_limit 和 remaining。
周报生成
为相关方生成周报输出(总计以及按成本排序的前 5 个模型)。
企业级考量
应用保留与告警策略:30 天后聚合原始行,当每日成本超过历史平均值的 2 倍时告警。
使用方式
- 通过 tracked_completion 路由补全请求以采集每次请求的指标。
- 使用 init_analytics_db 初始化 openrouter_analytics.db,并通过 store_metric 持久化每条指标。
- 使用分析查询获取每日成本汇总、按模型成本、用户支出排行、每小时请求模式和 30 天成本趋势。
- 使用信用余额监控片段查看剩余信用。
- 生成周报输出供相关方查看。
- 应用企业级考量中的保留与告警策略。
输出
- 每次请求一条 JSON 日志指标:timestamp、generation_id、model_requested 与 model_used、prompt/completion tokens、精确 total_cost、latency_ms 和 user_id
- 一个 openrouter_analytics.db sqlite 存储,带有已建索引的 metrics 表,可用于每日/模型/用户/每小时查询
- 来自 curl + jq 片段的信用状态 JSON:credits_used、credit_limit 和 remaining
- 一份文本周报,包含请求数、总成本、平均延迟、总 token、平均每次请求成本以及按成本排序的前 5 个模型
适用场景
- 构建 AI 使用仪表盘
- 优化 OpenRouter 支出
- 对 AI 使用情况进行报告
- 监控信用余额与速率限制
- 容量规划
限制与错误处理
- 缺失成本数据:generation 端点获取失败时,可 1-2 秒后重试并记录警告
- 指标存储增长过快:无聚合或保留策略时,可聚合为每小时/每日数据,原始数据保留 30 天
- 仪表盘数据陈旧:查询管道滞后时,可添加数据新鲜度检查,超过 5 分钟陈旧即告警
- 重复指标:重试导致 generation_id 重复时,使用 INSERT OR IGNORE 配合 generation_id 唯一约束
企业级考量
- 每次请求后查询 /api/v1/generation?id= 获取精确成本(不要根据 token 计数估算)
- 30 天后将原始指标聚合为每小时/每日摘要以管理存储增长
- 构建自动化周报,包含成本趋势、顶级用户和异常检测
- 当每日成本超过历史平均值的 2 倍时设置告警(异常检测)
- 追踪 model_requested 与 model_used 以监控回退频率
- 使用每小时请求模式为 API 密钥速率限制做容量规划
参考
- Examples | Errors
- Generation API | Auth API