
把 OpenClawClawdbot部署到华为云服务器这件事最近在我这边问的人特别多。OpenClaw 是一个开源的 AI Agent 运行框架核心负责任务编排、技能skill调度和大模型 API 的交互Clawdbot 可以理解为它的执行端伙伴两者合在一起就是一套能 7×24 小时在线、按你预设的 skill 自动干活的智能体系统。站在 2026 年这个时间点回头看这类部署已经不算新鲜事但对刚接触服务器的人来说从买机器到服务跑通中间还是有不少坑。这篇入门教程就把从华为云选型买机器、初始化系统、搭建 Node.js 环境到 OpenClaw 跑起来、Clawdbot 成功对接的完整链路走一遍适合想拥有自己专属 AI Agent 服务的开发者、学生和折腾型玩家直接照着抄。1. 项目概述先搞清楚 OpenClaw 和 Clawdbot 是干嘛的1.1 两个角色的分工很多人第一次听到 OpenClaw 和 Clawdbot容易把这两个名字搞混。我习惯用一个比喻OpenClaw 是大脑和神经中枢Clawdbot 是手脚和传感器。OpenClaw 负责所有需要思考的事情——接收你的任务描述调用大模型 API 理解意图把任务拆成步骤再根据你配置的 skill 列表决定调用哪个技能、按什么顺序执行。它本身不直接干活而是做调度和编排。Clawdbot 则是实际执行动作的那一侧。它可以是一台机器人硬件也可以是一个运行在服务器或手机上的常驻程序。它从 OpenClaw 拿到指令执行完再把结果回报回去。搜索热词里经常出现的openclaw skillrosclaw openclaw ros2这些概念本质都是在给这套系统扩展执行能力。ROS2 那一支是面向机器人场景的咱们这篇只讲最基础的服务器部署先让大脑转起来。1.2 为什么非要部署在云服务器上这个问题几乎每个新手都会问我电脑性能也不差直接本地跑不行吗当然行但有几个实际痛点你会很快碰到。第一本地电脑会关机、会休眠、会断网。AI Agent 的价值在于持续在线你半夜给它布置一个定时任务第二天早上想收结果电脑早睡着了。云服务器是机房里的机器7×24 小时稳定开着这是最核心的区别。第二公网可达性。Clawdbot 如果部署在家里或学校内网外网请求进不来OpenClaw 想远程调度它就非常费劲。华为云 ECS 有固定公网 IP不管 Clawdbot 是另一台服务器、一台树莓派还是手机上的 Termux 客户端只要能访问公网就能连回来。第三网络环境相对干净稳定。大模型 API 调用对网络延迟和稳定性敏感云机房到各家 API 网关的链路质量普遍比家庭宽带好实测下来请求超时率明显低。1.3 这篇教程适合谁我把话放在前面如果你已经玩过 Linux、知道 SSH 是什么这篇对你来说会偏简单可以直接跳到第 4 节。如果你是纯小白连安全组和密钥对都没听过那老老实实从头读每一步都照着敲大概半小时到一小时能跑通。整个过程只涉及华为云控制台操作和几条 Linux 命令不需要写代码。2. 华为云服务器选型与初始化2.1 规格怎么选不浪费钱OpenClaw 这类基于 Node.js 的 Agent 框架本身对 CPU 和内存的要求不算高真正的算力消耗在大模型 API 那边所以选服务器的时候没必要追求高性能2 核 4G 内存是入门级的甜点位。镜像直接选 Ubuntu 22.04 LTS 64 位这是当前兼容性最稳的选择。系统盘 40G 足够代码加依赖加日志都塞不满。地域选离你最近的主流可用区国内用户一般选华东-上海一或者华北-北京四访问延迟低。计费方式我建议包年包月比按需付费便宜一半以上而且华为云经常有新用户活动2 核 4G 的机器折算下来一个月几十块钱学生党也能接受。如果你是学生先去认领学生认证有专属优惠价能省不少。2.2 安全组配置别乱开端口Huawei Cloud 控制台里有一个特别容易踩坑的地方安全组。它本质上是服务器的防火墙规则默认只放行 22 端口SSH。按我的经验OpenClaw 这种 API 驱动的服务不需要对外网开放一大片端口。最精简的配置是22 端口放行用于 SSH 登录建议来源 IP 限定为你自己的 IP8080 端口如果 OpenClaw 自带 Web 管理界面或者你要从公网访问 API再放行这一个其他端口全部默认拒绝等你确定要用再加很多新手上来就把 1-65535 全部放行然后过几天发现服务器被爆破、被装挖矿程序这个真不是吓唬你公网 IP 分分钟被扫描器盯上。2.3 密钥对登录别用密码创建 ECS 的时候会让你选登录方式请务必选密钥对。在控制台创建好密钥对之后下载 .pem 私钥文件权限改成 600然后本地 SSH 连接chmod 600 ~/下载/huaweicloud-key.pem ssh -i ~/下载/huaweicloud-key.pem root你的公网IP首次登录后先做三件事更新系统、装基础工具、校准时区。apt update apt upgrade -y apt install -y git curl vim build-essential timedatectl set-timezone Asia/Shanghai这三步看起来基础但时区那步很多人忽略。如果不管后面 OpenClaw 的日志时间和你本地时间差 8 小时排查问题的时候容易自我怀疑。3. Node.js 运行环境搭建3.1 为什么推荐用 nvm 装 NodeOpenClaw 依赖 Node.js 运行时。这里有一个新手最容易踩的坑直接用apt install nodejs装装出来的版本往往很老跑起来各种报错。我推荐用 nvm 安装原因就一条版本自由切换。以后 OpenClaw 升级要求更高版本的 Node一条命令就能切过去不用重装系统不用跟系统的 apt 依赖纠缠。curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc装完验证一下 nvm 是否生效nvm --version能正常输出版本号就说明装好了。3.2 安装 Node.js 20 LTSOpenClaw 官方文档一般会标注要求的 Node 版本以当前这个阶段来说Node.js 20 LTS 是兼容性最好的选择我实测下来没有遇到问题。nvm install 20 nvm alias default 20 node -v npm -v最后一步nvm alias default 20很多人会忘它的作用是设置默认版本。不然的话服务器重启之后 Node 可能不在 PATH 里pm2 启动的服务直接跟着挂掉。这个细节我后面排查问题部分还会再提一次真的是血泪教训。到这里运行环境就绪了系统层面的准备比想象中少吧接下来才是真正的重头戏。4. OpenClaw 安装与配置4.1 拉取代码并安装依赖先确认你当前在服务器用户目录下然后克隆 OpenClaw 官方仓库。不同版本仓库地址可能有变化以项目 README 里给出的地址为准这里给出通用命令cd ~ git clone 你的OpenClaw仓库地址 openclaw cd openclaw进入项目目录后第一步不是直接启动而是安装依赖npm install这一步会拉取大量 npm 包耗时取决于服务器到 npm 源的速度。如果发现下载特别慢可以临时换成国内镜像源npm config set registry https://registry.npmmirror.com装完之后别急着启动先把配置文件搞对。4.2 环境变量配置是核心中的核心OpenClaw 沿用 Node.js 项目最常见的配置方式.env文件。项目目录下一般有一个.env.example模板把它复制一份再改cp .env.example .env vim .env下面这几个配置项是我实际部署时一定会确认的逐一说明大模型 API 配置。这是 OpenClaw 能思考的关键。OpenClaw 兼容 OpenAI 格式的 API 接口所以主流的几家国内大模型服务都可以接。以 DeepSeek 为例你需要填 API Key 和模型名格式大致是LLM_API_KEYsk-你的密钥 LLM_MODELdeepseek-chat LLM_BASE_URLhttps://api.deepseek.com/v1模型名填错是最常见的问题。不同平台的模型名写法不一样填成gpt-4或者随便编一个启动不会报错但一调用就 404。建议去你的 API 服务商文档里把模型名精确复制过来。服务监听端口。默认一般是 8080记下这个端口后面 Clawdbot 对接和防火墙规则都要用到PORT8080连接令牌。Clawdbot 连过来的时候需要验证身份这个 token 等效于密码生成一串足够随机的字符串填进去CLAWBOT_TOKEN你自己生成的随机字符串日志级别。调试阶段用debug稳定运行后改成info不然日志刷得太快LOG_LEVELinfo4.3 启动前自检配置文件改完先做一次快速自检别急着启动node -v # 确认 Node 版本 ≥ 20 ls -la .env # 确认配置文件存在且非空.env文件如果不存在程序启动时会静默使用默认配置到时候 API Key 是空的你怎么排查都找不到原因。所以我习惯在启动前先执行这一步花十秒钟省一个小时。5. 服务启动、后台保活与 Clawdbot 对接5.1 前台启动验证第一次启动一定要前台跑这样日志直接打在终端里有什么问题一眼就能看到npm run start看到类似service started on port 8080或者OpenClaw is ready这样的日志说明核心服务起来了。这时候先别高兴打开另一个终端窗口或者用浏览器直接访问http://你的公网IP:8080确认端口确实在响应。如果页面打不开八成是安全组没放行回到控制台检查第 2.2 节。确认没问题之后CtrlC 停掉前台进程进入下一步。5.2 用 pm2 实现后台保活和开机自启前台跑的服务有一个致命问题SSH 断开进程可能被杀死就算不杀服务器一重启服务也没了。所以需要 pm2 这个进程守护工具。npm install -g pm2 pm2 start npm --name openclaw -- run start pm2 save pm2 startup这四行命令我逐个解释pm2 start以前台方式注册一个名为 openclaw 的进程服务崩了 pm2 会自动拉起来pm2 save把当前进程列表保存下来这是为了配合下一步pm2 startup生成开机自启脚本执行完它会提示你复制一条命令再执行一次这一步一定要复制执行不能偷懒以后看日志用pm2 logs openclaw看状态用pm2 statuspm2 的启动方式有两种pm2 start npm -- run start和pm2 start ecosystem.config.js前者适合快速起步后者适合配置文件多的场景。入门阶段用前者就够。5.3 Clawdbot 对接Clawdbot 的部署位置灵活可以跟 OpenClaw 在同一台服务器上也可以单独跑在另一台机器甚至手机上。但无论哪种方式连接配置的核心就三个信息OpenClaw 的地址、端口、连接令牌。如果 Clawdbot 跟 OpenClaw 同机地址填内网回环地址就行OPENCLAW_URLhttp://127.0.0.1:8080 OPENCLAW_TOKEN你在.env里设置的那串token如果 Clawdbot 在别的设备上127.0.0.1就必须换成服务器的公网 IP并且确保 8080 端口已经在安全组里放行。这一步是新手翻车高发区明明配置都对连不上最后发现是公网 IP 的端口根本没开。Clawdbot 那边配置好之后启动观察 OpenClaw 的日志正常会看到一条设备接入或者注册成功的记录。然后做一个最简单的闭环测试在 OpenClaw 侧发起一条指令让 Clawdbot 回复一个固定消息。能收到回复说明整套链路——OpenClaw 调度、网络通信、Clawdbot 执行——已经通了。6. 常见问题与排查实录6.1 问题速查表我把这段时间被问得最多的问题整理成一张表每个问题都是实际发生过的不是理论推演。现象可能原因解决办法启动报command not found: node服务器重启后 nvm 环境没加载执行nvm alias default 20并重跑pm2 startupnpm install卡住不动npm 官方源慢换 npmmirror 镜像源后重试调用模型接口报 401/403API Key 填错或余额不足检查 .env确认 key 无多余空格去服务商后台看余额调用模型接口报 404模型名称写错去服务商文档复制精确的模型名启动报EADDRINUSE8080 端口被占用lsof -i:8080找到占用进程处理或改 PORT外部设备连不上 Clawdbot安全组未放行对应端口回到华为云控制台检查入方向规则服务跑几天后日志中断服务器内存不足进程被 OOM 杀掉dmesg日志时间比北京时间差 8 小时容器或系统时区未设置timedatectl set-timezone Asia/Shanghai后重启服务6.2 两个典型排障案例案例一服务器重启后 OpenClaw 神秘消失。有个朋友照教程部署完第二天 SSH 进来发现服务没了pm2 status 也空空如也。排查过程其实很简单pm2 list显示空列表说明 pm2 本身没起来或者起来后加载不到之前的进程记录。这是因为他在执行pm2 startup时跳过了那行提示命令开机自启脚本根本没生成。重新执行pm2 startup并复制运行它提示的那条命令再pm2 save一次问题解决。这类问题有个共性教程让你复制的每一行命令都有它存在的理由别跳。案例二内存 2G 的机器运行一周后频繁假死。现象是 OpenClaw 和 Clawdbot 都还在但响应特别慢SSH 都卡。查dmesg看到大量Out of memory: Kill process记录是 Node.js 进程内存飙高被系统杀了又重启、重启又被杀的死循环。解决办法是给服务器加 swap 交换分区也就是用磁盘空间模拟内存fallocate -l 2G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo /swapfile none swap sw 0 0 /etc/fstab加完 swap 之后整机可用内存变成 4G再没出现过假死。如果你打算长期跑复杂 skill建议直接把机器升级到 4G 内存体验会好很多。7. 实操心得与后续扩展7.1 几个值得养成的习惯部署本身不难难的是让服务长期稳定跑着。我自己的几个习惯分享给你。配置文件一定要备份。.env文件里包含你的 API Key 和令牌丢了就要重新生成重新配。我一般是把.env文件和 skill 目录定期打包传到华为云 OBS 对象存储里存一份。一个简单的命令就能搞定备份tar czf openclaw-backup-$(date %F).tar.gz .env skills/日志要定期清理。pm2 默认的日志文件会一直变大跑几个月能把磁盘塞满。可以给 pm2 加日志轮转或者写个简单的 crontab 定时清空crontab -e # 每天凌晨3点清空openclaw日志 0 3 * * * pm2 flush openclaw先用最小配置跑通再叠加功能。很多人的失败不是因为步骤难而是想一口吃成胖子——第一天就想把 ROS2、机器人、各种 skill 全部配上。我的建议是先只接一个大模型 API、配一个最简单的 skill跑通之后再慢慢加。最小可用的系统才是你能掌控的系统。7.2 还能往哪些方向扩展这套系统跑通之后可以玩的方向还挺多。想更稳可以把 pm2 换成 systemd 服务跟操作系统集成得更深崩溃恢复更快。想更自动可以给 OpenClaw 配置定时任务 skill每天固定时间抓数据、生成报告、推送到你的聊天工具。想接硬件可以去研究 OpenClaw 的 ROS2 分支把 Clawdbot 接到 Gazebo 仿真环境或者真实机器人平台上。我个人最推荐的一个扩展是把多套 OpenClaw 实例管理起来。你可以在华为云上开一台便宜的小机器专门跑核心服务另外几台设备跑不同角色的 Clawdbot用令牌区分身份。这样就是一个麻雀虽小、五脏俱全的个人 Agent 集群了。最后分享一个小经验这套系统刚搭好的头三天我几乎每隔几小时就 SSH 上去看一眼日志总觉得它会悄悄挂掉。后来发现只要安全组没乱开、pm2 的开机自启配好了、内存给够了它真的可以一声不吭地稳定跑好几个月。真正需要你操心的时候反而是每次你想给它加新 skill 的时候。所以放松心态先把它跑起来然后一点点玩出你自己的用法这才是部署这套东西最大的乐趣所在。