ESP32 iPhone 操作代理

用 ESP32-S3 和视觉模型自动操作真实 iPhone,无需运行时电脑。

Star 数
★ 3.2k
最近更新
1 天前
License
MIT
主语言
C

30 秒速览

运行形态
桌面应用
可在哪里用
通用 · 跨平台OpenAI API
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
安装 Xcode 的 Macarduino-cliESP32 core 3.3.xNimBLE-Arduino 2.5.1运行 iOS 18 或更高版本的 iPhone带原生 USB 和 PSRAM 的 ESP32-S3 开发板兼容 OpenAI 的视觉模型端点和 API 密钥Shell / 命令行网络访问本地文件系统
典型场景
想用自然语言设置闹钟的 iPhone 用户,可让代理打开时钟、填写时间、选择重复日期并保存。
不适合
  • 需要横屏应用自动化的用户
  • 需要输入非 ASCII 字符的用户
  • 无法使用蜂窝数据连接模型的用户

这个 Agent 能做什么,适合哪些场景?

这是一个由 iPhone 应用和 ESP32-S3 开发板协作运行的手机操作代理。开发板通过 AirPlay 接收 iPhone 屏幕镜像,并通过 USB HID 模拟鼠标和键盘;应用经 BLE 接收画面,再将截图发送给兼容 OpenAI 的视觉模型。应用中的规划器和执行器根据模型结果执行点击、滑动、绘制、输入文字、按键、返回主屏幕或结束任务等操作。开发板使用自己的 Wi-Fi 热点连接手机,模型请求则通过蜂窝网络发送。首次刷写固件和构建应用需要装有 Xcode 的 Mac,运行任务时不需要电脑。

将 ESP32-S3 插入 iPhone,在应用中通过 Bluetooth 配对开发板,连接其 Wi-Fi 热点并在控制中心选择“ESP32 Agent”进行屏幕镜像。应用解码开发板经 BLE 转发的 H.264 画面,将截图发送到配置的视觉模型端点,由规划器和执行器生成并执行点击、滑动、绘制、ASCII 键盘输入、按键或返回主屏幕等动作。每步结束后,应用等待画面稳定并检查变化;连接中断时会暂停并从当前步骤恢复。每次运行保存在手机中,可逐步回放,也可导出截图、动作和标注。

  1. 想用自然语言设置闹钟的 iPhone 用户,可让代理打开时钟、填写时间、选择重复日期并保存。
  2. 需要重复进入 iOS 设置页面的用户,可让代理打开设置并导航到指定页面。
  3. 希望在没有运行时电脑的情况下操作 iPhone 的个人用户,可使用手机应用和插在手机上的 ESP32-S3。
  4. 测试手机自动化流程的开发者,可回放运行步骤,并导出截图、动作和标注供分析。
  5. 运行自托管视觉模型的用户,可将应用配置为连接 vLLM、SGLang、llama.cpp 或 Ollama 等兼容端点。

如何安装或部署这个 Agent?

首次安装需要一台 Mac:安装 arduino-cli、ESP32 core 3.3.x 和 NimBLE-Arduino 2.5.1,然后刷写开发板。再复制 Xcode 配置示例,填写开发团队和应用 Bundle ID,并用 Xcode 将 IPhoneAgent scheme 安装到 iPhone。项目由 XcodeGen 根据 ios/project.yml 生成。免费 Apple ID 可用于签名,但需要每 7 天重新签名;一键加入热点需要付费开发者账号提供的 Hotspot Configuration capability。

如何使用这个 Agent?

把开发板插入 iPhone 并打开 ESP32 Agent 应用。按应用引导完成蓝牙配对、加入开发板热点、在控制中心开启 Screen Mirroring,以及启用 AssistiveTouch 和指针校准。随后输入视觉模型端点和密钥,再输入任务并点击 Start。

这个 Agent 有哪些优点和局限?

优点
  • AirPlay 接收和 USB HID 操作集成在 ESP32-S3 开发板中,任务运行时无需电脑。
  • 应用支持任意兼容 OpenAI 且接受图像的聊天 API,包括云端服务和自托管端点。
  • 运行记录保存在手机上,可逐步回放并导出截图、动作和标注。
  • 连接丢失时会暂停任务,并从同一步骤恢复。
局限
  • 需要 iOS 18 或更高版本的 iPhone、带原生 USB 和 PSRAM 的 ESP32-S3,以及首次刷写和构建用的 Mac 与 Xcode。
  • BLE 带宽约为 300–500 kbps,镜像约为 480×1040、最高 5 fps,每个步骤通常需要几秒。
  • 应用使用私有 iOS suspend API;项目说明此实现尚需在上架 App Store 前替换。
  • 仅支持 ASCII 输入和竖屏坐标;锁屏或部分密码、Apple Pay、DRM 视频画面无法镜像。

这个 Agent 与同类方案有什么区别?

