Logo
ХелпдескУправление знаниямиБизнесуТарифыЧто такое KCS?Блог
Русский
Личный кабинет
Установка и обновление Swarmica
© 2023 - 2026 ООО «Свормика». Swarmica - Платформа управления знаниями и ресурсами техподдержки. Версия: 6.1.2

#2194: Обновление v6.2.x

Отредактирована: сегодня

Инструкция

ВАЖНО! Перед обновлением на v6.2.x необходимо иметь версию Swarmica не ниже v6.0.x.

Если у вас установлена версия ниже v6.0.x, сначала обновитесь до v6.0.x вручную, последовательно выполняя инструкции для каждой промежуточной версии: например, если у вас v5.10.x, то сначала нужно обновиться до v5.11.x, затем до v5.12.x и до v6.0.x.

Обновление

Начиная с v6.0.x обновление выполняется с помощью механизма автообновления.

Если вы ещё не перешли на автообновление, выполните шаги из раздела «Переход на автообновление» в инструкции по установке обновлений.

ВНИМАНИЕ! Это обновление требует ручных действий на сервере и может требовать отката действий.

Рекомендуется планировать около 1 часа прерывания сервиса для выполнения обновления.

Порядок выполнения обновления:

  1. Непосредственно перед началом работ сделайте снапшот виртуальной машины, где установлена Swarmica или полную резервную копию для быстрого отката в случае любых проблем с обновлением
  2. Обязательный шаг: обновите Postgres до версии 18 по инструкции
  3. Рекомендуется так же отключить JIT-оптимизацию Postgres по инструкции - этот шаг можно пропустить или сделать позднее. Выполнение шага дает прирост производительности БД и более оптимизированное потребление ресурсов.
  4. Рекомендуется настроить логирование сервисов Swarmica в journald по инструкции - этот шаг можно пропустить или сделать позднее. Выполнение шага дает возможность более гибкого управления логами контейнеров Swarmica, сохранение их после перезагрузки и ротацию, согласно вашим потребностям.
  5. После успешного выполнения предыдущих шагов убедитесь, что Swarmica полностью запустилась и работает.
  6. Запустите автообновление и следуйте инструкциям:
cd /root/swarmica
make upgrade

После успешной установки обновления запустите очистку неиспользуемых данных:

docker system prune -a

✨ Основные улучшения

✉️ Почта

Переработана работа с автоматическими письмами: Swarmica лучше распознаёт отбивки и автоответы, сама помечает свои уведомления как автоматические и не теряет входящие письма при ошибках обработки. Это защищает от «войны роботов» между почтовыми системами и при этом не скрывает от агентов важные уведомления о недоставке.

  • 📬 Обработка отбивок о недоставке (bounce): если в почтовом канале выключен новый переключатель «Пропускать отбивки» (по умолчанию включён), отбивка определяется по исходному письму и добавляется в нужную заявку внутренним комментарием с исходным сообщением во вложении. Если отбивка пришла на уведомление о создании заявки или о новом комментарии, заявка в статусах «Ожидает ответа», «Отложена» или «Решена» переоткрывается; отбивки на служебные уведомления (например, рассылки администраторам) заявку не переоткрывают. Адрес почтового сервера не добавляется в копию заявки, учётная запись для него не создаётся, автоответ не отправляется
  • 🧩 Почтовые заголовки в уведомлениях: в шаблонах почтовых уведомлений можно задавать собственные заголовки (служебные заголовки вроде From, Subject, Message-ID или Return-Path изменить нельзя, при ошибке показывается понятное сообщение). Стандартные уведомления получили заголовки Auto-Submitted, чтобы почтовые системы клиентов не отвечали на них автоответами; при восстановлении настроек уведомления по умолчанию восстанавливаются и заголовки
  • 🆔 Исходящие уведомления по заявкам получают уникальный Message-ID, привязанный к заявке и получателю, а уведомление об отклонённом письме содержит ссылку на исходное сообщение (In-Reply-To) — так ответы и отбивки надёжнее связываются с заявкой
  • 🤖 Точнее определяются автоответы по заголовку Auto-Submitted
  • 🛟 Входящее письмо не помечается прочитанным в ящике, пока не будет успешно обработано, — при сбое разбора оно не теряется
  • 🎛️ Обновлена форма настроек почтового канала и настройки SMTP
  • 🔕 Уведомления о собственных комментариях агента (публичных и внутренних) теперь по умолчанию выключены
  • 🧹 Письма, сохранённые из-за ошибок обработки, автоматически удаляются через 30 дней (срок настраивается, см. «Новые переменные окружения»)

