Windows WSL2 安装 OpenClaw 踩坑指南

1,672 阅读2分钟

一、为什么选择 WSL2 + OpenClaw?

在 Windows 上运行 OpenClaw(AI 助手),WSL2 是最推荐的方案。相比纯 Windows 环境,WSL2 有这些优势:

  • ✅ 原生 Linux 环境,依赖兼容更好
  • ✅ 支持 systemd,守护进程更稳定
  • ✅ 内存管理更灵活(可配置)
  • ✅ 与 Windows 共存,切换无压力

💡 适用场景:Windows 11(10) + WSL2 (Debian)


二、启用 Windows 功能

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

# 启用"适用于 Linux 的 Windows 子系统"
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用"虚拟机平台"(WSL2 需要)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

⚠️ 执行完必须重启电脑!


三、更新 WSL 内核并设置默认版本

重启后,在 管理员 PowerShell 里执行:

# 设置微软国内镜像环境变量
$env:WSL_INSTALL_URL = "https://mirror.iscas.ac.cn/wsl/wsl.msi"

# 执行下载安装(此时会从国内镜像拉取,默认安装Ubuntu)
wsl --install --web-download

# 更新 WSL 到最新版本
wsl --update

# 设置默认使用 WSL2
wsl --set-default-version 2

四、安装 Debian\Ubuntu

# 查看可用的发行版
wsl --list --online

# 安装 Debian\Ubuntu(如果有Ubuntu可不用安装)
wsl --install -d Debian

💡 安装完会自动打开 Debian\Ubuntu 终端,设置用户名和密码。用户名不能和本地账户一样否则会报错,我这边设置的是ubuntu
⚠️ 如果安装卡住或报错(国内网络问题),可以去 Microsoft Store 搜 "Debian\Ubuntu" 直接安装

验证安装

wsl -l -v
# 应该看到 VERSION 是 2

🔧 如果不是,执行:

wsl --set-version Debian 2

五、Debian\Ubuntu 基础配置

5.1 换国内镜像源(推荐)

# 将软件源替换为中科大镜像源,加快下载速度
sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

# 更新软件列表并升级所有已安装的软件包
sudo apt update && sudo apt upgrade -y

5.2 安装基础工具

sudo apt install -y curl wget git build-essential

六、配置 .wslconfig(防止 WSL 被杀)

在 Windows 用户目录下创建 C:\Users\你的用户名\.wslconfig

# Settings apply across all Linux distros running on WSL 2
[wsl2]
memory=2GB # 限制 WSL2 虚拟机可以使用的最大物理内存(RAM)
swap=2GB   # 设置 WSL2 虚拟机的交换分区(虚拟内存)大小
localhostforwarding=true # 控制 WSL2 和 Windows 主机之间的 [localhost](https://localhost) 端口转发
[experimental]
autoMemoryReclaim=disabled # 启用自动内存回收功能

为什么要关闭自动内存回收?
Windows 默认会在内存紧张时回收 WSL 的内存,这会导致 OpenClaw 网关进程被杀、WebSocket 断连。

🔄 改完后重启 WSL:

wsl --shutdown  # 关闭 Wsl进程
wsl -d Debian   # 启动并指定进入到名为Debian 的 Wsl发行版

七、启用 systemd

OpenClaw 的网关需要 systemd 来做守护进程。

检查配置,编辑 /etc/wsl.conf

[boot]
systemd=true

🔄 重启 WSL 生效。验证:

systemctl --user status

八、OpenClaw 两种安装方式

