13.3 macOS虚拟机

在 macOS 虚拟机上运行 OpenClaw,实现沙箱隔离和 iMessage 支持。

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

  • 小型 Linux VPS - 用于始终在线的 Gateway,成本低。参见 VPS 托管
  • 专用硬件(Mac mini 或 Linux 机器)- 如果您想要完全控制和家庭 IP进行浏览器自动化。许多网站会阻止数据中心 IP,因此本地浏览通常效果更好。
  • 混合方案:将 Gateway 保留在便宜的 VPS 上,在需要浏览器/UI 自动化时将您的 Mac 连接为节点。参见节点Gateway 远程。当您特别需要 macOS 专有功能(iMessage/BlueBubbles)或希望与日常 Mac 严格隔离时,使用 macOS VM。

macOS VM 选项

在 Apple Silicon Mac 上的本地 VM (Lume)

使用 Lume 在现有的 Apple Silicon Mac 上运行沙箱化的 macOS VM 中的 OpenClaw。这提供了:

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

托管 Mac 提供商(云)

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

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

一旦您获得了对 macOS VM 的 SSH 访问权限,请继续下面的步骤 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 或更高版本
  • 每个 VM 约 60 GB 可用磁盘空间
  • 约 20 分钟

1) 安装 Lume

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

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

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

验证:

lume --version

文档:Lume 安装

2) 创建 macOS VM

lume create openclaw --os macos --ipsw latest

这会下载 macOS 并创建 VM。VNC 窗口会自动打开。注意:下载可能需要一些时间,具体取决于您的连接。

3) 完成设置助理

在 VNC 窗口中:

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

设置完成后,启用 SSH:

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

4) 获取 VM 的 IP 地址

lume get openclaw

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

5) SSH 进入 VM

ssh youruser@192.168.64.X

youruser 替换为您创建的账户,将 IP 替换为您 VM 的 IP。

6) 在 VM 内安装 OpenClaw

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

按照入门提示设置您的模型提供商(Anthropic、OpenAI 等)。

7) 配置频道

编辑配置文件:

nano ~/.openclaw/openclaw.json

添加您的频道:

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

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

openclaw channels login

8) 无显示模式运行 VM

停止 VM 并在无显示模式下重启:

lume stop openclaw
lume run openclaw --no-display

VM 在后台运行。OpenClaw 的守护进程保持 gateway 运行。检查状态:

ssh youruser@192.168.64.X "openclaw status"

额外功能:iMessage 集成

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

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

添加到您的 OpenClaw 配置:

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

重启 gateway。现在您的 agent 可以发送和接收 iMessage。完整设置详情:BlueBubbles 频道

保存黄金镜像

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

lume stop openclaw
lume clone openclaw openclaw-golden

随时重置:

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

24/7 运行

通过以下方式保持 VM 运行:

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

对于真正的始终在线,考虑专用 Mac mini 或小型 VPS。参见 VPS 托管

故障排查

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

相关文档

优势

  • iMessage 支持 - 唯一可以在非 Mac 环境运行 iMessage 的方法
  • 沙箱隔离 - 与主机系统完全隔离
  • 快速重置 - 通过克隆 VM 瞬间恢复干净状态
  • 本地运行 - 无云成本,完全控制
  • 家庭 IP - 避免数据中心 IP 被网站阻止的问题

局限性

  • 需要 Apple Silicon Mac(M1/M2/M3/M4)
  • 需要 macOS Sequoia 或更高版本
  • 占用大量磁盘空间(每个 VM 约 60 GB)
  • 主机 Mac 需要保持运行才能实现 24/7 可用
  • 对于纯服务器工作负载,VPS 可能更具成本效益
最佳实践
使用 macOS VM 专门处理需要 macOS 的任务(如 iMessage),将主要的 Gateway 运行在更经济的 Linux VPS 上。这种混合方法提供了最佳的成本效益和功能覆盖。