Windows WSL2 安装 OpenClaw 踩坑指南

9 阅读5分钟

一、为什么选择 WSL2 + OpenClaw?

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

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

💡 适用场景:Windows 11 + 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 里执行:

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

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

四、安装 Debian

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

# 安装 Debian
wsl --install -d Debian

💡 安装完会自动打开 Debian 终端,设置用户名和密码。
⚠️ 如果安装卡住或报错(国内网络问题),可以去 Microsoft Store 搜 "Debian" 直接安装

验证安装

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

🔧 如果不是,执行:

wsl --set-version Debian 2

五、Debian 基础配置

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
swap=2GB
localhostforwarding=true
[experimental]
autoMemoryReclaim=disabled # 启用自动内存回收功能

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

🔄 改完后重启 WSL:

wsl --shutdown
wsl -d Debian

七、启用 systemd

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

编辑 /etc/wsl.conf

[boot]
systemd=true

🔄 重启 WSL 生效。验证:

systemctl --user status

八、安装 Node.js

推荐用 nvm 管理版本:

# 安装 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

九、配置 npm 全局路径(避免 sudo)

mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'

~/.bashrc 里加:

export PATH="$HOME/.npm-global/bin:$PATH"

然后执行:

source ~/.bashrc

十、安装 OpenClaw

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

十一、初始化配置

openclaw configure

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

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

配置文件在 ~/.openclaw/openclaw.json。 接下来我就给我我的操作步骤: 1.准备自己的账号和API API 地址和 key,我用的是硅基流动,使用的模型Id是 Pro/MiniMaxAI/MiniMax-M2.5,去创建一个密钥,后面需要用到 image 选择Custome-Provider,如果是其他的另选之后回车就好,填入API供应商的API地址,硅基流动的是 https://api.siliconflow.cn/v1,然后选择Paste API Key now,填入生成的密钥,如图: image 接下来可以继续配置安装Skills,OpenClaw默认自带的Skill 按A直接全选,否则,自行选择想要的按 空格键一个个选,,我这边直接选择全选,选完继续回车进入下一步等待安装即可,如下: image image

十二、网络代理配置(⚡ 重点!)

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

12.1 找到 Windows 主机 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://172.31.0.1:10808

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

12.2 安装 Privoxy(HTTP→SOCKS5 转换)

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

sudo apt install privoxy

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

forward-socks5 / 172.31.0.1:10808 .

启动 Privoxy:

sudo systemctl enable privoxy
sudo systemctl start privoxy

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

12.3 配置 Git 代理

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

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

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

13.1 首次启动

openclaw gateway start

13.2 验证运行

openclaw gateway status
# 应该看到 Runtime: running

13.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 上玩得开心!如果有问题,欢迎在评论区交流~