大家好,这里是小凡 AI 研习社。
在 Windows 上安装 OpenClaw 主要有两种思路:直接在 Windows 原生环境安装,或通过 WSL2 安装 Linux 子系统。
虽然 OpenClaw 官方文档更推荐在 WSL 子系统下安装,但考虑到我们日常的文件和软件基本都在 Windows 主系统上,让运行在子系统里的 OpenClaw 去操控它们,会存在不少限制,部分操作甚至完全无法实现。因此目前实际使用中,还是以原生环境为主。从我自己的实测体验来看,OpenClaw 在 Windows 上直接运行是完全可行的。
若选择直接在 Windows 中安装,官方文档提供了三种途径:
1. Node.js 包管理器安装
OpenClaw 基于 Node.js 开发,可直接通过 npm、pnpm 等 Node.js 生态的包管理器完成安装。
2. 源码编译安装
包管理器安装使用的是预编译包,开发者也可通过 Git 拉取源码,自行编译、构建并安装。
3. 官方脚本一键安装
前两种方式都需要手动配置 Node.js、Git ,并满足版本要求,而官方自动化脚本会自动检测环境、补全依赖、升级版本,全程无需手动干预,是最省心的安装方式。脚本默认采用 npm 包管理器安装,同时支持通过参数指定使用源码编译安装,既便捷又灵活。
选择哪一种?
那我们这里采用哪种途径呢?
首先源码安装就算了,毕竟多出了下载源码和编译的步骤。
然后官方自动化脚本的方式虽然很方便,但这里也不推荐,原因如下:
不见得可以一键成功。比如,脚本安装 Node.js 是通过 winget 这个工具包,如果你的系统没有 winget,就会失败。而且默认的执行方式,失败会闪退,你很难有机会看到具体的错误信息,这会增加你对安装失败的恐惧。
自己不能做主。如果我们的环境中没有 Node.js 和 Git,脚本会帮我们安装,便利的同时,我们失去了控制权,我们无法决定安装的位置,也无法决定安装的版本。比如,脚本帮我们安装的 Git 是绿色版的,没有记错的话,安装好以后,环境变量没有配置,也就是说日后我是无法在任意目录使用 git 命令的。
不利于学习。依赖脚本我们甚至不知道 OpenClaw 安装需要 Node.js 以及 Git;同时,脚本会在 OpenClaw 安装完成后,自动执行相关命令进入配置向导、自动部署安装 Gateway 服务。如果不看脚本的内容,这些细节我们都不知道。我相信很多人跟我一样,更希望每一步都清晰可控,能够自己手动敲命令完成这些配置,而不是一键交给脚本。
因此,这里推荐大家使用第一种方式:通过 Node.js 包管理器安装。Node.js 常用的包管理器有 npm 和 pnpm 两种。npm 是官方默认自带的,pnpm 虽性能更强,但需要额外安装。为了方便起见,我们直接使用自带的 npm 来完成安装。
安装篇
安装 Node.js
OpenClaw 是 Node.js 生态的程序,首先需要下载安装 Node.js,截至目前 2026/3/26,官方推荐 24,至少 22.14+

直接去官网下载安装程序,链接:https://nodejs.org/zh-cn/download

安装非常简单,确定好安装位置后,一路下一步,最后有个让你勾选的地方,也不用管,可以不勾选。

安装好之后,在 cmd 中运行node --version验证一下,能够输出版本号,证明安装成功(注意:需要重新打开一个 cmd)

安装 Git
Node.js 安装好后,按理说可以安装 OpenClaw 了,但是在这之前,还需要安装一下 Git,因为 OpenClaw 安装的过程中,有一些依赖的安装需要用到 Git。
直接去官网下载安装程序,链接:https://git-scm.com/install/windows

只是为了安装 OpenClaw 才安装 Git 的话,确定好安装位置后,可以一路下一步。

安装好之后,在 cmd 中运行git --version验证一下,能够输出版本号,证明安装成功(注意:需要重新打开一个 cmd)

安装 OpenClaw
接下来就是安装 OpenClaw 了,这里 PowerShell 和 cmd 都可以,如果是通过官方脚本安装是必须用 PowerShell,因为那个脚本是基于 PowerShell 的语法编写的,而我们这里用任意一款 Windows 终端工具都是可以的。只是要注意的是,PowerShell 默认的安全策略会阻止运行,这时候通过Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned修改一下设置即可。如果用 cmd 就不会有这个问题。然后,不管大家用哪款终端工具,都建议大家用管理员身份运行,因为在后边安装 Gateway 后台服务的时候是需要管理员权限的。

我这里就用 cmd 了,我用管理员权限打开它。

