ChatGPT Plus 把 5 小时的用量窗口加上了。

很多时候你改到最关键的时候,突然跳出一行红字:You've reached your usage limit until...。推特上老外们在激情对线骂官方限流,而作为一个老中,看到这个规则的瞬间,脑子里的本能反应只有两个字:卡 bug。


我研究了一下这个 5 小时窗口。

它本质上是一个轮动窗口(Rolling Window),并不是固定时间段自动重置的。如果你在这 5 小时当中没有发送任何消息,计时就不会开始,窗口就会被无限往后延。

摸清楚这个规则后,我想做的其实就两件事:

1. 凌晨解封时,自动把任务发到指定项目的指定 Session

很多时候晚上把额度耗尽,下一个解封时间往往已经是凌晨两三点。我不可能为了发一条 Prompt 熬大夜守着,但直接睡觉又白白浪费了后半夜的窗口。

所以我需要一个工具:睡前把需求和 Prompt 预先写好,选好具体的项目(Project)和对应的会话(Session)。到了凌晨窗口一解封,它自动帮我把 Query 发送出去跑起来,早上醒来直接看结果。

2. 早晨自动激活,让白天尽量用满更多的窗口

如果前一晚没有夜间任务,第二天睡到自然醒才发第一条消息,窗口计时才刚开始,白天满打满算往往只能蹭到 2 个用量窗口。

但如果在清晨(比如早上 6、7 点)让它自动发一个最短的 Query 提前开启第一个 5 小时,等上午真正开始干活时,第一轮额度已经在倒计时甚至快要刷新了。这样一来,白天的活跃时间就能稳稳蹭满 3 个窗口,把订阅的算力利用率拉到最大。


搞清楚这两件事后,我就顺手写了这个原生的 macOS 桌面小工具:Next5h。

Next5h - macOS 原生 Codex 5H 自动续航工具
Next5h - macOS 原生 Codex 5H 自动续航工具

实现起来也很直接,主要打通三块:

  1. 接上本地用量接口:直接读取本地 Codex 的用量状态,获取剩余额度以及 5 小时窗口的具体结束时间;
  2. 打通本地项目与 Session 路由:读取本地上下文,支持精确指定要把 Query 发给哪个项目、哪条历史会话;
  3. 调用发送接口:接入本地关于模型交互与发送 Response 的必要接口,在设定好的时间(窗口解封或指定清晨时间)准时派发。

把这两个时间差卡上之后,后半夜的算力没被浪费,白天的可用窗口也多出了一整轮。

项目地址:GitHub - KhalilHsu/next5h
官网地址:Next5h 官方主页