突然发现claude code新版会让整个缓存失效,十几万的连续问答只能缓存一万多token,账单猛增,研究了一通发现了好家伙,这玩意会在第一条系统消息里面增加一个一直在变的值,这会让其他模型厂商完全不能cache对话正文,不得不说真狠啊。
研究发现:
这是claude code客户端直出的内容,然后经过newapi的请求转换,统一输出为openai格式,送到其他厂商
这是Newapi转换后的样子,好家伙,第一条消息就在这给我变来变去,缓存前缀全失效了,难怪缓存不上,始终只有系统提示词和工具描述是稳定的。
解决方案:在newapi里面对渠道添加一个正则替换,让这个值完全固定,即可解决
messages.0.content
cch=[^;]*;
cch=dda51;
5 个帖子 - 3 位参与者