更新:2026-03-31,核心架构已验证可行。
背景
打算在三个地点各放一台 Mac Mini M4 + OpenClaw,组成一个分布式 AI 助手集群,实现:多节点协作、资源共享、远程接入、高可用,以及用 MiniMax Start 账号(600次/5小时)支撑全集群。
节点命名
| 节点 | 位置 | 网络环境 | 主要职责 |
|---|---|---|---|
| NB | 上海① | 内网 192.168.1.x,动态公网IP | 大脑/编排器,MiniMax 主力消耗 |
| NB#2 | 上海② | CGNAT 内网IP,无端口映射 | 国内任务执行节点,NB 备援 |
| 兔兔窝 | 温哥华 | 家庭宽带,动态公网IP | 国际出口,X/Twitter/YouTube API |
| VPS | 伦敦 | 固定公网 82.29.128.118 | 稳定中继,微信API白名单,集群锚点 |
网络核心:Tailscale
选择 Tailscale(免费版)作为 Overlay 网络,所有节点组成虚拟局域网:
- Subnet Router:每台 Mac Mini 广播自家局域网到全网
- Tailscale Serve:Mac OpenClaw Gateway 通过
https://wenyangs-macbook-pro.tail93f3e9.ts.net/对集群暴露 - DERP 中继:直连失败时自动 fallback(Tailscale 自带)
- Exit Node:指定某节点作为全局出口
*.ts.net是 Tailscale 私有域名,只有 Tailscale 网络内的设备能访问,外部互联网完全无法访问。
网络拓扑
Tailscale Overlay (100.x.x.x)
全节点互通
┌──────────────┬──────────────┬──────────────┐
│ NB (上海①) │ NB#2 (上海②) │ 兔兔窝(温哥华)│
│ 192.168.1.x │ 100.x.x.x │ 家庭宽带 │
│ 大脑/编排器 │ 执行节点 │ 国际出口 │
└──────┬───────┴──────────────┴──────────────┘
│ Tailscale
▼
┌──────────────────────────────────────────────┐
│ VPS (伦敦, 82.29.128.118) │
│ 集群锚点 | 微信API白名单 | Tailscale Serve │
└──────────────────────────────────────────────┘
│
出差 MacBook
(Tailscale App 漫游接入)
已验证进展(2026-03-31)
当前在线节点:
| 节点 | Tailscale IP | 状态 |
|---|---|---|
| NB (MacBook Pro) | 100.117.225.71 | ✅ 在线 |
| VPS | 100.69.99.101 | ✅ 在线 |
Mac OpenClaw Gateway 暴露地址(仅 tailnet 内可访问):
https://wenyangs-macbook-pro.tail93f3e9.ts.net/
已验证:HTTPS Dashboard、RPC、WebSocket、全部 API 端点均可达。
远程访问确认
| 场景 | 结果 |
|---|---|
| Mac 在家(NB 网络) | ✅ Tailscale 自动连接,全节点互通 |
| Mac 在外面(手机热点/酒店WiFi) | ✅ 开启 Tailscale App → 自动加入 zlyzwy 网络 → 访问任意节点 |
| Mac 关闭 Tailscale | ❌ 无法访问 Mac,但 Mac 本地功能不受影响 |
高可用考虑
- NB 为主控,MiniMax 配额在此,OpenClaw 主力节点
- NB#2 失效 → NB 自动接手国内任务(脚本可切换)
- 兔兔窝 失效 → VPS 临时顶替国际出口
- VPS 失效 → 微信推送中断,本地任务不受影响
- NB / 兔兔窝 断电来电后 → Mac Mini 开机自启 → Tailscale 自动重连 → 集群恢复
NB#2 因 CGNAT 无入站能力,失联只能等它自己重连出来,这是物理约束。
待购设备
- Mac Mini M4 × 2(NB#2 + 兔兔窝)
- 到位后在对应节点执行 Tailscale 安装 + 加入 zlyzwy 网络即可
方案持续更新中。