【Agent Lab】Windows + WSL2 本地部署 Ollama + DeepSeek-R1:8b,并基于 OpenClaw 搭建 QQ 聊天机器人完整教程
以下是一份关于本地模型Api调用的亲身经验分享,涵盖在 WSL2(Windows Subsystem for Linux 2)中安装 Ollama、部署 DeepSeek-R1:8b 模型、搭建 OpenClaw,并最终实现 QQ/微信聊天机器人的全过程。可行性方案均已验证。
以下基于本地模型gemma4:e4b示例(可以使用任意本机模型):

一、教程概述
本文档将指导你在 Windows 系统中,通过 WSL2(Windows Subsystem for Linux)搭建一套完整的本地 AI 聊天机器人系统。整体架构分为五层:
┌─────────────────────────────────────────────────────────┐
│ Windows 宿主机(图形界面工具等) │
├─────────────────────────────────────────────────────────┤
│ WSL2(Ubuntu)虚拟化层 │
├──────────────┬──────────────┬──────────────┬─────────────┤
│ Ollama │DeepSeek-R1:8b│ OpenClaw │ NapCatQQ │
│(模型运行框架)│(大语言模型) │(AI Agent框架)│(QQ协议桥接)│
└──────────────┴──────────────┴──────────────┴─────────────┘
↓
QQ 开放平台/个人号
什么是 WSL2?
WSL(Windows Subsystem for Linux)是微软官方推出的轻量级虚拟化方案,可让用户在 Windows 中直接运行 Linux 环境,资源开销远小于传统虚拟机,且能直接访问宿主机的 GPU。WSL2 是第二代版本,性能比 WSL1 更优。
二、前置硬件要求
项目 推荐配置
操作系统 Windows 10/11(64位),支持 WSL2
CPU 4 核及以上,支持 AVX2 指令集
内存 ≥16 GB(模型越大需求越高)
硬盘 ≥50 GB 剩余空间(用于模型存储和运行环境)
GPU(可选) NVIDIA 显卡(用于 GPU 加速推理)
提示:如果只使用 CPU 运行 DeepSeek-R1:8b,需确保内存足够;若使用 GPU,建议显存 ≥8GB。
三、WSL2 环境配置
3.1 启用 WSL 与虚拟机平台(以管理员身份打开 PowerShell)
# 启用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用虚拟机平台功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
执行完毕后务必重启计算机。
备选方法:若不想使用命令行,可在“控制面板 → 程序 → 启用或关闭 Windows 功能”中,手动勾选 Virtual Machine Platform(虚拟机平台) 和 适用于 Linux 的 Windows 子系统,然后重启。
3.2 设置 WSL2 为默认版本并安装 Ubuntu
重启后,以管理员身份打开 PowerShell,执行以下命令:
# 设置 WSL2 为默认版本
wsl --set-default-version 2
# 安装 Ubuntu 22.04 LTS
wsl --install -d Ubuntu-22.04
或者,你也可以打开 Microsoft Store,搜索 Ubuntu-22.04,点击“获取”进行安装。安装完成后,从开始菜单启动 Ubuntu-22.04,根据提示设置用户名和密码。
3.3 验证 WSL2 安装状态
在 PowerShell 中执行:
# 查看当前 WSL 版本和运行状态
wsl --list --verbose
如果看到 Ubuntu-22.04 对应的“VERSION”列为 2,则表示 WSL2 配置成功。
3.4 将 Ubuntu 迁移到非系统盘(可选,强烈推荐)
默认安装会将 Ubuntu 放在 C 盘,长期使用会占用大量空间。建议迁移到 D 盘或其他空间充足的磁盘。
# 1. 导出当前系统备份
wsl --export Ubuntu-22.04 D:\ubuntu22.04.tar
# 2. 注销原系统(立即释放 C 盘空间)
wsl --unregister Ubuntu-22.04
# 3. 创建新系统目录并导入
mkdir D:\WSL2\Ubuntu22.04
wsl --import Ubuntu-22.04 D:\WSL2\Ubuntu22.04 D:\ubuntu22.04.tar --version 2
# 4. 删除备份文件
del D:\ubuntu22.04.tar
导入后默认用户为 root,如需创建普通用户,可进入 Ubuntu 后执行:
# 添加新用户
sudo adduser your_username
# 将新用户添加到 sudo 组
sudo usermod -aG sudo your_username
并将新用户设为默认用户(修改 /etc/wsl.conf 或通过 Windows 终端设置)。
四、在 WSL2 Ubuntu 中安装 Ollama 与 DeepSeek-R1:8b
4.1 进入 WSL2 环境
在 PowerShell 或 CMD 中执行:
wsl -d Ubuntu-22.04
进入 Ubuntu 终端后,执行以下所有命令。
4.2 更新系统并安装基础工具
# 更新软件源和系统
sudo apt update && sudo apt upgrade -y
# 安装 curl、git、vim 等常用工具
sudo apt install -y curl git vim wget
4.3 安装 Ollama
Ollama 是一个轻量级的大模型运行框架,支持多种开源模型的本地部署。官方提供一键安装脚本:
# 一键安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
安装完成后,Ollama 会作为后台服务自动运行,监听在 127.0.0.1:11434。
验证安装:
# 检查 Ollama 版本
ollama --version
如果正常显示版本号,则安装成功。
Ollama 默认端口:11434。如需修改监听地址(例如让外部服务调用),可以修改 /etc/systemd/system/ollama.service 中的 Environment=“OLLAMA_HOST=0.0.0.0:11434”,然后重启服务:sudo systemctl daemon-reload && sudo systemctl restart ollama。
4.4 部署 DeepSeek-R1:8b 模型
DeepSeek-R1 模型提供多种参数规模,可根据硬件配置选择:
模型版本 约需显存 适用场景
deepseek-r1:1.5b ~1.1 GB 轻量级测试
deepseek-r1:7b/8b ~8-10 GB 平衡性能与质量
deepseek-r1:14b ~16 GB 高质量推理
deepseek-r1:32b ~32 GB 最强效果
【模型下载命令】:
# 下载 8B 版本(推荐,平衡性能与显存占用)
ollama pull deepseek-r1:8b
# 或直接运行模型(若本地未下载,会自动拉取)
ollama run deepseek-r1:8b
首次下载需要几分钟,进度会实时显示。下载完成后,可以通过以下命令验证:
# 显示模型信息
ollama show deepseek-r1:8b
4.5 测试模型运行
# 进入交互对话模式
ollama run deepseek-r1:8b
输入问题(如“你好,请介绍一下你自己”),模型应返回回答。按 Ctrl+D 或输入 /bye 退出。
注意:Ollama 默认仅允许本机访问,如果需要让 OpenClaw 或外部服务调用,需修改监听配置。
五、安装 OpenClaw 并接入 QQ 机器人
5.1 安装 Node.js 环境(OpenClaw 运行依赖)
OpenClaw 基于 Node.js 运行时构建,需要安装 Node.js 24 或更高版本。
# 安装 nvm(Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# 加载 nvm 环境变量
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# 安装 Node.js 24
nvm install 24
# 设置为默认版本
nvm use 24
nvm alias default 24
# 启用 pnpm(OpenClaw 使用的包管理器)
corepack enable pnpm
# 验证安装
node -v # 应显示 v24.x.x
npm -v
pnpm -v
5.2 安装 OpenClaw
使用官方一键安装脚本部署 OpenClaw:
curl -fsSL https://openclaw.ai/install.sh | bash
执行后,安装程序会启动交互式向导,按提示操作:
- 选择 AI 模型提供商:选择“Ollama(Local)”
- 配置模型地址:默认 Ollama 地址为 http://localhost:11434,模型名称填写 deepseek-r1:8b
- 频道配置:在初始配置阶段,可以暂时跳过频道设置,后续再单独配置 QQ 机器人
- 其他选项:按默认选择即可
等待安装完成,OpenClaw 服务将自动启动。
5.3 验证 OpenClaw 运行状态
# 检查服务状态
systemctl --user status openclaw-gateway.service
# 如果需要手动启动
systemctl --user start openclaw-gateway.service
# 如需查看实时日志
journalctl --user -u openclaw-gateway.service -f
六、QQ 机器人集成(个人号方案)
6.1 方案选择说明
OpenClaw 对接 QQ 目前有两种方案:
方案 说明 优缺点
方案 A:QQ 开放平台官方机器人 通过 QQ 开放平台注册开发者账号,获取 AppID、AppSecret、Token 三件套 ✅ 合规稳定;❌ 仅支持单聊和频道,普通群聊受限
方案 B:个人 QQ 号变身机器人(推荐) 通过 NapCat 框架将个人 QQ 号改造成机器人,桥接 OpenClaw ✅ 可在普通 QQ 群中 @ 使用;✅ 体验完整
下文将重点介绍方案 B(个人号方案),这是目前最实用的 QQ 机器人接入方式。
6.2 部署 NapCatQQ(QQ 协议桥接)
NapCatQQ 是一个开源的 QQ 协议实现,通过 OneBot v11 标准对外暴露 WebSocket 接口。
6.2.1 安装 Docker(若未安装)
# 安装 Docker
curl -fsSL https://get.docker.com | sudo sh
# 将当前用户加入 docker 组(避免每次输入 sudo)
sudo usermod -aG docker $USER
# 重新登录后生效,或执行以下命令刷新组权限
newgrp docker
6.2.2 拉取并运行 NapCatQQ 容器
# 拉取 NapCatQQ 镜像(基于官方 napcat 项目)
docker pull mlikiowa/napcat-docker:latest
# 创建数据目录
mkdir -p ~/napcat/data
# 运行容器(关键:将 WebSocket 端口 3001 暴露到宿主机)
docker run -d \
--name napcat \
-p 3001:3001 \
-v ~/napcat/data:/app/data \
-e NAPCAT_ACCOUNT="你的QQ号" \
mlikiowa/napcat-docker:latest
⚠️ 重要配置:启动后,NapCat 的 WebSocket 默认端口为 3001。需要修改配置文件,将 host 设置为 0.0.0.0,以允许 Docker 容器内外跨容器访问。
定位到 NapCat 的配置文件(通常在 ~/napcat/data/onebot11_<QQ号>.json),修改或补充以下字段:
{
"network": {
"websocket": {
"enable": true,
"host": "0.0.0.0",
"port": 3001
}
}
}
修改后重启容器:
docker restart napcat
验证 WebSocket 端口是否正常监听:
# 在 WSL2 中测试本地端口
curl -i http://localhost:3001
6.3 OpenClaw 安装 QQ 机器人插件
进入 OpenClaw 安装目录(通常为 ~/.openclaw 或安装时指定的目录),执行插件安装命令:
# 进入 OpenClaw 目录
cd ~/.openclaw
# 安装 QQ 机器人插件
pnpm add @openclaw/plugin-qq
或通过 OpenClaw 插件管理界面安装(如果有 WebUI 访问权限)。
6.4 配置 OpenClaw 连接 NapCat
编辑 OpenClaw 配置文件 ~/.openclaw/openclaw.json,添加 QQ 频道配置:
vim ~/.openclaw/openclaw.json
在 channels 字段中添加以下内容:
{
"channels": {
"qq": {
"enabled": true,
"websocket": "ws://localhost:3001",
"protocol": "onebot-v11"
}
}
}
6.5 重启 OpenClaw 使配置生效
systemctl --user restart openclaw-gateway.service
七、测试与验证
7.1 验证模型 API 是否正常运行
# 使用 curl 测试 Ollama API
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:8b",
"prompt": "你好"
}'
正常应返回模型生成的 JSON 响应,其中包含 response 字段。
7.2 测试 QQ 机器人对话
- 使用手机 QQ(或另一个 QQ 账号)向作为机器人的 QQ 号发送任意消息
- 机器人应调用 DeepSeek-R1:8b 模型生成回复并发送回来
7.3 验证 OpenClaw 服务状态
# 查看服务状态
systemctl --user status openclaw-gateway.service
# 实时查看日志,排查连接问题
journalctl --user -u openclaw-gateway.service -f
7.4 验证 NapCat WebSocket 连接
# 检查 NapCat 容器运行状态
docker ps | grep napcat
# 查看 NapCat 容器日志
docker logs napcat
如果一切正常,日志中应显示类似 WebSocket server started on 0.0.0.0:3001 的信息。
八、常见问题排查
问题现象 可能原因 解决方案
Ollama 拒绝连接 Ollama 默认监听 127.0.0.1 修改服务配置,将 OLLAMA_HOST 设置为 0.0.0.0:11434 后重启服务
NapCat WebSocket 连接失败 配置文件 host 未设为 0.0.0.0 或端口未映射 修改配置文件将 host 设为 0.0.0.0,确保 Docker 端口映射正确
OpenClaw 服务启动失败 Node.js 版本过低 使用 nvm install 24 安装 Node.js 24
QQ 机器人无响应 WebSocket 连接中断或 OpenClaw 未正确加载插件 检查 journalctl 日志确认插件加载状态,重启 napcat 和 openclaw-gateway
WSL2 内存占用过高 WSL2 默认动态分配内存,大模型推理可能占用较多 可在 %UserProfile%.wslconfig 中添加 memory=8GB 限制最大内存
模型下载缓慢 国外源网络问题 使用代理或更换 Ollama 镜像源,或在不同时段尝试
九、完整架构总览
┌─────────────────────────────────────┐
│ Windows 宿主机 │
│ (或腾讯云/阿里云轻量服务器) │
└─────────────────┬───────────────────┘
│ WSL2 虚拟化层
┌─────────────────▼───────────────────┐
│ WSL2 (Ubuntu 22.04) │
└─────────────────┬───────────────────┘
│
┌───────────────┬─────────┴─────────┬─────────────────┐
│ │ │ │
┌───────▼──────┐ ┌──────▼──────┐ ┌─────────▼────────┐ ┌───────▼───────┐
│ Ollama │ │DeepSeek-R1:8b│ │ OpenClaw │ │ NapCatQQ │
│ :11434 │ │ 模型文件 │ │ :18789 (控制台) │ │ :3001 (WS) │
└──────────────┘ └─────────────┘ └──────────────────┘ └───────────────┘
│
▼
┌─────────────┐
│ QQ 机器人 │
│ (个人号) │
└─────────────┘
十、附录:常用维护命令速查表
用途 命令
进入 WSL2 Ubuntu wsl -d Ubuntu-22.04
查看 WSL2 版本 wsl --list --verbose
Ollama 模型列表 ollama list
运行 DeepSeek-R1:8b ollama run deepseek-r1:8b
停止 Ollama 服务 sudo systemctl stop ollama
启动 Ollama 服务 sudo systemctl start ollama
OpenClaw 服务重启 systemctl --user restart openclaw-gateway.service
OpenClaw 服务日志 journalctl --user -u openclaw-gateway.service -f
NapCat 容器状态 docker ps -a | grep napcat
NapCat 容器重启 docker restart napcat
NapCat 容器日志 docker logs napcat -f
Ollama API 测试 curl http://localhost:11434/api/generate -d ‘{“model”:“deepseek-r1:8b”,“prompt”:“你好”}’
结语:通过以上完整的配置流程,你已经在本地 Windows + WSL2 环境中搭建了一套从底层大模型到上层聊天机器人的全链路 AI 系统。如果你的硬件配置有限,也可以将整套方案迁移到腾讯云轻量服务器或阿里云 ECS 上运行。建议学习期间,使用最轻量化的模型来验证你的MVP(最小可行产品),希望这份教程对您有所帮助!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)