2026-06-09 09:36:48 +03:00
2026-06-09 09:36:48 +03:00
2026-06-09 09:36:48 +03:00
2026-06-09 09:36:48 +03:00
2026-06-09 09:36:48 +03:00
2026-06-09 09:36:48 +03:00
2026-06-09 09:36:48 +03:00
2026-06-09 09:36:48 +03:00

Home AI Assistant

Домашний ИИ-ассистент с REST API, веб-интерфейсом и помидоро-таймером. LLM — OpenRouter (по умолчанию DeepSeek).

Возможности (MVP)

  • Чат с потоковыми ответами (SSE)
  • Управление помидоро из чата через tool calling
  • REST API для внешних клиентов (Telegram-бот, мобильное приложение)
  • Веб-морда: вкладки «Чат» и «Помидоро»

Быстрый старт

1. Настройка окружения

cp .env.example .env

Заполните в .env:

OPENROUTER_API_KEY=sk-or-v1-...
PORT=8080

2. Запуск через Docker

docker compose up --build

3. Локальная разработка

Backend:

cd backend
python -m venv .venv
.venv\Scripts\activate   # Windows
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8080

Frontend:

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.

S
Description
No description provided
Readme 1.2 MiB
Languages
Python 72.5%
TypeScript 22.3%
CSS 5.1%
Dockerfile 0.1%