onehumanbeing/esp32-iphone-agent

同じiPhoneのアプリがAIに画面の判断を任せ、ESP32-S3がUSBでタップ・スワイプを送る自動化ツール

PROインストール型ツール自由に使える · MIT自動化・ワークフローC難易度
4,072+585今週0 保存
539フォーク11Issue

中辛 の解説

目標 → 画面 → 入力 → 再確認

ESP32 iPhone Agentは画像を読めるモデルに次の操作を問い合わせ、実際のiPhoneへタップ・スワイプを送るプロジェクトです。現在のmainでは、エージェントは同じiPhoneのアプリで動きます。

  1. iPhoneが基板のWi-Fiホットスポットへ接続し、AirPlayで画面を送ります。
  2. 基板が映像をBluetooth LEで同じiPhoneアプリへ返します。
  3. アプリが映像を画像へ復号し、モバイル通信でモデルAPIへ送って次の操作を受け取ります。
  4. アプリのBLE命令を、基板がUSBマウス・キーボード入力へ変えてiPhoneを操作します。
  5. 変わった画面を読み直して続け、実行記録をiPhoneに残します。

基板がAIモデルを実行するわけではありません。アプリが、選んだクラウドまたは自分のサーバーのモデルAPIを呼び出します。

初回と実行時の準備

  • 初回導入: Mac・Xcodeでアプリをビルドし、ESP32-S3へファームウェアを書き込みます。無料Apple IDは7日ごとの再署名が必要です。ワンタップでホットスポットへ接続する有料機能がない場合は、手動でつなぎます。
  • 使う機器: iOS 18以降のiPhoneと、ネイティブUSB・PSRAM対応のESP32-S3が必要です。公式の試験基板は8MB PSRAMの標準XIAO ESP32S3です。LightningのiPhoneにはカメラアダプターが必要です。
  • 実行中: Wi-Fiはインターネットのない基板ホットスポットに使うため、モバイル通信から到達できるモデルAPIが必要です。別の制御用コンピューターは動かさなくてよくなります。
  • iPhoneの設定: 基板のペアリング、ホットスポットと画面ミラーリング、AssistiveTouch、ポインター調整を進めます。

任せる前に確認

横画面と非ASCII入力は未対応で、日本語・韓国語は入力できません。ロックするとミラーリングが止まり、Apple Payや一部のDRM画面も表示されない場合があります。画像はモデルAPIへ送られるため、データの扱いと利用費用を確認します。

アプリの完了表示や画面の変化だけで、目標の達成は証明できません。アラームなら時刻・曜日・保存状態を直接確認します。必要ならDynamic Islandやアプリで停止できます。

旧版とは構成が変わっています

Mac/LinuxのUxPlay・Pythonサーバーを使う方式はv0.1.0/legacyに残っています。新しい構成の必須準備へ旧Pythonサーバーを混ぜないようにします。READMEのアラーム写真もv0.1.0の資料と明記されています。

韓国語動画と新旧構成の比較 · 公式文書

2026年10月15日、main e035e424f492のUnreleased版。実機の接続、モデル実行、成功率の測定は行っていません。

PROインストール前に、使いどころを試食61秒の動画説明図3枚選び方ログイン不要

こんなリポジトリです

こんなときに便利です

  • アラームなど結果を直接確認できる小さなiPhone操作を試す
  • 同じiPhoneアプリと基板で画面判断と入力をつなぐ構成を学ぶ
  • 実行記録を再生し、AIが選んだタップ・スワイプを見る

主な機能

ESP32-S3のホットスポット・AirPlay受信とBLE映像伝達同じiPhoneアプリでの映像デコード・モデルAPI呼び出し・操作選択USB HIDによるタップ・スワイプ・経路描画・ASCII入力ポインター調整・実行停止・段階別の実行記録実行中に別の制御用コンピューターを必要としない構成

ほかとの違い

基板がAirPlay画面を受けてBLEで同じiPhoneアプリへ返し、アプリの命令をUSB入力へ変えます。初回のMac・Xcode導入は必要ですが、実行中の制御用コンピューターは不要な構成です。

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

準備するもの

  • 初回のアプリビルドと基板導入用Mac・XcodeおよびApple ID
  • iOS 18以降のiPhoneとモバイルデータ通信
  • ネイティブUSB・PSRAM対応ESP32-S3とiPhoneのUSB接続
  • モバイル通信から到達できる画像対応モデルAPI
  • Bluetoothペアリング・基板ホットスポット・画面ミラーリング・AssistiveTouch・ポインター調整

すぐに始める

main e035e424f492の公式READMEを要約した準備手順です。ギット飯が実機へ導入して検証した結果ではありません。

  1. 機器: Mac・Xcode、iOS 18以降のiPhoneとモバイルデータ通信、ネイティブUSB・PSRAM対応ESP32-S3、画像対応モデルAPIを用意します。Lightningにはカメラアダプターも必要です。
  2. 基板: arduino-cli、ESP32 core 3.3.x、NimBLE-Arduino 2.5.xを用意します。公式例ではarduino-cli lib install "NimBLE-Arduino@2.5.1"後にhardware/flash.shを実行します。BLEバッファー設定のため公式スクリプトを使います。
  3. アプリ: ios/Config/Local.xcconfig.exampleをios/Config/Local.xcconfigへコピーし、DEVELOPMENT_TEAMとIA_BUNDLE_IDを設定します。ios/IPhoneAgent.xcodeprojをXcodeで開き、IPhoneAgentスキームをiPhoneで実行します。無料Apple IDは7日ごとに再署名します。
  4. 基板と画面: 基板をiPhoneへつなぎ、ESP32 AgentアプリでBluetoothをペアリングします。基板のWi-Fiへ接続し、画面ミラーリングでESP32 Agentを選びます。自動接続機能がない場合はアプリに表示されたパスワードで手動接続します。
  5. ポインターとモデル: AssistiveTouchを有効にして調整を確認します。モデルのエンドポイントとキーを入力し、モバイル通信から接続できるか確認します。
  6. 小さな目標: 結果を確認できる目標を入力してStartを押します。実際の設定を確認し、必要ならDynamic Islandまたはアプリから停止します。

App Store・TestFlight配布はまだ計画段階です。該当版の公式文書で条件と詳細なコマンドを確認してください。

ギット飯トライで味見

入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。

ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。

npx gitbap-try onehumanbeing/esp32-iphone-agent

Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →

スター推移 · 7日

4,072+585 / 7日

確認日時

使いやすさ · まねしやすいか

まねしやすいサンプル評点 46/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2026 年に作成

「自動化・ワークフロー」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/onehumanbeing/esp32-iphone-agent.svg)](https://www.gitbap.com/r/onehumanbeing/esp32-iphone-agent)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る