新闻详情

新闻详情

首页 / 资讯中心 / 详情

OpenClaw 本地部署实战:Ollama + WSL2 下让 exec 与 tool 调用真正跑通

发布时间:2026/9/26 18:11:07来源:尧图网络
OpenClaw 本地部署实战:Ollama + WSL2 下让 exec 与 tool 调用真正跑通
1. 为什么 Windows 用户跑 OpenClaw 总卡在 exec 和 tool 调用如果你在 Windows 上直接装 OpenClaw大概率会遇到两个让人抓狂的问题一是exec执行任务时提示找不到路径或者权限被拒二是tool调用直接返回失败日志里一堆看不懂的报错。我一开始也以为是模型不行换了好几个模型才发现根子其实在运行环境上。OpenClaw 这类 Agent 框架对文件系统路径、进程权限、网络回环地址的要求比较严格而 Windows 原生的路径分隔符和权限模型跟 Linux 差异很大。WSL2 的好处就在这里它给你一个几乎完整的 Linux 内核同时又能直接访问 Windows 的显卡资源。把 Ollama 装在 Windows 侧吃 GPU把 OpenClaw 装在 WSL2 里跑逻辑两边通过localhost通信这套组合实测下来是最稳的。这篇内容适合谁手上有一台带独显的 Windows 笔记本或台式机想用本地模型跑 OpenClaw并且希望exec能真正执行命令、tool能真正调用成功的同学。我会从 WSL2 安装到 D 盘开始一路给到可复制的openclaw.json配置骨架最后用一次 exec 任务和一次 tool 调用做实际验证。全程不需要任何特殊网络手段Ollama 和 OpenClaw 都是本地跑。核心检索词先摆出来OpenClaw 本地部署、Ollama 本地模型、WSL2 环境、exec 执行任务、tool 调用失败排查。下面按顺序来。2. 前置准备WSL2 装到 D 盘 Ollama 装在 Windows2.1 WSL2 安装到 D 盘避免 C 盘爆掉WSL2 默认会把虚拟磁盘放在 C 盘用户目录下Ubuntu 加上模型缓存很容易吃掉几十 GB。用--location参数可以直接指定安装位置。以管理员身份打开 PowerShell执行wsl --install -d Ubuntu --location D:\WSL\Ubuntu系统会自动下载 Ubuntu 镜像并把虚拟磁盘存到 D 盘指定目录。装完后去D:\WSL\Ubuntu下看一眼如果存在ext4.vhdx文件说明安装成功。这一步很关键后面 OpenClaw 的工作目录和模型缓存都会落在这个盘上C 盘空间能省下来。2.2 .wslconfig 资源限制配置WSL2 默认会吃掉大量内存尤其是你还要在 Windows 侧跑 Ollama 占显存的时候。在 Windows 用户文件夹下一般是C:\Users\你的用户名\创建或编辑.wslconfig[wsl2] memory4GB swap2G processors4 [experimental] networkingModemirrored dnsTunnelingtrue firewalltrue autoProxytrue这里networkingModemirrored是重点。开启镜像网络后WSL2 里的127.0.0.1和 Windows 侧的127.0.0.1是互通的Ollama 监听在 Windows 的 11434 端口WSL2 里直接用http://127.0.0.1:11434就能访问不需要去查什么虚拟网卡 IP。很多人 exec 和 tool 调用失败就是因为网络模式没开镜像WSL2 里访问不到 Windows 的 Ollama 服务。改完.wslconfig后在 PowerShell 里执行wsl --shutdown再重新进入配置才生效。2.3 Ollama 装在 Windows 侧Ollama 直接装在 Windows 下这样能吃到 NVIDIA 显卡。我这边是 RTX 4050 Laptop 6G 显存装的是 Ollama 0.18.2。装完后确认服务在跑ollama list然后拉一个带扩窗的模型。注意qwen2.5:latest-32k这种带后缀的是社区扩窗版本上下文能到 128000但显存占用也大。6G 显存建议先用 32k 版本试ollama pull qwen2.5:latest-32k拉完后测试 Ollama 的 OpenAI 兼容接口是否正常curl http://localhost:11434/v1/chat/completions -H Content-Type: application/json -d {model:qwen2.5:latest-32k,messages:[{role:user,content:Hello!}]}如果返回一段 JSON 且里面有choices字段说明 Ollama 侧没问题。这一步在 Windows PowerShell 里跑就行不用进 WSL2。3. OpenClaw 配置文件骨架Ollama 对接参数怎么写3.1 安装 OpenClaw 到 WSL2进入 WSL2 的 Ubuntu先确认 Node 环境。OpenClaw 的 skills 安装依赖 npm所以 Node 版本别太低node -v npm -v然后按官方方式安装 OpenClaw。装完后跑一次openclaw doctor做环境自检它会告诉你哪些依赖缺失。我这边用的是 v2026.03.18 版本WSL2 分配了 4 核 4G 内存。3.2 openclaw.json 的 models.providers 段配置文件一般在~/.openclaw/openclaw.json。核心是把 Ollama 作为一个 provider 接进来baseUrl指向http://127.0.0.1:11434/v1api字段用openai-completions这样 OpenClaw 会用 OpenAI 兼容协议去调 Ollama{ models: { providers: { ollama: { baseUrl: http://127.0.0.1:11434/v1, apiKey: ollama, api: openai-completions, models: [ { id: qwen2.5:latest-32k, name: Alibaba Qwen2.5:latest-32k (Ollama), reasoning: false, input: [text], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 128000, maxTokens: 8192 } ] } } } }contextWindow的值要和模型实际扩窗大小对齐。值越大启动同一个模型占用的内存越多6G 显存如果吃紧可以调成 65536 甚至更小。maxTokens是单次生成上限8192 够用。3.3 agents.defaults 与 tools.profileagents.defaults.model.primary指定默认模型格式是provider/modelId{ agents: { defaults: { model: { primary: ollama/qwen2.5:latest-32k, fallbacks: [] }, workspace: /home/tj/.openclaw/workspace, compaction: { mode: safeguard, reserveTokensFloor: 128000 }, maxConcurrent: 4 } }, tools: { profile: full } }tools.profile设成full才能让 exec 和 tool 调用全部放开。如果你只想给 coding 场景用可以设成coding再用alsoAllow额外放行搜索类工具。关于上下文窗口压缩agents.defaults.compaction.reserveTokensFloor的值要小于模型上下文窗口的 80%越大越能支持多轮对话。128000 的窗口配 128000 的 reserve 其实偏激进实际用下来如果对话轮次多可以适当降到 100000 左右留点余量。3.4 gateway 段与本地回环gateway 负责 OpenClaw 的本地服务端口和鉴权{ gateway: { port: 18789, mode: local, bind: loopback, controlUi: { allowedOrigins: [ http://localhost:18789, http://127.0.0.1:18789 ], allowInsecureAuth: true, dangerouslyDisableDeviceAuth: true }, auth: { mode: token, token: 你的本地token } } }bind设成loopback表示只监听本地不对外暴露。dangerouslyDisableDeviceAuth在纯本地开发时可以开省去设备认证的麻烦但如果你这台机器有其他人用建议关掉。4. 验证请求一次 exec 任务 一次 tool 调用4.1 启动 gateway配置写好后在 WSL2 里启动openclaw gateway --port 18789看到监听日志后浏览器打开http://127.0.0.1:18789/chat进入聊天界面。4.2 exec 任务验证在聊天框里输入一个明确的 exec 指令比如执行 ls -la /home/tj/.openclaw/workspace如果模型能正确调用 exec 工具并返回目录列表说明 exec 链路通了。这里有个坑如果模型找不着本机目录的准确位置会反复问你路径或者干脆执行失败。我实测qwen2.5:latest-32k在这一点上不太稳定经常找不着目录导致 exec 无法正常执行本机操作。根本原因是模型能力不够换成carstenuhlig/omnicoder-9b:latest或gag0/qwen35-opus-distil:27b后问题解决。4.3 tool 调用验证tool 调用用一个联网搜索插件来验证。先安装openclaw plugins install ollama/openclaw-web-search装完确认状态openclaw plugins list输出里如果有ollama/openclaw-web-search且状态是loaded就说明插件激活了。如果显示disabled执行openclaw plugins enable ollama/openclaw-web-search然后在聊天里输入搜索一下 OpenClaw 的最新版本号如果模型能调用 web-search 工具并返回搜索结果tool 调用链路就通了。4.4 能干活的模型配置案例如果你发现默认模型 exec 和 tool 调用都不稳直接换成下面这套配置。显存超过 32G 用 27b没有 32G 用 9bollama launch openclaw --model carstenuhlig/omnicoder-9b:latest对应的openclaw.json关键段{ models: { mode: merge, providers: { ollama: { baseUrl: http://127.0.0.1:11434, apiKey: OLLAMA_API_KEY, api: ollama, models: [ { id: carstenuhlig/omnicoder-9b:latest, name: carstenuhlig/omnicoder-9b:latest, reasoning: false, input: [text], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 262144, maxTokens: 8192 } ] } } }, agents: { defaults: { model: { primary: ollama/carstenuhlig/omnicoder-9b:latest }, workspace: /home/tj/.openclaw/workspace } }, tools: { profile: coding, alsoAllow: [ollama_web_search, ollama_web_fetch] } }注意这里api字段用的是ollama而不是openai-completions两种协议 OpenClaw 都支持ollama原生协议在某些工具调用场景下更稳。5. 本篇常见错排查5.1 exec 报「找不到路径」或「权限被拒」先确认 WSL2 里的工作目录存在且当前用户有写权限ls -ld /home/tj/.openclaw/workspace如果目录不存在手动建一个。权限问题一般是 WSL2 默认用户和目录 owner 不一致用chown修一下。另一个常见原因是.wslconfig里没开networkingModemirrored导致 OpenClaw 访问 Ollama 时超时表现上像是 exec 卡住实际是模型请求没发出去。5.2 tool 调用返回「plugin not loaded」先跑openclaw plugins list看插件状态。如果是disabled用openclaw plugins enable激活。如果列表里根本没有这个插件说明安装没成功重新执行openclaw plugins install ollama/openclaw-web-search。安装时确保终端有足够权限Windows 侧右键 PowerShell 选「以管理员身份运行」WSL2 里如果提示权限不足命令前加sudo。5.3 模型能聊天但一调用工具就胡言乱语这是模型能力问题不是配置问题。qwen2.5:latest-32k在纯对话上没问题但工具调用和 exec 路径识别需要更强的指令遵循能力。换carstenuhlig/omnicoder-9b:latest或gag0/qwen35-opus-distil:27b后exec 和 tool 调用成功率明显提升。如果显存不够跑 9b至少也要用 7b 以上的 coder 类模型。5.4 上下文窗口设太大导致 OOMcontextWindow和reserveTokensFloor设得越大启动时占用的内存越多。6G 显存跑 128000 窗口的模型如果同时开多个并发很容易 OOM。把contextWindow降到 65536reserveTokensFloor降到 50000 左右能明显缓解。maxConcurrent也建议从 4 降到 2。5.5 WSL2 里 curl Ollama 超时在 WSL2 里执行curl http://127.0.0.1:11434/v1/chat/completions -H Content-Type: application/json -d {model:qwen2.5:latest-32k,messages:[{role:user,content:Hello!}]}如果超时先确认 Windows 侧 Ollama 服务在跑再确认.wslconfig里networkingModemirrored已生效。改完.wslconfig必须wsl --shutdown重启才生效很多人忘了这步以为配置没写对。6. 本地跑通之后什么时候该接云端模型本地 Ollama WSL2 这套组合的优势是数据不出本机、零调用成本适合日常调试和隐私敏感场景。但本地模型在复杂工具调用、长上下文推理上还是有天花板尤其是 exec 需要精确路径识别的时候小模型容易翻车。如果你发现本地模型在 coding 和 Agent 场景下不够用可以把 OpenClaw 的 provider 切到云端。TaoToken 提供了 OpenAI 兼容的接入方式配置思路和上面接 Ollama 一样只是把baseUrl和apiKey换掉。API 地址是https://taotoken.net/api接入文档在 TaoToken 接入文档 里有完整的参数说明。具体操作上先去 TaoToken API Keys 页面 生成一个 key然后在openclaw.json的models.providers里加一个 providerbaseUrl填https://taotoken.net/apiapi用openai-completions。想先验证模型对话效果可以直接在 模型对话页面 试几个 prompt确认响应质量后再写进配置。如果你主要是长期跑 coding 和 Agent 任务本地模型频繁 OOM 或者 exec 不稳定可以考虑 Coding Plan按用量走比本地硬扛显存更省心。配置入口在 TaoToken 控制台生成 key 后回到 OpenClaw 的openclaw.json里替换 provider 段即可其他 agents 和 tools 配置不用动。本地和云端不是二选一你可以把本地 Ollama 作为 fallback云端作为 primary在agents.defaults.model.fallbacks里配好顺序OpenClaw 会自动切换。这样既保留了本地零成本的优势又能在复杂任务上兜底。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

