Перейти к содержанию

Модуль плагинов

Загрузка плагинов

from plugins import load_plugins

plugins = load_plugins(model)

Базовый класс

from plugins.plugin import BasePlugin

class MyPlugin(BasePlugin):
    name = "my_plugin"

    async def handle(self, message: str) -> Optional[str]:
        return None

    async def start(self):
        pass

    async def stop(self):
        pass

Доступные плагины

Плагин Описание
code_helper Помощь по кодовой базе проекта
media_layer Управление медиа-слоями (субтитры, звук)
media_organizer Организация и аудит медиатеки
movie_search_sources Каталог источников для просмотра
qbittorrent Управление qBittorrent
rag RAG поиск по медиатеке
telegram_bot Telegram бот для управления
torrent_playwright Поиск и скачивание торрентов
user_manager_tool Управление пользователями
web_search Веб-поиск через Playwright
yt_dlp Скачивание видео/аудио через yt-dlp

Пример плагина

from __future__ import annotations

from typing import Optional
from plugins.plugin import BasePlugin

class MediaSearchPlugin(BasePlugin):
    name = "media_search"

    async def handle(self, message: str) -> Optional[str]:
        if " найди фильм " in message:
            title = message.replace(" найди фильм ", "").strip()
            return f"Нашел фильм: {title}"
        return None

def plugin(ai_model) -> MediaSearchPlugin:
    return MediaSearchPlugin(ai_model)

← Меню | API Reference →