Find My (Apple)
macOS の FindMy.app を介して Apple デバイスや AirTag を追跡します。Apple は FindMy 向けの CLI を提供していないため、このスキルは AppleScript でアプリを開き、画面キャプチャでデバイスの位置を読み取ります。
前提条件
- macOS と Find My アプリ、iCloud にサインインしていること
- 対象のデバイス/AirTag がすでに Find My に登録されていること
- ターミナルへの画面収録許可(システム設定 → プライバシーとセキュリティ → 画面収録)
- 推奨(任意): より安定した UI 自動化のため
peekabooをインストール:brew install steipete/tap/peekaboo
使用するタイミング
- ユーザーが「[デバイス/猫/鍵/バッグ] はどこ?」と尋ねたとき
- AirTag の位置情報を追跡するとき
- デバイス(iPhone、iPad、Mac、AirPods)の位置を確認するとき
- ペットや持ち物の移動を経時的に監視するとき(AirTag 巡回ルート)
方法 1: AppleScript + スクリーンショット(基本)
FindMy を開いて操作
# Find My アプリを開く
osascript -e 'tell application "FindMy" to activate'
# 読み込みを待つ
sleep 3
# Find My ウィンドウのスクリーンショットを撮る
screencapture -w -o /tmp/findmy.png
次に vision_analyze でスクリーンショットを解析します:
vision_analyze(image_url="/tmp/findmy.png", question="表示されているデバイス/アイテムとその位置は何ですか?")
タブの切り替え
# デバイスタブに切り替え
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "Devices" of toolbar 1 of window 1
end tell
end tell'
# アイテムタブ(AirTag)に切り替え
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "Items" of toolbar 1 of window 1
end tell
end tell'
方法 2: Peekaboo UI 自動化(推奨)
peekaboo がインストールされている場合は、より信頼性の高い UI 操作に使用します:
# Find My を開く
osascript -e 'tell application "FindMy" to activate'
sleep 3
# UI をキャプチャして注釈を付ける
peekaboo see --app "FindMy" --annotate --path /tmp/findmy-ui.png
# 要素 ID を指定して特定のデバイス/アイテムをクリック
peekaboo click --on B3 --app "FindMy"
# 詳細ビューをキャプチャ
peekaboo image --app "FindMy" --path /tmp/findmy-detail.png
次にビジョンで解析します:
vision_analyze(image_url="/tmp/findmy-detail.png", question="このデバイス/アイテムに表示されている位置はどこですか?住所と座標が表示されていれば含めてください。")
ワークフロー: AirTag 位置の経時追跡
AirTag の監視(例:猫の巡回ルートの追跡)を行う場合:
# 1. FindMy を開いてアイテムタブに移動
osascript -e 'tell application "FindMy" to activate'
sleep 3
# 2. AirTag アイテムをクリック(ページを開いたままにしておく — AirTag はページが表示されている間のみ更新)
# 3. 定期的に位置をキャプチャ
while true; do
screencapture -w -o /tmp/findmy-$(date +%H%M%S).png
sleep 300 # 5分ごと
done
各スクリーンショットをビジョンで解析して座標を抽出し、ルートをまとめます。
制限事項
- FindMy には CLI も API もありません — UI 自動化が必須です
- AirTag は FindMy のページがアクティブに表示されている間だけ位置を更新します
- 位置精度は近くの Apple デバイス(FindMy ネットワーク)に依存します
- スクリーンショットには画面収録許可が必要です
- AppleScript による UI 自動化は macOS のバージョンによって動作しなくなる可能性があります
ルール
- AirTag 追跡中は FindMy アプリをフォアグラウンドに保ってください(最小化すると更新が止まります)
- スクリーンショットの内容を読み取るには
vision_analyzeを使用してください — ピクセルを直接解析しようとしないでください - 継続的な追跡には cron ジョブを使って定期的にキャプチャし、位置を記録してください
- プライバシーを尊重してください — ユーザーが所有するデバイス/アイテムのみを追跡してください