メインコンテンツへ移動
AIチュートリアル

PinkyでAIエージェントを使ってiPhoneとAndroid端末を安全に操作する

Pinkyのインストール、Android端末またはiPhoneの接続、MCP対応エージェントの統合、モバイル自動化の監視方法を解説します。安全確認、録画、Wi-Fi操作、プラットフォーム要件、よくある接続の問題についても説明します。

PinkyでAIエージェントを使ってiPhoneとAndroid端末を安全に操作する

Pinkyとは?

Pinkyは、Model Context Protocol(MCP)を介してAIエージェントから実際のiPhoneまたはAndroidデバイスを操作できる、無料のオープンソースデスクトップアプリケーションです。macOS、Windows、Linuxで動作し、Claude Code、Claude Desktop、Codex、Cursorなど、MCP対応のツールで利用できます。

Pinkyのミラーリングされたスマートフォン画面でエージェントの操作を確認し、機密性の高い操作を承認したり、エージェントを一時停止したり、手動操作に切り替えたり、後から記録を確認したりできます。重要なのは、承認ルールがエージェントに送られる指示ではなく、Pinkyのゲートウェイによって適用される点です。

プロジェクトの状況: Pinkyは現在プレアルファ版です。実際のAndroidおよびiPhoneデバイスで主要なワークフローを最初から最後まで利用できますが、一部の組み合わせや機能については、さらなるテストが必要です。

主な機能

  • クロスプラットフォームのデスクトップアプリ: PinkyはmacOS 13以降、64ビット版Windows 10および11、glibc 2.29以降とGTK 3を備えた最新の64ビットLinuxディストリビューションに対応しています。
  • AndroidとiOSに対応: Android 10から17、およびiOS 17.4以降を搭載したiPhoneまたはiPadに対応しています。
  • ゲートウェイによる承認管理: 支払い、取引、送金はデフォルトで承認待ちになります。メッセージ、注文、削除、通話、インストール、外部リンク、設定変更、またはすべての操作について承認を必須にすることもできます。
  • 保護されたアプリと入力欄: 銀行、ウォレット、パスワード管理アプリはデフォルトでエージェントから非表示になります。エージェントはパスワード欄やワンタイムコード欄に入力できません。
  • 手動操作への切り替え: スマートフォンのミラー画面をクリックすると、操作を戻すまでエージェントが一時停止します。Androidでは、実機に触れてもエージェントが一時停止します。
  • 操作の記録: Pinkyは自然言語による手順、スクリーンショット、画面録画をローカルに保存し、操作をHTMLレポートとして書き出せます。
  • 安全なロック解除: PinkyにスマートフォンのPINを保存し、Touch ID、Windows Hello、またはシステムキーチェーンのパスワードで解除のたびに認証できます。エージェントにPINが渡ることはありません。
  • Androidのバックグラウンドワークスペース: Android 13以降では、メインのスマートフォン画面を使用可能な状態、オフ、またはロックしたまま、エージェントが非表示の2番目の画面を使用できます。
  • 小型のネイティブアプリケーション: PinkyはElectronやWebViewではなく、GPUで描画されるMyGoインターフェースを使用します。ダウンロードサイズは約16~22 MBです。

必要条件

デスクトップコンピューター

  • macOS: AppleシリコンまたはIntel搭載のmacOS 13以降。
  • Windows: 64ビット版Windows 10またはWindows 11。
  • Linux: Ubuntu 20.04、Debian 11、またはそれ以降の互換ディストリビューションを実行するx86-64コンピューター。glibc 2.29以降とGTK 3が必要です。

スマートフォンまたは仮想デバイス

  • Android: Android 10から17、およびUSBケーブル。Android 11以降ではワイヤレスデバッグによるペアリングも可能です。
  • iPhoneまたはiPad: iOS 17.4以降、および初回セットアップ用のUSBケーブル。その後はWi-Fiで利用できます。
  • 任意の仮想デバイス: Pinkyは、Android Studioで作成したAndroidエミュレーター、またはMac上でXcodeを使って作成したiOSシミュレーターで動作します。

AIエージェント

