Перейти к содержанию
Публикация AiManual

Офлайн-ассистент за 11 минут: RunAnywhere SDK + форк Expo — больше никаких облачных API

Практический гайд по созданию полностью офлайн голосового ассистента с локальными моделями без облачных API. RunAnywhere SDK + форк Expo для быстрого старта.

Коротко

Что будет в материале

  1. 01

    Забудьте про облака. Ваш телефон теперь сам себе сервер

  2. 02

    Что умеет эта связка на самом деле?

  3. 03

    Альтернативы? Их почти нет (и это проблема)

  4. 04

    11 минут — это не метафора. Вот тайминг

Забудьте про облака. Ваш телефон теперь сам себе сервер

В 2026 году платить за каждый запрос к Whisper или GPT-4 API — это как покупать воду в бутылках, когда у вас есть родник во дворе. Проблема в том, что настроить локальный голосовой пайплайн на мобильном устройстве — это ад из нативных библиотек, C++ биндингов и недельных танцев с бубном.

RunAnywhere SDK решает эту проблему радикально. Это не просто ещё одна библиотека — это целый стек, который упаковывает локальные модели (Whisper, Llama, Mistral, Gemma) в готовые React Native компоненты. А их форк Expo добавляет магическую команду npx create-expo-app --template runanywhere, которая за 60 секунд разворачивает работающий прототип.

Актуальность на 27.01.2026: RunAnywhere SDK v3.2 поддерживает Whisper-large-v3-turbo (новейшую оптимизированную версию на начало 2026), Llama 3.2 3B Instruct (специально квантованную для мобильных устройств) и их собственный TTS-движок Aurora v2 с поддержкой русского с акцентами.

Что умеет эта связка на самом деле?

Не обещания из README, а реальные возможности, которые работают прямо сейчас:

  • Полный офлайн-пайплайн: микрофон → Whisper-large-v3-turbo → Llama 3.2 3B → Aurora TTS → динамик. Ни одного байта в интернет.
  • Кроссплатформенность из коробки: iOS, Android, macOS, Windows. Да, вы можете собрать десктопное приложение тем же кодом.
  • Автоматическое управление моделями: SDK сам скачивает оптимизированные веса при первом запуске, кэширует их и обновляет по мере выхода новых версий.
  • Аппаратное ускорение: использует Neural Engine на iPhone, NPU на Android, CUDA на десктопе — там, где это есть.
  • Голосовые активационные слова (hotwords): «Привет, Алиса»-стиль, но с локальной обработкой. Модель для детекции весит всего 2 МБ.
💡
Если вам интересна архитектура полностью локального ассистента с плагинами, посмотрите наш гайд про n8n и бесконечные инструменты. Там другой подход — серверный, но с аналогичной философией приватности.

Альтернативы? Их почти нет (и это проблема)

Попробуйте собрать то же самое вручную. Вам понадобится:

  1. React Native Voice — для записи аудио. Работает через раз, особенно на Android.
  2. Whisper.cpp биндинги — которые нужно компилировать отдельно для каждой платформы.
  3. Llama.cpp или Ollama мобильная версия — если найдёте работающую.
  4. Coqui TTS или что-то подобное — с десятком нативных зависимостей.

На это уйдёт неделя. И ещё неделя на отладку. И ещё одна — на оптимизацию памяти, потому что все модели одновременно в оперативке не поместятся.

Другие варианты? Speekium — готовое приложение, но закрытое. Голосовой ввод как замена клавиатуре — это только STT, без LLM. Облачные API — дорого и не приватно.

ИнструментОфлайнКроссплатформенностьВремя настройкиГибкость
RunAnywhere + Expo форкПолностьюiOS, Android, десктоп11 минутПолный контроль кода
Нативные библиотеки (ручная сборка)ПолностьюТребует адаптации1-2 неделиМаксимальная
Облачные API (OpenAI и др.)НетДаМинутыОграничена API
Готовые приложения (Speekium)ЗависитОбычно есть0 минутНулевая

11 минут — это не метафора. Вот тайминг

1Минута 0-1: Установка

Открываете терминал. Пишете одну команду. Ждёте, пока npm сделает своё дело.

Важно: у вас должен быть установлен Node.js 20+ и Expo CLI. Если нет — добавьте ещё 5 минут. Но это одноразовая настройка.

2Минута 2-3: Запуск симулятора