先用npm config get registry查看当前镜像源,默认是官方的地址

官方镜像源可以正常访问,不过比较慢,我们换成国内的淘宝镜像。
npm config set registry https://registry.npmmirror.com/官网文档给出的安装命令是npm install -g openclaw@latest,这个在安装过程中控制台是没有日志输出的,本来这个安装耗时就比较长,这个过程中再没有内容输出,我们心里会很没有底。可以在后边加上--verbose,像这样:npm install -g openclaw@latest --verbose
在执行安装命令之前,我们可以通过npm show openclaw来查看一下 OpenClaw 的信息

通过npm show openclaw versions来查看一下 OpenClaw 的所有版本

通过openclaw@latest安装的是最新版本,我们看到当前 latest 指向的是 2026.3.24。那如果我们想要安装其它版本怎么办呢?只要将 latest 替换成具体的版本号就可以了,比如,我想安装之前的 2026.3.13 这个版本,那么只要openclaw@2026.3.13就可以了。OpenClaw 的版本命名规则也很特别,采用基于日期的日历版本号规则。
再来解释一下命令-g 的含义,-g = --global = 全局安装,作用是把包安装到「整个系统都能用」的位置,而不是只安装在当前项目文件夹里。
接下来,就是正式的安装了,我们执行npm install -g openclaw@latest --verbose,可以看到这时候的安装是实时有日志在控制台输出的。

过一会儿,不出意外的话,就安装成功了。

这时我们有两种方式来验证 OpenClaw 有没有安装成功,一种是通过 OpenClaw 本身,我们执行openclaw --version看看可不可以输出版本号

另一种是 npm 的方式,我们执行npm ls -g openclaw,看一下全局有没有安装 openclaw

openclaw 这个命令正是被安装到了~\AppData\Roaming\npm目录,除了命令其它的信息被安装在了~\AppData\Roaming\npm\node_modules\openclaw目录,我们且称之为安装目录,我们打开看一下,比如内置的技能是在<安装目录>\skills目录下,内置的插件是在<安装目录>\dist\extensions目录下。
openclaw 命令位置

内置的技能

内置的插件

常见的错误
如果运气不好,安装 OpenClaw 过程中可能会遇到一些错误,这里给大家列出一些常见的错误以及解决办法。
错误码 128:Github Permission denied (publickey)
这个错误在 OpenClaw 的最新版本(当前版本 2026.3.24)中不怎么会发生了,早期经常发生,包括在 2026.3.13 这样较新的版本中都经常发生。

我们看到在执行git --no-replace-objects ls-remote ssh://git@github.com/whiskeysockets/libsignal-node.git时,遇到了关于 publickey 权限不足的问题。这是因为这里访问 Github 仓库协议用的是 ssh ,它是需要身份认证的,需要额外的配置才行,这个配置起来还比较麻烦,需要生成一对公钥和私钥,私钥安装在本地,公钥上传到 Github,没有配置的话,是访问不通的。我们不想折腾公钥密钥的话,可以用下边的命令把 ssh 协议全局替换成 https 协议。
git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"考虑到 Github 访问起来不稳定,我们干脆直接用下边这个命令,替换协议的同时,还加了一层加速地址。
git config --global url."https://gh-proxy.org/https://github.com/".insteadOf "ssh://git@github.com/"设置好之后,再次安装 OpenClaw 就可以了。安装好之后,你可以再把刚刚的替换取消掉。
# 查看给Git设置的所有的全局变量git config --global --list# 取消刚刚设置的变量git config --global --unset url."https://gh-proxy.org/https://github.com/".insteadOf
错误码 3221225477:node-llama-cpp 导致的错误
说实话,这个错误解决起来还挺麻烦,需要下载安装 C++构建工具,比如Visual Studio Build Tools。好在,OpenClaw 从 2026.3.13 版本开始就不会发生了。