MCPサーバーに接続できるエージェントが必要です。READMEでは、対応ツールとしてClaude Code、Claude Desktop、Codex、Cursor、VS Code、Copilot CLI、Windsurf、Geminiが挙げられています。

ステップ1:Pinkyをインストールする

Pinkyの最新リリースから現在のパッケージをダウンロードします。

macOS

Appleシリコン搭載Macの場合はARM64 DMG、Intel搭載Macの場合はAMD64 DMGを選択します。ディスクイメージを開き、PinkyをApplicationsにドラッグします。

Homebrewを使用する場合は、次のコマンドでインストールできます。

brew install --cask diygod/tap/pinky

Windows

pinky-setup-<version>-amd64.exeをダウンロードして実行します。管理者権限なしで、現在のアカウントにインストールされます。インストーラーはまだ署名されていないため、Windows SmartScreenで詳細情報を選択してから実行を選ぶ必要がある場合があります。

ポータブル版をインストールするには、Windows ZIPアーカイブをダウンロードして展開し、Pinky.exeを開きます。

Linux

DebianまたはUbuntuでは、DEBパッケージをダウンロードし、次のコマンドでインストールします。

sudo apt install ./pinky_<version>_amd64.deb

その他の互換ディストリビューションでは、pinky-<version>-linux-amd64.tar.gzを専用のディレクトリに展開し、付属のpinky実行ファイルを起動します。

ステップ2:Androidスマートフォンを接続する

Pinkyを開き、スマートフォンを追加、続いてAndroidを選択します。Pinkyでは、Xiaomi、OPPO、vivo、HONOR、HUAWEI、Samsung、Pixelなど、主要メーカーに合わせた手順が表示されます。

  1. スマートフォンの設定を開き、デバイス情報を探します。
  2. ビルド番号を7回タップして、開発者向けオプションを有効にします。
  3. 設定 › システム › 開発者向けオプションを開き、USBデバッグを有効にします。メニュー名はメーカーによって異なる場合があります。
  4. USBケーブルでスマートフォンをコンピューターに接続します。
  5. USBデバッグを許可するかAndroidから尋ねられたら、許可をタップします。
  6. Pinky Companionのインストールを促されたら、承認します。Companionにより画面の読み取りが高速化され、あらゆる言語での入力が可能になります。

Pinkyには独自ビルドのadbが含まれているため、通常はAndroidプラットフォームツールは必要ありません。Android Studio、Homebrew、またはオペレーティングシステムを通じてプラットフォームツールがすでにインストールされている場合、Pinkyは既存のツールを使用し、そのADBサーバーを共有します。

WindowsのUSBドライバー

一部のAndroidスマートフォンでは、WindowsでUSBデバッグドライバーが必要です。Pinkyは不足している設定を検出し、適切なGoogle、Samsung、またはメーカーのドライバーを案内します。インストール後、スマートフォンを再接続してください。

LinuxのUSBアクセス

Linuxでは、PinkyがAndroidのUSBデバイスにアクセスできるようにするudevルールが必要です。DebianとUbuntuでは、次のコマンドでインストールします。

sudo apt install android-sdk-platform-tools-common

Archユーザーはandroid-udevを、Fedoraユーザーはandroid-toolsをインストールできます。また、plugdevグループへの所属が必要になる場合もあります。

AndroidをWi-Fiでペアリングする

Android 11以降では、スマートフォンを追加画面からワイヤレスデバッグを使用してペアリングできます。コンピューターとスマートフォンは、相互通信が許可されたネットワーク上にある必要があります。

自動検出に失敗した場合は、代わりにコードでペアリングを選択してください。Androidでペアリングコードでデバイスをペアリングを開き、表示されたIPアドレス、ポート、6桁のコードをPinkyに入力します。

Android 10はワイヤレスデバッグに対応していません。ケーブルで接続した後、Pinkyの代わりにWi-Fiを使用…オプションを使って接続をWi-Fiに切り替えてください。

ステップ3:iPhoneまたはiPadを接続する

