Skip to content

[Idea] WS 传输下消费每轮 Codex 配额帧,实时同步 5h/7d 用量 #800

Open

Description

@DeliciousBuding

问题

开启 CODEX_UPSTREAM_TRANSPORT=ws 后,Codex 的配额数据通过每轮 codex.rate_limits / codex.response.metadata 帧到达,原有 HTTP 响应头同步收不到这些更新。账号用量、自动暂停和进度条因此滞后于实际消耗;高并发突发可能在下次 WHAM 探针前耗尽窗口。

终态之后 1–2 秒还可能补发连接级配额帧,这些帧也需要应用到账号状态。

期望行为

  • 将主 5h/7d 用量、重置时间、credits 和套餐更新到内存、调度器及 /api/admin/accounts/live,账号页沿用每秒轮询。
  • 按窗口长度分类,逐窗口合并 partial 帧;缺失或 null 保留已有窗口。计量限额与 Relay 转发的配额保持隔离,帧中缺失的工作区硬停止字段保留原值。
  • 终态后最后一帧在观测锁争用时也能排队应用,读帧过程不等待数据库;持久化在后台合并,并提供部署级摄入开关。

实现进展

实现与验证见 #801,待合并。PR 中说明当前设计、测试结果和配置,具体字段契约见其中的 API 文档。

额外限额(Spark、review limits)、error 帧配额头、按帧新鲜度减少 WHAM 探针,以及单轮消耗的预测保护带,可另行跟进。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions