Перейти к основному содержимому

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

Правила​

  1. Держите приложение FindMy на переднем плане при отслеживании AirTags (обновления прекращаются при сворачивании)
  2. Используйте vision_analyze для чтения содержимого скриншота — не пытайтесь анализировать пиксели
  3. Для постоянного отслеживания используйте cronjob для периодического захвата и записи местоположений
  4. Уважайте конфиденциальность — отслеживайте только устройства/предметы, принадлежащие пользователю