
这是什么
vphone-cli 用 Apple 的 Virtualization.framework 与 PCC 研究用虚拟机,在一台实体 Apple Silicon Mac 上启动 iOS,供安全研究、逆向工程与调试使用。它给这台虚拟设备一个真正的窗口——可以浏览应用与文件、截图与录屏——固件预打过补丁并支持安装包环境,虚拟机可导出、导入与克隆,另有一个可选的本地 HTTP 与 WebSocket 接口用于自动化。运行时不需要 Xcode、Python 或 Homebrew。
谁做的仓库的 743 次提交来自一条很长的尾部分布,最前面是维护者——Lakr 434 次、Lakr233 41 次——其后是 zqxwce 125 次、Maximilian Paß 23 次、TastyHeadphones 16 次、xiahouzhen 9 次,再往下还有约三十位贡献者。文档提供英文、中文、日文与韩文四种。
它是怎么搭起来的
组成 · 4项目是 Apple 自家虚拟化栈上的一层薄命令界面,不寻常的部分在于「让一台研究用客户机启动并保持可用」需要什么。困难都在界面之下:固件要联网取签名票据才能恢复、虚拟机要能被创建、克隆与恢复、宿主必须被明确告知允许研究用客户机。在这之上是一个 CLI、一个启动器窗口,以及一个可选的本地 API,用来由别的程序驱动这台设备。
- VPhoneExecutable/VPhoneCommand
- 命令界面——325 个文件、3.98 MB,是仓库最大的一块——覆盖虚拟机生命周期、固件,以及 README 列出的各项操作。
- VPhoneVirtualization
- 112 个文件、1.51 MB 的虚拟化代码:通过 Apple 的 Virtualization.framework 与 PCC 研究用虚拟机运行客户机的层,也是宿主需求的来源。
- VPhoneLaunchpad
- 51 个文件:图形窗口,以公证过的压缩包分发——读者不必敲命令就能使用这台虚拟设备的方式。
- 自动化 API
- 一个可选的本地 HTTP 与 WebSocket 接口,让这台虚拟 iPhone 能被另一个程序驱动而不是靠手点——这是它作为研究夹具可用的那部分。
取舍,以及它替代了什么
要求实体 Apple Silicon Mac,并明确不支持 macOS 虚拟机 替代 支持嵌套虚拟化
需求一节把它写成硬限制而不是注意事项,这样工具其余部分才能假定走的是 Apple 自己的虚拟化路径。
请宿主放宽调试限制,但保留 SIP 替代 要求整体关闭保护
README 指定
csrutil enable --without debug加allow-research-guests enable,并说明其含义——SIP 仍然开启,只放宽了调试相关限制。除 CLI 与窗口之外再提供 HTTP 与 WebSocket API 替代 只做手动操作的工具
它被列为可选的自动化接口,而安全研究与逆向工程的工作流正需要这个才能复现。
依据Lakr233/vphone-cli 的 README、Documents/ 与仓库文件树,2026-10-02 读取。
制作过程
4 个阶段- 01
七个月、743 次提交、330 条共同作者尾注
仓库创建于 2026-02-26,至今仍在推送。743 次提交分布在之后每个月,其中两个高峰是三月(207 次)与九月(353 次)。330 次提交带共同作者尾注,除十来次外全部署名 Claude 模型:Opus 5.5 109 次、Opus 5 64 次、Opus 4.8 39 次、Fable 5 35 次、Opus 5(1M 上下文)24 次、Opus 5.5(1M 上下文)13 次、Opus 4.7 8 次、Opus 4.6(1M 上下文)5 次、Opus 4.8(1M 上下文)4 次、Sonnet 5.5 4 次、Opus 4.6 3 次、Sonnet 4.6 2 次,以及 Claude Code 一次。署名人的尾注有十条,多数是贡献者而不是维护者。
- 02
难的是宿主,README 把它放在最前面
需求一节写的是诚实的限制:一台实体 Apple Silicon Mac、macOS 15 或更新,并且在 macOS 虚拟机里不可用;每台虚拟机一个 64 GB 虚拟磁盘,固件还要另算;需要联网,因为恢复系统时要在线获取签名票据。动手之前要先改两处宿主设置——进恢复模式执行
csrutil enable --without debug与csrutil allow-research-guests enable——README 直接写明这意味着什么、不意味着什么:SIP 仍然开启,只放宽了调试相关限制。 - 03
这台虚拟设备能做的五件事
功能列表很短,每一条都是能力而不是形容:一个显示虚拟 iPhone 屏幕的图形窗口,可截图、可录屏;自带预打过补丁的固件,并允许安装包环境;备份与克隆,虚拟机可导出、导入、复制;一个可选的本地 HTTP 与 WebSocket 自动化接口;以及「没有额外依赖」——README 用「运行时不需要什么」来表述,即不需要 Xcode、Python 与 Homebrew。分发方式是 release 页面上的公证过的 launchpad 压缩包,README 也注明并非每个 release 都做过公证,以及怎么挑到公证过的那个。
- 04
代码实际在哪里
仓库共 845 个文件,而且分布集中:
VPhoneExecutable/VPhoneCommand占 325 个文件、3.98 MB,VPhoneVirtualization占 112 个文件、1.51 MB,VPhoneLaunchpad占 51 个文件。这个切分与它必须做的三件事对应——命令行界面、与 Apple 框架打交道的虚拟化层、把两者包起来的启动器应用——也正是这类工具应有的形状:难点在平台,不在界面。
相关档案
全部档案 →第 142 号
Jeff
一个 0.8B 的开源「系统 1」模型,配可替换的 LoRA adapter,先替大模型做掉快决定;只有它不确定时,查询才继续往下走。
第 141 号
Kev
一族建在 Qwen3.5/3.8 之上的小型决策模型,用校准过的概率回答窄问题,训练与运行都在你自己的机器上——而 333 次提交里有 134 次署名 Devin。
第 140 号
typesafe-computer-use
它把你的 Mac 推向一句白话写下的目标:OCR 与无障碍树负责读屏,TypeSafe 分类器挑下一步动作,只有需要自由文本时才叫上写作模型。一次决策约 $0.0002,也就是五十分之一美分,而前沿模型读同一张截图要 $0.032。