📚 База знаний и хелпцентр

  • 📊 Диаграммы Mermaid в статьях: в редакторе появилась кнопка вставки диаграммы с переключением «Код / Превью», а при просмотре статьи в интерфейсе и в публичном хелпцентре диаграммы отображаются графически, в том числе в полноэкранном режиме для больших схем. Диаграммы хранятся как обычный блок кода mermaid, поэтому там, где Markdown не отображается (например, в письмах), они показываются как текст
  • 🔎 В списке статей можно искать статьи по номеру привязанной задачи из баг-трекера — так же, как в списке заявок
  • 🌐 Страницы хелпцентра получили корректные канонические ссылки (link rel="canonical"), что улучшает индексацию поисковыми системами

💬 Чаты и чат-виджет

  • ⏱️ Счётчики SLA и OLA теперь отображаются и в заголовке чата — агенты видят сроки, не переходя в заявку
  • #️⃣ Номер заявки в чат-виджете: клиент видит номер чата в списке чатов и в открытом чате. Включается настройкой виджет-канала show_ticket_id или параметром инициализации виджета (параметр имеет приоритет), по умолчанию выключено
  • ✈️ Тема заявки из Telegram формируется из имени клиента (или названия группы для групповых чатов) и имени бота вместо обрезанного первого сообщения — заявки проще различать в списке
  • 🔐 Чат-виджет поддерживает вход с двухфакторной аутентификацией

⚙️ Автоназначение

  • 👥 Новый переключатель в правиле автоназначения «Искать внутри текущей группы заявки»: ребалансер подбирает агента только из группы заявки и не меняет её группу. Теперь не нужно заводить отдельное правило на каждую группу
  • ⚖️ При равной загрузке заявка достаётся агенту, который дольше всех не получал назначений, — нагрузка распределяется равномернее
  • 🔒 Защита от параллельных запусков ребалансера

🔍 RCA

  • 🏷️ У заявки появился признак «Есть RCA», который можно использовать в фильтрах, триггерах, отчётах и условиях автоназначения. Для существующих заявок признак заполняется автоматически при обновлении

🖥️ Улучшения UI/UX

  • 🧽 Кнопка «Очистить черновик» в форме создания заявки
  • 🎨 Ответы из внешних и внутренних дочерних заявок получили разные CSS-классы, так что их можно оформить по-разному через тему бренда
  • 👤 При поиске пользователей для полей «Заявка от», «Копия» и «Скрытая копия» показываются их идентити, а совпадения подсвечиваются
  • 📅 В аналитике по умолчанию выбран прошлый месяц с группировкой по дням
  • ↩️ Кнопка сброса выбора в фильтрах скоркарт
  • ⌛ Для выгрузок фильтров, отчётов и расхода токенов показывается дата, до которой файл доступен для скачивания
  • 🔑 После подтверждения регистрации пользователь входит в систему автоматически, а при выходе сессия завершается и на сервере (в интерфейсе и в виджете)
  • 🛡️ Отключение собственной двухфакторной аутентификации требует подтверждения кодом

⚙️ Производительность и обслуживание

  • 🐘 Шаблоны установки переведены на PostgreSQL 18, для PostgreSQL отключена JIT-компиляция, которая замедляла типичные запросы Swarmica
  • 📜 В новых установках логи контейнеров пишутся в systemd-journald с ротацией (до 2 ГБ, не дольше двух недель)
  • 🚀 Ускорена загрузка списка заявок: меньше повторяющихся запросов и быстрее подсчёт для постраничного вывода
  • 🗑️ Экспорты заявок (HTML/PDF) теперь автоматически удаляются через 30 дней (срок настраивается)

