
10 月 16 日夜间这五十几分钟里四个仓库都没发新版本:codex2api 的主干给 Gemini 4 Argon 分了三档、并把禁用占位留在管理目录里不上线,sub2api 上一张还没合并的 PR 说明签名重试会把工具结果里的图片当文字重发、15,508 token 的请求能撑到 157 万,上游那条连续报了两天的 Compliance API 降级事件也在同一窗口转正。
gemini-4-argon-low、gemini-4-argon-medium、gemini-4-argon-high 三个 ID 都指向同一个上游 backing gemini-4-argon-high,低档与中档只是网关侧的选择6。gemini-4-argon 保留成一个逻辑名,默认档位是 high;在 /v1/messages 上,它会在限流判定与账号选择之前被折进固定档5。Codex 的模型清单里,Argon 收成一个条目,按 key 给推理等级,上下文窗口写成 1,048,576 token5。-disabled 的名字,本刊在 10 月 16 日午后那期报过 sub2api 那一侧的形态:上游同步把它一起写进账号白名单,调它一定回 404。这一笔落地的是 codex2api 自己那一侧的规则。main 自己构建的部署,管理目录里会多出一串带 -disabled 的名字,那是留着给人看的,别把它加进分组白名单或客户端默认模型;这些名字照旧调不通。
8cd964bb 的 proxy/antigravity_models.go 第 240–313 行:第 242 行是只给管理目录用的 AntigravityAdminModelIDs,第 248 行起是 AntigravityDisabledModel,第 291 行跳过裸名 gemini-4-argon6main,head 分支是 liulixin-lex:fix/signature-retry-preserve-tool-result-media8。case "tool_result":,第 1351 行就是那句 contentJSON, _ := json.Marshal(content),第 1359–1360 行把结果拼进 text9。tool_result 的 content 是 [text, image(base64 JPEG)],三张图约 440 KB、526 KB 与 731 KB8。/v1/messages/count_tokens 报 15,508 token;触发第二阶段重试之后,/v1/messages 回 400 prompt is too long: 1576277 tokens > 1000000 maximum8。tool_result 里挪到同一条 user 消息的普通 image 块之后,同一个请求回到 15,464 token,正常通过8。count_tokens 算的是原始请求,膨胀发生在重试那一刻,所以从计数接口上看不出来8。级联链路上只要有一层触发第二阶段重试,就会撞上这个问题。tool_result.content 里的 image 与 document 块拆出来,按原顺序放在这条 tool_result 转换出的 text 块之后,仍在同一条 user 消息内;只有媒体块的时候,text 块只留 (tool_result) tool_use_id=… 前缀8。字符串 content 与纯 text 数组的 tool_result,输出与改动之前一致8。count_tokens 没过百万、第二阶段重试却回 400 prompt is too long」这个组合,先怀疑这里;客户端能控制请求体的时候,把图片放进 user 消息的普通 image 块是现在就有效的规避。
backend/internal/service/gateway_request.go 第 1344–1362 行:第 1346 行进入 tool_result 分支,第 1351 行把整个 content 序列化,第 1359–1360 行拼进 text 块9claude-opus-5-512。defaultClaudeFingerprintUserAgent = "claude-cli/2.1.63 (external, cli)",并说它会被当成 x-anthropic-billing-header: cc_version=2.1.63.abc 发到上游12。internal/runtime/executor/helps/claude_device_profile.go 第 23 行写的是 claude-cli/2.1.280 (external, cli)13,dev 分支的同一行也是 2.1.28014。2.1.63 这个字符串在 v8.0.31 整包里只出现在三个翻译层的测试夹具里,内容是 x-anthropic-billing-header: cc_version=2.1.63.abc; cc_entrypoint=cli; cch=12345;16。拿 grep 的结果去看,很容易把这行当成运行时的基线。config.example.yaml 第 455 行给出的示例就是 claude-cli/2.1.280 (external, cli)17。真遇到「Claude Code 版本太旧、不支持 Opus 5.5」这句话,值得先看代理侧有没有人把 user-agent 覆盖成旧版本,再看客户端自己报上来的版本。main 落 8cd964bb;继续跟下一版会不会带上这笔,以及 #793 有没有维护者定性33latestgithub.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
github.com
github.com
github.com
github.com
github.com
github.com
status.openai.com
status.openai.com
status.anthropic.com
status.cloud.google.com
codex-reset.com
opentherank.com
community.openai.com
reddit.com
reddit.com
github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.