← 返回首页
文章目录

OpenClaw 配置自定义 AI 模型

· OpenClaw 配置自定义 AI 模型方法,涵盖配置文件结构、OpenAI 兼容与 Anthropic 格式的区别、完整配置示例及常见问题排查。

OpenClaw 是一个开源的 AI 个人助理框架。你可以接入第三方 API 中转站的模型。本文手把手教你操作。

一、改哪个文件

OpenClaw 的所有配置都在一个文件里:

~/.openclaw/openclaw.json

⚠️ 改之前先备份! 复制一份保存好,万一改坏了可以恢复。

备份方法:把 openclaw.json 复制一份,改名为 openclaw.json.bak,放在同一目录下就行。改坏了就把 .bak 文件改回 openclaw.json 覆盖回去。

用任何文本编辑器打开这个文件就能改,比如记事本、备忘录都可以。

二、改之前先确认三件事

从你的 API 中转站拿到以下信息:

  1. API 地址(Base URL)— 类似 https://api.xxxx.com/v1 这样的网址
  2. API 密钥(API Key)— 类似 sk-xxxx 的一串字符
  3. 模型 ID— 类似 glm-5.1deepseek-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随便起个英文名,比如 zhipudeepseek-api这是给这组配置取的名字,方便识别
https://api.xxxx.com/v1你的中转站 API 地址OpenAI 格式一般要加 /v1,Anthropic 格式一般不加
你的API密钥你的中转站 API Keysk- 开头的那串
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"

模型出现了但调用报错

按这个顺序检查:

  1. Base URL 对不对(OpenAI 格式一般加 /v1,Anthropic 格式一般不加)
  2. API Key 有没有填对、有没有余额
  3. 模型 ID 和中转站是否一致
  4. 协议类型是否匹配

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 秒,推理模型响应较慢的话可以调大。

十二、总结

整个过程就三步:

  1. 备份配置文件
  2. 在 providers 里加一段配置(照抄模板,改几个关键值)
  3. 重启 OpenClaw

配置的关键就是四个东西对齐:

  • 协议类型:大多数模型用 openai-completions,Claude 原生用 anthropic-messages
  • Base URL:OpenAI 格式一般加 /v1,Anthropic 格式一般不加,调不通就反过来试
  • API Key:中转站给的有效密钥
  • 模型 ID:和中转站一模一样