推文
@hr98w · 2026-10-14 14:05
最近 iPhone-use 挺火,梳理了一些主流的实现方案。同样是让 AI 操作 iPhone,Agent 在哪里运行、如何读取屏幕、怎么执行动作,其实很不一样。 1. 首先是 @zhongerxin 的 iPhone-use,是比较典型的解决方案 电脑上的 Agent 通过 WebDriverAgent(WDA)操作手机。WDA 和目标 App 都在同一台 iPhone 上,底层由 XCTest 执行点击、滑动和输入。 支持原生元素信息和截图,可以按按钮文字定位,也可以看图点坐标。当前工作流需要 Mac、Xcode、开发签名,以及电脑上的 Agent、MCP 和转发服务。 https://github.com/zhongerxin/iPhone-use 2. @wsvn53 的 OpenMinis/iCTRL iCTRL 自己实现了 XCTest Runner 和接口,提供原生元素查询、截图、OCR 和输入操作。Runner 和目标 App 在同一台 iPhone 上,底层仍是 XCTest。 Agent 可以在电脑,也可以在同一台手机上,因此日常运行可以不依赖电脑常驻。不过,签名、Developer Mode、DDI 和测试 Runner 的运行环境仍需要准备。非常喜欢的一个硬核项目。 https://github.com/OpenMinis/iCTRL 3. @iamhenryyuan 的 esp32-iphone-agent,通过模拟鼠标+键盘操作 电脑通过 AirPlay 获取手机画面,视觉 Agent 决定动作,再通过 Wi-Fi 给 ESP32-S3 发命令。板子模拟 USB 鼠标键盘,负责执行输入。 输入执行不依赖手机测试 Runner,但需要电脑运行 Agent 和投屏接收器。可以用 Linux。 https://github.com/onehumanbeing/esp32-iphone-agent 4. 我自己做的 anan-iphone-use 仿照 3 的原理,在 ESP32-S3 上部署了 MCP Server,模拟 USB 鼠标键盘执行点击、拖动和输入。同一根 USB 线同时承载网络通信和输入操作。 我在 iPhone 上安装了自己的客户端 agent,这样就避免了 AirPlay/投屏/电脑的引入,只需一部手机。理论上任何支持 MCP 的 client 都可以通过这个方式控制 iPhone,无需 XCTest,WDA,无需模拟器。 https://github.com/ananhq/anan-iphone-use 原理对比图如下👇
曝光 2037 · 评论 7 · 点赞 27 · 书签 48 · 曝光/时 1336.4743755443892