Руководство

Управляйте фермой телефонов одним промптом

Установите настоящие Android-телефоны и iPhone в стойку на одном Mac, один раз сопрягите хост и управляйте всем парком через промпт на обычном языке к BusyBro или MCP-клиенту — скриншоты, нажатия, входы, автоматизации — с подтверждением на каждом действии, которое что-то меняет.

Раньше ферма телефонов означала комнату с устройствами и человека, который ходит между ними. Ферма Busymate — это хост-демон на Mac с USB-хабом с питанием: он обнаруживает каждый подключённый телефон, зеркалит каждый экран в ваш браузер, открывает каждое действие как инструмент и сам сопрягается как устройство в вашем дашборде, так что парк появляется рядом с вашим собственным телефоном с живым состоянием. Поскольку каждое действие — инструмент, ИИ-ассистент может управлять одним телефоном или всей стойкой одним предложением.

Это руководство ведёт от пустого хаба до этого предложения. Оно честно о границах: сырые силовые действия — shell, произвольный ввод, установка приложений не из магазина, переключение сети, перезагрузки — только для администраторов, всегда просят подтверждения и полностью недоступны ассистенту со свободным текстом. Промпт управляет безопасной, курируемой поверхностью, а это большая часть того, что нужно тестовому прогону.

Перед началом

Что вам понадобится

Оборудование, которое можно подключить, один Mac для хостинга и аккаунт Busymate, который будет им владеть.

  • Mac в роли хоста, плюс USB-хаб с питанием и кабели для передачи данных — не кабели только для зарядки.

  • Android-телефоны с включённой отладкой по USB и iPhone с включённым режимом разработчика — единственные нажатия на устройстве, которых требуют платформы.

  • Аккаунт Busymate с доступом на редактирование устройств; хост и каждый телефон, который он подготавливает, принадлежат этому владельцу.

  • BusyBro в дашборде или Claude Code, подключённый по MCP — предыдущее руководство, — как место, куда вы вводите промпт.

Шаг за шагом

Делайте по порядку

Установить в стойку, поставить демон, увидеть появление парка, провести онбординг, затем передать агенту.

  1. 01

    Установите телефоны в стойку

    Подключите телефоны к Mac через хаб с питанием. На каждом Android включите отладку по USB и нажмите «Разрешить отладку по USB», когда хост попросит; это вся настройка, которая нужна Android. На каждом iPhone включите режим разработчика и доверьте хосту при запросе — два разовых нажатия, которых требует Apple. Всё остальное на стороне iOS подготавливает демон.

  2. 02

    Установите демон, войдите, запустите

    Одна строка устанавливает хост фермы. Войдите один раз в браузере, чтобы хост мог сопрячься — демон отказывается запускаться без входа, так что ферма никогда не работает без владельца случайно, — затем запустите его с автозапуском, чтобы он перезапускался при входе в систему и после перезагрузки. Команда статуса показывает запущенную сборку, сколько телефонов в сети и сопряжён ли хост.

    Хост сопрягается как устройство Busymate с долгоживущими учётными данными, хранящимися на диске, так что ваша сессия ему больше не нужна. Каждый телефон становится дочерним устройством под ним со стабильной идентичностью, которая переживает переподключение по USB и наследует ваше владение.

    Установить, сопрячь, запустить, проверить
    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

    Смотрите, как парк появляется в дашборде

    Откройте представление Phone Farm в дашборде. В его боковой панели есть пункт Daemon — панель уровня фермы с панелью управления для каждой машины и живым хвостом логов, стримящимся с хоста, — и по пункту на каждую машину фермы, открывающему Android- и iOS-телефоны этого Mac. Каждый телефон показывает модель, версию ОС, батарею и состояние, а также живое зеркало: экран стримится как видео и аппаратно декодируется в вашем браузере, а ваши нажатия, свайпы и клавиши доходят до физического устройства. Восстановление после перезапуска демона управляется heartbeat, так что обновлять ничего не нужно.

  4. 04

    Проведите онбординг каждого телефона одним действием

    Каждому телефону нужно держать актуальными несколько компонентов — управляющий раннер на устройстве, доверие к сертификату, приложение Busymate DevTools для захвата и так далее. Вместо обхода стойки действие Onboard all phones на карточке хоста выполняет обход парка за вас, с изоляцией по телефонам, чтобы одна неудачная установка никогда не прерывала проход. Дашборд отображает живую сетку телефонов по компонентам; ячейка становится зелёной только когда демон подтверждает установленную версию, уже актуальный компонент — приглушённый пропуск, а всё, что требует человека — запрос Apple ID, платное приложение, — помечается, а не имитируется.

  5. 05

    Подключите агента

    Две двери ведут к одним и тем же инструментам. BusyBro встроен в дашборд и в отдельное приложение BusyBro, уже вошедшее под вашим именем. Claude Code — или любой MCP-клиент — подключается к тому же серверу одной командой и входом через браузер, как описано в предыдущем руководстве. В любом случае ассистент действует от вашего имени: каждый инструмент фермы ограничен вашими собственными устройствами фермы, зависит от включённого на хосте удалённого управления и проверяется по возможностям вашей роли.

  6. 06

    Напишите один промпт

    Скажите, что нужно сделать по всему парку, обычным языком. Ассистент перечисляет телефоны в сети, делает скриншот каждого, открывает приложение, находит и нажимает нужные элементы, читая иерархию интерфейса экрана, вводит данные для входа и отчитывается по каждому телефону. Переменные, которые вы задаёте в консоли фермы — тестовый аккаунт, промокод, — доступны автоматизациям по имени, так что промпту никогда не нужно содержать пароль.

    Всё, что меняет телефон, сначала показывает карточку подтверждения — с полной нагрузкой того, что вот-вот выполнится, — и ждёт. Скриншот или дамп интерфейса подтверждения не требует; нажатие, установка из публичного магазина или запуск автоматизации — требует. Сырой shell, сырой ADB, произвольный ввод, переключение прокси и авиарежима, перезагрузки — силовые действия только для администраторов, до которых ассистент со свободным текстом вообще не дотягивается; они остаются в дашборде и MCP-инструментах за явным подтверждением.

    Один промпт — вся стойка
    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

    Сделайте это повторяемым и захватывайте, что отправляют телефоны

    Автоматизации — это обычные JavaScript-файлы на хосте с API устройства — установить, запустить, найти и нажать, ввести, скриншот — и планировщик, запускающий их по интервалу. Попросите ассистента запланировать одну, и она станет ночной задачей с результатами по каждому устройству. Трафик телефонов фермы идёт через общий прокси в ту же ленту, что и ваш собственный телефон, так что сетевую активность прогона можно инспектировать, мокать и экспортировать как любой другой захват; Android-телефоны фермы работают на рутованном уровне, где сертификат лежит в системном хранилище, что расшифровывает всё, кроме приложений с пиннингом.

    Здоровье парка — тоже инструмент: спросите, какие телефоны требуют внимания, и ассистент прочитает тот же heartbeat, который показывает дашборд, и сможет запустить проход самовосстановления — снова за подтверждением.

    Превратите прогон в ночную задачу
    text
    Run the login-smoke automation on all Android farm phones every night at 02:00 and message me only if a phone fails.

