1127 字
6 分钟

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 隔离
VirtualBuddymacOS guest 优化,简单快速测试 macOS 版本
UTM通用虚拟机,支持 QEMU需要跑 Linux/Windows

如果你只需要跑 macOS,三者性能几乎没差别——取决于你分了多少 CPU 和内存。

系统要求#

项目要求
CPUApple Silicon(M1 或更新)
系统macOS 15 Sequoia 或更新

内存占用说明 :GhostVM 的内存分配是硬性的, 给多少就占用多少 ,不会被动态压缩或与主机共享。规划时要留足主机余量。

没有 Intel 支持,也没有老版本 macOS 支持。这限制了通用性,但换来了性能和简洁。

下载安装#

GhostVM 提供两种安装方式:

方式一:下载 DMG(推荐)

直接去 GitHub Releases 下载最新的 DMG 文件,双击安装即可。二进制免费开放,无功能限制。

安装包包含 GhostVM.app 和 vmctl 命令行工具。

方式二:源码编译

需要 Xcode 15+ 和 XcodeGen

Terminal window
brew install xcodegen
git clone https://github.com/groundwater/GhostVM
cd GhostVM
make app # 编译 GhostVM.app
make cli # 编译 vmctl 命令行工具

Makefile 还提供 make run(编译后连接终端运行)、make dist(打包 DMG)、make test(运行单元测试)等目标。

CLI 怎么用#

GhostVM 附带一个 vmctl 命令行工具,覆盖全部 GUI 功能。

快速上手

Terminal window
# 初始化一个虚拟机,分配 6 核 16G
vmctl init ~/VMs/dev.GhostVM --cpus 6 --memory 16
# 安装 macOS(几分钟)
vmctl install ~/VMs/dev.GhostVM
# 启动
vmctl start ~/VMs/dev.GhostVM

快照和克隆

Terminal window
# 创建快照(改东西前备份)
vmctl snapshot ~/VMs/dev.GhostVM create clean-install
# 克隆(APFS 写时复制,几乎不占额外空间)
vmctl clone ~/VMs/dev.GhostVM ~/VMs/dev-copy.GhostVM

停止和挂起

Terminal window
# 停止
vmctl stop ~/VMs/dev.GhostVM
# 挂起(保存状态到磁盘,下次直接恢复)
vmctl suspend ~/VMs/dev.GhostVM

远程操作 (在 agent 场景下很有用):

Terminal window
# 在虚拟机里执行命令
vmctl remote --name dev exec "npm run build"
# 读写虚拟机剪贴板
vmctl remote --name dev clipboard get
vmctl 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 目前是最佳方案。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
GhostVM:给 AI Agent 一个完整的 Mac,而不是容器!
https://blog.moewah.com/posts/ghostvm-macos-vm-ai-agents/
作者
MoeWah
发布于
2026-04-14
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
MoeWah
Hello, I'm MoeWah.
分类
标签
站点统计
文章
174
分类
9
标签
377
总字数
304,552
运行时长
0
最后活动
0 天前

目录