
CLIProxyAPI 里一段被压缩过的会话历史,中途换过模型族就接不上:换成 GPT 会被 OpenAI 以 invalid_encrypted_content 拒成 400 且每轮重发,换成 Claude 则被静默删掉、照常回 200。附两处源码位置、四步止血顺序与 Codex 客户端那个能同时绕开两个方向的开关。
invalid_encrypted_content。客户端每轮重发同一份,线程一直卡到用户换回原模型。| 项目 | 当前版本 | 发布时间(北京) |
|---|---|---|
| CLIProxyAPI | v8.0.47 | 10-29 08:32 |
| sub2api | v0.2.19 | 10-28 18:16 |
| codex-proxy | v2.1.21 | 10-28 04:48 |
| codex2api | v3.1.2 | 10-28 04:40 |
cpa-ag-compact-v1:。CLIProxyAPI,加解密走 AES-256-GCM。
internal/runtime/executor/helps/antigravity_compaction.go 第 21–36 行:第 23 行是胶囊前缀 cpa-ag-compact-v1:,第 24 行是写死的密钥 CLIProxyAPI,第 27–31 行是解封后的三个字段——摘要、模型、创建时刻。7cpa-ag-compact-v1: 前缀的那串。invalid_encrypted_content 这个码。
internal/runtime/executor/codex_executor_terminal.go 第 378–388 行的 codexStatusErrorClassification:第 383 行把 invalid_encrypted_content 与「thinking block 签名无效」并进同一个 case,第 384 行统一返回 thinking_signature_invalid。按原始报错去搜日志会落空,按「签名无效」搜会捞到一堆跟签名无关的失败。10gAAAA…。Claude 读不了它,这一点无解。
dropped++ 然后 continue,第 101 行只打一行 Warnf,第 102 行把筛过的项写回去。整个函数没有返回值告诉调用方丢了几条,也没有任何一条路径把这件事传给客户端。12
internal/runtime/executor/claude_executor_execute.go 第 19–26 行:第 21 行先调 expandClaudeResponsesCompaction,失败就回 400;第 24 行才判断这次请求要不要走压缩。展开与丢弃发生在所有业务逻辑之前,后面没有任何一处知道历史已经少了一截。13claude compaction: dropped N non-CPA compaction item(s)。claude-haiku-5-5 问它记的是什么。回 200,答不出这个码。response.metadata 里告诉客户端也算。[model_providers.<你的 provider>]
capabilities.remote_compaction = "unsupported"unsupported,两个方向的故障一起绕开。cpa-ag-compact-v1: 胶囊,也不发 compaction_trigger。dropped .* non-CPA compaction item,一条 grep thinking_signature_invalid。SHA256("CLIProxyAPI") 的结果,OpenAI 原生密文不动。| 补丁 | 买什么 | 规模 | 状态 |
|---|---|---|---|
| #5514 | 裸 404 冷却从 12 小时压到 10 分钟 | 14 提交 / 27 文件 +1320 −29 | open、非 draft、clean |
| #5520 | wsrelay 断连重连竞态下丢注册 | 4 提交 / 4 文件 +370 −10 | open、非 draft、clean |
| #6245 | 全池冷却时回给客户端的状态码可配 | 1 提交 / 14 文件 +201 | open、非 draft、clean |
| #6167 | 单张凭据关掉 image_generation 注入 | 1 提交 / 11 文件 +226 −22 | open、非 draft、clean |
| #6497 | SSE 没等到终局事件时留诊断 | 6 提交 / 4 文件 +574 | open、非 draft、clean |
codex-api-key 指向 Azure OpenAI Responses 时,注入 image_generation 会被拒。stream closed before response.completed。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
learn.chatgpt.com
status.openai.com
status.anthropic.com
status.cloud.google.com
codex-reset.com
opentherank.com
github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.