中转站使用指南先了解

接入中转站的通用方法:三种接口、地址填到哪一级、怎么先验证

不管接哪个工具,改的都是接口地址、key 和模型名三样。本文讲清中转站常见的三种接口各是什么、同一个地址为什么有的工具带 /v1 有的不带,并列出各工具和 OpenAI、Anthropic SDK、LangChain 等框架的写法,以及怎么用 curl 先验证、报错怎么对照。

发布 · 约 10 分钟读完 · 经人工审核()· 本站的内容怎么来的

本页目录(8 节)
  1. 三样东西
  2. 三种接口
  3. 地址填到哪一级
  4. 动工具之前,先用 curl 验证
  5. 写代码时:SDK 和框架
  6. 没列到的工具怎么办
  7. key 的几条习惯
  8. 接上之后

接入中转站的教程看起来每个工具都不一样,其实改的始终是三样:接口地址、key、模型名。出问题的地方也很集中,最常见的是地址多写或少写了一段。

这篇把通用的部分讲清楚:中转站提供的接口有哪几种、地址该写到哪一级、怎么在动工具之前先验证。读完再看具体工具的教程,就知道每一步是在做什么;遇到本站没有写的工具,也能自己配出来。

各工具的教程在使用指南的“接入你的工具”一组。还没弄清中转站是什么的,先读中转站是什么。

三样东西

是什么 从哪里来 常见的坑
接口地址 中转站的接入文档 写到哪一级因工具而异,见下文
key 中转站的控制台。有的站叫令牌 多数只显示一次;复制时带上了空格
模型名 中转站的模型页 要一字不差。有的站要求带厂商前缀,比如 openai/

模型名要特别留意:它只是你发给中转站的一个字符串,中转站拿它去决定把请求转到哪里。名字对上了,不代表背后就是这个模型,见中转站怎么掺假。

三种接口

工具和模型之间说的“话”有固定的格式,叫接口或协议。中转站常见的是三种:

接口 请求路径 key 放在哪个请求头 谁在用
OpenAI Chat Completions /v1/chat/completions Authorization: Bearer <key> 绝大多数工具和框架。常说的“OpenAI 兼容”指的就是它
OpenAI Responses /v1/responses Authorization: Bearer <key> OpenAI 较新的接口。Codex 只认这一种
Anthropic Messages /v1/messages x-api-key: <key>,另带一个 anthropic-version 头 Claude Code、Claude 桌面应用

三种的请求和响应格式都不一样,互相不通。所以接入之前要先对上两件事:工具说哪种,中转站提供哪种。

先看工具说哪种

有的工具只说一种,没得选:

  • Claude Code 和 Claude 桌面应用接中转站时,只说 Anthropic Messages。 中转站只有 OpenAI 兼容接口的话,接不了。
  • Codex 只说 OpenAI Responses。 只有 Chat Completions 接口的中转站接不了。

这两条是付费之前就该确认的。一个中转站写着“支持 Claude”,可能只是说能通过 OpenAI 兼容接口调用 Claude 模型,并不等于能接 Claude Code。

多数对话客户端和编辑器插件几种都支持,在设置里选。

能选的时候怎么选

  • 用 Claude 模型,中转站又提供 Anthropic 原生接口:选原生的。 Claude 的工具调用、思考、提示词缓存都是按 Messages 接口设计的,转成 OpenAI 的格式要多经过一层翻译,多一个出问题的环节。
  • 其他情况:选 Chat Completions。 它最通用,支持的中转站最多。
  • Responses:模型或工具要求时才选。

第一条是我们综合各工具的文档得出的建议,不是某一份官方文档的原话。

认证头也分两种

同样是 Anthropic 原生接口,官方用的是 x-api-key,而不少中转站认的是 Authorization: Bearer,也有两种都认的。所以几个工具都留了选项:

  • Claude Code:key 放进 ANTHROPIC_AUTH_TOKEN 走 Bearer,放进 ANTHROPIC_API_KEY 走 x-api-key;
  • Claude 桌面应用:有一项 Gateway auth scheme,二选一;
  • VS Code 的自定义端点:可以用 requestHeaders 改掉默认的请求头。

