zhongerxin/iPhone-use

让 Codex 通过 USB 操作真实 iPhone:引导安装、App 自动化、实时屏幕与截图回退。

解決する問題

実際のiPhoneを手で操作するのは遅くて繰り返しが多いです。このプロジェクトにより、Codex、WorkBuddy、豆包工作などのAIコーディングアシスタントがUSB経由で実際のiPhoneを操作できるようになり、プレーンな言語でタスクを説明すると、アシスタントがアプリを開いたり、画面を読んだり、タップ、スクロール、タイピングを自動で行います。また、サイドバーに電話の画面を表示してライブ監視できます。

仕組み

このプロジェクトは、iPhone自体で動作するオープンソースの自動化サービスであるWebDriverAgent(WDA)を使用します。アシスタントはローカルのMCP(モデルコンテキストプロトコル)サーバーを介してWDAと通信し、USB経由でコマンドを転送し、画面をストリーミングします。一度のセットアップで、AppleアカウントとXcodeを使用してWDAを電話にインストールして署名します。セットアップ後、アシスタントは18のツールを呼び出して、画面の検査、UI要素の検索、タップ、スワイプ、テキスト入力、バッチ操作、失敗からの回復を行うことができます。要素の位置特定が失敗した場合は、スクリーンショットを見て座標でタップするフォールバックに切り替わります。画面プレビューウィジェットはアシスタントのサイドバーで実行され、直接クリック、ドラッグ、スクロールをサポートします。

対象者

macOSでCodex、WorkBuddy、豆包工作を使用し、USBで接続された物理的なiPhoneでタスクを自動化したい開発者やパワーユーザー。完全なXcodeを備えたMac、Python 3.9以上、Node.jsとnpm、署名用のApple開発者アカウント、開発者モードが有効なロック解除済みのiPhoneが必要です。

ハイライト

  • ローカルUSB接続: すべてのトラフィックはMac上に留まります。クラウドやAppiumサーバーは不要です。
  • 既存の作業を再利用: 健全なWDAセッションと以前のビルドを再利用して、繰り返しのセットアップを回避します。
  • コンパクトな観察と組み合わせアクション: コントロールツリーが簡素化され、スクリーンショットは必要なときだけ撮影され、バッチ/スクロール/収集ツールがアシスタントの往復を減らします。
  • 非同期セットアップ: ダウンロード、ビルド、起動はクエリ可能なジョブIDを返し、重複起動を回避します。
  • スクリーンショットフォールバック: 要素検索が失敗した場合、システムはスクリーンショットを返し、アシスタントはピクセルからポイントへの変換でタップポイントを選択します。
  • 明確な失敗セマンティクス: 操作ロックが競合するアクションを防ぎ、あいまいな結果はマークされ、アシスタントは再試行前に実際の状態を読み取ります。
  • 一時停止/再開付きライブ画面: プレビューはiPhoneのシェル、ステータス、ジェスチャーを表示します。ユーザーがロック解除や認証を行う必要がある場合、マスクが画面を覆い、その後自動的に再開します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト