我这个系列写到第五篇,终于要到“真·24小时在线”这一关了。很多朋友在本地把openclaw跑起来以后,第一反应都是:这东西真香,但总不能一直开着我的主力电脑吧。确实,openclaw这类个人智能体最有价值的用法,就是让它一直挂在微信、QQ或者网页控制台里,随时帮你处理消息、查资料、执行skill;本地电脑一合盖、一断网、一次强制更新,它就跟着掉线,和“随时在线”的需求完全相反。所以这篇我直接聊服务器:怎么用百元左右的成本,搞一台能7x24小时不停机的openclaw服务器,让新手也能一步步跟着做完。
这篇的内容,对已经从零装好openclaw、或者正打算认真入坑的人都适用。我会从选型开始,讲到买完服务器怎么初始化、怎么安装、怎么接模型和聊天渠道,最后还会把服务做成“挂了自动拉起”的常驻服务,再附上我跑了一个月之后算出来的真实成本和一些排坑经验。整个过程没有任何GPU需求,也不需要你会运维,照着做就能跑起来。
1. 三种“百元级”跑法:云低配、二手小主机、旧手机Termux
1.1 先搞清楚24小时在线到底需要什么条件
很多人一想到“服务器”就脑补一柜子机架式设备,其实个人跑openclaw根本不需要那种东西。你要满足的条件就三个:稳定供电、稳定网络、系统能自由安装软件。再加一条隐性的:功耗不能太离谱,否则电费比机器还贵。
openclaw本体是个常驻进程,节点内存至少有2GB会比较舒服。如果你只想让它聊天、回消息、执行轻量skill,1核2G的配置勉强能跑;但如果后面想让它控制浏览器、做网页自动化,内存最好直接上4GB,不然很容易半夜被系统OOM杀掉。这个判断直接影响你选哪种方案。
1.2 云服务器:99元/年的新客机,适合当第一台
现在国内云厂商对新手用户都有轻量应用服务器的优惠活动,常见的配置是1核2G、3M带宽、40G到60G SSD系统盘,新用户首年经常能做到99元左右。这个价格对“百元成本”这个目标来说,几乎是量身定做的。
它的优势非常明显:机房7x24小时有电有网,有公网IP,你家里断网断电它都不受影响;装系统、重装系统都是网页上点几下的事;SSH登录后就是一个干净的Linux环境,非常适合新手起步。缺点也很真实:1核2G的算力比较紧张,续费会回到原价,通常一年要三四百到六七百。
如果决定走云服务器,买的时候有几个坑要注意:系统镜像选Debian 12或Ubuntu 22.04 LTS,千万别选Windows,1核2G跑Windows图形界面基本就废了;地域选离你最近的节点,延迟低一些;安全组规则初始只保留SSH的22端口就够了,后面需要再加。
1.3 二手小主机与旧手机:更折腾但上限更高
如果不想花续费的钱,也可以考虑一次性投入百元级的二手硬件。市场上一百多块钱能收到成色不错的ARM小主机(比如各类电视盒子刷Armbian)、J1900/N100之类的低功耗x86小主机,4G内存、能插硬盘的版本也就两百出头。这些机器性能普遍比云服务器的1核2G要强,而且可以自己加内存,功耗大多在5W到20W之间,一年电费不过二三十块钱,长期看比云服务器划算。
还有一种零成本的玩法:找一台旧安卓手机,装Termux,直接在原生环境里跑openclaw。我在社区里看到不少朋友这么干,跑通了确实省钱,但有两个麻烦:一是手机电池长时间满电悬挂容易鼓包,最好拆电池后直接供电;二是Wi-Fi网络和散热都不如专门的小主机稳定。旧手机适合拿来验证想法,不适合当生产环境长期挂。
走家用小主机这条路,你还需要额外处理一个问题:如果家里宽带没有固定公网IP,远程SSH管理就得靠内网穿透。openclaw的聊天渠道本身是主动外连的,所以不受影响,但你要在外网管理服务器,得用frp、Tailscale这类工具把SSH映射出去。这属于额外折腾项,新手建议晚点再碰。
1.4 我给你的决策建议
我先说结论:新手第一台24小时在线服务器,优先选云服务器的新客机,省心本身就是最大的性价比;等玩顺手了、确认openclaw确实是你高频使用的工具,再考虑搬回家里的小主机,把云服务器退掉。
理由很简单:你现在的核心目标不是省那几十块钱,而是“让openclaw稳稳地在线,而且我能看得懂每一步发生了什么”。云服务器能把硬件故障、断电断网这类变量全部剥掉,剩下的问题就只有软件层面,排查起来轻松得多。这篇文章后面的所有操作,我以99元档云服务器作为主线来写,但你如果手里已经有Linux小主机,操作基本完全一样。
2. 服务器初始化:从下单到SSH登录的最短路径
2.1 购买云服务器时这三项别选错
下单页面通常会让选地域、系统镜像、带宽计费方式和登录方式。地域选最近的,系统镜像选Debian 12或Ubuntu 22.04 LTS,这两个系统在新手教程里出现频率最高,网上资料也最好找。
登录方式强烈建议直接绑定SSH密钥。如果你之前没生成过密钥,可以先在本地电脑上执行下面这行命令,生成一对密钥:
ssh-keygen -t ed25519一路回车即可,会生成一个公钥和私钥,公钥以.pub结尾,私钥自己收好。云厂商控制台里一般有“绑定密钥对”的选项,把它填进去,创建后的服务器就可以直接用密钥登录,安全性比密码登录高一个档次。
如果你觉得命令行不习惯,Windows用户可以用Termius、FinalShell这类带图形界面的SSH工具,mac用户直接用系统自带的终端就行。新手没必要在这上面花太多时间,顺手最重要。
2.2 SSH登录:第一脚踩进去
服务器创建好之后,控制台会给你一个公网IP。在本地终端执行:
ssh 用户名@公网IP用户名取决于你选的系统,Debian/Ubuntu通常默认是root或购买时自己设的用户名。如果是用密码登录,会让你输密码;如果是密钥登录,会直接进到系统欢迎界面。
进去以后先别急着装东西,我习惯先看一眼这台机器的家底:
free -h df -h nprocfree -h看内存,df -h看磁盘,nproc看CPU核数。1核2G的机器,free -h里内存显示大约1.9G可用,这就够了。如果你发现磁盘空间只有几十G,也属于正常,openclaw本体加配置占不了多少,主要还是给日志留空间。
2.3 新机器到手,先把这三件事做完
第一步是更新系统软件源和软件包。国内云厂商的镜像源一般已经配好内网源,速度很快:
sudo apt update && sudo apt upgrade -y第二步是创建一个日常使用的普通用户,不要长期用root直连服务器。root权限太大,一旦手滑输错命令,后果比你想的严重:
sudo adduser claw sudo usermod -aG sudo claw执行后按提示设置密码,claw这个用户就具有sudo权限了。后面登录都用ssh claw@公网IP,需要管理员权限时再sudo。
第三步是设置时区和NTP时间同步。这一步很多人会跳过,但openclaw接入微信、QQ这些渠道时,很多鉴权和签名逻辑都依赖服务器时间。服务器时间差几秒,渠道可能直接报错,而且这种报错极其隐蔽,你都想不到是时间问题:
sudo timedatectl set-timezone Asia/Shanghai sudo timedatectl set-ntp true timedatectl status执行完你会看到时间、时区、NTP active这几个关键信息。确认NTP synchronized: yes就说明时间同步正常。
3. 装openclaw别急着复制粘贴:先理解安装脚本两种模式
3.1 服务器环境和本地电脑的差异
在服务器上装openclaw,和你之前在本地电脑上装,最大的区别是:没有图形界面,没有浏览器能打开安装向导,所有操作都得靠命令行;同时系统更精简,很多本机自带的东西服务器上是没有的。所以第一步是补基础依赖:
sudo apt install -y curl git node -v如果提示找不到node命令,或者版本太旧(通常需要18以上,具体以openclaw官方要求为准),就需要先装新版Node.js。最简单的方式是用nvm安装Node 20 LTS,步骤不复杂:联网装好nvm后,执行nvm install 20,然后nvm use 20。有些云服务器内存小,编译Node源码非常吃力,所以直接下载预编译版本,不要走源码编译。
3.2 官方安装脚本的两种模式到底差在哪
openclaw官方主推的安装方式是一条脚本命令,通常是curl ... | bash这种形式。但你别看到一条命令就盲目复制,先弄清楚脚本支持什么参数。安装脚本一般支持两种模式:默认的发布包模式和git源码模式。
我实际对比过的体验是:默认模式适合绝大多数人,脚本会自动检测系统架构,把编译好的发布产物下载到数据目录,依赖少、上手快,出问题概率低。git模式则是通过安装脚本指定git安装方式,直接从GitHub的main分支把源码检出到本地再构建,适合想紧跟项目新特性、或者打算自己改代码的玩家。git模式升级很方便,进到源码目录git pull然后重启服务就行,但代价是构建过程更耗时,对服务器内存也有要求,1核2G跑构建会比较慢。
这里我特别想提醒一句:不要从搜索引擎随便复制安装命令,更不要用那些来路不明的“离线整合包”脚本。凡是要你curl | sudo bash但你完全看不懂内容的,先停一下。正确的姿势是去项目官方仓库的README里复制安装命令,然后看一眼脚本支持的参数,再动手。
3.3 安装后的验证和配置文件定位
安装过程顺利的话,执行openclaw --version能看到版本号。接着启动一次,让项目生成默认配置:
openclaw start第一次启动通常会有初始化流程,可能是交互式问答,也可能是直接在终端打印出配置文件路径让你手动编辑。openclaw的数据目录一般在当前用户目录下,常见的是~/.openclaw/,里面会按功能拆成若干配置文件,比如模型provider、channel、skill这些都是分离的。服务器没有图形界面,所以你要熟悉一个操作:用nano或vim直接编辑配置文件,改完保存,再重启openclaw让配置生效。
如果你启动时报错,先别急着重装,第一件事是看日志。日志里通常会明确告诉你缺什么依赖、哪个配置字段不对。把错误信息复制到搜索框里,大概率能直接找到答案。这个习惯比记住任何命令都重要。
4. 模型网关配置:把便宜好用的AI API接进来
4.1 为什么服务器上必须接云端API
经常有新手问:我的服务器都24小时在线了,能不能直接在服务器上跑个大模型?答案是跑不动。openclaw本身只是个人智能体的“中枢系统”,负责调度、记忆、工具调用和渠道通信,它不内置模型。百元级服务器的内存撑死4G,连个7B量化模型都带不动,更别说推理速度。所以务实的路线是:用openclaw连接云端的大模型API,按量付费。
这和成本目标并不矛盾。个人使用场景下,模型API的费用其实极低,低到可以忽略不计,真正的大头是服务器本身的费用。
4.2 推荐硅基流动这类国内直连API平台
国内现在有不少模型API平台可以直接用,我首推硅基流动(SiliconFlow)。它对个人用户很友好:注册简单,平台上有大量开源模型可以直接调用,新用户通常还有免费额度,按量价格每百万token几块钱到十几块钱,日常聊天完全够用。
具体操作流程是:去硅基流动注册账号,在控制台创建一个API Key,然后到模型广场挑一个模型,复制它的模型ID。比如Qwen系列、DeepSeek系列在硅基流动上都有托管,选一个便宜且效果够用的作为默认模型。如果你有偏好,也可以直接用DeepSeek开放平台或通义等官方API,原理都一样:拿到base_url、api_key、model_id这三样东西。
4.3 在openclaw里配置模型provider
openclaw的配置里通常会有一个provider段,专门管模型服务商。用编辑器打开配置文件,找到对应位置,填上刚才那三样东西。下面是一个常见的配置示例,具体字段名以你当前版本生成出来的注释为准:
[provider.siliconflow] base_url = "https://api.siliconflow.cn/v1" api_key = "sk-你的密钥" default_model = "Qwen/Qwen2.5-7B-Instruct"配置好以后重启openclaw,然后在终端里问它一句话,验证模型通道是否通。如果返回内容正常,说明AI大脑已经接上了。如果报401或402,基本就是API Key填错或余额不足,去平台控制台检查就行。
4.4 多模型切换与成本控制的一个实用思路
openclaw的gateway支持同时配置多个模型后端,这也是它的一个核心能力:你可以把便宜模型设为默认,处理日常聊天;遇到复杂推理时,再临时切换到更强的大模型。社区里有一个叫ccswitch的skill就是专门干这个的,装上之后可以像发指令一样在对话里切换当前模型。
我自己的成本经验是:默认用性价比高的模型,每天大概几十条消息,一个月token消耗也就三五十万,费用大约几块钱到十几块钱。相比机器成本,模型API真的不是压力来源,不需要整天焦虑。
5. 聊天渠道接入:微信/QQ通道的配置与风控避坑
5.1 openclaw的channel机制,先理解再动手
openclaw本职是“消息网关”,它和用户打交道的方式叫channel(渠道)。微信、QQ、Telegram、网页控制台,都属于不同渠道。渠道进程和核心进程分开跑,各自独立,一个渠道挂了不影响其他渠道。
关键点在于:这些渠道基本都是主动外连服务端的长连接,不需要你的服务器有公网入站端口。这对家庭小主机来说特别友好,就算宽带没有公网IP,渠道照样能连上,因为连接方向是“从服务器出发”的。
5.2 微信接入:长连接方式与最常碰到的风控提示
在openclaw里配置微信渠道,核心流程是:在配置里开启微信channel,然后按提示完成登录授权,可能是扫码,也可能是用凭证登录。之后openclaw会和微信服务端保持长连接,消息到达时自动触发你的技能。
实际运行中最常见的问题是日志里出现类似“ilinkai服务端风控或会话残留”的提示,对应的现象是:消息发出去了,但AI半天不回复,或者渠道彻底静默。我的排查顺序是这样的:
- 先确认服务器时间同步正常,时间漂移是渠道鉴权失败的高频元凶。
- 在渠道配置里清掉session或会话缓存,然后重启channel。
- 如果还不行,把整个channel停用再启用,重新登录一次。
- 最后反思一下消息频率:短时间高频群发、机器人回复太机械化,都容易触发风控。
这里必须说一句:个人自用测试和低频使用问题不大,但千万别拿去搞群发营销,这种行为既违反平台规则,也容易把账号搭进去。合规使用才能长期安稳。
5.3 QQ接入:go-cqhttp与签名服务器的那点事
QQ渠道比微信更折腾一点。openclaw接QQ,通常要通过go-cqhttp这类独立的框架来做协议接入:go-cqhttp负责QQ登录、收发消息,再把事件转发给openclaw处理。相当于你多了一个中间层。
现在QQ登录对签名服务有要求,裸跑go-cqhttp很容易触发验证码或掉线,所以需要搭配一个签名服务器来维持登录状态。这里我不打算展开讲具体部署细节,因为协议和签名逻辑变化太快,更重要的是先明白链路关系:openclaw → go-cqhttp → 签名服务 → QQ服务器,任何一环出问题都会表现为“登录掉线”或者“无法收发消息”。
风险提示还是要有:非官方协议接入本身存在账号风控风险,强烈建议用QQ小号测试,不要用主号;使用频率也不要太激进。先跑通再说其他。
6. systemd常驻:让openclaw在断电重启后自己爬起来
6.1 为什么别只用nohup挂着
很多新手本地跑服务时喜欢用nohup ... &,这在临时场景下没问题,但放在服务器上就是给自己埋坑:进程崩了没人管,不会自动重启;服务器重启后不会自动拉起;日志写在文件里没人看,越堆越多。一台号称24小时在线的服务器,不应该依赖这种“人工守护”的方式。
正确的做法是用Linux自带的systemd来管理openclaw。它能在进程崩溃时自动重启,能在开机时自动启动,还能统一管理日志,几分钟配好,一劳永逸。
6.2 写一个openclaw.service单元文件
先确认一下openclaw二进制在什么位置,执行which openclaw,记下路径。然后新建一个service文件:
sudo nano /etc/systemd/system/openclaw.service内容参考下面这个模板,注意把User、WorkingDirectory、ExecStart换成你机器上的实际情况:
[Unit] Description=openclaw service After=network-online.target Wants=network-online.target [Service] Type=simple User=claw WorkingDirectory=/home/claw/.openclaw ExecStart=/usr/local/bin/openclaw start Restart=always RestartSec=5 Environment=NODE_ENV=production StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target几个关键参数解释一下:Restart=always表示进程不管因为什么原因退出都会自动重启,RestartSec=5是重启前等5秒,给系统一点缓冲;User指定用普通用户claw运行,避免提权风险;StandardOutput=journal意思是不用自己管理日志文件,统一交给systemd日志系统。
保存退出后,执行:
sudo systemctl daemon-reload sudo systemctl enable --now openclawenable会把服务设为开机自启,--now表示立刻启动。运行完用systemctl status openclaw看一眼,如果是绿色的active (running),恭喜,你的openclaw已经有“抗揍”体质了。
6.3 日常状态和日志怎么查
以后所有和openclaw进程相关的操作,都用systemd统一入口:
systemctl status openclaw # 看状态 systemctl restart openclaw # 改完配置重启服务 journalctl -u openclaw -f # 实时看日志 journalctl -u openclaw --since "1 hour ago" # 看最近一小时日志日志这个习惯要养起来,因为openclaw出问题时,日志里的报错往往是定位问题的唯一线索。比如模型API返回401、渠道会话残留、skill加载失败,日志里都会有明确记录。
6.4 云服务器安全收尾,别裸奔
服务跑起来以后,顺手做两件安全的事。第一,把SSH从默认的22端口改掉,可以显著减少被扫描的风险;第二,配置防火墙,只放行需要的端口。以ufw为例:
sudo ufw allow OpenSSH sudo ufw enableopenclaw和渠道都是主动外连,通常不需要额外开入站端口,所以你只需要给SSH留一个入口。如果你为了远程管理又开了其他端口,记得一条条加规则,原则是“最小暴露”。
另外提一句,如果你的目标是让openclaw控制Chrome做网页自动化,我建议把这类重活放到Docker容器里隔离,而且至少准备4G内存,1核2G的云服务器跑起来会非常吃力,这也是我在第2节反复强调选型时要多想一步的原因。
7. 跑了一个月后的成本细账与故障排查清单
7.1 第一篇真实账单:钱到底花在哪
直接列一个我自己的账单,供你参考:
| 项目 | 费用 | 说明 |
|---|---|---|
| 云服务器首年 | 99元 | 新用户特价,1核2G/3M带宽 |
| 云服务器续费 | 300-600元/年 | 各家原价不同,提前确认 |
| 二手小主机方案 | 100-200元一次性 | 另加电费约20-30元/年 |
| 模型API费用 | 5-15元/月 | 个人日常消息量 |
| 内网穿透(如用) | 0-10元/月 | 免费版通常够用 |
所以标题说的“百元低成本”,准确理解是“第一年或硬件投入百元级别”。真正的持续开销是云服务器续费和模型API,但模型API只要你不是重度使用,月开销基本能控制在两位数以内。
7.2 高频故障排查顺序,按出现频率排
跑了一个月,我把踩过的坑按频率排了个序,每次出问题都按这个顺序查,基本几分钟能定位:
- 服务器时间不同步,导致渠道鉴权失败或消息不回。先执行
timedatectl status看一眼。 - 内存不足,openclaw进程被OOM杀掉。用
free -h看剩余内存,用dmesg | tail能看到系统杀进程的记录。 - 渠道会话残留,表现为发消息没反应。清掉session缓存,重启channel。
- 模型API Key失效或账户余额不足,日志里会有401或402。
- 升级后配置字段不兼容,功能不生效。升级前备份配置目录,升级后对照官方变更说明检查。
排查手法上,永远先看systemctl status openclaw,再看journalctl -u openclaw,最后才动配置。别一上来就清缓存、重装系统,那样反而容易把现场破坏掉。
7.3 版本升级与skill扩展
openclaw迭代很快,半个月不升就落后一个版本。升级方式取决于你当初哪种方式装的:git方式安装的,进到源码目录执行git pull,然后systemctl restart openclaw;脚本方式安装的,重新执行官方安装脚本,通常支持幂等升级。升级前一定先备份配置目录,别问我怎么知道的。
skill扩展方面,openclaw社区已经有不少现成skill,比如我前面提到的ccswitch用于切换模型,还有一些第三方作者整理的skill合集。安装skill通常只需要在配置里声明,重启后生效。我个人的建议是:一次只装一个skill,跑通了再装下一个,否则出问题你根本不知道是哪个skill引起的。
跑了一个月,我最大的一个体会是:openclaw挂上服务器之后,稳定性最大的敌人往往不是openclaw本身,而是那些看起来不起眼的细节——时间同步、内存占用、渠道会话残留。我最早把openclaw放到1核2G云服务器上,一切正常,直到某天半夜加了个浏览器自动化的skill,内存直接被打满,第二天早上消息全没回。排查了半天才发现是OOM,根本不是openclaw的问题。从那以后我每次动配置前都习惯先看一眼free -h。
最后再分享一个可能帮你省一晚上时间的小技巧:无论你最终用微信还是QQ,都先通过openclaw自带的网页控制台或者命令行接口,把“模型回复”这条链路跑通,再接IM渠道。大多数“消息发出去没反应”的问题,本质上都是模型链路没通,而不是渠道的问题。先把地基打好,后面的路就顺了。