地址和 key 都对、却一直报 401 时,多半是这里选反了。

地址填到哪一级

这是最容易出错的地方。原因很简单:一次请求的完整地址是三段拼起来的。

https://你的中转站地址   /v1   /chat/completions
└──── 根地址 ────┘  └版本┘  └── 接口路径 ──┘

每个工具让你填到哪一段不一样,剩下的它自己补。填多了路径重复,填少了缺一段,结果都是 404。

填法 你填的 工具自己补的
只填根地址 https://你的中转站地址 /v1/chat/completions 或 /v1/messages
填到版本 https://你的中转站地址/v1 /chat/completions
填完整路径 https://你的中转站地址/v1/chat/completions 不补

有一条大致的规律:OpenAI 这一系的工具和 SDK 习惯填到 /v1,Anthropic 这一系习惯只填根地址。 这和两家官方 SDK 的默认地址一致:OpenAI 的是 https://api.openai.com/v1,Anthropic 的是 https://api.anthropic.com。

各工具对照

下表按本站各篇教程整理,每篇里有官方文档的出处。

工具 地址写到哪一级 教程
Claude Code 根地址,不带 /v1 教程
Claude 桌面应用 根地址或中转站指定的前缀,不带 /v1 教程
Codex 带 /v1 教程
opencode 带 /v1 教程
Cline OpenAI Compatible 一般带 /v1 教程
Zed OpenAI 兼容带 /v1;Anthropic 兼容填根地址 教程
VS Code 的 Copilot 对话 官方建议写完整路径 教程
OpenClaw OpenAI 兼容带 /v1;Anthropic 原生填根地址 教程
Hermes Agent 带 /v1 教程
WorkBuddy 完整路径 教程
DeepSeek Harness OpenAI 协议带 /v1;Anthropic 协议官方没有给例子 教程
Cherry Studio 根地址;末尾加 # 表示不再自动补路径 教程
Chatbox 主机和路径分开填 教程
LobeHub OpenAI 服务商一般带 /v1 教程
NextChat 根地址,不带 /v1 教程
沉浸式翻译 完整路径 教程

另外两个:CC Switch 是替你改 Claude Code 和 Codex 的配置文件,地址的写法跟着这两个工具走;Cursor 的情况不同,官方没有提供改接口地址的办法。

三条补充

  • 中转站的文档优先。 有的站两种接口共用一个域名,比如酷站AI,OpenAI 兼容接口填 https://api.koozhan.com/v1,Anthropic 接口填 https://api.koozhan.com;也有的站把 Anthropic 接口放在单独的前缀下面,比如在地址后面加 /anthropic。这种只有它自己的文档知道,表里的规律替代不了。
  • 末尾不要带斜杠。 https://你的中转站地址/v1/ 这种写法,有的工具拼出来会变成两个斜杠。
  • 拿不准就两种都试。 报 404 时,把 /v1 加上或去掉再试一次,比猜要快。

动工具之前,先用 curl 验证

工具配不通时,很难分清是中转站的问题还是自己配置的问题。先绕开工具,直接向中转站发一个请求,就能把两者分开。

先把 key 放进环境变量,免得它留在命令历史里到处都是:

export RELAY_API_KEY=你的key

看模型列表。 这个请求不调用模型,很多中转站都支持:

curl -sS https://你的中转站地址/v1/models \
  -H "Authorization: Bearer $RELAY_API_KEY"

能返回一串模型名,说明地址和 key 都是对的,顺便核对一下模型名的准确写法。

测 OpenAI 兼容接口:

curl -sS https://你的中转站地址/v1/chat/completions \
  -H "Authorization: Bearer $RELAY_API_KEY" \
  -H "content-type: application/json" \
  -d '{"model": "gpt-6.1-sol", "messages": [{"role": "user", "content": "你好"}]}'

