OpenClaw 完全支持 Windows,官方推荐通过 WSL2(Windows Subsystem for Linux)运行, 性能和稳定性都更好。本文覆盖两种安装方式及完整配置流程。
为什么推荐 WSL2?
OpenClaw 的核心是 Node.js 应用,在 Windows 原生环境运行时存在以下限制:
- 文件路径兼容性问题(Windows
\vs Unix/) - 部分依赖(如 sharp)在 Windows 编译更复杂
- WhatsApp 和 Telegram 频道在 Windows 原生下偶有兼容问题
- WSL2 提供真正的 Linux 环境,稳定性更高
官方推荐:Windows 用户强烈建议使用 WSL2 运行 OpenClaw。
方式一:WSL2 安装(推荐)
Step 1:安装 WSL2
以管理员身份打开 PowerShell 或命令提示符:
powershell
# 安装 WSL2(Windows 10 2004+ / Windows 11)
wsl --install
# 重启电脑后,WSL 会自动安装 Ubuntu
# 首次启动 Ubuntu,设置用户名和密码如果已有 WSL1,升级到 WSL2:
powershell
wsl --set-default-version 2
wsl --set-version Ubuntu 2Step 2:在 WSL2 中安装 OpenClaw
打开 Ubuntu(WSL2)终端:
bash
# 安装 OpenClaw(macOS/Linux/WSL2 通用命令)
curl -fsSL https://openclaw.ai/install.sh | bash
# 脚本自动处理:
# - 检测 Node.js 并安装 Node 24(如未安装)
# - 全局安装 openclaw 包
# - 运行引导向导(onboarding)
# 验证安装
openclaw --version
openclaw doctorStep 3:配置 AI API Key
bash
openclaw configure
# 按提示选择 AI 提供商(Anthropic/OpenAI 等)
# 输入对应的 API KeyStep 4:配置 Telegram 频道
bash
openclaw configure --section channels.telegram
# 输入通过 @BotFather 创建的 Bot TokenStep 5:启动 Gateway
bash
# 安装为系统服务(开机自启)
openclaw onboard --install-daemon
# 或手动启动
openclaw gateway start
# 验证状态
openclaw gateway statusWSL2 从 Windows 访问服务
WSL2 有独立的内网 IP,Windows 访问 WSL2 内的服务需要端口转发或直接用 localhost:
powershell
# 大多数情况下 localhost 就可以直接访问
# 如访问 OpenClaw Dashboard
# 浏览器打开:http://localhost:18789方式二:Windows 原生安装(PowerShell)
如果不想用 WSL2,可以用 PowerShell 直接安装:
powershell
# 以管理员身份运行 PowerShell
iwr -useb https://openclaw.ai/install.ps1 | iex只安装不运行引导向导:
powershell
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard配置文件位置(Windows 原生)
配置文件:C:/Users/你的用户名/.openclaw/openclaw.json
日志目录:C:/Users/你的用户名/.openclaw/logs/
工作区: C:/Users/你的用户名/.openclaw/workspace-content/
开机自启动配置
WSL2 中设置 systemd 服务
bash
# 在 WSL2 中安装为 systemd 用户服务
openclaw gateway install
# 启用开机自启
systemctl --user enable openclaw-gateway
systemctl --user start openclaw-gateway
# 查看状态
systemctl --user status openclaw-gatewayWindows 原生:任务计划程序
powershell
# 创建开机启动任务(PowerShell 管理员模式)
$action = New-ScheduledTaskAction -Execute "openclaw" -Argument "gateway start"
$trigger = New-ScheduledTaskTrigger -AtLogon
Register-ScheduledTask -TaskName "OpenClaw Gateway" -Action $action -Trigger $trigger -RunLevel HighestWindows 防火墙配置
如果需要从局域网或外网访问 OpenClaw Dashboard:
powershell
# 开放 18789 端口(Dashboard 默认端口)
netsh advfirewall firewall add rule name="OpenClaw" dir=in action=allow protocol=TCP localport=18789常见问题排查
问题:openclaw: command not found
powershell
# 检查 npm 全局路径
npm prefix -g
# 输出类似:C:/Users/你的用户名/AppData/Roaming/npm
# 将该路径加入系统 PATH
[System.Environment]::SetEnvironmentVariable(
"PATH",
"$env:PATH;C:/Users/你的用户名/AppData/Roaming/npm",
"User"
)
# 重新打开 PowerShell 终端问题:sharp 安装报错
bash
# Windows 原生环境 sharp 需要 build tools
# 方法 1:安装 node-gyp 依赖
npm install -g windows-build-tools # 需管理员权限
# 方法 2(更简单):跳过本地编译,用预构建版本
$env:SHARP_IGNORE_GLOBAL_LIBVIPS=1
npm install -g openclaw@latest问题:WSL2 访问 Windows 上的端口
bash
# WSL2 中访问 Windows 主机
cat /etc/resolv.conf | grep nameserver
# 输出的 IP 就是 Windows 主机 IP,通常是 172.x.x.x问题:Windows 路径与 Unix 路径冲突
建议在 WSL2 中把项目放在 Linux 文件系统内(~/ 目录),
而不是 /mnt/c/ 路径下,可以避免绝大多数路径兼容问题。
Windows 上 OpenClaw 功能对比
| 功能 | WSL2 | Windows 原生 |
|---|---|---|
| 核心 Gateway | ✅ | ✅ |
| Telegram Bot | ✅ | ✅ |
| Discord Bot | ✅ | ✅ |
| ✅ | ⚠️ 可能有兼容问题 | |
| macOS 原生 App | ❌ | ❌ |
| 开机自启 | ✅ systemd | ✅ 任务计划 |
| 性能 | ✅ 优秀 | ⚠️ 一般 |
来源:OpenClaw 官方文档 - docs.openclaw.ai/platforms/windows