Guía

Dirige una granja de teléfonos desde un solo prompt

Monta teléfonos Android e iPhones reales en un Mac, empareja el host una vez y maneja toda la flota desde un prompt en lenguaje natural a BusyBro o a un cliente MCP — capturas, toques, inicios de sesión, automatizaciones — con una puerta de confirmación en cada acción que cambia algo.

Una granja de teléfonos solía significar una sala llena de dispositivos y una persona caminando entre ellos. La granja de Busymate es un demonio host en un Mac con un hub USB alimentado: descubre cada teléfono conectado, refleja cada pantalla en tu navegador, expone cada acción como herramienta y se empareja a sí mismo como dispositivo en tu dashboard, de modo que la flota aparece junto a tu propio teléfono con salud en vivo. Como cada acción es una herramienta, un asistente de IA puede manejar un teléfono o todo el rack desde una frase.

Esta guía va de un hub vacío a esa frase. Es honesta sobre los límites: las acciones de poder en bruto —shell, entrada arbitraria, instalación de apps fuera de la tienda, cambios de red, reinicios— son solo para administradores, siempre piden confirmación y se mantienen completamente fuera del alcance del asistente de texto libre. El prompt maneja la superficie segura y curada, que es la mayor parte de lo que necesita una tanda de pruebas.

Antes de empezar

Lo que necesitas

Hardware que puedas enchufar, un Mac que lo aloje y una cuenta de Busymate que lo posea.

  • Un Mac como host, más un hub USB alimentado y cables de datos — no cables solo de carga.

  • Teléfonos Android con la depuración USB activada, e iPhones con el Modo de desarrollador encendido — los únicos toques en el dispositivo que exigen las plataformas.

  • Una cuenta de Busymate con acceso de edición de dispositivos; el host y cada teléfono que aprovisiona pertenecen a ese propietario.

  • BusyBro en el dashboard, o Claude Code conectado por MCP —la guía anterior— como el lugar donde escribes el prompt.

Paso a paso

Hazlo en orden

Montar, instalar, ver aparecer la flota, incorporarla y luego entregársela al agente.

  1. 01

    Monta los teléfonos

    Conecta los teléfonos al Mac a través del hub alimentado. En cada teléfono Android, activa la depuración USB y toca Permitir depuración USB cuando el host lo pida; esa es toda la configuración que necesita un Android. En cada iPhone, habilita el Modo de desarrollador y confía en el host cuando se te pida — los dos toques únicos que exige Apple. Todo lo demás del lado iOS lo aprovisiona el demonio.

  2. 02

    Instala el demonio, inicia sesión, arráncalo

    Una línea instala el host de la granja. Inicia sesión una vez en el navegador para que el host pueda emparejarse —el demonio se niega a arrancar sin sesión, así que una granja nunca corre sin propietario por accidente— y luego arráncalo con autoinicio para que se relance al iniciar sesión y al reiniciar. El comando de estado muestra la compilación en ejecución, cuántos teléfonos están en línea y si el host está emparejado.

    El host se empareja a sí mismo como dispositivo de Busymate con una credencial de larga duración guardada en disco, así que nunca vuelve a necesitar tu sesión. Cada teléfono se convierte en un dispositivo hijo bajo él, con una identidad estable que sobrevive a una reconexión USB y hereda tu propiedad.

    Instalar, emparejar, arrancar, comprobar
    bash
    curl -fsSL https://farm.busymate.net/install.sh | bash   # macOS / Linux
    bmfarm login                 # sign in once in the browser so the host can pair
    bmfarm start --autostart     # start the background daemon; relaunches at login
    bmfarm status                # running build, phones online / total, pairing state
  3. 03

    Observa cómo aparece la flota en el dashboard

    Abre la vista Phone Farm en el dashboard. Su barra lateral tiene una entrada Daemon —el panel a nivel de granja, con un panel de control por máquina y una cola de registro en vivo transmitida desde el host— y una entrada por máquina de la granja, que abre los teléfonos Android e iOS de ese Mac. Cada teléfono muestra modelo, versión del SO, batería y estado, y un espejo en vivo: la pantalla se transmite como vídeo y se decodifica por hardware en tu navegador, y tus toques, deslizamientos y pulsaciones viajan hasta el dispositivo físico. La recuperación tras un reinicio del demonio se basa en el latido, así que no hay nada que refrescar.

  4. 04

    Incorpora todos los teléfonos con una sola acción

    Cada teléfono necesita unos pocos componentes al día — el ejecutor de control en el dispositivo, la confianza del certificado, la app Busymate DevTools para captura, etc. En lugar de recorrer el rack, la acción Onboard all phones de la tarjeta del host hace el recorrido de la flota por ti, con aislamiento por teléfono para que una instalación fallida nunca aborte el barrido. El dashboard muestra una cuadrícula en vivo de teléfonos por componentes; una celda solo se pone verde cuando el demonio confirma la versión instalada, un componente ya al día es un salto atenuado, y cualquier cosa que necesite a un humano —un aviso de Apple ID, una app de pago— se marca en lugar de fingirse.

  5. 05

    Conecta el agente

    Dos puertas llevan a las mismas herramientas. BusyBro está integrado en el dashboard y en la app independiente de BusyBro, ya con tu sesión iniciada. Claude Code —o cualquier cliente MCP— se conecta al mismo servidor con un comando y un inicio de sesión en el navegador, como se explica en la guía anterior. En ambos casos el asistente actúa como tú: cada herramienta de la granja se limita a tus propios dispositivos de granja, depende de que el host haya activado el control remoto y se comprueba contra las capacidades de tu rol.

  6. 06

    Escribe el único prompt

    Di lo que quieres que se haga en toda la flota, en lenguaje natural. El asistente lista los teléfonos en línea, captura cada pantalla, abre la app, encuentra y toca los elementos que necesita leyendo la jerarquía de la interfaz, escribe el inicio de sesión e informa teléfono por teléfono. Las variables que defines en la consola de la granja —una cuenta de prueba, un código de cupón— están disponibles para las automatizaciones por nombre, así que el prompt nunca tiene que contener una contraseña.

    Cualquier cosa que cambie un teléfono te muestra primero una tarjeta de confirmación —con la carga completa de lo que está a punto de ejecutarse— y espera. Una captura de pantalla o un volcado de la interfaz no necesita confirmación; un toque, una instalación desde la tienda pública o la ejecución de una automatización sí. Shell en bruto, ADB en bruto, entrada arbitraria, cambios de proxy y modo avión y reinicios son acciones de poder solo para administradores que el asistente de texto libre no puede alcanzar en absoluto; se quedan en el dashboard y en las herramientas MCP tras una confirmación explícita.

    Un prompt, todo el rack
    text
    On every online farm phone: take a screenshot, open the checkout app, sign in with the test-account variables, and tell me which phones show the new "Pay in 3" button. Flag any phone whose screen is black.
  7. 07

    Haz que se repita, y captura lo que envían los teléfonos

    Las automatizaciones son archivos JavaScript normales en el host con una API de dispositivo —instalar, lanzar, buscar y tocar, escribir, capturar— y un planificador que las ejecuta a intervalos. Pídele al asistente que programe una y se convierte en un trabajo nocturno con resultados por dispositivo. El tráfico de los teléfonos de la granja pasa por el proxy compartido hacia el mismo feed que tu propio teléfono, así que la actividad de red de una tanda se puede inspeccionar, simular y exportar como cualquier otra captura; los teléfonos Android de la granja corren en el nivel con root, donde el certificado está en el almacén del sistema, lo que descifra todo salvo una app que hace pinning.

    La salud de la flota también es una herramienta: pregunta qué teléfonos necesitan atención y el asistente lee el mismo latido que muestra el dashboard y puede lanzar el barrido de autorreparación — de nuevo, tras una confirmación.

    Convierte la tanda en un trabajo nocturno
    text
    Run the login-smoke automation on all Android farm phones every night at 02:00 and message me only if a phone fails.

