Перейти к основному содержимому

Использование голосового режима с VibeOS

Это руководство — практическое дополнение к справочнику функций голосового режима.

Если страница функций объясняет, что может голосовой режим, это руководство показывает, как его эффективно использовать.

подсказка

Nous Portal объединяет LLM и TTS через единый OAuth — голосовой режим работает «из коробки» без дополнительных учётных данных.

Для чего подходит голосовой режим​

Голосовой режим особенно полезен, когда:

  • вам нужен workflow в CLI без использования рук
  • вы хотите получать голосовые ответы в Telegram или Discord
  • вы хотите, чтобы VibeOS находился в голосовом канале Discord для живого общения
  • вы хотите быстро фиксировать идеи, отлаживать или вести диалог на ходу, вместо того чтобы печатать

Выберите свою конфигурацию голосового режима​

В VibeOS есть три различных голосовых режима.

РежимДля чего лучше всего подходитПлатформа
Интерактивный микрофонный циклЛичное использование без рук во время программирования или исследованийCLI
Голосовые ответы в чатеОзвученные ответы вместе с обычными сообщениямиTelegram, Discord
Бот в голосовом каналеГрупповое или личное живое общение в голосовом каналеГолосовые каналы Discord

Хороший путь:

  1. сначала настройте текстовый режим
  2. затем включите голосовые ответы
  3. переходите к голосовым каналам Discord в последнюю очередь, если хотите полный функционал

Шаг 1: убедитесь, что обычный VibeOS работает​

Перед тем как касаться голосового режима, проверьте:

  • VibeOS запускается
  • ваш провайдер настроен
  • агент может нормально отвечать на текстовые запросы
vibeos

Задайте что-нибудь простое:

Какие инструменты у тебя есть?

Если это ещё не стабильно, сначала исправьте текстовый режим.

Шаг 2: установите правильные дополнительные пакеты​

Микрофон + воспроизведение в CLI​

cd ~/.vibeos/vibeos-agent && uv pip install -e ".[voice]"

Платформы обмена сообщениями​

cd ~/.vibeos/vibeos-agent && uv pip install -e ".[messaging]"

Премиум ElevenLabs TTS​

cd ~/.vibeos/vibeos-agent && uv pip install -e ".[tts-premium]"

Локальный NeuTTS (опционально)​

python -m pip install -U neutts[all]

Всё сразу​

cd ~/.vibeos/vibeos-agent && uv pip install -e ".[all]"

Шаг 3: установите системные зависимости​

macOS​

brew install portaudio ffmpeg opus
brew install espeak-ng

Ubuntu / Debian​

sudo apt install portaudio19-dev ffmpeg libopus0
sudo apt install espeak-ng

Почему они важны:

  • portaudio → ввод с микрофона / воспроизведение для голосового режима CLI
  • ffmpeg → преобразование аудио для TTS и доставки сообщений
  • opus → поддержка голосового кодека Discord
  • espeak-ng → бэкенд фонемизатора для NeuTTS

Шаг 4: выберите провайдеров STT и TTS​

VibeOS поддерживает как локальные, так и облачные речевые стеки.

Самый простой / дешёвый вариант​

Используйте локальный STT и бесплатный Edge TTS:

  • Провайдер STT: local
  • Провайдер TTS: edge

Обычно это лучшее место для начала.

Пример файла окружения​

Добавьте в ~/.vibeos/.env:

# Облачные варианты STT (для local ключ не нужен)
GROQ_API_KEY=***
VOICE_TOOLS_OPENAI_KEY=***

# Премиум TTS (опционально)
ELEVENLABS_API_KEY=***

Рекомендации по провайдерам​

Распознавание речи (STT)​

  • local → лучший выбор по умолчанию для конфиденциальности и бесплатного использования
  • groq → очень быстрое облачное распознавание
  • openai → хороший платный запасной вариант

Синтез речи (TTS)​

  • edge → бесплатно и достаточно хорошо для большинства пользователей
  • neutts → бесплатный локальный TTS на устройстве
  • elevenlabs → наилучшее качество
  • openai → хороший компромисс
  • mistral → мультиязычный, нативный Opus

Если вы используете vibeos setup​

Если вы выберете NeuTTS в мастере настройки, VibeOS проверяет, установлен ли neutts. Если он отсутствует, мастер сообщает, что NeuTTS требует пакет Python neutts и системный пакет espeak-ng, предлагает установить их, устанавливает espeak-ng с помощью вашего пакетного менеджера, а затем выполняет:

python -m pip install -U neutts[all]

Если вы пропустите эту установку или она не удастся, мастер переключится на Edge TTS.

Шаг 5: рекомендуемая конфигурация​

voice:
record_key: "ctrl+b"
max_recording_seconds: 120
auto_tts: false
beep_enabled: true
silence_threshold: 200
silence_duration: 3.0

stt:
provider: "local"
local:
model: "base"

tts:
provider: "edge"
edge:
voice: "en-US-AriaNeural"

Это хорошая консервативная настройка по умолчанию для большинства людей.

Если вы хотите использовать локальный TTS, замените блок tts на:

tts:
provider: "neutts"
neutts:
ref_audio: ''
ref_text: ''
model: neuphonic/neutts-air-q4-gguf
device: cpu

Сценарий 1: голосовой режим в CLI​

Включение​

Запустите VibeOS:

vibeos

Внутри CLI:

/voice on

Процесс записи​

Клавиша по умолчанию:

  • Ctrl+B

