OpenClaw 最近火得很快,社区里不少人为了专门跑它,直接买了一台 Mac Mini 作为"专用机"——系统干净,没有其他工作软件,可以放心让 OpenClaw 随意折腾。

但如果你和我一样,已经是一个重度 macOS 用户:Mac 上装着几十个工作软件,跑着若干个进行中的项目,存着各种文档和账号凭据——那专门买一台机器就太奢侈了,而直接在主力机上装 OpenClaw 又让人不放心。

这正是虚拟机方案的价值所在:不需要额外的硬件,在你现有的 Mac 上划出一块完全隔离的空间,就相当于在电脑里再放一台"专用机"。OpenClaw 在里面运行,和你的工作环境互不干扰。

为什么要用虚拟机,而且是 macOS 虚拟机?

直接在 Mac 上跑 OpenClaw,等于把一个拥有 shell 执行权限的 AI Agent 放进你存着照片、文档、密码的系统里。一旦指令跑偏,或者遭遇提示词注入攻击,损失可能无法挽回。

用虚拟机的好处很简单:虚拟机是一个完全隔离的沙盒。OpenClaw 在里面再怎么折腾,也出不了这个"笼子",你 Mac 上的真实文件原封不动。

那为什么选 macOS 而不是 Linux 作为虚拟机操作系统?

操作界面完全一样:里外用的都是 macOS,不需要额外学习 Linux 命令行,安装 OpenClaw 和在真机上步骤完全一样:同样的安装方式,没有额外学习成本。

Apple Silicon 原生支持:UTM 通过 Apple 官方虚拟化框架运行 macOS 客机,性能接近原生,几乎感觉不到延迟。这在后面需要浏览器登录等操作的时候,特别方便。

⚠️ 使用前必读:macOS 虚拟机的限制

在开始之前,有几个现实限制必须了解清楚,避免踩坑:

限制

说明

无法登录 Apple ID(App Store)

这是 Apple 的硬件验证限制,虚拟机内无法通过 App Store 下载应用

iCloud 支持有限

macOS 15(Sequoia)以上的宿主机 + 客机组合可以登录 iCloud,但功能依然受限

磁盘占用较大

一个 macOS 虚拟机约占 40~70 GB 磁盘空间

只能运行 2 个 macOS VM

Apple 的授权限制,同一台 Mac 上最多同时运行 2 个 macOS 虚拟机

对我们的使用场景(跑 OpenClaw)来说,这些限制几乎都不影响。OpenClaw 通过 npm 安装,不依赖 App Store,完全可以正常运行。

准备工作:你需要什么?

Apple Silicon Mac(M1 / M2 / M3 / M4 均适用)

macOS Monterey 12 或更高版本(宿主机)

约 80 GB 可用磁盘空间:虚拟机镜像约 40~70 GB,加上 OpenClaw 运行空间

稳定网络:需要从 Apple 下载 macOS 恢复镜像(约几百 MB)

整个流程大约需要45 分钟~1 小时,大部分时间是在等系统安装进度条。

第一步:安装 UTM

UTM 是一款专为 Mac 设计的免费虚拟机软件,通过 Apple 的 Hypervisor 虚拟化框架,可以在 Apple Silicon 上以接近原生的速度运行 ARM64 操作系统,包括 macOS 本身。

推荐安装方式(两选一):

方式

优点

入口

Mac App Store

自动更新,支持开发者

搜索「UTM Virtual Machines」

官网直接下载

完全免费,无需登录

mac.getutm.app

💡 两个版本功能完全一致。App Store 版售价 ¥68,购买即是对开源项目的支持;官网版完全免费。

安装后打开 UTM,你会看到一个简洁的主界面,中间有几个按钮。

第二步:创建 macOS 虚拟机

UTM 支持直接从 Apple 服务器下载 macOS 恢复镜像,整个流程不需要你手动找镜像文件。

  1. 点击「Create a New Virtual Machine」(或主界面的+按钮)
  2. 选择「Virtualize」(虚拟化模式,性能更好;注意不要选 Emulate)
  3. 选择操作系统:点击「macOS 12+」
  4. 下载 macOS 恢复镜像

你会看到需要上传 ipsw文件,访问 https://ipsw.me/ 这个地址,选择与你mac电脑一致或相近的机型即可,然后选择一个低于当前macOS系统版本的ipsw文件。

等待下载完成(文件约 1~2 GB,时间视网速而定)。

📌 IPSW 是什么? 这是 Apple 官方的系统固件格式,和给 iPhone 恢复系统用的是同一种文件格式。对于 M 系列 Mac,macOS 也采用了这套机制。

5. 配置虚拟机硬件资源

参数

建议值

说明

CPU 核数

保持默认

内存(RAM)

8 GB

最低 4 GB,建议分配 8 GB

磁盘空间

80 GB

系统约占 20 GB,剩余给 OpenClaw 和工作区

