openclaw接入本地ollama模型需将api_base设为http://127.0.0.1:11434/api、model_name设为ollama中实际存在的模型名(如llama3.2)、删除api_key,并将请求路径由/v1/chat/completions改为/chat,确保请求体结构符合{"model":"...","messages":[...]}格式,否则将触发404或400错误。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw接入本地Ollama模型需绕过默认的云端API调用路径,直接指向本机Ollama服务端口并适配其REST API格式,否则会因协议不匹配导致连接超时或返回404错误。
确认Ollama服务已就绪并监听正确地址
执行ollama serve或systemctl start ollama后,必须验证服务实际监听的是127.0.0.1:11434而非仅localhost:11434——某些Linux发行版中localhost解析可能被/etc/hosts劫持为::1(IPv6),而OpenClaw默认只走IPv4。运行ss -tuln | grep :11434,若输出含127.0.0.1:11434才表示可用。
若未监听,编辑~/.ollama/config.json(不存在则新建),写入:{"host":"127.0.0.1:11434"},然后重启服务:systemctl restart ollama。
【关键前提】确保Ollama中已拉取目标模型,例如ollama pull llama3.2,否则OpenClaw发起请求时将收到model not found错误且无法自动触发下载。
修改OpenClaw配置文件指向本地Ollama
打开OpenClaw项目根目录下的config.yaml(或settings.json,依版本而定)。
定位到LLM配置区块,将原类似api_base: https://api.openai.com/v1的字段替换为:api_base: http://127.0.0.1:11434/api。
将model_name字段值设为Ollama中实际存在的模型名,例如llama3.2(注意不含:latest后缀,Ollama API不识别该格式)。
删除或注释掉api_key字段——Ollama本地服务无需密钥认证,保留会导致OpenClaw尝试发送无效header而被拒绝。
本次更新实现飞书插件 npm 独立分发,新增 Ollama 本地模型配置及 openclaw 命令别名。引入 SQLite 持久化队列,支持断点续传。全面集成飞书、钉钉、企业微信及 QQ 官方渠道,优化阿里云百炼模型选择。修复多 Agent 路由、定时任务校验及配对授权等关键问题,提升系统稳定性与兼容性。
调整请求头与路径以兼容Ollama API
OpenClaw默认按OpenAI格式构造请求,必须手动覆盖为Ollama兼容格式:
方法一:在配置中启用Ollama适配器开关(若版本≥0.8.3)→ 设置provider: "ollama" → 自动重写/v1/chat/completions为/chat路径,并移除Authorization头。
方法二:手动重写请求路径(适用于旧版)→ 找到llm_request_template字段 → 将URL模板从"{{api_base}}/v1/chat/completions"改为"{{api_base}}/chat" → 在headers块中显式删除Authorization键。
这一步不可跳过:Ollama的/chat端点要求请求体为{"model":"llama3.2","messages":[{"role":"user","content":"..."}]}结构,而OpenAI格式多一层data包装且含temperature等非Ollama原生字段,不修正将返回400 Bad Request。
启动OpenClaw并验证连通性
第一步:终端进入OpenClaw项目目录 → 执行python main.py(或对应启动命令)。
第二步:观察日志输出,出现Connected to Ollama at http://127.0.0.1:11434且无Connection refused或timeout字样。
第三步:在Web UI中输入测试问题,如“你好”,等待响应;若返回文本且无JSON解析错误,说明模型调用链路打通。
若首条消息卡住超过15秒,立即检查Ollama容器或进程是否仍在运行:ps aux | grep ollama,常见原因是系统内存不足导致Ollama后台进程被OOM killer终止。









