最近在折腾 OpenClaw 这个开源项目,发现 2026 年的新版变化确实不小。网上教程要么只讲本地 Docker 跑通,要么就是简单提一句“可以部署到云上”,真正把云端集成的完整链路讲清楚的几乎没有。我趁着周末把整套流程捋了一遍,从创建实例到 API 密钥配置到外网访问验证,掐表算下来确实能控制在 4 分钟左右。
先把丑话说在前头,下文里的云平台我会统一叫“某云”,具体是哪家不重要,操作逻辑大同小异,你只要跟着步骤找到对应入口就行。这套方法不涉及任何复杂架构,不要求你会 Kubernetes,也不用提前懂什么容器编排,只要你能 SSH 登录服务器,剩下的基本就是复制粘贴的事。适合谁看?想跑一个 7x24 小时在线的 AI 代理服务、又不想折腾本地网络环境的朋友,或者单纯想快速体验 OpenClaw 能力的新手。
1. 先搞清楚 OpenClaw 到底能干什么
1.1 它不是聊天机器人,是个能干活的多面手
很多人第一次听说 OpenClaw(圈内戏称“龙虾 AI”)都会下意识把它跟 ChatGPT 这类对话产品归为一类。这个理解偏差很大。OpenClaw 是一个开源的 AI 代理编排框架,核心定位不是“陪你聊天”,而是“替你干活”。你可以把它想象成一个大模型驱动的事务处理流水线:给它一个目标,它自己拆解步骤、调用工具、执行操作,最后把结果整理给你。
举个实在的例子。比如你丢给它一句“把服务器上 /data 目录里所有 CSV 文件合并成一个总表,并按照日期排序输出”,它会自己写 Python 脚本、执行、校验结果,然后把输出文件路径告诉你。再比如你让它“每天 9 点抓取某个行业网站的价格数据,变化超过 5% 就发送提醒”,它能自己完成定时调度、网页解析、波动判断和消息推送。这种端到端的任务执行能力,是传统对话式 AI 完全不具备的。
1.2 为什么推荐在云上跑,而不是本机
我在本地跑过一段时间,遇到过几个让人抓狂的问题。一个是笔记本合上盖子就断,代理服务跟着停,有些定时任务直接错过执行窗口;另一个是本地网络环境复杂,公网访问需要额外做内网穿透或者端口映射,稳定性基本看运营商心情。最要命的是资源占用,OpenClaw 的完整运行环境吃内存不小,如果同时跑多个工作流,16G 内存的笔记本也会显得捉襟见肘。
把这些痛点搬到云上之后,体验完全不一样。云服务器 7x24 小时在线,定时任务一个都不会漏掉;有固定的公网入口,配合安全组规则可以随时随地从任何设备访问管理后台;配置不够用的时候还能直接升级实例规格,不需要迁移数据。算下来成本也不高,一台 2 核 4G 的实例就足够跑轻量级工作流,大多数云厂商的试用额度就能覆盖前期折腾阶段。
2. 部署前的准备工作,比你想象中少
2.1 账号、实例和基础环境
准备工作其实就三件事:有一个某云的账号、创建一台 Linux 实例、准备好 SSH 登录工具。账号注册就不再展开了,注意新用户一般都有免费试用额度,别急着充钱。
实例配置方面,我建议按照下表的规格起步,不同的使用强度对应不同配置,你也可以根据自己的场景调整:
| 场景 | CPU | 内存 | 系统盘 | 带宽 | 说明 |
|---|---|---|---|---|---|
| 轻量体验、单个工作流 | 1 核 | 2G | 40G | 1M | 够跑基础任务,但别同时开太多并发 |
| 常规使用、多个定时任务 | 2 核 | 4G | 60G | 3M | 我的日常配置,比较舒服 |
| 复杂编排、大量数据处理 | 4 核 | 8G | 100G | 5M | 跑大规模批量任务更从容 |
操作系统选择 Ubuntu 22.04 或者 Debian 12 都可以,后面要用的命令在这两个系统上基本通用。需要注意一点:部分新实例默认开启了防火墙,如果后续发现端口不通,优先检查云控制台的“安全组”配置,这个我会在第 5 章重点讲。
2.2 域名、端口与网络规划
很多人都忽略这一步,等部署完了才发现访问不进去,只能回头重新配置,非常影响“4 分钟集成”的目标。提前规划好就能省掉不少麻烦。
OpenClaw 的 Web 管理界面默认跑在 7845 端口(注意这个端口号,后续要反复用到)。如果你需要通过公网直接访问,有两种方式:一是直接在安全组里放行 7845 端口,简单粗暴,配合强密码就能用;二是用反向代理绑到 80/443 端口顺便配上 HTTPS,更正规但步骤相对多。新手阶段用第一种就够了,先把流程跑通,后续再考虑加域名证书。
另外强烈建议在创建实例时设置一个固定的弹性公网 IP,避免实例重启后 IP 变化导致的配置失效。这一步看着小,实际体验差别很大。
2.3 关于镜像版本的选择
OpenClaw 的镜像发布比较频繁,建议你直接使用官方仓库里的最新稳定版标签。如果你拿不准具体版本号,可以在 Docker Hub 或 GitHub Releases 页面查看当前的 release 信息。有一点要注意:除非你明确需要某个旧版本的特性,否则别用latest标签跑生产用途,因为latest会跟随仓库更新漂移,哪天拉了新镜像可能行为就变了。我的习惯是固定到某个具体版本标签,比如某个版本号,等确认新版本没问题再统一升级。
3. 4 分钟喂饭级集成实操
3.1 第一步:一分钟创建实例并登录
在云控制台点击“创建实例”,选择你所在区域就近的可用区,镜像选 Ubuntu 22.04,规格按第 2 章的表格选。网络那块把安全组放行 7845 端口,同时保留 22 端口的 SSH 登录权限。密钥对建议提前创建,比密码登录安全得多。创建完成后,在实例列表里复制公网 IP,然后本地终端执行:
ssh ubuntu@你的公网IP初次连接会提示确认指纹,输入 yes 回车,接着输入密钥或密码就进去了。这一步熟练的话 30 秒内能搞定。
3.2 第二步:两分钟安装 Docker 并启动 OpenClaw
登录服务器之后,先装 Docker。如果你的镜像源里已经有 Docker 了,直接用下面这条就可以,否则就手动装:
curl -fsSL https://get.docker.com | bash装完 Docker 之后启动服务并设置开机自启:
sudo systemctl enable --now docker搞定 Docker 之后,拉取 OpenClaw 镜像并启动容器。这里直接给一份我实测可用的docker run命令,你先复制下来,注意几个参数的含义:
docker run -d \ --name openclaw \ --restart unless-stopped \ -p 7845:7845 \ -v /opt/openclaw/data:/app/data \ -e OPENCLAW_ADMIN_PASSWORD='你的强密码' \ -e OPENCLAW_MODEL_PROVIDER=openai \ -e OPENCLAW_MODEL=gpt-4o-mini \ -e OPENCLAW_API_KEY='你的API密钥' \ openclaw/openclaw:最新稳定版标签命令拆开解释一下。-d表示后台运行;--name是容器名称;--restart unless-stopped是最关键的一项,容器挂了或者服务器重启时自动拉起,定时任务不会因为意外重启而丢失;-p 7845:7845把宿主机的 7845 端口映射到容器的 7845 端口;-v挂载一个数据目录,OpenClaw 的任务记录、配置都保存在这个目录里,以后升级容器不会丢数据;后面的环境变量就是配置管理员密码、接模型服务的信息了。
镜像拉取加容器启动加起来几分钟内完成。执行完之后,用docker ps看状态,只要显示Up基本就成了。
3.3 第三步:一分钟完成初始化验证
容器跑起来之后,先在服务器本地做个快速自测,确认服务在响应:
curl -I http://localhost:7845如果返回 HTTP 200 或者 302 一类的状态码,说明服务正常。接下来从你自己电脑上访问:
http://你的公网IP:7845用刚才设置的管理员密码登录,能看到 OpenClaw 的工作流管理界面就说明大功告成。你还可以提交一个最简单任务,比如让它“写一段 Python 代码计算斐波那契数列”,验证一下端到端链路是否通畅。整个流程走下来,4 分钟确实够用,前提是不遇到网络波动。
4. 环境变量与常用配置详解
4.1 核心环境变量速查表
刚才那套 docker run 命令里的环境变量只是最基础的配置,想要更安全、更灵活地使用 OpenClaw,你还需要了解几个额外的环境变量。下面这张表我整理好了,建议收藏到本地慢慢看:
| 环境变量名 | 作用 | 推荐配置 |
|---|---|---|
OPENCLAW_ADMIN_PASSWORD | 管理后台登录密码 | 至少 12 位,大小写数字混合 |
OPENCLAW_MODEL_PROVIDER | 模型服务商类型 | openai、azure、ollama等 |
OPENCLAW_MODEL | 具体模型名 | 根据服务商选择 |
OPENCLAW_API_KEY | 模型服务的 API 密钥 | 使用服务商后台生成的高权限密钥 |
OPENCLAW_DATA_DIR | 数据存储目录 | 建议保持/app/data并挂载宿主机目录 |
OPENCLAW_LOG_LEVEL | 日志级别 | info日常排查够用,debug适合调工作流 |
OPENCLAW_TIMEZONE | 定时任务时区 | 填你所在时区,如Asia/Shanghai |
很多新手会忽视时区这个变量,结果定时任务动不动差 8 小时,排查半天才发现是时区问题。另外日志级别也别一直开 debug,日志量会很快膨胀撑爆磁盘,日常info就好。
4.2 高级配置:自定义模型接入与数据持久化
默认配置里模型服务走的是 OpenAI 兼容接口,但你可能想接国内可直连的模型服务,或者想用本地部署的开源模型来降低成本。OpenClaw 的模型接入层设计得挺巧妙:你只需要把OPENCLAW_MODEL_PROVIDER换成对应的服务商,再把OPENCLAW_API_KEY和模型名换成对应的就行。
举个例子,如果你用 Ollama 跑本地模型,可以这样设置:
-e OPENCLAW_MODEL_PROVIDER=ollama \ -e OPENCLAW_MODEL=qwen2.5:7b \ -e OPENCLAW_BASE_URL=http://host.docker.internal:11434/v1这里的OPENCLAW_BASE_URL是自定义接口地址,按你的实际服务地址填就行。
数据持久化这块,我刚才的命令里挂载了/opt/openclaw/data目录,这是必须做的。否则容器升级或者重建时,所有工作流配置、历史记录都会丢光。我见过有人跑了两周的工作流数据,因为没挂载目录,升级镜像时全部归零,那种挫败感真的不想经历第二次。
5. 线上部署的常见问题与排查记录
5.1 镜像拉取失败或者慢到崩溃
这是看了这篇文章之后最容易遇到的第一个问题。如果你在 Docker Hub 拉取镜像时速度极慢,或者直接超时,处理方法主要有这么几种。第一,给 Docker 配置镜像加速源,在/etc/docker/daemon.json里加一行 registry 加速地址,然后重启 Docker。第二,如果仍然拉取失败,可以去一些镜像加速站点手动拉取后导出再导入到服务器。第三,直接在能正常拉取的系统上docker save,把镜像打包传到服务器上docker load,虽然多几步但胜在稳定。
5.2 端口不通,外网访问不了
容器明明起来,状态是 Up,curl 本机也正常,但浏览器就是访问不了。这种情况 90% 是云平台安全组没放行 7845 端口。去云控制台找到“安全组”配置,添加一条入方向规则:协议选 TCP,端口填 7845,源地址填0.0.0.0/0。保存之后重新访问,基本就通了。
还有一种可能是服务器系统自带的防火墙,比如 UFW,默认 deny 了入站端口。用下面的命令确认:
sudo ufw status如果显示 active,就放行 7845:
sudo ufw allow 7845/tcp5.3 内存不足导致容器被系统杀掉
如果你的实例规格比较小,比如 1 核 2G,跑了一段时间之后突然发现 OpenClaw 不响应了,登录服务器执行docker ps -a一看容器已经 Exit,多半是 OOM(内存耗尽)被内核杀了。查看日志确认一下:
docker logs openclaw | tail -n 50日志里出现Killed或者Out of memory关键字就基本可以实锤。解决办法有几个优先级选择。优先升级实例内存规格,这是最省心的;然后可以加 swap 虚拟内存,缓解小规格实例的压力;最后还可以配置环境变量限制 OpenClaw 的并发数和缓存上限,降低资源占用。我建议至少 2G 内存起步,否则折腾成本大于收益。
5.4 定时任务不触发
如果你配置了定时任务但一直不执行,先检查两个地方。第一是容器时区,确认OPENCLAW_TIMEZONE设置正确;第二是看日志里是否有调度相关的报错,用docker logs openclaw | grep -i schedule过滤一下。常见的问题是把 cron 表达式写错了,比如把0 9 * * *理解成本地时间,实际是 UTC 时间,就会差 8 小时。把所有时间统一成 Asia/Shanghai 之后就正常了。
6. 上线之后的安全与资源管理建议
6.1 密钥管理的几个坏习惯,我踩过的坑
管理员密码和模型 API 密钥是 OpenClaw 的两把关键钥匙,安全方面马虎不得。我见过有人图省事,把 API 密钥直接写死在 docker run 命令里,然后命令记录留在 shell 历史文件中,一旦服务器被扫描到就是一个风险敞口。正确做法是把环境变量集中放到.env文件里,设置文件权限为 600,然后通过--env-file加载。这样既不会随便泄露在进程列表里,也方便统一轮换密钥。
另外建议设置一个定时任务定期轮换密码和密钥,比如每个月换一次。轮换模型 API 密钥时只需要在服务商后台重新生成,然后更新.env文件再重启容器,整个操作一分钟搞定,但长期来看能大大降低被撞库或者泄露的风险。
6.2 日志、监控与资源预警
OpenClaw 跑起来之后不能就不管了。我建议至少做两件事:一是配置日志切割,防止容器日志和 OpenClaw 运行日志无限增长撑爆磁盘。Docker 默认的 json-file 日志驱动不带切割,建议在 daemon.json 里加"max-size": "50m", "max-file": "3"这两个配置再重启 Docker。二是关注实例的 CPU 和内存监控,云控制台自带的监控面板就够了,设置一个 80% 内存使用率的告警规则。这样即使任务量暴增,也能在爆炸之前收到提醒并做出调整。
如果你的使用场景里包含了对外暴露的 Webhook 或者 API 接口,建议在安全组层面做来源 IP 白名单限制,或者通过云服务商的安全产品做访问控制。OpenClaw 的能力很强,但能力越强越要控制好入口,不要把它当成一个裸奔的 Web 应用挂在公网上。
7. 一些个人经验与扩展玩法
我从本地部署转到云端集成之后,整个使用体验提升了一个量级。这里分享几个我亲测有用的小技巧。
一个是用系统工具配合容器实现自动维护。比如我用 crontab 做每周日凌晨的容器镜像更新,拉取新镜像后自动重建容器并清理旧镜像,日志里能看到更新记录,整个过程不需要人工参与。另外一个是我把 OpenClaw 的管理后台接入了一个内网跳板机,平时只通过内网地址访问,公网安全组只开放固定的来源 IP,从外面连不上后台,安全性和方便性都兼顾了。
最后再聊一个扩展思路。如果你手头有其他大模型平台的 API 额度,完全可以给 OpenClaw 配置多套 provider,按任务类型分别路由到不同模型。比如把简单任务发给便宜的轻量模型,把复杂任务发给强模型,这样成本和效果能同时兼顾。OpenClaw 在这块的设计相当灵活,值得好好利用。
搭建只是第一步,怎么把它的能力用到自己的实际场景里才是真正有意思的部分。我的建议是你先跟着这套流程跑通一次,有了一个 7x24 小时在线的 AI 代理之后,你会发现很多以前没时间做的自动化任务,都可以慢慢交给它了。