
CLIProxyAPI v8.0.46 把下游 zstd 流的常驻内存从每流约 18 MB 压到 2.5 MiB,同时把停服卡到 71.7 秒的注册表扫描换成计数器;另有一处对外事件改动:response.metadata 从此只发给官方 Codex 客户端,判定只看 User-Agent 与 Originator。
response.metadata 从此只发给官方 Codex 客户端。User-Agent 或 Originator。| 项 | 读数 |
|---|---|
| 版本号 | v8.0.46,target main |
| 发布时刻 | 2026-10-28T11:01:00Z,北京 19:01 |
| 上一版 | v8.0.45,2026-10-27T15:27:00Z,北京 10-27 23:27 |
| 改动规模 | 19 笔提交、38 个文件 |
| 配置 | config.example.yaml 与上一版只差一段注释,无新增键、无默认值变化 |

WithWindowSize(1<<20) 与 WithLowerEncoderMem(true):4。server.response-compression.enabled 默认 true,min-bytes 默认 1024,只对声明了 zstd 或 gzip 的客户端生效,WebSocket 升级从不压缩。GOMEMLIMIT 比。升级前用 18 MB 去乘同一个数,差值就是这一版替你省下的额度。response.metadata 只发给官方 Codex 客户端response.metadata 事件(提示词审核标记,见 #6856)。网关原来把它转给所有 Responses 客户端。unknown variant response.metadata,整轮作废。response.metadata 加进私有事件名单,标准 Responses 客户端不再收到它:5。
codex.* 前缀加 response.metadata 这一个名字:6。User-Agent 与 Originator。codex-desktop、codex desktop、codex-rs、codex_cli_rs、codex-tui、codex_exec 任一即算;Originator 是 codex desktop、codex-tui、codex_cli_rs 或它们的带版本前缀也算。
codex.response.metadata。二是给非 Codex 客户端伪造 Codex UA 的站:它们会继续收到 codex.* 私有事件,Grok Build 这类闭集客户端照样崩。response.failed,其余客户端收到 error。这个分叉在 v8.0.45 就有,不是这一版的新行为,别把它当成回归。User-Agent 与 Originator 是否还带着 codex_cli_rs/、codex-tui/ 这类片段。被改写过就恢复透传。Service.Run 阻塞在模型注册的 wg.Wait(),走不到监听 ctx.Done() 的那一步,SIGTERM 就一直没人接。systemd 到点补一刀 SIGKILL。TimeoutStopSec 只差 18 秒:8。
Content-Encoding 的响应。旧实现为了嗅探魔数,会在返回解码器之前 Peek(4),调用方要一直等到上游发出首字节。现在嗅探挪到第一次 Read,而且只有首字节可能是 gzip 的 1f 或 zstd 的 28 时才多等一个字节。response.interrupt,以前会被当成有效中断,伪造出一个 response.incomplete。现在直接回 400,错误文案是 no active response to interrupt。CLIProxyAPI_8.0.46_linux_<arch>.tar.gz(要动态库插件就用默认包,musl 或老系统用 _no-plugin 包)。config.example.yaml 里的任何键:这一版和上一版只差注释。GOMEMLIMIT 与并发压缩流的大致数量,升级后用同一个数乘 2.5 MiB 复核。User-Agent 与 Originator 没被你的网关改写。codex.response.metadata 或 codex.* 私有事件、又恰好被你的 UA 规则识别成普通客户端,先修 UA 透传,别降版本。mergeable_state 为 unstable,base 是 dev。server_tool_use、web_search_requests;xAI 的服务端工具计数与 cost_in_usd_ticks;OpenAI/Codex 在 response.completed 缺 response.output 时用 output_item.done 兜底;Gemini 的 token 明细与接地元数据。GET /v1/models 每行只留四个字段,而注册表里其实有 thinking.levels。/v1beta/models,那条接口带 inputTokenLimit 与 outputTokenLimit。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
discuss.ai.google.dev
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.