Управление Flipper Zero голосом и нейросетью с помощью Vesper
Недавно наткнулся на репозиторий V3SP3R. Автор решил объединить два популярных увлечения последних лет: карманный гаджет Flipper Zero и языковые модели. Каждый, кто пытался листать бесконечные списки на маленьком экране «флиппера» с помощью джойстика, помнит этот специфический опыт. Переложить рутину на текстовые или голосовые команды выглядит вполне естественным шагом.
Что представляет собой Vesper
Vesper — это мобильное приложение для Android, написанное на Kotlin с графическим каркасом Jetpack Compose. Связка работает просто. Телефон подключается к Flipper Zero через Bluetooth Low Energy, а к нейросетям — через единый API-шлюз OpenRouter.
В результате вы отправляете естественный текстовый запрос или говорите в микрофон. Фразы вроде «покажи последние SubGHz дампы», «создай скрипт BadUSB» или «проверь уровень заряда» нейросеть разбирает на составные функции. Дальше приложение посылает нужные RPC-команды на сам Flipper и показывает результат в чате.
Главные функции проекта
Голосовое и мультимодальное управление
Приложение умеет принимать не только текст или аудиосообщение. Если отправить фотографию устройства или шильдика с техническими данными, модель попытается определить частоту или протокол. Кроме того, в репозитории есть Node.js-мост для подключения умных очков Mentra. С ними можно запрашивать снимки прямо с встроенной камеры очков.
Лаборатория сигналов и генерация полезной нагрузки
Модуль Alchemy Lab содержит визуальный редактор радиочастотных сигналов. Вы можете комбинировать формы волн и сразу экспортировать готовый файл .sub на SD-карту устройства. Модуль Payload Lab отвечает за подготовку скриптов Rubber Ducky/BadUSB, инфракрасных пультов и NFC-меток.
Система разграничения рисков
Отдавать нейросети полный доступ к файловой системе хакерского девайса рискованно. Галлюцинация модели может привести к удалению нужных дампов. Чтобы этого не произошло, автор заложил четыре уровня доступа:
- Безопасные операции чтения выполняются автоматически.
- Изменение файлов показывает разницу до и после записи.
- Передача радиосигнала или удаление требуют подтверждения.
- Системные каталоги прошивки закрыты по умолчанию.
Любое действие сохраняется в локальный журнал аудита. Его можно отфильтровать по типу или экспортировать для анализа.
Загрузка софта из FapHub и GitHub
Внутри приложения есть встроенный каталог FapHub. Можно находить нужные утилиты и устанавливать их на Flipper в один клик. Похожим образом работает поиск ресурсов на GitHub: приложение находит совместимые файлы и скачивает их напрямую на карту памяти.
Технические подробности
Архитектурно код разбит на три стандартных слоя:
- UI Layer построен на Jetpack Compose с внедрением зависимостей через Hilt.
- Domain Layer содержит оркестратор VesperAgent, обработчик вызовов инструментов и модуль оценки рисков RiskAssessor.
- Data Layer управляет Bluetooth-соединением через FlipperBleService, сохраняет историю в Room и держит настройки в Encrypted DataStore.
При работе с LLM часто возникает проблема, когда модель отдаёт повреждённый JSON в вызове функций (Tool Calling). В Vesper встроен специальный модуль исправления синтаксиса, который восстанавливает структуру ответа до передачи команды на исполнение.
Из моделей автор рекомендует использовать Nous Research Hermes 4 или Claude Sonnet 4. Они хорошо справляются с вызовом внешних функций. Для простых задач чтения подойдет Claude Haiku 4, а для разбора сложных сигналов — Claude Opus 4.6.
Как запустить приложение
Готовых сборок APK в разделе релизов может не быть, так что собирать проект придется самостоятельно.
Для сборки понадобится JDK 17 и установленныя система Android SDK. Клонируем репозиторий и запускаем сборку:
git clone https://github.com/elder-plinius/V3SP3R.git
cd V3SP3R
./gradlew assembleDebug
Готовый файл появится по адресу app/build/outputs/apk/debug/app-debug.apk.
Для работы приложения нужны три вещи:
- Смартфон с Android 8.0 или выше.
- Включенный Bluetooth на Flipper Zero.
- Аккаунт в OpenRouter с пополненным балансом на пару долларов.
После запуска выдаём разрешения на доступ к Bluetooth и геопозиции (это требование Android для BLE-сканирования), вставляем API-ключ в настройках и подключаемся к «флипперу» во вкладке Device.
Итоги
Vesper демонстрирует практический кейс применения LLM-агентов для управления физическим железом. Проект не свободен от недостатков: вам всё равно нужен сторонний API-ключ, а сборка приложения из исходников требует минимальных навыков работы с Android SDK.
Однако для исследователей безопасности и энтузиастов микроэлектроники это отличная утилита, которая избавляет от кликов по меню и ускоряет рутинные тесты.
