agent-device

Enrutador de descubrimiento para la CLI de agent-device con estado, instalación, ayuda, indicaciones y recursos

Documentación

agent-device: device automation CLI for AI agents

agent-device

npm version CI License: MIT Glama MCP server

Deja que tu agente de codificación verifique sus cambios en la aplicación en ejecución.

agent-device permite a los agentes de codificación inspeccionar, controlar y verificar aplicaciones en iOS, Android, HarmonyOS, tvOS, Android TV, Amazon Vega OS TV a través del Vega Virtual Device (VVD), web, macOS y Linux. Los agentes pueden leer instantáneas de accesibilidad eficientes en tokens cuando son compatibles, encontrar elementos por ref o selector, ejecutar acciones del dispositivo y guardar evidencia para revisión. El soporte de HarmonyOS usa HDC y ArkUI uitest en dispositivos conectados y emuladores DevEco; usa capabilities --platform harmonyos para inspeccionar su subconjunto de comandos respaldado por evidencia. El soporte inicial de Vega OS es solo VVD y cubre descubrimiento, ciclo de vida de aplicaciones y control completo del control remoto de TV; los Fire TV físicos, la captura y los backends de selectores siguen sin ser compatibles.

Tu agente de codificación o herramienta de QA lee cada resultado y elige el siguiente comando. agent-device ejecuta el comando y guarda evidencia cuando se le pide.

agent-device usa el proceso inspect-act-verify del agent-browser de Vercel para aplicaciones móviles, TV y de escritorio. El soporte básico de --platform web ejecuta agent-browser en la misma sesión y sistema de reproducción.

Inicio rápido

Instala la CLI y verifica la configuración. Requiere Node.js 22.12 o superior; la automatización web requiere Node.js 24 o superior. Consulta Instalación para los requisitos de destino.

npm install -g agent-device@latest
agent-device doctor
agent-device help workflow

Ejecuta agent-device doctor tú mismo antes de entregar la CLI a un agente. La ayuda de la CLI instalada define el comportamiento actual. agent-device help workflow enlaza a guías para depuración, reproducción, perfilado de React Native y otras tareas.

Añade un contacto en la aplicación de Contactos de iOS integrada:

# Start a session.
agent-device open Contacts --platform ios

# Inspect the screen. The example below shows the output; refs vary.
agent-device snapshot -i
# @e2 [button] "Add"

# Use the ref and wait for the UI to settle.
agent-device press @e2 --settle
# The diff includes:
# + @e7 [text-field] "First name"

agent-device fill @e7 "Ada" --settle
# The next diff shows changed values and current refs:
# - @e7 [text-field] "First name"
# + @e14 [text-field] "Ada"
# = @e15 [text-field] "Last name"

# Capture evidence and close the session.
agent-device screenshot ./contact-form.png
agent-device close

Usa solo los refs de la salida más reciente. No asumas que un @eN anterior sigue identificando el mismo elemento. Después de un comando con --settle, usa los refs de su diff. Toma otra instantánea solo si el diff omite lo que necesitas.

--settle funciona igual en scroll y back, así que desplazar-y-observar y volver-y-observar son una sola llamada también.

Las instantáneas usan el árbol de accesibilidad de la aplicación. Etiquetas claras, roles e IDs de prueba hacen que las ejecuciones del agente sean más fiables. Usa capturas de pantalla y vídeos como evidencia o cuando los datos de accesibilidad sean deficientes. Usa refs y selectores para acciones y aserciones cuando puedas.

agent-device demo showing Codex using agent-device to create a new contact in the iOS Contacts app from a simple prompt

Qué pueden hacer los agentes

  • Inspeccionar el estado de la aplicación mediante instantáneas de accesibilidad, refs, selectores y árboles de componentes de React Native.
  • Actuar sobre la interfaz visible tocando o presionando elementos, rellenando campos, desplazándose, haciendo gestos, esperando, verificando estado y gestionando alertas.
  • Diagnosticar fallos con capturas de pantalla, vídeo, registros, trazas, datos de red, muestras de rendimiento, detalles de fallos y perfiles de React.
  • Repetir flujos de trabajo guardando los pasos que funcionan como scripts de .ad para uso local o CI. Exporta Maestro YAML estricto cuando sea necesario.

