必须正确填写Base URL为http://localhost:8000/v1(末尾含/v1且无多余斜杠),并确保本地模型服务已启用OpenAI兼容接口且监听0.0.0.0,否则OpenClaw将超时或返回404导致Agent无法启动。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在OpenClaw中成功调用本地运行的大语言模型,必须正确填写Base URL,否则请求会直接超时或返回404错误,整个Agent流程无法启动。
确认本地模型服务已暴露OpenAI兼容接口
OpenClaw只接受符合OpenAI REST API规范的后端。先验证你的本地模型服务是否已启用/v1路径:在浏览器或curl中访问 http://localhost:8000/v1/models。如果返回JSON格式的模型列表(含"object": "list"),说明服务就绪;若显示“Cannot GET /v1/models”或连接被拒绝,需回退检查vLLM、SGLang或Ollama是否已开启OpenAI兼容模式并监听0.0.0.0。
这一步不能跳过——OpenClaw不会自动探测端口或协议,它严格依赖你填入的URL发起POST请求。
在OpenClaw配置文件中设置Base URL
打开OpenClaw项目根目录下的 config.yaml(或 config.toml,取决于你使用的版本分支)。
定位到 llm: 区块,在其下添加或修改 base_url 字段:
llm:
model: "deepreinforce-ai/Ornith-1.0-35B"
base_url: "http://localhost:8000/v1"
api_key: "EMPTY"
【base_url末尾必须包含/v1,且不能有多余斜杠如/v1/】。错写成 http://localhost:8000 或 http://localhost:8000/v1/ 都会导致OpenClaw构造出错误的请求路径,例如 POST /v1//chat/completions,从而触发404。
针对Docker容器内运行OpenClaw的特殊处理
方法一:使用host.docker.internal(推荐)
如果你的本地模型服务运行在宿主机上,而OpenClaw运行在Docker容器中,不能填localhost。此时需将base_url改为:
base_url: "http://host.docker.internal:8000/v1"
Docker会自动将该域名解析为宿主机网关IP,这是跨容器通信最稳定的方式。
方法二:改用宿主机真实IP
在Linux/macOS执行 ip route | grep default | awk '{print $3}' 获取宿主机IP(如172.17.0.1),然后填入:
base_url: "http://172.17.0.1:8000/v1"
注意:Windows Docker Desktop用户也支持host.docker.internal,但旧版WSL2可能存在DNS缓存问题,首次失败可尝试重启Docker Desktop。
验证配置是否生效
第一步:保存config.yaml后,重启OpenClaw服务进程(或重新运行python main.py)。
第二步:观察控制台日志。成功加载配置后会出现类似提示:
[INFO] LLM client initialized with base_url=http://localhost:8000/v1, model=Ornith-1.0-35B
第三步:向OpenClaw提交一个简单指令,例如“输出hello”。如果右侧响应区返回文本而非报错(如“Connection refused”或“Invalid URL”),说明Base URL已正确打通。


