相较于 VersaiOS,本项目不需要运行 UxPlay 的电脑,并支持连续多步指令;相较于 ja1chen/actell,本项目不依赖 Developer Mode 和 Developer Disk Image;相较于 boboabw/phone-agent,本项目还通过开发板上的 AirPlay 接收手机画面。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
ESP32 iPhone 操作代理 当前 58 · 缺口较多 桌面应用免费 + 模型费 ★ 3.2k 1 天前 C OpenAI API
mobile-use:自然语言操控手机的开源智能体 33 · 缺口较多 命令行工具免费 + 模型费 ★ 3.3k 今天 Python OpenAI API · Claude API
AppAgent 0 · 缺口较多 命令行工具免费 + 模型费 ★ 6.9k 1 年前 Python OpenAI API
Nuphus 桌面自动化 MCP 72 · 存在缺口 MCP 服务器免费 + 模型费 ★ 326 5 天前 Rust Claude.ai · OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
58/ 100 五分制 2.9 / 5
信任安全 13/29
可靠稳定 8/14
适用触发 12/18
规范维护 12/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全13 / 29 · 2.2/5

README说明应用将屏幕图像发送到兼容视觉模型、按步骤执行触控和键盘动作,并称模型密钥保存在 Keychain;安全文档列出 BLE、热点、AirPlay 接收器和未由用户启动的执行风险。启动任务需用户操作且可停止,但证据未展示细粒度权限控制、敏感截图处理、数据保留控制或动作撤销机制,因此这些方面扣分。README与 LICENSE 对 MIT 和 AirPlay 派生部分的 GPL-3.0 作了归属说明;未提供依赖漏洞审查证据。

可靠稳定8 / 14 · 2.9/5

README描述断连后暂停并从当前步骤恢复,CI 配置涵盖 iOS、固件和旧版服务器构建或测试,旧版测试还检查解析错误及无板连接错误。这支持一般可靠性,但给出的材料没有说明新 iOS 与固件路径的具体用户可见故障信息,故失败反馈仅给部分分。

适用触发12 / 18 · 3.3/5

README面向希望用真实 iPhone 自动化的用户,列出硬件、iOS、模型接口和配置要求;明确说明不能处理部分受保护屏幕、锁屏、横屏和非 ASCII 输入。任务从用户输入或已保存任务触发,边界及环境要求较清楚,但适用场景和触发条件仍以概述为主。

规范维护12 / 18 · 3.3/5

项目布局、快速开始、示例任务、相关文档和限制均有说明;MIT 许可及 AirPlay 代码的 GPL-3.0 例外清楚。当前架构与旧版标签、分支有交代,但未见正式变更日志;维护责任只由贡献入口、安全报告渠道及未验证发布者信息部分说明,因此相应得分有限。

有效结果9 / 13 · 3.5/5

产品把镜像、视觉模型规划和 USB HID 操作整合到手机自动化流程,并提供步骤回放与轨迹导出,具有明确用途。README也披露低带宽、低帧率、模型延迟及蜂窝网络依赖;没有材料量化成功率或成本收益,故不给满分。

证据核验4 / 8 · 2.5/5

README对硬件、安装、数据流和限制给出具体描述,CI 与旧版测试文件支持部分工程主张;但演示、兼容性和当前版本行为主要由 README 陈述,给出的文件之间独立交叉佐证有限。说明中区分当前版与旧版及已知限制,未把未执行的测试当作已验证结果。

风险与缓解建议
  • 执行会通过 USB HID 操作真实手机;只对获准使用的设备和账户运行,并在任务期间留意动作,确保停止入口可用。
  • 屏幕图像会发送到所配置的视觉模型端点;配置云端端点时应考虑截图可能包含个人或敏感信息。
  • 材料说明横屏、非 ASCII 输入、部分受保护屏幕及锁屏镜像不受支持;性能受 BLE 带宽和蜂窝网络影响。
证据充分度:低 评估于 2026年10月17日 审查版本 6dec6a60ecdb 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.1.0 v0.1.0 — AirPlay + ESP32 USB HID (computer in the middle)
    发布说明摘录
    First tagged release: the original architecture, before the next big redesign. - Eyes: the iPhone mirrors its screen over AirPlay to UxPlay on a Mac or Linux computer. - Hands: a ~$7 ESP32-S3 plugs into the iPhone's USB port as a mouse + keyboard (AssistiveTouch pointer), connected to the computer over Wi-Fi. - Brain: any OpenAI-compatible vision model (demo: Qwen3.8-Flash-Next on two DGX Sparks). - No Mac required, no developer account, no jailbreak. Known limits: portrait apps only, ASCII-only typing, ~1.3 s per step. …
    在 GitHub 查看 ↗

常见问题

运行时需要 Mac 吗?
不需要。Mac 和 Xcode 只用于首次刷写开发板和构建应用。
必须购买 Apple 开发者账号吗?
不一定。免费 Apple ID 可以签名安装,但需要每 7 天重新签名。一键加入热点需要付费账号提供的 Hotspot Configuration capability;没有它时可手动输入热点密码。
模型密钥存在哪里?
README 说明端点和密钥在应用中配置,密钥存储在 Keychain。模型请求通过蜂窝数据连接。
哪些屏幕或操作可能无法使用?
iOS 不镜像密码输入、Apple Pay 和 DRM 视频等部分屏幕;手机锁定时镜像会停止。横屏应用和非 ASCII 文字输入目前也不支持。
如果开发板或镜像连接中断会怎样?
应用会暂停运行,并在连接恢复后从同一步骤继续。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents