9Router 配额跟踪与用量监控实战指南实时追踪 Token 消耗、配额重置与成本预估【免费下载链接】9routerUnlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40 providers. Auto-fallback, RTK -40% tokens, never hit limits.项目地址: https://gitcode.com/GitHub_Trending/9r/9router导读本文以 9Router 的配额跟踪Quota Tracking与用量监控功能为主线完整讲解如何通过 Web 仪表盘实时查看各 AI 提供商Claude Code、Codex、Gemini CLI、GLM、MiniMax、iFlow 等的 Token 消耗、配额上限与剩余量、重置倒计时、成本估算与预算告警并深入剖析仓库中用量统计usageRepo.js、配额 APIAPI 路由与配额自动预热调度器quotaAutoPing.js的实现原理。读完本文你将掌握 9Router 用量监控的完整使用方式与底层数据流能够结合智能路由smart-routing与组合combos把订阅配额与预算花在刀刃上。概述9Router 的配额跟踪能力9Router 对所有接入的提供商提供统一的配额跟踪与用量监控核心能力包括实时 Token 消耗按请求展示每次调用的输入、输出与总 Token 数配额上限与剩余量将实际用量与提供商配额上限对比以百分比进度呈现重置倒计时精确展示配额将在何时重置滚动窗口、每日、每月等不同策略成本估算对按量计费的提供商实时计算当日、当月支出月度报告按周、按提供商、按模型分析使用模式并给出趋势预测告警与通知在配额用尽之前通过仪表盘、邮件或 Webhook 提前警告。这些能力在仓库中有着完整的实现支撑前端用量页面位于 dashboard/usage/page.js/dashboard/usage/page.js)支持 Today / 24h / 7D / 30D / 60D 多时间粒度后端统计逻辑集中在 usageRepo.js经由 usageDb.js 重导出以 SQLite 数据库usageHistory、usageDaily与_meta三张表为核心存储见 001-initial.js。仪表盘概览配额一览无余配额摘要卡片登录 Web 仪表盘后进入Dashboard → Home → Quota Overview每个已连接的提供商账户都会呈现一张配额摘要卡片直观展示当前用量状态┌─────────────────────────────────────────────┐ │ Claude Code (cc/) │ │ ████████████░░░░░░░░ 2.5h / 5h (50%) │ │ Resets in: 2h 30m │ │ Cost: $0 (subscription) │ └─────────────────────────────────────────────┘ ┌─────────────────────────────────────────────┐ │ Gemini CLI (gc/) │ │ ████████░░░░░░░░░░░░ 450 / 1000 (45%) │ │ Daily reset in: 18h 30m │ │ Monthly: 45K / 180K (25%) │ │ Cost: $0 (free tier) │ └─────────────────────────────────────────────┘ ┌─────────────────────────────────────────────┐ │ GLM-4.7 (glm/) │ │ ██████████████░░░░░░ 7M / 10M tokens (70%) │ │ Resets: Daily 10:00 AM (in 5h 35m) │ │ Cost today: $4.20 │ └─────────────────────────────────────────────┘ ┌─────────────────────────────────────────────┐ │ MiniMax M2.1 (minimax/) │ │ ████████████████░░░░ 4M / 5M tokens (80%) │ │ Rolling 5h window │ │ Cost (5h): $0.80 │ └─────────────────────────────────────────────┘ ┌─────────────────────────────────────────────┐ │ iFlow (if/) │ │ ████████████████████ Unlimited │ │ Cost: $0 (free forever) │ └─────────────────────────────────────────────┘不同提供商的配额语义差异巨大小时、请求数、Token 数、无限9Router 通过「ProviderLimits」组件src/app/(dashboard)/dashboard/usage/components/ProviderLimits/dashboard/usage/components/ProviderLimits/index.js)统一渲染为进度条与剩余时间其中 QuotaProgressBar.js/dashboard/usage/components/ProviderLimits/QuotaProgressBar.js) 负责进度可视化utils.js/dashboard/usage/components/ProviderLimits/utils.js) 提供calculatePercentage、getConnectionQuotaRemaining、sortVisibleConnections等解析与排序逻辑。提示ProviderLimits 组件支持按提供商过滤、按账户状态过滤、按配额剩余量排序并提供 Expiring first最先过期优先开关与批量关闭空配额账户 / 批量开启有配额账户的快捷操作对应源码中的handleDisableDepleted/handleEnableAvailable阈值常量DEPLETED_QUOTA_THRESHOLD。配额刷新机制配额数据不是一次性快照ProviderLimits 默认开启Auto-refresh自动刷新按REFRESH_INTERVAL_MS周期轮询/api/usage/[connectionId]页面上有 60 秒倒计时提示当浏览器标签页隐藏时Page Visibility API自动暂停轮询回到前台立即恢复避免无谓的网络请求。源码中还存在一个对 Claude 的节流策略Claude 的配额每 N 个 tick 才轮询一次CLAUDE_REFRESH_INTERVAL_MS / REFRESH_INTERVAL_MS取整而手动点击 Refresh all 会强制全量刷新平衡实时性与上游接口压力。实时 Token 消耗请求级跟踪每次请求完成后9Router 都会记录该请求的完整 Token 明细。进入Dashboard → Activity → Recent Requests可查看Request #1234 Model: cc/claude-opus-4-5-20251101 Timestamp: 2026-02-04 04:15:32 Tokens: Input: 1,250 tokens Output: 850 tokens Total: 2,100 tokens Cost: $0 (subscription quota) Duration: 3.2s Status: ✅ Success这一能力的底层是 usageRepo.js 的saveRequestUsage它在一个数据库事务内完成三件事——向usageHistory表插入单次请求明细、向usageDaily表按本地日期做每日聚合aggregateEntryToDay同时维护byProvider/byModel/byAccount/byApiKey/byEndpoint五个维度、并对_meta表中的totalRequestsLifetime做原子自增。Token 字段同时兼容prompt_tokens/input_tokens输入与completion_tokens/output_tokens输出两套命名见 001-initial.js 的表结构并对cached_tokens缓存命中单独计数为后续成本核算与缓存分析留出数据基础。实时用量监视器Dashboard → Live Monitor展示正在进行的请求进行中、尚未完成Current request: Model: glm/glm-4.7 Tokens streamed: 450 / ~800 estimated Cost so far: $0.0009 Duration: 1.8s进行中请求由trackPendingRequest维护在内存态pendingRequests.byModel/byAccount中并带 60 秒超时兜底PENDING_TIMEOUT_MSgetActiveRequests汇总活动请求与最近 20 条去重后的请求记录返回给前端。前端 UsageStats.js 通过/api/usage/stats拉取统计并通过EventSource(/api/usage/stream)SSE 实时流订阅statsEmitter发出的事件从而让图表与数字随请求完成自动刷新。按模型 Token 分解Dashboard → Analytics → Token Usage按模型汇总当日 TokenToday (Feb 4, 2026): cc/claude-opus-4-5: 15M tokens ($0, subscription) glm/glm-4.7: 8M tokens ($4.80) if/kimi-k2-thinking: 3M tokens ($0, free) Total: 26M tokens Cost: $4.80getUsageStats(period)对 Today/24h 直接扫描usageHistory明细对 7D/30D/60D 则读取usageDaily预聚合数据loadDaysInRange并用历史表回填精确的lastUsed时间戳图表数据由getChartData(period)按小时Today/24h或按天7d/30d/60d分桶生成。配额上限与重置时间9Router 将提供商划分为三类分别处理其配额语义。订阅型提供商Claude CodePro/Max配额类型: 时间制5小时滚动窗口 上限: 5小时使用时长 重置: 5小时滚动窗口 每周更新 跟踪: 按模型记录使用时长 仪表盘显示: Opus: 2.5h / 5h 使用 Sonnet: 1.2h / 5h 使用 Haiku: 0.8h / 5h 使用 周重置: 每周一 00:00 UTCOpenAI CodexPlus/Pro配额类型: 时间制5小时滚动窗口 上限: 5小时Plus/ 10小时Pro 重置: 5小时滚动窗口 每周更新 仪表盘显示: GPT-5.2 Codex: 3.5h / 5h 使用 Resets in: 1h 30mGemini CLI免费版配额类型: 请求数 月度 Token 日上限: 1,000 次请求 月上限: 180,000 次补全 重置: 每日 00:00 UTC 每月 1 日 仪表盘显示: Today: 450 / 1,000 requests (45%) This month: 45K / 180K completions (25%) Daily reset in: 18h 30m Monthly reset in: 26 daysGitHub Copilot配额类型: 月度用量 上限: 视套餐而定 重置: 每月 1 日 仪表盘显示: Usage: 60% of monthly quota Resets: March 1, 2026 (in 25 days)源码佐证Codex 的配额接口由 open-sse/services/usage/codex.js 实现前端 ProviderLimits 还提供了 Codex 专属的 Reset Codex Limit 按钮调用/api/usage/[connectionId]/codex-reset-credits与重置积分reset credits查看功能getCodexResetCreditCount、formatCreditDate详见 index.js/dashboard/usage/components/ProviderLimits/index.js#L97-L125)。低价型提供商GLM-4.7配额类型: 每日 Token 上限 上限: 10M Token/日Coding Plan 重置: 每日上午10点北京时间 UTC8 仪表盘显示: Used: 7M / 10M tokens (70%) Remaining: 3M tokens Resets in: 5h 35m Cost today: $4.20MiniMax M2.1配额类型: 5小时滚动窗口 上限: 每5小时 5M Token 重置: 连续滚动窗口 仪表盘显示: Used (5h): 4M / 5M tokens (80%) Oldest usage expires in: 45m Cost (5h): $0.80Kimi K2配额类型: 月度订阅 上限: 10M Token/月固定 $9 重置: 订阅日每月重置 仪表盘显示: Used: 6M / 10M tokens (60%) Resets: Feb 15, 2026 (in 11 days) Cost: $9/month (prepaid)免费型提供商iFlow / Qwen / Kiro配额类型: 无限制限速 上限: 无硬性限制 重置: 无 仪表盘显示: Used today: 5M tokens Cost: $0 (free forever) Status: ✅ Available源码佐证配额上限数据来自各提供商 usage 服务open-sse/services/usage 目录下的 claude.js、codex.js 等通过 API 路由 route.js 暴露OAuth 连接先经refreshAndUpdateCredentials刷新令牌必要时对鉴权过期消息强制刷新并重试一次再调用getUsageForProvider拉取实时配额并解析连接级代理配置strictProxy: false代理失败时回退直连。成本估算实时成本跟踪Dashboard → Costs → Today将当日成本按订阅 / 按量 / 免费三类汇总Subscription providers: $0 Claude Code: 15M tokens ($0, included) Gemini CLI: 3M tokens ($0, free tier) Paid providers: $4.80 GLM-4.7: 8M tokens ($4.80) Input: 6M × $0.60/1M $3.60 Output: 2M × $2.20/1M $4.40 Total: $4.80 Free providers: $0 iFlow: 3M tokens ($0) Total today: $4.80成本核算链路在源码中清晰可见saveRequestUsage在落库前调用calculateCost(provider, model, tokens)通过 pricingRepo.js 的getPricingForModel获取定价最终委托给 open-sse/providers/pricing.js 的calculateCostFromTokens完成乘法计算——源码注释明确说明这是单一事实来源避免多份实现漂移见 usageRepo.js。月度支出报告Dashboard → Costs → This Month按周拆解并给出月度预测Week 1 (Feb 1-7): Subscription: $0 (80M tokens) Paid: $15.20 (25M tokens) Free: $0 (10M tokens) Total: $15.20 Week 2 (Feb 8-14): Subscription: $0 (75M tokens) Paid: $12.80 (20M tokens) Free: $0 (8M tokens) Total: $12.80 Month to date: $28.00 Projected (30 days): ~$120 Breakdown by provider: GLM-4.7: $22.00 (78%) MiniMax M2.1: $6.00 (22%) Average cost per 1M tokens: $0.62成本预测Dashboard → Costs → Projections基于最近 7 天用量外推月度成本并与预算对比Based on last 7 days usage: Daily average: 50M tokens Daily cost: $4.50 Monthly projection: Tokens: 1,500M (1.5B) Cost: $135 Budget status: Daily limit: $5 → 90% used today Monthly limit: $150 → 90% projected ⚠️ Warning: May exceed monthly budget提示预测基于仓库实际统计的每日聚合数据usageDaily计算属于可复现的统计推演而非固定经验值实际数值以你自己的历史用量为准。使用量仪表盘概览统计Dashboard → Analytics → Overview提供日 / 周 / 月三级汇总Today (Feb 4, 2026): Requests: 1,234 Tokens: 26M Cost: $4.80 Avg response time: 2.1s This week: Requests: 8,456 Tokens: 180M Cost: $28.00 Success rate: 99.2% This month: Requests: 15,234 Tokens: 320M Cost: $52.00 Top model: cc/claude-opus-4-5 (45%)按模型用量Dashboard → Analytics → Models展示模型排行与成本分解Top models (this month): 1. cc/claude-opus-4-5: 145M tokens (45%) 2. glm/glm-4.7: 95M tokens (30%) 3. if/kimi-k2-thinking: 50M tokens (16%) 4. minimax/MiniMax-M2.1: 20M tokens (6%) 5. gc/gemini-3-flash: 10M tokens (3%) Cost breakdown: cc/claude-opus: $0 (subscription) glm/glm-4.7: $45.00 if/kimi-k2-thinking: $0 (free) minimax/MiniMax-M2.1: $7.00 gc/gemini-3-flash: $0 (free)按时段用量Dashboard → Analytics → Timeline按小时展示当日流量曲线用于发现高峰时段Hourly usage (today): 00:00 - 01:00: 0.5M tokens ... 08:00 - 09:00: 3.2M tokens (peak) ... 23:00 - 00:00: 0.8M tokens Peak hours: 08:00 - 12:00 (morning coding) Low hours: 00:00 - 06:00 (night)按组合Combo用量Dashboard → Analytics → Combos按 combos 组合维度拆解用量直观看到每个组合中哪个模型消耗了多少成本premium-coding: Requests: 456 Tokens: 12M Cost: $2.40 Breakdown: cc/claude-opus: 8M tokens (67%, $0) glm/glm-4.7: 3M tokens (25%, $1.80) minimax/MiniMax-M2.1: 1M tokens (8%, $0.20) budget-combo: Requests: 234 Tokens: 6M Cost: $1.20源码佐证usageDaily的byAccount/byApiKey/byEndpoint维度支持从账户、API Key、目标端点三个视角交叉分析见 usageRepo.js 的aggregateEntryToDay这正是 Combos 拆解与多账户用量对比的数据基础。告警与通知配额告警Dashboard → Settings → Alerts支持多级阈值Quota warnings: ✅ Alert at 80% quota used ✅ Alert at 90% quota used ✅ Alert when quota exhausted ✅ Notify when quota resets Delivery: ✅ Dashboard notification ✅ Email (optional) ✅ Webhook (optional)通知示例⚠️ Claude Code quota 80% used 2.5h remaining (resets in 1h 30m) ⚠️ GLM-4.7 quota 90% used 1M tokens remaining (resets in 5h) ✅ Gemini CLI quota reset 1,000 requests available (daily limit)预算告警Dashboard → Settings → Budget Alerts支持日 / 月两级预算与自动降级Daily budget: $5 ✅ Alert at 80% ($4) ✅ Alert at 100% ($5) ✅ Auto-switch to free tier when exceeded Monthly budget: $150 ✅ Alert at 50% ($75) ✅ Alert at 80% ($120) ✅ Alert at 100% ($150)通知示例⚠️ Daily budget 80% used $4.00 / $5.00 spent today Daily budget exceeded $5.20 / $5.00 spent today Auto-switched to free tier超额自动切换到免费层这一行为与 smart-routing 的配额感知路由紧密联动当某提供商配额耗尽时路由层会自动把流量转发到组合中的下一个可用提供商。成本异常检测Dashboard → Settings → Anomaly Detection识别异常支出模式✅ Detect unusual spending patterns ✅ Alert on cost spikes (2× daily average) ✅ Warn on quota exhaustion patterns Example alert: ⚠️ Cost spike detected Today: $12.50 (2.5× daily average) Reason: High GLM-4.7 usage (20M tokens) Suggestion: Check if primary models quota-exhausted最佳实践1. 每天监控配额日课: 1. 查看仪表盘配额概要30 秒 2. 确认重置时间 3. 按配额可用性规划当日用量 例早晨检查: ✅ Claude Code: 5小时可用刚重置 ✅ Gemini CLI: 1K 请求可用 ⚠️ GLM-4.7: 剩余 2M Token上午10点重置 行动: 上午工作优先使用 Claude Code2. 设置预算上限Dashboard → Settings → Budget: Daily: $5防止过度花费 Monthly: $150与预算对齐效果达到上限后自动切换到免费层杜绝预算超支。3. 优化组合使用Dashboard → Analytics → Combos: 观察哪些模型使用最频繁 调整组合顺序以最小化成本 例: 当前: cc/claude-opus → glm/glm-4.7 80% 经 Claude良好 20% 经 GLM$12/月 优化后: gc/gemini-3-flash → cc/claude-opus → glm/glm-4.7 50% 经 Gemini免费 40% 经 Claude订阅 10% 经 GLM$6/月 节省: $6/月4. 跟踪重置时间Dashboard → Quota → Reset Schedule: Claude Code: 5小时滚动 每周一 Gemini CLI: 每日 00:00 UTC 每月 1 日 GLM-4.7: 每日上午10点北京时间 MiniMax: 5小时滚动窗口策略在配额刚重置时优先使用该提供商。5. 定期查看月度报告Dashboard → Analytics → Monthly Report: Total tokens: 1.5B Total cost: $120 洞察: - 60% 经订阅$0 - 30% 经 GLM$90 - 10% 经免费层$0 优化: - 增加 Gemini CLI 使用免费 - 减少 GLM 使用较贵进阶技巧9Router 还提供Quota Auto-Ping配额自动预热功能quotaAutoPing.js。针对 Claude / Codex 这类5 小时滚动窗口配额可开启claudeAutoPing/codexAutoPing设置调度器会在配额重置后的瞬间发送一个极小 Token 的探针请求Claude 用max_tokens很小的 messages 请求Codex 走 executor 流式请求并排空响应体从而立即开启新的 5 小时窗口让重置即满血。调度器内部维护resetCache/failureCache带失败冷却failureCooldownMs与最小 ping 间隔minPingIntervalMs防抖避免对上游造成压力。API 访问除仪表盘外9Router 提供 HTTP API 供脚本与外部工具读取配额与用量。获取配额状态GET http://localhost:20128/api/quota Authorization: Bearer your-api-key Response: { providers: [ { id: cc, name: Claude Code, quota: { used: 2.5, limit: 5, unit: hours, percentage: 50 }, reset: { type: rolling, window: 5h, nextReset: 2026-02-04T06:45:00Z }, cost: { today: 0, month: 0, currency: USD } }, { id: glm, name: GLM-4.7, quota: { used: 7000000, limit: 10000000, unit: tokens, percentage: 70 }, reset: { type: daily, time: 10:00 AM UTC8, nextReset: 2026-02-04T10:00:0008:00 }, cost: { today: 4.20, month: 52.00, currency: USD } } ] }获取使用统计GET http://localhost:20128/api/usage?periodtoday Authorization: Bearer your-api-key Response: { period: today, date: 2026-02-04, summary: { requests: 1234, tokens: 26000000, cost: 4.80 }, byModel: [ { model: cc/claude-opus-4-5, requests: 456, tokens: 15000000, cost: 0 }, { model: glm/glm-4.7, requests: 234, tokens: 8000000, cost: 4.80 } ] }说明以上 API 响应结构为文档约定格式。从当前仓库源码看仪表盘实际使用的端点以/api/usage/*为主包括/api/usage/[connectionId]单连接配额见 route.js、/api/usage/providersroute.js、/api/usage/stats、/api/usage/chart、/api/usage/request-details、/api/usage/request-logs等统一挂载在 dashboardGuard.js 的受保护路由列表下。若你的版本端点有出入请以当前运行版本Dashboard → Network面板中的实际请求路径为准。故障排除问题配额显示 0% 但请求仍失败解决检查提供商连接Dashboard → Providers确认 API Key 是否有效查看提供商状态页是否宕机尝试重新连接 OAuth 提供商。补充配额 API 在 OAuth 令牌过期时会尝试自动刷新并重试一次见 route.js若返回 401说明凭据已失效需要重新授权。问题成本估算不正确解决进入 Dashboard → Settings → Pricing确认各提供商单价与最新费率一致提供商调价后及时更新费率持续不一致请联系支持。问题重置时间不更新解决刷新仪表盘F5确认系统时间准确检查时区设置重启 9Router。问题收不到告警解决检查 Dashboard → Settings → Alerts 配置确认邮箱地址正确检查垃圾邮件文件夹点击 Send Test 按钮测试通知。相关文档智能路由smart-routing —— 基于配额状态的自动故障转移组合combos —— 创建自定义故障转移链延伸阅读源码入口想深入了解配额跟踪实现可依次阅读 usageRepo.js统计核心、pricingRepo.js 与 pricing.js成本计算、quotaAutoPing.js配额预热、ProviderLimits/index.js/dashboard/usage/components/ProviderLimits/index.js)配额卡片 UI以及 tests/unit/quota-auto-ping.test.js、tests/unit/provider-quota-visibility.test.js 等测试用例。【免费下载链接】9routerUnlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40 providers. Auto-fallback, RTK -40% tokens, never hit limits.项目地址: https://gitcode.com/GitHub_Trending/9r/9router创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考