sim-use CLI

CLI показывает агенту экран iOS-симулятора или Android-эмулятора компактным списком элементов и нажимает их по короткому алиасу.

  • 1 541 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

Расширенный доступ

Почему такой уровень

  • Агент получает управление экраном симулятора и устройства: нажатия, ввод текста, снимки экрана и видео.
  • Подключенные к Mac физические iPhone и iPad управляются в экспериментальном режиме, держите на них тестовые данные.
Все причины и проверки

lycorp-jp/sim-use

Установка

Работает в

Ручная установка

brew install lycorp-jp/tap/sim-use

Предварительно выполните `brew tap lycorp-jp/tap`. Затем `sim-use init --client claude` ставит встроенный скилл. Нужен macOS 14 или новее.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Агент получает управление экраном симулятора и устройства: нажатия, ввод текста, снимки экрана и видео.
  • Подключенные к Mac физические iPhone и iPad управляются в экспериментальном режиме, держите на них тестовые данные.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

sim-use — командная строка для управления мобильным приложением из цикла агента: посмотреть экран, нажать, проверить результат. Команда `sim-use ui` печатает экран как компактное дерево элементов с номерами вроде `@9`, а `sim-use tap @9` нажимает нужный элемент без координат. По словам авторов, такое описание примерно в 16 раз короче сырого JSON дерева доступности, и модели хватает пары сотен токенов на целый экран. Инструмент использует API доступности Apple, конвейер ввода iOS Simulator и AccessibilityService на Android. Один набор команд работает с iOS-симуляторами, Android-эмуляторами и устройствами, а USB-подключенные iPhone и iPad поддерживаются экспериментально с урезанным набором команд. Кроме `ui` и `tap`, есть `swipe`, `long-press`, `type`, `paste`, `gesture`, `screenshot`, `record-video`, выбор элемента по `#id` или `--label`. Для каждого устройства работает фоновый демон, поэтому круг «посмотреть и нажать» занимает около 300 мс. Команда `sim-use init --client claude` кладет в каталог скиллов клиента встроенный скилл со всем набором команд. Ответы можно получать в формате `--json` с подсказками при ошибках.

Для кого. Мобильным разработчикам, которые хотят, чтобы агент сам запускал приложение в симуляторе и проверял, что экран выглядит и работает как задумано.

Подходит, если

  • Агент дописал экран настроек, и нужно, чтобы он сам открыл его в симуляторе и нажал все пункты.
  • Сценарий проверки на iOS и Android должен идти одним набором команд.
  • Нужно записать видео прохождения сценария или снять скриншоты после каждого шага.
  • Поле ввода принимает кириллицу или эмодзи, и обычный ввод ломается. Для этого есть `paste`.
  • Хочется сократить токены на описании экрана в длинном цикле проверки.

Не подходит, если

  • Нужны автотесты для CI на постоянной основе: для этого лучше подойдут XCUITest или Maestro со стабильными сценариями.
  • Приложение работает только на реальном устройстве с полным набором команд: для физических iPhone доступна лишь часть возможностей.
  • У вас нет macOS: часть команд, видео и `init` работают только на ней.

Пример запроса к агенту

Запусти приложение в симуляторе iPhone, открой экран настроек через sim-use, нажми пункт «Основные» и сделай скриншот.

Ограничения

Сборка из исходников требует macOS 14 и новее и свежего Xcode, готовая версия ставится через Homebrew. Поддержка физических iPhone и iPad экспериментальная. Для Android один раз выполняется `sim-use android init --device <серийный номер>`, он ставит служебный APK на устройство. Если одноэкранное дерево пустое, потому что экраном владеет другой процесс, `ui` пробует обнаружение между процессами и помечает результат как плоский. Лицензия Apache-2.0.

Как отключить. Удалите скилл командой `sim-use init --uninstall --client claude`, затем выполните `brew uninstall sim-use`. Фоновые демоны завершаются вместе с сеансом, служебный APK на Android удалите вручную.

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

Как агент выбирает элемент для нажатия?

По алиасу `@N` из последнего `ui`, по `#id`, по метке через `--label` или по координатам. Алиас быстрее всего, id устойчивее при смене верстки.

Работает ли он с Android?

Да. Один раз ставится служебный APK командой `sim-use android init`, после чего те же команды работают на эмуляторе и устройстве.

Что дает ключ `--json`?

Структурированный ответ с полем `hint` при ошибках, который удобно разбирать в цикле агента.

Нужно ли запускать симулятор вручную?

Достаточно, чтобы симулятор был загружен. Если загружен один, флаг `--device` указывать не нужно.

Как подключить скилл к Claude Code?

Выполните `sim-use init --client claude`. Без аргументов команда сама находит установленные клиенты.

Обсуждение

Вопросов и отзывов пока нет.

Команда npx serve-sim выводит симулятор iOS в браузер и позволяет агенту нажимать, свайпать, вводить текст и подменять камеру

CLIРасширенный доступ2,9 тыс.Звезды репозитория

Baguette CLI сохраняет снимки и видео iOS Simulator для ревью, пока агент выполняет тест без открытого окна Simulator.app.

CLIРасширенный доступ2,3 тыс.Звезды репозитория

CLI проверяет экраны SwiftUI и гоняет тесты iOS без Симулятора: агент читает дерево доступности и правит вьюхи за 2 секунды.

CLIРасширенный доступ52Звезды репозитория

Агент в IDE или CLI запускает iOS-симуляторы и Android-эмуляторы, читает экран, профилирует и гоняет тесты.

CLIШирокий доступ161Звезды репозитория

Плагин DeepSeek Harness: iOS Simulator и iPhone по USB прямо в диалоге, 22 инструмента управления

ПлагинШирокий доступ463Звезды репозитория

Коротко о README

Авторы позиционируют sim-use как недостающее звено в цикле «спланировать, написать, проверить, выпустить» для мобильной разработки с агентами. Код на Swift, лицензия Apache-2.0, автор компания LY Corporation.

Бейдж для README

Сообщить о проблеме