
CLIProxyAPI v8.0.48 在北京 22:37 发布,上一期那两张单今天一收一放:换模型族的胶囊 400 已修、缺 [DONE] 的 502 不再把凭证打进冷却,但 Claude 那条同样的 502 仍缺那个标记;另附余额为 0 的 Anthropic key 不换号时的止损写法与今晚五步动作。
#5283 14:35:55、#5783 14:35:58、#7112 14:36:00、#7118 14:36:03。| 项目 | 当前版本 | 发布时间(北京) |
|---|---|---|
| CLIProxyAPI | v8.0.48 | 10-30 22:37 |
| sub2api | v0.2.19 | 10-28 18:16 |
| codex-proxy | v2.1.21 | 10-28 04:33 |
| codex2api | v3.1.2 | 10-28 04:40 |
config.example.yaml 与 v8.0.47 逐字节相同。6 升级不用改任何配置键。dbb70621 只做一件事:把自家造的压缩胶囊在发给上游之前解开。encrypted_content 以 cpa-ag-compact-v1: 开头,或 item id 带自家前缀。展开时解封出摘要,替换成一条 role: developer 的消息,开头一句 Context summary from previous turns:。invalid compaction capsule,不再把无法验证的密文发给 OpenAI。gAAAA…——一个字节都不动,原样留下。7
internal/runtime/executor/helps/antigravity_compaction.go 第 347–377 行(v8.0.48):第 356 行判断这是不是自家胶囊,第 358 行解封,第 359–361 行解不开就直接报错,第 362–364 行换成 role: developer 的摘要消息,第 368 行把外来压缩项原样塞回去。8f013eb66 的代码改动是一行。
internal/runtime/executor/openai_compat_executor.go 第 627–643 行(v8.0.48):第 631 行就是这个合成出来的 502,行尾的 streamTruncated: true 是本版新加的。它不影响客户端看到什么——照旧是 502——只影响本地怎么处置。10
sdk/cliproxy/auth/conductor_cooldown.go 第 2928–2943 行(v8.0.48):isRequestInvalidError 第一件事就是判这个标记。命中即当作请求过错返回——第 2933–2934 行的注释写明了理由:这一轮的生成已经提交给上游,不能再换一张凭证重放。11openai-compatibility 下的上游。
internal/runtime/executor/claude_executor_stream.go 第 438–452 行(v8.0.48):第 445 行构造的 502 只带状态码与文案;第 548 行是另一条翻译路径上的同一句。两处都没有 streamTruncated。13auth_unavailable。routing:
cooldown:
transient-error-cooldown-seconds: 0-1 用在小池子上要小心:真正挂掉的号也不会被自动摘出来,会一直被选中。折中是给一个更小的秒数。stream closed before message_stop。这条在 Claude 路径上出现,就说明又踩到这个没带标记的分支。#7119 在 14:09:12 关成 not planned,比发版早 28 分钟。pi)。dbb70621 的展开只针对自家胶囊,原生压缩项「preserving」原样保留。gpt-* 与 claude-* 之间来回切的长会话,第三节那个客户端开关仍然是唯一的解:给这个 provider 设 capabilities.remote_compaction = "unsupported",压缩在本地做。#7120 在 14:21:01 开出,现在 open、零评论。15Your credit balance is too low to access the Anthropic API,不是 402。IsRequestFault:400 直接归请求过错,除非命中前面那几条例外(402、429、DeepSeek 的 401、模型不存在)。16api-keys:
claude:
- name: claude-1
keys:
- api-key: "sk-ant-..."
request-scoped-errors:
- status: 400
match:
- "credit balance is too low"
action: "stop-and-cooldown"config.example.yaml 两版一致。refresh_token_reused、refresh_token_expired、token_revoked、invalid_grant 这类终局失败标成不可重试,并在管理接口里给出结构化状态。18GET /v8/management/credentials 的返回里新增了 requires_sign_in、renewal_state、recovery_stage、access_token_expires_at、next_action 这些字段。19requires_sign_in: true。这些号现在还能跑,只是刷不动了,等到 access token 过期就一起掉。verify: true;也可以事后单独调 POST /v8/management/credentials/verify,body 是 {"name":"<文件名>","model":"<可选>"}。21routing.cooldown.save-cooldown-status 而 auth-dir 写的是相对路径,旧版会把状态写到 <auth-dir>/<auth-dir>/xxx.cds。| 补丁 | 买什么 | 规模 | 状态 |
|---|---|---|---|
| #8444 | 带供应商前缀的 DeepSeek 模型走峰谷价 | 2 文件 +157 −4 | open、unstable |
| #8445 | 强制路由模式下不再发那次探测请求 | 2 文件 +56 −0 | open、unstable |
| #8446 | MiniMax 语音、音色、图片、H3 视频接入与计费 | 92 文件 +6236 −83 | open、unstable |
openai_responses_mode 设成强制模式时,这次探测的结果在任何路径上都读不到——路由判定在 mode 那一步就短路了。纯浪费额度。#8446 是接入面,92 个文件、六千多行,作者自己也写了只覆盖官方 CN / International 地址,代理商自定义 Base URL 与账号级模型映射还没做。25#8443,13:47 开的,一张截图,要求把易支付改成异步通知。零评论。26degraded_performance,整站标 minor。streamTruncated 那种豁免。29page.updated_at 停在 15:04Z。30github.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
github.com
github.com
github.com
github.com
github.com
status.openai.com
status.openai.com
github.com
status.anthropic.com
status.cloud.google.com
codex-reset.com
opentherank.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.