在 macOS 虚拟机中运行 OpenClaw(沙箱化)
推荐方案(适合大多数人)
- 小型 Linux VPS:用于 7×24 运行 Gateway,成本低。参见 VPS 托管。
- 专用硬件(Mac mini 或 Linux 主机):如果你想完全掌控,并需要家庭 IP 来做浏览器自动化。很多网站会屏蔽数据中心 IP,所以本地浏览往往效果更好。
- 混合方案:把 Gateway 放在便宜的 VPS 上,需要浏览器/界面自动化时再把你的 Mac 作为 Node 连接上去。参见 Nodes 和 Gateway 远程模式。
只有在你明确需要 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 文档操作即可
拿到 macOS 虚拟机的 SSH 访问权限后,直接跳到下面的步骤 6。
快速上手(Lume,适合有经验的用户)
- 安装 Lume
lume create openclaw --os macos --ipsw latest- 完成设置助理,启用远程登录(SSH)
lume run openclaw --no-display- SSH 进去,安装 OpenClaw,配置 Channel
- 完成
准备工作(Lume)
- Apple Silicon Mac(M1/M2/M3/M4)
- 主机系统为 macOS Sequoia 或更高版本
- 每个虚拟机约 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 虚拟机
lume create openclaw --os macos --ipsw latest
这会下载 macOS 并创建虚拟机。VNC 窗口会自动打开。
注意:下载时间取决于你的网速,可能需要等一会儿。
3) 完成设置助理
在 VNC 窗口中:
- 选择语言和地区
- 跳过 Apple ID(如果后面想用 iMessage 就登录)
- 创建用户账户(记住用户名和密码)
- 跳过所有可选功能
设置完成后,启用 SSH:
- 打开”系统设置” → “通用” → “共享”
- 启用”远程登录”
4) 获取虚拟机的 IP 地址
lume get openclaw
找到 IP 地址(通常是 192.168.64.x)。
5) SSH 连接到虚拟机
ssh [email protected]
把 youruser 替换成你创建的账户名,IP 替换成你虚拟机的 IP。
6) 安装 OpenClaw
在虚拟机里:
npm install -g openclaw@latest
openclaw onboard --install-daemon
按照引导提示设置你的模型提供商(Anthropic、OpenAI 等)。
7) 配置 Channel
编辑配置文件:
nano ~/.openclaw/openclaw.json
添加你的 Channel:
{
"channels": {
"whatsapp": {
"dmPolicy": "allowlist",
"allowFrom": ["+15551234567"]
},
"telegram": {
"botToken": "YOUR_BOT_TOKEN"
}
}
}
然后登录 WhatsApp(扫描二维码):
openclaw channels login
8) 无界面运行虚拟机
停止虚拟机,然后以无界面模式重启:
lume stop openclaw
lume run openclaw --no-display
虚拟机会在后台运行。OpenClaw 的 Daemon 会保持 Gateway 运行。
检查状态:
ssh [email protected] "openclaw status"
额外福利:iMessage 集成
这是在 macOS 上运行的杀手级功能。用 BlueBubbles 给 OpenClaw 添加 iMessage 支持。
在虚拟机里:
- 从 bluebubbles.app 下载 BlueBubbles
- 用你的 Apple ID 登录
- 启用 Web API 并设置密码
- 把 BlueBubbles 的 Webhook 指向你的 Gateway(例如:
https://your-gateway-host:3000/bluebubbles-webhook?password=<password>)
添加到你的 OpenClaw 配置:
{
"channels": {
"bluebubbles": {
"serverUrl": "http://localhost:1234",
"password": "your-api-password",
"webhookPath": "/bluebubbles-webhook"
}
}
}
重启 Gateway。现在你的 Agent 可以收发 iMessage 了。
完整设置详情:BlueBubbles Channel
保存黄金镜像
在进一步定制之前,先给干净状态做个快照:
lume stop openclaw
lume clone openclaw openclaw-golden
随时重置:
lume stop openclaw && lume delete openclaw
lume clone openclaw-golden openclaw
lume run openclaw --no-display
7×24 运行
保持虚拟机持续运行的方法:
- 保持 Mac 接通电源
- 在”系统设置” → “节能”中禁用睡眠
- 必要时使用
caffeinate命令
如果想真正的 7×24 运行,考虑用专用的 Mac mini 或小型 VPS。参见 VPS 托管。
故障排除
| 问题 | 解决方案 |
|---|---|
| 无法 SSH 连接虚拟机 | 检查虚拟机的”系统设置”中是否启用了”远程登录” |
| 虚拟机 IP 不显示 | 等待虚拟机完全启动,再次运行 lume get openclaw |
| 找不到 Lume 命令 | 把 ~/.local/bin 添加到你的 PATH |
| WhatsApp 二维码扫不上 | 确保运行 openclaw channels login 时是登录到虚拟机里(不是主机) |