Files
agr-assistent/README.md
T
mrleo1nidandClaude Opus 5 513d010c19 Этап 3: голосовой ввод по горячей клавише
- Глобальная горячая клавиша через RegisterHotKey (по умолчанию Win+Alt+Space)
- Запись с микрофона, конец фразы по паузе через Silero VAD, звуковые сигналы
- Распознавание faster-whisper large-v3-turbo на GPU, CUDA-библиотеки из pip-пакетов nvidia-*
- Состояния «слушаю» и «распознаю», кнопка «Говорить» в чате и пункт в трее
- Голосовая команда прерывает текущий ответ и озвучку
- Тесты горячей клавиши, детектора конца фразы и сеанса голосового ввода

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 03:34:09 +03:00

3.0 KiB

agr-assistent

Минимальный AI-ассистент, живущий в системном трее.

  • LLM: локальные модели (Ollama, LM Studio, llama.cpp) или OpenRouter — через единый OpenAI-совместимый API
  • Текстовый чат со стримингом ответа
  • Озвучка ответов голосом Silero: фразы проговариваются по мере генерации, блоки кода пропускаются
  • Голосовой ввод по глобальной горячей клавише: faster-whisper на видеокарте, конец фразы по паузе (Silero VAD)
  • В планах: слово активации

Запуск

Нужен uv.

uv sync
uv run agr-assistent

При первом запуске рядом создаётся config.yaml (путь можно переопределить переменной AGR_ASSISTENT_CONFIG). В нём выбирается провайдер и модель:

llm:
  provider: openrouter
  providers:
    openrouter:
      api_key: ${OPENROUTER_API_KEY}   # или ключ напрямую
      model: openai/gpt-4o-mini

Для Ollama достаточно запустить сервер и скачать модель: ollama pull qwen2.5:7b.

Модель Silero (~145 МБ) скачивается при первом запуске в %LOCALAPPDATA%\agr-assistent\models. Голос и модель задаются в секции tts конфига; озвучку можно выключить в меню значка. Silero читает только кириллицу: числа переводятся в слова, латиница пропускается.

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

Нажмите Win+Alt+Space (настраивается в voice.hotkey), дождитесь короткого сигнала и говорите — запись закончится сама после паузы, или нажмите клавишу ещё раз. Если ассистент в этот момент отвечает, он замолкает и слушает.

Распознаёт faster-whisper (large-v3-turbo, ~1.6 ГБ, скачивается при первом запуске). При наличии видеокарты NVIDIA используется она: библиотеки CUDA ставятся pip-пакетами nvidia-cublas-cu12 и nvidia-cudnn-cu12, отдельно устанавливать CUDA Toolkit не нужно. Без видеокарты распознавание идёт на CPU — тогда лучше выбрать модель small или medium.

Закрытие окна сворачивает приложение в трей. Клик по значку открывает чат, в меню значка — переключение провайдера, новый диалог и выход.

Разработка

uv run pytest