6. 共享目录(重要安全设置)

这一步暂时跳过,不要挂载任何来自宿主 Mac 的目录。我们后续会专门讲怎么安全、高效地传文件,而不是直接共享目录。

7. 给虚拟机命名,比如openclaw-sandbox,点击「Save」

第三步:安装 macOS

点击 UTM 主界面的三角形播放按钮,启动虚拟机。

macOS 安装程序会自动引导,界面和正常安装 macOS 完全相同。跟着向导走,注意以下几点:

语言和地区:按个人习惯选择

存储选择:选择虚拟磁盘,直接点「继续」

创建本地账户(关键步骤):

姓名:OpenClaw 用户(随意)

账户名:openclaw

密码:设置一个你记得住的密码

⚠️ 不要在这一步登录 Apple ID。跳过这个步骤,选择「稍后设置」。原因上面提到过:虚拟机内 Apple ID 登录受限,而且对我们的用途(跑 OpenClaw)完全不需要。

等待安装完成,系统会自动重启进入 macOS 桌面(约 3~10 分钟)。

第四步:在虚拟机里安装 Node.js

趁着还在虚拟机窗口操作,先把 Node.js 装好。OpenClaw 基于 Node.js 运行,需要Node.js 22 或更高版本。直接在虚拟机的浏览器里下载官方安装包,全程点击完成,不需要命令行。

1. 在虚拟机的浏览器里,前往 Node.js 官网下载页:

2. 选择正确版本:

版本选「LTS」(长期支持版,更稳定)

系统选「macOS」

架构选「ARM64」(适用于 Apple Silicon)

安装包格式选「.pkg」

3. 双击下载的.pkg文件,按照安装向导一路点「继续」,完成安装。

安装完成后,打开虚拟机的「终端」,验证版本:

node -v

npm -v

两行都输出版本号即表示安装完成。这是最后一次需要在虚拟机窗口里操作,下一步开启 SSH 后就可以最小化虚拟机了。

这里,需要下载、安装Chrome浏览器,用于后续的浏览器自动化,这里先不登陆任何账号,只有后续需要的时候,再登陆账号。

第五步:在虚拟机里开启 SSH

在虚拟机里开启远程登录(SSH 服务)。开启之后,后续所有操作都可以在宿主 Mac 的终端里远程完成,不需要再切换到虚拟机窗口。

打开「系统设置」

进入「通用」→「共享」

找到「远程登录」,打开开关

开启后,界面会显示 SSH 连接地址,类似:

ssh openclaw@192.168.64.x

记下这个 IP(192.168.64.x),之后可以最小化虚拟机窗口,后续全在宿主 Mac 上操作。

第六步:从宿主 Mac SSH 进入虚拟机,同时建立隧道

切换回宿主 Mac,打开「终端」,用以下命令连接虚拟机,同时建立端口隧道:

ssh -L 18789:127.0.0.1:18789 openclaw@192.168.64.x

-L 18789:127.0.0.1:18789的意思是:把宿主 Mac 本地的18789端口,通过这条 SSH 连接转发到虚拟机的127.0.0.1:18789。隧道随 SSH 连接一起建立,断开 SSH 隧道也同时关闭。

输入虚拟机密码后,命令提示符变成虚拟机的样子(如openclaw@openclaw-vm ~ %),说明已经进入虚拟机、隧道也已就绪。之后的步骤全部在这个终端里完成,无需再动虚拟机窗口。

第七步:安装并配置 OpenClaw

仍在 SSH 终端里,安装 OpenClaw:

npm install -g openclaw@latest

安装完成后,运行引导向导:

openclaw onboard –install-daemon

--install-daemon会把 OpenClaw 注册为虚拟机的 macOS 后台服务(launchd),虚拟机开机自动运行,不需要每次手动启动。

向导会以交互式问答的方式引导你完成配置。几个关键选项:

向导问题

推荐选择

原因

AI 模型提供商

按需选择(OpenAI / Anthropic 等)

通讯渠道

Telegram(体验最好)

手机控制,配置简单

开放公网访问

SSH 隧道访问即可,无需公网暴露

配置完成后,向导会输出一个带 Token 的本机访问地址:

http://localhost:18789/?token=xxxxxxxxxxxxxxxxxxxx

把 Token 部分单独记下来(?token=后面那串字符),下一步会用到。

第八步:从宿主 Mac 浏览器访问控制台

隧道在第五步 SSH 连接时已经建立好了,现在直接打开宿主 Mac 的浏览器,访问:

http://localhost:18789/?token=xxxxxxxxxxxxxxxxxxxx

如果能看到 OpenClaw 控制台界面,部署完成 🎉

至此, OpenClaw 就完整的运行在一个完全独立的虚拟机环境里面了。就算被黑,也只会丢失虚拟机内部的内容,不会丢失外部电脑上的内容和权限。就算环境全部搞坏,也只需要重新部署一份虚拟机即可。