Skip to content

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_botstart_telegram_bot, stop_botstop_telegram_bot, get_bot_statusget_telegram_bot_status, set_bot_tokenset_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

  • Плейсхолдеры: Переименование модификатора timeseconds — модификатор переименован для ясности и консистентности. Функционал не изменился, но синтаксис изменился: используйте {duration|seconds} вместо {duration|time} во всех сценариях
  • Плейсхолдеры: Переименование форматов PostgreSQL date_postgres/datetime_postgrespg_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 и другими функциями

Coreness — Create. Automate. Scale.