在 Windows 上安装 OpenClaw
一篇务实的 Windows 安装指南:使用 WSL2、开启 systemd、在 Linux 环境里安装 Gateway,并避开最常见的 Windows 误区。
Windows 上的推荐路线是 WSL2
当前最合理的方式,不是把 OpenClaw 当作原生 Windows 应用去装,而是把它当成“运行在 Windows 里的 Linux 安装”。
这不是权宜之计,而是官方平台文档明确推荐的路径。因为这样运行时、工具链和服务模型都更接近 OpenClaw 的主路径。
最实际的规则就是:
- 用 WSL2
- 除非你有明确理由,否则优先 Ubuntu
- CLI 和 Gateway 都在 Linux 里运行
如果你从第一天就和这个模型对着干,后面遇到的问题往往不是 OpenClaw 本身的问题。
为什么 WSL2 是正确默认值
WSL2 直接解决了原生 Windows 路径最别扭的几件事:
- Node、pnpm、Bun 和 Linux 工具链行为更正常
- systemd user service 可以按官方文档工作
- browser、skills、gateway 的运维方式和主文档更一致
- 后续调试更容易,因为你离标准安装路径更近
如果你的目标是“把 OpenClaw 稳定跑起来”,WSL2 仍然是最短路径。
开始前先确认这些前提
先确认下面这些假设成立:
- 你的 Windows 机器支持 WSL2
- 你愿意在 WSL 里使用 Ubuntu 或其他 Linux 发行版
- Node 22 或更高版本会安装在 WSL 里,而不是只装在 Windows 上
- 你准备让 Gateway 跑在 WSL 里
如果你还处在最开始阶段,先读总安装页会更顺:
第一步:安装 WSL2 和 Linux 发行版
在 PowerShell 管理员窗口里执行:
wsl --install如果你想明确指定发行版:
wsl --list --online
wsl --install -d Ubuntu-24.04安装完成后,打开 Linux 终端,后续所有 OpenClaw 安装动作都在里面继续。
第二步:在 WSL 里开启 systemd
OpenClaw 在 Linux / WSL2 下的 service install 依赖 systemd user service。如果 systemd 没开,就算二进制能跑,守护进程体验也会非常不稳定。
在 WSL 内执行:
sudo tee /etc/wsl.conf >/dev/null <<'EOF'
[boot]
systemd=true
EOF然后回到 PowerShell:
wsl --shutdown重新打开 WSL,再验证:
systemctl --user status第三步:在 WSL 里安装 OpenClaw
进入 Linux 之后,按标准受支持路径来:
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon这里最重要的不是“装上 CLI”本身,而是 onboarding wizard。因为它会一起处理:
- 模型和认证
- workspace 创建
- Gateway 安装
- 健康检查
- 可选渠道配置
如果你想完全从源码安装,官方 docs 也给了 WSL 内的 from-source 路线。但对大多数用户来说,先走正常安装路径更合理。
第四步:在 WSL 里验证 Gateway
在去碰渠道或网络暴露之前,先确认基础安装真的是健康的:
openclaw gateway status
openclaw status
openclaw doctor
openclaw dashboard你想确认的是:
- Gateway 已经在跑
- service install 成功
- Control UI 能打开
- 自检没有提示明显配置问题
如果这一步都不稳定,就先在 WSL 内排查,不要过早跳去调 Windows 网络。
Windows 上的 service install 应该怎么理解
在 WSL2 里,OpenClaw 用的是 Linux 服务模型,不是原生 Windows service 模型。
这意味着:
- Gateway 服务本质上是 systemd user unit
openclaw onboard --install-daemon或openclaw gateway install才是正路- 服务状态也应该在 WSL 内检查
这很正常。正确的心智模型是“Windows 承载 Linux 服务”,而不是“一个 Linux 插件式的 Windows app”。
如果你想在 Windows 登录前自动启动
如果你需要更接近 headless 的运行方式,官方平台文档给出了一条可行的启动链。
在 WSL 内执行:
sudo loginctl enable-linger "$(whoami)"
openclaw gateway install然后在 PowerShell 管理员窗口里执行:
schtasks /create /tn "WSL Boot" /tr "wsl.exe -d Ubuntu --exec /bin/true" /sc onstart /ru SYSTEM重启之后,再回到 WSL 验证:
systemctl --user is-enabled openclaw-gateway
systemctl --user status openclaw-gateway --no-pager只有当你真的需要“用户还没登录也要启动”时,才值得做这一步。很多人并不需要这么早上复杂度。
如果你要把 WSL 里的服务暴露给局域网
WSL 有自己的虚拟网络。如果别的设备要访问运行在 WSL 里的服务,你不能假设对方也能直接用 127.0.0.1。
官方 docs 推荐在确实需要时,用 Windows 端口转发去做暴露。
最重要的操作认知是:
- 只想本机访问,就坚持 loopback
- 只有在别的机器真的要连进来时,才加 Windows port proxy
- remote node 应该指向可达主机,而不是
127.0.0.1
如果你还不确定是否需要局域网访问,那第一轮安装时就先不要加。
常见 Windows 安装错误
只在 Windows 里装,不在 WSL 里装
这会让你的运行环境和官方推荐模型脱节。
忘了开 systemd
不开 systemd,service install 和重启行为就很难和文档一致。
第一次安装就把它当成网络工程项目
先让 Gateway 在 WSL 里稳定工作,再谈端口转发、远程访问和公网暴露。
在需要外部访问时仍然用 127.0.0.1
这是 WSL 网络里最常见的错误之一。
FAQ
Windows 支持 OpenClaw 吗?
支持,但推荐路径是 WSL2。
我必须让 OpenClaw 原生跑在 Windows 上吗?
不需要。当前更推荐的方式,是让 CLI 和 Gateway 跑在 WSL2 里的 Linux 环境里。
Windows 上还要用 onboarding wizard 吗?
要。只不过是在 WSL 里运行它,它仍然是推荐的安装路径。
现在有原生 Windows companion app 吗?
当前主支持路径并不是原生 Windows companion app,而是 WSL2。