Skip to content

Latest commit

 

History

History
24 lines (19 loc) · 1.72 KB

File metadata and controls

24 lines (19 loc) · 1.72 KB

Token Quota Sync Overview

Stored Fields

  • remaining_queries / heavy_remaining_queries: 最新拉取到的剩余额度,直接来源于 Grok /rest/rate-limits
  • normal_limit / heavy_limit: 观测到的当前周期额度上限。每次同步时都会与剩余额度比较,取最大值并在额度回满时复位对应使用计数。
  • usage: 以模型 ID 为键的调用次数统计;普通模型根据倍率折算一次请求的消耗,grok-4-heavy 独立计数。

所有字段都会持久化到 token.json 或者你配置的其它存储后端。

自动刷新时机

  1. 正常请求:当 Chat 服务调用 Grok 成功后,后台会异步触发 refreshRateLimit,向 /rest/rate-limits 获取最新额度并更新上述字段。
  2. 管理员「测试 Token」:调用测试接口同样会拉取最新额度并写回。

手动同步

  • 接口:POST /v1/admin/api/tokens/sync
  • 行为:遍历当前所有 Token,对普通模型使用 grok-4-fast 查询额度,对 Super Token 额外使用 grok-4-heavy 查询重载额度。成功结果会写入 normal_limit / heavy_limitremaining_*
  • 前端:仪表盘「同步额度」文字按钮会调用该接口,完成后自动刷新 Token 列表与统计卡片。
  • 返回数据:{ total, updated, failed, heavy_failed } 用于提示同步结果。

前端展示逻辑

  • 对于每个模型,页面以「已用 / 总额」展示:
    • 已用 = usage[model](按模型倍率换算后的次数)
    • 总额 = max(normal_limit, usage_sum + remaining_queries)(对应模型所属的池)
  • 当检测到额度刷新(剩余额度增加)时,后台会清理相应模型的 usage,确保展示的 A/B 始终处于同一计费周期。