Рабочий процесс:

  1. нажмите Ctrl+B
  2. говорите
  3. дождитесь автоматической остановки записи по обнаружению тишины
  4. VibeOS распознаёт и отвечает
  5. если TTS включён, он озвучивает ответ
  6. цикл может автоматически перезапускаться для непрерывного использования

Полезные команды​

/voice
/voice on
/voice off
/voice tts
/voice status

Хорошие сценарии работы в CLI​

Отладка на ходу​

Скажите:

У меня постоянно возникает ошибка прав доступа к Docker. Помоги отладить.

Затем продолжайте без рук:

  • «Прочитай последнюю ошибку ещё раз»
  • «Объясни первопричину проще»
  • «Теперь дай точное исправление»

Исследования / мозговой штурм​

Отлично подходит для:

  • прогулок во время размышлений
  • диктовки неоформленных идей
  • просьбы к VibeOS структурировать мысли в реальном времени

Доступность / сессии с минимальным набором текста​

Если печатать неудобно, голосовой режим — один из самых быстрых способов оставаться в полном цикле VibeOS.

Настройка поведения CLI​

Порог тишины​

Если VibeOS начинает/заканчивает слишком агрессивно, настройте:

voice:
silence_threshold: 250

Более высокий порог = меньшая чувствительность.

Длительность тишины​

Если вы делаете длинные паузы между предложениями, увеличьте:

voice:
silence_duration: 4.0

Клавиша записи​

Если Ctrl+B конфликтует с вашим терминалом или привычками в tmux:

voice:
record_key: "ctrl+space"

Сценарий 2: голосовые ответы в Telegram или Discord​

Этот режим проще, чем полноценные голосовые каналы.

VibeOS остаётся обычным чат-ботом, но может озвучивать ответы.

Запуск шлюза​

vibeos gateway

Включение голосовых ответов​

В Telegram или Discord:

/voice on

или

/voice tts

Режимы​

РежимЗначение
offтолько текст
voice_onlyозвучивать только когда пользователь отправил голосовое сообщение
allозвучивать каждый ответ

Когда использовать какой режим​

  • /voice on если вы хотите получать голосовые ответы только на голосовые сообщения
  • /voice tts если вы хотите полноценного голосового ассистента всё время

Хорошие сценарии работы с сообщениями​

Ассистент Telegram на телефоне​

Используйте, когда:

  • вы вдали от компьютера
  • хотите отправлять голосовые заметки и получать быстрые голосовые ответы
  • хотите, чтобы VibeOS работал как портативный исследовательский или операционный ассистент

Личные сообщения Discord с голосовым выводом​

Полезно, когда вы хотите приватного взаимодействия без поведения упоминаний в каналах сервера.

Сценарий 3: голосовые каналы Discord​

Это самый продвинутый режим.

VibeOS подключается к голосовому каналу Discord, слушает речь пользователей, распознаёт её, запускает обычный конвейер агента и озвучивает ответы обратно в канал.

Необходимые разрешения Discord​

В дополнение к обычной настройке текстового бота, убедитесь, что бот имеет:

  • Подключение
  • Речь
  • желательно «Использовать голосовую активность»

Также включите привилегированные намерения на портале разработчика:

  • Presence Intent
  • Server Members Intent
  • Message Content Intent

Подключение и отключение​

В текстовом канале Discord, где присутствует бот:

/voice join
/voice leave
/voice status

Что происходит при подключении​

  • пользователи говорят в голосовом канале
  • VibeOS определяет границы речи
  • расшифровки публикуются в связанном текстовом канале
  • VibeOS отвечает текстом и аудио
  • текстовый канал — тот, в котором была введена команда /voice join

Лучшие практики для использования голосовых каналов Discord​

  • держите DISCORD_ALLOWED_USERS строгим
  • сначала используйте выделенный тестовый канал для бота
  • проверьте работу STT и TTS в обычном текстовом голосовом режиме перед попыткой режима голосового канала

Рекомендации по качеству голоса​

Лучшая конфигурация по качеству​

  • STT: локальный large-v3 или Groq whisper-large-v3
  • TTS: ElevenLabs

Лучшая конфигурация по скорости / удобству​

  • STT: локальный base или Groq
  • TTS: Edge

Лучшая бесплатная конфигурация​

  • STT: локальный
  • TTS: Edge

Частые проблемы​

«Аудиоустройство не найдено»​

Установите portaudio.

«Бот подключается, но ничего не слышит»​

Проверьте:

  • ваш ID пользователя Discord есть в DISCORD_ALLOWED_USERS
  • вы не в режиме «без звука»
  • привилегированные намерения включены
  • у бота есть разрешения на подключение и речь

«Распознаёт, но не говорит»​

Проверьте:

  • конфигурацию провайдера TTS
  • API-ключ / квоту для ElevenLabs или OpenAI
  • установку ffmpeg для путей конвертации Edge

«Whisper выдаёт мусор»​

Попробуйте:

  • более тихое окружение
  • более высокий silence_threshold
  • другого провайдера/модель STT
  • более короткие и чёткие высказывания

«Работает в личных сообщениях, но не в каналах сервера»​

Это часто связано с политикой упоминаний.

По умолчанию боту требуется @упоминание в текстовых каналах сервера Discord, если не настроено иное.

Рекомендуемая настройка на первую неделю​

Если вы хотите кратчайший путь к успеху:

  1. добейтесь работы текстового VibeOS
  2. установите vibeos-agent[voice]
  3. используйте голосовой режим CLI с локальным STT и Edge TTS
  4. затем включите /voice on в Telegram или Discord
  5. только после этого пробуйте режим голосового канала Discord

Такая последовательность минимизирует область поиска ошибок.

Что читать дальше​