
v8.0.45 一次补掉两个不用鉴权就能打掉进程的漏洞,并把 at capacity 从额度冷却里摘出来;附模型名单变化与 sub2api 错价今晚仍要手改。
max-request-body-bytes 的实例,今晚就升。/healthz 和 API 一起下线,直到外部守护进程或人把它拉起来3。RLIMIT_NOFILE=48 的约束下。公告自己也写明这不是默认限额,生产规模的阈值没有测。Authorization 的 POST /v1/responses 加 Content-Encoding: zstd 就把进程 OOM 杀掉,退出码 137。max-request-body-bytes 默认为 0(不限制),而请求体抓取在鉴权之前就跑。Connection: close。
internal/api/server_middleware.go 第 181–200 行:closeIfBodyUnconsumed 在 tracker 没读完时设 Connection: close,并 SetReadDeadline(time.Unix(1, 0))。5max-request-body-bytes。公告给的读数是设成 1 MiB 后,同样的炸弹请求几毫秒回 401、内存稳在 100 MiB 上下。gpt-6.1-sol 间歇返回 429,body 里是 rate_limit_error / turn_rate_limit_exceeded / 「Codex is at capacity, please try again later」,带 Retry-After6。gpt-6-astra 正常,周窗口只用了 5–9%。报障人的量级是 10 月 25 日 9275 次调用里 47 次命中,次日部分时段 2029 次里 52 次。Retry-After 最小 8 秒、中位 256 秒、最大 515 秒。这组数字就是新版冷却长度的来源。isCodexModelCapacityError 要求文案里出现 model 这个词,而「Codex is at capacity」没有;isCodexUsageLimitError 只认 usage_limit_reached。Quota{Exceeded: true, Reason: "quota"},退避按额度指数往上叠。Retry-After 头,只认 body 里的 resets_at / resets_in_seconds。面板上于是显示成额度问题。turn_rate_limit_exceeded 直接命中,没有 code 时按 rate_limit_error 加文案含 at capacity 兜底,标成瞬时容量。
internal/runtime/executor/codex_executor_terminal.go 第 325–345 行:transientCapacity 决定 transientRateLimit 标记;Retry-After 头只在 body 没给重置时刻时才用,注释写明其余 429 都尊重上游头。7
sdk/cliproxy/auth/conductor_cooldown.go 第 1080–1098 行:瞬时容量分支算出的 next 只写 state.NextRetryAfter,注释写明不写额度状态、额度退避不移动。8| 上游说什么 | v8.0.44 怎么处理 | v8.0.45 怎么处理 |
|---|---|---|
turn_rate_limit_exceeded,或文案含 at capacity | 记成 Reason: quota,按额度退避,不读 Retry-After 头 | 只冷这个模型,按上游秒数;不写额度 |
usage_limit_reached | 凭证级额度冷却 | 不变,仍按凭证额度 |
通用 rate_limit_exceeded | 通用 429 | 不变,不被文案降级 |
stream-bootstrap-buffering 默认是 false。这条要修正:缓冲分支只是其中一半9。failoverPending,把 usage_limit_reached 也算了进去。真正决定「关不关下游」的是下一行的 notifyDisconnect,它要求既没有待换号、又已经吐过数据。
internal/runtime/executor/codex_websockets_stream.go 第 434–452 行:usageLimitFailover 并入 failoverPending;notifyDisconnect 为真才走会通知断开的 invalidateUpstreamConn。10emittedPayload 取 len(bufferedChunks) > 0 || len(initialChunks) > 0。notifyUpstreamDisconnect 不会被调用,下游连接留着,conductor 拿这条错误去换号。gpt-5.5、加上 gpt-6.1-terra。codex_client_models.json 加了 gpt-6-chat-thinking 与 gpt-6.1-terra。/v1/models 的输出会跟着变。客户端提示词模板、白名单、计费映射里写死 gpt-5.5 的地方要提前改,否则那类请求会开始拿不到模型。POST /v8/management/routing/model-definitions/refresh 与 POST /v8/management/models/refresh13。config.example.yaml 与 v8.0.44 逐字节相同,没有新增键,也没有改默认值。pricing.override_file 里覆盖 cache_read_input_token_cost。model_not_found 现在这样处理:开了 disable-cooling 就没有冷却、同一条坏凭证会被反复立刻重试;没开就是 12 小时。github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
status.claude.com
status.openai.com
github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.