Windows 本地部署大模型 AI 助手:WSL + Docker + Ollama + OpenClaw 实战
Windows 本地部署大模型 AI 助手:WSL + Docker + Ollama + OpenClaw 实战
OpenClaw 最近很火。这是一款开源的 AI Agent 平台,号称能打造”24 小时在线的私人 AI 助手”,支持本地部署、完全免费、还能扩展各种技能。
我花了大半天时间把整套环境搭了起来。说实话,坑挺多的——WSL2 和 Docker Desktop 的网络配置、容器怎么连宿主机的 Ollama、模型部署……折腾下来,我把遇到的问题和解决方法都记录了下来。
这篇文章从头到尾讲清楚:
搭建路线:WSL2 → Docker Desktop → Ollama → qwen3.5 模型 → OpenClaw
跟着做,你也能在本地跑一个免费的 AI 助手。
◆ 一、安装 WSL2 并部署 Ubuntu 子系统
1.1 检查系统环境
开始之前,先确认两件事:
检查 Windows 版本
按 Win + R,输入 winver,回车。确保你的系统是 Windows 10 2004 以上版本,或者 Windows 11。
检查虚拟化是否开启
按 Ctrl + Shift + Esc 打开任务管理器,切换到「性能」选项卡,看 CPU 右下角的「虚拟化」是否显示「已启用」。
如果显示「已禁用」,需要重启电脑进 BIOS,开启 Intel VT-x 或 AMD-V 虚拟化功能。大多数新电脑默认是开启的。
1.2 一键安装 WSL2
微软现在提供了最简单的安装方式,一条命令搞定。
第一步:打开管理员 PowerShell
右键点击开始菜单,选择「Windows 终端(管理员)」或「PowerShell (管理员)」。
第二步:执行安装命令
wsl --install
这条命令会自动完成以下操作:
- 启用 WSL 功能
- 启用虚拟机平台
- 下载并安装 Ubuntu
- 将 WSL2 设为默认版本
第三步:重启电脑
安装完成后重启。
◆ 二、安装 Docker Desktop 并关联 WSL2
2.1 下载安装
访问 Docker 官网:https://www.docker.com/products/docker-desktop/
点击「Download for Windows」下载安装包。
双击运行 Docker Desktop Installer.exe,在安装配置界面确保勾选:
- Use WSL 2 instead of Hyper-V
- Add shortcut to desktop
点击 OK 开始安装。完成后点击「Close and log out」,系统会自动注销。
重新登录 Windows 后启动 Docker Desktop,首次启动需要几分钟初始化。
2.2 配置 WSL2 集成
Docker Desktop 启动后,需要确保它正确关联到你的 Ubuntu 子系统。
第一步: 点击 Docker Desktop 右上角的齿轮图标,进入 Settings。
第二步: 在左侧菜单选择 Resources → WSL Integration。
确保以下设置:
- 勾选 Enable integration with my default WSL distro
- 在下方列表找到你的 Ubuntu 发行版,打开开关
第三步: 点击 Apply & Restart,等待 Docker 重启。
◆ 三、部署本地 Ollama 并拉取 qwen3.5 模型
3.1 安装 Ollama
Ollama 是一个本地大模型运行框架,让你能在自己电脑上跑各种开源大模型。
第一步:安装
打开 Ubuntu 终端,执行:
curl -fsSL https://ollama.com/install.sh | sh
第二步:启动服务
ollama serve &
& 符号让服务在后台运行,这样你还能继续用终端。
第三步:验证安装
ollama --version
3.2 拉取 qwen3.5 模型
qwen3.5(通义千问)是阿里云开源的大模型,中英文对话都不错。
ollama pull qwen3.5:latest
模型大概 5-10GB,根据网速可能需要几分钟到十几分钟。
确认安装成功:
ollama list
◆ 四、用 Docker 部署 OpenClaw 并连接本地模型
4.1 准备配置目录
mkdir -p ~/.openclaw/workspace
mkdir -p ~/openclaw
cd ~/openclaw
4.2 创建 docker-compose.yml
nano docker-compose.yml
粘贴以下内容:
services:
openclaw-gateway:
image: ghcr.io/openclaw/openclaw:latest
environment:
HOME: /home/node
TERM: xterm-256color
OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
TZ: UTC
volumes:
- ~/.openclaw:/home/node/.openclaw
- ~/.openclaw/workspace:/home/node/.openclaw/workspace
ports:
- "18789:18789"
- "18790:18790"
init: true
restart: unless-stopped
command: ["node", "dist/index.js", "gateway", "--bind", "lan", "--port", "18789"]
extra_hosts:
- "host.docker.internal:host-gateway"
按 Ctrl + O 保存,Ctrl + X 退出。
4.3 关键配置说明
| 配置项 | 作用 |
|---|---|
ports: "18789:18789" |
把容器的 18789 端口映射到宿主机,浏览器才能访问 |
extra_hosts: host.docker.internal |
让容器能访问宿主机服务(WSL 里的 Ollama) |
volumes |
持久化配置和数据 |
4.4 设置 Gateway Token
Gateway Token 是访问 OpenClaw 的凭证,需要自己生成:
openssl rand -hex 32
把输出的字符串保存好,然后设置为环境变量:
export OPENCLAW_GATEWAY_TOKEN="刚才生成的token"
4.5 启动 OpenClaw
cd ~/openclaw
docker compose up -d
等待镜像下载和容器启动,首次可能需要几分钟。
如果镜像拉取失败怎么办?
出现
pull access denied或超时错误,可以尝试:方案一:配置 Docker Desktop 代理
– 打开 Docker Desktop → Settings → Resources → Proxies
– 配置 HTTP/HTTPS 代理
– 点击 Apply & Restart方案二:从源码构建
–git clone https://github.com/openclaw/openclaw.git
–docker build -t openclaw:local .
– 然后把image改成openclaw:local
4.6 验证服务状态
# 检查容器状态
docker ps | grep openclaw
# 测试服务是否正常
curl http://127.0.0.1:18789/healthz
如果返回 OK,说明服务正常运行。
4.7 访问 Web 界面
打开浏览器,访问:http://localhost:18789
首次访问需要输入 Gateway Token 登录。
◆ 五、常见问题与解决方法
折腾这套环境的过程中,我遇到了不少坑。把最常见的几个问题和解决方法整理在这里,希望能帮你少走弯路。
问题一:Docker 容器连不上 WSL 里的 Ollama
现象:OpenClaw 容器启动了,但配置 Ollama 地址为 http://localhost:11434 时连不上。
原因:Docker 容器和 WSL 在不同的网络命名空间里。容器内的 localhost 指向的是容器自己,不是宿主机。
解决方法:
在 docker-compose.yml 里添加:
extra_hosts:
- "host.docker.internal:host-gateway"
然后在 OpenClaw 里配置 Ollama 地址为:http://host.docker.internal:11434
问题二:浏览器打不开 localhost:18789
现象:容器正常运行,但浏览器访问 http://localhost:18789 一直转圈或连不上。
原因:可能是 Windows 防火墙拦截,或者端口被其他程序占用了。
解决方法:
- 检查端口占用:在 PowerShell 里执行
netstat -ano | findstr 18789 - 临时关闭防火墙测试一下
- 确认 Docker Desktop 的 WSL Integration 配置正确
问题三:host 网络模式在 Windows 下不生效
现象:用了 network_mode: host,容器内服务正常,但宿主机访问不到端口。
原因:Docker Desktop 在 WSL2 模式下,host 网络模式的行为和 Linux 不一样,没法让宿主机直接访问容器端口。
解决方法:用 bridge 模式 + 端口映射(就是本文里的 ports 配置),不要用 network_mode: host。
问题四:OpenClaw 没有响应或报错
现象:网页能登录,但发消息没反应或者报错。
原因:
- Ollama 服务没启动
- 模型名称配置错了(是
qwen3.5:latest,不是qwen3.5)
解决方法:
- 在 WSL 里执行
ollama list确认模型存在 - 执行
ollama serve &确保 Ollama 服务在运行 - 在 OpenClaw 设置里确认模型配置正确
问题五:Gateway Token 忘了怎么办
解决方法:
- 查看环境变量:
echo $OPENCLAW_GATEWAY_TOKEN - 如果环境变量失效了,重新生成并重启容器:
export OPENCLAW_GATEWAY_TOKEN="新的token" cd ~/openclaw docker compose down docker compose up -d
◆ 总结
搭建 OpenClaw 本地 AI 助手,核心就是这 5 步:
安装 WSL2 + Ubuntu
↓
安装 Docker Desktop 并关联 WSL
↓
部署 Ollama + 拉取 qwen3.5 模型
↓
Docker 部署 OpenClaw
↓
配置连接并验证
整个过程中最容易踩坑的是网络配置——Docker 容器怎么访问 WSL 宿主机的服务。记住这个关键配置:
extra_hosts:
- "host.docker.internal:host-gateway"
常用命令速查
| 操作 | 命令 |
|---|---|
| 启动 Ollama | ollama serve & |
| 查看已安装模型 | ollama list |
| 运行模型对话 | ollama run qwen3.5:latest |
| 启动 OpenClaw | cd ~/openclaw && docker compose up -d |
| 停止 OpenClaw | docker compose down |
| 查看日志 | docker logs openclaw-openclaw-gateway-1 |
| 检查服务状态 | curl http://127.0.0.1:18789/healthz |
OpenClaw 的强大之处在于它支持各种技能扩展——写代码、读文档、管理日程,甚至接入飞书、钉钉等平台。
你打算用 OpenClaw 做什么?遇到问题也欢迎留言讨论。
如果这篇文章对你有帮助,欢迎关注我的公众号,获取更多 AI 实用教程。
夜雨聆风