Loupe CLI

CLI на Swift показывает агенту живой интерфейс приложения Apple: дерево вью, доступность, логи, сеть и проверку нажатий.

  • 106 ★ репозитория
  • Последний коммит
CLI

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

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

  • CLI внедряет библиотеку в запущенное приложение, нажимает элементы и временно меняет свойства интерфейса в симуляторе или отладочной сборке.
Все причины и проверки

heoblitz/loupe

Установка

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

brew tap heoblitz/loupe https://github.com/heoblitz/Loupe.git

Первая команда раздела Install. Затем `brew trust heoblitz/loupe`, `brew install loupe` и `loupe skills install` для скилла.

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

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

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

  • CLI внедряет библиотеку в запущенное приложение, нажимает элементы и временно меняет свойства интерфейса в симуляторе или отладочной сборке.

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

Что делает

Loupe — CLI на Swift, с помощью которого ИИ-агент строит и проверяет интерфейсы приложений на платформах Apple по работающей программе, а не по коду или скриншоту. Инструменты вроде Xcode MCP и XcodeBuildMCP собирают, запускают и тестируют приложение. Loupe добавляет слой интерфейса: структурные данные из запущенной копии. Команда `loupe app launch` запускает приложение с внедренной библиотекой, `loupe ui report` снимает отчет с деревом вью, свойствами, доступностью, скриншотом, логами и сетью, а `loupe ui audit` проверяет раскладку, зоны нажатия и расхождения с дизайном. `loupe act` нажимает, вводит текст и свайпает с трассой до и после, а `loupe ui set` временно меняет свойства для проб. Поддерживаются iOS, macOS, tvOS, watchOS и visionOS. Скилл ставится командой `loupe skills install`.

Для кого. Разработчикам приложений для iOS и macOS, которые правят интерфейс вместе с агентом и хотят проверять его на запущенной копии.

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

  • Кнопка оплаты не нажимается, и нужны дерево вью, ответчики и проверка зон нажатия.
  • Верстку сравнивают с макетом Figma и ищут расхождения на живом экране.
  • Агенту нужно нажать элемент по `testId` и увидеть, что изменилось в дереве до и после.
  • Правку цвета пробуют на запущенном приложении до того, как менять исходники.

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

  • Нужен только сборщик и тестовый запуск: хватит Xcode MCP или XcodeBuildMCP.
  • Mac на процессоре Intel: Loupe поддерживает только Apple Silicon.
  • Приложение собрано с Hardened Runtime: внедрение библиотеки может быть отклонено.

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

Запусти приложение в симуляторе с Loupe, сними отчет и найди, почему кнопка оплаты не получает нажатия.

Ограничения

Нужен Mac с Apple Silicon, Intel не поддерживается. Внедрение динамической библиотеки может быть отклонено Hardened Runtime или проверкой библиотек, тогда подключают `LoupeInjector` в сборку. Веб-содержимое WKWebView находится выборкой точек и может пропустить мелкие и скрытые элементы, а на физических устройствах такой разбор не поддерживается. Изменения через `loupe ui set` служат пробами, итог нужно вносить в исходники и проверять новым отчетом.

Как отключить. Удалите пакет командой `brew uninstall loupe` и уберите скилл из каталога агента. Библиотеку `LoupeInjector` удалите из сборки, если вы ее подключали.

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

Как поставить Loupe?

Выполните `brew tap heoblitz/loupe https://github.com/heoblitz/Loupe.git`, `brew trust heoblitz/loupe` и `brew install loupe`. Скилл ставится командой `loupe skills install`.

Как снять отчет по интерфейсу?

Запустите приложение командой `loupe app launch --bundle-id <bundle-id> --device <simulator-udid> --inject`, затем `loupe ui report --bundle-id <bundle-id> --output loupe-report`.

Какие платформы поддерживаются?

iOS в симуляторе и на устройстве в отладочных сборках, macOS, tvOS, watchOS и visionOS в симуляторах.

Как нажать элемент и сохранить след?

Выполните `loupe act tap --udid <simulator-udid> --test-id checkout.payButton --trace-dir /tmp/loupe-tap`, затем `loupe debug trace summary /tmp/loupe-tap`.

Чем Loupe отличается от XcodeBuildMCP?

XcodeBuildMCP собирает, запускает и тестирует приложение, а Loupe добавляет структурные данные из работающего интерфейса: дерево вью, доступность, зоны нажатия и трассы действий.

Обсуждение

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

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

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

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

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

Скилл со скриптами для сборки iOS-приложений и управления симулятором через дерево доступности, с экономным выводом для агента

СкиллРасширенный доступ1,3 тыс.Звезды репозитория

Скиллы для разработки под Apple: справочники по SwiftUI, UIKit и Liquid Glass, гайды по Swift 6 и маршрутизатор для задач iOS 26

СкиллМинимальный доступ359Звезды репозитория

MCP-сервер управляет реальным iPhone через macOS iPhone Mirroring: агент видит экран, нажимает, листает и вводит текст

MCP-серверШирокий доступ291Звезды репозитория

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

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

Коротко о README

В репозитории CLI на Swift, скилл `skills/loupe/` со справочниками, пример приложения, документы по цели, статусу, тестам, сравнению с Figma и распространению через Homebrew. Лицензия MIT.

Бейдж для README

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