OpenClaw 是一个开源的 AI 个人助理框架。你可以接入第三方 API 中转站的模型。本文手把手教你操作。
一、改哪个文件
OpenClaw 的所有配置都在一个文件里:
~/.openclaw/openclaw.json
⚠️ 改之前先备份! 复制一份保存好,万一改坏了可以恢复。
备份方法:把openclaw.json复制一份,改名为openclaw.json.bak,放在同一目录下就行。改坏了就把.bak文件改回openclaw.json覆盖回去。
用任何文本编辑器打开这个文件就能改,比如记事本、备忘录都可以。
二、改之前先确认三件事
从你的 API 中转站拿到以下信息:
- API 地址(Base URL)— 类似
https://api.xxxx.com/v1这样的网址 - API 密钥(API Key)— 类似
sk-xxxx的一串字符 - 模型 ID— 类似
glm-5.1、deepseek-chat这样的名字
还有一件很重要的事——你的模型走哪种协议:
| 你的模型 | 协议类型 | 怎么判断 |
|---|---|---|
| GPT / DeepSeek / Gemini / Qwen / GLM 等 | openai-completions | 绝大多数中转站都是这个 |
| Claude 系列 | anthropic-messages | 中转站文档里明确写"Anthropic 原生接口"才是 |
💡 不确定的话,先试
openai-completions,绝大多数情况都对。Claude 模型如果用这个协议调不通,再换anthropic-messages。
三、开始改配置
打开 openclaw.json,找到 models 这一大段。它长这样:
"models": {
"mode": "merge",
"providers": {
……这里已经有内容了……
}
}
你要做的就是在 providers 的大括号里面,加一段新的配置。
如果你的模型是 OpenAI 兼容格式(GPT / DeepSeek / GLM 等)
在 providers 的大括号里,找到最后一个 provider 的末尾,加一个英文半角逗号 ,,然后贴上下面这段:
"myapi": {
"baseUrl": "https://api.xxxx.com/v1",
"apiKey": "你的API密钥",
"api": "openai-completions",
"models": [
{
"id": "glm-5.1",
"name": "GLM-5.1",
"api": "openai-completions",
"reasoning": true,
"input": ["text"],
"contextWindow": 200000,
"maxTokens": 12288
}
]
}
如果你的模型是 Anthropic 格式(Claude 系列)
"myapi-claude": {
"baseUrl": "https://api.xxxx.com",
"models": [
{
"id": "claude-sonnet-4-20250514",
"name": "Claude Sonnet 4",
"api": "anthropic-messages",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 200000,
"maxTokens": 12288
}
]
}
改完之后大概长这样
"models": {
"mode": "merge",
"providers": {
"原来已有的provider": {
……原来的内容不要动……
},
"myapi": {
"baseUrl": "https://api.xxxx.com/v1",
"apiKey": "你的API密钥",
"api": "openai-completions",
"models": [
{
"id": "glm-5.1",
"name": "GLM-5.1",
"api": "openai-completions",
"reasoning": true,
"input": ["text"],
"contextWindow": 200000,
"maxTokens": 12288
}
]
}
}
}
⚠️ 注意:新加的这段要放在
providers的大括号里面,和原有的 provider 并列。原有内容不要删、不要改,只在末尾追加。
四、你要改的地方说明
上面那段配置,你只需要改这几个地方,其他照抄就行:
| 要改的 | 改成什么 | 说明 |
|---|---|---|
myapi | 随便起个英文名,比如 zhipu、deepseek-api | 这是给这组配置取的名字,方便识别 |
https://api.xxxx.com/v1 | 你的中转站 API 地址 | OpenAI 格式一般要加 /v1,Anthropic 格式一般不加 |
你的API密钥 | 你的中转站 API Key | 以 sk- 开头的那串 |
glm-5.1 | 你要用的模型 ID | 必须和中转站里显示的一模一样 |
GLM-5.1 | 随便起个显示名 | 这个只是给自己看的,不影响功能 |
💡 最容易错的地方:
id要填中转站实际的模型 ID,不是中文名。比如中转站写的是deepseek-chat,你就填deepseek-chat,不要填"深度求索V3"。
五、Base URL 要不要加 /v1
这取决于你用的工具是否会自动拼接 /v1,不是取决于中转站。
- 选 OpenAI 服务商时:工具一般不会自动加
/v1,所以你要自己加,填https://api.xxxx.com/v1 - 选 Anthropic 服务商时:有些工具会自动加
/v1,你再填就重复了,所以填https://api.xxxx.com,不要加/v1
⚠️ 如果填了以后调不通,试试把
/v1加上或去掉,看哪个能用。
六、mode 用 merge 还是 replace
models.mode 这个字段:
merge(推荐):保留 OpenClaw 内置模型,你的自定义模型追加进来replace:只用你自己配的模型,内置模型全部不要
绝大多数情况用 merge 就好,不影响原有功能。如果你不确定,就用 merge。
七、加多个模型
如果你在同一个中转站有多个模型要加,直接在 models 的方括号里追加就行:
"models": [
{
"id": "glm-5.1",
"name": "GLM-5.1",
"api": "openai-completions",
"reasoning": true,
"input": ["text"],
"contextWindow": 200000,
"maxTokens": 12288
},
{
"id": "deepseek-chat",
"name": "DeepSeek V3",
"api": "openai-completions",
"reasoning": false,
"input": ["text"],
"contextWindow": 128000,
"maxTokens": 8192
}
]
注意每个模型的大括号之间用逗号 , 隔开,最后一个模型后面不加逗号。
八、改完怎么生效
保存文件后,在终端执行:
openclaw gateway restart
等几秒钟,新模型就能用了。
九、怎么确认配置成功了
方法一:看模型列表
在 OpenClaw 对话中输入 /model,查看可用模型。如果新模型出现在列表中,说明配置被正确读取了。
方法二:发一条测试消息
切换到新模型,发送:
请只回复:配置成功
能正常回复就说明没问题。
方法三:看状态
如果配置有语法错误,重启时终端会有错误提示,留意看就行。
十、改坏了怎么办
不用慌,你之前不是备份了吗?把 openclaw.json.bak 改回 openclaw.json,覆盖掉改坏的文件就行。然后重启 OpenClaw。
所以第一步的备份真的很重要。
十一、常见问题
重启后模型没有出现在列表里
- JSON 格式错了:最常见!检查有没有漏逗号、多逗号、括号没闭合。特别注意逗号必须是英文半角
,,不能用中文全角, - 加错位置了:确认你加的内容在
providers的大括号里面 - mode 不是 merge:确认
models.mode是"merge"
模型出现了但调用报错
按这个顺序检查:
- Base URL 对不对(OpenAI 格式一般加
/v1,Anthropic 格式一般不加) - API Key 有没有填对、有没有余额
- 模型 ID 和中转站是否一致
- 协议类型是否匹配
Claude 模型连不上
最常见的三个原因:
- Base URL 的
/v1加没加对 → OpenAI 格式一般加,Anthropic 格式一般不加,调不通就反过来试 - 协议写成了
openai-completions→ 改成anthropic-messages - 中转站本身不支持 Anthropic 原生格式 → 换成
openai-completions试试,有些中转站的 Claude 也能走 OpenAI 兼容格式
报认证错误
试试在 provider 里加一行 "authHeader": true:
"myapi": {
"baseUrl": "https://api.xxxx.com/v1",
"apiKey": "你的API密钥",
"api": "openai-completions",
"authHeader": true,
"models": [……]
}
响应很慢或超时
在 provider 里加一行超时设置(单位是秒):
"timeoutSeconds": 300
默认超时大约 120 秒,推理模型响应较慢的话可以调大。
十二、总结
整个过程就三步:
- 备份配置文件
- 在 providers 里加一段配置(照抄模板,改几个关键值)
- 重启 OpenClaw
配置的关键就是四个东西对齐:
- 协议类型:大多数模型用
openai-completions,Claude 原生用anthropic-messages - Base URL:OpenAI 格式一般加
/v1,Anthropic 格式一般不加,调不通就反过来试 - API Key:中转站给的有效密钥
- 模型 ID:和中转站一模一样