还在手动点手机?AI用USB接管真iPhone
配套媒体
本页对应的 PPT 与演示视频
下载没反应?点这里复制直链
侧边栏预览窗口(Electron webview)会拦截下载,把下面的链接复制到 Chrome / Edge 地址栏打开即可保存。
../../iPhone-use-recommend.pptx../../iPhone-use-recommend.mp4还在手动点手机?AI用USB接管真iPhone
一款 3 天冲上 1,480 星的开源项目,把"AI 操作电脑"这件事,正式搬到了手机上。
手机至今仍是自动化的死角。电脑上有成熟的浏览器自动化,手机上却要么得越狱、要么得录屏截图硬啃、要么只能跑模拟器。真实 App、真实登录态、真实数据,一条都绕不过去。
现在有个项目把这条路打通了:iPhone Use。它让 Codex 通过一根 USB 线,直接操作你手里的真实 iPhone——不是模拟器,不是镜像投屏,是真机。

它到底是什么
一句话:你用自然语言说任务,Codex 去动你的手机。
打开 App、读页面、点击、滑动、输入中文、搜列表整理成表格——全程在 Codex 侧边栏里实时看着手机屏幕完成。

底层技术上,它站在 Appium 生态的肩膀上:用 Apple XCTest 框架的 WebDriverAgent(WDA) 作为手机端执行服务,Mac 上一个 本地 Python MCP 服务通过本机 loopback 转发访问 WDA,再把能力封装成 MCP 工具暴露给 Codex。
关键取舍有三点:
- 不需要越狱——走的是开发者模式 + 自签名,正规路子
- 不需要单独启动 Appium Server——不用起那套沉重的依赖
- 优先读控件树,而不是反复截图——这是它省 token 的核心设计
三层结构:为什么它比"截图 + 猜坐标"聪明

绝大多数手机自动化方案的做法是:截图 → 丢给模型 → 模型猜坐标 → 点。这套流程又慢又贵,还容易点错。
iPhone Use 的逻辑相反:先读系统给的 UI 控件树,直接拿到按钮的文字、位置、状态;只有当控件树读不出来、或者控件被遮挡时,才回退到截图让模型判断坐标。
配套的优化也很实在:
- 控件树省略重复字段,压缩 payload
- 只需要截图时不生成 XML,省一轮解析
- 连续的点击 / 输入 / 等待可以打包成一次
batch,减少模型往返次数 - 复用 HTTP 连接、WDA session 和已有构建,第二次任务不用重头再来
最新 v0.3.7 还做了一刀:砍掉了整页 XML 里一个没用到的 accessible 属性。真机实测微信、淘宝、相册三个界面,XML 体积下降 7%–8%,UI 节点信息完全等价。
它到底能做哪些事
这是 README 里给的九类能力,覆盖面比想象中全:

挑几个真正离不了人的场景说:
跨 App 跑腿。 "读取这个列表,分段滚动并去重,说明已经覆盖的范围和还未确认的部分"——它会老实告诉你哪些读到了、哪些没确认,不会假装读完了。
中文长文本。 一次性喂完整段 Unicode 文字,长文本自动分段 + 支持续传。输入和提交是分开的,工具默认不替你点发送——核不核对是自己说了算。
失败自愈。 控件被遮挡、没聚焦、树不完整时,它会主动看新截图重新选位置;约定不一致(遮挡、滚动没进展、输入不符)就暂停,而不是盲目重放。
17 个 MCP 工具,颗粒度很细
README 列了 17 个给模型用的工具,另有 2 个只给屏幕挂件用。按职责拆得很清楚:

这套工具设计里我最认可的是 pua_collect_list 和 pua_scroll_find:有界滚动 + 重叠读取 + 去重 + 明确返回覆盖边界。做列表采集的人都知道,模型最容易犯的错就是只读了前三屏就宣称"全部采集完毕"。它从接口层面把这个谎堵死了。
七个技术工程细节

其中三条我觉得是判断一个 Agent 工程是否成熟的标志:
- 截图回退的坐标换算:图像像素经
image.pixel_to_point转成 iPhone 点坐标再交给pua_tap,不是直接把像素坐标丢过去 - 明确失败语义:动作超时或断线会标记"不确定",要求先读实际状态,避免盲重
- 屏幕流不落盘:预览走独立的 WDA 屏幕流,不占 I/O,也不留存你的手机画面
上手门槛:实话实说,不低
得先把丑话说前面。这活儿要求的东西不少:

拆开看,真正的硬门槛是三个:
- 完整 Xcode(只有 Command Line Tools 不够),且要支持你手机当前的 iOS 版本
- 能在 Xcode 用的 Apple 账号和开发团队,用来给手机端 WDA Runner 签名
- USB 连接的真实 iPhone,要信任这台 Mac、开开发者模式、安装期间保持解锁
Apple 账号登录、设备信任、开发者模式这几步,仍然得你本人在系统界面点——这点绕不过去。
安装本身倒是很短:
git clone https://github.com/zhongerxin/iPhone-use.git
cd iPhone-use
sh scripts/install.sh
装完在 Codex 里让 iphone-use-setup 技能引导配置:它会发现设备、用你自己的团队签名、搞定 WDA 构建启动,直到 pua_ready 返回 ready=true。
注意:Apple 会自动起 telemetry。默认是往独立的 PostHog 项目发匿名统计(启动、工具调用、连接状态、耗时、错误类别),用随机安装标识,明确不上传手机画面、输入内容和设备标识。介意的话设
IPHONE_USE_ANALYTICS=0或DO_NOT_TRACK=1重启 MCP 服务即可。
横向对比:该怎么选
市面上做 iPhone 自动化的不止一家,按你的场景挑:

简单说:
- 要在 Codex 里用、要实时屏幕、要完整工具链 → iPhone Use
- 要脱离 Codex、走 CLI / HTTP / 浏览器自己集成 → leeguooooo/iphone-use
- 要工程化回归测试、跨平台 → Appium 仍是正统
- 想不开开发者模式、用官方镜像能力 → iPhone Mirroring 方案
总结
iPhone Use 值得关注的地方,不在于"AI 会玩手机"这个噱头,而在于它把手机自动化当成了一个正经工程来做。
先用控件树省 token、再用截图兜底;batch 减少往返、失败要显式标注不确定;列表采集必须交代覆盖边界。这些都是长期被 Agent 工具忽略的细节。
推荐指数:★★★★☆
适合人群:macOS + iPhone 用户、正在搭 Agent 工具链的开发者、需要跑真机回归的 iOS 测试、想批量处理手机端重复任务的人。
先决门槛要认清楚:没有 Xcode 签名环境就别硬上了。
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | github.com/zhongerxin/iPhone-use |
| 星标 | 1,480(创建 3 天) |
| 协议 | MIT |
| 语言 | Python |
| 最新版本 | v0.3.7(2026-10-09) |
| 依赖基石 | Appium / WebDriverAgent / appium-ios-device |
| 系统要求 | macOS + Codex + 完整 Xcode + USB 真机 |
本文所有数据与截图均来自项目 README 与官方仓库,未经二次加工。