1. 先算清楚这笔账:为什么本地电脑跑 OpenClaw 会"致命"
如果你已经跟着这个系列前面的教程,在 Windows 或者 Mac 上把 OpenClaw 跑起来了,那你大概率会遇到一个特别尴尬的场景:白天在公司用微信跟机器人聊得好好的,晚上回家刚把笔记本合上,消息发出去就石沉大海了。或者你人在外面,家里台式机一直开着,但路由器一重启,内网 IP 变了,机器人直接失联。这就是我后来下定决心搞一台服务器的直接原因。
先说本地电脑跑 OpenClaw 的几个硬伤,你们感受一下:
第一,电脑不能关。OpenClaw 本质上是一个常驻型智能体进程,它需要持续监听来自微信、QQ、Telegram 这些渠道的消息。你电脑一休眠、一断网,它当场就废了。有人可能会说"我把电源选项改成从不睡眠不就行了",话是没错,但一台游戏本满载 200 多瓦的功耗,一个月电费算下来就是大几十块,噪音还烦人。
第二,网络环境不稳定。家庭宽带的公网 IP 基本是动态的,运营商每隔一段时间就给你换一次。一旦 IP 变了,你在微信里配置的服务器回调地址、API 地址全部失效。更麻烦的是,家庭宽带的 80、443 端口在很多地区默认被封,你连做端口映射都要走特殊端口,麻烦得很。
第三,安全问题。家里电脑往往还承担着日常办公、打游戏、看剧这些任务,你为了跑 OpenClaw 去装一堆运行时依赖,万一哪个依赖跟你的显卡驱动冲突了,或者脚本里有什么高危操作把系统搞崩了,那就得不偿失了。
所以结论很明确:想让 OpenClaw 真正像一个"助理"一样 24 小时在线待命,你需要一台单独的、7x24 小时不断电的机器。这台机器可以是云服务器,也可以是你折腾出来的旧手机、软路由。但综合稳定性、公网访问、上手难度和成本,云服务器是当之无愧的最优解。这篇教程,我就用最便宜的方式,手把手带你从裸机开始,把 OpenClaw 部署到云服务器上,让它安安稳稳地住在云端。
2. 服务器选型:预算一百块,配置怎么定
买服务器之前,先搞清楚 OpenClaw 这玩意儿跑起来到底吃多少资源。这东西本质上是多个 Python 服务叠加:网关服务(gateway)负责消息路由,Agent 核心负责调度,还得跟各种模型 API 通信。实测下来,一个不带本地模型推理的 OpenClaw 实例,跑起来内存占用大概在 300-500MB 左右,CPU 平时基本在个位数百分比波动,只有处理复杂任务时才会短暂冲高。
所以百元预算下,2 核 2G 内存、40G 系统盘、3-5M 带宽的轻量应用服务器,就是性价比最高的配置。这里解释一下为什么这么选:
- 2 核 CPU:基本够用,遇到并发任务或者模型流式输出时不会完全卡死。
- 2G 内存:刚好够跑 OpenClaw 再加一个 systemd 常驻服务,再跑 Java 系的东西就悬了。
- 40G 系统盘:装系统、装依赖、存日志,绰绰有余。
- 3-5M 带宽:OpenClaw 跟模型 API 的通信走的是出网带宽,几 M 的带宽足够应对文字交互。又不是拿来传大文件,别花冤枉钱上高带宽。
市面上新用户活动价,这种配置首年基本能做到 80-120 元之间。头部云厂商、腰部厂商都有类似的活动机型,区别在于续费价格和售后响应速度。你要是只想低成本体验,选个活动价最便宜的就行;要是打算长期跑,一定看清楚续费价,有些机型续费直接翻三倍,第二年肉疼。
云厂商的机房区域怎么选?原则是离你常用出口越近越好。你在华东就选华东节点,在华南就选华南节点。距离近延迟低,OpenClaw 回调微信消息的响应速度会明显更快。如果你主要跑的是境外服务,那选境外节点也要谨慎,我这里不展开,总之选国内的按备案规范来就行。
系统镜像这里多说一句:优先选 Ubuntu 22.04 LTS,别选 CentOS。原因很简单,OpenClaw 官方对 Debian 系的适配最积极,安装脚本里很多依赖包都是基于 apt 管理的。CentOS 默认用 yum,装 Python 新版本特别费劲,你可能光解决依赖就要折腾一个下午。我自己最早就是踩了这个坑,后来老老实实换了 Ubuntu,十分钟就搞定了。
注意:服务器刚买好,第一件事是重置 root 密码或者设置密钥登录。云厂商控制台里一般都有"重置密码"入口,设一个复杂点的密码(建议 12 位以上,大小写数字符号混着来)。别用弱密码,服务器放在公网上,被扫到秒变挖矿肉鸡的案例太多了。
3. 从零连接到初始化:先让服务器处于"能干活"的状态
服务器到手之后,你面对的是一个只有操作系统的裸机。接下来这一步很关键:用 SSH 连上去,把它初始化成可以部署 OpenClaw 的环境。
我自己习惯用 VSCode 的 Remote-SSH 插件来连服务器。好处是,插件装上之后,你本地写代码、改配置、看日志,全部在远程服务器上实时完成,体验跟操作本地文件一样顺滑,对环境不熟的新手特别友好。
具体操作步骤:
- 本地 VSCode 安装扩展"Remote - SSH"。
- 按 F1,输入 "Remote-SSH: Connect to Host",点击后选择"Add New SSH Host"。
- 输入
root@你的服务器公网IP,回车确认。 - 选择 SSH 配置文件保存路径(默认
~/.ssh/config就行),然后重新连接。 - 第一次连接会提示输入密码,输入你刚才重置的 root 密码。
- 连上后,VSCode 左下角会显示
SSH: 你的服务器IP,左下角状态栏变成绿色或者蓝色,说明连接成功。
连上之后,系统可能还是旧内核、旧依赖,先执行一遍更新:
apt update && apt upgrade -y这一步别跳过。新买的服务器系统镜像常常滞后一个月以上,包索引和软件版本都旧。更新完记得重启一次让内核生效:
reboot重启后重新连上,再装基础工具:
apt install -y curl wget git vim unzip screen到这里,你的服务器就有了最基本的"下载、解压、编辑、执行"能力。有个细节很多人忽略:很多云服务器默认时区是 UTC,执行date会发现时间比北京时间慢 8 小时。时间不对会引起一串连锁问题,尤其是后面配置微信登录、消息签名时,服务端校验时间戳会直接报错。
所以顺手把时区改掉:
timedatectl set-timezone Asia/Shanghai改完再date看一下,输出应该是北京时间了。这一步虽然简单,但真遇到过不少人在微信登录环节卡两天,最后发现是服务器时间差 8 小时导致签名校验失败,白折腾。
4. 安装 OpenClaw:两种方式我都实测过,选这个最省心
环境准备好之后,进入正题:装 OpenClaw。
4.1 官方安装脚本:最推荐的方式
OpenClaw 官方提供了一键安装脚本,命令是:
curl -fsSL https://raw.githubusercontent.com/openclaw/install-script/main/install.sh | bash脚本会自动检测系统环境、安装 Python 依赖、拉取 OpenClaw 主程序。但这里有个重要的版本说明:默认安装方式是从 release 包拉取预编译版本,如果你是想体验 main 分支的最新功能,官方安装脚本也支持指定 git 安装方式。
做法是给脚本传环境变量:
curl -fsSL https://raw.githubusercontent.com/openclaw/install-script/main/install.sh | OPENCLAW_INSTALL_METHOD=git bash这个参数的意思是:不从 release 包安装,而是直接从 GitHub 的 main 分支把源码 clone 下来。好处是你能第一时间用上开发者正在迭代的新功能,坏处是 main 分支可能有未经充分测试的代码,稳定性略差。我个人建议:第一次部署,老老实实用默认的 release 方式,稳定为主。等熟悉了以后,想尝鲜再切 git 方式升级。
脚本运行过程中会自动下载一堆依赖包,期间不用管它,盯着屏幕等它跑完就行。网速取决于你服务器的出口带宽和 GitHub 的连通情况,一般几分钟到十几分钟不等。
安装完成之后,验证一下:
openclaw --version能正常输出版本号,说明安装成功。再执行:
openclaw doctor这个命令会做环境自检,检查依赖、配置、端口占用情况。有红色报错就按提示处理,绿色通过就继续往下走。
4.2 手动克隆源码:适合需要改代码的朋友
如果你想对 OpenClaw 做二次开发,或者需要 patch 它的源码,那就用 git 方式手动安装。步骤也不复杂:
git clone https://github.com/openclaw/openclaw.git /opt/openclaw cd /opt/openclaw pip install -r requirements.txt装完依赖后,手动启动方式:
python main.py但这种方式不会注册到系统服务里,一旦 SSH 断开,进程就挂了。所以无论用哪种方式安装,最后都建议用下一节的方式注册成 systemd 服务,让它常驻运行。手动克隆更适合调试场景,日常稳定运行还是交给系统服务管理。
4.3 安装脚本装好之后还差点什么:网关配置
OpenClaw 跑起来之后,默认监听一个本地端口(通常是 8765 或者类似端口)。你需要确认这个端口没被防火墙拦住。云服务器一般有两层防火墙:底层安全组和系统内部 iptables/ufw。
云厂商控制台的"安全组"配置里,放行 TCP 端口,你可以在规则列表里加一条允许TCP:你的端口。系统内部如果启用了 ufw,也要放行:
ufw allow 8765/tcp放行端口这个事特别容易被忽略,很多人反馈"我明明启动了服务为什么访问不到",十个里有八个是安全组没放行。这步做完,OpenClaw 的网关才能真正被外网访问到。
5. 让 OpenClaw 7x24 小时稳定在线:systemd 才是真正的守护神
把 OpenClaw 在前台跑起来只是第一步,真正的关键是怎么让它挂掉之后自动拉起、开机自动启动、日志可查可滚动。这里直接用 systemd,Linux 上最标准的进程守护方案。
创建服务文件:
vim /etc/systemd/system/openclaw.service写入以下内容:
[Unit] Description=OpenClaw AI Agent Service After=network.target [Service] Type=simple User=root WorkingDirectory=/opt/openclaw ExecStart=/usr/local/bin/openclaw serve Restart=always RestartSec=10 Environment=OPENCLAW_ENV=production [Install] WantedBy=multi-user.target解释几个关键字段:
Restart=always:不管进程正常退出还是异常崩溃,都自动重启。这是 24 小时在线的核心保障。RestartSec=10:重启前等 10 秒,避免疯狂重启把系统拖垮。ExecStart:根据你的实际启动命令来填。安装了官方脚本的,一般就是openclaw serve或者openclaw start,具体看你--help的输出。WorkingDirectory:指向你的 OpenClaw 安装目录。After=network.target:确保网络已经就绪后再启动服务,避免开机时抢跑导致连不上网。
配置文件写好后,执行:
systemctl daemon-reload systemctl enable openclaw.service systemctl start openclaw.serviceenable是设置开机自启,start是立即启动。启动之后看一眼状态:
systemctl status openclaw.service输出里出现active (running)就说明跑起来了。同时记几个常用操作:
systemctl restart openclaw # 重启 systemctl stop openclaw # 停止 systemctl status openclaw # 查看状态日志查看用 journalctl:
journalctl -u openclaw -f-f参数是实时跟踪模式,方便你观察日志输出。Ctrl+C 退出跟踪。
日志文件默认会无限增长吗?不会,systemd journal 有自己的大小上限,默认按磁盘空间比例保留。但如果你嫌日志占地方,可以通过/etc/systemd/journald.conf里设置SystemMaxUse=100M来限制。
用 systemd 管理进程的好处是不用额外装 supervisor、pm2 这些工具,系统自带、稳定可靠、占用资源少,重启机器后服务自动拉起来。这一步做完,你的 OpenClaw 才算真正做到"24 小时在线"。
6. 消息渠道接入与常见故障实战
OpenClaw 部署好、进程稳定跑起来之后,剩下的重头戏就是接入消息渠道。最常用的是微信个人号或个人号机器人方案,其次还有 QQ、Telegram。我自己重点测试过微信渠道,这里把问题和经验一起说了。
6.1 微信渠道接入的稳定性
OpenClaw 的微信插件原理是模拟微信客户端登录,通过本地协议或者 Web 端接口收发消息。实测过程中最容易遇到两类问题:一是登录时提示风控,二是会话残留导致消息不同步。
关于风控:新登录的设备突然在短时间内大量发消息,很容易触发风控。我的做法是,接好之后不要立刻做批量测试,先让账号自然登录静默一两天,再开始小幅度地发消息。而且尽量不要让机器人主动群发消息,这会大大增加风控概率。
关于会话残留:出现"发消息没反应"或者"消息重复回复"的情况,多半是服务端会话没有正常清理。处理办法是先停掉服务,删除本地缓存目录里的会话数据(一般在~/.openclaw/下面),然后重新启动服务,再重新扫码登录。我自己踩这个坑的时候折腾了一下午,最后就是清了缓存解决的。
6.2 模型网关切换与 CC Switch
默认情况下 OpenClaw 会配置一个默认推理模型,但你可以通过ccswitch这个命令快速切换模型,也可以直接在网关配置里改用指定的模型。比如你希望优先用比较便宜的模型处理日常问题,贵模型只处理复杂任务,可以在 OpenClaw 的配置文件里写两条模型路由规则。
这里有个小技巧:OpenClaw 的模型请求是走网关转发的,你完全可以用第三方模型聚合平台(比如硅基流动这类)来统一管理多个模型 Key。这样做的好处是,切换模型不需要改 OpenClaw 配置,只需要在平台侧调整,OpenClaw 那边零感知,非常适合经常在多个模型之间切换的人。
6.3 三个最常见的故障排查
第一,端口不通。症状是外部访问不到网关地址。先检查云控制台安全组是否放行端口,再检查系统内部 ufw 状态(ufw status)。注意安全组和 ufw 是两层,两层都要放行。
第二,内存不够。内存被 OpenClaw 撑爆后,服务会频繁重启,严重时系统直接 OOM。排查命令:
free -h dmesg | grep -i oom如果是 OOM 导致的崩溃,最直接的方案是加 swap 空间。给 2G 内存的服务器配 2G swap,能明显改善运行稳定性:
fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile再把/etc/fstab里加上/swapfile none swap sw 0 0,让 swap 开机自动生效。
第三,升级 OpenClaw 版本后配置不兼容。官方升级命令一般是openclaw update,但升级前一定先备份配置目录:
cp -r ~/.openclaw ~/.openclaw.bak升级后如果服务起不来,多半是配置文件格式变了或者依赖版本冲突,把备份还原回去,先回到可用状态,再逐个排查新增配置项。千万别升级完不管,直接清空配置重新来,那才是真正的灾难。
7. 一些后面可能会用得上的扩展方向
OpenClaw 的定位是个人 AI 助理,服务器跑起来之后,你可以在这个基础上做很多扩展。我自己目前在折腾的几个方向:
一是把 OpenClaw 接入自己的知识库,让它能回答私人文档里的问题。二是给它挂上定时任务,每天早上九点自动推一条新闻摘要到微信。三是在服务器上再加一个定时备份脚本,把 OpenClaw 的配置和会话数据定期打包上传到对象存储,防止服务器故障导致数据全丢。
这些方向官方社区里都有 skill 可以直接装,搜索"openclaw skill"就能找到一堆现成的扩展包。装 skill 的方式也很简单,openclaw skill install <name>就完事。唯一要注意的是装 skill 之前先看它依赖哪些外部服务,有些 skill 要调用第三方 API,会涉及到 API Key 的配置,别装完发现缺 Key 报错又一头雾水。
根据我自己的实际使用习惯,还有一个小技巧分享:给 OpenClaw 服务器配一个监控告警。用系统自带的 cron 每五分钟检查一下 OpenClaw 进程是否存活,如果挂了就自动重启并给你微信发一条通知。这样哪怕 systemd 哪天抽风,你也第一时间知道,不至于机器人掉线一整天都没察觉。脚本很简单,就十几行 shell,但价值非常大。
百元成本、一晚上时间、一台云服务器,换来的是一台真正属于你自己的、随叫随到的 AI 助理。折腾的过程中难免踩坑,但每解决一个问题,你对 Linux、服务器运维和整个智能体运行机制的理解都会更深一层。这套流程跑通之后,后面想加什么能力,都只是"装个 skill、改个配置"的事。