一位开发者在尝试构建AI工作流时遇到了典型的协议兼容性问题。该开发者订阅了Ollama Pro服务,试图通过开源中间件NewAPI进行中转,以便在Claude Code客户端中统计GLM-5.2模型的使用量。测试发现,虽然基础配置允许在Cherry Studio中以OpenAI兼容格式进行对话,但当配置为Claude Code专用的“Anthropic Messages (原生)”格式时,客户端无法解析响应并提示API返回空或格式错误。通过对比NewAPI的转发日志与直接请求Ollama官方接口的curl测试结果,问题根源被锁定在响应体的数据结构差异上。NewAPI在转发请求时,虽然路由指向了/v1/messages,但返回的JSON数据仍采用了OpenAI标准的`chat.completion`结构(包含`choices`列表和`reasoning_content`字段),而非Claude Code预期的Anthropic原生标准(即`type: message`以及包含`thinking`类型的`content`数组结构)。这种“新瓶装旧酒”的格式转换导致客户端无法识别思维链内容,最终引发解析异常。该案例凸显了多模型接入中间件在处理不同厂商API语义时的兼容性挑战。
事件分析
NewAPI作为流行的开源中转项目,其核心价值在于统一异构模型的调用接口,但在处理深度推理字段时,若仅进行简单的字段映射而未能完全重构响应体架构,便会导致“格式泄露”。此次NewAPI将OpenAI格式强行套用在Anthropic协议请求上,说明当前的中间件层对于新型推理模型的适配仍存在滞后。对于行业而言,这意味着在构建复杂的Agent或开发工作流时,开发者必须格外关注中间件在协议转换层的数据清洗能力,否则将面临难以调试的隐形兼容性黑洞。
💡 核心观点:思维链数据的字段割裂已成为AI中间件兼容性的隐形陷阱,OpenAI与Anthropic的格式差异在代理转发中极易导致解析失败。
原文链接:Linux.do