Solución de problemas

Qué puede salir mal

Los problemas de la granja son casi siempre un cable, un toque en el teléfono o una puerta haciendo su trabajo.

  • Un teléfono nunca aparece en la flota

    Nueve de cada diez veces es un cable solo de carga o un aviso de Permitir depuración USB sin responder en Android. Cambia el cable, desbloquea el teléfono y acepta el aviso. En iOS, confirma que el Modo de desarrollador está activo y que el host es de confianza.

  • El demonio se niega a arrancar

    Falla rápido hasta que el host tiene un propietario. Ejecuta el comando de inicio de sesión, inicia sesión y vuelve a arrancarlo — el comando de estado confirma el emparejamiento.

  • La baldosa del espejo está en negro

    El teléfono está bloqueado, la pantalla apagada o el ejecutor de control aún no está armado. Despierta el teléfono; si sigue en negro, ejecuta la acción de incorporación para ese teléfono para que sus componentes se vuelvan a comprobar con evidencia real.

  • El asistente dice que no puede ejecutar un comando de shell

    Correcto e intencionado: shell en bruto, ADB en bruto y las demás acciones de poder son solo para administradores y están vedadas al asistente de texto libre. Usa la consola del dashboard o la herramienta MCP directamente, donde aplica la puerta de confirmación explícita.

  • Se denegó una acción sobre un teléfono que sí puedo ver

    Las acciones de la granja se limitan a tus propios dispositivos de granja y necesitan que el host haya activado el control remoto, además de acceso de edición de dispositivos en tu rol. Revisa la activación del host en sus ajustes y las capacidades de tu rol.

Preguntas frecuentes

Preguntas habituales

¿Son teléfonos en la nube o emuladores?

Ninguna de las dos cosas. Son teléfonos físicos en un hub enchufado a una máquina que controlas. También puedes alquilar una flota gestionada en lugar de montar la tuya — la página de precios lo cubre.

¿Puede el asistente romper un teléfono de verdad?

La superficie destructiva es solo para administradores, requiere confirmación y está fuera del alcance del prompt de texto libre. Lo que el prompt sí puede hacer —capturas, toques, lanzar apps, instalaciones desde la tienda, automatizaciones— siempre previsualiza la acción exacta antes de ejecutarla.

¿Funciona la captura de tráfico en los teléfonos de la granja?

Sí. Los teléfonos de la granja pasan por el proxy compartido hacia el mismo feed del dashboard que cualquier otro dispositivo, y los Android con root de la granja descifran todo el sistema salvo el certificate pinning.

Un rack de teléfonos reales, a una frase de distancia

Enchúfalos, empareja el host y deja que el asistente maneje la flota — contigo aprobando cada cambio.

Ask your mate