ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

AI代理OpenClaw安装部署指南:WSL2、Ollama与浏览器自动化全解析

AI代理OpenClaw安装部署指南:WSL2、Ollama与浏览器自动化全解析 1. 先搞清楚 OpenClaw 到底是什么再决定要不要装1.1 它和普通聊天助手的本质区别如果你用过 ChatGPT 网页版、Kimi、文心一言这类产品会发现它们有一个共同点对话归对话但真要让它帮你点个网页按钮、填个表单、批量收集信息它就只能“看着办”因为你没给它“手”。OpenClaw 解决的就是这个问题——它不是一个聊天窗口而是一个跑在你自己机器上的 AI 代理Agent能在终端里直接调用本地工具、操作浏览器、读写文件、执行命令把一个任务从头到尾跑完。打个比方普通聊天助手是“顾问”你问它怎么做它给你方案OpenClaw 是“实习生”你跟它说目标它自己琢磨步骤、自己动手去执行。它能打开浏览器搜索资料、提取网页内容、整理成文件也能调用本地能力完成系统层面的操作甚至通过扩展技能Skill接入更多工具。它的定位更接近一个“本地 AI 管家”而不是一个“问答框”。1.2 核心架构Agent、Skill 与工具调用是怎么协作的OpenClaw 的架构走的是目前比较主流的 Agent 设计路线拆开看其实就三块Agent代理核心负责接收你的指令拆解任务决定下一步调用哪个 Skill并把各步骤的结果汇总成最终输出。Skill技能模块每个 Skill 是一组封装好的能力比如“浏览器控制”“文件操作”“终端命令”。它定义了 Agent 能用什么方式操作哪些工具。LLM大模型OpenClaw 本身没有“智力”它靠接入的大模型来生成决策。你可以用云端 API也可以用本地部署的 Ollama。整个协作流程长这样你在终端输入一个目标 → Agent 把目标拆成一连串小步骤 → 每一步先问大模型“该用什么 Skill” → 调用对应的 Skill 执行 → 把结果喂回给大模型 → 继续下一步直到任务结束。这就是它和“调个 API”最大区别的地方它自己会规划执行路径而不是等你想好了告诉它怎么走。1.3 适用场景与设备支持一览从实测看OpenClaw 最适合这几类人想让 AI 帮你完成重复性的网页操作比如批量查资料、定时监测某个页面内容、抓取公开数据。想在本地跑一个不依赖云端界面的 AI 助理所有对话记录和操作日志都留在自己机器上。喜欢折腾终端工具链愿意用配置文件和命令行代替图形界面。设备支持方面常见的架构是macOS/Linux 原生运行Windows 通过 WSL2 环境运行Android 上用 Termux 跑另外还有一个 Windows Companion 组件帮你在 Windows 桌面上补全系统级控制能力。不同平台跑起来体验有差别后面我会逐个讲。2. Windows 上部署的第一道坎WSL2 环境校验2.1 为什么 OpenClaw 在 Windows 上要依赖 WSL2不少人在 Windows 上装 OpenClaw 时碰到的第一个报错就是“无法安全验证 WSL2 环境请在 PowerShell 中运行 wsl --status”。这个报错很容易让人一头雾水我明明装了 Node.jsnpm 也能跑为什么 OpenClaw 还非得管我要 WSL原因在于 OpenClaw 的核心逻辑跑在 Linux 运行时环境下很多底层 Skill 默认假设自己面对的是一个类 Unix 文件系统和进程模型。直接把 Windows 原生的环境和 Linux 环境混在一起文件权限、进程管理、路径解析都会打架所以官方在 Windows 上选择的是“借道 WSL2”这条更稳的路。WSL2 可以理解成 Windows 里跑了一个轻量 Linux 虚拟机OpenClaw 优先在 WSL2 的 Linux 环境里部署和运行这样所有 Skill 的行为就和 Linux 上保持一致了。2.2 从“无法安全验证 WSL2 环境”开始的实际排查链路这个报错本身写得还算良心它已经告诉你去运行wsl --status了。但真正的问题往往不是“看状态”就能解决的你得顺着这个命令的结果一路排查下去。我第一次遇到时在 PowerShell 里敲完wsl --status看到的提示是“适用于 Linux 的 Windows 子系统”已经安装但默认版本是 1而且内核版本太旧于是 OpenClaw 的安全校验直接不通过。完整的排查步骤是这样的用管理员身份打开 PowerShell先跑wsl --status看当前 WSL 的默认版本和内核状态。如果提示没有安装任何发行版执行wsl --install装一个 Ubuntu 发行版。如果安装了但内核版本旧执行wsl --update把内核更新到最新版。确认默认版本是 2执行wsl --set-default-version 2。重开一个 PowerShell 窗口执行wsl --status确认状态正常再执行wsl进入 Linux 环境验证能正常工作。还有一个很容易踩的坑WSL 装好了但你没有给当前 Windows 用户配置默认发行版或者在首次启动 WSL 时没创建 Linux 用户名和密码。OpenClaw 做安全校验时会去调wsl命令如果这个命令没有正常返回有效的发行版信息它同样会报出“无法安全验证”的提示。这种情况你直接在 PowerShell 里跑一次wsl把首次初始化的流程走完再回跑 OpenClaw 的安装程序问题就消失了。2.3 WSL2 正确配置后的验证方法配置完别急着装 OpenClaw先花两分钟验证环境是真的可用了。这一步能帮你把“环境问题”和“软件问题”隔离开后续排错会清爽很多。验证清单如下在 PowerShell 执行wsl --status确认默认版本是 2且没有提示内核更新。执行wsl --list --verbose能看到你安装的发行版名称VERSION 列显示 2。执行wsl --exec which node如果 WSL 里已经装过 Node 会返回路径如果没装这步会提示找不到命令没关系我们下一步再装。提示如果 OpenClaw 安装器持续报同一个 WSL2 校验错误执行一次wsl --shutdown再重试。这个命令会停止所有 WSL 后台进程很多“状态异常”其实是 WSL 长时间挂起导致的假死。3. Node.js 安装与 OpenClaw 核心部署实操3.1 为什么选 Node.js以及版本要求OpenClaw 的整个运行时基于 Node.js所以部署前必须先装好。这里我建议直接到 Node.js 官网下载 LTS 版本不要图新用最新版。LTS 版本经过长时间验证兼容性更稳和 OpenClaw 这类快速迭代的工具配合起来不容易出现莫名其妙的 API 变动问题。如果你在 WSL2 的 Ubuntu 环境里部署还有另一个选择用 apt 安装 Node.js。但 Ubuntu 自带的 apt 源里 Node 版本经常偏低如果你用的是 Ubuntu 24.04 之前的版本跑 OpenClaw 可能会因为版本不满足要求而报错。建议优先用官网的安装包或 nvm 这类版本管理工具。用 nvm 的好处是随时切换 Node 版本遇到兼容性问题不用重装系统。3.2 npm 全局安装与目录权限避坑OpenClaw 的安装命令本身就是一条 npm 命令npm install -g openclaw看着简单但全局安装有两个常见坑。第一个坑是权限问题。如果你是在自己电脑上装尽量不要用 sudo 强行装全局包一旦用了 sudo后续 npm 全局目录的所有者就变成 root你以后更新包、卸载包都得提权很麻烦。在 WSL2 里尤其注意如果提示 EACCES 权限错误排查优先级应该是“先确认 Node 是否安装正确”而不是急着 sudo。第二个坑是全局安装后命令找不到。如果你用 nvm 管理 Nodenpm install -g装完的 bin 目录是在 nvm 当前版本的目录下切换 Node 版本后命令就会消失。这不代表安装失败只要切回对应版本或者在新版本里重装一次即可。安装完成之后在终端执行openclaw --version能正常输出版本号说明核心安装已经通了。如果提示command not found优先检查 npm 全局 bin 目录是否在 PATH 里。在 WSL2 的 Ubuntu 里这个目录通常是~/.nvm/versions/node/版本号/bin或者/usr/local/bin。3.3 初始化配置与目录结构详解装完主程序后还需要初始化一个工作目录。OpenClaw 默认会在当前用户目录下建一个专属文件夹用于存放配置、日志、Skill 和会话记录。你可以手动指定工作目录也可以直接跑一次初始化命令让它自动创建。初始化完成后目录结构大概是这样的openclaw.config.json主配置文件定义了模型连接方式、启用的 Skill、浏览器自动化参数等。skills/存放已安装的 Skill 包每个 Skill 一个子目录。logs/运行日志遇到问题优先翻这里。sessions/会话记录保存每次任务的输入、输出和中间步骤。这个阶段的核心任务是确认配置文件能被程序正确读取。我的经验是先跑一个最小化任务比如让 OpenClaw 输出一句话看看端到端流程能不能跑通再把模型接入、浏览器自动化等高级配置一项项往里加。一上来就配满所有能力出问题时你会很难定位是模型问题、Skill 问题还是浏览器驱动问题。4. 接大脑Ollama 本地模型与 API 模式的选择与配置4.1 算力到底怎么来本地推理与云端 API 的本质区别OpenClaw 本身不带模型它需要一个“大脑”来做决策。这个“大脑”有两种接入方式云端 API 模式把指令发给远程大模型服务模型在云端算好结果返回给你。OpenClaw 只负责调度本地工具推理发生在云端。本地推理模式Ollama通过 Ollama 在本地机器上跑模型所有计算都在本地完成不依赖任何外部服务。搜索热词里有一个问题问得很好“OpenClaw 只能用接入 API 的方式使用算力吗”答案是否定的。Ollama 就是官方支持的本地算力方案你在自己机器上跑一个小尺寸模型不花 API 费用数据也不出本机。这俩模式本质上是“性能/便捷”和“隐私/成本”的取舍。API 模式的好处是可以用上顶尖大模型复杂任务的理解和规划能力明显更强坏处是要按量付费而且任务一旦涉及大量浏览和长上下文token 消耗会涨得很快。本地模型的好处是零 API 费用、完全离线可用、隐私无泄漏坏处是模型数据量小复杂规划的稳定性会弱一些。我个人建议日常跑网页数据采集、文件整理这类流程化任务本地模型够了涉及长链路的推理分析和生成质量要求高的内容再切 API。4.2 Ollama 部署与 OpenClaw 对接Ollama 部署本身不复杂官网下载对应系统的安装包或者在 WSL2 里用一行命令安装。装好后先拉一个模型这里以 Qwen 系列为例ollama pull qwen2.5:7b拉取完成后确认模型已在本地运行ollama list然后去 OpenClaw 的配置文件里把模型提供方切换为 Ollama填上 Ollama 服务的地址默认是http://localhost:11434和模型名称。这里有个细节OpenClaw 和 Ollama 的对接走的标准兼容接口所以你在配置里填的“模型名称”必须和ollama list里显示的标签完全一致连冒号标签都不能省否则会报找不到模型。4.3 API Key 配置与模型切换的注意事项切到 API 模式时你需要在配置里填密钥、模型名称和 API 地址。OpenClaw 支持多种主流服务商的配置切换过程基本只改文件和重跑任务但这几个坑挺常见的密钥不要写错环境变量名不同服务商要求的变量名不一样填错程序不会报“密钥不存在”只会报“鉴权失败”。模型名称五花八门同一个模型在不同服务商的名称后缀不一样建议直接查对应服务商文档复制粘贴完整名称。配置完先跑一个最短的测试任务确认 API 连接成功再做复杂任务。否则你第一次跑时如果遇到“任务终止”很难判断是模型超时还是 API 配置问题。我在实际使用中反而更偏向“本地模型为主、API 为辅”的搭配日常任务用 Ollama 顶着碰到需要高质量推理的任务临时切 API用完再切回来。省成本也保底。5. 浏览器自动化的完整落地从权限配置到实际任务5.1 OpenClaw 浏览器控制的基本原理OpenClaw 的浏览器自动化核心是让 Agent 能“看见”网页、“操作”网页。它不会自己去渲染网页而是通过浏览器调试协议和 Chrome 或 Edge 通信。第一次启用浏览器自动化时你需要先把浏览器调试端口打开或者在 OpenClaw 配置里指定浏览器路径。这一步本质是告诉浏览器允许外部程序通过调试协议来接管页面。OpenClaw 会启动一个浏览器实例再由 Skill 层注入操作指令比如打开页面、点击元素、提取文本。这里有个关键认知浏览器自动化不等于“直接操控你的日常浏览器”。OpenClaw 一般会启动一个独立的浏览器实例和你在用的那个浏览器隔离。这样做的目的是安全——它在这个浏览器实例里做的任何操作都不会污染你的登录状态和浏览记录。所以如果你希望它使用你已经登录的某个网站需要通过配置把用户数据目录指过去或者手动在自动化浏览器里登录一次。5.2 一次真实的浏览器任务实操搜索、点击、取数我拿一个最常见的场景举例让 OpenClaw 帮我查几个产品的官网信息并把结果整理成表格文件。任务指令大概长这样打开浏览器搜索“开源AI Agent框架”列出前5个结果的标题和链接保存到文件。OpenClaw 接到这个任务后会按这个路径执行调用浏览器 Skill启动浏览器实例。访问默认搜索引擎输入“开源AI Agent框架”。等待搜索结果渲染完成提取前 5 条结果的标题和链接。把最终结果写入指定文件并在终端回显内容。你可以看到它并不是一次性生成答案而是边执行边观察页面状态再决定下一步。这个过程中logs/目录会留下每一步的具体日志包括打开了什么页面、点击了什么元素、提取了什么内容。任务失败时这些日志就是排查问题的第一手资料。5.3 浏览器自动化常见失败原因与排查我跑过不少浏览器自动化任务总结下来失败原因基本集中在三类元素定位失败网页结构变了或者页面还没加载完就开始点元素。解决办法是在配置里调大页面加载等待时间或者让 OpenClaw 执行“先滚动到底部再操作”这类预处理步骤。登录态失效自动化浏览器实例是独立的网站要求登录时它没有登录信息导致所有后续操作都失败。解决办法是先手动登录一次自动化浏览器或配置用户数据目录复用浏览器会话。页面弹窗卡住Cookie 同意弹窗、广告遮罩、验证码都是自动化流程里的“拦路虎”。这类问题没有通用解只能针对具体网站配置额外的点击步骤或者绕过这些页面。还有一个很容易被忽略的问题是资源占用。浏览器自动化任务跑久了内存占用会快速上升尤其是在 WSL2 里跑的时候Linux 侧的内存上限没调高的话浏览器可能直接被系统杀掉。我建议把 WSL2 的内存上限调到不低于 8GB具体看你的机器配置。6. 进阶玩法Windows Companion 桌面控制与 Termux 移动端6.1 Windows Companion 解决了什么问题前面说过OpenClaw 在 Windows 上跑在 WSL2 里这带来一个问题WSL2 里的 Linux 环境操作不了 Windows 桌面的原生窗口。你让它“打开记事本写文件到桌面”它在 Linux 环境里看到的文件系统不是 Windows 桌面默认没能力去控制 Windows 图形界面。Windows Companion 就是补这个缺口的。它以一个后台服务的形式运行在 Windows 原生环境负责接收 OpenClaw 发来的指令再调用 Windows 的系统接口执行桌面操作比如移动鼠标、发送键盘事件、启动应用程序、读取窗口标题等。通过这个配套组件OpenClaw 就能在 Windows 上同时拥有 Linux 环境的开发和运维能力以及 Windows 桌面的图形操作能力。配置时注意两点一是需要以管理员权限启动服务否则拿不到系统级窗口句柄部分操作会静默失败二是调试时把日志打开桌面自动化出问题时不像浏览器自动化那样有明显的日志链路你得靠它自己的运行日志判断是权限问题还是指令格式问题。6.2 Termux 安装 OpenClaw 手机的局限与优化在 Android 手机上装 OpenClaw 也是可行的思路核心工具是 Termux。Termux 是 Android 上的终端模拟器提供了一个 Linux 环境能装 Node.js、npm然后按常规流程安装 OpenClaw。下载和安装 Termux 本身没什么难度装完先更新包源再安装 Node.jspkg update pkg install nodejs-lts npm install -g openclaw但我要提醒你手机上跑 OpenClaw体验和电脑上完全是两个世界。手机的 CPU 跑本地模型非常吃力所以手机上更合理的用法是接云端 API手机后台进程容易被系统回收任务跑到一半可能被系统杀掉小屏幕看终端日志也特别痛苦。如果你只是尝鲜建议装好后先跑一个最简单的对话任务别一上来就搞浏览器自动化。我在手机上折腾过一次之后最大的体会是OpenClaw 这类 Agent 工具核心价值在于“长时间、多步骤地替你干活”这在手机上很难发挥出来。6.3 个人经验哪些场景真的值得用哪些是折腾基于我用过好几套开源 Agent 工具的经验OpenClaw 在两类场景下是真正的效率神器第一类是定时巡检。比如我让它每隔一段时间检查某个网站的公告页发现内容变化就抓取新内容存到本地。这类任务链路固定、重复性高人工做很烦Agent 做很合适。第二类是批量信息整理。给它一个主题它自己搜索、点进页面、提取关键信息、汇总成文件。这个过程哪怕偶尔失败一次重跑一次的成本也远低于人工逐条操作。至于那些过度炫技的玩法——比如让 AI 控制桌面去玩个游戏、操控浏览器去自动化抢限量商品——我建议你别抱太大期望。浏览器自动化本质上依赖网页结构的稳定反爬机制、登录验证、随机验证码都能让任务中断你再怎么调优也绕不过这些网站自己的安全策略。合理预期是日常、重复、公开信息的任务它很强高对抗、动态复杂的任务它大概率会翻车。7. 最后的实操总结与个人体会走到这一步OpenClaw 的安装、模型接入和浏览器自动化配置你应该已经有一个完整的概念了。最后我再分享几个实际操作中的体会。第一安装过程一定要按顺序来。先 WSL2 后 Node 再 OpenClaw每一步都验证通过再进下一步。跳步省下的时间会在排错时成倍还回去我踩过这个坑当时着急跑通跳过了 WSL2 校验结果后面所有报错都指向同一个环境问题回头检查才发现是最初那步没做完整。第二配置文件是排错的核心。OpenClaw 的配置文件几乎覆盖了模型连接、浏览器参数、Skill 开关所有关键项。出问题时不要急着重装先打开配置文件检查模型名称、API 地址、超时时间这几项。多数问题都能在这个文件里找到答案。第三本地模型和 API 不是二选一而是互补。我现在的工作流是高频简单任务走 Ollama复杂分析走 API浏览器自动化内部配了两个可切换的方案。这样既控制成本又保证复杂任务的质量。你要是在“算力怎么接”这个问题上纠结记住一点就行OpenClaw 不挑算力来源你机器扛得住就本地扛不住就 API。第四浏览器自动化的上限不在工具在网站本身。别把 OpenClaw 当成绕过一切限制的万能工具它更适合做“公开信息的重复性采集”和“不需要登录的长链路操作”。遇到需要账号体系的网站先想想有没有合理的方式让它获得访问权限而不是靠黑科技硬闯。如果你搞完浏览器自动化还想继续扩展下一步可以研究 OpenClaw 的自定义 Skill 开发。把你自己常用的脚本封装成一个 Skill以后让 Agent 直接用那才是这个工具真正发挥价值的开始。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进