Changelog
Все важные изменения в проекте документируются в этом файле.
[1.2.1] - 2026-02-10
⚠️ BREAKING CHANGES
- ai_rag_service: размеры чанков по умолчанию увеличены (chunk_size 512→1000, chunk_overlap 100→200, min_chunk_size 50→200). При повторной обработке документов будет меньше чанков
Added
- download_service: действие
download_and_extract— загрузка по URL, извлечение текста (PDF, DOCX, TXT, MD, HTML, CSV), поддержка Google Drive/Docs/Sheets/GitHub - ai_rag_service: адаптивное чанкирование и сохранение структуры (таблицы, код, списки, заголовки не разрываются)
Fixed
- Core Manager: учёт пререлизов при проверке обновлений — «последняя версия» считается только среди стабильных релизов; при обновлении системы всегда показывается список версий с подсветкой текущей; при обновлении утилиты при наличии пререлиза предлагается выбор (пререлиз или последний стабильный), скачивание по выбранному тегу, а не по ветке main
[1.2.0] - 2026-02-09
⚠️ BREAKING CHANGES
- telegram_bot_manager: удалены
sync_bot,stop_all_bots,sync_bot_config,sync_bot_commands; синк — толькоsync_telegram_bot. Переименованы:start_bot→start_telegram_bot,stop_bot→stop_telegram_bot,get_bot_status→get_telegram_bot_status,set_bot_token→set_telegram_bot_token. Данные бота — толькоget_telegram_bot_info_by_id(по bot_id);get_bot_infoиget_telegram_bot_info(по токену) удалены. - tenant_hub: из Action Hub убраны внутренние
sync_tenant_data,sync_tenant_config,sync_tenants_from_files. Синк тенанта — действиеsync_tenant.
Added
get_bot_id_by_tenant_id(tenant_hub): bot_id по tenant_id и bot_type (пока telegram), для сценариев.get_tenant_status: только кэш тенанта (last_updated_at, last_failed_at, last_error); данные бота — черезget_telegram_bot_statusпо bot_id.restrict_chat_member(telegram_api): действие ограничения пользователей в супергруппах (permission groups: messages, attachments, other, management).- send_message (telegram_api): поддержка флага и string для
message_reply:true— ответ на текущее сообщение из события, integer/string — ID сообщения. Дляmessage_editдобавлена поддержка string (как у integer), чтобы подстановки вида"{message_id}"работали без ошибок типов. - execute_scenario (transition): новый тип перехода, который выполняет другой сценарий и возвращается к текущему (в отличие от
jump_to_scenario, который прерывает текущий). Кэш из выполненного сценария автоматически мержится в текущий сценарий. Поддерживает одиночный сценарий (string) или массив сценариев.
Changed
- Сценарии управления тенантом:
set_telegram_bot_token, меню —get_tenant_status+get_telegram_bot_statusпо bot_id.
Fixed
- Общие улучшения системы и исправления багов (в т.ч. ai_rag_service: параметр
ai_tokenдля действияsave_embeddingсделан необязательным приgenerate_embedding=false).
Technical Improvements
- Единый стиль имён действий Telegram, один публичный синк бота —
sync_telegram_bot.
[1.1.2] - 2026-02-08
⚠️ BREAKING CHANGES
- Структура конфигурации тенанта: файл
tg_bot.yamlв корне тенанта заменён на папкуbots/с конфигами ботов. Конфиг Telegram-бота теперь хранится вbots/telegram.yaml. В папкеbots/могут быть конфиги для разных ботов (например,telegram.yaml,whatsapp.yaml).
Changed
- Обновлена и улучшена документация: структура разделов, навигация, формулировки
- Переработана структура хабов: tenant_hub и сервис управления ботами (ранее условно «bot hub»); управление ботами теперь сосредоточено в сервисе Telegram (telegram_bot_manager)
Technical Improvements
- Рефакторинг tenant_hub: вынесены обработчики действий (actions), объединена логика GitHub-синхронизации, переименованы domain-модули (utils → domain, TenantDataManager → TenantRepository)
[1.1.1] - 2026-02-04
Changed
- Документация: быстрый старт переведён на системные тенанты (без GitHub); публичные тенанты — отдельный блок
- Конфигурация: граница системных тенантов — до 99 (
max_system_tenant_id: 99вconfig/settings.yaml), 100 и выше — публичные - При отсутствующем
github_urlошибки не выводятся, синхронизация пропускается, система работает только с системными тенантами - Тенант 1 (мастер бот): переработан сценарий — поддержка выбора языка (i18n), облегчён и улучшен UX, улучшена документация.
Fixed
- Общие улучшения системы и небольшие исправления
Technical Improvements
- Система бэкапов: упрощено управление бэкапами — разделение по типам БД в отдельные папки (sqlite/, postgresql/), добавлено сжатие (gzip для SQLite, pg_dump -Z 9 для PostgreSQL), унификация форматов между утилитой и плагином
[1.1.0] - 2026-02-02
Added
- В гайде по действиям (ACTION_GUIDE): маркировка действий из плагинов-расширений (⭐) в оглавлении и в заголовках секций, примечание о расширениях
- В документацию добавлено описание расширений (действия из папки extensions)
Changed
- Улучшена документация
- Гайд по развёртыванию (DEPLOYMENT.md) полностью обновлён под утилиту Core Manager
Technical Improvements
- Утилита развёртывания полностью переработана: заменена на Core Manager (
tools/core_manager). Реализована полная поддержка двух языков (EN/RU), оптимизирована структура и логика, улучшен UI/UX, доработано самообновление утилиты. Гайд по развёртыванию приведён в соответствие с новой утилитой
[1.0.3] - 2026-01-21
Added
- Добавлен гайд по моделям AI на английском языке (
docs/en/AI_MODELS_GUIDE.md) - Добавлена полная английская версия документации — все основные гайды доступны в
docs/en/ - Все конфигурационные файлы и комментарии в коде переведены на английский язык
Technical Improvements
- Создан уровень
extensionsдля плагинов — позволяет легко добавлять дополнительные плагины для расширения функционала платформы, которые не затираются при обновлении - Обновлена документация по плагинам — добавлено описание системы расширений и правил их использования
[1.0.2] - 2026-01-16
⚠️ BREAKING CHANGES
- Плейсхолдеры: Переименование модификатора
time→seconds— модификатор переименован для ясности и консистентности. Функционал не изменился, но синтаксис изменился: используйте{duration|seconds}вместо{duration|time}во всех сценариях - Плейсхолдеры: Переименование форматов PostgreSQL
date_postgres/datetime_postgres→pg_date/pg_datetime— форматы переименованы для краткости. Обновите использование:{timestamp|format:pg_date}вместо{timestamp|format:date_postgres},{timestamp|format:pg_datetime}вместо{timestamp|format:datetime_postgres}
Added
- Плейсхолдеры: Поддержка литеральных значений в кавычках — теперь можно использовать значения напрямую в плейсхолдерах без передачи через словарь:
{'hello'|upper},{'1d 2w'|seconds},{'100'|+50}. Поддерживаются одинарные и двойные кавычки с экранированием ('it\'s',"say \"hi\"") - Плейсхолдеры: Модификатор
shiftдля сдвига дат — новый модификатор для работы с датами в PostgreSQL стиле:{created|shift:+1 day},{created|shift:+1 year 2 months},{created|shift:-2 hours}. Поддерживает все форматы дат (PostgreSQL, стандартные, ISO, timestamp), корректно обрабатывает месяцы/годы и края месяцев (например, 31 янв + 1 месяц = 29 фев в високосном году) - Плейсхолдеры: Модификаторы приведения дат к началу периода — новые модификаторы для приведения дат к началу различных периодов:
to_date(начало дня),to_hour(начало часа),to_minute(начало минуты),to_second(начало секунды),to_week(начало недели - понедельник),to_month(начало месяца),to_year(начало года). Все возвращают ISO формат (YYYY-MM-DD HH:MM:SS). Примеры:{created|to_date},{created|to_month|format:date}
[1.0.1] - 2026-01-15
Fixed
get_tenants_list: Все списки ID тенантов (tenant_ids,public_tenant_ids,system_tenant_ids) теперь возвращаются отсортированными по возрастанию
Technical Improvements
- Упрощена утилита управления Docker (
docker/compose) — убрано требование указания окружения для большинства команд, работа напрямую с контейнерами по имени (например,dc logs app-test,dc start app-test), улучшена командаlogsс поддержкой tail и follow по умолчанию (последние 100 строк + follow)
[1.0.0] - 2025-12-31
🎉 Релиз версии 1.0.0
Платформа достигла стабильного состояния и готова к полноценному использованию в production окружении. За период разработки с версии 0.4.0 до 1.0.0 платформа претерпела значительные улучшения во всех ключевых аспектах.
Архитектура и инфраструктура
- Миграция на PostgreSQL — переход с SQLite на PostgreSQL для улучшения производительности, масштабируемости и надежности хранения данных
- Telegram вебхуки — поддержка вебхуков вместо пулинга с автоматической генерацией SSL-сертификатов
- Система деплоя — автоматизация деплоя через GitHub Actions, утилита управления деплоем с поддержкой миграций БД, бэкапов и версионирования
- Автоматические бэкапы — сервис фоновых бэкапов БД с настраиваемым интервалом и автоматической ротацией
- Database Access Control Views — система контроля доступа на уровне БД через PostgreSQL view
- GitHub вебхуки — автоматическая синхронизация тенантов при изменениях в репозитории
AI и RAG (Retrieval-Augmented Generation)
- Векторное хранилище — интеграция с pgvector для PostgreSQL, поддержка векторных embeddings размерностью 1024
- HNSW индекс — оптимизированный векторный поиск даже на больших объемах данных
- RAG действия —
save_embedding,search_embedding,get_recent_chunks,delete_embeddingдля работы с векторным хранилищем - Интеграция RAG в completion — параметр
rag_chunksдля автоматического формирования контекста из векторного поиска - Миграция на Polza.ai — переход с OpenRouter на универсальный AI провайдер с поддержкой расширенного ценообразования и модальностей
Сценарии и действия
- Унификация storage действий — единый набор действий для работы с Tenant Storage и User Storage (get/set/delete)
- Асинхронные действия — поддержка фонового выполнения долгих операций (например, запросы к LLM) с ожиданием через
wait_for_action - Scheduled сценарии — запуск сценариев по расписанию через cron выражения
- Динамические клавиатуры — действие
build_keyboardдля создания клавиатур из массивов с шаблонами - Централизованная валидация — единая система валидации входных параметров всех действий с структурированными ошибками
- Автоматическое преобразование типов — автоматическая конвертация типов параметров при необходимости
- Система кэширования — унифицированная утилита кэширования для всех критичных данных (боты, тенанты, сценарии, пользователи)
События и триггеры
- Новые типы событий — события участников групп (
member_joined,member_left), события платежей (pre_checkout_query,payment_successful) - Улучшенные условия — поддержка маркера
$nameдля полей в условиях, модификаторы для плейсхолдеров (exists,is_null,code,keys,expand) - Плейсхолдеры — расширенная система плейсхолдеров с поддержкой сложных структур данных, точечной нотации и доступа к элементам массивов
Хранилища данных
- Tenant Storage — хранилище атрибутов тенанта (key-value) с поддержкой сложных структур (JSON объекты, массивы, вложенные структуры)
- User Storage — хранилище данных пользователя для хранения пользовательских настроек и данных
- Поиск по storage — действие
get_users_by_storage_valueдля поиска пользователей по значениям в storage
Платежи и инвойсы
- Сервис invoice_service — полный набор действий для работы с инвойсами: создание, отправка, подтверждение/отклонение платежей, получение информации, отмена
- Обработка платежей — автоматическая обработка событий
pre_checkout_queryиpayment_successfulдля работы с Telegram Stars
Улучшения производительности и надежности
- Параллельная обработка — боты могут параллельно обрабатывать входящие события
- Оптимизация синхронизации — улучшена производительность синхронизации ботов и тенантов
- Улучшенная обработка ошибок — структурированные коды ошибок для всех действий с полями
code,message,details - Тестовый контур — отдельное тестовое окружение для проверки изменений перед выкаткой в прод
Документация
- Расширенная документация — созданы гайды по моделям AI, storage, сценариям, событиям, примерам использования
- Быстрый старт — отдельный гайд для новых пользователей
- Примеры использования — практические примеры работы с RAG, платежами, storage и другими функциями