Claude Code从 2.1.36版本开始强制让第三方API不能缓存请求内容?真的假的

Claude Code从 2.1.36版本开始,会在每个API请求的系统提示词开头,加入含随机5位十六进制cch 字段的

x-anthropic-billing-header内容。

由于第三方API将其视为普通提示词计算缓存key, cch每次变化会导致缓存命中率归零,引发 token消耗暴涨、推理变慢。

真不做个人啊。

这个在之前的源码泄露风波中,有人就已经看到了

我还找AI谈了一下这个事
一些资料:



都说被捅屁股啊什么的,那其实他在百度学的最狠还是这一招。

是有这个事情,我查了下有人扒泄漏源码查到过解决办法,就是在 ~/.claude/settings.json 的 env 里加上:
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
这样系统提示词的首行就不会加相关内容了。
而且稍微多查了一下,实际上有人测过例如deepseek、glm之类的第三方,第三方官方已经知道这个事情的存在并在后台直接处理了,并不会因为这个原因导致缓存不中。
然后源码里cch好像是5个0占位,然后在bun的那边替换掉的,不过好像有些转发项目已经把cch的算法摸出来了,所以这情况现在解决办法还是挺多的。就算后面A/再换,实际上只坑不知道的人,知道了解决办法多的是。估计本质目的不是为了坑第三方而是坑反代中转?

不愧是百度出来的,这就是企业文化啊 :rofl:

这个好像很久之前就有曝光了,ccswitch里面有个设置settings.json专门可以设置的地方,可以避免这个情况

这个几个月前就有解决方案了
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0"

不排除A\后面继续搞小动作

属于是旧闻了,怎么现在还在说。。

旧闻了
sub2api 已经把 cch 的算法摸清了,没影响

感谢佬友,刚知道这个事情,那么恶心吗

都多久之前的事了,还前沿快讯呢。

DeepSeek在claude code中使用时的命中率相当高, 我也相信后台是有了对应处理的