Appearance
OpenClaw 踩坑指南,节省你24小时浪费的生命
OpenClaw 这个东西大火特火,GitHub star 数居然都超过 Linux 几十年的积累了,很多人都反馈 CloseAI 不支持,实际上全部都是配置错误导致的,为了避免我们的用户反复踩坑,我们亲自测试,总结了一套行之有效的配置。
安装
bash
curl -fsSL https://openclaw.ai/install.sh | bash首先是安装,这个没什么说的,按照官方命令安装即可,但是重点是,不要在安装完成后用命令行初始化你的模型配置,那个是巨坑!
◆ Model/auth provider
│ ○ OpenAI
│ ○ Anthropic
│ ○ Chutes
....... 此处省略
│ ● Custom Provider (Any OpenAI or Anthropic compatible endpoint)
│ ○ Skip for now这个玩意是给不需要中转的外国人使用的,你通过这个配置会发现怎么也配置不对,选 OpenAI 他不让你配域名,选 Custom Provider 配了半天他给你报错,很多模型就是配置不起来。所以这里选择跳过(Skip for now),其他的配置看你需求,如果不需要,可以一路跳过。
全部初始化工作完成后,有 2 个地方可以配置,一个是 WEB UI,又丑又难用,乱七八糟的。一个是直接改 json config,我们后续会通过 json config 直接配置(聪明人的选择)。
开始配置
首先要理解不同大模型供应商协议的区别,CloseAI 是为数不多支持所有原生协议的中转平台,具体协议的区别看这篇文章。
在你的用户目录下,有这么个文件,打开它(如果你不知道如何打开隐藏目录,说明你还得练),Windows 用户自己找找,我这边没试:
~/.openclaw/openclaw.json里面有个 models 字段,如果没有也没关系,大致内容如下,可以直接复制进去:
json
"models": {
"providers": {
"closeai": {
"baseUrl": "https://api.openai-proxy.org/v1",
"apiKey": "{sk-你的秘钥}",
"auth": "api-key",
"api": "openai-completions",
"models": [
{
"id": "gpt-4.1",
"name": "gpt-4.1",
"reasoning": false,
"input": [],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 400000,
"maxTokens": 128000
}
]
}
}
},这个里面的重点就是 url 和协议如何配置,配置错误就会遇到各种 404、400 问题。需要使用正确的组合,并摸索清楚到底那些需要/v1等版本后缀,那些不需要(OpenClaw显然设计的比较乱,没有统一的规划)。
OpenAI 模型
json
"baseUrl": "https://api.openai-proxy.org/v1",
"api": "openai-responses"Claude 模型
json
"baseUrl": "https://api.openai-proxy.org/anthropic",
"api": "anthropic-messages"Gemini 模型
json
"baseUrl": "https://api.openai-proxy.org/google/v1beta",
"api": "google-generative-ai"兼容模式:所有模型(包括 GLM、Kimi、MiniMax 等)
json
"baseUrl": "https://api.openai-proxy.org/v1",
"api": "openai-completions"WARNING
注意兼容模式看似强大,什么模型都能用,实则问题多多,因为兼容层往往有一些未覆盖的地方,很容易导致异常,推荐 Claude/Gemini 优先使用原生协议接入,更稳定,兼容模式只用于 GLM 等第三方模型。
模型怎么配应该不用我教,改个名字的事。
所以最终,所有模型都配置的话,总的配置文件如下,你可以直接复制部分进去,或者整体复制进去替换:
点击展开 · 完整配置(四个 Provider)
json
"models": {
"providers": {
"closeai-openai": {
"baseUrl": "https://api.openai-proxy.org/v1",
"apiKey": "{sk-你的秘钥}",
"auth": "api-key",
"api": "openai-responses",
"models": [
{
"id": "gpt-5.4",
"name": "gpt-5.4",
"reasoning": true,
"input": [],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 400000,
"maxTokens": 128000
}
]
},
"closeai-claude": {
"baseUrl": "https://api.openai-proxy.org/anthropic",
"apiKey": "{sk-你的秘钥}",
"auth": "api-key",
"api": "anthropic-messages",
"models": [
{
"id": "claude-sonnet-4-6",
"name": "claude-sonnet-4-6",
"reasoning": true,
"input": [],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 200000,
"maxTokens": 64000
}
]
},
"closeai-gemini": {
"baseUrl": "https://api.openai-proxy.org/google/v1beta",
"apiKey": "{sk-你的秘钥}",
"auth": "api-key",
"api": "google-generative-ai",
"models": [
{
"id": "gemini-3.1-pro-preview",
"name": "gemini-3.1-pro-preview",
"reasoning": true,
"input": [],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 1000000,
"maxTokens": 64000
}
]
},
"closeai-compatible": {
"baseUrl": "https://api.openai-proxy.org/v1",
"apiKey": "{sk-你的秘钥}",
"auth": "api-key",
"api": "openai-completions",
"models": [
{
"id": "glm-5",
"name": "glm-5",
"reasoning": true,
"input": [],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 200000,
"maxTokens": 64000
}
]
}
}
},配置完成后,可以去默认的网页里聊天试试,一般就直接正常回复了。
注意事项
系统自动生成的json里,可能有这个api字段,注意不要配置,可能会导致错误,这个和顶层那个api完全不是一个意思:
json
{
"id": "claude-haiku-4-5",
"name": "claude-haiku-4-5",
"api": "anthropic-messages" // <-- 这个东西
}其他配置
其他配置不是本文重点,本文重点是帮用户跑通基本的模型请求,不卡在这一步,实际上模型配置通以后还有很多需要配置的,需要各位自己研究官方文档了。如果你有配置我们服务时的其他踩坑经验,欢迎投稿。