94 lines
2.8 KiB
Markdown
94 lines
2.8 KiB
Markdown
# Home AI Assistant
|
|
|
|
Домашний ИИ-ассистент с REST API, веб-интерфейсом и помидоро-таймером. LLM — OpenRouter (по умолчанию DeepSeek).
|
|
|
|
## Возможности (MVP)
|
|
|
|
- Чат с потоковыми ответами (SSE)
|
|
- Управление помидоро из чата через tool calling
|
|
- REST API для внешних клиентов (Telegram-бот, мобильное приложение)
|
|
- Веб-морда: вкладки «Чат» и «Помидоро»
|
|
|
|
## Быстрый старт
|
|
|
|
### 1. Настройка окружения
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
Заполните в `.env`:
|
|
|
|
```env
|
|
OPENROUTER_API_KEY=sk-or-v1-...
|
|
PORT=8080
|
|
```
|
|
|
|
### 2. Запуск через Docker
|
|
|
|
```bash
|
|
docker compose up --build
|
|
```
|
|
|
|
- Backend API: http://localhost:8080
|
|
- Web UI: http://localhost:3000
|
|
- Healthcheck: http://localhost:8080/api/v1/health
|
|
|
|
### 3. Локальная разработка
|
|
|
|
**Backend:**
|
|
|
|
```bash
|
|
cd backend
|
|
python -m venv .venv
|
|
.venv\Scripts\activate # Windows
|
|
pip install -r requirements.txt
|
|
uvicorn app.main:app --reload --port 8080
|
|
```
|
|
|
|
**Frontend:**
|
|
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
Vite dev-server: http://localhost:5173 (проксирует `/api` на backend).
|
|
|
|
## REST API
|
|
|
|
| Method | Path | Описание |
|
|
|--------|------|----------|
|
|
| GET | `/api/v1/health` | Healthcheck |
|
|
| POST | `/api/v1/chat/sessions` | Создать чат-сессию |
|
|
| GET | `/api/v1/chat/sessions` | Список сессий |
|
|
| GET | `/api/v1/chat/sessions/{id}` | История сообщений |
|
|
| POST | `/api/v1/chat/sessions/{id}/messages` | Отправить сообщение (SSE) |
|
|
| DELETE | `/api/v1/chat/sessions/{id}` | Удалить сессию |
|
|
| GET | `/api/v1/pomodoro/status` | Статус таймера |
|
|
| POST | `/api/v1/pomodoro/start` | Старт `{duration_min, task_note}` |
|
|
| POST | `/api/v1/pomodoro/pause` | Пауза |
|
|
| POST | `/api/v1/pomodoro/resume` | Продолжить |
|
|
| POST | `/api/v1/pomodoro/stop` | Стоп `{result, completed}` |
|
|
| GET | `/api/v1/pomodoro/history` | История сессий |
|
|
|
|
## Структура проекта
|
|
|
|
```
|
|
backend/ FastAPI, OpenRouter, SQLite, помидоро
|
|
frontend/ React + Vite, чат и таймер
|
|
data/ SQLite БД (создаётся автоматически)
|
|
```
|
|
|
|
## Следующие фазы
|
|
|
|
- Интеграция Taiga + Gitea (project-agent внутри проекта)
|
|
- RAG с Qdrant для документов
|
|
- Проактивные чаты по расписанию
|
|
- Фитнес-трекер
|
|
|
|
## Модель
|
|
|
|
По умолчанию: `deepseek/deepseek-chat` через OpenRouter. Альтернатива для болтовни: `google/gemini-2.0-flash`.
|