OpenClaw 接入中转站:自定义供应商怎么配,三种接口各填什么
按 OpenClaw 官方文档整理:用安装向导或者在 openclaw.json 里加一个自定义供应商,就能让 OpenClaw 走中转站。讲清三种接口类型怎么选、地址和 key 怎么填、模型要声明哪些信息、怎么设成默认模型并验证,以及控制花费要注意的地方。
本文根据公开分享整理,本站尚未实测。操作前请对照文末的原始来源。
OpenClaw 是开源的个人 AI 智能体,装在自己的电脑或服务器上,通过聊天软件给它派任务。它的模型来源可以自己配:官方文档里专门有一节讲怎么添加自定义的供应商,包括兼容 OpenAI 和 Anthropic 接口的代理。接中转站用的就是这个办法。
两种做法,选一种:
- 第一次安装:在安装向导里选自定义接口,填地址、key 和模型名。
- 已经在用:在配置文件
~/.openclaw/openclaw.json里加一个供应商。
先提醒一件事:OpenClaw 这类智能体很费 token。 它一个任务会来回调用模型很多次,每次都带着很长的上下文。接上按量计费的中转站之前,先看文末“控制花费”一节。
如果你还没弄清中转站是什么、有哪些风险,先读中转站是什么和用中转站有什么风险;选站可以看中转站排行榜。
开始之前:从中转站拿到三样东西
| 需要什么 | 说明 |
|---|---|
| 接口地址 | 注意它和接口类型是配套的,见下一节 |
| 模型名 | 中转站模型页上写的名字,一字不差 |
| API key | 在中转站的控制台创建,多数站只显示一次 |
1选对接口类型
OpenClaw 的每个供应商都要指定一个 api,也就是用哪种接口格式和它通信。接中转站用得到的是这三种:
api 的值 |
对应的接口 | 什么时候用 |
|---|---|---|
openai-completions |
OpenAI 兼容的 /v1/chat/completions |
最通用,大多数中转站都支持 |
openai-responses |
OpenAI 的 /v1/responses |
中转站支持 Responses 接口,用 GPT 系列时 |
anthropic-messages |
Anthropic 原生的 /v1/messages |
用 Claude 系列,中转站提供 Anthropic 原生接口时 |
官方文档说明,自定义供应商写了地址却没写 api 时,默认是 openai-completions;只有后端确实支持 /v1/responses 时才用 openai-responses。
地址要和接口类型对应。很多中转站给 OpenAI 兼容接口和 Anthropic 原生接口的是两个不同的地址,以它的文档为准,不要填混。
第二步(做法一):用安装向导
还没装的话,官方的安装命令是:
Mac、Linux:
curl -fsSL https://openclaw.ai/install.sh | bash
Windows(PowerShell):
iwr -useb https://openclaw.ai/install.ps1 | iex
安装脚本会检查系统、在需要时装好 Node,然后进入向导。已经装过的,运行 openclaw onboard 重新进向导。在向导里选自定义接口,按提示填地址、key 和模型名。
向导也可以不交互、一条命令跑完。下面是官方文档里的例子,换成你自己的值:
openclaw onboard --non-interactive --accept-risk --skip-health \
--auth-choice custom-api-key \
--custom-base-url "https://你的中转站地址/v1" \
--custom-model-id "模型名" \
--custom-api-key "$CUSTOM_API_KEY" \
--custom-compatibility openai
几个参数的含义:
| 参数 | 说明 |
|---|---|
--accept-risk |
不交互模式必须带。它表示你知道智能体权限很大、有完整的系统访问是有风险的 |
--custom-api-key |
可以不写,不写时向导会读环境变量 CUSTOM_API_KEY |
--custom-compatibility |
接口类型,可选 openai(默认)、openai-responses、anthropic |
--custom-image-input |
模型支持看图、但名字 OpenClaw 不认识时加上 |
第二步(做法二):直接改配置文件
OpenClaw 的配置在 ~/.openclaw/openclaw.json。这个文件是 JSON5 格式,可以写注释,末尾可以多一个逗号。
在里面加一个供应商。下面的例子同时配了两个,一个走 Anthropic 原生接口用 Claude,一个走 OpenAI 兼容接口,你只需要其中一个的话删掉另一个:
{
models: {
providers: {
// 走 Anthropic 原生接口,用 Claude 系列
"relay-claude": {
baseUrl: "https://你的中转站地址",
apiKey: "${RELAY_API_KEY}",
api: "anthropic-messages",
models: [
{ id: "claude-sonnet-5-5", name: "Claude Sonnet 5.5", input: ["text", "image"] },
],
},
// 走 OpenAI 兼容接口
"relay-openai": {
baseUrl: "https://你的中转站地址/v1",
apiKey: "${RELAY_API_KEY}",
api: "openai-completions",
models: [
{ id: "gpt-6.1-sol", name: "GPT-6.1 Sol", input: ["text", "image"] },
],
},
},
},
agents: {
defaults: {
// 默认用哪个模型,写法是“供应商的名字/模型名”
model: { primary: "relay-claude/claude-sonnet-5-5" },
},
},
}
模型名和地址换成你的中转站实际提供的。逐项说明:
| 配置项 | 作用 |
|---|---|
relay-claude |
供应商的名字,自己起 |
baseUrl |
中转站的接口地址 |
apiKey |
key。写成 ${环境变量名} 就会从环境变量里读,不用把 key 明文写进文件 |
api |
接口类型,见第一步 |
models |
这个供应商下有哪些模型,每个至少写 id |
input |
模型能接收什么。支持看图的要写 ["text", "image"],否则图片不会作为图片传给模型 |
agents.defaults.model.primary |
默认用的模型 |
用了 ${RELAY_API_KEY} 的写法,要在启动 OpenClaw 的环境里设好这个变量。
模型条目里还可以写 contextWindow(上下文长度)、maxTokens(最多输出多少)和 reasoning(是否是推理模型)。官方说明这些是可选的,不写时用默认值;中转站的文档给了具体数字的话,照着填更准确。
改完保存即可。官方文档说明,网关会监视这个文件,改动自动生效。
不想手改文件
也可以用命令往配置里加,官方推荐这种写法,它只做添加,不会把已有的配置冲掉:
openclaw config set models.providers.relay-openai '{"baseUrl":"https://你的中转站地址/v1","apiKey":"${RELAY_API_KEY}","api":"openai-completions","models":[{"id":"gpt-6.1-sol"}]}' --strict-json --merge
3设成默认模型并验证
查看 OpenClaw 现在认识哪些模型:
openclaw models list
列表里应该有你刚加的“供应商名/模型名”。把它设成默认:
openclaw models set relay-claude/claude-sonnet-5-5
官方文档提醒了一个细节:用 openclaw configure 新增供应商时,已经设好的默认模型不会被自动替换,新加的只是变成“可用”。所以加了供应商之后模型没变,是正常的,要用上面的命令明确切换。
然后给 OpenClaw 发一条消息。能正常回复,就是接通了。有问题时运行 openclaw doctor,它会做一遍健康检查。
接通之后再让它做一件要调用工具的事,比如读一个文件。智能体离不开工具调用,只会聊天、调不了工具的线路对它没有用。
几个要知道的细节
填地址等于授权。 官方文档写明,给自定义供应商配置 baseUrl,同时也是一个信任决定:OpenClaw 会允许模型请求发往这个确切的地址。所以只填你确实要用的中转站地址。
内置供应商一般不用自己配。 OpenClaw 自带的供应商已经有默认的模型目录。只有要换地址、加请求头或者改模型列表时,才需要写 models.providers。
别名和模型注册是两回事。 agents.defaults.models 里可以给模型起别名,但它不会注册一个新模型。自定义供应商的模型,一定要在 models.providers.<名字>.models 里写上 id。
常见问题
| 现象 | 检查什么 |
|---|---|
openclaw models list 里没有新加的模型 |
模型有没有写进这个供应商的 models;JSON5 的括号有没有写对 |
| 加了供应商,用的还是原来的模型 | 默认模型不会自动换,运行 openclaw models set |
返回 404 |
地址和接口类型不配套。OpenAI 兼容接口的地址通常带 /v1,Anthropic 原生接口的地址以中转站的文档为准 |
返回 401 或提示 key 无效 |
环境变量有没有传到 OpenClaw 的进程;key 是否被删或停用 |
| 发图片,模型说看不到 | 模型的 input 里有没有 "image" |
| 能聊天,但一用工具就出错 | 中转站的这个接口是否完整支持工具调用;换一种接口类型试试 |
控制花费
有中转站在接入文档里提醒,这一条对所有按量计费的线路都适用:OpenClaw 单次任务的 token 消耗比较大,通常在一万到十万以上。这是中转站一方的经验数字,但方向没有问题,智能体确实比普通聊天费得多。
几个办法:
- 按任务轻重分配模型。 日常的任务用中档的模型,只有复杂的分析才用最贵的。OpenClaw 可以配多个模型,再用
openclaw models set切换。 - 充值按用量来。 不要因为折扣一次存很多,原因见中转站跑路前有哪些征兆。
- 盯一下用量。 第一天多看几次中转站控制台的消耗,心里有个数。