
两条维护者判了不修的结论、一面 5 并发的本地墙,加上已经落地的重置信号:每条都给出代码位置、一分钟判定和今天就能改的配置。
server.commercial-mode: true;打开它,请求日志、错误日志、请求体落盘一起停12。/v1/messages 流式里 message_start.usage 报的是本地估算值,维护者同样关成 not planned,理由是 Claude Code 的上下文自动压缩要靠这个数。reset_observed 再动冷却,这条信号到了:codex-reset 把 10-26 的重置记成已观察落地,累计重置从 59 次变成 60 次。request-log: false 下,每个超过 1 MiB 的请求体仍被写进 logs/request-log-parts-request-body-*/body-*.tmp,请求成功后删掉。长上下文客户端每条请求 1–2 MB,于是磁盘持续写入约 0.2 MB/s,一天约 17 GB,120 秒里留下 25 个 spool 目录1。
internal/api/server.go 第 184–194 行:if !cfg.CommercialMode 括住的整块只在这个条件下执行,商业模式下 requestLogger 保持 nil,engine.Use(RequestLoggingMiddleware) 那一行不会被调用。3server_options.go 第 50 行把 SDK 的 RequestLog 直接置 false;logging_helpers.go 第 61 行与第 66 行各有一处提前返回45。
internal/api/middleware/request_logging.go 第 298–313 行:loggerEnabled 为假时继续往下走,最终只按 Content-Length 与 1 MiB 阈值决定是否落盘。6logs 目录。--tmpfs /CLIProxyAPI/logs:rw,size=512m。报障人实测宿主盘的新 spool 目录从每分钟 8 个降到 0,代价是容器重启丢日志1。server.commercial-mode:盘上清净,代价是上面那三样记录从此都没有。ls -d logs/request-log-parts-request-body-* 2>/dev/null | wc -l 有输出就说明你在写,du -sh logs 看量级。logs-max-total-size-mb 默认 0 表示不限,error-logs-max-files 默认 10,管的是错误日志份数9。spool 目录靠请求结束时的那次清理删除10,进程被 OOM 或 docker kill 杀掉时留在盘上,代码里没有启动清理,目录名前缀来自 os.MkdirTemp11。/v1/messages 的流式响应里,message_start 带的是一个本地算出来的输入 token 数,没有 cache_read_input_tokens 与 cache_creation_input_tokens;权威的缓存拆分要到 message_delta 才出现12。message_start 若报 0,Claude Code 不会触发上下文自动压缩,它的压缩行为完全取决于这个值。除了 Anthropic Messages,其它上游协议在流开始时都不提供权威用量,那份拆分只有在上游响应完成时才出现,已经在 message_delta 与非流式响应里给对13。message_start 事件、且 message.usage.input_tokens 为 0 时,用 state.estimate() 覆写14。估算走 tiktoken 的 O200kBase,只数请求里的 system、messages、tools、tool_choice 文本,连图片与文档块都不数15。
internal/runtime/executor/helps/claude_input_tokens.go 第 334–352 行:先确认 type 是 message_start 且 input_tokens 为 0,再用本地估算写入;其余事件原样放行。14response.completed 报输入 198,325、其中缓存读 197,120;message_start 报 173,188;message_delta 报 1,205 加 197,12012。message_delta 或非流式那份,message_start 只适合当客户端进度指示。stream disconnected before completion: too many concurrent requests, please retry later;同一个号直接登录时不复现,报障人于是来问是不是 sub2api 的问题17。too many concurrent requests, please retry later 只出现在三处,全部紧跟用户槽位获取之后;抢账号并发失败时是另一句 account is busy, please retry later1819。看到哪一句,就知道卡在哪一层。
backend/internal/handler/openai_gateway_handler.go 第 2637–2661 行:拿不到用户槽位就用 StatusTryAgainLater 关连接并回这句;下面还有一段一模一样的重取分支。18gateway.openai_ws.max_ingress_connections_per_api_key 默认 64,按 API key 算活着的 WebSocket 连接23。用户并发抬上去之后,会先撞这道。PUT /api/v1/admin/users/:id 的 concurrency 字段,批量走 POST /api/v1/admin/users/batch-concurrency24;填 0 表示不限25。并发数一变,认证缓存随即失效,改完不用重启21。account is busy,那才是账号并发,去调那只号自己的并发数。reset_observed,累计重置从 59 次变成 60 次;首页现在写「今天重置过,10-26 6:08 AM UTC」,换算北京时间是 14:082627。POST /api/v1/admin/openai/accounts/:id/quota/refresh 把真值写回快照,再 CLIProxyAPI 逐张 POST /v8/management/routing/cooldown/reset,body 带 auth_index。routing.cooldown.quota-reconcile(默认 false、可热重载),后台每 30 秒用凭证自己的执行器请求一次 GET https://chatgpt.com/backend-api/wham/usage,只在 rate_limit.allowed 为真且 limit_reached 为假时清冷却29。feat(codex): add full-chain compression(064e008b),还没有版本带上它35;sub2api main 停在 10-25 21:4836;codex-proxy dev 停在 10-23 03:5437;codex2api main 停在 10-26 00:3938。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
codex-reset.com
codex-reset.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.claude.com
status.cloud.google.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.