AI实战丨85 元/月跑 4 台服务器的 AI 集群,从零开始搭
以下内容可以直接转给你的 OpenClaw 伙伴阅读。
这篇讲我们怎么用 85 元/月的预算,搭了一个 4 台服务器的 AI 集群,让 AI 自动管理日常运维、定时发文章、自动备份。不是假设,是我们正在跑的系统。
你需要什么
硬件(任何能跑 Linux 的机器都行):
- 1 台云服务器做 Gateway(阿里云轻量,34 元/月)
- 1 台本地机器做主节点(Mac Mini,已有)
- 1-2 台工作节点(旧电脑、VM、甚至树莓派)
- 1 台备用(腾讯云轻量,51 元/月)
软件:
- Tailscale(免费,个人用户 100 台设备)
- OpenClaw(开源免费)
- Node.js 22+
账号:
- 一个 AI 模型 API(Anthropic / OpenAI / 其他)
总月成本:
- 云服务器:34 + 51 = 85 元
- AI 模型 API:按量付费,我们日均约 2-5 美元
- Tailscale + OpenClaw:0 元
网络架构:为什么选 Tailscale
传统方案要搞公网 IP、端口映射、防火墙配置、SSL 证书。Tailscale 用 WireGuard 把所有机器组成一个虚拟局域网,安装即用,零配置。
Mac Mini (100.86.105.116)
↕ Tailscale
阿里云 (100.86.235.95) ← Gateway(中心节点)
↕ Tailscale
Worker (100.90.48.113) ← 干活的机器
↕ Tailscale
腾讯云 (100.112.104.106) ← 备份 + 海外 API 代理
每台机器都有一个固定的 100.x.x.x 内网 IP。不管你家换了 WiFi、云服务器重启、还是笔记本带出门,IP 不变,SSH 不断。
安装 Tailscale
每台机器上执行一行命令:
# Linux
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up
# macOS
brew install tailscale
tailscale up
执行后会给你一个链接,浏览器打开授权即可。所有授权过的机器自动组网。
验证连通性
# 在任意一台机器上 ping 其他机器
ping 100.86.235.95 # 阿里云
ping 100.90.48.113 # Worker
# 预期:延迟 1-50ms,取决于物理距离
部署 OpenClaw
Gateway(阿里云节点)
Gateway 是整个集群的大脑。所有 AI 对话、任务调度、消息路由都经过它。
# 安装
npm install -g openclaw
# 初始化 Gateway
openclaw gateway init
# 启动
openclaw gateway start
# 检查状态
openclaw gateway status
启动后会显示一个 Gateway Token,类似:
Gateway token: 15cb82d139a9d9b799c13235615f794aeb8d75b1ee1236f7
⚠️ 保存好这个 token,每个 Worker 连接都需要它。
Gateway 默认监听 127.0.0.1:18789。因为 Worker 需要通过 Tailscale 连过来,所以要把端口暴露到 Tailscale IP:
# 用 socat 转发(推荐写成 systemd service)
socat TCP-LISTEN:18789,bind=100.86.235.95,reuseaddr,fork TCP:127.0.0.1:18789
systemd service 配置:
# /etc/systemd/system/oc-gateway-socat.service
[Unit]
Description=OpenClaw Gateway socat forward
After=network-online.target tailscaled.service
[Service]
ExecStart=/usr/bin/socat TCP-LISTEN:18789,bind=100.86.235.95,reuseaddr,fork TCP:127.0.0.1:18789
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now oc-gateway-socat
Worker 节点
每个 Worker 需要做两件事:连接到 Gateway、运行 OpenClaw node。
第一步:建立到 Gateway 的隧道
# socat 方式(简单直接)
socat TCP-LISTEN:18789,bind=127.0.0.1,reuseaddr,fork TCP:100.86.235.95:18789
同样建议写成 systemd service:
# /etc/systemd/system/oc-gateway-tunnel.service
[Unit]
Description=OpenClaw Gateway Tunnel
After=network-online.target tailscaled.service
[Service]
ExecStart=/usr/bin/socat TCP-LISTEN:18789,bind=127.0.0.1,reuseaddr,fork TCP:100.86.235.95:18789
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
第二步:初始化并运行 node
# 安装 OpenClaw
npm install -g openclaw
# 初始化 node(会生成 node.json)
openclaw node init --gateway-token 15cb82d139a9d9b799c13235615f794aeb8d75b1ee1236f7
# 修改显示名称(可选)
# 编辑 ~/.openclaw/node.json,设置 displayName
# 运行
openclaw node run
同样建议写成 systemd service,依赖 tunnel service:
# /etc/systemd/system/oc-node.service
[Unit]
Description=OpenClaw Node
After=oc-gateway-tunnel.service
Requires=oc-gateway-tunnel.service
[Service]
ExecStart=/usr/bin/openclaw node run
Restart=always
RestartSec=10
Environment=HOME=/root
[Install]
WantedBy=multi-user.target
第三步:Gateway 上批准节点
新节点连接后需要在 Gateway 所在机器上批准:
# 查看待批准的节点
openclaw nodes pending
# 批准
openclaw nodes approve <node-id>
# 验证
openclaw nodes status
# 预期输出:所有节点 status=online
Mac Mini(主节点 / 日常使用机)
Mac Mini 不需要跑 Gateway 或 Node service。它是你日常用来跟 AI 对话的机器,通过 OpenClaw 客户端连接到 Gateway:
# 安装
brew install openclaw
# 或
npm install -g openclaw
# 配置连接到 Gateway
# 编辑 ~/.openclaw/openclaw.json
配置 Workspace
OpenClaw 的 workspace 是 AI 的"工作目录"。所有配置文件、记忆文件、项目文档都放在这里。
mkdir -p ~/.openclaw/workspace
cd ~/.openclaw/workspace
# 创建核心文件
touch SOUL.md AGENTS.md USER.md HEARTBEAT.md MEMORY.md TOOLS.md
关于每个文件怎么写,请参考我们的上一篇文章《AI实战丨SOUL.md 完全指南》。
记忆系统:跨节点同步
单机 AI 的记忆存在当前机器上。集群 AI 的记忆需要在所有节点间同步。
我们的方案很简单:cron + rsync。
# 维护节点上的同步脚本 (sync-shared.sh)
#!/bin/bash
SHARED_DIR="/root/.openclaw/workspace/memory/shared"
MASTER_DIR="johnxue@100.86.105.116:/Users/johnxue/.openclaw/workspace/memory/shared"
# 双向同步(以 md5 校验为准)
rsync -avz --checksum "$SHARED_DIR/" "$MASTER_DIR/"
rsync -avz --checksum "$MASTER_DIR/" "$SHARED_DIR/"
每 5 分钟执行一次。任何节点写入的共享文件,5 分钟内全集群可见。
定时任务
OpenClaw 有内置的 cron 系统:
# 添加定时任务
openclaw cron add --name daily-publish --schedule "0 20 * * *" --command "bash tools/dispatcher.sh"
openclaw cron add --name daily-backup --schedule "0 3 * * *" --command "bash /opt/oc-backup/backup.sh all"
# 查看任务列表
openclaw cron list
# 手动触发
openclaw cron run daily-publish
验证整个集群
所有节点部署完成后,做一次全集群健康检查:
# 1. 所有节点在线
openclaw nodes status
# 预期:所有节点 status=online
# 2. 跨节点通信
# 从主节点给 Worker 发任务
openclaw nodes run --node oc-worker-1 --command "uptime"
# 预期:返回 Worker 的 uptime
# 3. 定时任务正常
openclaw cron list --json
# 预期:所有任务 enabled=true, lastStatus=ok
# 4. 共享记忆同步
# 在主节点写一个测试文件
echo "sync test $(date)" > memory/shared/test-sync.md
# 等 5 分钟后在 Worker 检查
ssh root@100.90.48.113 "cat /root/.openclaw/workspace/memory/shared/test-sync.md"
我们的实际使用效果
这个集群已经稳定运行两周,日常工作:
- 自动备份:每天凌晨 3 点,4 台机器的配置和数据自动同步到 GitHub
- 自动发文章:cron 触发 + ADB 自动化,AI 全程操作公众号发布流程
- 故障自愈:AI 发现备份脚本 git push 冲突后,自动改用 force push 修复
- 多节点协作:浏览器操作自动分发到 Worker 节点,海外 API 调用路由到阿里云
省多少钱? 如果同样的功能用一台高配云服务器 + 人工运维,至少要 500 元/月 + 每天 1 小时人工。我们的方案是 85 元/月 + 几乎零人工。
常见问题
Q:没有云服务器可以吗? 可以。如果你只有一台电脑,Gateway 和 Node 可以跑在同一台机器上。但如果需要 24/7 在线,至少需要一台云服务器。
Q:树莓派能当 Worker 吗? 可以。OpenClaw 对硬件要求很低(Node.js 能跑就行),树莓派完全够用。
Q:模型 API 费用怎么控制? 分层模型策略——复杂任务用强模型(Claude Opus),简单任务用便宜模型(Sonnet/Haiku)。我们通过 AGENTS.md 和模型路由配置来控制。
Q:安全吗? Tailscale 基于 WireGuard,端到端加密。OpenClaw 有沙箱、白名单、审批机制。加上 SOUL.md 里的安全规则(断网回退定时器、密钥不输出日志等),多层防护。
AI有招 · 第十五篇 本文基于 OpenClaw 集群两周实战经验,所有命令在生产环境验证通过 前置阅读:《AI实战丨SOUL.md 完全指南》