phone-eye:通過視覺與 UI 樹融合讓 AI 代理操作真實 Android 手機

前言

在開發智能體時,讓代碼在真實的 Android 設備上運行是一個常見需求。Phone-Eye 旨在解決這個問題。它通過 adb 在設備上提供視覺和操作能力,讓 AI 代理能夠“看”到屏幕並執行點擊、滑動等操作。這是通過將視覺模型與 UI 樹(Accessibility Tree)融合實現的,適用於任何 MCP 客戶端。

這是什麼

Phone-Eye 是一個開源的 MCP 插件,能夠讓 AI 代理通過 adb 直接看到並操作真實的 Android 手機。它不需要在手機上安裝額外的應用,也不需要 Root 權限或額外的服務器。

  • 核心能力:視覺 + UI 樹融合。
  • 支持對象:任何 MCP 客戶端(Claude Code、Codex、DSH 等)。
  • 維護者:boheastill。
  • 許可證:MIT。

核心功能

Phone-Eye 提供了以下核心能力:

  1. 視覺感知:能夠獲取屏幕截圖並讀取屏幕內容。
  2. 屏幕操作:支持點擊、滑動和打字。
  3. 穩定性:支持 Wi-Fi ADB 斷開連接後的自動重連,確保連接穩定。
  4. 無監督運行:支持 24/7 無監督運行,遇到意外彈窗時,代理會讀取並處理這些彈窗。
  5. 多設備支持:支持連接多部手機,每個手機需要單獨運行一個 phone-eye 進程,通過設置 ANDROID_SERIAL 環境變量進行區分。

安裝與啓用

安裝前請確保電腦上已安裝 Python 3.10+ 和 git。

  1. 克隆倉庫並安裝依賴:
    git clone https://github.com/boheastill/phone-eye && cd phone-eye && pip install -r requirements.txt
  1. 配置環境變量(以設置視覺模型 API Key 爲例):
    export PHONE_EYE_VISION_API_KEY=<your_api_key>
  1. 啓動服務:
    python server.py

典型用法

Phone-Eye 適用於以下場景:

  • 移動 Web QA 循環:驗證智能體在真實屏幕上的工作結果。
  • OEM 設置嚮導:智能體處理設備啓動時的各種彈窗。
  • 表單迴歸檢查:自動化測試表單的填寫和驗證。
  • 無監督哨兵:讓智能體在夜間值守,喚醒設備、解鎖、操作並截圖。

適用場景與注意

在部署 Phone-Eye 時,需要注意以下限制和注意事項:

  • 鎖屏限制:鎖屏狀態下,屏幕可以讀取,但無法進行操作。
  • 輸入法限制:打字功能僅支持 ASCII 字符;中文輸入需要使用剪貼板技巧。
  • 新設備控制:在手動啓用 USB 調試之前,無法完全控制一部全新的手機。
  • 首次授權:在新的電腦上連接手機時,第一個“允許 USB 調試?”的彈窗需要人工點擊一次。
  • 廠商 ROM 限制:某些廠商 ROM(如 MIUI)會限制鎖屏狀態下的輸入操作。
  • 操作系統:目前不支持 iOS。
  • 視覺質量:視覺效果取決於所使用的模型。
  • 部署要求:手機上無需安裝應用,不需要 Root 權限,也不需要額外的服務器。

結尾

Phone-Eye 通過結合視覺模型與 UI 樹,爲 AI 代理提供了操作真實 Android 設備的能力。對於需要進行自動化測試、設備操作或需要物理交互的智能體開發場景,這是一個實用的工具。更多細節和使用示例,請參考其 GitHub 倉庫。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