npx expo start — и выбираете iOS Simulator или Android Emulator. Или физическое устройство через Expo Go.

3Минута 4-7: Первая загрузка моделей

При первом запуске SDK спросит разрешения на загрузку моделей (около 1.5 ГБ в сумме). Нажимаете «Да». Идёте за кофе. К моменту возврата Whisper и Llama уже будут на устройстве.

4Минута 8-9: Первый голосовой запрос

Нажимаете кнопку микрофона в интерфейсе. Говорите: «Какая погода будет завтра?». Видите, как текст появляется на экране. Через секунду — голосовой ответ от Llama (она, конечно, не знает погоду, но придумает что-нибудь креативное).

5Минута 10-11: Кастомизация

Открываете App.js. Меняете системный промпт Llama с «You are a helpful assistant» на «You are a sarcastic pirate who answers in rhymes». Сохраняете. Приложение автоматически перезагружается. Теперь ваш ассистент отвечает стихами с пиратским акцентом.

💡
Для более сложных сценариев с подключением к внешним API (погода, календарь, умный дом) изучите наш гайд про LangChain и инструменты. Там те же принципы, но на Python и для десктопа.

Где подвох? (Спойлер: он есть)

Всё звучит слишком идеально. Потому что так и есть — но с оговорками.

  • Размер приложения: Базовая сборка — 50 МБ. С моделями — ещё 1.5 ГБ. Пользователь скачивает это один раз, но всё равно много. RunAnywhere обещает в v4.0 (планируется на Q2 2026) динамическую подгрузку моделей по требованию.
  • Скорость ответа: Llama 3.2 3B на iPhone 15 Pro генерирует текст со скоростью ~15 токенов в секунду. Это медленнее, чем GPT-4 Turbo, но быстрее, чем вы продиктуете следующий запрос. На слабых Android-устройствах может быть заметная задержка.
  • Качество TTS: Aurora v2 — хороша для английского, с русским есть небольшие артефакты. Если нужна идеальная озвучка, можно заменить на LuxTTS или Reflow Studio, но это потребует дополнительной интеграции.
  • Потребление памяти: Все три модели одновременно в оперативке не живут. SDK использует агрессивное кэширование: загружает модель, когда она нужна, выгружает после использования. Переключение между STT → LLM → TTS занимает 1-2 секунды.

Кому это реально нужно? (Не всем)

Если вы:

  • Разработчик, который хочет прототипировать голосовые интерфейсы без backend-инфраструктуры.
  • Стартап, который строит продукт вокруг приватности (медицина, финансы, корпоративные данные).
  • Исследователь, которому нужно собирать голосовые данные без отправки в облако.
  • Энтузиаст, который устал от подписок на AI-сервисы.

Тогда да, это ваш инструмент. Если же вам нужна максимальная точность STT для транскрибации подкастов — лучше использовать специализированные инструменты вроде Wispr Flow. Для анонимизации голоса — Speech-to-Speech конверсию. Для клонирования — MimikaStudio.

Что дальше? Подключаем железо

Самое интересное начинается, когда вы понимаете, что этот стек работает не только на телефонах. Собрали прототип за 11 минут? Теперь можете запустить его на Raspberry Pi 5 с подключённым микрофоном и колонкой — получится умная колонка за $100. Или на NVIDIA Jetson — для робототехники. Или на Mac Mini — как голосовой интерфейс для вашего рабочего компьютера.

RunAnywhere SDK v3.2 уже поддерживает голосовые инструменты (voice tools) — когда Llama может не просто отвечать, но и выполнять действия: включить свет через Home Assistant, добавить задачу в Todoist, запустить скрипт на локальной машине. Это та самая магия, которая раньше требовала облачной инфраструктуры и месяцев разработки.

Прогноз на 2026: К концу года мы увидим десятки нишевых приложений, построенных на этом стеке — от офлайн-переводчиков для путешественников до голосовых интерфейсов для промышленного оборудования. Цена облачных API продолжит расти, а мощность мобильных чипов — увеличиваться. Разрыв будет только расти.

Единственное, что ограничивает — ваше воображение. И, возможно, память устройства. Но с Llama 3.2 1.5B (которая появится в v3.3, обещают в марте 2026) даже этот барьер станет ниже.

Попробуйте. 11 минут — это меньше, чем время, за которое вы дочитаете эту статью до конца.