Telegram-бот для генерации изображений через ComfyUI.
Проект даёт удобный интерактивный редактор промптов, работу с пресетами, скачивание моделей из CivitAI/HuggingFace и Smart Prompt на базе TIPO.
- Интерактивный
/generateс полным редактором параметров (checkpoint, LoRA, sampler/scheduler, seed, size, batch, denoise и т.д.). - Режимы интерфейса: простой и про.
- Референс-картинки (IP-Adapter, если доступен, или fallback в img2img).
- Улучшения пайплайна: Hi-res Fix, FreeU, PAG, Upscale.
- Smart Prompt (TIPO) с преобразованием естественного языка в теговые Positive/Negative.
- Обмен промптами между пользователями: экспорт/импорт полного набора параметров редактора (код обмена).
- Пресеты пользователя: сохранить, загрузить, перезаписать, удалить.
- Runtime-сессии между перезапусками бота (восстановление
/repeat, активного редактора и режима UI). - Поиск и скачивание моделей прямо из бота (
/download) с фильтрами и прогрессом. - Постраничный поиск моделей: 5/8/10 результатов на страницу, подгрузка и навигация по страницам.
- Фильтры CivitAI: base model, автор(ы), профили поиска (популярные/новые/рейтинг/anime).
- Мониторинг очереди ComfyUI (
/queue) и обновление списка моделей (/models). - Интерактивные настройки сервиса: дефолты генерации и дефолтные фильтры поиска моделей.
- Локализация интерфейса (RU/EN) с динамической загрузкой переводов из JSON + metadata.
- Whitelist-доступ по Telegram ID.
- Поднимите ComfyUI и убедитесь, что API доступен.
- Установите Python 3.10+.
- Установите зависимости:
pip install -r requirements.txt- Создайте
.envиз примера и заполните обязательные параметры:
cp .env.example .envWindows PowerShell:
Copy-Item .env.example .envМинимально нужно заполнить:
TELEGRAM_BOT_TOKENCOMFYUI_URLALLOWED_USERS(рекомендуется для приватного доступа)
- Запустите бота:
python bot.py- В Telegram напишите боту
/startи используйте кнопочное меню.
Подробная установка: docs/SETUP.md
pip install -r requirements-dev.txt
python -m ruff check .
python -m ruff format --check .
python -m pytest -q tests/test_ui_text_localization_bridge.py tests/test_handler_registry_bridge.py
python -m pytest -q tests/test_ui_text_guardrails.py
python tools/i18n/locale_maintenance.py --project-root . audit --strict
python -m mypy
python -m pytest -qОсновной сценарий — кнопочный:
🎨 Генерация→ новая генерация, повтор, пресеты.📦 Модели→ скачивание, обновление списка, удаление локальной модели.⚙️ Сервис→ очередь, настройки, обучение.🛑 Отмена→ остановка активной операции.
/start,/help— открыть главное меню./generate— новая генерация через редактор./repeat— повтор последней генерации (с новым случайным seed)./presets— библиотека пресетов пользователя./download— поиск/скачивание моделей./models— обновить и показать модели, видимые ComfyUI./queue— статус очереди ComfyUI./settings— текущие дефолтные настройки./training— многостраничное обучение с простым и расширенным режимом./cancel— отменить текущую операцию (генерацию, скачивание, ввод).
Подробный гайд: docs/COMMANDS.md
docs/SETUP.md— установка и первый запуск.docs/CONFIG.md— все переменные окружения и примеры.docs/COMMANDS.md— сценарии работы в Telegram.docs/TRAINING.md— обучение для начинающих: от первого запуска до стабильного результата.docs/CHANGELOG.md— итоговый changelog крупных изменений.docs/ARCHITECTURE.md— устройство проекта, поток данных, зоны ответственности.docs/REFACTOR_GUARDRAILS.md— протокол безопасного поэтапного рефакторинга.docs/LOCALIZATION.md— структура переводов и добавление новых языков без правки ядра.docs/HANDLER_PLUGINS.md— контракт handler-плагинов и добавление новых handler-блоков без правки registry.docs/PROVIDER_WORKFLOW_EXTENSIONS.md— расширение источников моделей и workflow-нод без модификации ядра.docs/TROUBLESHOOTING.md— типовые проблемы и решения.SECURITY.md— правила безопасной публикации и работы с секретами.CONTRIBUTING.md— рекомендации по развитию проекта.
bot.py # Точка входа
bot_core.py # Совместимый facade для core/*
bootstrap/
app_context.py # Сборка зависимостей и lifecycle приложения
core/
config.py # Конфиг из .env
... # Shared runtime, UI, storage, helpers
application/
model_downloader.py # Поиск/скачивание моделей и метаданные
model_source_provider_loader.py # Dynamic loader для источников моделей
model_source_providers.py # Контракты/registry провайдеров источников
model_source_plugins/ # Built-in source provider plugins
smart_prompt_service.py # Локальная интеграция TIPO для Smart Prompt
infrastructure/
comfyui_client.py # Клиент ComfyUI API и сборка workflow
handlers/
registry.py # Plugin-first регистрация обработчиков
plugins/ # Встроенные handler plugins (builtin)
common.py # /start, /help, /models, /queue, /settings, /cancel
prompt_editor.py # Оркестрация редактора генерации
prompt_editor_ui.py # Клавиатуры/базовые UI-блоки редактора
prompt_editor_smart.py # Smart Prompt helper-функции
prompt_editor_lora.py # LoRA helper-функции и меню
prompt_editor_references.py # Работа с референсами и меню
prompt_editor_send.py # Отправка результатов генерации
presets.py # Пресеты пользователя
download.py # Диалог скачивания моделей
plugins/ # Plugin kernel (contracts/loader)
tools/
i18n/ # Служебные i18n-утилиты
manual/ # Ручные скрипты и проверки
presets/ # Локальные пресеты пользователей (runtime)
sessions/ # Снимок runtime-сессий между перезапусками
- Файл
.envи пользовательские runtime-данные исключены через.gitignore. - Не публикуйте токены Telegram/CivitAI/HuggingFace.
- Перед публичным релизом рекомендуется сделать ротацию ключей.
Подробно: SECURITY.md
Лицензия в репозиторий пока не добавлена. Перед публичной публикацией выберите и добавьте подходящий файл LICENSE.