最近在折腾 AI 服务部署的时候,遇到了一个挺搞心态的问题。手里有一份 OpenCode GO 的订阅,想着统一通过 New API(也就是大家常用的那种 API 中转服务)来管理所有渠道,这样在 Claude Code 或者别的客户端里调用起来比较方便。

配置完成后,大部分模型都跑得很顺,比如 GPT-4o、Claude 3.5 之类的,完全没问题。但是,唯独一上 GLM-5.2,它就给我报错。这搞得我很郁闷,明明是一个服务商提供的,咋就这一个“刺头”?

今天专门把这个问题拎出来聊聊,如果你也遇到了同样的情况,可以按照下面这个思路去排查,大概率能解决问题。

一、先检查模型名称映射

New API 渠道配置与模型映射示例

在 New API 后台检查“模型映射”配置,确保名称与上游一致

90% 的此类问题其实都是“名字惹的祸”。New API 这种中转工具,本质上是把你请求的模型名转换成上游渠道能识别的格式。

GLM-5.2 这个模型比较新,有时候上游支持的名称和你本地配置的名称可能不一致。比如上游可能叫 glm-4-plus 或者 glm-5,但你的配置里写成了 GLM-5.2,或者没有配置自定义映射。

排查步骤:

  1. 登录你的 OpenCode GO 后台,仔细查看 API 文档或者控制台里那个模型的具体调用名称(Model ID)。
  2. 回到 New API 的渠道配置页面,在“模型映射”或者“自定义模型”那一栏里,确保写法和上游完全一致。注意大小写和横杠。
  3. 尽量不要只填通配符 *,如果有特定故障模型,最好明确指定一下映射关系。

错误日志或 API 返回格式示意图

注意检查上游返回的数据格式异常,开启强制兼容模式

二、API 返回格式兼容性(常见坑)

GLM 系列模型的 API 接口,有时候在返回数据结构上跟 OpenAI 标准格式有一点点出入。New API 虽然做了兼容,但遇到新版本模型(比如 5.2 这种),可能还没来得及更新适配逻辑。

可能的现象:

  • 客户端显示解析错误。
  • New API 日志里显示“上游返回数据格式异常”。

解决方案:

  • 检查 New API 设置里是否有针对该渠道的“强制兼容模式”或者“格式转换”开关。如果有,试着打开它试试。
  • 如果你是用的 Docker 部署的 New API,看看是不是版本太老了。作者迭代很快,新模型报错大概率是新加的适配补丁没打上。去 GitHub 拉个最新镜像重新部署一下,很多时候重启就好。

三、参数传递与编码问题

Claude Code 这类工具调用 API 时,有时候会带上一些特殊的参数,比如 thinking 参数或者特殊的系统提示词格式。

GLM-5.2 可能对某些参数比较敏感,如果上游接口不支持某个参数,直接透传过去就可能导致 400 或 500 错误。

排查建议:

  • 打开 New API 的详细日志。看看报错的那一刻,你发出的请求体到底是什么样的。
  • 尝试用最简单的 curl 命令或者 Postman 直接请求 New API,不带任何额外参数,只发一句“你好”。如果这样能通,那就说明是客户端(Claude Code)传的参数有问题,可以在 New API 里配置一下请求 stripping(过滤掉某些头部参数)。

四、渠道限流或欠费

这是最不想看到但必须检查的一点。虽然你说其他模型没问题,但有些服务商对不同模型的计费策略是不一样的。有可能你的 GLM-5.2 额度用完了,或者该模型单独触发了频率限制。

直接去 OpenCode GO 的账单或者控制台看一眼,确保余额充足,且 GLM 系列模型没有处于封禁状态。

总结一下

遇到“仅特定模型报错”的情况,核心思路就是:对名字、查日志、看版本

  1. 对名字:确保 New API 里的模型名和 API 商家后台写的完全一致。
  2. 查日志:别瞎猜,直接看 New API 的后端日志,上游返回的原始报错信息才是最准确的。
  3. 看版本:New API 和上游接口都在快速迭代,保持你的中转服务是最新版本,能解决很多莫名其妙的 Bug。

希望这几招能帮你搞定 GLM-5.2 的报错,让 Claude Code 跑得飞起!如果还有其他奇奇怪怪的问题,欢迎在评论区交流。

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