Phone Harness:让AI Agent掌控你的手机

仓库:ShawnPana/phone-harness  |  ⭐ 1.6k  |  语言:Python  |  协议:MIT

项目简介

Phone Harness 是一个轻量级Python工具,让AI Agent能够远程控制Android和iOS设备。它通过ADB(Android)和tidevice(iOS)协议建立与手机的连接,将屏幕截图、点击、滑动、输入等操作封装为简洁的Python API。AI Agent可以通过这些API操作手机上的任何App,实现自动化测试、数据采集、智能助手等场景。

如果你对Agent自动化框架感兴趣,可以参考 Agent Reach多平台搜索教程 了解Agent如何与多个平台交互。

核心功能与架构

能力AndroidiOS技术实现
屏幕截图✅ 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 HarnessAppiumMaestro
语言Python多语言YAML
iOS支持✅ tidevice✅ WebDriverAgent
AI Agent友好✅ 原生设计需封装
学习曲线较高极低
轻量级✅ 单包重量级中等
OCR集成✅ Tesseract需插件

📚 常见问题

Phone Harness是什么?

Phone Harness 是一个轻量级Python工具,让AI Agent能够远程控制Android和iOS设备。它通过ADB(Android)和tidevice(iOS)协议建立与手机的连接,将屏幕截图、点击、滑动、输入等操作封装为简洁的Python API。AI Agent可以通过这些API操作手机上的任何App