把协议分清楚

我会把开发工具分成两类:一类按 Anthropic 原生 API 说话,另一类按 OpenAI-compatible 协议说话。Claude Code 的配置要看 Anthropic 官方文档,不能因为名字里有 Claude,就假设它能吃任何 OpenAI 风格 endpoint。

OpenAI-compatible 更像一套事实标准:很多网关会模仿 OpenAI 的路径、鉴权和请求字段,让 Cursor、Continue、Aider、LiteLLM 这类工具少改代码接入多模型。但「能发请求」不等于「所有高级能力都一样」。

字段作用常见错误
base_urlAPI 根地址多写 /v1 或少写 /v1
api_key鉴权和计费用错供应商 key
model路由到具体模型模型名和网关不一致
headers供应商扩展缺版本号或 beta 标记

支持 OpenAI-compatible 的工具怎么配?

先找工具文档里的三个词:custom endpoint、OpenAI compatible、base URL。看到这些,再改配置。没看到就不要猜。

一个典型配置长这样:

OPENAI_BASE_URL=https://api.example.com/v1
OPENAI_API_KEY=sk-xxx
OPENAI_MODEL=claude-sonnet-or-gpt-model

如果工具把 base_url 固定写死,你有两个选择:换支持自定义 endpoint 的工具,或者在本地起一层代理,把工具请求转到真正的模型供应商。后者适合团队,个人 PoC 不一定值得。

Claude Code 相关场景怎么处理?

按 Claude Code 官方文档配置。需要多模型、统一计费或路由时,不要在文章或 runbook 里写「Claude Code 一定支持 OpenAI-compatible」。更稳的表达是:Claude Code 走它支持的官方配置;其他支持 OpenAI-compatible 的开发工具走自定义 base_url;两边在网关层统一日志和预算。

如果你确实要把多家模型纳入一套开发栈,我建议这样拆:

场景推荐做法
Claude Code 生产使用按 Anthropic 文档配置
Cursor / Continue使用工具支持的 custom endpoint
团队统一额度LiteLLM 或自建网关
成本审计网关记录 user、model、token

怎么验证配置没跑偏?

第一,跑一个最小请求,确认不是 401 或 404。第二,跑 streaming,看长输出会不会半路断。第三,跑工具调用或代码修改任务,因为这比普通聊天更容易暴露协议差异。第四,看账单和日志,确认模型没有被路由到错误档位。

开发环境可以接一家Cursor / Claude Code 国内可用的 API 中转做快速验证,但上线前仍要保留 provider 抽象。以后换官方 key、备用网关或不同模型时,别让业务代码跟着大改。

关联文章