openclaw成功调用本地大模型需满足三类前提:一是docker 20.10+守护进程运行正常且用户已加入docker组;二是ollama必须监听默认地址http://localhost:11434,不可修改;三是模型命名须符合小写字母、数字和短横线规范,配置中model_name须带ollama/前缀,base_url须设为http://host.docker.internal:11434并配合--add-host参数启用网络穿透。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让OpenClaw成功加载并调用本地大模型,必须提前准备好底层运行时支撑环境,缺一不可——比如缺少Docker守护进程或Ollama未监听默认端口,后续所有配置都会卡在“连接超时”错误里。
基础运行时组件
安装 Docker 并确保服务已启动:OpenClaw 的沙箱执行层依赖容器化隔离,【必须使用 Docker 20.10+ 版本】,旧版本不支持 runtime v2 插件机制。运行 docker ps 应返回空列表但无报错,表示守护进程就绪。
安装 Ollama 并验证服务可达:OpenClaw 通过 HTTP 调用 http://localhost:11434 与 Ollama 通信,【禁止修改 Ollama 默认监听地址和端口】,否则需同步调整 OpenClaw 的 model_url 配置项,否则模型加载直接失败。
确认当前用户已加入 docker 组:执行 docker run hello-world 不报 permission denied,否则后续启动 OpenClaw 容器时会因无法挂载 /var/run/docker.sock 而退出。
模型文件与格式要求
方法一:直接拉取官方支持模型
运行 ollama pull llama3:8b 或 ollama pull deepseek-r1:14b,OpenClaw 内置适配器能自动识别这些命名规范的模型。
方法二:自定义 Modelfile 构建优化模型
创建 Modelfile,显式声明上下文长度与线程数:
FROM llama3:8b<br>PARAMETER num_ctx 8192<br>PARAMETER num_batch 512
然后执行
ollama create llama3-optimized -f Modelfile。这一步不能跳过——未经 PARAMETER 调优的原始模型在长代码生成任务中极易触发 context overflow。
注意:模型名称中不能含下划线或大写字母,Ollama 仅接受小写字母、数字和短横线,例如 my-model-v1 合法,My_Model 会导致 OpenClaw 解析 model name 时抛出正则匹配异常。
OpenClaw 配置文件关键字段
第一步:编辑 config.yaml 中的 model 配置段
设置 model_name: ollama/llama3-optimized ——前缀 ollama/ 不可省略,这是 OpenClaw 路由到本地 Ollama 的协议标识。
第二步:指定 base_url
填入 base_url: http://host.docker.internal:11434。这里必须用 host.docker.internal,而不是 localhost,因为 OpenClaw 容器内部的 localhost 指向容器自身,无法访问宿主机上的 Ollama 服务。
第三步:启用 sandbox 网络穿透
在 docker run 命令中加入 --add-host host.docker.internal:host-gateway 参数,否则第二步填的 base_url 会解析失败,导致所有模型请求返回 503 Service Unavailable。










