AI API 中转站使用说明:Claude Code / Codex / OpenAI 兼容客户端配置、购买前须知与错误排查。

OpenAI 兼容 API Base URL 总指南

OpenAI 兼容 API 中转站配置总指南:base_url、/v1 路径、客户端差异表、Codex、Claude Code、Cline、Roo、Cursor、SDK 与常见错误排查。

OpenAI 兼容 API Base URL 总指南

OpenAI compatible API 的核心,是让客户端把请求发到自定义 base_url,并继续使用 Bearer Token、model 字段和兼容协议。Codex、Cursor、Cline、Roo Code、LiteLLM、LM Studio 和很多 SDK 都属于这一类接入场景。

先说重点:/v1 很常见,但不是所有客户端都完全一样,也不是所有 provider 都接受同一种路径和 wire API。

通用字段

字段说明
base_url / openai_base_url常见写法:https://YOUR_API_DOMAIN/v1
OPENAI_API_KEY控制台生成的 API Key
model以控制台展示为准,不猜测官方 model id
timeout建议生产环境显式设置超时
retry对 429、5xx 设置有限次数的退避重试

本文继续使用 YOUR_API_DOMAIN 占位,避免把示例误写成真实线路。

/v1 客户端差异表

客户端 / 工具主要字段常见写法/v1 习惯最小验证常见坑
Claude CodeANTHROPIC_BASE_URLhttps://YOUR_API_DOMAIN/anthropic通常不是 OpenAI 风格 /v1/status + 短 prompt误把 Claude Code 当成纯 OpenAI client
Codexopenai_base_url[model_providers.<id>].base_urlhttps://YOUR_API_DOMAIN/v1常见要带 /v1看当前 provider / model,再发短 promptwire_api 选错、provider 覆盖
ClineOpenAI compatible provider 配置https://YOUR_API_DOMAIN/v1常见要带 /v1发最小请求provider 选错、模型不支持工具调用
Roo CodeOpenAI compatible provider 配置https://YOUR_API_DOMAIN/v1常见要带 /v1发短任务验证模型本身不支持 native tool calling
CursorCustom OpenAI URLhttps://YOUR_API_DOMAIN/v1多数兼容配置会带 /v1连接测试 + 短 promptURL 对了但模型开关或 Key 不匹配
OpenAI SDKbaseURL / base_urlhttps://YOUR_API_DOMAIN/v1通常带 /v1跑最小 SDK 请求路径里多拼具体 endpoint
LiteLLMapi_basehttps://YOUR_API_DOMAIN/v1常见带 /v1,但不要拼完整 endpoint最小 completion/request/v1/chat/completions 整段写进 base
LM StudioOpenAI compatible server URL以服务端暴露的兼容入口为准常见有 /v1本地请求验证把本地 server 端口和代理地址混用

最小 SDK 示例

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: "https://YOUR_API_DOMAIN/v1",
});

const res = await client.chat.completions.create({
  model: "控制台显示的模型名",
  messages: [{ role: "user", content: "请回复配置已生效" }],
});

/v1 到底要不要带?

不要一刀切回答,先按下面判断:

  1. 客户端字段名是什么?
    • Codex 常见是 openai_base_url 或 provider base_url
    • SDK 常见是 baseURL / base_url
  2. 服务方兼容的是哪一层?
    • 如果文档明确写 OpenAI compatible root 为 .../v1,就带。
    • 如果文档给的是特定 provider 路径,例如 Claude 风格 .../anthropic,就不要硬加 /v1
  3. 你写的是 base,还是完整 endpoint?
    • 大多数客户端需要的是 base,不要把 /chat/completions/responses 直接拼进去。

Claude Code、Codex 和通用 OpenAI 兼容接口的区别

场景更像哪种接口备注
Claude CodeAnthropic 风格常见字段是 ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKEN
CodexOpenAI compatible常见字段是 openai_base_urlmodel_providerwire_api
Cursor / Cline / Roo / SDKOpenAI compatible多数情况下围绕 base_url、API Key、model

所以很多用户卡在“我明明填了 YOUR_API_DOMAIN,为什么 Claude Code 不认、Codex 却能认”。原因通常不是线路坏了,而是两个客户端本来就不是同一套字段。

Cursor / Cline / Roo Code 通用检查

  1. Provider 选择 OpenAI compatible 或自定义兼容接口。
  2. Base URL 按文档要求填写,常见为 https://YOUR_API_DOMAIN/v1
  3. API Key 使用当前项目 Key,不复用高权限主 Key。
  4. Model 使用控制台模型列表展示值。
  5. 出现 401、404、429 时,不要先重装客户端,先检查 Key、路径、模型名和余额。

排错优先级

  1. 401:Key、Header、Bearer Token 或字段名。
  2. 404 / model not found:模型名、provider、路径或权限。
  3. 404 / endpoint not found:把完整 endpoint 写进了 base,或接口风格不匹配。
  4. 429:并发、余额、速率限制或上游限流。
  5. timeout:本地网络、线路波动、代理冲突或客户端超时过短。
  6. 配置无变化:旧进程仍在,或客户端读取了另一个配置文件。

生产环境建议

  • 不要让多个服务共用一个 Key。
  • 为自动化任务设置预算和速率限制。
  • 日志只记录必要的错误码、模型名、耗时和 token 用量,避免记录敏感 prompt。
  • 对长任务设置超时和最大重试次数,避免故障时无限消耗余额。

相关页面