Skip to content

在 macOS 虚拟机上运行 OpenClaw(沙盒化)

推荐默认方案(大多数用户)

  • 小型 Linux VPS 用于全天候运行网关,成本低。参见 VPS 托管
  • 专用硬件(Mac mini 或 Linux 设备),如果你想要完全控制和住宅 IP 用于浏览器自动化。许多网站会屏蔽数据中心 IP,因此本地浏览通常效果更好。
  • 混合方案:将网关保留在便宜的 VPS 上,当需要浏览器/UI 自动化时将你的 Mac 作为节点连接。参见 节点远程网关

当你特别需要 macOS 专属功能(iMessage/BlueBubbles)或希望与日常使用的 Mac 严格隔离时,使用 macOS 虚拟机。

macOS 虚拟机选项

在 Apple Silicon Mac 上运行本地虚拟机(Lume)

使用 Lume 在现有的 Apple Silicon Mac 上的沙盒化 macOS 虚拟机中运行 OpenClaw。

这为你提供:

  • 隔离的完整 macOS 环境(保持主机系统干净)
  • 通过 BlueBubbles 支持 iMessage(在 Linux/Windows 上不可能)
  • 通过克隆虚拟机实现即时重置
  • 无需额外硬件或云成本

托管 Mac 提供商(云端)

如果你想在云端使用 macOS,托管 Mac 提供商也可以:

  • MacStadium(托管 Mac)
  • 其他托管 Mac 供应商也可以;遵循他们的虚拟机 + SSH 文档

一旦你可以通过 SSH 访问 macOS 虚拟机,继续执行下面的第 6 步。


快速路径(Lume,有经验的用户)

  1. 安装 Lume
  2. lume create openclaw --os macos --ipsw latest
  3. 完成设置助理,启用远程登录(SSH)
  4. lume run openclaw --no-display
  5. 通过 SSH 登录,安装 OpenClaw,配置频道
  6. 完成

所需条件(Lume)

  • Apple Silicon Mac(M1/M2/M3/M4)
  • 主机系统为 macOS Sequoia 或更高版本
  • 每个虚拟机约 60 GB 可用磁盘空间
  • 约 20 分钟

1) 安装 Lume

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/lume/scripts/install.sh)"

如果 ~/.local/bin 不在你的 PATH 中:

bash
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.zshrc && source ~/.zshrc

验证:

bash
lume --version

文档:Lume 安装


2) 创建 macOS 虚拟机

bash
lume create openclaw --os macos --ipsw latest

这会下载 macOS 并创建虚拟机。VNC 窗口会自动打开。

注意:根据你的网络连接,下载可能需要一段时间。


3) 完成设置助理

在 VNC 窗口中:

  1. 选择语言和地区
  2. 跳过 Apple ID(如果以后想使用 iMessage 可以登录)
  3. 创建用户账户(记住用户名和密码)
  4. 跳过所有可选功能

设置完成后,启用 SSH:

  1. 打开系统设置 → 通用 → 共享
  2. 启用"远程登录"

4) 获取虚拟机的 IP 地址

bash
lume get openclaw

查找 IP 地址(通常是 192.168.64.x)。


5) 通过 SSH 连接到虚拟机

bash
ssh youruser@192.168.64.X

youruser 替换为你创建的账户,并将 IP 替换为你虚拟机的 IP。


6) 安装 OpenClaw

在虚拟机内:

bash
npm install -g openclaw@latest
openclaw onboard --install-daemon

按照引导提示设置你的模型提供商(Anthropic、OpenAI 等)。


7) 配置频道

编辑配置文件:

bash
nano ~/.openclaw/openclaw.json

添加你的频道:

json
{
  "channels": {
    "whatsapp": {
      "dmPolicy": "allowlist",
      "allowFrom": ["+15551234567"]
    },
    "telegram": {
      "botToken": "YOUR_BOT_TOKEN"
    }
  }
}

然后登录 WhatsApp(扫描二维码):

bash
openclaw channels login

8) 以无头模式运行虚拟机

停止虚拟机并以无显示模式重启:

bash
lume stop openclaw
lume run openclaw --no-display

虚拟机在后台运行。OpenClaw 的守护进程保持网关运行。

检查状态:

bash
ssh youruser@192.168.64.X "openclaw status"

额外功能:iMessage 集成

这是在 macOS 上运行的杀手级功能。使用 BlueBubbles 将 iMessage 添加到 OpenClaw。

在虚拟机内:

  1. 从 bluebubbles.app 下载 BlueBubbles
  2. 使用你的 Apple ID 登录
  3. 启用 Web API 并设置密码
  4. 将 BlueBubbles webhook 指向你的网关(例如:https://your-gateway-host:3000/bluebubbles-webhook?password=<password>)

添加到 OpenClaw 配置:

json
{
  "channels": {
    "bluebubbles": {
      "serverUrl": "http://localhost:1234",
      "password": "your-api-password",
      "webhookPath": "/bluebubbles-webhook"
    }
  }
}

重启网关。现在你的代理可以发送和接收 iMessage。

完整设置详情:BlueBubbles 频道


保存黄金镜像

在进一步自定义之前,快照你的干净状态:

bash
lume stop openclaw
lume clone openclaw openclaw-golden

随时重置:

bash
lume stop openclaw && lume delete openclaw
lume clone openclaw-golden openclaw
lume run openclaw --no-display

7×24 运行

通过以下方式保持虚拟机运行:

  • 保持 Mac 接通电源
  • 在系统设置 → 节能器中禁用睡眠
  • 如果需要,使用 caffeinate

要真正全天候运行,考虑专用的 Mac mini 或小型 VPS。参见 VPS 托管


故障排除

问题解决方案
无法通过 SSH 连接到虚拟机检查虚拟机的系统设置中是否启用了"远程登录"
虚拟机 IP 未显示等待虚拟机完全启动,再次运行 lume get openclaw
找不到 Lume 命令~/.local/bin 添加到你的 PATH
WhatsApp 二维码无法扫描运行 openclaw channels login 时确保已登录到虚拟机(而非主机)

相关文档