Findmy
Отслеживание устройств Apple/AirTags через FindMy.app на macOS.
Метаданные навыка
| Источник | Встроенный (устанавливается по умолчанию) |
| Путь | skills/apple/findmy |
| Версия | 1.0.0 |
| Автор | VibeOS |
| Лицензия | MIT |
| Платформы | macos |
| Теги | FindMy, AirTag, location, tracking, macOS, Apple |
Справочник: полный SKILL.md
Ниже приведено полное описание навыка, которое VibeOS загружает при его активации. Агент видит эти инструкции, когда навык активен.
Find My (Apple)
Отслеживание устройств Apple и AirTags через FindMy.app на macOS. Поскольку Apple не предоставляет CLI для FindMy, этот навык использует AppleScript для открытия приложения и захват экрана для чтения местоположений устройств.
Предварительные требования
- macOS с приложением Find My и входом в iCloud
- Устройства/AirTags уже зарегистрированы в Find My
- Разрешение на запись экрана для терминала (Системные настройки → Конфиденциальность → Запись экрана)
- Опционально, но рекомендуется: установите
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="Какие устройства/предметы показаны и где они находятся?")
Переключение между вкладками
# Переключиться на вкладку Devices
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "Devices" of toolbar 1 of window 1
end tell
end tell'
# Переключиться на вкладку Items (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 (рекомендуется)
Если установлен peekaboo, используйте его для более надёжного взаимодействия с интерфейсом:
# Открыть Find My
osascript -e 'tell application "FindMy" to activate'
sleep 3
# Захватить и аннотировать интерфейс
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:
vision_analyze(image_url="/tmp/findmy-detail.png", question="Какое местоположение показано для этого устройства/предмета? Укажите адрес и координаты, если видны.")
Рабочий процесс: отслеживание местоположения AirTag с течением времени
Для мониторинга AirTag (например, отслеживание маршрута патрулирования кота):
# 1. Открыть FindMy на вкладке Items
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
Анализируйте каждый скриншот с помощью vision для извлечения координат, затем составьте маршрут.
Ограничения
- FindMy не имеет CLI или API — необходимо использовать автоматизацию интерфейса
- AirTags обновляют местоположение только при активном отображении страницы FindMy
- Точность местоположения зависит от находящихся поблизости устройств Apple в сети FindMy
- Требуется разрешение на запись экрана для скриншотов
- Автоматизация интерфейса AppleScript может нарушаться при обновлениях macOS
Правила
- Держите приложение FindMy на переднем плане при отслеживании AirTags (обновления прекращаются при сворачивании)
- Используйте
vision_analyzeдля чтения содержимого скриншота — не пытайтесь анализировать пиксели - Для постоянного отслеживания используйте cronjob для периодического захвата и записи местоположений
- Уважайте конфиденциальность — отслеживайте только устройства/предметы, принадлежащие пользователю