Find My (Apple)
Rastrea dispositivos Apple y AirTags mediante la aplicación Find My en macOS. Como Apple no proporciona una CLI para Find My, esta habilidad utiliza AppleScript para abrir la aplicación y capturas de pantalla para leer las ubicaciones de los dispositivos.
Requisitos previos
- macOS con la aplicación Find My e iCloud iniciada sesión
- Dispositivos/AirTags ya registrados en Find My
- Permiso de grabación de pantalla para la terminal (Ajustes del Sistema → Privacidad → Grabación de pantalla)
- Opcional pero recomendado: Instalar
peekaboopara una mejor automatización de la interfaz de usuario:brew install steipete/tap/peekaboo
Cuándo usarlo
- El usuario pregunta "¿dónde está mi [dispositivo/gato/llaves/bolso]?"
- Rastrear ubicaciones de AirTags
- Verificar ubicaciones de dispositivos (iPhone, iPad, Mac, AirPods)
- Monitorear movimientos de mascotas o artículos a lo largo del tiempo (rutas de patrulla de AirTags)
Método 1: AppleScript + Captura de pantalla (Básico)
Abrir Find My y navegar
# Abrir la aplicación Find My
osascript -e 'tell application "FindMy" to activate'
# Esperar a que cargue
sleep 3
# Tomar una captura de pantalla de la ventana de Find My
screencapture -w -o /tmp/findmy.png
Luego usar vision_analyze para leer la captura:
vision_analyze(image_url="/tmp/findmy.png", question="¿Qué dispositivos/artículos se muestran y cuáles son sus ubicaciones?")
Cambiar entre pestañas
# Cambiar a la pestaña Dispositivos
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "Dispositivos" of toolbar 1 of window 1
end tell
end tell'
# Cambiar a la pestaña Artículos (AirTags)
osascript -e '
tell application "System Events"
tell process "FindMy"
click button "Artículos" of toolbar 1 of window 1
end tell
end tell'
Método 2: Automatización de interfaz de usuario con Peekaboo (Recomendado)
Si peekaboo está instalado, úsalo para una interacción de interfaz de usuario más confiable:
# Abrir Find My
osascript -e 'tell application "FindMy" to activate'
sleep 3
# Capturar y anotar la interfaz de usuario
peekaboo see --app "FindMy" --annotate --path /tmp/findmy-ui.png
# Hacer clic en un dispositivo/artículo específico por ID de elemento
peekaboo click --on B3 --app "FindMy"
# Capturar la vista de detalle
peekaboo image --app "FindMy" --path /tmp/findmy-detail.png
Luego analizar con visión:
vision_analyze(image_url="/tmp/findmy-detail.png", question="¿Cuál es la ubicación mostrada para este dispositivo/artículo? Incluye dirección y coordenadas si están visibles.")
Flujo de trabajo: Rastrear ubicación de AirTag a lo largo del tiempo
Para monitorear un AirTag (por ejemplo, rastrear la ruta de patrulla de un gato):
# 1. Abrir Find My en la pestaña Artículos
osascript -e 'tell application "FindMy" to activate'
sleep 3
# 2. Hacer clic en el artículo AirTag (permanecer en la página — AirTag solo se actualiza cuando la página está abierta)
# 3. Capturar ubicación periódicamente
while true; do
screencapture -w -o /tmp/findmy-$(date +%H%M%S).png
sleep 300 # Cada 5 minutos
done
Analizar cada captura con visión para extraer coordenadas y luego compilar una ruta.
Limitaciones
- Find My no tiene CLI ni API — es necesario usar automatización de interfaz de usuario
- Los AirTags solo actualizan su ubicación mientras la página de Find My se muestra activamente
- La precisión de la ubicación depende de dispositivos Apple cercanos en la red Find My
- Se requiere permiso de grabación de pantalla para las capturas
- La automatización de interfaz de usuario con AppleScript puede fallar entre versiones de macOS
Reglas
- Mantener la aplicación Find My en primer plano al rastrear AirTags (las actualizaciones se detienen al minimizarla)
- Usar
vision_analyzepara leer el contenido de la captura — no intentar analizar píxeles manualmente - Para seguimiento continuo, usar un cronjob para capturar y registrar ubicaciones periódicamente
- Respetar la privacidad — solo rastrear dispositivos/artículos que el usuario posee