findmy について
findmyは、macOSの「探す」アプリでAppleデバイスやAirTagの位置を確認するスキルです。CLIやAPIではなく、AppleScript、スクリーンショット、画像分析を使います。
主な機能
- 01「探す」を開いて画面を切り替え
- 02スクリーンショットからデバイスや持ち物の位置を確認
- 03PeekabooによるUI自動化
- 04AirTagの位置を定期記録して経路を整理
活用シーン
- 01iPhone、iPad、Mac、AirPodsの位置確認
- 02AirTagを付けた持ち物の位置確認
- 03AirTagの移動を時間経過に沿って記録
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nousresearch/ hermes-agent --skill findmyインストール後、Claude Code で/findmyを入力して読み込まれたか確認します。
詳細
探す(Apple)
macOS の「探す」アプリを使って、Apple デバイスと AirTag を追跡します。Apple は「探す」の CLI を提供していないため、このスキルでは AppleScript でアプリを開き、画面キャプチャでデバイスの位置を読み取ります。
前提条件
- 「探す」アプリがあり、iCloud にサインイン済みの macOS
- デバイス/AirTag がすでに「探す」に登録されていること
- ターミナルの画面収録のアクセス許可(システム設定 → プライバシーとセキュリティ → 画面収録)
- 任意ですが、推奨:より優れた UI 自動化のために
peekabooをインストールします。brew install steipete/tap/peekaboo
使用する場面
- ユーザーが「私の[デバイス/猫/鍵/バッグ]はどこ?」と尋ねたとき
- AirTag の位置を追跡するとき
- デバイス(iPhone、iPad、Mac、AirPods)の位置を確認するとき
- ペットや持ち物の移動を時間経過とともに監視するとき(AirTag の巡回ルート)
方法 1:AppleScript + スクリーンショット(基本)
「探す」を開いて移動する
# Open Find My app
osascript -e 'tell application "FindMy" to activate'
# Wait for it to load
sleep 3
# Take a screenshot of the Find My window
screencapture -w -o ~/.hermes/cache/scratch/findmy.png
次に、vision_analyze を使ってスクリーンショットを読み取ります。
vision_analyze(image_url="~/.hermes/cache/scratch/findmy.png", question="What devices/items are shown and what are their locations?")
タブを切り替える
# Switch to Devices tab
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "Devices" of toolbar 1 of window 1
end tell
end tell'
# Switch to Items tab (AirTags)
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 操作に使用します。
# Open Find My
osascript -e 'tell application "FindMy" to activate'
sleep 3
# Capture and annotate the UI
peekaboo see --app "FindMy" --annotate --path ~/.hermes/cache/scratch/findmy-ui.png
# Click on a specific device/item by element ID
peekaboo click --on B3 --app "FindMy"
# Capture the detail view
peekaboo image --app "FindMy" --path ~/.hermes/cache/scratch/findmy-detail.png
次に、ビジョン機能で分析します。
vision_analyze(image_url="~/.hermes/cache/scratch/findmy-detail.png", question="What is the location shown for this device/item? Include address and coordinates if visible.")
ワークフロー:時間経過に伴う AirTag の位置を追跡する
AirTag(例:猫の巡回ルートの追跡)を監視する場合:
# 1. Open FindMy to Items tab
osascript -e 'tell application "FindMy" to activate'
sleep 3
# 2. Click on the AirTag item (stay on page — AirTag only updates when page is open)
# 3. Periodically capture location
while true; do
screencapture -w -o ~/.hermes/cache/scratch/findmy-$(date +%H%M%S).png
sleep 300 # Every 5 minutes
done
各スクリーンショットをビジョン機能で分析して座標を抽出し、ルートをまとめます。
制限事項
- 「探す」には CLI も API もありません — UI 自動化を使用する必要があります
- AirTag は「探す」のページがアクティブに表示されている間のみ位置情報を更新します
- 位置の精度は、「探す」ネットワーク内の近くにある Apple デバイスに左右されます
- スクリーンショットの撮影には画面収録のアクセス許可が必要です
- AppleScript による UI 自動化は、macOS のバージョンによって動作しなくなることがあります
ルール
- AirTag を追跡するときは「探す」アプリを前面に表示したままにします(最小化すると更新が停止します)
- スクリーンショットの内容を読み取るには
vision_analyzeを使います — ピクセルを解析しようとしないでください - 継続的に追跡する場合は、定期的に位置を取得して記録するために cronjob を使用します
- プライバシーを尊重し、ユーザーが所有するデバイス/持ち物のみを追跡します
コメント
Markdown 対応