ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

OpenClaw本地部署实战:WSL+Ollama打造中文AI Agent

OpenClaw本地部署实战:WSL+Ollama打造中文AI Agent 1. 项目概述OpenClaw 到底是什么为什么值得本地部署最近在好几个技术社群里看到有人讨论 OpenClaw这个项目其实是一个开源 AI 智能体AI Agent框架。你可以把它理解成一个“能自己动手干活”的 AI 员工你给它一个中文指令比如“把桌面上的发票图片整理成一个 Excel 表格”它会自己调用大模型理解需求然后操作工具完成整条链路而不是像普通聊天机器人那样只给你一段文字建议。OpenClaw 最吸引我的一点是本地优先的设计。它支持把智能体运行在你自己的电脑上甚至可以通过私有化方式接入各种本地大模型。这样一来你的对话记录、文件、任务上下文都留在本机不会传到第三方。对于有数据敏感需求的朋友或者单纯不想为每次调用付费的玩家这种方案都更省心、更可控。中文版 OpenClaw 在社区里特指完成了界面汉化、默认使用中文提示词模板、可以顺畅接入中文开源模型的部署形态。这篇文章不是什么官方文档而是我把一台普通 Windows 电脑从零部署到稳定运行的全过程记录。里面会包括硬件怎么评估、WSL 怎么折腾、Ollama 怎么对接、中文怎么配置、Skill 怎么扩展最后还有我踩过的几个坑。如果你已经玩过 Dify、FastGPT 这类平台想更进一步把 Agent 掌握在自己手里那这篇文章可以直接对照着操作。2. 部署前准备硬件、系统与基础环境清单2.1 硬件底线内存和磁盘才是最关键的很多人在部署前习惯先问显卡实际上对于 OpenClaw 这种智能体框架来说CPU、内存、磁盘的顺序比显卡更靠前。OpenClaw 本身只是个调度框架真正的算力消耗在大模型上。如果你走本地模型路线建议 16GB 内存起步32GB 会更从容如果打算跑 7B 以上的中文模型内存不足时加载模型会直接卡死这是逃不过去的。我自己的部署机是一台 16GB 内存的 Windows 笔记本跑 7B 量化模型刚刚好。日常开着浏览器、编辑器再加 OpenClaw内存占用基本顶着 90% 跑偶尔会触发系统换页但任务还能正常完成。后来我把一台 32GB 内存的旧台式机也装上同样的模型体验明显更顺模型推理时不会跟其他程序抢内存。所以如果你手头机器只有 8GB 内存我的建议是先别急着玩本地模型老老实实走云端 API 更现实。磁盘方面项目代码加依赖大概占 2GB 到 3GB模型文件才是大头。以 7B 量化模型为例常见尺寸在 4GB 到 6GB如果你还想拉 14B 甚至 72B那就要准备 70GB 以上的空间。我建议给系统盘留至少 20GB再单独准备一个数据盘放模型目录。用 SSD 是最好的机械硬盘加载大模型的速度慢得让人怀疑人生。显卡不是必需项纯 CPU 也能跑但生成速度会明显偏慢7B 模型大概每秒几个 token。有 8GB 显存的 N 卡体验会好很多可以边跑模型边干别的活。A 卡和 Intel 显卡也能跑不过要额外装对应的后端对新手不太友好。2.2 系统选择Windows WSL 还是纯 LinuxOpenClaw 的服务端依赖大量 Linux 生态的工具链在 Windows 上直接裸跑不是不行但会遇到路径转义、权限、脚本兼容性等一系列问题。社区里最稳妥的路线是装 WSL2也就是 Windows Subsystem for Linux在 Windows 里跑一个轻量级 Linux 子系统。这样你既能保留 Windows 的日常使用习惯又能获得接近原生 Linux 的执行环境。如果你手头有一台 Ubuntu 服务器或者闲置的 Linux 主机那就更省事直接跳过 WSL 这一层所有命令照搬即可。macOS 的 Intel 和 Apple Silicon 也能跑不过个别依赖需要编译建议先查看项目文档确认支持列表别一上来就踩编译失败的坑。我的建议是N 卡用户优先 WSL2因为 CUDA 在 WSL2 里可以直接复用 Windows 的显卡驱动不用在子系统里重复安装驱动AMD 核显或纯 CPU 用户则随便选差异不大。Windows 11 对 WSL2 的支持最完整Windows 10 需要系统版本够新这一点后面排查部分还会细讲。2.3 必装依赖Node.js、Git、包管理器OpenClaw 的客户端和命令行工具基于 Node.js 开发所以 Node.js 是第一个必装项。建议直接装 LTS 版本不要追最新版因为 Agent 生态里很多依赖对 Node 版本有严格要求大版本号一换原生模块编译失败的几率直线上升。检测方法很简单在 Windows 的 PowerShell 或者 Linux 终端分别执行node -v npm -v git --version如果输出正常的版本号说明环境没问题。如果没有安装去 Node.js 官网下载 Windows 安装包或者用 Linux 上的 nvm 安装curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash nvm install --lts nvm use --ltsGit 的作用是拉取代码和后续更新安装完记得配置用户名和邮箱否则提交的时候会报错。包管理器方面npm 就够了但如果你想用 pnpm也没问题只是后面几条命令要相应替换。这里有个小细节Windows 上安装完 Node.js 后Git Bash 不一定能直接识别node命令需要把 Node.js 的安装目录手动加入 PATH 环境变量或者干脆所有操作都在 WSL 的终端里完成。2.4 模型路线图本地 Ollama 还是云端 APIOpenClaw 本身不内置模型它需要一个大模型来充当“大脑”所以部署前就要想清楚走哪条路线。线路一纯本地。通过 Ollama 加载开源模型比如 Qwen2.5、DeepSeek-R1、GLM 等所有请求都在本机完成零成本、离线可用隐私最好但效果受限于硬件。线路二云端 API。配置各大云厂商开放平台的大模型接口比如 DeepSeek、智谱、阿里百炼、硅基流动这些。好处是本地不需要高性能硬件模型能力上限高缺点是每次调用按 token 计费数据也要经过云端。我个人推荐先走本地路线跑通整个流程把 OpenClaw 的安装、配置、Skill 调用摸熟再按需接入 API。这样就算后面 API 出问题也能回退到本地模型继续用。而且本地模型的优势是“白嫖”一次配置无限调用特别适合拿来做实验、跑批量任务。准备工作到此为止下面进入真正的安装过程。3. 安装与初始化从零跑通中文版 OpenClaw3.1 先解决 WSL 环境问题如果你在 Windows 上部署第一道坎就是 WSL。很多新手的报错信息里都有那么一句请检查系统是否开启虚拟化或者提示无法安全验证让你在 PowerShell 运行wsl -- status。我先解释一下原因WSL2 依赖 Windows 的虚拟化功能。报“无法安全验证”多半是 Hyper-V 平台没有启用、虚拟化技术在 BIOS 里被关闭了或者在“启用或关闭 Windows 功能”里没有勾选“适用于 Linux 的 Windows 子系统”和“虚拟机平台”。实际操作时先以管理员身份打开 PowerShell执行wsl --status如果提示 WSL 版本过旧或者没有发行版直接执行wsl --install这个命令会自动启用需要的 Windows 功能并安装默认的 Ubuntu 发行版。安装完成后重启电脑再执行wsl --set-default-version 2确保默认用 WSL2 而不是 WSL1。接下来可以打开 Ubuntu 终端验证wsl -l -v看到 VERSION 列是 2 就说明环境对了。这里有个经验如果wsl --install之后长时间卡在下载阶段可以尝试先在 Microsoft Store 里搜 Ubuntu 22.04.3 LTS 手动安装速度通常更快安装完成后打开一次完成初始化即可。另外Windows 10 需要把系统更新到较新版本才支持 WSL2Windows 11 则基本上内置支持。3.2 获取项目代码与安装依赖进入 WSL 的 Ubuntu 环境后第一步是建一个工作目录比如mkdir ~/openclaw cd ~/openclaw然后从官方仓库拉取代码git clone https://github.com/OpenClaw/OpenClaw.git等待代码拉完后进入项目目录先看一眼 README 和环境变量模板文件cd OpenClaw cp .env.example .env安装依赖时国内网络环境的读者建议把 npm registry 切换为国内镜像不然大型依赖包下载会很折磨npm config set registry https://registry.npmmirror.com npm install这一步会花几分钟。安装过程中如果有卡住优先检查网络其次是 npm 缓存问题。依赖装好后可以先执行项目自带的检查命令看看有没有缺失的模块。我遇到过好几次安装到一半失败的情况基本都是网络波动导致的重跑npm install就能解决不用慌。3.3 首次启动与配置向导OpenClaw 提供了初始化命令通常类似npm run init它会引导你完成几个关键配置工作目录、模型提供方、默认模型名称、语言偏好等。语言偏好一定要选中文或者设置环境变量LANGzh_CN.UTF-8这直接决定了后面界面和日志的输出语言别等到跑起来才发现一堆英文日志再回头改就麻烦一些。初始化完成后先启动一个简单模式测试npm run dev正常的话终端会出现一个交互式会话入口输入“你好”如果模型还没配置会提示缺少模型服务。别急下一章专门处理模型接入。这里要提醒一下首次启动时项目会自动下载一些工具组件可能比较占时间耐心等它跑完不要反复 CtrlC 打断。3.4 切换中文界面与中文输出如果初始化时忘了切中文不用重装。进入配置文件找到语言相关字段改成{ locale: zh-CN, timezone: Asia/Shanghai, promptTemplate: zh }配置文件的路径一般在项目根目录的config.json或data/config.json下具体情况以仓库说明为准。改完重启服务即可。这里要特别提醒一点界面中文和模型中文是两回事。界面中文只是外壳如果接的模型是英文优化模型你会发现它虽然能听懂中文但回复习惯性夹杂英文甚至工具调用名都是英文。想要中文体验好就尽量选中文语料占比高的开源模型后面章节细说。4. 接入本地大模型让 OpenClaw 在中文语境下真正干活4.1 本地模型运行时Ollama 安装与验证Ollama 是目前最简单好用的本地模型运行时一条命令就能把开源模型跑起来。Windows 用户直接下载 Ollama 的桌面安装包装好Linux 用户执行curl -fsSL https://ollama.com/install.sh | sh装好后先确认服务在跑ollama list如果提示没有模型就拉取一个基础模型验证链路ollama pull qwen2.5:7b拉取完成后再测试一次ollama run qwen2.5:7b 用一句话介绍一下你自己看到流畅的中文回复说明 Ollama 已经就绪。Ollama 默认的 API 端口是 11434可以通过curl http://localhost:11434验证服务是否响应。OpenClaw 连接这个地址就能调用本地模型。4.2 选择适合中文的模型我实际测试过几个主流模型简单对比一下Qwen2.5 系列中文理解能力强工具调用能力也很稳是目前本地部署中文 Agent 的首选。7B 量化版在 16GB 内存机器上能跑32GB 内存建议直接上 14B。DeepSeek-R1 系列推理深度强适合复杂逻辑任务但输出偏长本地跑小参数量时速度会慢一些。GLM 系列中文精度不错长文本处理比同尺寸模型有优势整体表现均衡。我的默认组合是日常任务用qwen2.5:7b-instruct-q4_K_M需要深入分析时切换deepseek-r1:8b。切换方法很简单修改配置模型名然后重启 OpenClaw 即可。如果你不清楚具体标签格式可以先ollama show qwen2.5:7b查看支持的量化格式再决定用哪个 tag。这里说句实在话选模型不要盲目追求大参数关键是你的硬件能不能稳定跑起来。一个能在 5 秒内回复的 7B 模型实际体验远比一个卡顿的 14B 模型好。4.3 配置 OpenClaw 指向本地模型打开刚才生成的.env文件找到模型相关配置段改成如下示例MODEL_PROVIDERollama OLLAMA_BASE_URLhttp://127.0.0.1:11434 LLM_MODELqwen2.5:7b注意127.0.0.1这个地址。虽然你在 WSL 里跑 OpenClawOllama 可能装在 Windows 侧两者之间需要打通。最简单的方式是把 Ollama 也装进 WSL 环境这样双方都在127.0.0.1上通信少一层网络转发。如果你非要把 Ollama 放在 Windows那地址要写 Windows 主机的局域网 IP并且需要在防火墙里放行 11434 端口。配置完成后重新启动 OpenClaw 的开发服务再输入“你好帮我列出当前文件夹下的文件”。如果模型正常返回且 OpenClaw 正确执行了目录遍历说明整条链路已经打通。这一步跑通了后面所有功能才有意义。4.4 云端 API 备用方案本地模型在需要更强推理能力或更贴近业务场景的时候会力不从心这时候可以按需接入商业 API。OpenClaw 在模型提供方里预留了多个适配器常见的配置方式是MODEL_PROVIDERopenai_compatible OPENAI_BASE_URLhttps://your-api-endpoint OPENAI_API_KEYyour-key LLM_MODELdeepseek-chat现在很多云厂商都提供与 OpenAI 兼容的接口OpenClaw 可以直接复用这套配置。我建议在本地跑通之后申请一个按量计费的 API 作为备用。日常简单任务用本地模型重要任务切到云端高配模型这样成本可控效果也有兜底。4.5 Skill 机制给它加中文技能OpenClaw 的 Skill 机制是一个很有价值的扩展点。简单说Skill 就是一组写好的“工作模板”让 AI 知道面对某一类任务时应该按什么流程操作。比如官方示例里会有“文件整理”“网页截图”“邮件草稿”等。每个 Skill 通常包含一个SKILL.md文件和若干工具脚本。SKILL.md里写清楚用途、参数、示例OpenClaw 在收到相关任务时会自动匹配。比如我写过一个“中文周报生成”的 Skill它会先读取指定目录下的工作记录再调用模型生成结构化周报。这样我只说一句话剩下的交给 Skill 流程执行。自定义 Skill 很容易在skills目录下新建文件夹填写好 markdown 说明重启后就能被识别。第一次别贪多建议从自己最重复的一项工作开始写跑顺了再去扩展其他场景。5. 实战演练用 OpenClaw 完成日常任务5.1 任务一让 AI 总结本地文档并生成中文报告我先拿一个真实场景演示。工作目录里有一堆散落的会议记录我想让 OpenClaw 汇总成一份中文报告。打开交互界面输入“请扫描 docs/meetings 目录下的所有 markdown 文件提取每份文件的主题、关键决定和待办事项生成一份中文周报保存为 reports/weekly.md。”OpenClaw 会自动拆解这个任务先定位文件再用模型逐份读取分析最后生成结构化文档。整个过程会打印出它每一步在做什么。如果你发现它一次性处理不了太多文件可以给任务加一个范围限制比如“只处理最近一周修改的文件”减少模型上下文过载。我在实际使用中发现给 OpenClaw 下任务时最好把目标路径写清楚不要只写“帮我总结一下”。因为它是靠目录工具去定位文件的含糊的描述会让它多绕弯子甚至拿错文件。5.2 任务二用自然语言调度浏览器工具OpenClaw 的另一大能力是操作浏览器。实测中我让它“打开天气网站截取今天的天气实况并把截图保存到 downloads 目录”它能自动打开浏览器、访问页面、截屏并保存文件。这里有个实操细节浏览器操作依赖 Playwright 自动化库首次使用会提示安装对应浏览器内核。在 WSL 环境下还需要把DISPLAY环境变量配好或者开启 headless 模式。如果你在主机的 Windows 上用则要确认服务端运行在哪个环境保持路径一致。浏览器类 Skill 是消耗 token 的大户。你的本地模型上下文窗口如果只有 4K 到 8K长页面容易截断建议在这种场景临时切换到 API 模型。另外有些网站对自动化访问有反爬限制OpenClaw 会卡在登录页这种情况就别硬试了让它把源码分析结果返回给你人再决定下一步。5.3 任务三自定义 Skill 简化重复操作我平时最常用的一个自定义 Skill 是“自动归档截图”。我经常从微信、浏览器保存各种临时截图时间久了桌面一片混乱。我写了一个 Skill把当天生成的 png、jpg 文件按照日期归类到按天归档/2025-xx-xx/目录超过 90 天的截图压缩打包。写完 Skill 后我每次只需要说“整理一下今天的截图” OpenClaw 就会按模板里的步骤执行。调整归档规则时只改 Skill 里的几个参数也不用重新教模型一遍。这种“把流程沉淀下来”的思路才是 Agent 真正提高效率的地方。另外一个进阶玩法是给 Skill 里塞脚本。比如我有个“检查服务状态”的 Skill它内部其实是一段 shell 脚本遍历几个服务的健康检查接口把结果拼成一个表格再交给模型分析。这样模型不需要自己理解怎么查服务状态只需要根据脚本结果做判断准确率和速度都提升不少。6. 常见问题与排查技巧实录6.1 “WSL 无法安全验证”问题这是 Windows 新手在 OpenClaw 部署群里问得最多的问题。报错文案一般会让你“在 PowerShell 中运行 wsl -- status”。排查顺序是固定的管理员身份运行 PowerShell执行wsl --status看输出信息是什么。检查“启用或关闭 Windows 功能”确认“适用于 Linux 的 Windows 子系统”和“虚拟机平台”都被勾选。检查 BIOS 里 Intel VT-x 或 AMD SVM 是否开启。品牌机有时候默认关闭需要进 BIOS 设置打开。确认 Windows 版本。WSL2 要求 Windows 10 版本号不低于 1903并且 build 版本要足够新。绝大多数情况到第 2 步就解决了。如果全部都没问题可以试试wsl --shutdown wsl --update然后重启终端再来一次。6.2 Node.js 相关报错我在部署时遇到过一个很典型的错误某个原生模块编译不过提示python或者make缺失。Node.js 生态里有些包在安装时要编译 C 模块WSL 环境默认可能没装编译工具链。解决方案是先补齐基础工具sudo apt update sudo apt install build-essential python3然后清理 npm 缓存重装npm cache clean --force rm -rf node_modules npm install如果你用的 Node 版本是奇数版本或者刚发布的正式版建议降级到 LTS 再试。从我的经验看OpenClaw 这类更新频繁的开源项目对 Node 版本的要求往往写得不清楚实际运行中还是 LTS 最稳。6.3 连接 Ollama 失败的排查OpenClaw 提示无法连接模型服务时先做两层检查。第一层Ollama 自己通不通直接终端跑curl http://127.0.0.1:11434/api/tags有 JSON 输出说明 Ollama 没问题。第二层OpenClaw 的配置是否指向了错误地址检查.env里OLLAMA_BASE_URL和LLM_MODEL是否拼写正确。还有一个容易忽略的点Ollama 在 Windows 上默认只绑定 127.0.0.1WSL2 里的服务要从 Windows 访问需要在 Ollama 的环境变量里设置OLLAMA_HOST0.0.0.0并重启服务。如果你按我前面的建议把两个服务都放在同一个 WSL 环境里就可以避开这层坑。6.4 中文乱码与模型回复质量问题界面是中文的但日志乱码十有八九是终端编码问题。WSL 终端要让 Ubuntu 使用 UTF-8 环境sudo update-locale LANGzh_CN.UTF-8改完重新打开终端。模型回复质量差比如答非所问、喜欢堆砌英文术语优先考虑换模型其次是调提示词模板。OpenClaw 的 promptTemplate 配置里有多个模板切换到 zh 模板后模型会拿到更明确的中文指令输出质量会明显改善。如果你用 API 模型还可以在模型参数里把temperature调到 0.3 左右减少创造性发挥让回复更稳定、更贴需求。温度这个参数值得多试几次它控制的是随机性。做文档整理、数据提取这类任务低温效果明显更好做头脑风暴类任务可以把温度调高到 0.7 以上。6.5 性能与资源占用优化部署完成后如果你想长期让它挂着待命有几个优化点。一是模型常驻内存。Ollama 默认会把模型加载进内存并保持一段时间如果机器要跑其他东西可以在启动 Ollama 前设置模型卸载时间OLLAMA_KEEP_ALIVE5m ollama serve二是限制 OpenClaw 的并发任务数。在配置里把maxConcurrentTasks设成 1避免多个任务同时抢模型导致互相排队、响应变慢。这个参数我一开始没注意后来同时丢了三四个任务结果每个任务都变得很慢改成 1 之后就稳定了。三是给 WSL 分配资源。Windows 用户可以在%UserProfile%/.wslconfig文件里限制内存和 CPU 使用避免 WSL 吃满整个机器[wsl2] memory8GB processors4 swap2GB改完执行wsl --shutdown再进入配置才会生效。查看资源占用时说两个常用命令free -h看内存ollama ps看当前加载了哪些模型。用ollama ps你能直观看到模型什么时候被卸载、哪些模型占用大方便做取舍。6.6 问题速查表现象原因处理方式WSL 无法验证虚拟化未开启或功能组件缺失开启 Windows 功能、检查 BIOSnpm install 卡住网络慢或 registry 默认源慢切换 npmmirror清理缓存重试接不上 Ollama地址配置错或跨环境统一放同一环境检查.env中文回复质量差模型选择不当换 Qwen2.5 或调中文提示词模板WSL 吃满内存.wslconfig未设置限制 memory 和 processors浏览器操作失败Playwright 内核未装安装内核或开启 headless7. 写在最后的体会部署 OpenClaw 最难的从来不是敲命令而是理解“智能体”和“聊天机器人”的区别。聊天机器人是你说一句它回一句而 OpenClaw 这类 Agent 是把整条任务链路拆开自己规划、自己调用工具、自己判断结果。本地化的价值不只是省流量和保护隐私更在于你可以随时打开配置文件看看它到底是怎么想的、怎么调的改一改让它更贴合自己的习惯。我现在的工作流里OpenClaw 承担了不少零碎任务整理会议纪要、归档截图、生成周报、初步筛查日志文件。它不是一个全能的助手但当你把 Skill 调到位、模型选对之后确实是每天都能用上的工具。如果你也打算部署一套建议从一台不常用的电脑开始折腾别一上来就在主力生产机上试等流程完全跑顺了再迁移过去。最后再分享一个我个人的小习惯每次调整完配置我都会把.env和config.json备份一份带时间戳的副本。这个项目的迭代速度快升级后配置格式偶尔会变有备份就能快速回滚。多翻官方仓库的更新日志能少踩不少坑。
返回列表