CLOUSD
Создать аккаунт
УзнатьБенчмаркКак агенты справляются на телефонах ClousdБлогСкороГайды, разборы и заметки из практикиСравнениеСкороClousd рядом с альтернативами
РазработкаИнтеграцииСкороMCP, Claude Code, Codex, Cursor, n8nGitHubSDK, MCP-сервер и примеры
Читать документацию

Устройства

Управление устройствами

Как запускать и останавливать телефон, управлять им и что означает каждое состояние.

Состояния

СостояниеЗначение
startingСоздаётся, запускается или перезапускается. Для него выполняется задание.
работаютВключён и доступен из панели, через API и ADB.
errorРаботает, но последняя проверка состояния не прошла.
остановленВыключен. Приложения и данные сохраняются. Примерно через 10 минут остановленный телефон уезжает в хранилище; кнопка «Запустить» возвращает его за несколько минут.

Запуск, остановка, сброс и удаление

Жизненный цикл
GET    /v1/devices                                # your phones
POST   /v1/devices/{name}/start
POST   /v1/devices/{name}/stop
POST   /v1/devices/{name}/restart
POST   /v1/devices/{name}/reset                  # wipe apps and data, same model and Android
DELETE /v1/devices/{name}                         # for good

Запуск, остановка и перезапуск отвечают 202 с заданием; следите за ним через GET /v1/jobs/{id}. Сброс за 1–5 минут возвращает телефон в состояние нового. Остановка сохраняет всё, сброс и удаление — нет. Удаление стирает телефон вместе с данными, и отменить его нельзя. Запуск телефона, который давно остановлен, может занять пару минут.

Скриншоты и отдельные шаги

Без живого экрана
GET  /v1/devices/{name}/screenshot?w=540     # PNG, or a smaller JPEG with w
POST /v1/devices/{name}/action  {"op":"open_app","package":"com.android.chrome"}

action выполняет один шаг: open_app, close_app, url, tap, swipe, text, key, scroll, а также текстовые помощники find_text, tap_text, wait_text, screen_text. Для цикла агента используйте Observe и act.

Имена

У каждого телефона есть имя в API, например c3f9a41d2, label (имя в панели или «Модель #N») и number. Переименовать телефон можно через POST /v1/devices/{name}/label.