Интеллектуальный мультимодальный AI-помощник с системной интеграцией
Комплексное решение для автоматизации задач, объединяющее возможности больших языковых моделей, computer vision, распознавание речи, генерацию изображений и системное управление через единый интерфейс.
Текстовая модель-мозг через LM Studio API
📂 Файл:
llm_services.py
- Автоматическая загрузка моделей с передачей пути к .gguf файлам
- Идентификация через короткий ID модели (опрос
/v1/models) - Динамический контекст-менеджмент: отслеживание реального размера контекста через
usage.total_tokens, три уровня обрезки истории (агрессивная при переполнении, средняя при 100% safe-зоны, мягкая при 80%), адаптивная пересборка сообщений - Альтернативный запуск через llama-cpp-python с поддержкой KV-cache Q8 квантизации
- Конфигурация параметров генерации (температура, max_tokens, system prompt)
Computer Vision
📂 Файл:
media_processing.py(обработка изображений),orchestrator_core.py(интеграция)
- Анализ изображений через moondream2-llamafile
- Передача изображений в формате base64
- Детальное описание сцен с извлечением всех видимых элементов
- Интеграция с системными скриншотами для анализа экрана
Распознавание речи
📂 Файл:
media_processing.py(утилиты),orchestrator_core.py(логика)
- Транскрипция через Whisper CLI (whisper.cpp) с поддержкой Q8 квантизации
- Опциональное выделение вокала через Demucs (audio-separator) перед распознаванием
- Автоконвертация входных форматов в WAV (16 кГц, моно, PCM s16le) через ffmpeg
- Определение языка транскрипции (ru/en) с fallback-логикой
- Безопасное логирование с фильтрацией чувствительной информации
Генерация изображений
📂 Файл:
image_generation.py
- Stable Diffusion через diffusers (загрузка из .safetensors через
from_single_file) - Поддержка SD 1.5 и SDXL архитектур с автоопределением типа checkpoint
- DPMSolverMultistepScheduler для оптимизации скорости
- Автовыбор устройства (CUDA/CPU) и управление VRAM
- Конфигурируемые параметры: seed, steps, размер (width/height), CFG scale
- Система LoRA: автосканирование папок sd/sdxl, анализ метаданных из safetensors, JSON-конфигурация с triggers/strength/базовая модель
- Автогенерация промптов: вспомогательный запрос к "мозгу" для англоязычного промпта, валидация языка, дефолтные негативные промпты
- Сохранение результатов в PNG с возвратом base64, опциональный автопоказ
Генерация видео (бета)
📂 Файл:
image_generation.py
- Ключевые кадры с разными seed (keyframes параметр)
- Линейная интерполяция между кадрами через numpy
- Сборка MP4 через imageio.mimsave
- Настройка количества кадров, FPS, шага интерполяции
- Сохранение промежуточных PNG и финального видео
Выполнение PowerShell команд
📂 Файл:
automation.py
- Автокоррекция синтаксиса: замена "&&" на совместимый PowerShell синтаксис (
;или-and) - Тайм-аут выполнения (60 секунд по умолчанию)
- CP1251-декодирование вывода для корректной работы с кириллицей
- Подробный лог с stdout/stderr/код возврата
- Санитизация команд для безопасности
Управление мышью и клавиатурой
📂 Файл:
automation.py
- Перемещение курсора по координатам (pyautogui)
- Клики ЛКМ/ПКМ с опциональными координатами
- Прокрутка (scroll up/down) с настраиваемым пикселем
- Drag & drop операции (mouse down → move → mouse up)
- Ввод текста с поддержкой Unicode
Скриншоты и анализ экрана
📂 Файл:
automation.py(захват),media_processing.py(обработка)
- Захват через mss с даунскейлом до 1280×720 (оптимизация размера)
- Возврат в формате PNG base64
- Fallback на pyautogui при недоступности mss
- Интеграция с vision-моделью для описания содержимого экрана
UI Автоматизация
📂 Файл:
ui_automation_utils.py,orchestrator_core.py
- Инспекция иерархии UI элементов Windows приложений (дерево элементов)
- Поиск окон по заголовку, классу или ID процесса
- Получение свойств элементов: имя, тип, значение, координаты
- Возможность "видеть" интерфейс приложений для принятия решений
- Интеграция с
uiautomationбиблиотекой
Проверки окружения
📂 Файл:
resource_manager.py,orchestrator_core.py
- Детектирование ffmpeg в системе
- Автозапуск модели в LM Studio с передачей пути к .gguf
- Проверка наличия whisper-cli.exe и моделей
- Автоскачивание whisper-модели с Hugging Face (fallback)
Google Search API
📂 Файл:
orchestrator_core.py
- Программируемый поиск через Custom Search Engine
- Сбор сниппетов и извлечение контента страниц (до ~2000 символов)
- Парсинг HTML с удалением скриптов/стилей
- Агрегация результатов в единый текстовый контекст
YouTube интеграция
📂 Файл:
media_processing.py
- Проверка VPN-статуса через ifconfig.me перед загрузкой
- Валидация cookies для обхода ограничений
- Каскады параметров yt-dlp: force-ipv4, user-agent подмена, player_client=android, geo-bypass
- Скачивание видео (best quality) и аудио (WAV для Whisper)
- Извлечение метаданных: заголовок, описание, длительность
- Покадровый анализ видео: экстракция кадров через ffmpeg (настраиваемый FPS), описание каждого кадра vision-моделью, группировка в диапазоны "[start-end]" или списки "[t1, t2, ...]"
- Синхронизация аудио/видео: объединение транскрипции и покадрового описания в общий "brain_input"
Telegram-бот
📂 Файл:
communications.py
- Обработка текстовых сообщений, фото, аудио, видео, документов
- Автотранскрипция голосовых сообщений и аудиофайлов
- Описание присланных изображений через vision-модель
- Возврат сгенерированных изображений в чат
- Фильтрация по allowed_user_id для безопасности
- Асимметричное логирование: минимум в консоль, детализация в файл при
--web
Работа с почтой
📂 Файл:
communications.py
- IMAP: получение писем по папкам, поиск по query, извлечение вложений, парсинг тела (text/plain и multipart)
- SMTP: отправка с вложениями, HTML-форматирование, reply-to цепочки
- Поддержка Gmail, Yandex, Mail.ru, Outlook
- Конфигурация через .env (SMTP/IMAP credentials)
Веб-интерфейс
📂 Файл:
web_server_launcher.py,webui/server.py
- FastAPI-сервер (uvicorn) через флаг
--web - Маршруты: статичная раздача (HTML/CSS/JS), API-эндпоинты для чата
- Отключение локального показа изображений в режиме
--web - Базовый UI (HTML с inline стилями, websocket для real-time)
Smart Resource Management
📂 Файл:
resource_manager.py,orchestrator_core.py
- Автовключение инструментов по требованию (vision/audio/image generation)
- Автовыключение через 5 минут простоя для каждого инструмента (раздельные таймеры)
- Флаги состояния:
useVision,useAudio,useImageGeneration,useOCR
Динамический контекст-менеджмент
📂 Файл:
llm_services.py,orchestrator_core.py
- Отслеживание
usage.total_tokensиз ответа LM Studio - Три уровня обрезки истории:
- Агрессивная: обрезка до последних 2 сообщений при превышении
max_context - Средняя: обрезка до последних 5 при достижении
safe_context - Мягкая: обрезка до последних 10 при 80% от
safe_context - Оценка
safe_context(80% отmax_context) и адаптивная пересборка - Логирование состояния контекста на каждом шаге
Нормальная выгрузка моделей
📂 Файл:
resource_manager.py,llm_services.py
- Команда
unloadдля очистки VRAM/RAM - Перевод pipeline и моделей на CPU перед удалением
- Удаление атрибутов vision/audio/TTS моделей
torch.cuda.empty_cache()иgc.collect()для полной очистки- Сброс флагов использования инструментов
Умный JSON-парсер
📂 Файл:
orchestrator_core.py
- Извлечение JSON из свободного текста и think-блоков
- Коррекция: отсутствующие скобки, незакрытые кавычки, лишние запятые
- Очистка неASCII управляющих символов
- Итеративные цепочки попыток парсинга (без рекурсии)
- Fallback на пустой объект при критической ошибке
Автоустановка зависимостей
📂 Файл:
resource_manager.py
- On-demand установка diffusers, transformers, torch, accelerate, safetensors
- Проверка доступности библиотек через try/import перед использованием
- Флаги готовности:
DIFFUSERS_AVAILABLE,TORCH_AVAILABLE,DOCX_AVAILABLE, etc. - subprocess.run для pip install с capture_output
Фоновая инициализация
📂 Файл:
resource_manager.py
BackgroundInitializerс ThreadPoolExecutor (4 потока)- Асинхронная загрузка ChromaDB, EasyOCR, PyTorch
- Таймауты на получение компонентов (30 секунд default)
- Fallback на синхронную загрузку при неудаче фона
Подробное логирование
📂 Файл:
logging_setup.py
- Двухуровневое: файл (
aiorchestrator.log) и консоль - Фильтр телеметрии ChromaDB для консоли (файл сохраняет всё)
- UTF-8 encoding для корректной работы с кириллицей
- Уровни: DEBUG для файла, INFO/WARNING для консоли (конфигурируемо)
- Раздельное логирование для телеграм-бота (подавление шума в консоли)
Метрики производительности
📂 Файл:
orchestrator_core.py
- Словарь
performanceMetrics: action → [время выполнения] - Вычисление средних, последних операций
- Метод
addPerformanceMetric(action, time) - Экспорт статистики в JSON по команде "export"
Экспорт состояния
📂 Файл:
orchestrator_core.py
- Команда "export": полная статистика в JSON-файл
- Включает: метрики производительности, состояние контекста, использование инструментов
- Сохранение в
output/export_{timestamp}.json
Автогенерация промптов для SD
📂 Файл:
image_generation.py
- Вспомогательный запрос к "мозгу" с system-инструкцией
- Требование англоязычного JSON:
{"prompt": "...", "negativeprompt": "..."} - Валидация языка промпта (проверка английских букв)
- Дефолтные негативные промпты при пустом ответе: "worst quality, low quality, normal quality, deformed, distorted, disfigured, poorly drawn, bad anatomy, text, watermark"
Параметризация генерации
📂 Файл:
image_generation.py
- SD: seed, steps, width, height, CFG scale, LoRA strength
- Video: numframes, fps, keyframes, interpolation step
- Валидация границ (steps: 1-100, size: 64-2048, etc.)
- Fallback на дефолтные значения при невалидных параметрах
Голос ИИ (бета)
📂 Файл:
media_processing.py(TTS)
- Text-to-Speech через gTTS (Google TTS)
- Автовоспроизведение через pygame.mixer
- Fallback на системный медиаплеер (os.startfile)
- Действие "speak" с правилом "озвучивать только самое важное"
- Сохранение в
Audio/ai_speech_{timestamp}.mp3
Чтение документов
📂 Файл:
orchestrator_core.py
- DOCX: извлечение параграфов через python-docx
- Excel: чтение всех листов через pandas/openpyxl, конвертация в markdown-таблицы
- PDF: текст через PyPDF2 с посторонней обработкой ошибок
- CSV: парсинг через pandas с автоопределением разделителя
RAG для больших файлов
📂 Файл:
orchestrator_core.py
- Разбиение по предложениям с сохранением контекста
- Возврат первых N фрагментов с указанием общего числа частей
- Флаг
fullOutputдля полного вывода без ограничений - Оценка размера фрагментов для укладки в контекст
Генерация файлов
📂 Файл:
orchestrator_core.py
- DOCX: создание через python-docx, параграфы с разметкой
- Excel: запись через pandas в .xlsx
- Markdown: прямая генерация .md файлов
- PDF: через reportlab (SimpleDocTemplate, Paragraph, Spacer)
- Единый интерфейс
generateFile(content, outputPath, fileType) - Сохранение в
output/с возвратом пути
Векторная память (ChromaDB)
📂 Файл:
chromadb_manager.py
- Добавление диалогов и предпочтений через
addConversationMemoryиaddUserPreference - Эмбеддинги через SentenceTransformer (all-MiniLM-L6-v2, 384-мерные векторы)
- Поиск похожих диалогов с адаптивным порогом сходства (default: 0.7)
- Извлечение релевантного контекста для текущего запроса (до 2000 символов)
- Метаданные: timestamp, тип записи (conversation/preference), категория
- Для очистки памяти вызывайте команду
cleanupили методcleanup_old_memory(days)(по умолчанию 30 дней, настраивается черезCHROMADB_CLEANUP_DEFAULT_DAYSвconfig.py). - Если не нужно запоминать диалоги совсем, отключите флаг
CHROMADB_ENABLE_MEMORYвconfig.pyи инструмент больше не будет сохранять контекст.
Работа с предпочтениями
📂 Файл:
chromadb_manager.py
- Автоматическое извлечение из сообщений пользователя и ответов ИИ (regex-паттерны)
- Подтверждения из ответов ИИ: "Да, я ...", "Конечно, я ..."
- Краткое резюме предпочтений через
getUserPreferencesSummary - Очистка старых записей (30 дней default) через
cleanupOldMemory - Статистика базы:
getDatabaseStats(total records, conversations, preferences)
Экспорт и управление памятью
📂 Файл:
chromadb_manager.py
- Команда "search": поиск по диалогам с выводом топ-3 результатов
- Команда "preferences": вывод всех предпочтений пользователя
- Команда "cleanup": удаление записей старше N дней
- GPU info для ChromaDB: определение доступности CUDA, имя GPU, объем VRAM
- Минимум: 16GB RAM для комфортной работы со всеми инструментами, дискретная видеокарта с 8GB VRAM если не требуется запускать несколько инструментов
- Рекомендуется: 32GB RAM, RTX 4070/4080 или аналогичная с 12-16GB VRAM
- Python 3.10+ (Использовалась 3.10.11)
- LM Studio 0.3.23+ (с моделями) (указана последняя версия LM Studio, скорее всего не обязательно последняя)
- ffmpeg (для работы с аудио/видео)
- yt-dlp (для YouTube)
- PowerShell (Windows)
# Создание виртуальной среды
python -m venv venv
# Активация (Windows)
venv\Scripts\activate
# Установка зависимостей
pip install -r requirements.txt-
huihui-qwen3-4b-thinking-2507-abliterated (использовалась Q4_K_S)
-
Скачайте через LM Studio или на Hugging Face
-
Требования: ~4GB VRAM p.s. abliterated по причине того, что она будет меньше отказывать в действиях
-
Так же мною в тестирование взята случайно найденная новинка ввиде Orchestrator-8B от Nvidia, должна быть гораздо лучше обычной модели.
-
GGUF версию найдете на: тык (Использовал Q4_K_M)
-
Требования: ~6GB VRAM
- whisper-large-v3-q8_0 (Использовал Q8)
- Требования: ~4GB VRAM
- moondream2-050824
- Требования: ~2GB VRAM
- Так же для любителей NSFW изображений или просто более четкого определения изображений, рекомендую к использованию:
- llama-joycaption-beta-one-hf-llava-mmproj
- Требования: При Q8 - ~10GB VRAM, при Q4_K - ~6GB VRAM
- novaAnime_v20: CivitAI (~4GB VRAM) (проблема с пальцами, SD 1.5)
- Альтернативная улучшенная: CivitAI (~8GB VRAM) (мой личный фаворит, очень нравится, IL модель)
- LoRA для улучшения: Hands XL + SD 1.5 + FLUX.1-dev + Pony + Illustrious (настройки: strength=1)
![]() |
![]() |
![]() |
![]() |
Это примеры генерации novaAnime_v20 без явного указания деталей (нейросеть сама поставит нужное)
Создайте файл .env в корневой папке:
# Google Search API
GOOGLE_API_KEY=your_google_api_key_here
GOOGLE_CSE_ID=your_custom_search_engine_id_here
# Telegram Bot (опционально)
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
TELEGRAM_ALLOWED_USER_ID=your_telegram_user_id_here
# Пути к программам
LMSTUDIO_EXE=C:\Program Files\LM Studio\LM Studio.exe
STABLE_DIFFUSION_MODEL_PATH=J:\ComfyUI\models\checkpoints\novaAnime_v20.safetensorsОбновите пути к моделям в файле config.py
Создайте структуру папок:
проект/
├── Photos/ # Для загружаемых изображений
├── Audio/ # Для аудиофайлов
├── Video/ # Для видеофайлов
├── Images/ # Для сгенерированных изображений
├── Videos/ # Для сгенерированных видео
├── Release/ # Для whisper-cli.exe
├── models/ # Для whisper-модели
├── Docx/ # Для работы с DOCX файлами
├── Excel/ # Для работы с EXCEL файлами
├── PDF/ # Для работы с PDF файлами
├── output/ # Для выходных файлов после генерации
├── prompt/ # Для промтов
├── plugins/ # Для работы с плагинами
├── webui/static/ # Для веб-интерфейса
└── stable_diff/ # Основная папка с моделями для генерации
├── checkpoints # Модели для генерации изображений
└── lora # Модели LoRA
├── sd # LoRA для SD checkpoints
└── sdxl # LoRA для SDXL checkpoints
python main.pypython main.py --webЗатем откройте http://127.0.0.1:8001/
python main.py --test-startupПосле настройки токена в .env, бот запустится автоматически при запуске основного скрипта. (не спамит в консоль о своей работе, только при --web)
- Аналог Comet с возможностью (для этого и создаю) подключения локальных моделей
- Следом за тем, что выше - обновление Web интерфейса (или вовсе полный отказ в угоду перехода на Chromium, консольный режим останется)
- Телеграмм бот реализован (уже был давно, но забыл обновить документацию)
- .bat скрипт: Для упрощенной установки и начала работы
- UI Автоматизация: Реализована инспекция UI элементов Windows приложений через
uiautomation. Теперь ИИ может "видеть" структуру окон и элементов управления. - Реализовал Google Colab, но я скорее всего вы не сможете скачать модель без авторизации на hugging face. Можете посмотреть как все там работает, я дал почву, вы веселитесь, может я допишу плагин, но пока не хочу. Upd: Возможно я сделаю кое что лучше...
- Добавил работу с почтой, выделил под нее специальный ознакомительный файл settings.md, там можете ознакомится что нужно сделать
- Реализовал способ запуска модели через llama-cpp-python, как альтернатива LM Studio
- Web теперь на Node.js
- Система триггеров на события: И планировщик задач
- Cloud storage: Работа с Google Drive и другими облачными хранилищами
- Ролевая система доступа: Если будут использовать нейросеть несколько человек (идеал переходить на vLLM)
- Музыка/аудио генерация: Будет эксперимент наряду с Видео
- Расширенная генерация видео: Полное тестирование и оптимизация
- Улучшенное распознавание видео: Стабилизация функций анализа
- Predictive analytics: Теоретически для ускорения работы, на практике все зависит от моей реализации
- Интеграция с GitHub: Пока заметка
- Управление браузером: Есть мысли об интеграции с BrowserOS, мне не нужно будет создавать Управление браузером, я буду использовать уже готовое. Возможно я передумаю, но создавать нечто такое с нуля будет для меня неподъемной задачей.
- Улучшение в области математики: Дать возможность использовать скрипты для выполнения математических примеров, так как нейросети по своей сути не считают напрямую, это должно очень хорошо поднять ее уровень в математике
- Enterprise функции: Для коммерческих решений, это будет, но не сейчас и не в таком виде.
- IoT устройства: Интеграция с умным домом (возможна при появлении запроса)
- Docker: Перехода на Docker пока не будет, так как я не вижу в этом смысла, так как проект сильно завязан на Windows и прямым запуском на системе. Возможно в будущем я сделаю, но не скоро.
- Генерация видео: Я нашел способ генерации, но пока что требует дополнительных тестов и очень вероятно будет привязка к ComfyUI. Хотя если получится так, там будет недалеко до отказа от него.
- Распознавание видео: Экспериментальная функция, тестов мало.
- Возможны проблемы с Cookie: для скачивания YouTube видео использовались cookie; в некоторых случаях они могут быть не нужны. При необходимости позже добавлю автоматическое извлечение.
- Возможны проблемы с первым запуском: На холодном старте библиотек возможны сбои; при повторном запуске обычно устраняется. Сталкивался с этим на своей машине.
- Плагины: Пока вообще не в приоритете, так как есть более важные задачи.
- Почему LM Studio?
- Под капотом есть все нужное, не нужно мучаться с библиотеками, настройками и тп. UPD: теперь можно, я добавил llama-cpp-python
Проект создан российским разработчиком с использованием современных AI-технологий. Приветствуются вопросы, предложения и помощь в развитии на любых языках. Характеристики ПК:
- 5060 TI Palit Infinity 16GB VRAM
- Ryzen 7 7800X3D
- 64GB RAM DDR5 5000MHz
Dual License модель:
- Open Source версия: GPL-3.0 для персонального использования
- Commercial License: Свяжитесь для коммерческого использования
Этот проект был создан с использованием современных AI-инструментов (Claude, GPT) для:
- Генерации и оптимизации кода
- Архитектурных решений
- Документации и тестирования
Все AI-сгенерированный код был тщательно проверен, протестирован и адаптирован разработчиком-человеком.
Поддержать проект:
- Коммерческая почта: dlaproektov96@gmail.com
- GitHub Sponsors:
later - DonationAlerts:
later



