Skip to content

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" // <-- 这个东西
}

其他配置

其他配置不是本文重点,本文重点是帮用户跑通基本的模型请求,不卡在这一步,实际上模型配置通以后还有很多需要配置的,需要各位自己研究官方文档了。如果你有配置我们服务时的其他踩坑经验,欢迎投稿。