
v8.0.51 不校验 ultrafast 的凭证资格,混池里这一档会落到只买 Pro 的号上;同一小时还有一张单报 Gemini 省掉的 role 被翻成空串。
service_tier: ultrafast 这一档,本周还会被原样送出去。CLIProxyAPI v8.0.51 的 Codex 翻译层把 fast 与 priority 统一成 priority,ultrafast 原样写回上游。1ultrafast 请求可以落到只买 Pro 的那张号上。plan_type;把 ProMax 号单独分组,让发 ultrafast 的客户端只打那一组;或者让客户端改发 priority。
sdk/cliproxy/auth/conductor_selection.go 第 86–129 行:结构体只有三个字段,authSelectionEligibilityForRequest 只填这三项,allows() 的三条判断止于凭证类型、策略与 free 标记。2model 与绑定模型不一致时才要求重放,档位变动不触发。5promax 与 AllowsServiceTier 都是零命中,sdk/cliproxy/auth/ 下也没有与档位相关的文件。这一维是补丁加上去的。AllowsServiceTier:档位不是 ultrafast 就放行;是 ultrafast 时,非 codex provider 与 API key 凭证放行,其余要求 plan_type 等于 promax。6 不合格时回本地 400,错误码 service_tier_unavailable。
mInrOz/CLIProxyAPI 的 sdk/cliproxy/auth/codex_service_tier.go 第 13–41 行:AllowsServiceTier、allowsCodexUltrafast 的准入条件,注释写明 Codex 号需要 ProMax、API key 与其它 provider 沿用上游契约。6promax 只出现在上面两张补丁里,两位互不相干的作者都拿 plan_type 与它比对。priority 与 ultrafast 都回 service_tier:"default"。8 回执分不出档,只能看速度。plan_type,取自 id_token 的 chatgpt_plan_type。10ultrafast 的客户端只打那一组。分组在配置层,改完热重载。service_tier 改成 priority,落到 Fast 档。代价是速度,换来确定的档位与计费。ServiceTier(客户端要求的档)、EffectiveServiceTier(翻译与规则之后出站体里的档)、ResponseServiceTier(上游回执里的档)。11contents[].role 可以省略,原生端点按 user 处理。翻到 OpenAI Chat、Claude Messages、Codex Responses 这三条路上,省略的 role 会变成空串。12 结果是 400,或者输入被静默丢掉。openai_gemini_request.go 第 174–186 行:取 role 之后只有一条 model → assistant 的分支,随后 sjson.SetBytes 写回。13claude_gemini_request.go 第 244–258 行:同一句取值,映射 model、function、tool 三个。14codex_gemini_request.go 第 132–138 行:只映射 model。15
internal/translator/openai/gemini/openai_gemini_request.go 第 168–183 行:第 177 行取 role,第 181–183 行只在 model 时改成 assistant。13
internal/translator/antigravity/gemini/antigravity_gemini_request.go 第 64–88 行:role 落不到 user 或 model 时,按是否含 functionResponse、以及上一轮的角色补成 user 或 model。16role:"user"。已经撞上 400,或回包里 promptTokenCount 是 0,可以先按这条判。github.com
github.com
github.com
github.com
developers.openai.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
status.openai.com
status.anthropic.com
codex-reset.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.