- Потоковая озвучка: ответ режется на фразы, синтез и воспроизведение в отдельных потоках - Подготовка текста: числа словами, без markdown, ссылок и блоков кода - Модель Silero скачивается в LOCALAPPDATA и прогревается при старте - Состояние «говорю», переключатель озвучки в трее, «Стоп» прерывает речь - Тесты нарезки текста и оркестратора озвучки Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
agr-assistent
Минимальный AI-ассистент, живущий в системном трее.
- LLM: локальные модели (Ollama, LM Studio, llama.cpp) или OpenRouter — через единый OpenAI-совместимый API
- Текстовый чат со стримингом ответа
- Озвучка ответов голосом Silero: фразы проговариваются по мере генерации, блоки кода пропускаются
- В планах: голосовой ввод (faster-whisper), слово активации
Запуск
Нужен 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 читает только кириллицу: числа переводятся в слова, латиница пропускается.
Закрытие окна сворачивает приложение в трей. Клик по значку открывает чат, в меню значка — переключение провайдера, новый диалог и выход.
Разработка
uv run pytest