スマートフォンを追加 › iPhoneを選択し、表示されるセットアップ手順に従ってください。

  1. デバイスをUSBで接続してロックを解除し、信頼をタップしてパスコードを入力します。
  2. WindowsではMicrosoft StoreからAppleデバイスをインストールするか、iTunesをインストールします。Linuxではusbmuxdパッケージをインストールします。
  3. 設定 › プライバシーとセキュリティでデベロッパモードを有効にします。必要な場合、Pinkyが切り替えを案内します。
  4. デバイスの再起動を待ってロックを解除し、オンにするを選択してパスコードを入力します。
  5. PinkyがAppleの開発用ディスクイメージをマウントし、デバイスを準備完了として表示するまで待ちます。

開発用ディスクイメージ

PinkyにはAppleの開発用ディスクイメージは含まれていません。macOSでは、Pinkyがイメージを使用できるように、Xcodeを一度インストールして開いてください。WindowsおよびLinuxユーザーは、必要なiOS_DDIディレクトリをMacからPinkyのフォルダーにコピーできます。

適切なイメージがない場合、Pinkyは、ダウンロードを明示的に承認した後に限り、サードパーティのミラーからのダウンロードを提案できます。Pinkyは、ダウンロードしたファイルを想定されるチェックサムと照合します。

iOSバージョンによる違い

  • iOS 27以降:Pinkyはスマートフォンにアプリをインストールせず、マウントされた開発用ディスクイメージは再起動後も利用できます。
  • iOS 17.4から26:タップ、スワイプ、入力には、Apple IDを使ってXcode経由で一度ビルドおよびインストールしたWebDriverAgentヘルパーが必要です。
  • 無料のApple IDの制限:ヘルパーは7日ごとに再インストールする必要があります。Pinkyは有効期限の2日前から通知を開始します。
  • サポート対象の古いiOSバージョンでヘルパーがない場合:PinkyはMac上で画面の表示と読み取り、アプリの起動はできますが、タップ、スワイプ、入力はできません。
  • iOS 17.3以前:これらのバージョンはサポートされていません。

iPhoneをWi-Fiで使用する

最初にUSBで信頼設定を行った後、Pinkyはコンピューターと同じWi-Fiネットワーク上にあるiPhoneまたはiPadを使用できます。アクティブな接続をUSBとWi-Fiの間で自動的に切り替えるため、短い一時停止の後もエージェントのタスクを継続できます。

特にスクリーンショットでは、Wi-Fiはケーブルより低速です。より高速で信頼性の高い自動化を行うには、可能な限りデバイスをUSBで接続したままにしてください。

ステップ4:PinkyをAIエージェントに接続する

Pinkyで設定 › エージェントを開きます。インストール済みのエージェントを見つけて接続をクリックします。PinkyはMCP接続をstdioまたはHTTP経由で公開できるため、同じコンピューター上の対応エージェントやHTTP対応クライアントから利用できます。

新しいエージェントごとに承認が必要で、付与した範囲のみが提供されます。タスクを開始する前に、必要以上に広いアクセスを許可せず、権限と安全動作を確認してください。

ステップ5:安全ルールを設定する

設定 › 安全を開き、確認が必要な操作を設定します。支払い、送金、取引はデフォルトで承認待ちになります。Pinkyは、送信、注文、削除、通話、インストール、設定変更、または現在のアプリから離れるリンクを実行する前にも確認を求めることができます。

初回のテストでは、すべての操作に承認を求める設定を検討してください。エージェントの動作を理解したら、重要な操作を保護したまま確認の表示を減らせます。

Pinkyは関連するボタンを10言語で認識します。チェックはPinkyのゲートウェイで実行されるため、スマートフォンに表示されたテキストが承認を指示しようとしても、エージェントがブロックされた操作を自ら承認することはできません。

基本的な使い方

スマートフォンとエージェントを接続したら、エージェントにモバイルタスクの実行を依頼します。基本的な監視付きワークフローは次のようになります。

  1. Pinkyのスマートフォンミラーを表示したままにします。
  2. エージェントに明確な指示を出します。
  3. エージェントが画面を調べて操作する様子を確認します。
  4. Pinkyが表示する承認リクエストを確認します。
  5. 保留中の操作が意図した内容と一致する場合にのみ、許可を選択します。
  6. エージェントに支援が必要な場合は手動で操作し、準備ができたら制御を戻します。
  7. 実行後に記録された手順を確認します。

