首页 资讯 下载 教程 Skills 社群

Windows WSL2 环境部署 OpenClaw 教程

概述

OpenClaw 推荐在 Linux 环境中运行。对于 Windows 用户,最佳方案是使用 WSL2(Windows Subsystem for Linux 2)来获得完整的 Linux 兼容性。本教程将手把手带你完成从 WSL2 安装到 OpenClaw 部署的全过程。

前置要求

  • Windows 10 版本 2004 或更高 / Windows 11
  • 管理员权限
  • 至少 8GB 可用内存
  • 稳定的网络连接

第一步:安装 WSL2

以管理员身份打开 PowerShell,执行:

wsl --install

此命令会自动安装 WSL2 和默认的 Ubuntu 发行版。安装完成后需要重启电脑。

重启后,Ubuntu 会自动启动并要求你创建用户名和密码。

确认 WSL2 版本

wsl --list --verbose

确保 VERSION 列显示为 2。如果显示 1,需要手动升级:

wsl --set-version Ubuntu 2

第二步:启用 systemd

OpenClaw 的后台守护进程需要 systemd 支持。编辑 WSL 配置文件:

sudo nano /etc/wsl.conf

添加以下内容:

[boot]
systemd=true

保存后在 PowerShell 中重启 WSL:

wsl --shutdown

重新打开 Ubuntu 终端,验证 systemd 是否生效:

systemctl --version

如果正常输出版本号,说明 systemd 已启用。

第三步:在 WSL 中安装 OpenClaw

进入 WSL Ubuntu 环境后,按照标准 Linux 流程安装。

安装 Node.js

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
node --version  # 确认 v22.x

安装 OpenClaw

npm install -g openclaw

初始化配置

openclaw onboard

按照提示选择模型提供者并完成认证。

第四步:安装网关守护进程

OpenClaw 网关提供 Web 界面和 API 端点。在 WSL 中安装:

openclaw gateway install

安装完成后启动网关:

openclaw gateway start

检查运行状态:

openclaw gateway status

默认情况下,网关监听在 localhost:3000。你可以在 Windows 浏览器中直接访问 http://localhost:3000,因为 WSL2 会自动将 localhost 映射到 Windows 主机。

第五步:局域网访问(可选)

如果你需要从局域网内的其他设备(如手机、平板)访问 OpenClaw 网关,需要配置端口转发。

设置端口转发

以管理员身份在 PowerShell 中执行:

# 获取 WSL2 的 IP 地址
$wslIp = (wsl hostname -I).Trim().Split(' ')[0]

# 设置端口转发规则
netsh interface portproxy add v4tov4 `
  listenport=3000 `
  listenaddress=0.0.0.0 `
  connectport=3000 `
  connectaddress=$wslIp

配置防火墙

New-NetFirewallRule -DisplayName "OpenClaw Gateway" `
  -Direction Inbound `
  -Protocol TCP `
  -LocalPort 3000 `
  -Action Allow

现在局域网内的设备可以通过 http://<你的Windows IP>:3000 访问 OpenClaw 网关了。

重启后刷新转发规则

WSL2 每次重启后 IP 地址可能变化,需要更新端口转发规则。建议创建一个脚本自动处理:

# refresh-wsl-proxy.ps1
$wslIp = (wsl hostname -I).Trim().Split(' ')[0]
netsh interface portproxy delete v4tov4 listenport=3000 listenaddress=0.0.0.0
netsh interface portproxy add v4tov4 `
  listenport=3000 `
  listenaddress=0.0.0.0 `
  connectport=3000 `
  connectaddress=$wslIp
Write-Host "Port forwarding updated. WSL IP: $wslIp"

每次 Windows 重启后以管理员身份运行此脚本即可。

常见问题

Q:WSL2 中 OpenClaw 性能如何? WSL2 运行的是真正的 Linux 内核,性能接近原生 Linux。文件系统操作在 Linux 文件系统(/home/)下最优,避免在 /mnt/c/ 等挂载的 Windows 路径下运行。

Q:WSL 终端关闭后 OpenClaw 还能运行吗? 如果启用了 systemd 并通过 openclaw gateway start 启动守护进程,关闭终端后服务仍然运行。但 WSL 实例可能会在闲置后自动关闭,可以通过设置 wsl.conf 中的 [interop] 选项防止这一行为。

Q:是否可以在 Windows 原生环境运行 OpenClaw? 不推荐。OpenClaw 的许多功能依赖 Linux 特性。WSL2 是 Windows 用户的最佳实践方案。

Q:磁盘空间不够怎么办? WSL2 默认使用虚拟硬盘(VHD),可以通过 wsl --manage Ubuntu --set-sparse true 启用稀疏文件模式来优化磁盘占用。