Phone Harness 是一个轻量级Python工具,让AI Agent能够远程控制Android和iOS设备。它通过ADB(Android)和tidevice(iOS)协议建立与手机的连接,将屏幕截图、点击、滑动、输入等操作封装为简洁的Python API。AI Agent可以通过这些API操作手机上的任何App,实现自动化测试、数据采集、智能助手等场景。
如果你对Agent自动化框架感兴趣,可以参考 Agent Reach多平台搜索教程 了解Agent如何与多个平台交互。
| 能力 | Android | iOS | 技术实现 |
|---|---|---|---|
| 屏幕截图 | ✅ ADB | ✅ tidevice | 返回PIL Image |
| 点击操作 | ✅ ADB tap | ✅ tidevice | 坐标点击 |
| 滑动操作 | ✅ ADB swipe | ✅ tidevice | 方向+距离 |
| 文本输入 | ✅ ADB text | ✅ 辅助输入法 | UTF-8文本 |
| 按键事件 | ✅ Home/Back | ✅ 系统按键 | KeyCode映射 |
| App管理 | ✅ 启动/停止 | ✅ 启动/停止 | 包名操作 |
| 文件传输 | ✅ push/pull | ✅ 上传/下载 | 设备文件系统 |
# 安装 Phone Harness
pip install phone-harness
# Android依赖:安装ADB
brew install android-platform-tools # macOS
# Windows: 下载platform-tools添加到PATH
# iOS依赖:安装tidevice
pip install tidevice
# 验证设备连接
adb devices # Android
tidevice list # iOS
# 测试连接
python -c "from phone_harness import Phone; p = Phone('android'); p.screenshot()"
以下展示AI Agent通过Phone Harness控制手机完成消息发送任务:
from phone_harness import Phone
import pytesseract
# 连接Android设备
phone = Phone(platform="android", device_id="XXXXXX")
# 1. 截屏并识别文字
screen = phone.screenshot()
text = pytesseract.image_to_string(screen, lang="chi_sim")
print("屏幕文字:", text)
# 2. 点击微信图标
phone.tap(500, 1200)
phone.wait(2)
# 3. 进入聊天
phone.tap(300, 800)
phone.wait(1)
# 4. 输入消息并发送
phone.input_text("AI Agent代发:明天开会")
phone.tap(900, 1800) # 发送按钮
# 5. 滑动查看历史消息
phone.swipe(500, 1500, 500, 500, duration=300)
# 6. Agent决策循环
def agent_send_message(contact: str, message: str):
"""AI Agent通过屏幕操作发送微信消息"""
screen = phone.screenshot()
coords = ai_analyze(screen, f"点击{contact}的聊天")
phone.tap(*coords)
phone.wait(1)
phone.input_text(message)
phone.tap(900, 1800)
agent_send_message("张三", "AI代发:明天开会")
| 特性 | Phone Harness | Appium | Maestro |
|---|---|---|---|
| 语言 | Python | 多语言 | YAML |
| iOS支持 | ✅ tidevice | ✅ WebDriverAgent | ✅ |
| AI Agent友好 | ✅ 原生设计 | 需封装 | ❌ |
| 学习曲线 | 低 | 较高 | 极低 |
| 轻量级 | ✅ 单包 | 重量级 | 中等 |
| OCR集成 | ✅ Tesseract | 需插件 | ❌ |
Phone Harness 是一个轻量级Python工具,让AI Agent能够远程控制Android和iOS设备。它通过ADB(Android)和tidevice(iOS)协议建立与手机的连接,将屏幕截图、点击、滑动、输入等操作封装为简洁的Python API。AI Agent可以通过这些API操作手机上的任何App