
Универсальный мобильный инструмент для агентов и людей — управляйте симуляторами iOS, эмуляторами Android и реальными устройствами из единой панели управления и CLI
Универсальный мобильный инструмент разработчика — управляйте iOS Simulators, Android Emulators и реальными устройствами из единой панели управления и CLI
npx simvyn
Запускает локальный сервер, открывает веб-панель в вашем браузере и автоматически обнаруживает все подключенные симуляторы, эмуляторы и физические устройства, подключенные через USB.
## Установка
**Глобальная установка:**```bash
npm install -g simvyn
Одноразовое использование (без установки):```bash npx simvyn
**Требования:**
- Node.js >= 22.12.0
- macOS (полная поддержка iOS + Android) или Linux (только Android)
## Возможности
- **Управление устройствами** — Поиск, загрузка, выключение, стирание, создание и клонирование симуляторов, эмуляторов и физических устройств с возможностью добавления в избранное
- **Управление приложениями** — Установка, запуск, завершение, удаление приложений через перетаскивание или CLI
- **Просмотр логов** — Потоковая передача в реальном времени с фильтрацией по уровню, поиск на странице (Cmd+F), поиск по регулярным выражениям, пагинация и экспорт
- **Симуляция местоположения** — Установка GPS-координат, воспроизведение маршрутов GPX/KML с регулировкой скорости, сохранение избранных мест
- **Настройки устройства** — Тёмная тема, локаль, ориентация, разрешения, переопределение строки состояния, пресеты доступности
- **Скриншоты и запись** — Создание скриншотов и запись экрана с историей
- **Deep Links** — Открытие URL и пользовательских схем, сохранение избранного для каждого приложения
- **Инспектор баз данных** — Просмотр таблиц SQLite, выполнение SQL-запросов, просмотр SharedPreferences и NSUserDefaults
- **Файловый менеджер** — Просмотр песочниц приложений, загрузка/выгрузка файлов, встроенное редактирование текста
- **Push-уведомления** — Составление JSON-полезных нагрузок, отправка на симуляторы iOS, библиотека шаблонов
- **Коллекции** — Объединение действий с устройствами в повторно используемые последовательности, применение сразу к нескольким устройствам
- **Логи сбоев** — Диагностические отчеты iOS и сбои Android logcat/tombstone
- **Буфер обмена** — Чтение и запись содержимого буфера обмена устройства
- **Медиа** — Отправка фото и видео на камеру и в галерею устройства
- **Настройки инструмента** — Конфигурация сервера, управление хранилищем, диагностика и отладочные отчеты
- **Поддержка реальных устройств** — Подключение физических устройств Android и iOS через USB с автоматическим обнаружением
- **Веб-панель** — Дизайн Apple Liquid Glass с палитрой команд и навигацией с клавиатуры
- **Полноценный CLI** — Все функции работают в безголовом режиме через `simvyn <команда>`
## Демонстрация модулей
### Управление устройствами
Обнаруживайте все подключенные симуляторы iOS, эмуляторы Android и физические устройства USB в едином списке. Загружайте, выключайте и стирайте устройства без использования Xcode или Android Studio. Создавайте новые симуляторы iOS, выбирая тип устройства и среду выполнения, или клонируйте существующий для быстрого развертывания дубликатов. Физические устройства появляются автоматически при подключении и группируются отдельно в селекторе устройств.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/2b85641878f6015c248311700a1a87a20476ade6c930273a3e47f288a82d6d2e.png" alt="Управление устройствами" width="700" /></p>
- Просмотр всех доступных симуляторов, эмуляторов и физических устройств на разных платформах
- Загрузка, выключение и стирание устройств одним кликом или командой CLI
- Создание новых симуляторов iOS с выбором типа устройства и среды выполнения
- Клонирование и переименование существующих симуляторов
- Закрепление избранных устройств в верхней части селектора устройств
- Обновление состояния устройств в реальном времени через WebSocket
### Управление приложениями
Устанавливайте, запускайте, завершайте и удаляйте приложения на любом подключенном устройстве. Перетаскивайте IPA, APK или пакеты .app для симуляторов iOS прямо на панель. Просматривайте подробную информацию о приложении и очищайте данные приложения без ручных команд adb или simctl.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/17757b1ca8ddd41d43ac3a159260598308da6c3f759e1c9d730f61498e18ce8a.png" alt="Управление приложениями" width="700" /></p>
- Установка через перетаскивание IPA, APK и .app для симуляторов iOS
- Запуск, завершение и удаление приложений по bundle ID
- Просмотр сведений о приложении: версия, размер, разрешения
- Очистка данных приложения на устройствах Android
- Список всех установленных приложений с поиском и фильтрацией
### Просмотр логов
Потоковая передача логов устройств в реальном времени с мощной фильтрацией. Фильтрация по уровню лога, поиск с помощью регулярных выражений, фильтрация по имени процесса. Используйте поиск на странице (Cmd+F) для выделения конкретных записей без скрытия окружающего контекста. Экспортируйте отфильтрованные логи для обмена или архивирования. Пагинированная история позволяет прокручивать тысячи записей без проблем с производительностью.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/b909b3515637b4059ebf210c56599f2f022506f09ee35a11e812bd8368d3750e.png" alt="Просмотр логов" width="700" /></p>
- Потоковая передача логов в реальном времени через WebSocket
- Фильтрация по уровню: debug, info, warning, error, fatal
- Поиск на странице (Cmd+F) с подсветкой совпадений, навигацией и счетчиком
- Поиск по регулярным выражениям и фильтрация по имени процесса
- Пагинированная история с виртуальной прокруткой
- Экспорт отфильтрованных логов в файл
- Пауза/возобновление потока логов с сохранением состояния при очистке
### Местоположение
Устанавливайте точные GPS-координаты на любом устройстве с помощью интерактивной карты или ручного ввода. Воспроизводите маршруты GPX и KML с регулировкой скорости. Сохраняйте часто используемые местоположения как избранные для быстрого доступа.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/47842dfa878ffbc80bd5bb32d83e820e7ed7dd56a4d63368ca6e823ef72889d4.png" alt="Местоположение" width="700" /></p>
- Интерактивная карта с установкой координат по клику
- Воспроизведение маршрутов GPX и KML с регулировкой скорости
- Избранные местоположения, сохраняемые для каждого устройства
- Широковещательная передача местоположения на несколько устройств
- Обратное геокодирование для читаемых адресов
### Настройки устройства
Переключайте тёмный режим, меняйте локаль, поворачивайте ориентацию устройства (Android), управляйте разрешениями приложений и переопределяйте внешний вид строки состояния. Применяйте пресеты доступности для тестирования приложения в разных условиях. Все изменения настроек вступают в силу немедленно на целевом устройстве.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/d3f6a33c17b773560072f7b94b71abd5ebc82786c073bdeb6d25f828c3f214fa.png" alt="Настройки устройства" width="700" /></p>
- Переключение тёмного/светлого режима
- Изменение локали устройства
- Управление разрешениями приложений
- Переопределение строки состояния (время, заряд батареи, сигнал)
- Пресеты доступности (жирный текст, увеличение контрастности, размер контента)
### Скриншоты и запись
Создавайте скриншоты и записывайте видео экрана на любом устройстве. Все захваты сохраняются с временными метками и упорядочиваются в просматриваемой истории. Скачивайте или удаляйте захваты прямо с панели.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/58ed8f25d148ed53f39066e42be730f255235dbec47539bbec826c455cba7936.png" alt="Скриншоты и запись" width="700" /></p>
- Создание скриншота одним кликом
- Запись экрана с управлением запуском/остановкой
- История захватов с временными метками
- Скачивание и удаление захватов с панели
### Deep Links
Открывайте URL и пользовательские URI-схемы на любом устройстве. Сохраняйте часто используемые deep links как избранные, сгруппированные по приложениям. Тестируйте обработку deep links в вашем приложении без ручного ввода URL в терминале.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/3a990ef7c74f83c93b63c1654f74b3fa952b0b41abd31fe688cdaf2e29570f62.png" alt="Deep Links" width="700" /></p>
- Открытие любого URL или пользовательской схемы на устройстве
- Сохранение избранных deep links для каждого приложения
- История ссылок с сортировкой от новых к старым
- Работает как с iOS, так и с Android
### Инспектор баз данных
Просматривайте базы данных SQLite в песочнице любого приложения. Просматривайте схемы таблиц, выполняйте произвольные SQL-запросы и инспектируйте SharedPreferences (Android) или NSUserDefaults (iOS). Редактируйте значения на месте без написания скриптов.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/4884b688dbbee5f1a34b0454950f4d6562e74efdbbb3b84ca5c626835b4b7d37.png" alt="Инспектор баз данных" width="700" /></p>
- Просмотр таблиц SQLite с сортируемыми столбцами
- Выполнение произвольных SQL-запросов
- Просмотр и редактирование SharedPreferences и NSUserDefaults
- Встроенное редактирование ячеек с определением типа
### Файловый менеджер
Просматривайте файловую систему песочницы любого установленного приложения. Навигация по каталогам, загрузка и выгрузка файлов, встроенное редактирование текстовых файлов. Передавайте файлы между вашим компьютером и устройством без ручных команд adb pull/push.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/7b7ba540ad5de8b575da4f9bb28694dc68f5ffce51225a388788b8ef2f4767a0.png" alt="Файловый менеджер" width="700" /></p>
- Просмотр каталогов песочниц приложений
- Загрузка и выгрузка файлов
- Встроенное редактирование текстовых файлов
- Работает с контейнерами приложений iOS и Android
### Push-уведомления
Составляйте JSON-полезные нагрузки push-уведомлений и отправляйте их на симуляторы iOS. Используйте встроенную библиотеку шаблонов как отправную точку или пишите полезные нагрузки с нуля. Валидация JSON в реальном времени подсвечивает ошибки перед отправкой.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/f640654be67c24c7248806987e62908316407c18648fc145109118f260443f7d.png" alt="Push-уведомления" width="700" /></p>
- Составление и отправка push-полезных нагрузок на симуляторы iOS
- Встроенная библиотека шаблонов полезных нагрузок
- Валидация JSON в реальном времени
- Нацеливание на конкретные приложения по bundle ID
### Коллекции
Создавайте повторно используемые наборы действий с устройствами и применяйте их к нескольким устройствам одновременно. Коллекции объединяют такие шаги, как установка местоположения, включение тёмного режима и установка приложения, в единый повторяемый рабочий процесс. Три стартовых пресета поставляются с simvyn для быстрого старта.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/fbf2ddbba1d3725321c80a914bf5b71ea6a2fc605fddbb73abd0b28385488af6.png" alt="Коллекции" width="700" /></p>
- Создание, дублирование и управление именованными коллекциями
- Просмотр каталога действий, сгруппированных по категориям всех модулей
- Изменение порядка шагов перетаскиванием
- Применение к нескольким устройствам с проверкой совместимости
- Три встроенных стартовых пресета
### Логи сбоев
Просматривайте диагностические отчеты iOS (файлы .ips) и логи сбоев Android из logcat и дампов tombstone. Просматривайте записи сбоев с временными метками и информацией о процессах. Изучайте полные детали сбоев без копания в файловых системах устройств.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/8f74a799448050bc37eace1d43865b13f3f47a0997c01dba650fd21e94f09ebf.png" alt="Логи сбоев" width="700" /></p>
- Парсинг диагностических отчетов iOS (.ips)
- Группировка сбоев Android logcat по PID и тегу
- Извлечение дампов tombstone Android
- Список сбоев с временными метками и детальным просмотром
### Буфер обмена
Читайте и записывайте буфер обмена устройства с панели или через CLI. Полезно для быстрой вставки тестовых данных в приложения или проверки того, что скопировало приложение.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/db889032abeb5f1d511dcfeb8c06c215bda851436f198a63db97f595b50853d6.png" alt="Буфер обмена" width="700" /></p>
- Чтение текущего содержимого буфера обмена
- Запись текста в буфер обмена устройства
- Работает с симуляторами iOS и эмуляторами Android
### Медиа
Отправляйте фото и видео прямо на камеру или в галерею устройства. Перетаскивайте файлы на панель для внедрения без кабелей, электронной почты или облачных передач.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/c63ce5411dc17b5d329c2af381c035d86164f5544928b0c76fe7d05346473561.png" alt="Медиа" width="700" /></p>
- Добавление фото и видео в галерею устройства через перетаскивание
- Поддержка больших файлов до 500 МБ
- Работает с симуляторами iOS и эмуляторами Android
### Настройки инструмента
Настройте сервер simvyn, управляйте хранилищем и просматривайте диагностику. Включает генератор отладочных отчетов для подачи заявок.
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/7ba043d473d21d4bb5477582539ffd9a4c57600ec20c22ee9d7e63146cbbfbb2.png" alt="Настройки инструмента" width="700" /></p>
- Конфигурация порта сервера, автооткрытия и интервала опроса
- Обзор использования хранилища с возможностью очистки данных
- Диагностика: версия Xcode, доступность devicectl, версия adb
- Отладочный отчет одним кликом для подачи баг-репортов
## Руководство по коллекциям
Коллекции позволяют объединить несколько действий с устройствами в повторно используемую последовательность и применить их к любой комбинации устройств одним кликом.
### Создание коллекции
Откройте панель «Коллекции» на боковой панели. Нажмите **Новая коллекция** и дайте ей имя. Коллекция начинается пустой — вы будете добавлять шаги из каталога действий.
### Добавление шагов
Нажмите **Добавить шаг**, чтобы просмотреть каталог действий, сгруппированных по категориям. Действия организованы по модулям — «Настройки устройства», «Местоположение», «Управление приложениями» и т.д. Выберите действие, настройте его параметры в строке (координаты, bundle ID, значения переключателей), и оно появится в вашей коллекции. Перетаскивайте шаги, чтобы изменить их порядок.
### Применение коллекции
Нажмите **Применить**, чтобы открыть модальное окно применения. Выберите одно или несколько целевых устройств из списка устройств. Сводка совместимости покажет, какие шаги будут пропущены на несовместимых платформах (например, действия только для iOS на устройстве Android). Нажмите **Cmd+Enter** для выполнения. Матрица статуса в реальном времени показывает прогресс по каждому шагу и устройству.
### Интеграция с палитрой команд
Сохраненные коллекции отображаются в палитре команд (**Cmd+K**). Найдите коллекцию по имени и примените её напрямую с выбором устройства — не нужно переходить на панель «Коллекции».
### Стартовые коллекции
В simvyn встроены три стартовых пресета:
- **Тёмный режим + японская локаль** — Включает тёмный режим и устанавливает локаль на японский
- **Настройка скриншота** — Настраивает переопределения строки состояния для чистых скриншотов App Store
- **Сброс состояния устройства** — Очищает местоположение, сбрасывает настройки и стирает данные приложений
### Использование CLI```bash
simvyn collections list # List all collections
simvyn collections apply <name> <devices...> # Apply a collection to devices
Все функции доступны из командной строки. Запустите simvyn без аргументов, чтобы открыть панель управления, или используйте любую команду ниже для работы в безголовом режиме.
simvyn объединяет xcrun simctl (симуляторы iOS), xcrun devicectl (физические устройства iOS) и adb (Android) через единый интерфейс. Не требует SDK — работает с любым приложением, без необходимости изменения кода.
Архитектура построена на модульной системе, где каждая функция (местоположение, журналы, управление приложениями и т. д.) является самодостаточным плагином, который регистрирует свои собственные маршруты API, команды CLI и обработчики WebSocket. Веб-панель общается с локальным сервером Fastify через одно мультиплексированное WebSocket-соединение для потоковой передачи состояния устройства и журналов в реальном времени. Функции, недоступные для определённого типа устройства, автоматически отключаются с понятными индикаторами в интерфейсе.
| Платформа | Симуляторы iOS | Физические iOS | Эмуляторы Android | Физические Android |
|---|---|---|---|---|
Физические устройства, подключённые через USB, автоматически обнаруживаются наряду с симуляторами и эмуляторами. Панель группирует их в отдельные разделы (Физические / Симуляторы / Эмуляторы) и показывает уведомление при отключении устройства.
Физические устройства Android поддерживают почти все функции — управление приложениями, глубокие ссылки, журналы, скриншоты, инспектор баз данных, файловый менеджер и многое другое. Некоторые функции, доступные только в эмуляторе (симуляция местоположения через adb emu geo, симуляция батареи), недоступны и чётко помечены в интерфейсе.
Физические устройства iOS требуют Xcode 15+ и используют xcrun devicectl. Поддерживаемые функции включают обнаружение устройств, установку/удаление/запуск/завершение приложений, список приложений, глубокие ссылки и копирование файлов. Многие возможности, основанные на simctl (скриншоты, запись экрана, симуляция местоположения, буфер обмена, внешний вид, строка состояния, push-уведомления), недоступны на физических устройствах iOS. Неподдерживаемые элементы управления отключаются с подсказками, объясняющими причину. Коллекции автоматически пропускают шаги, не применимые к физическим устройствам.
MIT
| Команда | Описание |
|---|
simvyn | Запустить панель управления (по умолчанию) |
simvyn device list | Список всех устройств |
simvyn device boot <device> | Загрузить устройство |
simvyn device shutdown <device> | Выключить устройство |
simvyn device erase <device> | Стереть содержимое и настройки устройства |
simvyn device create <name> <type> <runtime> | Создать новый iOS-симулятор |
simvyn device clone <device> <name> | Клонировать iOS-симулятор |
simvyn device rename <device> <name> | Переименовать iOS-симулятор |
simvyn device delete <device> | Удалить iOS-симулятор |
simvyn location set <device> <lat> <lng> | Установить GPS-координаты |
simvyn location route <device> <file> | Воспроизвести маршрут GPX/KML |
simvyn location clear <device> | Очистить симулированное местоположение |
simvyn app list <device> | Список установленных приложений |
simvyn app install <device> <path> | Установить IPA, APK или .app iOS-симулятора |
simvyn app uninstall <device> <bundle-id> | Удалить приложение |
simvyn app launch <device> <bundle-id> | Запустить приложение |
simvyn app terminate <device> <bundle-id> | Завершить приложение |
simvyn app info <device> <bundle-id> | Показать сведения о приложении |
simvyn app clear-data <device> <bundle-id> | Очистить данные приложения (Android) |
simvyn logs <device> | Потоковая передача журналов устройства |
simvyn screenshot <device> | Сделать скриншот |
simvyn record <device> | Запись экрана |
simvyn link <device> <url> | Открыть глубокую ссылку |
simvyn push <device> | Отправить push-уведомление |
simvyn fs ls <device> <bundle-id> [path] | Список файлов в песочнице приложения |
simvyn fs pull <device> <bundle-id> <path> | Скачать файл |
simvyn fs push <device> <bundle-id> <src> <dst> | Загрузить файл |
simvyn db list <device> <bundle-id> | Список баз данных |
simvyn db query <device> <bundle-id> <db> <sql> | Выполнить SQL-запрос |
simvyn db prefs <device> <bundle-id> | Просмотр SharedPreferences / NSUserDefaults |
simvyn keychain add <device> <cert> | Добавить корневой сертификат |
simvyn keychain reset <device> | Сбросить связку ключей |
simvyn collections list | Список всех коллекций |
simvyn collections show <id> | Показать сведения о коллекции |
simvyn collections create <name> | Создать новую коллекцию |
simvyn collections delete <id> | Удалить коллекцию |
simvyn collections duplicate <id> | Дублировать коллекцию |
simvyn collections apply <name> <devices...> | Применить коллекцию к устройствам |
simvyn settings orientation <device> <orient> | Установить ориентацию устройства (Android) |
| macOS |
| Да |
| Ограниченно |
| Да |
| Да |
| Linux | Нет | Нет | Да | Да |