我先把话放在前面:OpenClaw(社区里也叫ClawDbot)这玩意儿,2026年再回头看,基本就是个人自动化Agent里绕不开的一个名字。微信、QQ、TG、飞书、钉钉这类IM平台全都能接,配上Skill机制还能自己写工具链,说是“多平台自动化中枢”一点不夸张。但问题是,大部分人第一次折腾都死在部署这一关——不是缺依赖就是网络超时,折腾两小时还在看报错。这篇教程就是把我实际在阿里云上从零跑通OpenClaw的过程完整复盘一遍,从买服务器到接上微信、挂上Skill,目标就是10分钟内让你看到一个能用的实例在跑任务。全程用最常规的CentOS/Ubuntu系统,不做花活,每一条命令都是我在干净实例上验证过的。
1.1 这个“龙虾”到底是个什么东西
OpenClaw在Windows离线整合包里被戏称为“龙虾”,本质是一个事件驱动的多平台Agent运行时。它跟你本地跑一个Python脚本最大的区别在于:它自带了一套平台适配层和消息路由机制。你不需要为微信、Telegram、飞书分别写一套消息监听和回复逻辑,OpenClaw把“收到消息→触发意图→调用Skill→返回结果”这条链路统一掉了。
举个例子,你想让它在微信群里每天早上9点推送天气,并且@某个人才响应。这在传统方案里你需要:登录微信Hook、解析消息格式、管理群成员状态、处理消息频率限制……而在OpenClaw里,这就是一个平台通道配置加上一条定时Skill规则,剩下的事情全部由框架层消化。它解决的痛点很明确:多平台接入的重复劳动,以及Agent能力复用的成本。
2026年OpenClaw的生态比早期版本完善太多。早期版本Skill要自己写JSON Schema,现在社区有现成的Skill仓库,装完就能用。微信通道也经历了多轮迭代,不再是那个动不动就触发风控的“半成品”。但部署这件事,依然是新手最大的坎——因为文档分散在GitHub和社区帖子里,缺一个整合视角。
1.2 为什么非得用阿里云服务器,而不是本地跑
多平台自动化有一个很现实的需求:7×24小时在线。你的微信、QQ、TG是常驻的,但你的电脑不是。你下班关机,定时任务就断了;你电脑休眠,消息响应就延迟;更别说有些IM平台的Webhook回调要求公网地址,本地局域网根本收不到。阿里云这类云服务器解决的就是在线率和公网可达性。
另外,OpenClaw官方文档里推荐的部署环境是Linux,而大部分人的日常工作机是Windows或macOS。在WSL里跑也不是不行,但网络配置、端口转发、开机自启这些坑会消耗大量精力。服务器上跑就是干净环境,遇到问题的概率低得多。阿里云还有一点好处:国内节点访问GitHub以外的资源速度快,如果你的Skill用到了国内可访问的模型API(比如通义千问的百炼平台),内网延迟会更低,响应体感更快。
1.3 这篇教程你该怎么看
如果你是纯新手,建议从第2章一路看下去,每个步骤都别跳。如果你已经有一台服务器、装过环境,可以直接跳到第3章的部署命令。第4章是微信多平台接入的重点,第5章全部是我实际踩过的坑和排查过程,建议收藏备查。整篇教程的操作量,熟练的话10分钟真的够,慢也不会超过半小时。
2. 服务器选型与初始化:别在这步省时间
先说选型。很多人部署OpenClaw第一步就纠结“2核4G够不够”“轻量应用服务器行不行”。我的结论:入门配置2核4G完全够用,但如果你的Skill里有本地跑模型的需求,直接上4核8G。轻量应用服务器和ECS在部署OpenClaw这件事上没有本质区别,轻量更便宜,而且自带防火墙控制台,对新手工龄友好。
2.1 地域、镜像、带宽怎么搭配
地域选择核心原则:离你的目标用户和目标API都近。你的IM平台是国内微信、QQ,就选华东或华北;对接的模型API是阿里云百炼,就选同一个地域,走内网调用省流量还快。带宽这块,OpenClaw本身不消耗多少流量,消息文本而已,但如果是下载Skill、拉取模型文件,5Mbps起步够用,不用买太高。
镜像建议选Ubuntu 22.04 LTS或24.04 LTS。为什么不用CentOS?CentOS 7已经停止维护了,而OpenClaw的依赖里有些新版本库要求GLIBC版本较高,老系统上编译会报错。Ubuntu LTS的软件源和系统组件更新都稳定,踩坑率最低。如果你有一定经验喜欢Debian系,Debian 12也没问题,但下面的命令我按Ubuntu来说明。
2.2 安全组配置:一次配对,避免反复改
阿里云的新实例默认安全组是白名单机制,如果你在本地测试,很可能出现“明明服务起来了,但就是访问不了”的情况。OpenClaw默认监听端口是7860(Web管理界面)和7861(API服务,具体以你的配置文件为准),安全组就必须放行这两个端口。
在阿里云控制台操作路径:实例详情 → 安全组 → 配置规则 → 入方向 → 手动添加。端口范围填7860/7861,授权对象填0.0.0.0/0。如果你需要SSH远程管理,确保22端口也放行了。只放行必要端口,别把全部端口都打开,这是最基本的安全习惯。
2.3 系统基础环境:装好必需品
登录到服务器后,第一件事是更新系统包并安装基础工具。这一步不是可选的,因为后面的安装脚本需要curl、git、unzip这些工具。
sudo apt update && sudo apt upgrade -y sudo apt install -y curl wget git unzip build-essential如果你的网络环境比较特殊,可能需要配置代理,但这属于特殊情况。正常情况下一台干净的阿里云Ubuntu实例,执行完上面的命令就具备部署条件了。OpenClaw的依赖里包含Node.js运行时和Python 3.10+,但一般用官方安装脚本会自动处理,不需要手动装。
2.4 域名要不要在部署前先准备
如果你只是自己用IP访问,域名不是必须的。但如果你要用微信公众号或企业微信的Webhook模式,回调地址必须是公网HTTPS域名,这时候还得先准备好域名并解析到服务器IP。阿里云有免费的SSL证书可以申请,然后配合Nginx把443端口转发到OpenClaw的本地端口。这一套操作放在部署之后做也行,但提前准备好域名可以减少不少折腾。
3. 正式部署:10分钟跑通全流程
环境准备好了,现在进入核心环节。OpenClaw的部署方式有好几种:在线安装脚本、Docker容器、手动编译。我重点讲在线安装脚本,这是官方推荐也是我个人尝试下来最稳定的方式。Docker方案在文末单独补充说明。
3.1 在线安装脚本的两种来源:GitHub和镜像站
OpenClaw官方文档提供了安装脚本,默认从GitHub获取源码。但国内服务器直连GitHub经常超时,这就引出一个热搜词里的关键点:OpenClaw可通过安装脚本指定git安装方式,从GitHub的main分支检出源码。对于部署来说,你可以选择:
- 先设置GitHub代理镜像(如果你有可靠的代理配置)。
- 或者直接指定使用国内可访问的Git镜像托管平台(如GitCode镜像)。
在实际操作中,我用的是官方安装脚本配合环境变量指定Git镜像的方式:
export CLAW_DEPLOY_SOURCE=git export CLAW_GIT_URL=https://github.com/openclaw/openclaw.git curl -sSf https://get.openclaw.com | bash如果你执行上述命令卡住超过1分钟,大概率是GitHub访问不稳定。我的替代做法是先用wget把安装脚本下载到本地,修改脚本里的仓库地址为Gitee镜像或GitCode地址,再执行本地脚本。
wget https://get.openclaw.com/install.sh sed -i 's|https://github.com/openclaw/openclaw|https://gitcode.com/gh/openclaw/openclaw|g' install.sh bash install.sh这一步是整个部署中变量最大的一环,装不上基本都是网络问题。脚本会自动检测Node.js和Python环境,如果在检测阶段就报版本错误,回到第2.3节把依赖装全再重试。
3.2 初始化配置:CLI向导
安装脚本执行完毕后,会在/usr/local目录下生成OpenClaw的可执行文件,并提示你运行初始化命令。以开源社区版为例,一般是:
openclaw initopenclaw init会启动一个交互式配置向导,需要你选择:
- 配置存储路径(默认
~/.openclaw/即可) - 要启用的平台通道(微信/QQ/TG/飞书等,此时把要用到的勾选上,没想好的后面可以再启)
- API Key配置(如果接通义百炼、OpenAI兼容接口,就在这里填入)
- 管理界面的访问Token(随便设一个强密码,用于登录Web面板)
初始化完成之后,配置文件会生成在~/.openclaw/config.yaml。我强烈建议你打开这个文件看一眼,哪怕只是熟悉一下结构。后面所有平台接入、Skill启停、日志级别调整,本质上都是改这个文件然后重启服务。
3.3 启动服务并验证
启动命令特别简单:
openclaw start看到类似ClawDbot is running on port 7860的日志输出,基本就成功了。此时访问http://服务器IP:7860,输入访问Token,你就能看到管理后台界面。第一次进后台,第一件事是看日志面板,确认有没有平台通道报错。比如微信通道没有配置凭证,它不会影响服务启动,但会在日志里刷一堆连接失败的警告。
没有配置任何平台通道就跑起来了,服务空转。验证的标准是:后台能看到OpenClaw的主界面,日志刷新显示心跳正常,没有红色ERROR级别输出。
3.4 Docker方案的补充:什么时候选容器
如果你已经是一位习惯用Docker管理服务的用户,docker compose部署OpenClaw也完全可以。官方Docker镜像适合“不想污染宿主机环境”的场景,尤其是你打算在同一台服务器上部署数据库、Redis、Nginx等多个服务时,容器化会让管理干净很多。
用官方提供的基础编排文件启动:
services: openclaw: image: openclaw/clawdbot:latest container_name: openclaw restart: always ports: - "7860:7860" - "7861:7861" volumes: - ./data:/app/data environment: - TZ=Asia/Shanghai选择Docker的前提是服务器内存不低于4GB,否则容器和宿主机的资源开销叠加之后,OpenClaw可能会因为内存不足被OOM Killer杀掉。我自己的习惯是:单机部署用脚本安装,多服务协同才用Docker。
4. 多平台接入实战:微信、Skill与自动化场景
OpenClaw的核心价值在多平台接入之后才真正体现出来。这一章我把微信通道的配置和Skill机制串起来讲,这是能做到“自动化”的关键路径。
4.1 平台通道的本质逻辑
在OpenClaw里,“平台”是你和Agent之间的通信渠道。微信、QQ、Telegram、飞书,本质上都是插件化的“通道(Channel)”。每个通道负责两件事:监听外部消息并转换为统一格式的消息对象,以及将Agent生成的回复推送到对应平台。
这样的设计意味着:你在写Skill的时候,根本不用关心消息是来自微信还是TG,只要处理统一的消息对象就够了。这才是“多平台自动化”真正高效的地方——写一次Skill,全平台生效。
配置通道的位置在~/.openclaw/config.yaml,以微信为例:
channels: - name: wechat enabled: true mode: hook # 或者 patched,取决于微信客户端版本 webhook_url: "https://你的回调地址/wechat" token: "你的验证Token"微信通道在2026年有三种接法:个人微信Hook(需要特殊客户端)、企业微信应用、微信公众号。从稳定性和合规角度看,企业微信/公众号方式接入最可靠,不容易触发平台侧限制;个人微信Hook方式接入最方便,但注意你的账号行为必须规范,避免触发服务端风控(具体的排查经验在第5.3节详述)。
4.2 Skill机制的“装Skill”哲学
Skill是OpenClaw的“插件”,赋予Agent某一种具体能力。装Skill有两种方式:
- 从管理后台的Skill市场一键安装。
- 手动克隆Skill仓库到
~/.openclaw/skills/目录。
社区里Skill种类很丰富,从查天气、订阅新闻、定时发送工作日报到对接各类API都有成熟实现。装好之后在后台“Skill列表”页面把Skill设为启用就行。
不过我需要提醒一点:装Skill不等于直接可用。大部分Skill需要配置自己的API Key或参数,比如“天气查询Skill”可能需要高德/和风天气的Key,“新闻聚合Skill”可能需要RSS源或第三方API Token。所以装完Skill之后,第一件事是查看它的README说明,按需配置。
4.3 一个真实的自动化流程串联
我举个自己每天都在用的例子,帮你理解通道+Skill协同的完整链路:“群里@机器人让我写周报”。
- 你在微信群里@到OpenClaw,发送“写周报”。
- 微信通道把这个消息统一格式化为Agent消息。
- OpenClaw匹配Intent,识别出“周报”指令,激活对应的周报Skill。
- 周报Skill内部:读取你的今天代码提交记录 → 调用通义千问生成工作总结 → 格式化为周报模板 → 推送到指定的微信群或私聊。
在这个流程里,微信通道负责接收和回复,Skill负责业务逻辑,模型API负责生成内容。整个流程不需要一行代码,全是在后台配置出来的。
4.4 管理后台的定时任务神器
除了消息触发,OpenClaw还支持定时任务(Cron):你可以在后台定义一个规则,比如“每个工作日早上9点,调用天气Skill并推送到指定群”。定时任务和管理后台是配合使用的,不用单独去服务器写crontab。
配置操作路径:后台 → 任务计划 → 新建任务 → 选择Skill → 设置Cron表达式 → 指定推送通道。Cron表达式不会写的,后台一般内置了常用选项(每天、每小时、工作日早上等),选择即可。
到了这一步,你已经不是“在跑一个服务”了,而是在搭建一个属于自己的自动化消息中心。
5. 我踩过的几个坑:完整排查链路复盘
这一章全是真金白银的教训。我根据自己在阿里云上实际部署和日常使用中遇到的问题,完整复盘几个典型的坑。这些问题的难度都不高,但排查链路有共性,学会了就能举一反三。
5.1 安全组放行了还是连不上后台
现象:服务日志显示running on port 7860,但浏览器访问http://IP:7860超时。
排查步骤:
- 先在服务器本地自测:
curl -I http://127.0.0.1:7860。如果返回HTTP状态码,说明服务正常监听,问题出在网络链路或防火墙。 - 检查服务器防火墙:Ubuntu的
ufw可能默认开启但未放行端口,执行sudo ufw status,如果是active状态,执行sudo ufw allow 7860/tcp。 - 再回到阿里云控制台检查安全组入方向规则是否真的生效,确认端口范围和授权对象没填错。
- 如果以上都正常,检查OpenClaw配置文件里绑定的IP是
0.0.0.0还是127.0.0.1。默认是0.0.0.0,但如果你手改过配置变成127.0.0.1,外部无论如何都连不上。
这类问题常见于第一次部署的新实例,前提条件排查顺序:本地→系统防火墙→云安全组→配置文件。
5.2 安装脚本执行一半就断,重装报错
现象:安装脚本拉到一半,网络闪断,重新执行脚本时报“目录已存在”或“依赖版本冲突”。
原因分析:安装脚本会在/opt/openclaw(或类似目录)创建项目文件,断掉之后残留了半成品文件。OpenClaw的安装器不检测残留,直接把旧目录当成了有效安装。
解决办法很简单,先卸载清理再重装:
openclaw stop sudo rm -rf /opt/openclaw ~/.openclaw.config然后重新执行安装脚本。执行安装脚本时,避免在弱网环境下中断;如果网络不稳定,建议先下载安装脚本到本地,再用bash install.sh执行,这样至少脚本本身不会因为管道中断而变得不确定。
5.3 微信通道频繁掉线或触发风控
现象:微信通道刚配置完能收到消息,过了几个小时或一两天,回复消息开始延迟、丢失,甚至账号被限制登录。
这个坑在热词里被提到了,即“触发了ilinkai服务端风控或会话残留”。我的理解是:微信通道的非官方Hook协议本质上是在模拟客户端,一旦行为模式异常(频率过高、在短时间内登录多个设备、某些操作不符合正常用户习惯),就会被服务端识别并限制。
排查链路:
- 先查OpenClaw日志,确认通道断开是重连超时还是被踢下线。日志里通常会有明确的错误码或断开原因。
- 如果出现风控相关的关键词,立即停止所有自动发送操作,尤其是群发、定时批量发消息。改成只响应不主动推送,让账号“冷静”12~24小时。
- 检查你的发送频率设置。直接在配置文件里限制频率:
wechat: send_interval: 5 retry_on_failure: truesend_interval代表每条主动消息之间的最小时间间隔(秒),建议至少5秒以上,不要连发。
- 如果你用了“会话残留”(某个微信Hook进程意外退出后状态未清理),重启服务前先确保旧的微信进程已被完全杀掉,清理残留Session文件。可以用
ps aux | grep openclaw确认没有僵尸进程。
这个问题的根治办法:如果只是做个人轻量自动化,用企业微信或公众号通道接入会稳很多。个人微信通道适合短期实验和低压使用,长时间高频跑任务,一定要规范行为,控制频率,避免触发限制。
5.4 服务器内存不足,进程被系统杀死
现象:一切正常跑了几天,某天突然看日志发现OpenClaw进程不见了,系统日志里出现oom-killer。这就是内存不足导致内核杀进程。
这类情况多发生于2G内存的服务器,或者你在同一台机器上还跑了数据库、Nginx、RPA等其他服务。OpenClaw光是运行时核心进程大概占500MB内存,再加上几个Skill调用,3~4G内存是舒服的。
临时处理办法:先看你的OpenClaw日志,定位是哪个进程被杀。然后重启服务,调整配置里不必要的Skill(Skill也是要占内存的),关掉不用的平台通道。
长期方案:一是升级服务器配置到4核8G;二是给服务设置系统级守护(见第6.2节),让进程被杀后自动拉起。另外,别在同一台2G小机器上跑太多重量级服务,2G机器就专注跑OpenClaw,其他服务分开部署。
5.5 Skill装上后不生效
现象:后台显示Skill已安装、已启用,但@机器人的时候它不调用该Skill。
我的定位思路:
- 确认Skill是否真的被加载,看启动时的日志中是否包含
skill loader: loaded skill xxx记录。如果没有加载记录,大概率Skill目录结构不对。 - 看Skill的触发条件是否匹配你发出的消息。Skill在描述文件里会定义trigger关键词或意图模式,比如
keywords: ["周报", "日报"]。你发的消息必须先匹配这些关键词,Google Sheets这类Skill则没有触发关键词,它们依赖其他Skill主动调用或任务计划触发。 - 检查Skill执行时报错:后台日志中Skill执行时outing的错误信息往往直接说明问题,比如API Key无效、参数缺失等。
Skill不生效多是自己配置没对齐,用户很少遇到,但一旦遇到就是细节问题。遇到Skill不生效,先看启动日志有没有加载它,再看触发规则是什么,最后看运行时报什么错,三步定位即可。
6. 进阶维护:版本升级、开机自启与日常体检
跑起来只是第一步,能稳定跑一两个月不折腾,才是真正收益的开始。
6.1 如何优雅升级OpenClaw版本
OpenClaw更新频率较高,大概率每个月都有新版本。升级前先看更新日志,小版本更新(修bug、优化)可以直接升,大版本更新(涉及配置格式变动或数据库迁移)先备份再升。
官方升级命令比较简单:
openclaw update如果是git方式安装的,升级逻辑就是拉取最新的main分支代码,然后重新构建依赖和重启服务。升级之前不是很放心的话,把旧配置备份一份:
cp -r ~/.openclaw ~/.openclaw.bak.$(date +%Y%m%d)升级之后如果服务起不来,第一反应先看~/.openclaw.bak里旧配置和新的默认配置之间有没有差异,重点看config.yaml的格式变动。官方通常会在更新日志里标注“破坏性变更”。我遇到过几次升级后Skill里的某些API参数被弃用的情况,解决方式就是对照日志报错逐个改配置。
6.2 开机自启与自动重启
如果你的服务器偶尔重启(比如阿里云维护迁移),OpenClaw不会自动跟着跑起来。用systemd服务来管理,能同时解决开机自启和崩溃自动拉起两个问题。
创建systemd服务文件:
sudo vim /etc/systemd/system/openclaw.service内容参考(路径根据你的实际安装位置调整):
[Unit] Description=OpenClaw ClawDbot Service After=network.target [Service] Type=simple User=root WorkingDirectory=/opt/openclaw ExecStart=/usr/local/bin/openclaw start --foreground Restart=always RestartSec=10 [Install] WantedBy=multi-user.target保存后执行:
sudo systemctl daemon-reload sudo systemctl enable openclaw sudo systemctl start openclaw注意,--foreground参数很关键,没有它systemd会认为服务退出。我把Restart设为always,就是刚才第5.4节说的内存被杀自动重启的解法之一。之后管理服务的命令变成systemctl status openclaw/systemctl restart openclaw,比直接敲openclaw命令更规范。
6.3 日常体检清单
跑了一个月之后,我建议你每周花30秒看一眼:
- 磁盘空间:
df -h,重点看日志文件是否膨胀。长时间运行的OpenClaw会产生大量日志,建议在配置里打开日志轮转,或者定期清理~/.openclaw/logs/下的旧日志。 - 内存占用:
free -h,排查内存占用曲线是否持续上涨。如果出现内存泄漏(长时间运行内存持续走高),先尝试重启进程临时解决,再留意官方更新是否修复。 - 通道活跃状态:打开管理后台首页,看各平台通道状态是否都是“已连接”。
- Skill是否正常触发:找一个低频时间,主动给机器人发一条测试指令,确认主链路没断。
这四项检查加起来耗时不到一分钟,但能提前发现90%的突发问题。
7. 离线环境部署:Windows整合包方案
部署问题里还有一个特殊分支:内网环境或网络受限条件下,在线安装根本跑不通。这时候社区里流行的“OpenClaw龙虾 Windows离线整合包”就派上用场了。
7.1 整合包的适用场景与边界
在你完全无法访问外部Git仓库、或者服务器上不允许执行在线脚本的封闭网络里,离线整合包是最现实的方案。它把OpenClaw的核心运行时、预置依赖、常用Skill仓库打包成一个压缩文件,拷贝到目标机器解压即用。
整合包的边界在于平台适配:Windows包只能在Windows上跑,Linux包只能在Linux上跑,跨平台不能通用;而且整合包版本通常滞后于官方最新版。所以它适合解决“能不能跑起来”的问题,不适合“追求最新版本”。
7.2 如何验证整合包的完整性
如果你从网上下载了整合包,第一件事验证哈希值,别上来就解压执行。正规的整合包发布者会提供SHA256值:
sha256sum openclaw-offline-bundle.tar.gz然后跟发布说明里的哈希比对,一致才说明文件完整。执行解压后,找到start.sh或start.bat脚本启动。离线包通常自带依赖路径,不需要额外装Node/Python,但前提是你别把它挪到包含中文空格的特殊路径下,否则某些脚本可能解析出错。
7.3 离线环境下的真正难题:补一次依赖后续没得更新
离线包的坑在于补丁依赖。今天你装好能用,但你想加一个新Skill,而这个Skill依赖某个新的Python包——你没法在线装,就得手动找到对应平台的安装包(如.whl文件)拷进去。所以离线环境的长期维护成本一定比在线部署高。
我的建议:离线整合包适合快速体验和封闭环境演示,如果你有长期使用的打算,还是想办法解决在线安装问题。
8. 部署完成之后,可以先做的3个小实验
服务稳定跑起来后,想快速建立对OpenClaw能力的体感,我建议你依次做这三个实验。它们难度递增,但都不需要写代码。
实验一:让Agent复述你的消息
在后台把默认Skill开启,比如“回声(Echo)Skill”,然后给微信里的机器人发一句测试语。如果它在几秒内原样回复你,说明从消息接入到响应输出整条链路已经通了一半。这个过程没有调用任何模型API,纯粹测试通道。
实验二:接入一个模型API并开启对话
在配置文件里加入你使用的模型API Key(以通义百炼为例:base_url、api_key、model),然后在后台开启“通用对话Skill”。给机器人发一句话,让它使用模型能力生成回复。能回复且速度可接受,说明模型链路和Skill调用链路都通了。
实验三:配置一条定时任务
在后台建一个“每天的定时新闻播报”任务,选一个新闻聚合Skill,设置好推送通道。第二天同一时间检查是否收到推送。这一步能让你直观感受到定时任务+Skill+通道三者协作的工作方式,也是自动化价值最直观的一刻。
这三个实验做完,你对OpenClaw的能力边界、配置习惯、常见调试方式基本就心里有数了,再往后探索更多Skill、接入更多平台,无非是同样的套路反复用。
最后再分享一个小经验:OpenClaw这类工具的独有魅力在于它有一层隐藏的架构优势——事件驱动、平台无关的Skill机制、可组合的自动化链路,它让“自动化的自动化”成为可能。你不需要从零学习一个复杂平台,也不需要精通编程,只要把通道和Skill当成积木去拼,很多重复劳动就已经能交给它去做了。部署过程可能会让你抓狂几次,但只要把这个基础打牢,后面真的是越用越顺。