Consulta Comandos para los comandos y la evidencia que admite cada destino.

Diagram of the agentic development loop: humans assign tasks, agents write and review code, agent-device verifies mobile apps, pull requests receive evidence, and bugs or performance issues lead to fixes

Siguientes pasos

  • Configura tu agente: ejecuta la CLI desde Cursor, Codex, Claude Code, Windsurf u otro terminal de agente. Consulta Configuración de Agente de IA para habilidades, reglas, herramientas MCP y configuración de cada cliente.
  • Prueba la aplicación de ejemplo: clona el repositorio y ejecuta la aplicación de prueba Expo incluida. Inicio Rápido cubre una ejecución guiada con capturas de pantalla, reproducción y datos de rendimiento.
  • Crea pruebas repetibles: usa Reproducción y E2E para repetir pruebas. Usa Depuración y Perfilado para encontrar errores.

Artículos y vídeos

Artículos

Vídeos

Dónde ejecutar agent-device

RutaMejor paraEmpieza con
LocalProbar comandos y depurar aplicaciones en simuladores, emuladores, dispositivos físicos, macOS y Linux.Sigue el Inicio Rápido.
CI/CDValidación automatizada de pull requests y merges con scripts de reproducción y artefactos capturados.Prueba la plantilla de flujo de trabajo EAS. La plantilla de GitHub Actions llegará pronto.
Nube / remotoRunners de Linux, dispositivos gestionados y trabajos remotos.Usa Agent Device Cloud, configura un perfil remoto con Comandos, o contacta con Callstack para QA de equipo.

Cómo funciona

agent-device mantiene el estado del dispositivo en sesiones. Envía comandos a XCTest en iOS y tvOS, ADB y el helper de instantáneas en Android, HDC y ArkUI uitest en HarmonyOS, Vega CLI/VDA en el Vega Virtual Device, un helper local en macOS y AT-SPI en Linux.

Las aplicaciones Node.js pueden usar el cliente tipado o las subrutas públicas. agent-device/android-adb proporciona la interfaz del proveedor ADB de Android, helpers para logcat, el portapapeles, el teclado y las aplicaciones, y gestión de reenvío de puertos.

FAQ

¿Qué es agent-device?

agent-device es una herramienta de línea de comandos que permite a los agentes de codificación inspeccionar, controlar y verificar aplicaciones y guardar evidencia para revisión. Es compatible con iOS, Android, HarmonyOS, TV, web, macOS y Linux.

¿Funciona con React Native, Expo, Flutter y aplicaciones nativas?

Sí. agent-device es compatible con aplicaciones nativas de iOS y Android, además de aplicaciones React Native, Expo y Flutter en los destinos compatibles. Los comandos y la evidencia varían según el destino.

¿En qué se diferencia de Appium, Detox o Maestro?

Con agent-device, un agente lee el estado de la aplicación y elige cada comando en tiempo de ejecución. Los equipos usan Appium, Detox y Maestro para escribir y mantener suites de pruebas. agent-device puede complementarlos guardando sus ejecuciones como scripts de .ad o exportándolos como Maestro YAML estricto.

¿Puede agent-device ejecutarse en CI?

Sí. Graba una ejecución como script de .ad, reprodúcela localmente o en CI, y guarda capturas de pantalla, registros y otros artefactos para revisión. Consulta Reproducción y E2E o empieza con la plantilla de flujo de trabajo EAS.

¿Quién usa agent-device?

Equipos y desarrolladores en Callstack, JPMorgan Chase, Expensify, Shopify, Kindred, Total Wine & More, LegendList, HerLyfe, App & Flow y otros usan agent-device.

Documentación

Contribuciones

Consulta CONTRIBUTING.md.

Hecho en Callstack

agent-device es código abierto bajo la licencia MIT. Visita agent-device.dev o contacta con Callstack.