最近 AI 操控手机的话题已经不算新鲜,各家厂商的 AI 手机、社区里的物理控机方案早就把“点屏幕、滑列表”这些动作卷了个遍。不过前豆包产品经理钟二信开源的 iPhone Use 还是让我多看了几眼——发布没多久就拿下了 4000 多个 Star。

一开始我也怀疑,这赛道不是被大厂卷烂了吗?一个个人项目凭什么还有这么高热度?看完实现思路后发现,它切入的角度很巧妙:用一根普通 USB 数据线把真 iPhone 接到电脑上,就能让 Codex、WorkBuddy 或者豆包直接在真机上运行,直接操作你手机里的 App。

下面看看它具体解决了哪些问题。
不越狱也不上云,把最麻烦的 WDA 安装搞定
做过 iOS 自动化的人应该清楚,真机上的操作主要依赖底层驱动。iPhone Use 底层走的路子很聪明:它复用了 Facebook 当年开源、后来由 Appium 社区维护的 WebDriverAgent,也就是大家常说的 WDA。

WDA 相当于跑在手机里的一个驻留执行服务,但作者厉害的地方在于,他没丢给你一句“请自行安装 WDA”,而是写了一整套自动化的本地 MCP 服务。搞过这套东西的人都懂,自己改 Bundle ID、编译源码、处理端口转发,随便一个报错就能折腾一整天。iPhone Use 把这些脏活累活全包了,脚本在后台异步完成签名和构建。
更关键的是,整个通道都跑在本地环回地址上,数据不上云。临时截图和签名文件都留在你电脑里,不用担心隐私被传到某台未知服务器上。
控件点不动时,它会偷偷看截图
iOS 最让人无语的就是各种自绘界面和非原生弹窗。抓取页面控件树时,有些按钮根本没有名字,层级又深,大模型拿到一堆乱码就直接罢工。iPhone Use 在这里做了一个很务实的兜底设计。

平时它会把控件树狠狠瘦身,去掉冗长前缀,帮大模型节省上下文。

一旦遇到抓不到节点或按钮被遮挡的情况,它不会死磕,而是立刻截一张手机屏幕原图丢给模型。模型在后台查看截图,圈出按钮大致范围,然后用自带的点位工具把图片像素换算成 iPhone 的点坐标,直接按坐标点下去。先查文字属性,查不到就靠看图算坐标。这种双保险机制,把任务一次性跑通的概率提升了不少。
侧边栏实时投屏,随时准备人工接管
整个项目用起来最爽的就是自带的悬浮交互窗口。你在电脑上和大模型聊天时,侧边栏会实时显示一个和真机一模一样的画面。模型点哪里、划哪里,屏幕边缘和光标都会给出实时提示。

另一个亮点是人工接管机制。很多纯自动化脚本遇到锁屏密码或者 Face ID 刷脸就会彻底卡死。而在这个投屏画面上,你可以直接用鼠标点击,或者用触控板双指滑动,动作会瞬间同步到手机。进行敏感操作时,还会弹出一个半透明遮罩,提示你接下来需要亲自上手。等你在手机上付完款、输好验证码,遮罩一退,模型再接着干活。
门槛和边界还是挺高的
虽然用起来顺手,但还是要泼一盆冷水,别脑子一热就冲。
硬件和系统这道坎很硬:必须有一台安装了完整版 Xcode 的 Mac,目前 Windows 和 Linux 还玩不了。
再就是大家心知肚明的风控红线。之前一些厂家自带的自动化操作,因为发消息太频繁被微信风控,相信不少人还有印象。平台对非官方接口非常敏感,高频自动化本身就带着封号风险。作者也做了防范,把内容输入和最后点击发送拆开,不让 AI 替你直接发出消息。
拿它查个日程、点一份固定的外卖草稿没有太大问题,但如果你打算把它当微信自动群发工具,或者拿去做电商抢购,真心劝你收手,别用主力账号以身试险。
本地跑起来折腾一下
如果手边正好有闲置 iPhone、一根数据线,以及一台配置尚可的 Mac,想体验一下物理接管的感觉,可以按下面步骤来。
先准备好 Python 3.9+ 和 Node.js 环境,然后拉取源码:
git clone https://github.com/zhongerxin/iPhone-use
cd iPhone-use
sh scripts/install.sh
脚本跑完后,在你的 Codex 或兼容 MCP 的客户端里就能看到对应的手机工具链。如果第一次连接提示找不到设备,可以先跑一下环境诊断:
pua_doctor
把手机解锁后插到电脑上,看到侧边栏那台虚拟 iPhone 缓缓亮起的瞬间,确实有种大模型真正摸到物理世界的奇妙感觉。
对这套工程实现好奇的朋友,可以顺着代码研究研究。项目地址:https://github.com/zhongerxin/iPhone-use。也欢迎到 云栈社区 一起交流。