Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Assistant & Media Player Control

Documentation Status License: MIT Python 3.10+

Веб-интерфейс с умным медиаплеером, чат-ботом на основе Google Gemini и системой дистанционного управления (пультом ДУ) с голосовым вводом.

📚 Документация

Полная документация доступна на GitHub Pages:

Возможности

  • 🤖 AI-ассистент — Google Gemini для чатов и рекомендаций
  • 🎬 Умный медиаплеер — воспроизведение с синхронизацией между устройствами
  • 📡 Пульт ДУ — голосовое управление через Speech-to-Text и Text-to-Speech
  • 📱 Telegram Mini App — удалённое управление из Telegram
  • 📁 Управление торрентами — интеграция с qBittorrent
  • 🧠 RAG поиск — векторный поиск по медиатеке
  • 🧩 Плагины — расширяемая архитектура

🤖 Чат и Потоковый RAG-поиск (Streaming)

В чате реализован полностью потоковый вывод (Streaming) ответов ИИ и промежуточных шагов выполнения инструментов:

  • Эксклюзивный RAG-маршрут: Запросы, классифицированные как относящиеся к поиску медиа, направляются строго в RAGPlugin. Это гарантирует использование контекста локальной базы данных (media.db) и исключает прямые запросы к модели без знаний о вашей медиатеке.
  • Интерактивные статусы: Во время выполнения цепочки инструментов (Function Calling) бэкенд транслирует статус выполнения прямо в интерфейс через Server-Sent Events (SSE), например: ⚙️ Вызов функции search_media(...).
  • Финальный стриминг: Найденные фильмы RAG-плагин встраивает в контекст модели, после чего рекомендация мгновенно печатается на экране.
  • Интерактивные карточки фильмов: Если модель возвращает структурированную карточку фильма/сериала (в формате JSON), интерфейсы (и веб-плеер, и пульт ДУ) автоматически парсят её и отрисовывают как премиальный виджет с рейтингами (IMDb, Кинопоиск), описанием, жанрами и интерактивной кнопкой «Запустить фильм» для мгновенного воспроизведения.
  • Голосовой ассистент (TTS): Пульт ДУ озвучивает найденные рекомендации голосом через Web Speech API, отфильтровывая JSON-теги и зачитывая только текстовое резюме.

Архитектура

┌─────────────────────────────────────────────────────────────┐
│                     Web Interface                            │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │
│  │  User Player │  │ Remote Control│ │  Telegram    │      │
│  │              │  │              │  │  Mini App    │      │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘      │
│         │                 │                 │               │
│         └─────────────────┴─────────────────┘               │
│                           │                                 │
│                  ┌────────▼────────┐                        │
│                  │   FastAPI Server│                        │
│                  └────────┬────────┘                        │
│                           │                                 │
│    ┌──────────────────────┼──────────────────────┐         │
│    │                      │                      │         │
│┌───▼────┐           ┌────▼──────┐          ┌───▼────┐     │
││  AI    │           │  Media    │          │ Torrent│     │
││ Gemini │           │ Organizer │          │QBittorrent│  │
│└────────┘           └───────────┘          └──────────┘     │
└──────────────────────────────────────────────────────────────┘

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

Требования

  • Python 3.10+
  • Google Gemini API Key
  • Node.js 18+ (для MCP сервера, опционально)

Установка

# Клонирование репозитория
git clone https://github.com/hypo69/mediteka.git
cd mediteka

# Установка зависимостей
pip install -r requirements.txt

# Настройка переменных окружения
cp .env.example .env
# Отредактируйте .env файл

# Запуск сервера
python main.py

Доступные интерфейсы

Интерфейс URL Описание
Плеер /user Основной плеер с чатом AI
Пульт ДУ /rc Управление голосом + TTS
Telegram /tgmini Telegram Mini App
Админка /admin Управление медиатекой

Технологический стек

  • Backend: Python 3.10+, FastAPI, Uvicorn
  • AI: Google Gemini, RAG
  • Database: SQLite, JSON storage
  • Frontend: HTML5, CSS3, JavaScript (Vanilla)
  • Media: qBittorrent, TMDB API
  • Deployment: Docker, GitHub Pages (docs)

Документация для разработчиков

См. Руководство разработчика для:

  • Архитектуры проекта
  • Настройки окружения
  • Создания плагинов
  • Деплойment

Лицензия

MIT © 2026 hypo69\n[ci] trigger docs build

About

Рекомендательная мультимедийная экосистема на базе локальных/сетевых ИИ-моделей. Включает RAG-индексацию медиатеки, автоматизацию qBittorrent, интеллектуальных агентов управления контентом и набор из 6 специализированных веб-интерфейсов (Player, Admin, TV, Telegram Mini App)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages