sharmtclaudecode接入openai接口模型的一个隐藏坑 中发帖

一句话省流: claudecode 会在messages中夹杂 role system的content,一旦在中间塞了system消息,可能会导致缓存直接失效。 
如果协议转换代理是将消息中的system直接提到messages[0],会导致缓存直接失效。(前缀变更了)
就算维持原样,在中间插入system,也要看模型的处理(比如chat template),
测试deepseek的completion接口中间插入system会失效。(opencode go和ds官方都这样)我怀疑虽然兼容中间加system消息,但最后还是提到最开头合并一条system消息。
建议有messages接口的直接使用 厂商的anthropic messages接口,不要使用completion转一道。
使用中转的,如果中转软件简单的将中间的system 消息提到最开头,会有问题。不提到开头,有些模型实际...