配置篇
接下来就是配置了,从宏观上分为两大类:Onboarding 和 reconfigure later。
OpenClaw 安装好首次配置一定要使用openclaw onboard --install-daemon,因为这时候工作目录~\.openclaw还没有建立,配置文件也没有,这条命令除了引导我们配置之外,还会帮我们把工作目录这些必要的环境准备好,这一步暂且称之为“Onboarding”,大概就是初次使用的意思;之后,如果有一些配置需要再次调整或添加的,就可以不用 Onboarding 的命令了,一般可以通过openclaw configure,或者是手动修改配置文件的方式。
Onboarding
前置说明:这个过程不要害怕,任何步骤出错都可以重新再来,需要的话你可以提前阅读后边的“重新再来”这个小节。
openclaw onboard --install-daemon这条命令所起的作用,正是帮我们建立必要的工作目录和文件(~\.openclaw),同时引导我们进行一些配置,最后还会帮我们把 Gateway 安装成后台服务。注意,这条命令最好在「以管理员身份运行的终端」中执行,因为安装 Gateway 后台服务是需要管理员权限的。安装成后台服务就可以实现类似开机自启的功能,这一块在 Windows 中是通过 schtasks 实现的,Linux 中是通过 systemd 实现的,Mac 中是通过 launchd 实现的。经过我的测试,在 Windows 中加不加--install-daemon效果都是一样的,不加也会帮你安装成后台服务。
我们在「以管理员身份运行的 cmd」中运行openclaw onboard --install-daemon,在安全提醒这里选择 Yes:可以通过左箭头选择然后回车,也可以直接按键盘 Y

设置模式这里选择QuickStart,该模式配置项更少,无需手动设置 Workspace 目录、Gateway 端口号等,均沿用默认配置;反之,选择 Manual 的话,除了 QuickStart 的设置项之外,像是 Workspace 目录、Gateway 的端口号这些都会让我们设置。

接下来到了配置大模型的环节。同时,我们还看到,Gateway 的相关参数自动采用默认配置。

选择模型厂商这里,我们先选择这个 Qwen (OAuth),因为它是免费的,同时页面授权的方式不需要我们上来就去其它平台管理 apiKey,非常适合 OpenClaw 新手体验阶段。等我们确认 OpenClaw 顺利安装好之后,再去挑选合适的大模型都是可以的。当然,这里的免费是有使用频率限制的,不过用来验证 OpenClaw 的安装足够了。模型的选择与配置涉及先进性、性价比、多模态配置等多个维度,我会在后续为大家详细讲解,这里我们先聚焦到 OpenClaw 的安装上。

回车之后,引导程序自动打开浏览器跳转至 Qwen Chat 的授权页让我们登录授权,此时终端中显示等待授权中。


登录后点击确认,即可完成授权。若无账号可先注册,担心注册时丢失授权页的话,可提前复制授权页链接,后续若无法返回,通过该链接就能重新打开授权页。授权页链接是类似这样的:https://chat.qwen.ai/authorize?user_code=A0Y8IAKS&client=qwen-code

确认之后,页面显示认证成功。回到终端命令行,流程来到了下一步。


接下来到了选择默认大模型的环节。Qwen Chat 这个厂商提供了两个模型,这里是让我们选择一个默认的模型,那我们这里就保持默认,选择第一项:Keep current

聊天渠道这里我们选择跳过,后边再配置都是可以的。

搜索提供商环节同样选择跳过,这类配置均需在对应平台生成 apiKey,且大多为国外服务商,并非本次安装必需,后边我们再来构建搜索能力。

skills 这里可以选择 Yes,表示现在开始配置技能

在技能列表中,我们暂时只勾选这个 clawhub,这样会帮我们安装 clawhub 命令,clawhub 是后期用来安装技能要用的命令。这里要注意方向键选择之后,还要按空格键确认,左边显示+号才表示选中了,再按空格键盘表示取消勾选。
关于这里再说一个细节,这个地方不是在安装技能,只是在为 OpenClaw 内置的技能安装必要的依赖,你可以来到<安装目录>\skills目录,里边都是内置技能,你会发现和这个配置列表是对应的。拿我们配置的 clawhub 来说,它本身已经在内置技能里了,这个技能是用来教 AI 通过 clawhub 命令安装技能的,但是默认 clawhub 命令本身没有安装,我们这里勾选 clawhub,表示我们现在为这个 clawhub 技能安装缺失的依赖————也就是 clawhub 命令。因为我们后期正好会用到 clawhub 命令,所以索性就在这里安装了,不在这里安装也行,后期通过npm install -g clawhub也是可以安装的。
如果在这一步你的这个技能列表没有 clawhub 这一项,则说明你的环境中已经有 clawhub 命令了,技能 clawhub 已完备,不需要安装依赖,所以在这里没有列出。大概率是你之前安装过 OpenClaw,卸载的时候没有卸载 clawhub 命令。这种情况下这一步你就选择 Skip for now 就可以了。

回车之后,让我们选择通过哪个包管理器安装 clawhub,我们选择默认的 npm 包管理器

回车之后,就自动安装 clawhub 了。本质上就是在执行npm install -g clawhub

clawhub 安装好以后,接下来的几个 key 可以都选择 No,这些国外的 apiKey 本身我们也没有,后期有需要的话都可以通过技能使用国内对应的服务。

再然后这个 hooks 的启用,我们也选择跳过。