treg CLI工具链:OpenRouter API聚合与MCP协议集成实战 2026/9/26 19:41:39

treg CLI工具链:OpenRouter API聚合与MCP协议集成实战

1. 从"treg"这个标题说起:一个被低估的CLI工具链整合思路第一次看到"treg"这个标题的时候,我脑子里蹦出来的第一个念头是"这又是什么缩写"。做命令行工具这行的老毛病了,看到四个字母以内的东西就条件反射地想…

阅读更多 →
treg CLI工具链:统一OpenRouter密钥、MCP连接与Agent执行 2026/9/26 19:41:33

treg CLI工具链:统一OpenRouter密钥、MCP连接与Agent执行

1. 从“treg”这个标题说起:一个被低估的CLI工具链入口第一次看到“treg”这个词,很多人会以为是某个拼写错误,或者某个小众库的缩写。但如果你最近在折腾 AI Agent 开发、CLI 工具链、MCP 协议这些东西,大概率已经在某个 issue、…

阅读更多 →
IntelliJ IDEA社区版完全指南:从安装配置到进阶技巧 2026/9/26 19:41:26

IntelliJ IDEA社区版完全指南:从安装配置到进阶技巧

1. 为什么我劝你彻底放弃破解版,转投社区版刚入行那会儿,我也用过一阵子破解版IDE。当时想法很简单:功能全、不花钱、网上教程一搜一大把。但用了不到半年,我就被折腾得够呛。先是某次自动更新之后激活失效,整个项目索…

