在 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,有经验的用户)
- 安装 Lume
lume create openclaw --os macos --ipsw latest- 完成设置助理,启用远程登录(SSH)
lume run openclaw --no-display- 通过 SSH 登录,安装 OpenClaw,配置频道
- 完成
所需条件(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 窗口中:
- 选择语言和地区
- 跳过 Apple ID(如果以后想使用 iMessage 可以登录)
- 创建用户账户(记住用户名和密码)
- 跳过所有可选功能
设置完成后,启用 SSH:
- 打开系统设置 → 通用 → 共享
- 启用"远程登录"
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 login8) 以无头模式运行虚拟机
停止虚拟机并以无显示模式重启:
bash
lume stop openclaw
lume run openclaw --no-display虚拟机在后台运行。OpenClaw 的守护进程保持网关运行。
检查状态:
bash
ssh youruser@192.168.64.X "openclaw status"额外功能:iMessage 集成
这是在 macOS 上运行的杀手级功能。使用 BlueBubbles 将 iMessage 添加到 OpenClaw。
在虚拟机内:
- 从 bluebubbles.app 下载 BlueBubbles
- 使用你的 Apple ID 登录
- 启用 Web API 并设置密码
- 将 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-display7×24 运行
通过以下方式保持虚拟机运行:
- 保持 Mac 接通电源
- 在系统设置 → 节能器中禁用睡眠
- 如果需要,使用
caffeinate
要真正全天候运行,考虑专用的 Mac mini 或小型 VPS。参见 VPS 托管。
故障排除
| 问题 | 解决方案 |
|---|---|
| 无法通过 SSH 连接到虚拟机 | 检查虚拟机的系统设置中是否启用了"远程登录" |
| 虚拟机 IP 未显示 | 等待虚拟机完全启动,再次运行 lume get openclaw |
| 找不到 Lume 命令 | 将 ~/.local/bin 添加到你的 PATH |
| WhatsApp 二维码无法扫描 | 运行 openclaw channels login 时确保已登录到虚拟机(而非主机) |