之后引导程序会自动安装 Gateway 后台服务,自动在新窗口启动 Gateway。这个新窗口不要关闭,关闭的话,Gateway 也就关闭了。

这个时候如果弹出防火墙的安全警报,我们点允许访问。

最后一步,询问你要怎么开始使用你的机器人。那么到这里 OpenClaw 已经初始化成功了,Gateway 也已经启动了,这里仅仅是在引导你使用它:可以通过 TUI(指的是在终端中使用),也可以通过 Web UI,也可以稍后再去使用它。

那这里我们选择通过 Web UI 打开它,然后引导程序会自动用浏览器打开 OpenClaw 控制页面。

到这里,Onboarding 过程就完成了,回到执行命令的终端,我们看到引导程序也已经退出了,同时提示我们:“Onboarding complete”。

我们再来看一下后续的几个不用我们参与的执行过程。
这里我们看到 Gateway 被安装成了后台服务,在 Windows 中是通过 schtasks 实现的,也就是 Scheduled Task,安装成后台服务的好处是可以实现类似开机自启。

我们还看到,引导程序安装了命令补齐的脚本,让我们在输入 openclaw 子命令时,按 Tab 键即可快速补全。我们来到用户目录下确实有这个文件,但实测后发现该功能在 Windows 上不生效,仅在 Linux 和 macOS 系统中可用。

验收
安装配置完成后,我们来测试一下能否正常对话。可以正常对话表明我们的安装是成功的。

我们看一下 OpenClaw 的工作目录有没有创建,位置是~\.openclaw,这个目录在 OpenClaw 刚安装好是没有的,是 Onboarding 过程创建的。

我们再来看一下 clawhub 命令有没有被安装,看看clawhub -V能否正常执行。和前边安装 openclaw 一样,clawhub 的安装位置也是在~\AppData\Roaming\npm,你可以打开目录验证一下。

前边不是说 Gateway 被安装成了 Scheduled Task 吗?我们同样可以通过命令schtasks /query | findstr /i openclaw查看一下有没有这个服务。

重新再来
如果这个 Onboarding 过程某些步骤失误了,Ctrl+C 退出引导,然后执行openclaw uninstall,基本上就能回到 Onboarding 之前的状态,也就是 OpenClaw 刚装好的状态。如果这个过程中 clawhub 命令被安装了,那就再加个卸载 clawhub 的命令npm rm -g clawhub。然后你再重新执行openclaw onboard --install-daemon



需要注意的是,这并不是完整的卸载,关于完整的卸载我们后边再说。
后期维护
再来教大家几个常用操作。
这个 Web 页面如果关闭了,可以使用命令openclaw dashboard随时打开。

之前最后一步让我们选择使用方式的时候不是有个 TUI 的选项吗?我们可以通过命令openclaw tui打开它,在终端里就能直接对话。

Gateway 已经被安装成后台服务的前提下,可以通过 Gateway 后台服务命令开启和关闭
# 关闭Gateway:openclaw gateway stop# 启动Gatewayopenclaw gateway start# 重启Gatewayopenclaw gateway restart你也可以直接通过前台启动命令,和上边后台服务命令的区别在于这种方式是在当前终端窗口中打开,当前终端如果关闭,Gateway 也就关闭了。
# 在前台进程开启Gatewayopenclaw gateway run# 等同于上边,即run可以省略openclaw gateway无论通过哪种方式启动了 Gateway,都可以通过下边的命令查看运行状态
# 查看Gateway运行状态openclaw gateway status在引导配置过程中,Gateway 已自动被安装为后台服务,你也可以通过以下命令手动安装或卸载。
# 将gateway安装成后台服务openclaw gateway install# 将gateway后台服务卸载openclaw gateway uninstall值得注意的是,Gateway 后台服务卸载之后,openclaw gateway start/stop/restart就不能用了。

没有安装后台服务的情况下,如果要启动只能通过前台启动命令:openclaw gateway run / openclaw gateway,如需关闭,直接关闭终端窗口或按下 Ctrl+C 即可。
授人以鱼不如授人以渔,教大家一个随时查看 OpenClaw 命令的方法:使用 --help 参数。举个例子:
# openclaw后边可以跟哪些操作openclaw --help# openclaw gateway后边可以跟哪些操作openclaw gateway --help# openclaw channels后边可以跟哪些操作openclaw channels --help最后
安装只是开始,后续我还会带来更多干货,既有基础入门,也有高阶玩法。不过前提是 —— 哈哈,得有大家的支持呀~本篇阅读量破百或涨粉 10 人,继续写下一篇教程。
夜雨聆风