做了八年云计算,从AWS到阿里云到腾讯云都深度用过。看到OpenClaw的部署方案,职业习惯让我忍不住用云原生的思路来分析一下。
这篇文章会对比两种部署方案——Windows本地部署和阿里云ECS部署——从云计算从业者的角度给出选型建议。
先厘清一个概念:OpenClaw是不是"云原生"应用?
严格来说,当前版本的OpenClaw不算云原生。它是一个单体Node.js应用,数据层用SQLite,没有容器化、没有服务发现、没有水平扩展能力。
但这不是问题。
云原生不是银弹。对于OpenClaw的核心场景——个人或小团队使用的AI智能体网关——单体架构反而是最优解。引入Kubernetes、微服务、服务网格带来的运维成本,远超一个几十用户系统的实际需求。
这种判断在云计算行业叫做right-sizing——选择与负载匹配的架构复杂度。很多公司的问题不是基础设施不够好,而是过度建设。
方案一:Windows本地部署
适用画像
- 个人用户
- 数据敏感度高(不希望数据离开本机)
- 不需要多端访问
- 不想花钱买云资源
部署流程
环境准备:
# 以管理员身份运行PowerShell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
输入Y确认。验证:Get-ExecutionPolicy 返回 RemoteSigned。
安装:
iwr -useb https://raw.githubusercontent.com/anthropics/openclaw/main/install.ps1 | iex
初始化:
重启PowerShell后执行:
openclaw --version # 验证安装
openclaw onboard # 初始化配置
选择通义千问模型,粘贴API Key。
启动:
openclaw gateway start
防火墙弹窗选择"允许"。浏览器访问 http://localhost:18789,用终端显示的Token登录。
云计算视角的分析
本地部署本质上是一个单节点、无冗余的边缘计算场景。
优势:
- 数据主权完全在用户手上,不经过任何第三方(除了LLM API调用)
- 网络延迟最低,请求不出本机
- 零持有成本,不产生云资源费用
劣势:
- 可用性为0%的SLA——电脑关机就停服
- 无灾备能力——硬盘坏了数据全丢
- 网络受限——NAT后面没法从外网访问
对标到云服务的概念,本地部署相当于一台没有EIP、没有快照、没有自动恢复的单可用区实例。可以用,但不能对可用性有任何期望。
方案二:阿里云ECS部署
适用画像
- 需要7x24小时在线
- 多设备、多人访问
- 接受数据存储在云端
- 预算50-200元/月
基础设施选型
实例类型推荐:
| 维度 | 推荐配置 | 说明 |
|---|---|---|
| 实例规格 | ecs.t6-c1m2.large | 2核2G,突发性能实例 |
| 操作系统 | Ubuntu 22.04 LTS | Node.js生态兼容性最好 |
| 磁盘 | 40G ESSD PL0 | 足够存SQLite数据和日志 |
| 带宽 | 按流量付费 | OpenClaw流量很小 |
| 地域 | 就近选择 | 华东、华北延迟最低 |
为什么选突发性能实例? 因为OpenClaw的负载模式是典型的突发型——大部分时间CPU空闲,只在处理请求时短暂升高。突发性能实例的性价比在这种场景下碾压计算型实例。
月费参考:抢占式实例约15-30元/月,按量付费约50-80元/月,包年包月有折扣。
安全组配置(关键步骤)
在ECS控制台的安全组里放行以下端口:
| 端口 | 协议 | 用途 |
|---|---|---|
| 22 | TCP | SSH管理 |
| 18789 | TCP | OpenClaw网关 |
云安全建议:
- 22端口建议限制源IP为你的办公网络,不要0.0.0.0/0全放
- 18789端口如果只是个人使用,也建议限IP
- 开启安全组审计日志
部署流程
# SSH连接
ssh root@你的ECS公网IP
# 安装依赖
apt update -y && apt install -y curl git wget
# 安装OpenClaw
curl -fsSL https://raw.githubusercontent.com/anthropics/openclaw/main/install.sh | bash
# 初始化
openclaw onboard
# 后台启动 + 开机自启
openclaw onboard --install-daemon
openclaw gateway start -d
访问 http://ECS公网IP:18789,用 openclaw token show 获取Token登录。
云计算视角的加分项
如果你是云计算老玩家,以下操作可以显著提升这套部署的可靠性:
1. 创建自定义镜像
部署完成后,对当前系统盘创建自定义镜像。如果实例出问题,5分钟内用镜像恢复到可用状态。
# 通过控制台操作:实例 → 更多 → 磁盘和镜像 → 创建自定义镜像
2. 配置定时快照
# 通过控制台操作:EBS → 自动快照策略 → 创建策略
# 建议:每天凌晨2点,保留最近7天
3. 配置云监控告警
# 推荐告警规则:
# CPU使用率 > 80% 持续5分钟
# 磁盘使用率 > 85%
# 进程不存在: node
4. 考虑HTTPS
如果从公网访问,强烈建议配置HTTPS。可以用nginx做反向代理 + Let’s Encrypt免费证书:
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:18789;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
两种方案的选型决策树
你是否需要24小时在线?
├── 否 → 本地部署
└── 是
├── 是否接受数据在云端?
│ ├── 否 → 本地部署 + 保持电脑常开
│ └── 是 → 云部署
│ ├── 预算 < 50元/月 → 抢占式实例(注意随时可能被回收)
│ ├── 预算 50-100元/月 → 按量付费/包月
│ └── 预算 > 100元/月 → 包年 + 完整运维方案
└── 是否多人使用?
├── 否 → 看预算决定
└── 是 → 云部署(必选)
展望:未来的云原生可能性
虽然当前版本用不到,但作为云计算从业者,我忍不住想想OpenClaw未来如果要做企业级,需要哪些云原生改造:
- 容器化:Dockerfile已经有了,但缺少production-ready的compose和Helm chart
- 数据层升级:SQLite换成RDS或PolarDB,支持多实例共享数据
- 负载均衡:多Gateway实例 + SLB做流量分发
- Serverless化:渠道事件触发用函数计算,节省空闲时的资源成本
- 可观测性:接入SLS做日志分析,ARMS做全链路追踪
但那是另一个故事了。现在的OpenClaw,用好一台ECS就够了。
总结
作为一个被"过度架构"毒害过太多次的云计算从业者,OpenClaw的部署方案给我的最大感受是:够用就好。
不是每个应用都需要Kubernetes。不是每个服务都需要微服务化。不是每个部署都需要多可用区容灾。
选择与你的实际需求匹配的方案,才是真正的技术判断力。
小龙虾一只就够,不用点一整桌。