通过一台 Mac 作为"全程传输层",让 Claude Code、Codex 等 AI 代理操控你的真机 iPhone 或 Android——无需越狱、无需 Xcode、无需 WebDriverAgent、无需在手机上装 App。核心能力围绕iPhone感知、iPhone操作、Android展开。

| 项目 | 内容 |
|---|---|
| 仓库 | ShawnPana/phone-harness |
| 语言 / 许可证 | Python / 未标注 |
| 总星标 | ⭐ 2062(截至 2026-08-26) |
| 创建时间 | 2026-08-07 |
| 榜单 | 近30天新星榜 第12名 |
通过一台 Mac 作为"全程传输层",让 Claude Code、Codex 等 AI 代理操控你的真机 iPhone 或 Android——无需越狱、无需 Xcode、无需 WebDriverAgent、无需在手机上装 App。
"给代理一双手"是当下 harness 类项目的热门方向,而它把方案做到了极简:iPhone 复用 macOS 的 iPhone Mirroring 窗口,Android 只走 adb,感知与操作完全本机完成。README 直白地自称"穷人版 DOM",加上一段可直接粘进 Claude Code 的自然语言安装提示词,让代理自己完成安装与技能注册,这种"agent-friendly"体验极具传播性。
核心在 `src/phone_harness/`:`transport.py` 是唯一接缝(操作词汇表 + `connect("ios"|"android")`),`helpers.py` 提供平台无关原语;iOS 侧由 `ios.py/mirror.py/ocr.py` 处理窗口发现、聚焦、截屏与 Vision OCR;Android 侧 `android.py` 封装 adb 与配对。两侧每次调用均无状态、无常驻守护进程。
要求 macOS Sequoia+(iPhone Mirroring 所需)、终端的辅助功能与屏幕录制权限;Android 需开发者模式 + USB 或无线调试。安装方式是把这段提示词交给你的编码代理执行:
Set up phone-harness for me. Clone https://github.com/ShawnPana/phone-harness into ~/.phone-harness ... register it as an agent skill named phone-harness using `phone-harness skill` as the body ...
随后 onboarding 引导配对,`phone-harness --doctor` 验证环境。
./phone-harness <<'PY'
open_app("Notes")
tap_text("New Note")
type_text("hello from the harness")
print([o["text"] for o in ocr()][:10])
PY
相比 Appium、WebDriverAgent 一类重型移动自动化框架,phone-harness 不需要任何手机侧注入,代价是没有元素等待机制与多平台 CI 能力;相比纯 adb 方案,它把 iPhone 这条"无越狱"路径补齐了。两者同源互补:iOS 走镜像窗口,Android 走原生 adb。