测 Anthropic 原生接口:

curl -sS https://你的中转站地址/v1/messages \
  -H "x-api-key: $RELAY_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model": "claude-sonnet-5-5", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

中转站认的是 Bearer 时,把 x-api-key 那一行换成 -H "Authorization: Bearer $RELAY_API_KEY"。模型名都换成你的中转站实际提供的。

怎么看结果:

返回 意思
一段 JSON,里面有模型的回答 地址、key、模型名都对。工具再配不通,问题在工具的配置
401 key 不对,或者放在了中转站不认的请求头里
403 key 没有权限用这个模型,或者余额用完了
404 路径不对。检查有没有多写或少写 /v1
返回的是一个网页(HTML) 地址写成了中转站的官网或控制台,不是接口地址
提示模型不存在 模型名和中转站的不一致
429 请求太频繁,被限流了
500、502、503 中转站或它的上游出了问题,不是你的配置

curl 通了,只说明接口能用。给你的是不是它声称的模型,是另一个问题,见文末。

写代码时:SDK 和框架

自己写程序调用中转站,改的同样是地址和 key。下面的写法都对照过各自的官方文档或源码。

OpenAI SDK

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://你的中转站地址/v1",
    api_key=os.environ["RELAY_API_KEY"],
)
resp = client.chat.completions.create(
    model="gpt-6.1-sol",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)

也可以不改代码,用环境变量 OPENAI_BASE_URL 和 OPENAI_API_KEY。Node 版的参数叫 baseURL,同样读 OPENAI_BASE_URL。

Anthropic SDK

import os
from anthropic import Anthropic

client = Anthropic(
    base_url="https://你的中转站地址",
    api_key=os.environ["RELAY_API_KEY"],
)
msg = client.messages.create(
    model="claude-sonnet-5-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "你好"}],
)
print(msg.content[0].text)

注意这里的地址不带 /v1。对应的环境变量是 ANTHROPIC_BASE_URL。key 有两种给法:api_key(环境变量 ANTHROPIC_API_KEY)走 x-api-key,auth_token(环境变量 ANTHROPIC_AUTH_TOKEN)走 Authorization: Bearer,按中转站认哪一种来选。

LangChain

import os
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-6.1-sol",
    base_url="https://你的中转站地址/v1",
    api_key=os.environ["RELAY_API_KEY"],
)

地址也可以用环境变量 OPENAI_API_BASE 给。

LangChain 的源码里有一条提醒值得知道:ChatOpenAI 只按 OpenAI 官方的接口规范处理响应,第三方服务额外加的非标准字段(比如放思考内容的 reasoning_content)不会被取出来。通过中转站用别家的模型时,发现思考过程拿不到,原因可能在这里。

LlamaIndex

import os
from llama_index.llms.openai_like import OpenAILike

llm = OpenAILike(
    model="gpt-6.1-sol",
    api_base="https://你的中转站地址/v1",
    api_key=os.environ["RELAY_API_KEY"],
    is_chat_model=True,
    context_window=128000,
)

要另装 llama-index-llms-openai-like 这个包。官方文档说明,OpenAILike 是专门给提供 OpenAI 兼容接口的第三方服务用的。有三个参数的默认值要留意:

参数 默认值 说明
is_chat_model False 对话模型要设成 True,否则走的是旧的补全接口
context_window 3900 按模型实际的上下文长度填,例子里的数字只是示意
is_function_calling_model False 模型支持工具调用、你也要用时设成 True

Continue

Continue 是 VS Code 和 JetBrains 里的开源编程助手。在它的 config.yaml 里加一个模型,provider 写 openai,用 apiBase 指向中转站:

models:
  - name: 我的中转站
    provider: openai
    model: gpt-6.1-sol
    apiBase: https://你的中转站地址/v1
    apiKey: 你的key

官方文档说明,JSON 格式的 config.json 已经弃用。这个文件里有 key,不要提交到代码仓库。

Aider

