Этап 1: трей, окно чата и текстовый диалог с LLM
- PySide6: значок в трее с индикацией состояния, окно чата со стримингом и markdown
- Единый OpenAI-совместимый клиент (Ollama, LM Studio, OpenRouter)
- config.yaml с автосозданием, слиянием с умолчаниями и подстановкой ${ENV}
- Тесты конфига и сборки сообщений
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
26a01aa210
commit
7933613234
@@ -1,2 +1,39 @@
|
||||
# agr-assistent
|
||||
|
||||
Минимальный AI-ассистент, живущий в системном трее.
|
||||
|
||||
- LLM: локальные модели (Ollama, LM Studio, llama.cpp) или OpenRouter — через единый OpenAI-совместимый API
|
||||
- Текстовый чат со стримингом ответа
|
||||
- В планах: голосовой ввод (faster-whisper), озвучка ответов (Silero), слово активации
|
||||
|
||||
## Запуск
|
||||
|
||||
Нужен [uv](https://docs.astral.sh/uv/).
|
||||
|
||||
```bash
|
||||
uv sync
|
||||
uv run agr-assistent
|
||||
```
|
||||
|
||||
При первом запуске рядом создаётся `config.yaml` (путь можно переопределить переменной
|
||||
`AGR_ASSISTENT_CONFIG`). В нём выбирается провайдер и модель:
|
||||
|
||||
```yaml
|
||||
llm:
|
||||
provider: openrouter
|
||||
providers:
|
||||
openrouter:
|
||||
api_key: ${OPENROUTER_API_KEY} # или ключ напрямую
|
||||
model: openai/gpt-4o-mini
|
||||
```
|
||||
|
||||
Для Ollama достаточно запустить сервер и скачать модель: `ollama pull qwen2.5:7b`.
|
||||
|
||||
Закрытие окна сворачивает приложение в трей. Клик по значку открывает чат, в меню значка —
|
||||
переключение провайдера, новый диалог и выход.
|
||||
|
||||
## Разработка
|
||||
|
||||
```bash
|
||||
uv run pytest
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user