🚀 Обзор приложения

Gemini Live — реал-тайм общение с ИИ-ассистентом Google Gemini через голос, видео и текст.

🎤

Голосовой ввод

Говорите напрямую в микрофон, ассистент расшифрует вашу речь

🎥

Видео-трансляция

Поделитесь тем, что видит ваша камера, с ассистентом

💬

Текстовый ввод

Дополнительный канал для тихих ситуаций (основной — голос)

🔊

Голосовой ответ

Слушайте ответы ассистента с красивым голосом

Быстрый старт

  1. Откройте приложение и войдите с логином и паролем
  2. Разрешите доступ к микрофону при первом использовании
  3. Нажмите кнопку микрофона и начните говорить
  4. Ассистент ответит голосом (основной канал)

🔗 Связь с HERMES

Gemini Live — консультант по скиллам проекта и работе с HERMES. HERMES — автономный агент-исполнитель, который выполняет реальные действия: запускает скрипты, правит файлы, общается с API.

Gemini генерирует карточки команд для HERMES, вы проверяете и подтверждаете. Это основной способ передать сложное задание от голоса к исполнителю.

🎮 Управление интерфейсом

Основные кнопки управления и их горячие клавиши.

🎤 Микрофон
Включает/выключает запись голоса. Нажмите ещё раз — остановится.
M
🎥 Камера
Включает/выключает трансляцию с веб-камеры. На мобильных с несколькими камерами появляется кнопка переключения.
V
💬 Поле ввода текста
Введите текстовое сообщение и нажмите Enter для отправки.
Enter — отправить
⏹️ Стоп / новая сессия
Прерывает текущий разговор. Для нового чата нажмите «+» в сайдбаре.
Escape

Индикаторы состояния

СтатусЗначение
🟢 OnlineСоединение установлено, можно говорить
🟡 Подключение…Установка WebSocket-соединения
🔴 OfflineСоединение разорвано, автоматическое переподключение

✨ Возможности и функции

Полный список того, что умеет приложение.

🎙️ Голосовое взаимодействие

  • Автоматическое распознавание речи в реальном времени
  • Синтез речи через локальный TTS (Ollama на Mac M1)
  • Отображение транскрипции пользователя и ассистента

📹 Видео-функции

  • Трансляция с фронтальной или задней камеры
  • Кнопка переключения камер (если устройство поддерживает)
  • Прямой анализ видео ассистентом в реальном времени

💭 Память и контекст

  • Личная память через HERMES (PGLite, gbrain) — синхронизирована с Gemini через карточки команд
  • История сессий с авто-саммаризацией при отключении
  • 3 слоя контекста: профиль → саммари → последние 10 сообщений
  • Сайдбар с историей разговоров — переключайтесь между темами

🔧 Технические возможности

  • WebSocket для минимальной задержки
  • Автоматический реконнект при потере соединения
  • JWT-авторизация — пароль передаётся только при входе

📋 Карточки команд

Gemini превращает ваши голосовые/текстовые запросы в готовые команды для HERMES. Вы видите карточку до отправки, можете отредактировать или отклонить.

Как это работает

  1. Вы говорите запрос голосом или пишете текстом
  2. Gemini анализирует запрос и решает, что нужна команда для HERMES
  3. Появляется карточка с командой и кратким описанием
  4. Вы нажимаете «Подтвердить» или «Отменить»
  5. При подтверждении команда уходит в HERMES

Что внутри карточки

📝

Текст команды

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

💡

Описание

Зачем эта команда, что должно произойти

⚙️

Инструмент

Какой навык HERMES будет использован

Когда HERMES не отвечает (by design fallback)

⏱️ Таймаут карточки Если HERMES не отвечает ~10 секунд, карточка показывает fallback: «Команда не доставлена. Можешь скопировать и отправить через Telegram вручную». Это сознательная safety-net, не баг — на случай, когда HERMES/network/Wi-Fi/WG недоступны.

Где смотреть историю

Все отправленные и отклонённые карточки сохраняются в боковой панели «Разговоры» вместе с обычными сообщениями чата.

❓ Часто задаваемые вопросы

Почему я не слышу ответы?
Проверьте: громкость в браузере, разрешение автовоспроизведения звука, не заглушены ли вкладки.
Как разрешить доступ к микрофону?
Нажмите на иконку замка 🔒 в адресной строке → «Разрешения» → Микрофон → «Разрешить». Перезагрузите страницу.
Может ли ассистент видеть мою камеру?
Да — когда камера включена, видеопоток передаётся ассистенту в реальном времени для анализа.
Камера не переключается на мобильном Chrome
Это ограничение Chrome Android. При ошибке переключения появится кнопка с адресом сайта для перехода в другой браузер (Firefox, Safari).
Безопасны ли мои данные?
Данные передаются по зашифрованному соединению (HTTPS + WSS). JWT-токен не содержит пароль. Пароль передаётся только один раз при входе.
Сессия истекла — просит войти заново
Токен сессии живёт до перезагрузки страницы или явного выхода. В localStorage сохраняется только логин, токен — в sessionStorage.

🔧 Решение проблем

Ошибка подключения / Offline Проверьте что сервер запущен. Перезагрузите страницу (Ctrl+Shift+R). Проверьте консоль браузера (F12 → Console).
Ассистент не отвечает — API ошибка Возможно исчерпана квота Google API. Подождите несколько минут. Приложение переподключится автоматически.
Плохое качество распознавания речи Говорите чётко, близко к микрофону. Снизьте фоновый шум. Проверьте уровень громкости микрофона в системе.
Видео не отправляется Проверьте разрешения браузера. Убедитесь что камера не занята другим приложением. Попробуйте другой браузер.
Диагностика WebSocket F12 → Network → фильтр WS → найдите соединение /ws — смотрите сообщения в реальном времени.

⚠️ Что в разработке / известные ограничения

Что ещё не доехало до релиза, и где есть сознательные компромиссы.

В разработке

🔍 Проверка voice-flow ↔ Knowledge API Карточки команд уже синхронизированы с HERMES, но пока не подтверждено, что Gemini использует Knowledge API в чисто голосовом потоке (вне карточек). Это в работе — summary/PROJECT-MISSION.md содержит детали.

Сознательные ограничения

🧠 HERMES использует PGLite вместо PostgreSQL Технический баг (bun@1.3.14 + postgres.js@3.4.x) блокирует миграцию gbrain на серверный PostgreSQL. Решение — PGLite (файловая БД в контейнере). Миграция отложена.
🧱 Дубли контейнеров — это нормально В инфраструктуре намеренно держатся два n8n и два Telegram-бота (n8n2-*, infra-tg-bot-1 рядом с infra-gemini-tg-bot-1). Это резерв для выделения в самостоятельные продукты, не баг.
⏱️ Таймаут карточек — это by design Когда HERMES не отвечает, карточка показывает fallback на ручную отправку через Telegram. Это safety-net, а не ошибка.

Внешние зависимости

  • Embeddings требуют Mac M1 (192.168.50.250) в сети
  • При обрыве Wi-Fi/WG — circuit breaker переключает на keyword-поиск (60 сек)

⌨️ Горячие клавиши

КлавишаДействие
MВключить/выключить микрофон
VВключить/выключить камеру
EnterОтправить текстовое сообщение
EscapeОстановить разговор
Ctrl+Shift+RЖёсткая перезагрузка страницы
F12Открыть DevTools (диагностика)
Совет Горячие клавиши работают только когда фокус не в поле ввода текста.
Назад к сессии