
这一小时四仓零新版本,CLIProxyAPI 补上了第三种 usage 写法的解析:SGLang 上游的 reasoning 读数在 v8.0.35 上仍记 0,本文给出判据、三档版本状态与今晚的处置顺序。
reasoning_tokens 平铺在 usage 顶层。SGLang 的 OpenAI 兼容服务就是这么发的。1prompt_tokens 241114、completion_tokens 1156、reasoning_tokens 530,最后一个与 prompt_tokens_details 同级。1completion_tokens_details 下面,Responses 风格嵌在 output_tokens_details 下面。这两种写法这段代码认得出,读数正常。1reasoning_tokens,再对一眼本地明细里这一项是不是 0。两个条件同时成立,就是这条。usage_helpers.go 里有三个解析器,分别对 Anthropic、Interactions 和 OpenAI 兼容三种 usage。4output_tokens_details.thinking_tokens、output_tokens_details.reasoning_tokens,最后落到平铺的 thinking_tokens;Interactions 那条路直接读 reasoning_tokens。4completion_tokens_details.reasoning_tokens,读不到再试 output_tokens_details.reasoning_tokens,再往下就没有了。4
NewSubsetTokenBreakdown 把非推理输出算成 output 总量减去 reasoning,reasoning 读成 0,这一项就把整份 output 都算进去。5
e198f3cd,2 个文件、+34/−1。2hasOpenAIStyleUsageBucketFields 的判定里加上平铺键,回落链末尾再补一层 if !reasoning.Exists() 去读 usage.reasoning_tokens。2reasoning_tokens、没有 prompt 与 completion 计数的 usage,连用量的边都摸不到。SGLang 正常会带全,所以日常更常见的是第二处。
3f0cef01 本身只是 README 的三语赞助商改动,没有代码。8| ref | 平铺 reasoning_tokens | 非流式 /v1/responses 的 reasoning | Claude responses 的 tool_use | 你该怎么用 |
|---|---|---|---|---|
| v8.0.35(发行版) | 无 | 无 | 无 | 现在装着的那一版,三项都缺 3 |
| main | 无 | 有,7db0935a | 有,c449529e | 从 main 自建的人已经拿到后两项 7 |
| dev | 有,e198f3cd | 有 | 有 | 三项齐全,但还没有 tag 6 |
output_tokens_details.reasoning_tokens 读不到时再试 completion_tokens_details.reasoning_tokens。发行版的同一位置只有前半句。11usage_helpers.go 的两处:第 1046 行附近的判定加平铺键,第 1085 行附近的回落链加第三层;或者直接跑 dev 构建。发行版要等下一个 tag。2#8235 什么时候有人评审。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
reddit.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.