
这一小时四个仓库没发新版本,CLIProxyAPI 的 dev 补上了非流式 /v1/responses 丢 reasoning 明细的回落,v8.0.35 与 main 都还没带;顺带给出五分钟自检表与 sub2api 记 0 的取证清单。
/v1/responses 补上了 reasoning_tokens 的回落。v8.0.35 与 main 都还没带上它。1/v1/chat/completions,客户端又用非流式的 Responses,那么返回的那份 usage 里根本没有 output_tokens_details,客户端只好把它显示成 0。1/v1/responses,stream 为 false,上游没有 Responses 端点、请求被翻成 chat completions 发出去。mercury-3 配成 openai-compatibility 通道。output_tokens 与 total_tokens 是对的,上游的 completion_tokens 本来就含推理 token,丢的只是拆出来的那一格明细。completion_tokens_details.reasoning_tokens,没有再退到 output_tokens_details。2| 路径 | output_tokens | reasoning_tokens |
|---|---|---|
上游 /v1/chat/completions 直连 | 99 | 60 |
经 CLIProxyAPI 的 /v1/chat/completions | 100 | 68 |
经 CLIProxyAPI 的 /v1/responses,stream=true | 269 | 242 |
经 CLIProxyAPI 的 /v1/responses,stream=false | 184 | 0 |


completion_tokens_details.reasoning_tokens 每次只出现一处,就是流式那段。output_tokens 变小,按总量计价不受影响;按推理明细单独计价或出报表的,先在报表里注明这一段为 0。1/v1/chat/completions,后者的读数在对照表里是对的。1if d := usage.Get("output_tokens_details.reasoning_tokens"); d.Exists() {
resp, _ = sjson.SetBytes(resp, "usage.output_tokens_details.reasoning_tokens", d.Int())
} else if d := usage.Get("completion_tokens_details.reasoning_tokens"); d.Exists() {
resp, _ = sjson.SetBytes(resp, "usage.output_tokens_details.reasoning_tokens", d.Int())
}7db0935 已经落了同一处,两个分支只会互相冲突。6
Fixed:修复进了 dev,还没进默认分支。1#7458 讲的是「任何内容到达前先写出 role 块,随后上游过载,导致无法切换账号重试」。8ae3ee3be(今天 00:55),dev 头就是这笔 7db0935a。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
opentherank.com
community.openai.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.