Устранение неполадок

Что может пойти не так

Проблемы фермы — почти всегда кабель, нажатие на телефоне или защита, делающая свою работу.

  • Телефон так и не появляется в парке

    В девяти случаях из десяти это кабель только для зарядки или неотвеченный запрос «Разрешить отладку по USB» на Android. Замените кабель, разблокируйте телефон и примите запрос. На iOS убедитесь, что режим разработчика включён и хосту доверено.

  • Демон отказывается запускаться

    Он сразу падает, пока у хоста нет владельца. Выполните команду входа, войдите, затем запустите снова — команда статуса подтвердит сопряжение.

  • Плитка зеркала чёрная

    Телефон заблокирован, экран выключен или управляющий раннер ещё не активирован. Разбудите телефон; если остаётся чёрным, выполните действие онбординга для этого телефона, чтобы его компоненты перепроверились по реальным данным.

  • Ассистент говорит, что не может выполнить shell-команду

    Верно и намеренно: сырой shell, сырой ADB и другие силовые действия только для администраторов и закрыты для ассистента со свободным текстом. Используйте консоль дашборда или MCP-инструмент напрямую, где действует явное подтверждение.

  • Действие отклонено для телефона, который я вижу

    Действия фермы ограничены вашими собственными устройствами фермы и требуют включённого на хосте удалённого управления плюс доступа на редактирование устройств в вашей роли. Проверьте включение на хосте в его настройках и возможности вашей роли.

ЧаВО

Частые вопросы

Это облачные телефоны или эмуляторы?

Ни то, ни другое. Это физические телефоны на хабе, подключённом к машине под вашим контролем. Можно также арендовать управляемый парк вместо сборки собственного — об этом на странице цен.

Может ли ассистент действительно сломать телефон?

Разрушительная поверхность — только для администраторов, за подтверждением и недоступна из свободного промпта. То, что промпт может — скриншоты, нажатия, запуск приложений, установки из магазина, автоматизации, — всегда показывает точное действие перед выполнением.

Работает ли захват трафика на телефонах фермы?

Да. Телефоны фермы идут через общий прокси в ту же ленту дашборда, что и любое другое устройство, а рутованные Android-телефоны фермы расшифровывают всё в системе, кроме пиннинга сертификатов.

Стойка настоящих телефонов, в одном предложении от вас

Подключите их, сопрягите хост и позвольте ассистенту управлять парком — а вы подтверждаете каждое изменение.

Ask your mate