85元月跑4台服务器的AI集群从零开始搭建指南

6 阅读6分钟

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 完全指南》