摘要

配置 OpenAI 兼容 API 或 Claude 兼容 API 时,最容易出错的地方通常不是代码,而是 Base URL、API Key、模型名和请求路径。

本文用 51relay 作为示例,整理一套从 curl 测试到 Python / Node.js 调用,再到常见错误排查的完整流程。示例里的服务地址可以替换成你自己的兼容 API 服务。

一、OpenAI 兼容 API 和 Claude 兼容 API 的区别

很多 AI 工具会支持自定义 API 地址,但不同协议填写方式不一样。

OpenAI 兼容接口通常使用:

https://你的51relay域名/v1

常见请求路径:

/models /chat/completions

Claude 兼容接口通常使用:

https://你的51relay域名

常见请求路径:

/v1/messages

简单理解:

OpenAI 兼容:更常用于 Chatbox、Open WebUI、Codex、Python / Node.js SDK Claude 兼容:更常用于 Claude Code 或 Anthropic 风格请求

二、准备 Base URL 和 API Key

调用前需要准备:

Base URL:API 服务地址 API Key:接口认证密钥 模型名:服务端支持的模型名称

以 51relay 为例:

OpenAI 兼容 Base URL: https://你的51relay域名/v1 Claude 兼容 Base URL: https://你的51relay域名

注意:

  1. API Key 不要写进公开仓库。
  2. Base URL 不要多写或少写 /v1。
  3. 模型名以接口返回为准,不要凭经验猜。

三、curl 测试 OpenAI 兼容 API

先设置环境变量:

export RELAY_BASE_URL="https://你的51relay域名/v1" export RELAY_API_KEY="sk-xxxxxxxxxxxxxxxx"

测试模型列表:

curl -sS "$RELAY_BASE_URL/models" \ -H "Authorization: Bearer $RELAY_API_KEY"

如果返回模型列表,说明地址和 Key 基本没问题。

再测试最小对话:

curl -sS "$RELAY_BASE_URL/chat/completions" \ -H "Authorization: Bearer $RELAY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "你的模型名", "messages": [ { "role": "user", "content": "你好,请回复一句:接口已接通" } ] }'

建议先跑这个最小请求,再接入真实项目。

四、curl 测试 Claude 兼容 API

设置环境变量:

export CLAUDE_BASE_URL="https://你的51relay域名" export CLAUDE_API_KEY="sk-xxxxxxxxxxxxxxxx"

发送最小请求:

curl -sS "$CLAUDE_BASE_URL/v1/messages" \ -H "x-api-key: $CLAUDE_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "你的 Claude 模型名", "max_tokens": 256, "messages": [ { "role": "user", "content": "你好,请回复一句:Claude 接口已接通" } ] }'

这里要注意两个 Header:

x-api-key anthropic-version

如果 Header 写错,可能会出现 401 或 400。

五、Python 调用 OpenAI 兼容 API

安装:

pip install openai

代码示例:

from openai import OpenAI client = OpenAI( api_key="sk-xxxxxxxxxxxxxxxx", base_url="https://你的51relay域名/v1" ) resp = client.chat.completions.create( model="你的模型名", messages=[ { "role": "user", "content": "你好,请回复一句:接口已接通" } ] ) print(resp.choices[0].message.content)

常见问题:

  1. base_url 少写 /v1
  2. Key 写错
  3. model 不存在
  4. 代码环境里还残留旧的环境变量

六、Node.js 调用 OpenAI 兼容 API

安装:

npm install openai

代码示例:

import OpenAI from "openai"; const client = new OpenAI({ apiKey: "sk-xxxxxxxxxxxxxxxx", baseURL: "https://你的51relay域名/v1" }); const response = await client.chat.completions.create({ model: "你的模型名", messages: [ { role: "user", content: "你好,请回复一句:接口已接通" } ] }); console.log(response.choices[0]?.message?.content);

Node.js 里注意是 baseURL,不是 base_url。

七、Codex 配置示例

保存 API Key:

export FIFTYONERELAY_API_KEY="sk-xxxxxxxxxxxxxxxx"

编辑配置:

mkdir -p ~/.codex nano ~/.codex/config.toml

写入:

[model_providers.51relay] name = "51relay" base_url = "https://你的51relay域名/v1" env_key = "FIFTYONERELAY_API_KEY" wire_api = "chat" [profiles.51relay-gpt54] model_provider = "51relay" model = "gpt-5.4" [profiles.51relay-gpt55] model_provider = "51relay" model = "gpt-5.5"

启动:

codex --profile 51relay-gpt54

八、Claude Code 配置示例

设置环境变量:

export ANTHROPIC_BASE_URL="https://你的51relay域名" export ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxxxxxxxxxx" export ANTHROPIC_MODEL="claude-sonnet-4-5"

启动:

claude

如果要长期保存:

cat >> ~/.zshrc <<'EOF' export ANTHROPIC_BASE_URL="https://你的51relay域名" export ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxxxxxxxxxx" export ANTHROPIC_MODEL="claude-sonnet-4-5" EOF source ~/.zshrc

九、常见错误

1. 401

常见原因:

  1. API Key 复制错
  2. Header 写错
  3. 环境变量没有生效
  4. 使用了旧 Key

检查:

echo "$RELAY_API_KEY" echo "$FIFTYONERELAY_API_KEY" echo "$ANTHROPIC_AUTH_TOKEN"

2. 404

常见原因:

  1. Base URL 填错
  2. OpenAI 兼容接口漏了 /v1
  3. Claude Code 的基础地址写成了完整路径

建议:

OpenAI 兼容:填 https://你的51relay域名/v1 Claude Code:填 https://你的51relay域名

3. model not found

常见原因:

  1. 模型名写错
  2. 模型没有在当前账号开放
  3. 工具里配置了旧模型名

先查模型:

curl -sS "$RELAY_BASE_URL/models" \ -H "Authorization: Bearer $RELAY_API_KEY"

然后复制返回结果里的模型名。

4. timeout

常见原因:

  1. 网络访问慢
  2. 请求内容太长
  3. 上游响应慢
  4. 客户端超时时间太短

建议先用最短 prompt 测试。

十、建议排查顺序

确认 Base URL -> 确认 API Key -> 查询 /models -> 跑最小 curl -> 跑 Python / Node.js 示例 -> 再接入 Codex / Claude Code

这样能把问题拆开,避免同时排查工具、网络、模型名和 Key。

十一、总结

OpenAI 兼容 API 和 Claude 兼容 API 的配置,关键就是:

  1. Base URL 写对
  2. API Key 写对
  3. 模型名写对
  4. 先用 curl 最小请求验证

本文用 51relay 作为 GPT / Claude API 中转示例。51relay 只做 GPT / Claude 中转,支持 OpenAI 兼容和 Claude 兼容接入,适合开发测试、AI 工具配置和自动化工作流调用。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