Этап 5: окно настроек и сборка exe

- Окно настроек: модель и провайдер (со списком моделей с сервера), озвучка,
  голосовой ввод, слово активации, автозапуск с Windows
- Сохранение в config.yaml через ruamel.yaml с комментариями и ссылками ${VAR},
  проверка значений до записи; переключатели трея тоже сохраняются
- Настройки LLM и переключатели применяются на лету, для остального — перезапуск
- Один экземпляр приложения, лог в файл, аргументы --config и --wait-pid, русские диалоги Qt
- Сборка PyInstaller (onedir) с библиотеками CUDA, иконка приложения
- Тесты сохранения настроек и окна настроек

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nid
2026-09-17 04:10:31 +03:00
co-authored by Claude Opus 5
parent a719980d74
commit 20a666e0d4
23 changed files with 1022 additions and 46 deletions
+23 -2
View File
@@ -60,8 +60,29 @@ Silero читает только кириллицу: числа переводя
не нагружает процессор. Слова, начинающиеся с ключевого («ассистентка»), могут давать ложные
срабатывания.
Закрытие окна сворачивает приложение в трей. Клик по значку открывает чат, в меню значка —
переключение провайдера, новый диалог и выход.
### Настройки
Окно настроек открывается из меню значка или кнопкой «Настройки» в чате: провайдер и модель
(список моделей подгружается с сервера), голос, горячая клавиша, модель Whisper, слово активации,
автозапуск с Windows. Изменения сохраняются в `config.yaml` с сохранением комментариев;
ключи вида `${ПЕРЕМЕННАЯ}` остаются ссылками. Настройки модели и переключатели применяются сразу,
для смены моделей, голоса и горячей клавиши приложение предложит перезапуститься.
Закрытие окна сворачивает приложение в трей. Клик по значку открывает чат. Повторный запуск
не создаёт второй экземпляр, а показывает окно уже запущенного.
Лог пишется в `%LOCALAPPDATA%\agr-assistent\logs`. Путь к конфигу можно передать аргументом:
`agr-assistent --config D:\path\config.yaml`.
## Сборка exe
```bash
uv run pyinstaller agr-assistent.spec --noconfirm
```
Результат — папка `dist\agr-assistent` (~2.8 ГБ, из них ~2 ГБ — библиотеки CUDA) с
`agr-assistent.exe`; её можно переносить целиком. `config.yaml` создаётся рядом с exe, модели
скачиваются в `%LOCALAPPDATA%\agr-assistent\models` при первом запуске.
## Разработка