在OpenClaw中为多个模型配置Base URL是为了分别对接不同厂商或本地部署的OpenAI兼容API服务,需确保URL以http://或https://开头、末尾无斜杠、路径含/v1,且各模型在config.yaml中独立定义,通过curl和日志验证生效。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在OpenClaw中为多个模型配置Base URL,是为了让框架能分别对接不同厂商或本地部署的OpenAI兼容API服务,比如同时接入Ornith-1.0-35B的vLLM服务、Qwen3的sglang服务和百度文心一言的官方API。Base URL填错会导致模型调用失败,且错误提示常不明确。
确认各模型服务的Base URL格式
Base URL必须以http://或https://开头,末尾**不能带斜杠**,且路径必须包含/v1。例如:http://localhost:8000/v1 ✔️,http://localhost:8000/v1/ ❌(结尾多斜杠会触发404)。
本地vLLM服务默认地址是http://localhost:8000/v1;sglang默认是http://localhost:8080/v1;百度文心需用https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions——注意这不是标准OpenAI路径,需配合适配器或启用兼容模式。
在OpenClaw配置文件中声明多模型
打开config.yaml(或settings.py,取决于你使用的OpenClaw版本),找到models:区块。每个模型需独立定义,不可合并写在同一段里。
方法一:使用YAML映射结构(推荐)
在models:下按名称逐个列出:
models: ornith_local: base_url: "http://localhost:8000/v1" api_key: "EMPTY" model_name: "deepreinforce-ai/Ornith-1.0-35B" qwen_sglang: base_url: "http://localhost:8080/v1" api_key: "EMPTY" model_name: "Qwen3" ernie_online: base_url: "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions" api_key: "your_baidu_api_key" model_name: "ernie-bot-4"
【base_url必须与实际监听端口完全一致】若vLLM启动时指定了--host 127.0.0.1而非0.0.0.0,则Base URL不能写localhost,而要写http://127.0.0.1:8000/v1,否则容器内网络无法解析。
验证Base URL是否生效
第一步:在终端执行curl -X POST http://localhost:8000/v1/models -H "Authorization: Bearer EMPTY",应返回JSON含"data": [...]列表;
第二步:在OpenClaw代码中显式指定模型名调用,例如agent.run(task, model="ornith_local");
第三步:观察日志输出中的POST请求URL,确认它与配置的base_url拼接后完全匹配——这是唯一可信的验证方式,界面无提示。


















