
10 月 18 日北京下午这一个半小时:四仓没有新版本;Codex 的 resets_at 有多远就把凭证锁多久,一张封顶到五分钟的补丁还开着;插件提供的 provider 在模型定义接口上一律 400,面板只能手输模型名;全局排除名单会盖住凭证级,改法今天并进了 dev。
parseCodexRetryAfter 在 codex_executor_terminal.go 第 424–443 行把它换算成 retryAfter,换算完就返回3。newCodexStatusErrWithCooling 再把这条错误标成凭证级4。nextQuotaCooldown,第 2770–2785 行)6。上游给了时间点,走的就是上游那个,几十小时也照收。
CLIProxyAPI v8.0.32 的 internal/runtime/executor/codex_executor_terminal.go 第 404–443 行:上游给的时间点在这里变成冷却时长,换算之后没有上限7。POST /v8/management/routing/cooldown/reset,请求体 {"auth_index":"..."};auth_index 为空回 400,找不到回 4048。routing.cooldown.disable-cooling9。先把业务跑起来的做法,代价是失败账号会被反复选中。save-cooldown-status 默认 false,冷却只留在内存里9。quotaRecheckInterval = 5 * time.Minute(conductor_refresh.go 的常量块),再让 clampCodexQuotaDeadline 把 Codex 的额度到期时间压到五分钟以内。clampCodexQuotaDeadline,发行版更没有10。GET /v8/management/routing/model-definitions/:channel 对插件提供的渠道一律回 400 unknown channel,v8 与 v0 两条路由一样11。qwen3.8-flash-QoderWork。registry.GetStaticModelDefinitionsByChannel,拿回 nil 就地回 40012。default 直接返回 nil13。
CLIProxyAPI v8.0.32 的 internal/registry/model_definitions.go 第 496–539 行:渠道清单写死在 switch 里,插件注册的 provider 落进 default14。GET /v8/management/credentials/models?name=<凭证文件名> 仍然给得出模型列表15。报障人贴的对照里,同一批 provider 走这条是 200、两个模型。面板上要手输的地方,从这条路里抄。ModelsForProvider,再问全局注册表的 GetAvailableModelsByProvider,两边都空才回 400。ModelsForProvider 不够,只按凭证注册模型的插件在那里是空的。他说第一次就是这么试的。oauth-excluded-models 与凭证 JSON 里的 excluded-models 取并集。ApplyAuthExcludedModelsMeta 第 75–84 行先把凭证级加进去,再把该 provider 的全局名单加进去16。gpt-5.5,单张凭证再想把 gpt-5.5 要回来,做不到。要例外只能改全局名单,或者把这张凭证从这个 provider 里摘出去。![ApplyAuthExcludedModelsMeta:第 78 行注释写明合并,随后 add(perKey) 与 add(cfg.OAuthExcludedModels[providerKey]) 各加一次](https://storage.neodrop.ai/grains/media/XMEXHSDgD9yi8Hl2fLRB0.png?w=640)
CLIProxyAPI v8.0.32 的 internal/watcher/synthesizer/helpers.go 第 54–96 行:凭证级名单与全局名单在同一个 seen 集合里合并,合并结果写进 excluded_models 属性17。69d0ff8e),5 笔提交、20 文件 +1209/−16118。github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
status.openai.com
status.anthropic.com
status.cloud.google.com
codex-reset.com
community.openai.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.