🐞 Исправления

  • 🔁 Исправлено объединение заявок: корректно пересчитываются поля целевой заявки (включая дату последнего ответа) и счётчики связей статей, объединение заявок с общей задачей больше не падает, при смене целевой заявки в массовом объединении можно вернуться назад
  • 📨 Получатель письма из поля «Кому» сохраняется в копии заявки, если адрес канала был в копии; удалённый почтовый канал по умолчанию больше не используется для новых заявок и исходящих писем; исправлены ошибки разбора отдельных писем и проверки IMAP-подключения
  • ✈️ Исправлены потеря первого сообщения нового пользователя в групповом Telegram-боте и дублирование сообщений с картинками
  • ⭐ Запрос оценки CSAT снова отправляется в WhatsApp, в том числе для решённых чатов и заявок из любого виджета
  • 📈 Первый комментарий агента при создании заявки больше не считается ответом в статусе, SLA и OLA
  • 🤖 ИИ-эвалуаторы оставляют комментарии на языке интерфейса и не комментируют критерии с оценкой «Да»
  • 🧩 Исправлены ошибки в Jinja-шаблонах при использовании фильтрации внутри блоков и циклов
  • ⚙️ Удаление навыка, используемого в правиле автоназначения, больше не приводит к ошибке и не оставляет в правиле пустое условие по навыкам
  • 📝 Шаблоном заявки по умолчанию для одного набора ролей теперь может быть только один шаблон
  • 🪪 Улучшены проверка и форматирование идентити пользователей (email, Telegram, VK, WhatsApp)
  • 🖥️ Исправлены пагинация во вкладке «Клиенты», слишком узкое поле лицензионного ключа в форме создания заявки, выбор канала при создании заявки, увеличение картинок в статьях, оператор «равно» в фильтре чатов, лишняя кнопка «Удалить» при создании WhatsApp-канала, пропадание виджета при обновлении страницы и показ лицензионного соглашения в виджете после отправки кода регистрации
  • ✉️ Уменьшены отступы в письмах в брендировании по умолчанию
  • 🔐 Исправлены уязвимости и повышена безопасность системы

Новые переменные окружения

В версии 6.2.0 появились новые параметры в файле .env. Задавать их не обязательно: если переменная не указана, используется значение по умолчанию.

ПеременнаяПо умолчаниюОписание
EMAIL_STORE_FAILED_EMAILS_MAX_AGE_DAYS30Через сколько дней удаляются письма, сохранённые из-за ошибок обработки. 0 — хранить бессрочно
TICKET_EXPORTS_MAX_AGE_DAYS30Срок хранения экспортов заявок (HTML/PDF) в днях
RUNTIME_SCRIPT_RUN_THROTTLE_RATE10/minЛимит ручных запусков скрипта на пользователя, формат <число>/<s|min|hour|day>. 0 — без ограничений
EMAIL_AUTH_ADDRESS_THROTTLE_RATE3/hourЛимит писем регистрации и смены пароля на один адрес. 0 — без ограничений
EMAIL_AUTH_CODE_COOLDOWN60Секунды после отправки кода, в течение которых повторный запрос не отправляет новое письмо. 0 — без паузы
EMAIL_AUTH_TOKEN_MAX_FAILED_ATTEMPTS3Количество неверных вводов кода (регистрация, сброс пароля, подтверждение идентити), после которого код аннулируется. 0 — без ограничений
EMAIL_AUTH_CONFIRM_THROTTLE_RATE5/minЛимит попыток подтверждения кода регистрации и смены пароля с одного адреса клиента. 0 — без ограничений
EMAIL_AUTH_CONFIRM_FAILURES_THROTTLE_RATE20/hourОбщий лимит неверных кодов при подтверждении регистрации и смены пароля для всех клиентов. 0 — без ограничений
IDENTITY_VERIFICATION_CONFIRM_THROTTLE_RATE5/minЛимит попыток подтверждения идентити для пользователя. 0 — без ограничений
AI_ASSISTANT_EXTERNAL_THROTTLE_RATE10/minЛимит запросов к ИИ-подсказке решения на одного клиентского пользователя. Внутренние роли не ограничиваются. 0 — без ограничений
AI_ASSISTANT_EXTERNAL_TOTAL_THROTTLE_RATE100/minОбщий лимит запросов к ИИ-подсказке решения для всех клиентских пользователей. 0 — без ограничений
REBALANCER_LOCK_TIMEOUT1800Сколько секунд держится блокировка от параллельных запусков ребалансера. Не устанавливайте 0