方式一:一键脚本安装(快速便捷,推荐新手

curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git

⚠️ 重要提示:一键安装需要访问github,node等环境,安装失败大部分原因是国内网络问题


方式二:手动分步安装(可控性高,适合自定义环境)

步骤 1:安装 nvm 并管理 Node.js 版本

# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

source ~/.bashrc

# 安装 Node.js 24.x
nvm install 24
node --version  # 应该是 v24.x

步骤 2:配置 npm 全局路径(避免 sudo 权限问题)

# 创建 npm 全局目录
mkdir -p ~/.npm-global
# 设置 npm 前缀指向该目录
npm config set prefix '~/.npm-global'
# 将自定义路径加入环境变量(永久生效
export PATH="$HOME/.npm-global/bin:$PATH"
# 立即生效配置
source ~/.bashrc

步骤 3:手动安装 OpenClaw

⚠️ 国内用户一定要配置淘宝镜像源,否则 npm 下载会超级慢
npm config set registry https://registry.npmmirror.com

npm install -g openclaw
openclaw --version  # 确认安装成功

如果上述两种方法都失败,个人建议直接上魔法吧,参考第十节配置


九、初始化配置

步骤 1:初始化 OpenClaw 配置(交互式)

openclaw configure

这会启动交互式配置向导,主要设置:

  • 模型提供商:填你的 API 地址和 key
  • 网关模式:选 local
  • 网关端口:默认 18789

准备自己的账号和API API 地址和 key,我用的是硅基流动, 使用的模型Id是 Pro/MiniMaxAI/MiniMax-M2.5,去创建一个密钥,后面需要用到 image

模型提供商配置

  • 选择 Custom-Provider 并回车;
  • 输入 API 地址:https://api.siliconflow.cn/v1
  • 选择 Paste API Key now,粘贴你在硅基流动生成的密钥; image

Skills 安装配置

  • 直接按 A 全选默认 Skills(推荐),或按空格键逐个选择;

  • 回车确认,等待 Skills 自动安装完成; image image 关键配置说明

  • 网关模式选 local,端口默认 18789(可手动修改);

  • 配置文件路径:~/.openclaw/openclaw.json


十、WSL2网络代理配置

⚡ 重点!,如果具备外网环境可不需要配置

🌐 WSL2 里的网络环境比较特殊 —— 它有自己的虚拟网卡,不能直接用 Windows 侧的 127.0.0.1 代理。

Win11(22H2)镜像(Mirrored)模式下 wsl 可不需要额外配置代理网络,此配置在WSL NAT(默认)需要额外代理端口转发

步骤 1:获取 Windows 主机在 WSL2 中的内网 IP(关键!)

# 方法1:从 /etc/resolv.conf 读
cat /etc/resolv.conf | grep nameserver | awk '{print $2}'

# 方法2:直接用固定地址
ip route show default | awk '{print $3}'

📍 假设你的 Windows 代理客户端监听 10808 端口(SOCKS5),那 WSL 里的代理地址通常是:

socks5://{IP}:10808

⚠️ 你的代理客户端需要开启 "允许局域网连接"

步骤 2:安装 Privoxy(解决 SOCKS5 转 HTTP 问题

💡 Node.js 的 fetch 不认 SOCKS5 代理,需要用 Privoxy 做协议转换:

# 安装 Privoxy
sudo apt update && sudo apt install -y privoxy

编辑 /etc/privoxy/config,在末尾加一行:

forward-socks5 / {IP}:10808 .

启动 Privoxy:

# 启动并设置开机自启
sudo systemctl enable privoxy
# 验证 Privoxy 状态(输出 active(running) 即为成功)
sudo systemctl start privoxy

📍 Privoxy 默认监听 127.0.0.1:8118(HTTP 代理)。

步骤 3: 配置 Git 代理

# ✅ 正确
git config --global http.proxy socks5://172.31.0.1:10808

# ❌ 错误 - 会卡死!
git config --global http.proxy socks5h://172.31.0.1:10808

十一、启动网关并设为守护进程

步骤1: 首次启动

openclaw gateway start

步骤2: 验证运行

openclaw gateway status
# 应该看到 Runtime: running

步骤3:开机自启

🔧 systemd user service 默认就是开机自启的。但 WSL 有个问题:Windows 重启后 WSL 不会自动启动

解决方案:创建 Windows 定时任务

  1. C:\Users\你的用户名\scripts\ 目录下创建 keep-wsl-alive.ps1
$running = wsl -l --running 2>$null | Select-String "Debian"
if (-not $running) {
    wsl -d Debian -- sh -c "nohup sleep infinity &"
}
  1. 打开 Windows 任务计划程序,创建任务:
    • 触发器:每 2 分钟重复
    • 操作:powershell.exe -ExecutionPolicy Bypass -File C:\Users\你的用户名\scripts\keep-wsl-alive.ps1
    • 勾选 "不管用户是否登录都要运行"

十二、启用 user session(避免 systemd 不启动)

sudo loginctl enable-linger $(whoami)

十三、配置 sudo 免密(可选)

⚠️ 如果需要经常执行 sudo 命令:

sudo visudo
# 加一行(把 your_username 换成你的用户名):
your_username ALL=(ALL) NOPASSWD: ALL

🔒 安全提示: 这个只在 WSL 里配,不要在生产服务器上这么干!


十六、访问 Webchat UI

🌐 网关启动后,打开浏览器访问:,如果网关概览没有连接上,可以输入Token再进行连接 直接执行 openclaw dashboard --no-open 得到带Token的链接,去浏览器进行访问链接就好

http://127.0.0.1:18789/

🔑 首次访问需要输入 gateway token(在 openclaw.json 的 gateway.auth.token 里)。


十七、验证清单

全部配完后,逐项检查:

# 1. WSL2 + systemd
systemctl --user status

# 2. Node.js
node --version  # v24.x

# 3. OpenClaw 
openclaw --version  # 2026.2.x

# 4. 网关运行
openclaw gateway status  # Runtime: running

# 5. 代理链路(非必需)
curl -x http://127.0.0.1:8118 https://api.anthropic.com

# 6. Webchat UI
# 浏览器打开 http://localhost:18789/

十八、常见问题汇总

❓ 问题⚡ 原因🔧 解决方案
网关莫名断连Windows autoMemoryReclaim 回收内存.wslconfig 里设 autoMemoryReclaim=disabled
git clone 卡死socks5h 让代理服务器解析 DNS改用 socks5://
Chromium 弹窗到 Windows 桌面用了 WSLg 的 :0 显示器Xvfb 用 :99
systemd service 不启动需要 user sessionloginctl enable-linger

十九、完整代理链路图

OpenClaw Gateway (Node.js)
    ↓ HTTP_PROXY=127.0.0.1:8118
Privoxy (HTTP→SOCKS5 转换)
    ↓ forward-socks5 172.31.0.1:10808
Windows 代理客户端 (v2rayN/Clash 等)
    ↓ SOCKS5
代理服务器
    ↓
互联网 (Anthropic API / OpenAI API)

🎯 核心要点

搞定了!其实核心就三件事:

  1. systemd —— 让网关能守护进程运行
  2. 代理链路 —— Privoxy 做 HTTP→SOCKS5 转换
  3. 保活 —— .wslconfig 关内存回收 + Windows 定时任务拉起 WSL

🎉 祝你在 WSL2 上玩得开心!如果有问题,欢迎在评论区交流~