GhostVM:给 AI Agent 一个完整的 Mac,而不是容器!
上周跑一个 agent 项目,在容器里踩了三个坑:剪贴板不通、端口映射混乱、GUI 测试直接报废。折腾到凌晨两点才搞明白—— 容器隔离不了系统级行为 。
第二天朋友扔给我一个工具:GhostVM。
Your agents need more than a container. Give them a Mac.
用了三天,写了篇完整的工具介绍和配置指南。

它是什么
GhostVM 是一个 macOS 虚拟机管理工具,基于 Apple Virtualization.framework,在 Apple Silicon 上跑 macOS 虚拟机。
关键区别: 近原生性能,零仿真 。
每个虚拟机就是一个 .GhostVM 文件夹,自包含,拷走就能用。APFS 写时复制,克隆是秒级的。
项目地址:github.com/groundwater/GhostVM
官网地址:ghostvm.org
GhostVM 和 UTM、VirtualBuddy 同源(都基于同一个框架),但定位完全不同:
| 工具 | 定位 | 适合场景 |
|---|---|---|
| GhostVM | 隔离工作区,CLI 强 | 开发者、多 agent 隔离 |
| VirtualBuddy | macOS guest 优化,简单 | 快速测试 macOS 版本 |
| UTM | 通用虚拟机,支持 QEMU | 需要跑 Linux/Windows |
如果你只需要跑 macOS,三者性能几乎没差别——取决于你分了多少 CPU 和内存。
系统要求
| 项目 | 要求 |
|---|---|
| CPU | Apple Silicon(M1 或更新) |
| 系统 | macOS 15 Sequoia 或更新 |
内存占用说明 :GhostVM 的内存分配是硬性的, 给多少就占用多少 ,不会被动态压缩或与主机共享。规划时要留足主机余量。
没有 Intel 支持,也没有老版本 macOS 支持。这限制了通用性,但换来了性能和简洁。
下载安装
GhostVM 提供两种安装方式:
方式一:下载 DMG(推荐)
直接去 GitHub Releases 下载最新的 DMG 文件,双击安装即可。二进制免费开放,无功能限制。
安装包包含 GhostVM.app 和 vmctl 命令行工具。
方式二:源码编译
需要 Xcode 15+ 和 XcodeGen:
brew install xcodegengit clone https://github.com/groundwater/GhostVMcd GhostVMmake app # 编译 GhostVM.appmake cli # 编译 vmctl 命令行工具Makefile 还提供 make run(编译后连接终端运行)、make dist(打包 DMG)、make test(运行单元测试)等目标。
CLI 怎么用
GhostVM 附带一个 vmctl 命令行工具,覆盖全部 GUI 功能。
快速上手 :
# 初始化一个虚拟机,分配 6 核 16Gvmctl init ~/VMs/dev.GhostVM --cpus 6 --memory 16
# 安装 macOS(几分钟)vmctl install ~/VMs/dev.GhostVM
# 启动vmctl start ~/VMs/dev.GhostVM快照和克隆 :
# 创建快照(改东西前备份)vmctl snapshot ~/VMs/dev.GhostVM create clean-install
# 克隆(APFS 写时复制,几乎不占额外空间)vmctl clone ~/VMs/dev.GhostVM ~/VMs/dev-copy.GhostVM停止和挂起 :
# 停止vmctl stop ~/VMs/dev.GhostVM
# 挂起(保存状态到磁盘,下次直接恢复)vmctl suspend ~/VMs/dev.GhostVM远程操作 (在 agent 场景下很有用):
# 在虚拟机里执行命令vmctl remote --name dev exec "npm run build"
# 读写虚拟机剪贴板vmctl remote --name dev clipboard getvmctl remote --name dev clipboard set "要写入的内容"
# 列出虚拟机里运行的应用vmctl remote --name dev apps网络支持 NAT(默认)和桥接模式,每个虚拟机有独立的网络栈。
开箱即用的隔离
GhostVM 的隔离默认开启,不需要额外配置。几个细节:
剪贴板同步 有明确权限提示。虚拟机和主机之间的复制粘贴需要确认,不会偷偷传数据。
端口转发 自动检测监听端口,显示进程名,直接在工具栏管理。不用自己写端口映射规则。
文件拖拽 传进去的文件默认隔离。不会污染主机的文件系统。
每个虚拟机有自己的 Dock 图标和 App Switcher 入口。你可以:
- 克隆某个 App 的图标,让虚拟机看起来像原生应用
- 叠两个图标,表示里面跑着什么
- 用预设图标或自定义上传
每个虚拟机跑在独立窗口里,和切换原生 App 没区别。
适合谁
- 跑 AI agent 需要完整 macOS 环境的
- 多项目隔离,不想互相污染的
- 需要测试不同 macOS 版本兼容性的
- 想要轻量级虚拟机方案的开发者
UI 确实朴素
说句实话,GhostVM 的界面很简陋。没有花哨的仪表盘,没有管理面板,就是一个窗口加菜单栏。
但这不是缺点。CLI 足够强,隔离做得到位,性能没问题。
如果你需要漂亮的 UI 或者跨平台虚拟机,UTM 是更好的选择。
但如果你只需要在 Mac 上跑几个隔离的 macOS 工作区,给 agent 一个完整的系统而不是容器,GhostVM 目前是最佳方案。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!