Aider 是命令行里的编程助手。官方文档的做法是设两个环境变量,再在模型名前面加 openai/:

export OPENAI_API_BASE=https://你的中转站地址/v1
export OPENAI_API_KEY=你的key
aider --model openai/gpt-6.1-sol

这个 openai/ 前缀是告诉 Aider 走 OpenAI 兼容接口,和有些中转站要求的厂商前缀不是一回事。中转站自己也要求前缀时,两个都要写。后半句是我们根据两边的规则推出来的,不是官方的原话。

没列到的工具怎么办

照下面的顺序找:

  1. 在工具的设置里找“自定义接口”。 常见的叫法有 Base URL、API Base、API Host、接口地址、代理地址、自定义端点、OpenAI Compatible。
  2. 看清它说哪种接口。 写着 OpenAI 兼容的,用中转站的 OpenAI 兼容地址;写着 Anthropic 或 Claude 的,用它的 Anthropic 地址。
  3. 看它的例子里地址写到哪一级。 官方文档或输入框里的示例地址带不带 /v1,照着写。
  4. 填 key 和模型名,模型名照中转站的模型页。
  5. 先用 curl 确认中转站是通的,再在工具里测试。

工具里完全找不到改地址的地方,说明它不支持,Cursor 就是这种情况。这时不要去找修改程序、抓包改流量之类的办法,换一个支持的工具更省事也更安全。

key 的几条习惯

  • 一个工具一把 key。 中转站一般可以建多把。分开之后,用量看得清,哪一把出了问题停掉它就行,不影响别处。
  • 放进环境变量,不写进代码。 写在代码里的 key 很容易跟着提交进仓库。配置文件里有 key 的,把它加进 .gitignore。
  • 不要贴到公开的地方。 提问、截图、录屏之前先看一眼有没有露出 key。
  • 不用了就停用。 换电脑、换中转站、把设备给了别人,到控制台把旧的 key 停掉。
  • 只充够用的钱。 中转站可能说停就停,见中转站跑路前有哪些征兆。

接上之后

来源

通过 API 中转站使用这些模型?到 Veridrop 免费检测中转站给你的是不是它声称的模型,或者看看中转站排行榜前 100 名。

相关文章

  • DeepSeek Harness(dsh)接入中转站:添加自定义模型 API,协议和地址怎么填教程 · DeepSeek Harness · 约 9 分钟

    按 DeepSeek Harness 官方文档整理:在“设置 → 模型”里添加模型提供商,切换到“自定义模型 API”,填 Provider ID、中转站地址、协议和 key,再加上模型。讲清三种协议怎么选、密钥存在哪里、中转站拒绝请求时改哪两个兼容开关,以及常见报错怎么查。

  • Chatbox 接入中转站:添加自定义的模型提供方,电脑和手机都能用教程 · Chatbox · 约 5 分钟

    按 Chatbox 官方文档整理:在设置的“模型提供方”里点添加,选 API 类型,填中转站的 key 和主机地址,加上模型后点“检查”。讲清 API 主机和路径怎么分、模型能力怎么勾、一键导入配置要注意什么,以及检查失败时各个错误码的含义。

  • Cherry Studio 接入中转站:添加自定义服务商,地址填到哪一级教程 · Cherry Studio · 约 5 分钟

    按 Cherry Studio 官方文档整理:在“模型服务”里添加自定义服务商,填中转站的 key 和地址,获取模型列表后打开启用开关。讲清地址为什么通常只填根地址、什么时候在末尾加

  • 沉浸式翻译接入中转站:自定义接口地址要写完整路径教程 · 沉浸式翻译 · 约 5 分钟

    按沉浸式翻译官方文档整理:在翻译服务里填中转站的 key、模型名和自定义接口地址,就能用中转站的模型翻译网页。和多数工具不同,这里的地址要写到 /v1/chat/completions 为止。讲清两种填法、出现 429 时怎么调请求数,以及翻译这种用法要留意的费用和隐私。