客户端接入
绝大多数客户端只要改两处:把地址指向 GPT-Load,把密钥换成访问密钥。
通用规则§
不管什么客户端,要改的都是这两样:
- 接口地址——改成
http://127.0.0.1:3001(加不加/v1取决于客户端的习惯,见下面各例) - 密钥——换成管理台里创建的访问密钥, 不是上游服务商的密钥
认证方式按客户端原本的习惯来,网关都认:Authorization: Bearer、x-api-key、x-goog-api-key,以及 Gemini 的 key 查询参数。
请求里的模型名,必须在这把访问密钥能用的某个分组里已经开放。 提示模型不存在时,先去分组的模型标签页确认,见 分组与渠道。
让管理台生成配置§
不用自己拼——管理台首页可以直接生成各客户端的接入参数: 选一把访问密钥,选目标客户端,配置片段就出来了,复制即可。
支持 Claude Code、Codex、Gemini CLI、Cherry Studio、Cline、NextChat、Open WebUI、CC Switch、New API 与 curl。 生成的配置里会标出这个客户端需要哪个协议,照着勾就不会错。
OpenAI SDK§
官方 SDK 只改两行:
from openai import OpenAI client = OpenAI( base_url="http://127.0.0.1:3001/v1", # 改这行 api_key="你的访问密钥", # 改这行 ) resp = client.chat.completions.create( model="你的模型名", messages=[{"role": "user", "content": "你好"}], )
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "http://127.0.0.1:3001/v1", apiKey: "你的访问密钥", });
环境变量方式同样可行:设置 OPENAI_BASE_URL 与 OPENAI_API_KEY,代码就完全不用动。
Anthropic SDK§
from anthropic import Anthropic client = Anthropic( base_url="http://127.0.0.1:3001", # 注意:不带 /v1 api_key="你的访问密钥", )
Anthropic 客户端走 /v1/messages,SDK 会自己拼上这段路径, 所以 base_url 填到根即可。
Claude Code§
用环境变量指向网关:
export ANTHROPIC_BASE_URL="http://127.0.0.1:3001" export ANTHROPIC_AUTH_TOKEN="你的访问密钥" claude
要长期生效就写进 shell 配置文件。这把访问密钥需要勾选 Anthropic Messages 协议。
Codex CLI§
Codex 走 OpenAI 协议,把它的接口地址和密钥指向网关即可。 管理台的一键生成里有 Codex 选项,直接复制那段配置最稳妥。
export OPENAI_BASE_URL="http://127.0.0.1:3001/v1" export OPENAI_API_KEY="你的访问密钥"
这把访问密钥必须勾选 OpenAI Responses 协议。 Codex 用的是 Responses 接口,只勾了 Chat Completions 会被直接拒绝—— 路由检查里会看到 protocol_filtered。
这里说的是把 Codex 客户端接到网关。 如果你想接的是「Codex 订阅账号作为上游」,那是另一件事,见 订阅账号。
Gemini CLI§
export GOOGLE_GEMINI_BASE_URL="http://127.0.0.1:3001" export GEMINI_API_KEY="你的访问密钥"
Gemini 客户端走 /v1beta/models/…, 访问密钥需要勾选 Gemini 协议。
桌面客户端§
Cherry Studio、NextChat、Open WebUI、Cline 这类图形客户端, 通常在设置里有「自定义 API 地址」和「API Key」两个输入框,填法一致:
- API 地址:
http://127.0.0.1:3001/v1 - API Key:你的访问密钥
- 模型:填分组里开放的模型名; 有些客户端支持点「获取模型列表」自动拉取
具体到某个客户端的截图步骤,用管理台的一键生成更快—— 它会给出那个客户端对应的准确字段。
接不上时§
按这个顺序排查,多数问题在前两步就能定位:
- 先用 curl 验证网关本身——排除客户端配置问题:
curl http://127.0.0.1:3001/v1/chat/completions \ -H "Authorization: Bearer 你的访问密钥" \ -H "Content-Type: application/json" \ -d '{"model":"你的模型名","messages":[{"role":"user","content":"hi"}]}'
- curl 通了但客户端不通——多半是地址末尾的
/v1多了或少了,或者协议没在访问密钥里勾选 - 提示模型不存在——去分组的模型标签页确认该模型已开放
- 请求发出去但失败——用 监控与排障 里的请求日志看具体原因, 路由检查能展示候选分组和当前可用凭据数量