TouchSynthesis 是一个运行在 iOS 设备本地的触控自动化与屏幕串流项目,由开发者 willfaust 在 GitHub 上开源。它让局域网内的客户端通过 TCP 连接直接查看 iPhone 屏幕并驱动设备操作,全程不需要 Mac、不需要越狱,也不需要 WebDriverAgent。项目采用「自运行器」思路,在同一个进程里同时扮演 IDE 与测试运行器两个角色,绕开了 iOS 26 上 AMFI 剥离环境变量导致独立 runner 无法启动的限制。
首次配置约需 60 秒,完成 VPN 回环、Lockdown 配对、心跳保活、CDTunnel 与 DTX 通道建立后,即可通过 XCTest 私有 API 合成触控事件并请求截图,实现点击、滑动、捏合、键盘输入与硬件按键等操作。
痛点是什么
过去想在 iPhone 上做自动化,门槛相当高。要么依赖一台 Mac 常驻运行 WebDriverAgent,要么需要越狱,要么受限于 Appium 等框架的繁琐链路。对于想在手机上跑 AI Agent、做批量点击或远程看屏的用户来说,电脑成了绕不开的中间环节,一旦离开电脑,自动化就彻底停摆。iOS 26 之后,系统进一步收紧了进程环境变量传递,原本可用的独立测试运行器方案直接失效,很多老教程和工具在新系统上跑不起来,用户被迫在升级系统与保留自动化能力之间二选一。
主要功能特点
TouchSynthesis 把设备端自动化所需的关键能力都收进了一个 App 内,通过本地 TCP 协议对外暴露,整体设计偏向底层与轻量。
设备端触控合成
在进程内直接构造指针事件路径,同步合成点击、滑动与捏合等手势。
屏幕串流
通过已建立的 XPC 会话持续请求 JPEG 截图,约 15 至 25 FPS。
TCP 远程控制协议
端口 8347 上以长度前缀 JSON 通信,支持触控中继与截图流。
无需电脑与越狱
自运行器架构让设备独立完成自动化,不依赖 Mac 或 WDA。
为什么值得关注
它把「手机自己控制自己」这件事真正落地了,为移动端 AI Agent 与远程操作提供了新的可能,也让 iOS 自动化不再被电脑绑死。
摆脱电脑依赖
设备端自运行,局域网客户端即可看屏与操作,部署更自由。
适配 iOS 26 新限制
用 setenv 保留会话标识,绕开 AMFI 环境变量剥离问题。
协议开放可扩展
TCP 加 JSON 的接口简单清晰,便于接入各类自动化客户端。
项目源码托管在 GitHub,适合对 iOS 底层自动化、AI Agent 操控手机感兴趣的开发者研究。
我靠,这个是怎么做到的?
这相当于我可以脱离电脑的 Codex 和 Claude Code 来自动操作手机。也就是说,它是不是直接 hack 掉了手机上的 Claude Code 和 ChatGPT 的 API?
https://github.com/willfaust/TouchSynthesis