たとえば、次のように依頼できます。

メッセージを開き、選択した会話への返信を入力して、送信せずに待機してください。

メッセージの送信に承認が必要な設定になっている場合、Pinkyはあなたが許可するまで最後の送信操作を保留します。

エージェントを引き継ぐ、または停止する

ミラーリングされたスマートフォンの画面をクリックすると、エージェントが一時停止し、操作を引き継げます。Androidでは、実機を操作しても自動化が一時停止します。操作が終わったら、Pinkyから制御を戻します。

どこからでもすべてのアクティビティを停止するには、macOSでは⌥⌘.、WindowsとLinuxではCtrl+Alt+.を使用します。

実行を確認してエクスポートする

Pinkyは各実行を、自然言語による手順、スクリーンショット、各手順のマーカー付き画面録画のシーケンスとして記録します。これらの記録はコンピューター上に保存されます。

記録を使ってエージェントの操作内容を確認したり、予期しない結果を調査したり、後で確認するためのHTMLレポートをエクスポートしたりできます。

高度なヒント

スマートフォンのチェックアップを実行する

ミラーの下にあるスマートフォンの三点メニューを開き、チェックアップを選択します。ADB、接続、Pinky Companion、タップ操作、Wi-Fiなど、必要なコンポーネントが動作しているかを確認し、デバイスに応じた修復手順を表示します。

パフォーマンスが重要な場合はUSBを優先する

Wi-Fiは便利ですが、通常はUSBのほうが遅延が少なく、スクリーンショットも高速です。長時間のタスクや画面処理の多いタスクでは、特にiOSでケーブルを使用してください。

ローカルネットワークのアクセス権を確認する

macOSでは、Pinkyがスマートフォンを検出するためにローカルネットワークへのアクセスが必要です。システム設定 › プライバシーとセキュリティ › ローカルネットワークで有効にしてください。WindowsとLinuxでは、ファイアウォールでPinkyのローカルネットワークの使用を許可してください。

分離されたWi-Fiネットワークを避ける

ゲストネットワーク、オフィスネットワーク、クライアント分離が設定されたルーターでは、スマートフォンとコンピューターが互いに接続できない場合があります。通常の家庭用ネットワークを使用するか、コードでペアリングするか、USBで接続してください。

利用可能な場合はAndroidのセカンドスクリーンを使用する

Android 13以降では、エージェントが非表示のセカンドスクリーンで作業できます。これにより、タスクの実行中もメインディスプレイを使える状態にしたり、画面をオフにしてロックしたままにしたりできます。

制限付きアプリを保護する

銀行、ウォレット、パスワードマネージャーのアプリは、デフォルトでアクセスできません。タスクで銀行アプリやウォレットアプリが本当に必要な場合は、デフォルト設定を広く変更せず、そのタスクに限ってアクセスを許可してください。

iPhoneのWi-Fi動作を理解する

Wi-Fiに接続されたロック中のiPhoneは、スリープ中にネットワークから見えなくなり、ロック解除後に再接続する場合があります。macOSでは、システムデバイスサービスがスマートフォンとの接続を失ったことをPinkyが検知し、確認後にそのサービスを再起動するよう提案できます。

現在の対応状況を確認する

Pinkyはプレアルファ版のため、特定のプラットフォームやデバイスの組み合わせを利用する前に、リポジトリの対応状況に関するドキュメントを確認してください。現在動作する機能とテスト方法が説明されています。

まとめ

Pinkyは、MCP対応AIエージェントと実際のモバイルデバイスをつなぐ実用的な橋渡しをしながら、人が主導権を保てるようにします。ゲートウェイで強制される承認、制限付きアプリ、手動での操作引き継ぎ、ローカル録画により、スマートフォンの自動化をより慎重に試せます。まずはUSB接続したテスト用デバイスから始め、幅広い操作に承認を必須とし、各実行を確認してください。ワークフローが想定どおりに動作することを確認してから、権限を段階的に広げます。