阅读更多 →
Codex 配置 OpenAI 兼容接口完整流程:API Key、模型选择与常见报错排查(TaoToken 统一 Key 接入版) 2026/9/26 19:41:20

Codex 配置 OpenAI 兼容接口完整流程:API Key、模型选择与常见报错排查(TaoToken 统一 Key 接入版)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
开源代码审查协议:Git+CLI+LLM的可审计协作范式 2026/9/26 19:41:20

开源代码审查协议:Git+CLI+LLM的可审计协作范式

1. 这不是另一个“AI代码审查工具”,而是一套可嵌入开发流程的开源协作协议“open-code-review”这个标题乍看像某个新出的CLI工具名,但实际它指向的是一种正在被越来越多团队实践的开放型代码审查范式——不是靠单点工具自动扫描,而是把代码…

阅读更多 →
PaddleNLP 大模型集群部署实战:基于 paddle-operator 的 Kubernetes 分布式训练与公有云方案 2026/9/26 19:41:20

PaddleNLP 大模型集群部署实战:基于 paddle-operator 的 Kubernetes 分布式训练与公有云方案

人工智能大模型预训练微调LoRARLHF强化学习分布式训练 【免费下载链接】PaddleNLP Easy-to-use and powerful LLM and SLM library with awesome model zoo. 项目地址: https://gitcode.com/gh_mirrors/pa/PaddleNLP 点击查看 免费下载 本文档面向在集群环境中开展…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