上个月有朋友问我:你说的那个 OpenClaw,真的能在一台普通 Windows 电脑上不用写代码就装起来?我当时的表情大概有点复杂——因为我为了把它弄明白,前后折腾了整两天,踩了三个大坑:先卡在 WSL 环境检测上,又碰到机器人静默罢工,最后连配置文件的格式都差点绕晕。等到把这些坑全填平,我才敢说“保姆级”这三个字。
这篇文章就是我在 2026 年开年这段时间沉淀下来的完整部署流程。它面向的是完全没写过代码、但对个人 AI 助手有兴趣的朋友,也面向已经用过 Docker、想在服务器或者开发板上把 OpenClaw 常驻跑起来的技术爱好者。内容不绕弯子,核心目标只有一个:让你在看完之后,照着几步走,就能把一个叫 Clawdbot 的 AI 助手部署起来,并且让它真正开口说话。
1. 先搞懂 OpenClaw 和 Clawdbot:这不是又一个“聊天机器人”
1.1 它本质上是一套 AI Agent 外壳
如果你去翻一下近半年社区里的讨论,会发现 OpenClaw 经常和“个人 AI 助手”“自动化框架”这些词一起出现。我的理解是:它把底层模型(不管是云端 API 还是本地大模型)和你日常使用的各种入口接通了,然后在这中间加了一层“让 AI 能主动干活的壳”。
Clawdbot 这个称呼,其实是社区里的叫法,算是给 OpenClaw 部署出来的机器人实例取了一个更像是伙伴的名字。它的价值不在“聊天”本身,而在于你在配置文件里写清楚几条规则之后,它能在 Telegram、Slack、飞书网页等任意接入口收到指令,然后去调外部工具、查资料、定时执行任务、甚至和 Obsidian 这类知识库联动。
有一段时间我很困惑:市面上明明有那么多商业 AI 助理产品,为什么还要自己部署一个?后来想明白了,核心是两个字:主权。你用商业产品时,数据、模型、权限全在平台上;但 OpenClaw 部署在自己的机器上,你能控制它接哪个模型、留哪些日志、把任务执行到哪一步。对于想认真搭一套personal AI infra的人来说,这个差别是决定性的。
1.2 “秒级部署”是真的还是噱头?我的实测结论
标题里写“秒级部署”,我先说清楚边界,省得大家期待过高。
从我实际测试过的流程来看,如果按下面的步骤先准备好环境,在 WSL 子系统的终端里执行官方安装脚本,下载安装包到出现初始化向导,确实可以在两三分钟内完成。这个过程本身是“秒级”体验——因为每一段命令都是复制粘贴,没有任何一行需要你手写。
但如果你一上来就跳过了环境准备,直接在 Windows 命令行里硬跑,那大概率会看到各种奇怪报错,尤其是“无法安全验证 WSL2 环境”这个高频问题。这不是脚本的问题,而是检测程序没有找到可用的 WSL 环境。所以“秒级部署”的前提,是把地基打好。
我用一句话概括这篇文章的定位:它能让你少走我当初走过的弯路,把本来 2 天的过程压缩到 30 分钟以内——前提是你愿意先把环境检查这一步老老实实做掉。
2. 动手前先打地基:最容易翻车的三步都在环境准备里
2.1 Windows 用户最容易被卡住的 WSL 2
如果你在 Windows 上部署 OpenClaw,绕不开 WSL。这不是一个可选项,因为 OpenClaw 的服务端在 Linux 环境下运行最稳,Windows 原生跑有时候会遇到奇奇怪怪的路径和文件权限问题。
打开 PowerShell(记得选择“以管理员身份运行”),先执行这一条:
wsl --status如果提示“适用于 Linux 的 Windows 子系统”没有安装,或者默认版本还停留在 1,那就需要先把 WSL 2 装好。
正确顺序是这样的:
- 执行
wsl --install,安装默认子系统(一般自带 Ubuntu)。 - 执行
wsl --set-default-version 2,确保所有发行版跑在 WSL 2 上。 - 重启电脑,让系统初始化虚拟化组件。
- 重新打开 PowerShell,执行:
wsl --update把 WSL 内核更新到最新版,这一步能解决后面 70% 的“无法安全验证 WSL 环境”报错。
装好之后,你会在开始菜单里看到一个 Ubuntu 的图标,点开就是 Linux 终端。第一次打开会让你创建用户名和密码,重点是:这个用户名和 Windows 登录名不冲突,你完全可以设成clawuser之类的专用账号,在后面部署时保持环境干净。
2.2 Node.js 22+ 与 Git:版本不对,后面全是坑
OpenClaw 主程序是 Node.js 写的,所以 Node 版本太旧是另一个隐性炸弹。我见过有人在 Node 16 上硬跑,结果初始化能过,启动就报SyntaxError,查了半天才知道是版本不支持新语法。
检查方式很简单:
node -v我的建议是最好是 22 以上。如果版本不够,别在系统里直接升级,那样容易把其他依赖搞乱。对 Windows 用户,最省事的做法是去 Node.js 官网下载最新 LTS 版安装包,覆盖安装就可以了。Linux 用户则可以用 NodeSource 提供的脚本。
顺手把 Git 也装上。虽然 OpenClaw 安装脚本本身会下载打包好的文件,但后面如果要从官方分发渠道获取升级,Git 还是必备的。检查命令:
git --version这个环节大多数人觉得“没必要”,其实恰恰是后面报错的源头。请记住一个原则:每一步安装完都要验证版本号,确认无误再继续。这比一口气装完再回头排错要节省至少半小时。
2.3 Docker 路线:给哪些人准备的备用方案
如果你实在不想碰 WSL,或者你的机器是 macOS / 纯 Linux,那 Docker 是另一个很稳的选择。核心好处是环境隔离,你不需要在宿主机上装 Node.js,更不用管版本冲突。
不过我要泼点冷水:完全不熟悉 Docker 的新手,不建议一上来就选这条路。因为 Docker 的常用命令、容器日志、挂载目录这些概念,本身就是一层学习成本。我见过不少人绕了一圈,最后还是回到 WSL 直装方案。
如果你确实想用 Docker,大致的启动流程是这样(以官方镜像名为准):
docker run -d \ --name clawdbot \ --restart unless-stopped \ -v ~/.claw:/root/.claw \ -p 3000:3000 \ 官方镜像名这里最需要注意的是挂载目录。~/.claw是 OpenClaw 的配置和数据目录,必须挂在宿主机上,否则你只要删掉容器,所有配置就全没了。对于“不用写代码”这个目标而言,Docker 算是最接近“两分钟启动”的方案,但前提是你对容器心里有数。
3. 真正的部署流程:从复制命令到 Clawdbot 第一次回话
3.1 初始化向导:全程没有一个环节需要写代码
在 WSL 终端里,先更新一下系统基础包:
sudo apt update && sudo apt install -y curl ca-certificates然后使用官方仓库的安装脚本。这里我不直接贴死一个地址,因为安装脚本的 URL 偶尔会随版本变化。你到项目官方仓库 README 里找“Quick install”那一行,复制贴到终端回车就行。脚本会完成四件事:下载主程序、解压到用户目录、把可执行文件写入 PATH、打印版本号。
安装完成后再执行一次:
claw init这个命令会唤起一个交互式初始化向导。它和平时见到的图形安装程序不一样,是一个让你从几个选项里做选择的文本菜单。你需要依次做这些选择:
- 选择模型提供方:云端 API 提供商,或者本地 Ollama。
- 填写 API Key:如果你是先用云端 API 测试,把密钥粘贴进去就行。
- 选择默认通信渠道:网页、Telegram、Slack、飞书等,可以多选。
- 指定数据目录:这个直接保持默认的
~/.claw就好。
整个过程里你做的事情只有两件:方向键选择、粘贴已有的密钥。没有一行代码需要你写,拼写错了还可以退回去重新选。
初始化完成后,启动服务:
claw start你会看到类似[0] HTTP server listening on 3000的日志。这时 Clawdbot 已经在本地运行了,打开浏览器访问http://localhost:3000,就能看到它的网页聊天界面。首次部署到这里就算完成了。
3.2 配置文件长什么样:本质是填空题,不是编程题
很多朋友一听到“配置文件”就紧张,觉得那是程序员才会碰的东西。其实放轻松,OpenClaw 的配置文件是一个 YAML 格式的文本,你只要知道“冒号后面跟值”这个规则就够了。它长这样:
# 模型配置 model: provider: openai-compatible # 你的模型提供方类型 base_url: https://api.example.com/v1 api_key: sk-xxxxxxx # 你自己的密钥 name: gpt-4o-mini # 模型名称 # 渠道配置 channels: web: enabled: true port: 3000 telegram: enabled: false bot_token: ""看到没有?每一行都是“参数名: 值”。你需要改的只有四个东西:api_key、base_url、name、bot_token。这就跟填表一样,把对应的内容替换进去就行。
改完配置文件后,不要直接关掉终端,而是执行:
claw restart让新配置生效。如果你把某个渠道配置写错了,启动时日志里会明确告诉你是“缺少 bot_token”还是“URL 不合法”,照着提示改就行了。
3.3 Windows 下保证它稳定运行:别傻傻开着一个窗口
第一次跑起来之后,大家马上会碰到一个现实问题:总不能一直挂着一个终端窗口吧?如果窗口一关,服务就停了,那可太难受了。
在 WSL 里最稳妥的办法是把 OpenClaw 注册成 systemd 服务。这里要给新手一个心理建设:这不是写代码,只是往系统里登记一个“开机自动运行的后台任务”。
执行以下步骤:
sudo nano /etc/systemd/system/openclaw.service打开编辑器后,把下面内容粘进去:
[Unit] Description=OpenClaw Service After=network.target [Service] User=你的Linux用户名 ExecStart=/home/你的Linux用户名/.local/bin/claw start Restart=always RestartSec=5 [Install] WantedBy=multi-user.target保存退出后,依次执行:
sudo systemctl daemon-reload sudo systemctl enable openclaw sudo systemctl start openclaw这样就实现了一劳永逸:WSL 启动后,服务自动拉起,崩溃了还会自动重启。你再也看不见那些刷屏日志,想看日志的时候用journalctl -u openclaw -n 50 --no-pager就行。
这里有一个容易忽略的细节:WSL 本身默认不会在 Windows 开机时自启。所以你需要额外做一个“开机后自动启动 WSL 里的 systemd”的小动作。方法是在 Windows 的任务计划程序里加一条任务,触发条件选“登录时”,操作用 PowerShell 执行:
wsl.exe -d Ubuntu-22.04 -u root -e systemctl start openclaw这个不算是写代码,更多的像把一个重复动作固定下来。至于内存占用方面,建议在用户主目录下创建一个.wslconfig文件,写入:
[wsl2] memory=4GB swap=2GB让 WSL 不要占满整台电脑的内存,尤其当你在同一台机器上还要跑本地模型的时候。
4. 部署高频报错实录:尤其是“无法安全验证 WSL 环境”这关
4.1 一眼学会对症状下药:高发错误对照表
这一节是全文含金量最高的部分,全部来自我实际踩坑的记录。给出高发错误和解决策略:
| 报错信息 | 根因 | 解决方式 |
|---|---|---|
无法安全验证 wsl2 环境。请在 PowerShell 中运行 wsl --status | WSL 版本过低或未启用虚拟机平台 | 执行wsl --update,并确认wsl --status显示默认版本为 2 |
spawn node ENOENT | PATH 中没有 Node.js | 重新启动 WSL 终端,或在终端执行export PATH=$PATH:/usr/bin |
Error: listen EADDRINUSE :::3000 | 3000 端口已被占用 | 修改配置里的channels.web.port,或者 `sudo ss -lntp |
connect ETIMEDOUT | 出网链路到模型 API 超时 | 换本地模型,或检查出口网络是否可达目标 API |
Can't find Python | 部分工具类 Skill 需要 Python | 安装 Python3:sudo apt install python3 |
Config file already exists | 再次执行claw init想重置配置 | 这是安全提示,不是错误;备份后删除~/.claw/config.yaml再初始化 |
你不需要背下来,只需要知道一件事:报错文本里那句最重要的信息,往往在冒号后面。OpenClaw 的报错还算友好,大多直接给出原因和修复提示,别被前面那一长串堆栈吓到。
4.2 一条完整排错链路:跟着走一遍就懂排查思路
以“无法安全验证 WSL2 环境”为例,我把完整排查过程写出来,这是最典型的场景。
问题出现在执行安装脚本的自检阶段,脚本提示需要在 PowerShell 中运行wsl --status。
第一步,在 PowerShell 里执行:
wsl --status通常会有两种输出。一种是“默认版本:2”,说明 WSL 核心正常,问题出在脚本调用路径上。另一种是“适用于 Linux 的 Windows 子系统没有已安装的分发版”,说明 WSL 本身没装完整。
第二步,假如核心正常,继续执行:
wsl --version核对 WSL 内核版本是否过旧。如果是 1.x 的早期内核,核心功能不全,检测脚本会直接判定环境不可用。修复方法是执行wsl --update。
第三步,如果更新后问题依旧,执行一次:
wsl --shutdown把整个 WSL 子系统后台任务终止,重新打开终端再试。这个方法能解决很多“更新没生效”的假问题。
第四步,最后检查你当前用的 Windows 用户是否有管理员权限。自检脚本调用wsl.exe时,如果 PowerShell 不是管理员身份,而 WSL 配置又落到非标准路径,就会出现“明明wsl --status输出正常,但脚本怎么都检测不到”的情况。这时把终端权限提起来,问题通常就消失了。
这个排查过程体现了排错的通用思路:先确认子系统本身正常,再顺藤摸瓜检查版本、权限、调用路径。不要一上来就重装,那是最浪费时间的方式。
4.3 另一种“不报错但起不来”的情况:日志里藏着的真相
比报错更气人的是“全程无报错,但机器人不回复”。这种情况我在 Telegram 渠道上遇到过一次,当时 Clawdbot 明明起了,消息发过去石沉大海。
我的排查链路是这样的:
- 先看进程是不是活着:
systemctl status openclaw,确认 active 状态。 - 再看日志有没有新输出:
journalctl -u openclaw -n 30 --no-pager。 - 如果日志显示收到了消息但没有处理,说明问题在模型调用环节。
- 如果日志根本没显示收到消息,说明渠道配置问题更大,比如 bot token 填错,或者 webhook 没对接上。
那次我查到的原因让人哭笑不得:Telegram Bot 的 token 复制时多了一个空格。YAML 格式对空格非常敏感,一个多余的空格会让这个字段直接失效,而且启动时不报错。你永远可以相信:大部分所谓“灵异事件”,最后都指向配置文件的格式问题。
所以给所有人的建议是:当你觉得 Clawdbot 不正常时,第一件事不是重启,而是去翻日志。日志是最诚实的,它永远会告诉你真正发生了什么。
5. 从“能跑”到“好用”:本地大模型、云服务器和开发板部署
5.1 用 Ollama 把本地模型接给 OpenClaw:断网也能用的方案
OpenClaw 上云 API 其实是“花钱买省心”,而本地模型路线是“花电费买主权”。很多朋友既想用 OpenClaw,又不想每个消息都产生 API 费用,在 Jetson Orin 这类设备上跑本地模型就成了热门方案。
本地模型的桥接方案是 Ollama,一个开源模型运行时。安装它很简单:
curl -fsSL https://ollama.com/install.sh | sh拉一个适合 CPU 的小模型:
ollama pull qwen2.5:3b或者偏推理向的:
ollama pull deepseek-r1:7b然后确认服务在听:
curl http://127.0.0.1:11434/v1/models能返回模型列表就说明 Ollama 就绪了。接下来只要在 OpenClaw 的配置文件里,把 provider 改成ollama,base_url指向http://127.0.0.1:11434,api_key随便填一个占位字符(因为本地服务不做鉴权),最后指定模型名。重启 Clawdbot,它就开始吃本地算力了。
需要提醒的是:3B 和 7B 级别的模型,和云端旗舰模型的智商差距是肉眼可见的。如果你让它处理复杂编排、多步工具调用,建议还是换成云端模型;如果只是想跑一些日常问答、记录整理类任务,本地模型完全够用,而且数据不出机器,隐私上是天然优势。
5.2 云服务器部署:让 Clawdbot 真正“7×24 小时在线”
个人电脑不可能一直开机,所以如果你想让 Clawdbot 当一个真正意义上的常驻助手,可以考虑租一台云服务器。现在的云厂商普遍有轻量应用服务器免费试用,配置在 2 核 2G 左右,足够跑 OpenClaw 和处理轻量任务了。
部署流程其实和在 WSL 里几乎一样,毕竟都是 Ubuntu 环境。有几个云服务器特有的注意点,新手容易忽略:
- 安全组放行端口时,不要图省事把 3000 端口对全互联网开放。如果只是自己用,建议在安全组里把来源 IP 限制成你自己的公网 IP。
- SSH 登录的默认账号记得改端口或使用密钥登录。轻量服务器默认暴露公网的 SSH 端口,如果还用弱密码,24 小时内就可能被机器人批量扫描爆破。
- 如果服务器在境内,访问一些国际模型厂商 API 的延迟和连通性会不稳定,这时候可以直接在服务器上装本地模型,或者把模型调用指向有稳定连通的接入点。
这样做的最大好处是:只要你服务器不欠费,Clawdbot 就一直活着,你发过去的任何消息都能被记录、被处理,而不是在你关机时悄悄错过。
如果你想绑定自己的域名,也无需额外写代码。云厂商一般提供域名解析和 HTTP 转发能力,你只需要把域名解析到服务器 IP,再让 OpenClaw 监听 3000 端口,就能通过域名访问 Clawdbot 的网页端了。这样做的好处是以后换服务器不会影响使用入口。
5.3 Jetson Orin 和 ARM 小盒子:低功耗部署的折腾经验
最近社区里不少人把 OpenClaw 部署到 Jetson Orin 或者 RK3588 这类嵌入式设备上。这样做的好处是:空闲功耗只有十几瓦,可以 7×24 年扔在角落跑,同时还能本地跑一个小模型。这相当于把“个人 AI 助手”真正做成了一台家用小设备。
Jetson Orin 的部署要点和其他平台不太一样,它用 JetPack 系统,预装了 CUDA 环境。OpenClaw 主程序在这里安装方式不变,核心区别在于本地模型推理能力要比普通 x86 小主机强得多。在 Orin 32GB 的机器上跑deepseek-r1:7b量化版,速度和可用性都在可以接受的范围。
RK3588 这类 ARM 路线则更极限一点——没有 NVIDIA 的 CUDA 加速,只能用 CPU 或者 NPU 做一些轻量推理。在这些设备上,我的建议是只跑qwen2.5:1.5b或者qwen2.5:3b这类小模型,把 OpenClaw 本身当作一个本地指令中心,效果反而更好。
最后分享一个我自己摸索的小经验:在这类嵌入式设备上部署 OpenClaw 时,不要急着在外面套 Docker 或各种服务管理工具,而是先老老实实跑一遍 systemd 服务的原生安装。因为设备内存通常不大,每多一个容器,就多一层额外开销。很多人在 Jetson 上卡在“镜像拉不下来”或者“容器内存不够”,多数是绕了弯路。直接原生跑 OpenClaw,然后只把模型交给 Ollama 托管,反而是最不折腾、也最稳的架构。
我自己的部署到现在已经稳定运行了大半个月。电脑重启过、网络断过、模型崩过,但 Clawdbot 都在 systemd 的守护下自动活了过来。要说这中间哪一步最值得留意,我会反复强调那件事:不要怕看日志,日志里每一行报错都在指向答案,剩下的只是按图索骥而已。