跳到主要内容
Windows 系统 WSL2 Ubuntu 部署 OpenClaw | 极客日志
Shell / Bash Node.js AI
Windows 系统 WSL2 Ubuntu 部署 OpenClaw Windows 系统通过 WSL2 安装 Ubuntu 环境,配置 Node.js 及 OpenClaw 智能体工具。步骤包括启用 WSL 功能、安装 Ubuntu 24.04 LTS、更新内核与系统、安装 Node.js 22+。使用一键脚本部署 OpenClaw,配置本地模型 Ollama 监听地址以支持 WSL2 访问。修改配置文件设置 Token 与 Workspace,并配置开机自动启动 Ubuntu 任务。最终实现本地 AI 助手部署与运行。
刀狂 发布于 2026/3/15 更新于 2026/5/13 12 浏览这是官方推荐的 Windows 部署方式,提供最完整的 Linux 环境支持。
准备:启用适用于 Linux 的 Windows 子系统和虚拟化平台,重启电脑。
1. 启用 WSL2
以管理员身份打开 PowerShell ,执行:
# 启用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 设置 WSL 2 为默认版本,部分电脑此步可能报错,此处暂不理会,通过下文中的 WSL 内核更新解决
wsl --set-default-version 2
2. 安装 Ubuntu
方法 1:Microsoft Store 安装(推荐)
打开 Microsoft Store
搜索「Ubuntu 24.04 LTS」
点击「获取」并安装
安装完成后会自动打开 Ubuntu 终端,按提示设置用户名和密码。
方法 2:wsl 命令安装
wsl --install -d Ubuntu-24.04
部分电脑报错无法解析服务器的名称或地址
解决方案
打开 /C:\Windows\System32\drivers\etc 文件,添加 IP domain 的对,如图:
启动 Ubuntu 24.04 LTS 部分 windows 安装 ubuntu 时,报错:Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x8007019e Error: 0x8007019e 不支持的 Linux 发行版
这个报错 0x8007019e 通常是因为在安装 Ubuntu 之前,没有先开启 Windows 的**'适用于 Linux 的 Windows 子系统 (WSL)'**功能。
在 PowerShell 中执行如下命令,然后重启 电脑即可
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
重启完成后重新打开 Ubuntu 24.04 LTS
首次启动设置用户名和密码,注意在 ubuntu 中输入密码时没有任何显示,直接输入完成回车即可
WSL 内核更新 1. 在 PowerShell 中管理员身份运行,执行:
如果出现 wsl --update 卡在 0% 问题
# 停止 Windows Update 服务
net stop wuauserv
# 重新启动服务
net start wuauserv
wsl --update --web-download
2. 执行版本转换命令
现在,运行转换命令。同样在 PowerShell 中,输入
wsl --set-version Ubuntu-24.04 2
更新 Ubuntu 系统
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git wget build-essential
安装 Node.js 22+
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
安装 OpenClaw curl -fsSL https://openclaw.ai/install.sh | bash
通过左右方向键切换 Yes/No 选项,选择 Yes 即表示已了解 OpenClaw 权限相关风险,同意继续配置。
进入 Onboarding mode 选择界面时,对于首次配置的用户,建议优先选择 QuickStart 模式——该模式以「最小配置 + 最快部署」为目标,可跳过非必要配置项,快速完成 OpenClaw 基础部署。
配置要使用的模型,可以在这里直接配置,也可以后续通过配置文件处理。
若使用国内模型如 Moonshot,OpenClaw 的配置是国际的会导致接口地址错误,所以先选择 Skip for now 跳过大模型配置,后面再单独设置要使用的模型即可。
保持默认选择 All providers,回车即可
进入 Default model 选择界面时可任意选择一个模型临时占位——该配置后续将通过修改配置文件覆盖,不影响最终使用效果,保持默认选择 Keep current,回车即可
◆Select channel (QuickStart)
配置要使用的对话应用,如果用飞书,按要求填参数即可。这里可选 Skip for now,先跳过选择,后续将单独讲解怎么配置。
配置技能,可以选 No,根据提示安装一些常用的工具。
此时执行 openclaw 指令提示'openclaw: command not found',依次执行如下指令添加 openclaw 到系统环境变量
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
本地模型配置步骤: Ollama 默认只监听 127.0.0.1,没监听这个虚拟网卡的 IP
第一步:Windows 上设置环境变量,让 Ollama 监听所有接口
以管理员身份打开 PowerShell,执行:
setx OLLAMA_HOST "0.0.0.0" /M
重启 Ollama(任务栏右下角小羊驼图标 → 右键 Quit → 重新从开始菜单启动)。
netstat -an | findstr 11434
如果看到 0.0.0.0:11434 或 :::11434 处于 LISTENING,就成功了。
如果只有 127.0.0.1:11434,说明没生效,重启电脑即可。
第二步:WSL2 里用正确的宿主机 IP 测试
在 WSL2 Ubuntu 中执行(这才是你该用的 IP,不是 172.24.64.1):
ip route show | grep default | awk '{print $3}'
这会输出 Windows 宿主机在 WSL2 网络中的真实网关 IP,大概率是 172.24.64.1 或类似(就是 Windows 的 vEthernet (WSL) 网卡 IP)。
curl http://172.28.240.1:11434/api/tags
修改配置,建议直接在如下配置基础上修改 {
"wizard" : {
"lastRunAt" : "2026-02-19T08:45:16.629Z" ,
"lastRunVersion" : "2026.2.17" ,
"lastRunCommand" : "onboard" ,
"lastRunMode" : "local"
} ,
"agents" : {
"defaults" : {
"model" : {
"primary" : "ollama/qwen3:8b" ,
"fallbacks" : [ "openai/gpt-5.1-codex" ]
} ,
"models" : {
"ollama/qwen3:8b" : { } ,
"openai/gpt-5.1-codex" : { "alias" : "GPT" }
} ,
"workspace" : "/home/rgzn/.openclaw/workspace" ,
"compaction" : { "mode" : "safeguard" } ,
"maxConcurrent" : 4 ,
"subagents" : { "maxConcurrent" : 8 }
}
} ,
"messages" : { "ackReactionScope" : "group-mentions" } ,
"commands" : { "native" : "auto" , "nativeSkills" : "auto" } ,
"gateway" : {
"port" : 18789 ,
"mode" : "local" ,
"bind" : "loopback" ,
"auth" : {
"mode" : "token" ,
"token" : "d3f44d798d67a145cbcb0caa5aa9b02de9fdad623384039c"
} ,
"tailscale" : { "mode" : "off" , "resetOnExit" : false } ,
"nodes" : {
"denyCommands" : [ "camera.snap" , "camera.clip" , "screen.record" , "calendar.add" , "contacts.add" , "reminders.add" ]
}
} ,
"meta" : {
"lastTouchedVersion" : "2026.2.17" ,
"lastTouchedAt" : "2026-02-19T08:45:16.638Z"
} ,
"models" : {
"providers" : {
"ollama" : {
"baseUrl" : "http://172.28.240.1:11434/v1" ,
"apiKey" : "ollama-local" ,
"api" : "openai-completions" ,
"models" : [
{
"id" : "qwen3:8b" ,
"name" : "Qwen3 8B" ,
"reasoning" : false ,
"input" : [ "text" ] ,
"cost" : { "input" : 0 , "output" : 0 } ,
"contextWindow" : 131072 ,
"maxTokens" : 8192
}
]
}
}
}
}
如下图将 workspace 路径中的 rgzn 替换成对应的名称(命令行@前的内容)
如下图将 baseUrl 中 IP 地址修改上面查询到的
备份 openclaw.json 配置文件,执行如下指令:
mv openclaw.json openclaw.json.bak
如需调用云端 deepseek 的 api 配置方式如下:
nano ~/.openclaw/openclaw.json
{
"meta" : {
"lastTouchedVersion" : "2026.2.9" ,
"lastTouchedAt" : "2026-02-12T00:45:51.950Z"
} ,
"wizard" : {
"lastRunAt" : "2026-02-12T00:45:51.943Z" ,
"lastRunVersion" : "2026.2.9" ,
"lastRunCommand" : "configure" ,
"lastRunMode" : "local"
} ,
"agents" : {
"defaults" : {
"model" : {
"primary" : "deepseek/deepseek-chat" ,
"fallbacks" : [ "openai/gpt-5.1-codex" ]
} ,
"models" : {
"deepseek/deepseek-chat" : { } ,
"openai/gpt-5.1-codex" : { "alias" : "GPT" }
} ,
"workspace" : "/home/syh/.openclaw/workspace" ,
"compaction" : { "mode" : "safeguard" } ,
"maxConcurrent" : 4 ,
"subagents" : { "maxConcurrent" : 8 }
}
} ,
"messages" : { "ackReactionScope" : "group-mentions" } ,
"commands" : { "native" : "auto" , "nativeSkills" : "auto" } ,
"gateway" : {
"port" : 18789 ,
"mode" : "local" ,
"bind" : "loopback" ,
"auth" : {
"mode" : "token" ,
"token" : "66682db26fe6f1693570085e2009c52bf8a688901aa542fc"
} ,
"tailscale" : { "mode" : "off" , "resetOnExit" : false } ,
"nodes" : {
"denyCommands" : [ "camera.snap" , "camera.clip" , "screen.record" , "calendar.add" , "contacts.add" , "reminders.add" ]
}
} ,
"skills" : { "install" : { "nodeManager" : "npm" } } ,
"tools" : {
"web" : {
"search" : { "enabled" : false } ,
"fetch" : { "enabled" : true }
}
} ,
"models" : {
"providers" : {
"deepseek" : {
"baseUrl" : "https://api.deepseek.com/v1" ,
"apiKey" : "填入你的 API KEY" ,
"api" : "openai-completions" ,
"models" : [
{
"id" : "deepseek-chat" ,
"name" : "DeepSeek Chat" ,
"reasoning" : false ,
"input" : [ "text" ] ,
"cost" : { "input" : 0.14 , "output" : 0.28 } ,
"contextWindow" : 128000 ,
"maxTokens" : 4096
}
]
}
}
}
}
设置开机自动启动 可以运行以下 PowerShell 命令,查看 AUMID 备用
Get-StartApps | Where-Object { $_.Name -like "*Ubuntu*" }
添加参数(红色字体替换成前面查到的 AUMID):shell:AppsFolder\CanonicalGroupLimited.Ubuntu24.04LTS_79rhkp1fndgsc!ubuntu2404
右键点击任务,点击运行(应该看到 ubuntu 窗口打开)。
相关免费在线工具 RSA密钥对生成器 生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
Mermaid 预览与可视化编辑 基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
随机西班牙地址生成器 随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
Markdown转HTML 将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online