Hermes Agent поддерживает полное голосовое взаимодействие через интерфейс командной строки и платформы обмена сообщениями. Разговаривайте с агентом с помощью микрофона, слушайте устные ответы и общайтесь в реальном времени в голосовых каналах Discord.
Если вам нужно практическое руководство по настройке с рекомендуемыми конфигурациями и реальными схемами использования, см. Использовать голосовой режим с Hermes.
Предварительные условия
Прежде чем использовать голосовые функции, убедитесь, что у вас есть:
Агент Hermes установлен — pip install hermes-agent (см. Установка)
Настроен поставщик LLM – запустите hermes model или установите предпочитаемые учетные данные поставщика в ~/.hermes/.env
Рабочая базовая настройка — запустите hermes, чтобы убедиться, что агент отвечает на текст, прежде чем включать голосовую связь.:::совет
Каталог ~/.hermes/ и файл config.yaml по умолчанию создаются автоматически при первом запуске hermes. Вам нужно только вручную создать ~/.hermes/.env для ключей API.
Обзор
Особенность
Платформа
Описание
Интерактивный голос
интерфейс командной строки
Нажмите Ctrl+B для записи, агент автоматически обнаружит тишину и ответит
Автоматический голосовой ответ
Телеграмма, Дискорд
Агент отправляет голосовой звук вместе с текстовыми ответами
Голосовой канал
Раздор
Бот присоединяется к ВК, слушает разговоры пользователей, говорит и отвечает
Требования
Пакеты Python
# CLI voice mode (microphone + audio playback)
pipinstall"hermes-agent[voice]"# Discord + Telegram messaging (includes discord.py[voice] for VC support)
pipinstall"hermes-agent[messaging]"# Premium TTS (ElevenLabs)
pipinstall"hermes-agent[tts-premium]"# Local TTS (NeuTTS, optional)
python-mpipinstall-Uneutts[all]# Everything at once
pipinstall"hermes-agent[all]"
Экстра
Пакеты
Требуется для
голос
sounddevice, numpy
Голосовой режим CLI
обмен сообщениями
discord.py[voice], python-telegram-bot, aiohttp
Боты Discord и Telegram
ттс-премиум
одиннадцатьлабов
ElevenLabs TTS-провайдер
Дополнительный локальный поставщик TTS: установите neutts отдельно с помощью python -m pip install -U neutts[all]. При первом использовании модель загружается автоматически.:::информация
discord.py[voice] автоматически устанавливает PyNaCl (для шифрования голоса) и привязки opus. Это необходимо для поддержки голосового канала Discord.
Системные зависимости
# macOS
brewinstallportaudioffmpegopus
brewinstallespeak-ng# for NeuTTS# Ubuntu/Debian
sudoaptinstallportaudio19-devffmpeglibopus0
sudoaptinstallespeak-ng# for NeuTTS
Говорите — полоса уровня звука в реальном времени показывает ваш ввод: ● [ ▂▃▅▇▇▅▂] ❯
Перестать говорить — после 3 секунд молчания запись автоматически прекращается.
Два звуковых сигнала (660 Гц), подтверждающие окончание записи.
Аудио расшифровывается через Whisper и отправляется агенту.
Если TTS включен, ответ агента произносится вслух.
Запись автоматически возобновляется — говорите еще раз, не нажимая ни одной клавиши.
Этот цикл продолжается до тех пор, пока вы не нажмете Ctrl+B во время записи (выход из непрерывного режима) или пока 3 последовательные записи не обнаружат речи.:::совет
Ключ записи настраивается с помощью voice.record_key в ~/.hermes/config.yaml (по умолчанию: ctrl+b).
Обнаружение тишины
Двухэтапный алгоритм определяет, когда вы закончили говорить:
Речевое подтверждение — ожидание звука выше среднеквадратического порога (200) в течение не менее 0,3 с, допуская короткие провалы между слогами.
Обнаружение окончания — после подтверждения речи срабатывает через 3,0 секунды непрерывной тишины.
Если в течение 15 секунд речь вообще не распознается, запись автоматически останавливается.
И «silence_threshold», и «silence_duration» настраиваются в «config.yaml». Вы также можете отключить звуковые сигналы начала/остановки записи с помощью voice.beep_enabled: false.
Потоковое TTS
Когда TTS включен, агент произносит свой ответ предложение за предложением по мере генерации текста — вы не ждете полного ответа:
Буферизирует текстовые различия в полные предложения (минимум 20 символов).
Удаляет форматирование уценки и блоки <think>.
Генерирует и воспроизводит звук для каждого предложения в режиме реального времени.
Фильтр галлюцинаций
Whisper иногда генерирует фантомный текст из тишины или фонового шума («Спасибо за просмотр», «Подписаться» и т. д.). Агент отфильтровывает их, используя набор из 26 известных фраз-галлюцинаций на нескольких языках, а также шаблон регулярного выражения, который улавливает повторяющиеся варианты.
Запустите шлюз для подключения к вашим платформам обмена сообщениями:
hermesgateway# Start the gateway (connects to configured platforms)
hermesgatewaysetup# Interactive setup wizard for first-time configuration
Discord: Каналы против личных сообщений
Бот поддерживает два режима взаимодействия в Discord:
Режим
Как говорить
Упоминание обязательно
Настройка
Прямое сообщение (DM)
Открыть профиль бота → «Сообщение»
Нет
Работает сразу
Канал сервера
Введите текстовый канал, где присутствует бот
Да (@botname`)
Бота необходимо пригласить на сервер
DM (рекомендуется для личного использования): Просто откройте DM с ботом и введите сообщение — @упоминание не требуется. Голосовые ответы и все команды работают так же, как и в каналах.
Каналы сервера: Бот отвечает только тогда, когда вы @упоминаете его (например, @hermesbyt4 hello). Убедитесь, что вы выбрали пользователя-бота во всплывающем окне с упоминанием, а не роль с тем же именем.:::совет
Чтобы отключить требование упоминания в каналах сервера, добавьте в ~/.hermes/.env:
DISCORD_REQUIRE_MENTION=false
Или установите определенные каналы как свободные ответы (упоминание не требуется):
DISCORD_FREE_RESPONSE_CHANNELS=123456789,987654321
```</div>
### Команды
ОниработаюткаквTelegram,такивDiscord(DMитекстовыеканалы):
/voice Toggle voice mode on/off
/voice on Voice replies only when you send a voice message
/voice tts Voice replies for ALL messages
/voice off Disable voice replies
/voice status Show current setting
Бот по умолчанию требует @mention в каналах сервера. Убедитесь, что вы:
Введите @ и выберите пользователя-бота (с #дискриминатором), а не роль с тем же именем.
Или вместо этого используйте личные сообщения — упоминание не требуется.
Или установите DISCORD_REQUIRE_MENTION=false в ~/.hermes/.env
Бот заходит в ВК, но меня не слышит
Убедитесь, что ваш идентификатор пользователя Discord находится в DISCORD_ALLOWED_USERS.
Убедитесь, что у вас не отключен звук в Discord
Боту требуется событие SPEAKING от Discord, прежде чем он сможет сопоставить ваш звук — начните говорить в течение нескольких секунд после присоединения.
Бот меня слышит, но не отвечает
Убедитесь, что STT доступен: установите faster-whisper (ключ не требуется) или установите GROQ_API_KEY / VOICE_TOOLS_OPENAI_KEY