
**摘要:**本文面向 Windows 10 用户,详细介绍如何通过 WSL2 和 Docker 部署 OpenClaw 个人助理,接入免费模型或自订阅模型,配置 Telegram、WhatsApp 等消息渠道,并覆盖调试验证、长期养护以及常见问题处理。读者可按“环境准备、安装部署、模型接入、渠道配置、调试验证、长期养护、排错”的顺序逐步操作,让自己的“小龙虾”稳定在线。
快速上手:TL;DR
如果你只想最快跑通,按下面 5 步操作即可:
- 启用 WSL2 并安装 Docker Desktop(第 2 节)。
- 创建数据卷并启动 OpenClaw 容器(第 3 节)。
- 注册模型服务并执行
openclaw models set ...(第 4 节)。 - 登录 Telegram 或 WhatsApp 渠道(第 5 节)。
- 发送一条消息验证回复,并完成首次数据卷备份(第 6、7 节)。
最短核心命令如下:
wsl --install
docker volume create openclaw-data
docker run -d --name openclaw `
--restart unless-stopped `
-v openclaw-data:/home/node/.openclaw `
ghcr.io/openclaw/openclaw:latest
openclaw gateway login telegram
然后给 Bot 发一条消息,若能正常回复,说明核心链路已打通。遇到问题先按第 8 节的排错决策流程图排查。
目录:
- 方案概览:为什么选择 OpenClaw 来“养小龙虾”
- 部署前准备:Windows 10 + WSL2 + Docker
- 安装 OpenClaw 核心服务
- 对接模型:免费模型与自订阅模型
- 配置个人助理渠道
- 调试与验证
- 长期运行与维护:把“小龙虾”养好
- 常见问题处理(FAQ)
- 总结
1. 方案概览:为什么选择 OpenClaw 来“养小龙虾”
OpenClaw 是一款开源的个人 AI 助理框架,核心思路是让一个长期运行的 Agent 常驻在服务器或本机,通过消息应用(Telegram、WhatsApp、Discord 等)随时接单干活,同时可以调用代码执行、网页浏览、文件管理等能力,完成查询信息、定时提醒、整理资料、自动化脚本等任务。
所谓“养小龙虾”,本质是把 OpenClaw 当成一个 24 小时在线的数字助理:模型是它的“脑子”,网关渠道是它的“触角”,长期运行和监控是“喂养”。相比每次临时打开一个对话框,这种常驻方式更适合做个人助理,因为你随时可以在手机消息里找到它,让它记住上下文、维护日程,甚至半夜帮你跑批处理任务。
本手册面向 Windows 10 用户,覆盖从环境准备、安装部署、模型接入(免费模型与自订阅模型)、渠道配置、调试验证,到长期运行维护和常见问题处理的完整流程。所有命令均可在 Windows Terminal 或 PowerShell 中执行。
组件
作用
Windows 10 下的承载方式
OpenClaw 核心服务
Agent 大脑、消息路由、工具执行
Docker 容器或 Node.js 进程
模型 API
提供语言理解与生成能力
免费模型或自订阅模型
Gateway 网关
对接 WhatsApp、Telegram 等渠道
随核心服务运行
数据卷
保存会话、配置、记忆
Docker Volume 或本地目录
下面按照“准备环境 → 安装核心 → 接模型 → 接渠道 → 调试 → 长期养护 → 排错”的顺序展开。
1.1 整体架构流程图
下图展示 OpenClaw 个人助理在 Windows 10 上的整体数据流转:
核心链路是:手机消息经 Telegram 或 WhatsApp 进入 Gateway,OpenClaw 接收后调用模型 API 生成回复,再沿原路径返回手机;配置与会话数据通过数据卷持久化。
2. 部署前准备:Windows 10 + WSL2 + Docker
OpenClaw 官方推荐通过 Docker 部署,而在 Windows 10 上运行 Docker 需要 WSL2。即便你选择 Node.js 直装方式,也建议先把 WSL2 准备好,后续维护、调试都会更顺手。
2.1 检查 Windows 10 版本
在 PowerShell 中执行以下命令查看版本:
winver
确保系统为 Windows 10 版本 2004 及以上(内部版本 19041 及以上),这是启用 WSL2 的前提。低于该版本请先通过 Windows Update 升级系统。
2.2 启用 WSL2 与虚拟机平台
以管理员身份打开 PowerShell,执行:
wsl --install
该命令会安装 WSL2 并默认安装 Ubuntu 发行版。安装完成后重启电脑。重启后若提示未启用虚拟机平台,可手动执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
再次重启后,执行下面命令确认已使用 WSL2:
wsl --set-default-version 2
wsl --status
2.3 安装 Docker Desktop
- 到 Docker 官网下载 Docker Desktop for Windows 安装包。
- 运行安装程序,勾选使用 WSL2 作为后端引擎。
- 安装完成后打开 Docker Desktop,进入 Settings,在 General 中确认 “Use the WSL 2 based engine” 已开启。
- 在 Resources 的 WSL Integration 中,确保你的 Ubuntu 发行版已开启集成。
验证 Docker 是否正常:
docker --version
docker run hello-world
如果能正常输出 Docker 版本信息,且 hello-world 容器运行成功,说明环境就绪。
2.4 可选:直装 Node.js 方式的前置条件
如果不使用 Docker,OpenClaw 也可以作为 Node.js 应用运行。需要安装 Node.js 22 或更高版本,并确保 npm 可用:
node --version
npm --version
本手册以 Docker 方式为主线,Node.js 方式在关键处会作补充说明。
2.5 环境变量配置
环境变量用于控制时区、代理等运行选项。Docker 方式可在 docker run 时通过 -e 参数传入:
docker run -d --name openclaw `
--restart unless-stopped `
-e TZ=Asia/Shanghai `
-v openclaw-data:/home/node/.openclaw `
ghcr.io/openclaw/openclaw:latest
其中 TZ 是通用时区变量,可按你的部署环境改写。如果希望调整 OpenClaw 专属运行参数,例如日志级别或数据目录,请先查阅当前版本官方文档或 onboard 生成的配置文件,确认支持的变量后再用同样的 -e 方式传入,避免使用未经验证的参数。
当本机需要通过代理访问模型或消息渠道时,可在启动容器前设置:
$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"
$env:NO_PROXY="localhost,127.0.0.1"
注意:PowerShell 的换行符是反引号 `;在 WSL 或 Ubuntu 中执行时,应改用反斜线 \,代理变量也写作 export HTTP_PROXY=...。
Node.js 直装方式可把环境变量写入用户环境,例如在 PowerShell 中执行:
setx TZ "Asia/Shanghai"
setx HTTP_PROXY "http://127.0.0.1:7890"
setx HTTPS_PROXY "http://127.0.0.1:7890"
设置后重启终端或 OpenClaw 服务,再运行 openclaw status 确认服务正常。修改环境变量会影响运行行为,建议与数据卷备份一并记录。
3. 安装 OpenClaw 核心服务
3.1 方式一:Docker 安装(推荐)
先创建数据卷,用于持久化 OpenClaw 的配置、会话和记忆数据:
docker volume create openclaw-data
首次运行需要执行初始化向导(onboard),这一步会引导你完成模型和渠道的初步配置:
docker run -it --rm `
-v openclaw-data:/home/node/.openclaw `
ghcr.io/openclaw/openclaw:latest onboard
注意:PowerShell 中换行符用反引号 `,如果你在 Ubuntu/WSL 里执行,换行符要改成反斜线 \。完成后,以后台常驻方式启动:
docker run -d --name openclaw `
--restart unless-stopped `
-v openclaw-data:/home/node/.openclaw `
ghcr.io/openclaw/openclaw:latest
参数说明:
-d:后台运行。--name openclaw:容器命名为 openclaw,方便后续管理。--restart unless-stopped:退出或重启后自动拉起,是实现长期在线的关键。-v:把配置和会话数据挂载到数据卷,避免容器删除后数据丢失。
3.2 方式二:Node.js 直装
适合不使用 Docker 的用户。首先全局安装 OpenClaw:
npm install -g openclaw@latest
然后执行初始化并安装后台守护进程:
openclaw onboard
openclaw install-daemon
之后 OpenClaw 会以系统服务方式常驻,并随系统自动启动。升级时执行:
openclaw update
3.3 确认服务处于运行状态
Docker 方式下,查看容器状态和日志:
docker ps | findstr openclaw
docker logs -f openclaw
Node.js 方式下,查看守护进程状态:
openclaw daemon status
看到服务正常监听且没有明显报错,核心安装即完成。
4. 对接模型:免费模型与自订阅模型
模型是 OpenClaw 的核心动力。这里分两条路线:预算有限可先用免费模型跑通流程,追求稳定性再切换到自订阅模型。二者可以在 OpenClaw 中随时切换,不用改变其他配置。
4.1 免费模型方案
推荐以下三类免费或低门槛模型,均为 OpenAI 兼容接口:
平台
代表模型
免费方式
说明
硅基流动 SiliconFlow
DeepSeek-V3、Qwen2.5 系列
注册送额度,部分小模型免费
国内访问快,适合中文场景
OpenRouter
DeepSeek、Llama、Gemini 等
带 :free 后缀模型免费
统一入口,可随时切换模型
Google Gemini
gemini-2.0-flash 等
免费 tier 有每日配额
多模态能力较强
以硅基流动为例,注册后在控制台创建 API Key,然后配置模型:
openclaw models set openai-compatible/deepseek-ai/DeepSeek-V3 `
--base-url https://api.siliconflow.cn/v1 `
--api-key sk-你的硅基流动Key
使用 OpenRouter 免费模型时:
openclaw models set openrouter/deepseek/deepseek-chat-v3-0324:free `
--api-key sk-or-v1-你的OpenRouterKey
4.2 自订阅模型方案
如果免费模型存在限流或不稳定,建议订阅正式模型,稳定性更好、上下文窗口更大。常见选择如下:
服务商
模型
接口类型
适用场景
DeepSeek 官方
deepseek-chat、deepseek-reasoner
OpenAI 兼容
中文强、价格便宜
OpenAI
gpt-4o、gpt-4.1
原生 OpenAI
综合能力强
Anthropic
claude-sonnet、claude-opus
原生 Anthropic
代码与长文本能力突出
主流模型横向对比(含海外主流模型)
下面把国内与海外主流模型放在一起对比,便于按网络环境、预算和任务类型选择。海外模型通常综合能力较强,但国内访问需要稳定代理;国内模型中文体验好、价格更友好。
平台
代表模型
接口类型
费用与获取方式
核心优势
适合场景
OpenAI
gpt-4o、gpt-4.1、o3-mini
原生 OpenAI
订阅或按量付费
综合能力强,工具调用成熟
复杂任务、多步 Agent 场景
Anthropic
claude-sonnet-4-5、claude-opus-4-1
原生 Anthropic
订阅或按量付费
代码与长文本能力强,指令遵循好
代码生成、长文档分析
Google Gemini
gemini-2.5-pro、gemini-2.5-flash
OpenAI 兼容或原生
免费 tier 加按量付费
多模态与长上下文能力突出
免费验证、多模态任务
Meta Llama
llama-4、llama-3.3-70b
OpenAI 兼容(OpenRouter 或自托管)
开源可自部署,或平台按量
开源生态成熟,可私有化部署
数据合规、本地化部署
xAI Grok
grok-4、grok-3-mini
OpenAI 兼容
订阅制
实时信息与多模态表现较好
实时信息检索,需海外网络
Mistral
mistral-large、codestral
OpenAI 兼容
按量或订阅
欧洲合规,多语言与代码模型均衡
欧洲合规、多语言场景
DeepSeek 官方
deepseek-chat、deepseek-reasoner
OpenAI 兼容
按量付费
中文能力强、价格便宜
中文个人助理默认首选
阿里云百炼
qwen-max、qwen-plus
OpenAI 兼容
按量付费
中文生态好,企业服务成熟
国内企业或对合规要求高的场景
月之暗面 Kimi
kimi-k2、moonshot-v1
OpenAI 兼容
按量付费
中文长文本体验好
长文档整理、中文问答
选择建议:先根据网络环境判断是否方便使用海外模型;如果人在国内且不想配置复杂代理,优先选 DeepSeek、Qwen 或 Kimi。若需要更强 Agent 能力且已有稳定代理接口,再考虑 OpenAI、Anthropic 或 Gemini。
模型切换对比表
从免费模型切换到自订阅模型,或者在不同模型之间切换时,核心配置命令都不同。下面把常见切换路径列成对照表:
切换场景
典型切换命令
前置条件
注意事项
硅基流动免费额度用完,切换到 DeepSeek 官方
openclaw models set openai-compatible/deepseek-chat --base-url https://api.deepseek.com/v1 --api-key sk-你的DeepSeekKey
注册 DeepSeek 并完成充值
Base URL 和 Key 必须同时更新,否则仍会连旧服务商
OpenRouter 免费模型切换到 Google Gemini
openclaw models set openai-compatible/google/gemini-2.5-flash --base-url 对应地址 --api-key 你的GeminiKey
配置海外网络或可用代理
注意免费 tier 每日配额和区域限制
国内模型切换到 OpenAI
openclaw models set openai/gpt-4o --api-key sk-你的OpenAIKey
OpenAI 账户可用,网络可访问 OpenAI
原生接口直接写 openai/ 前缀,不再带 base-url
切换到 Anthropic Claude
openclaw models set anthropic/claude-sonnet-4-5 --api-key sk-ant-你的AnthropicKey
Anthropic 账户可用
Key 前缀为 sk-ant-,与 OpenAI Key 不同
轻量任务切换到更便宜的小模型
openclaw models set openai-compatible/qwen/qwen-turbo ...
服务商已开通对应模型
切换后先测试工具调用和记忆能力是否正常
切换后立即执行 openclaw models list 和 openclaw status 验证,再给助理发一条消息测试实际回复。若提示认证失败,优先检查新 Key 和新 Base URL。模型切换只改模型配置,不会清空会话、记忆和渠道配置,但建议切换前做一次数据卷备份。
以 DeepSeek 官方为例,获取 sk- 开头的 API Key 后配置:
openclaw models set openai-compatible/deepseek-chat `
--base-url https://api.deepseek.com/v1 `
--api-key sk-你的DeepSeekKey
使用 OpenAI 或 Anthropic 原生接口时,通常只需指定模型与 Key:
openclaw models set openai/gpt-4o --api-key sk-你的OpenAIKey
openclaw models set anthropic/claude-sonnet-4-5 --api-key sk-ant-你的AnthropicKey
4.3 验证模型是否可用
配置完成后,执行一次测试请求确认模型能正常返回:
openclaw models list
openclaw status
若 status 显示模型连通正常,则说明模型链路已打通。也可以通过给助理发一条消息测试是否正常回复。
5. 配置个人助理渠道
OpenClaw 通过 Gateway 对接消息渠道,让你在手机上随时找到助理。以下介绍最常用的 Telegram 和 WhatsApp 两种方式。
5.1 Telegram Bot(推荐,最稳定)
- 在 Telegram 中搜索
@BotFather,发送/newbot。 - 按提示设置机器人名称和用户名,创建完成后会得到一个形如
123456789:AAF...的 Bot Token。 - 在 OpenClaw 中配置 Telegram 渠道:
openclaw gateway login telegram
按提示粘贴 Bot Token。配置完成后,在 Telegram 中搜索刚创建的 Bot,发送 /start,再发一条普通消息,确认助理能回复即可。
建议额外设置一个只有你自己可用的访问白名单,避免其他人给 Bot 发消息触发助理执行操作。具体可在配置文件中限制允许的 Telegram 用户 ID。
5.2 WhatsApp 扫码登录
WhatsApp 渠道通过网页版协议接入,需要扫码授权账号。注意:为降低封号风险,建议使用独立的小号或备用号码。
openclaw gateway login whatsapp
跟随提示扫描终端或日志中展示的二维码完成登录。登录成功后,给该号码发送消息即可测试。
WhatsApp 网关偶尔会因网络或协议原因掉线,长期运行时要配合第 7 节的监控与自动恢复策略。
5.3 安全加固建议
OpenClaw 会长期运行并可能调用工具执行操作,上线前建议完成以下加固:
- 渠道白名单:Telegram 渠道配置中只允许你自己的用户 ID 发起对话,避免陌生消息触发任务。
- 最小权限运行:Docker 方式不要添加
--privileged,也不要挂载宿主机敏感目录,避免容器被滥用时扩大影响面。 - 避免明文暴露密钥:API Key 和 Bot Token 优先写入配置文件或环境变量,不要在公开场合、截图或聊天记录中直接展示。
- 及时清理命令行历史:在 PowerShell 中使用
Clear-History清理当前会话历史,避免 Key 残留。 - 不对外暴露端口:OpenClaw 默认通过渠道接收消息,无需把容器端口映射到公网;如需调试也只映射到本机
127.0.0.1。 - 定期轮换密钥:模型 API Key 和 Bot Token 建议定期在服务商后台重新生成,并同步更新 OpenClaw 配置。
可以用以下命令检查容器是否以特权模式运行:
docker inspect -f "{{.HostConfig.Privileged}}" openclaw
若输出为 false,说明容器未以特权模式运行;若为 true,应重建容器并去掉相关配置。对于 WhatsApp 渠道,继续使用独立小号,并避免在陌生网络环境中频繁扫码,也能降低账号风险。
6. 调试与验证
部署完成后,建议按以下顺序做一轮完整验证,确保“小龙虾”真正能在线上岗。
6.1 基础连通性检查
docker ps
docker logs openclaw --tail 100
重点看日志中是否有认证失败、模型请求超时、网关登录失效等错误。端口和服务状态正常是继续调试的前提。
6.2 功能测试清单
- 普通对话:发送“你好,介绍一下你自己”,确认模型回复正常。
- 上下文记忆:告诉它“记住我喜欢喝美式咖啡”,隔几条消息后问“我喜欢喝什么”,确认它有记忆能力。
- 工具调用:让它执行一个简单命令或查询天气,确认 Agent 的工具链路可用。
- 渠道稳定性:分别在 Telegram 和 WhatsApp(若配置)各发几条消息,确认两边都能收到回复。
- 重启恢复:执行
docker restart openclaw,观察是否能自动恢复并继续回复消息。
6.3 常见验证命令
docker exec -it openclaw /bin/bash
openclaw status
openclaw models list
openclaw gateway status
进入容器后可以直接使用 openclaw CLI 排查配置,这在模型或渠道异常时非常有用。
6.4 实战操作示例:从零完成一次“记住偏好并设提醒”
下面以 DeepSeek 官方模型和 Telegram 渠道为例,完整演示一次从配置到验证的操作。假设已完成第 2、3 节的 WSL2、Docker 和 OpenClaw 安装。
步骤 1:确认容器正在运行
先确认服务在线:
docker ps
docker logs openclaw --tail 50
步骤 2:进入容器配置模型
进入容器后设置 DeepSeek 官方模型:
docker exec -it openclaw /bin/bash
openclaw models set openai-compatible/deepseek-chat \
--base-url https://api.deepseek.com/v1 \
--api-key sk-你的DeepSeekKey
注意:在容器内或 WSL 中执行时,命令换行符使用反斜线 \。配置后执行验证:
openclaw models list
openclaw status
步骤 3:登录 Telegram 渠道
按提示登录 Telegram 渠道并粘贴 Bot Token:
openclaw gateway login telegram
随后在 Telegram 中搜索刚创建的 Bot,发送 /start,确认机器人已启动。
步骤 4:发送一段测试消息
给 Bot 发送:“你好,以后叫我小龙虾,记住我每天上午 9 点需要提醒刷博文更新。”
预期回复:助理确认称呼和提醒时间,并把偏好写入长期记忆。
步骤 5:验证记忆与提醒
再发送:“你叫我什么?我上午 9 点要做什么?”
如果助理能准确回答称呼和提醒内容,说明模型、渠道、记忆链路均正常。若需要系统级定时提醒,可结合 OpenClaw 的计划任务能力或外部 cron 进一步配置,具体以所用版本的官方文档为准。
7. 长期运行与维护:把“小龙虾”养好
长期运行的关键是三点:资源受限、自动恢复、定期更新。下面逐一说明。
7.1 限制 WSL2 内存占用
WSL2 默认会尽可能占用系统内存,长期运行 Docker 可能导致 Windows 变卡。在 Windows 用户目录下创建或编辑 C:\Users\你的用户名\.wslconfig:
[wsl2]
memory=6GB
processors=4
swap=4GB
保存后在 PowerShell 执行 wsl --shutdown 使配置生效,再重新启动 Docker Desktop。
7.2 开机自启与自动恢复
- 在 Docker Desktop 的 Settings 中勾选 “Start Docker Desktop when you sign in to your computer”。
- 容器启动时使用
--restart unless-stopped,保证意外退出后自动拉起。 - Node.js 直装方式使用
openclaw install-daemon安装的服务会自动开机启动。
7.3 定期备份配置与会话数据
docker run --rm -v openclaw-data:/data -v D:\openclaw-backup:/backup alpine tar czf /backup/openclaw-data.tar.gz -C /data .
上述命令把数据卷打包到 D:\openclaw-backup,建议每周或每次大改配置前备份一次。
备份恢复方案
只有备份还不够,恢复流程也必须经过演练,否则真出问题时容易手忙脚乱。下面给出标准备份、恢复和验证三步。
1. 备份策略
- 首次部署完成后:立即做一次全量备份。
- 每次大改配置前:做一次全量备份。
- 每周:做一次例行全量备份,并保留最近 4 份,超过后可手动删除旧包。
建议备份文件名带时间戳,便于后续区分:
$stamp = Get-Date -Format "yyyyMMdd-HHmmss"
docker run --rm -v openclaw-data:/data -v D:\openclaw-backup:/backup alpine tar czf /backup/openclaw-data-$stamp.tar.gz -C /data .
2. 恢复流程
- 先停止并删除当前异常容器,但不要删数据卷:
docker stop openclaw; docker rm openclaw。 - 清空或重建数据卷,避免残留错误配置影响恢复:
docker volume rm openclaw-data; docker volume create openclaw-data。若数据卷中有重要改动且不确定要不要保留,应先备份当前数据卷再清空。 - 从备份包恢复数据到新数据卷:
docker run --rm -v openclaw-data:/data -v D:\openclaw-backup:/backup alpine sh -c "tar xzf /backup/openclaw-data-20260923-103000.tar.gz -C /data"
- 用原参数重新启动容器:
docker run -d --name openclaw --restart unless-stopped -v openclaw-data:/home/node/.openclaw ghcr.io/openclaw/openclaw:latest
- 验证恢复结果:
docker ps、docker logs openclaw --tail 100,再给助理发一条消息确认模型和渠道正常。
3. 恢复演练
建议每月做一次恢复演练:把当前数据卷备份,然后按上述流程恢复到临时容器或临时数据卷,确认备份文件能正常解压、配置能被读取。这样能避免出现“备份文件损坏、到恢复时才发现”的情况。
4. 恢复失败处理
- 备份文件损坏:检查备份目录所在磁盘是否为 FAT32。FAT32 不支持大于 4GB 的单文件,建议备份到 NTFS 分区。
- 恢复后渠道掉线:Telegram 或 WhatsApp 登录态可能已失效,重新执行
openclaw gateway login即可。 - 恢复后模型失效:重新执行
openclaw models set ...补齐 Key 后发送消息测试。
7.4 更新 OpenClaw
Docker 方式更新镜像:
docker pull ghcr.io/openclaw/openclaw:latest
docker stop openclaw
docker rm openclaw
docker run -d --name openclaw `
--restart unless-stopped `
-v openclaw-data:/home/node/.openclaw `
ghcr.io/openclaw/openclaw:latest
Node.js 方式更新:
openclaw update
更新前务必先备份数据卷,避免新版本配置迁移失败导致数据丢失。
7.5 日常巡检建议
- 每天看一眼日志有没有持续刷错:
docker logs --tail 50 openclaw。 - 每周给助理发一条测试消息,确认渠道和模型都在线。
- 关注模型余额与 API 用量,避免余额耗尽后助理突然“失联”。
- 保持系统休眠设置合理,长时间不用时可让电脑不休眠或设置定时唤醒。
7.6 性能调优建议
如果希望助理响应更快、系统更稳定,可以从资源、模型和日志三个角度优化:
为容器设置资源上限:给 OpenClaw 容器配置内存和 CPU 限制,防止单个容器抢占整机资源。
docker run -d --name openclaw `
--restart unless-stopped `
--memory=2g `
--cpus=2 `
-v openclaw-data:/home/node/.openclaw `
ghcr.io/openclaw/openclaw:latest
控制日志体积:为容器配置日志轮转,避免长期运行后日志文件无限膨胀。
docker run -d --name openclaw `
--restart unless-stopped `
--log-opt max-size=10m `
--log-opt max-file=3 `
-v openclaw-data:/home/node/.openclaw `
ghcr.io/openclaw/openclaw:latest
- 按任务选择模型:简单问答和小任务可优先使用轻量模型,复杂任务再切换大模型,降低延迟和费用。
- 保持磁盘空间充足:定期清理无用镜像和停止状态的容器缓存。
docker system prune -af
如果需要同时清理未使用数据卷,可追加 --volumes,但执行前务必先确认没有重要数据,避免误删仍需要持久化的卷。
还可以实时观察资源占用:
docker stats openclaw
如果 CPU 或内存长期接近上限,可适当调高容器配额;如果 Windows 主机本身卡顿,则优先回到 7.1 节调整 .wslconfig 并重启 WSL2。
8. 常见问题处理(FAQ)
排错决策流程图
当 OpenClaw 出现“没反应、回复慢、掉线”等问题时,可按下图逐步定位:
建议从左到右逐项确认:先确认渠道消息有没有进来,再确认容器是否存活,然后确认模型是否返回,最后根据日志定位细节。这样可以避免在盲目重启或重装中浪费时间。
排错实操案例
下面给出三个高频故障的完整排查过程,供遇到类似问题时对照处理。
案例 1:手机发消息,Bot 毫无反应
现象:Telegram 中给 Bot 发消息,一直显示未读,助理不回复。
排查过程:
- 先确认容器是否在运行:
docker ps | findstr openclaw。若没有输出,执行docker start openclaw。 - 再看日志有没有新消息进入:
docker logs -f --tail 200 openclaw。若日志完全静止,说明网关可能没有收到消息。 - 进入容器检查渠道状态:
docker exec -it openclaw /bin/bash,然后执行openclaw gateway status。若 telegram 显示离线,执行openclaw gateway login telegram重新登录。 - 若渠道正常但消息进入后没有模型回复,执行
openclaw status和openclaw models list,确认模型是否配置正确。
结论:该案例最常见的原因是 Bot Token 失效或容器被停止。优先按“容器存活、网关在线、模型可用”的顺序排查,不要直接重装或删除数据卷。
案例 2:模型返回 401,但 Key 看起来没有写错
现象:日志中持续出现 401 Unauthorized,openclaw status 显示模型认证失败。
排查过程:
- 先确认配置命令里没有多余空格,最可靠的做法是重新执行
openclaw models set ...覆盖配置。 - 登录服务商后台,确认该 Key 仍在有效期且没有欠费。
- 如果是 DeepSeek 或硅基流动,检查 API 地址是否被填成了错误的路径,例如漏写
/v1。 - 如果本机使用代理,检查
HTTP_PROXY是否把模型请求也代理到了无法连通该服务商的节点,可临时关闭代理重试。
结论:401 不一定是 Key 错误,也可能是余额耗尽、API Base URL 拼错或代理干扰。覆盖配置后一定要重发一条测试消息验证。
案例 3:WhatsApp 频繁掉线,重新扫码也用不久
现象:WhatsApp 每隔几小时就掉线,重新扫码后能恢复,但很快再次失效。
排查过程:
- 先确认容器网络是否能稳定访问外网:
docker exec -it openclaw /bin/bash,再用curl -I https://web.whatsapp.com测试连通性。 - 检查 Windows 代理设置是否稳定,尤其是使用 Clash 等工具时,规则可能把 WhatsApp 流量误分流。
- 确认账号本身是否属于新注册小号或刚注册就被频繁登录,这类账号更容易触发风控。
- 观察掉线时间,若与电脑休眠或网络切换时间重合,先把 Windows 电源策略调整到长时间不睡眠,再观察一晚。
结论:WhatsApp 掉线多和网络稳定性、代理分流以及账号风险有关。建议优先使用 Telegram 作为主渠道,WhatsApp 作为备用渠道,降低个人助理长期失联的概率。
8.1 Docker 拉取镜像速度慢或失败
国内网络访问 Docker Hub 可能较慢。可在 Docker Desktop 的 Settings 中配置镜像加速器:
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com"
]
}
修改后重启 Docker Desktop 再重新拉取镜像。也可以通过配置国内可用的镜像源加速 ghcr.io 的访问。
8.2 模型返回 401 或认证失败
通常原因是 API Key 错误、过期或没有余额。检查方式:
- 确认配置命令中的 Key 没有多余空格。
- 在服务商后台确认 Key 状态和额度。
- 重新执行
openclaw models set ...覆盖配置。
8.3 Gateway 掉线或扫码失效
WhatsApp 网关掉线最常见。可重新扫码登录:
openclaw gateway logout whatsapp
openclaw gateway login whatsapp
如果频繁掉线,检查 Windows 网络稳定性、代理设置,并确保容器能正常访问外网。
8.4 WSL2 内存占用过高导致系统卡顿
按 7.1 节配置 .wslconfig 限制内存,并定期执行 wsl --shutdown 释放资源。如果仍不够,考虑将 Docker Desktop 迁移到空闲磁盘。
8.5 助理回复很慢或超时
可能原因:模型 API 限流、免费模型排队、网络延迟高。处理建议:
- 切换更快的模型或服务商。
- 检查本机到模型 API 的网络连通性。
- 查看日志确认是模型响应慢还是网关转发慢。
8.6 消息发出去但助理没反应
从外到内排查:先确认 Bot 是否在线,再看容器日志是否有新消息进来,最后确认模型调用是否成功。日志命令:
docker logs -f --tail 200 openclaw
8.7 更新后配置丢失或渠道失效
更新前一定要备份数据卷。若已出现异常,优先从备份恢复,再重新执行 onboard 或渠道登录命令补齐配置。
9. 总结
在 Windows 10 上部署 OpenClaw 个人助理,整体可以概括为四个步骤:用 WSL2 和 Docker 搭好运行底座,接入一个可用的模型作为大脑,配置 Telegram 或 WhatsApp 作为触达渠道,最后通过开机自启、内存限制、定期备份和更新完成长期养护。
初期建议先用免费模型跑通流程,确认稳定后再切到自订阅模型提升体验。长期运行中最需要关注的是三件事:网络与镜像源、模型额度与 Key 状态、渠道登录状态。把这三项巡检变成习惯,你的“小龙虾”就能稳定在线,随时听候差遣。
评论区