
Ещё недавно разговор об очках дополненной реальности почти неизбежно заканчивался демонстрацией огромного шлема, роликом с выставки и фразой «через пять лет это будет у всех». Пять лет проходили, шлемы становились лучше, но надевать их по дороге в магазин никто не спешил.
Сейчас ситуация стала интереснее. Устройства наконец начали расходиться по разным веткам. Для игр и тренажёров остались большие VR-шлемы. Для виртуальных рабочих столов появились лёгкие очки-дисплеи. А рядом вырос новый класс - внешне почти обычные очки с камерой, микрофонами, динамиками, ИИ и небольшим экраном перед глазами.
Rokid Glasses RV101 относятся как раз к последнему классу. Мне они интересны не столько как готовый гаджет с переводчиком, телесуфлёром и камерой, сколько как маленький носимый компьютер, на котором разрешают запускать свой код.
Я хочу сделать про RV101 серию материалов - с описаниям приложений, SDK и теми граблями, которые обычно обнаруживаются уже после покупки устройства. А пока — небольшое введение и главный вопрос первой части: что вообще можно программировать в этих очках? В общем, как говорится, кратко, без воды :).
VR, AR и «умные очки»
С названиями здесь исторически сложился бардак. Кто-то называет AR любой экран перед глазами, кто-то приберегают этот термин только для систем, которые понимают геометрию помещения и умеют привязывать виртуальный объект к реальному столу.
Для практического разговора мне хватает такого деления.
VR-шлем закрывает реальный мир и рисует другой (иногда - поверх реального, но демонстриуемого тоже через дисплеи). Pico, Quest, Valve Index и похожие устройства хорошо подходят для игр, симуляторов и обучения. Им нужны широкое поле зрения, точный трекинг головы и рук, мощное железо. Цена этого — размеры, вес и полная изоляция пользователя от окружения.
AR/MR-шлем оставляет реальный мир видимым и добавляет к нему виртуальные объекты. Это территория HoloLens, Magic Leap и более новых устройств пространственных вычислений. Они знают, где стены, где стол и куда вы смотрите. Такие системы впечатляют, но пока с трудом помещаются в форм-фактор обычных очков.
Очки-дисплей по сути заменяют монитор. Подключаешь их к телефону, приставке или ноутбуку и видишь большой виртуальный экран. Это полезно, но сами очки могут почти ничего не знать об окружающем мире.
AI-очки с HUD выглядят скромнее. Камера видит примерно то, что видит человек, микрофоны слышат вопрос, динамики отвечают, а небольшой прозрачный дисплей показывает пару строк, стрелку навигации или перевод речи. Они не обязаны строить трёхмерную карту комнаты. Зато их можно носить дольше и использовать там, где доставать телефон неудобно.
RV101 находятся на границе последних двух категорий. Это не шлем для полноценных трёхмерных голограмм. У очков бинокулярный монохромный Micro LED-дисплей с дифракционным волноводом, поле зрения 30°, камера 12 Мп, четыре микрофона, динамики, Wi-Fi и Bluetooth. Вся конструкция весит около 49 граммов. Технические характеристики можно посмотреть в официальном FAQ Rokid.

Здесь важно не ждать от экрана невозможного. 480 × 640 точек и зелёное изображение — не кинотеатр перед глазами. Зато для текста, статуса, короткой инструкции или ответа агента этого достаточно. Более того, ограничение иногда даже полезно: оно не позволяет разработчику притащить в поле зрения очередной перегруженный мобильный интерфейс.
Что изменил встроенный ИИ
Первая волна умных очков пыталась перенести на лицо смартфон: уведомления, фотографии, звонки, иногда простое меню. Вторая добавила нормальную камеру от первого лица и голосовые модели.
Это меняет сам способ взаимодействия. Пользователю больше не обязательно формулировать команду в терминах интерфейса. Он может посмотреть на прибор и спросить: «Что означает эта ошибка?», попросить перевести вывеску или надиктовать заметку, не освобождая руки.
Но слово «ИИ» в названии ещё ничего не говорит об открытости устройства. Можно сделать отличные очки, в которых пользователь навсегда привязан к одному ассистенту и набору функций производителя. Для покупателя это, возможно, нормально. Для программиста — быстро становится скучно.
Вот здесь RV101 выделяются.
Открытая платформа, но не в смысле open source
Сразу уточню термин. Исходники всей прошивки очков не лежат на GitHub, загрузчик не обещан разблокированным, а доступ к некоторым инструментам и публикации зависит от аккаунта разработчика, региона и версии ПО. Называть RV101 «полностью открытым железом» было бы неправдой.
Открытость здесь практическая: Rokid официально предлагает несколько способов сделать своё приложение и довести его до очков. На Rokid Open Platform описаны YodaOS-Sprite, CXR SDK и AIUI Studio, а в штатном Toolbox можно устанавливать собственные и сторонние приложения. То есть очки задуманы не только как витрина сервисов Rokid.
У разработчика есть как минимум три уровня входа.
1. AIUI-агент: самый короткий путь до работающего прототипа
AIUI — это небольшие приложения, заточенные под голос и компактный интерфейс очков. Логика пишется на JavaScript, экран — на декларативном Ink. По духу это ближе к мини-приложениям, чем к обычному Android-интерфейсу.
Минимальный проект действительно небольшой:
my-agent/ ├── app.json ├── app.js ├── AGENTS.md └── pages/ └── index/ └── index.ink
В app.json объявляются страницы и заголовок, app.js отвечает за жизненный цикл, а Ink описывает то, что увидит пользователь. Есть сетевые запросы и WebSocket, работа со звуком, камерой и событиями интерфейса. Справочник JavaScript API находится на ROKID.js, а AIUI Studio позволяет собирать и отлаживать агента в браузере.
Для первого опыта это хороший уровень: не нужно начинать с Gradle, Activity и борьбы с мобильной вёрсткой. Можно сделать голосовой клиент к своему серверу, вывести результат на HUD и только после этого решать, нужен ли более низкий уровень.
Именно так устроен один из моих прототипов: очки принимают короткий запрос, отправляют его по WebSocket на локальный мост, тот передаёт задачу Codex на компьютере, а в поле зрения возвращается сжатый ответ. Отдельный агент тем же способом управляет устройствами Яндекс Умного дома.
У этого пути есть минус. Хоть на личных очках агент доступен практически сразу, добавить его в Rokid Agent Store для общего доступа это квест. Например моего агента для управления умным домом Яндекс модериривали около месяца, и он не прошел модерацию. Причина, насколько я знаю, не указывается.
2. Приложение на телефоне и каналы ввода-вывода очков
Второй вариант нужен, когда основная логика живёт на смартфоне. CXR-L SDK встраивается в мобильное приложение и через Hi Rokid получает каналы очков: изображение, звук, дисплей и команды. Телефон в такой схеме берёт на себя сеть, тяжёлые вычисления, авторизацию и привычный экран настроек, а очки остаются лёгким клиентом.
Это разумная архитектура для перевода, навигации, корпоративного клиента или мультимодального ассистента. Не всё стоит считать на батарее в 210 мА·ч, да и вводить OAuth-токен на HUD — сомнительное развлечение.
3. Приложение непосредственно на очках
CXR-S работает на YodaOS-Sprite и предназначен для приложений, запускаемых на самом устройстве. В официальном описании также заявлен доступ к кнопкам, IMU и камере и возможность приложения работать независимо от телефона.
Это самый интересный и одновременно самый требовательный путь. Он нужен, когда важны задержка, локальная обработка или собственная логика взаимодействия с железом. Здесь уже придётся учитывать ограничения процессора, памяти, нагрева и аккумулятора. Устройство на лице очень быстро объясняет, почему фоновый сервис не должен бесконечно крутить нейросеть и держать Wi-Fi на полной мощности.
Между телефоном и очками есть и двусторонний канал CXR-M/CXR-S, поэтому архитектура не сводится к выбору «всё здесь» или «всё там». Камеру и быстрый интерфейс можно оставить на очках, а модель и интеграции — на телефоне или сервере.
Уже не только «Hello, world»
Rokid Nexus — отдельная open-source платформа плагинов для RV101, а не штатная функция Rokid. На очки один раз устанавливается небольшой Nexus Hub, который рисует интерфейс на HUD, принимает голос и передаёт события. Сами плагины остаются обычными Android APK на телефоне. Поэтому для новой интеграции не нужно каждый раз собирать и заново ставить приложение на очки: достаточно установить телефонный плагин и явно выдать ему нужные возможности — например, доступ к HUD, распознаванию речи, озвучиванию или камере.
Получается промежуточный слой между низкоуровневыми SDK Rokid и готовым пользовательским приложением. Nexus не заменяет Hi Rokid и штатный AIUI, а добавляет рядом с ними общий запускатель, магазин плагинов, удалённое управление и SDK. Исходники опубликованы под Apache 2.0, так что сторонний разработчик может не только написать плагин, но и посмотреть, как устроен весь маршрут от телефона до дисплея очков.
Ниже — экран Nexus на телефоне из текущего прототипа. Платформа также видит приложения, установленные непосредственно на очках, и даёт клавиатуру с удалённым управлением. На скриншоте подключён мой плагин для Яндекс Умного дома.

Для меня это главное доказательство открытости платформы: речь идёт не о демонстрационном SDK и обещаниях на будущее. У меня на RV101 уже работают собственные приложения — очки могут обращаться к Codex на компьютере и управлять Яндекс Умным домом. Причём эти сценарии удалось реализовать двумя способами: как самостоятельные AIUI-агенты и как плагины для Rokid Nexus.
Разумеется, путь пока не такой гладкий, как публикация веб-страницы. Документация местами разбросана между несколькими порталами, инструменты быстро меняются, а часть процесса установки зависит от прошивки и включённого режима разработчика. На это тоже стоит смотреть до покупки, а не после.
Что можно разобрать дальше
Если тема интересна, можно разобрать например такие темы:
Собираем первый AIUI-агент и разбираемся, зачем нужны
app.js,app.json, Ink и.aix.Делаем нормальный интерфейс для монохромного HUD: текст, состояния, ошибки, голосовой ввод.
Соединяем очки с локальным компьютером по WebSocket и не открываем домашний ПК в интернет.
Подключаем Codex: голосом ставим задачу проекту и возвращаем короткий ответ в очки.
Управляем Яндекс Умным домом и отдельно разбираем OAuth, хранение токенов и подтверждение опасных команд.
Смотрим в сторону CXR-S: камера, IMU, кнопки и код непосредственно на очках.
Я намеренно начал не с распаковки и таблицы характеристик. Железо у подобных устройств меняется быстро. Гораздо важнее понять, появляется ли вокруг него нормальная среда для стороннего кода.
У Rokid Glasses RV101 она есть. Пока шероховатая, местами китайско-английская, с несколькими SDK и не всегда очевидным маршрутом от исходника до очков. Но дверь не заколочена — и для нового класса устройств это уже много.
Интересна ли такая серия? И что разобрать первым: простой AIUI-агент, связь с локальным Codex или приложение, которое работает прямо на очках?

