Skip to content

Releases: dartdavros/chatballs

Chatballs 1.19.1

Choose a tag to compare

@github-actions github-actions released this 16 Oct 15:39

Chatballs 1.19.1

Исправления оформления веб-виджета и выбора сотрудников.

Исправления

  • Настроенная иконка шапки виджета отображается и в режиме «Только операторы».
    Сохранены наследование иконки кнопки, собственная иконка, сброс и «Без иконки».
  • Сообщения сотрудников в виджете показывают фотографию конкретного автора,
    включая подключённого коллегу. Фотографии сохраняются при восстановлении
    истории; при отсутствии или ошибке загрузки используется буквенный аватар.
    Доступ к фотографии ограничен сессией виджета и видимым клиенту сообщением.
  • Инициалы центрированы в поле ответственного, меню выбора и форме подключения
    коллеги. Фотографии и индикаторы присутствия сохраняют своё положение.
  • Кнопки «Отмена» и «Подключить» в форме подключения коллеги имеют одинаковую
    компактную высоту 30 px, в том числе при ошибке и повторной попытке.

Обновление

Новых миграций относительно 1.19.0 нет. Обновление выполняется штатным способом
через интерфейс или релизный compose.yaml с существующими override-файлами.

Проверки

Штатная браузерная проверка всех четырёх исправлений, снимки экрана и результаты
адресных тестов приведены в отчёте T-165.
В ней использовались реальный backend и существующие учётные записи без seed
и подмены API.

Перед выпуском повторно прошли 24 адресных backend-теста с --reuse-db,
8 frontend-тестов, Ruff и Django check. Production-образы backend и frontend
собраны штатными Dockerfile. Полный набор тестов не запускался.

Chatballs 1.19.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 07:42

Chatballs 1.19.0

Навыки агентов, оформленные ответы и работа организации без ИИ-агента.

Навыки и шаблоны

  • Общая библиотека навыков организации: инструкции можно подключать к нескольким
    агентам, редактировать и отключать независимо от остальных подключений.
  • Агент загружает подключённые навыки во время ответа. Доступ к данным и внешним
    инструментам сохраняет действующие ограничения организации и агента.
  • Редактор шаблонов объединяет схему полей, HTML, CSS, текстовую версию,
    примеры данных и серверный предпросмотр для виджета и текстовых каналов.
  • Готовая основа для работы с заказами доступна для явного выбора и редактирования;
    она не создаёт интеграции и не устанавливается в организацию автоматически.
  • Подготовленный ответ сохраняется вместе с сообщением. Изменение или удаление
    навыка не меняет уже отправленные ответы. Оформление доступно в рабочем чате,
    проверочном чате агента и веб-виджете; другие каналы получают текстовую версию.

Режим «Только операторы»

  • Организация может работать без автономных ответов ИИ. Существующие агенты,
    знания, настройки и история сохраняются при переключении режима.
  • Подключение можно направить в группу сотрудников без назначения агента.
    Веб-виджет принимает обращения и ответы сотрудников без фиктивной передачи ИИ.
  • Чек-лист начала работы учитывает выбранный режим. Возврат диалога ИИ доступен
    только при подходящем режиме и настроенном агенте; помощь сотрудникам
    настраивается отдельно.
  • Сохранена доставка оформленного ответа по почтовому продолжению веб-обращения:
    отдельному ящику не требуется привязка к агенту исходного подключения.
    Отключение ящика или исходного веб-подключения блокирует повторную отправку.

Обновление

Добавлены миграции ai.0028–0029, conversations.0047, identity.0048
и tenancy.0067. Они применяются штатным сервисом init. Существующие организации
сохраняют режим с ИИ-агентами; библиотека навыков изначально пуста.

Используйте штатное обновление из интерфейса или релизный compose.yaml
с существующими override-файлами. Перед обновлением сохраните резервную копию
базы данных, вложений и секретов. Откат следует выполнять с восстановлением
согласованной резервной копии, а не только заменой образов старой версией.

Проверки

Перед выпуском прошли production-сборки backend и frontend, Ruff, Django check,
проверка отсутствия недостающих миграций, 213 адресных backend-тестов,
131 frontend-тест и 15 проверок релизного Compose. Две условные проверки
пропущены штатно: исключение updater из запрета bind mounts и условная проверка
каталога переводов. Полный набор тестов не запускался.

Проверки функций и сравнение с утверждённым макетом описаны в отчётах
библиотеки,
редактора,
отображения ответов и
операторского режима.

Браузерная проверка отображения оформленных сообщений использовала разрешённые
владельцем контрольные записи в отдельной базе задачи. Она не подтверждает
сквозной сценарий с внешней моделью или системой заказов.

Chatballs 1.18.2

Choose a tag to compare

@github-actions github-actions released this 15 Oct 00:57

Chatballs 1.18.2

Патч с исправлениями рабочего чата, почтового продолжения и статистики поддержки.

Чат и почта

  • При открытии и переключении диалогов последняя запись видна целиком над редактором. Убран лишний верхний отступ.
  • Переключение ответа, письма и комментария, рост редактора и загрузка содержимого сохраняют положение ленты. Входящие сообщения не прерывают чтение истории, включая чтение рядом с концом; догрузка сохраняет видимую запись.
  • Для продолжения веб-обращения по почте ящику больше не нужна привязка к агенту. Ответы из такого ящика возвращаются в исходное обращение; несвязанные письма без обычного маршрута не создают новый диалог.
  • Выбранный почтовый ящик сохраняется при обновлении списка. Если он стал недоступен, отправка блокируется до явного выбора другого.
  • Сохранены проверки организации, активности, конфигурации и ошибок подключения. Почта установки для приглашений и восстановления доступа остаётся отдельной.

Статистика и настройки

  • В неполном периоде отчёт показывает наблюдаемые показатели и дату доступности данных. Неизвестные значения отделены от настоящего нуля; таблицы, графики и CSV/XLSX согласованы.
  • Уточнены формы правил обработки и клиентских оценок, убраны неизменяемые псевдополя и служебные пояснения.
  • При первом открытии анализа качества предлагаются критерии из утверждённого макета. Они сохраняются только по явному действию; сохранённый пустой набор остаётся пустым. Прошлые версии критериев сохраняются.

Проверки и обновление

Сборки, адресные тесты и браузерные проверки описаны в отчётах T-155 и T-156.

Для почты проверены штатные API, outbox и обработка связанных ответов. Внешняя отправка через реальные SMTP-подключения не подтверждена: доступные подключения имеют сетевые ошибки; успешные статусы не подставлялись.

Новых миграций базы данных нет. Обновление выполняется штатным механизмом через интерфейс или релизный compose.yaml с сохранением существующих override-файлов. Перед обновлением сохраните резервную копию данных и секретов.

Chatballs 1.18.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 21:29

Chatballs 1.18.1

Патч к версии 1.18.0 с исправлениями связи и настроек, обновлением логотипа
и боковой навигации по утверждённому макету.

Исправления

  • Восстановлена авторизация WebSocket за шлюзом, завершающим HTTPS:
    защищённые cookie учитываются с учётом настроенного доверенного прокси.
  • При первом открытии пустых настроек клиентских оценок предлагаются пять
    подписей шкалы, текст запроса и задержка 10 минут на языке организации.
    Опрос включается и настройки сохраняются только по действию администратора;
    ранее настроенные значения сохраняются.
  • Исправлены проверка задержки запроса оценки, оформление формы оценок,
    подсказки и формулировки в настройках правил обработки обращений.
  • Исправлено оформление списка участников диалога.

Логотип и навигация

  • Единый логотип применяется в рабочем интерфейсе, на входе, при первом
    запуске, в справке и значке вкладки. Пользовательский логотип организации
    сохраняется.
  • Боковое меню, разделители, иконки и названия приведены к утверждённому
    макету, включая светлую и тёмную темы, свёрнутое и мобильное меню.
  • Статистика доступна супервизору при наличии подконтрольных групп.
    Пункт «Помощь» открывает центр справки в новой вкладке.
  • Иконка агента унифицирована в рабочем интерфейсе. Оформление и анимация
    клиентского виджета сохранены.

Проверки и обновление

Проверки перед выпуском завершены и подтверждены владельцем. Сборки,
адресные тесты и браузерная проверка оболочки описаны в
отчёте проверки.

Патч не добавляет миграций базы данных. Обновление выполняется штатным
способом через интерфейс или релизный compose.yaml с существующими
override-файлами. Перед обновлением сохраните резервную копию базы,
вложений и секретов.

Chatballs 1.18.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 18:02

Chatballs 1.18.0

Релиз объединяет завершённые задачи расширения платформы: совместную работу
с обращениями, помощь оператору, отчёты и контроль качества.

Работа с обращениями

  • ИИ готовит черновик ответа оператору с учётом публичной переписки.
    Оператор проверяет предложение, редактирует его и отправляет сам.
  • Диалог можно передать доступному сотруднику с причиной и комментарием;
    передачи и изменения участников отражаются в общей истории обращения.
  • К диалогу можно подключить коллег. Сообщения сохраняют авторство;
    клиент получает уведомление о подключении специалиста.
  • Внутренние комментарии видят только сотрудники с доступом к обращению.
    Они не уходят клиенту и не включаются в контекст клиентского ИИ-ответа.
  • Рабочий статус сотрудника выбирается в интерфейсе и учитывается при
    назначении и передаче обращений.

Доступ и шаблоны

  • Супервизор управляет обращениями и смотрит командные результаты в пределах
    подконтрольных групп. Изменение области доступа применяется на сервере,
    включая выгрузки и обновления в реальном времени.
  • Библиотека шаблонов поддерживает личные и общие шаблоны, категории, теги,
    поиск и подстановку переменных. Ответ с незаполненными переменными
    отправить нельзя.

Продолжение общения и качество

  • В чате отображается состояние посетителя сайта. После его ухода сотрудник
    может продолжить веб-обращение по электронной почте через подключённый
    почтовый ящик и сохранённый адрес клиента.
  • Клиент может оценить завершённый диалог. Настройки запроса оценки,
    клиентская форма и результат доступны в соответствующих интерфейсах.
  • ИИ-анализ качества использует настроенные критерии и сохраняет версии
    результата. Результат можно просмотреть и скорректировать; ошибка анализа
    отображается явно и не считается успешной оценкой.
  • Отчёты показывают обращения, нагрузку, рабочие статусы, клиентские оценки
    и результаты анализа качества. Выгрузки CSV/XLSX учитывают фильтры и права.
  • Правила обработки автоматизируют подтверждения, напоминания и возврат
    назначения. Настройки и журнал выполнения доступны в интерфейсе.
    Изменение правила отменяет ожидающие действия его прежней версии.

Обновление

Перед обновлением сделайте резервную копию базы, вложений и секретов.
Используйте compose.yaml этого релиза вместе с существующими override-файлами
установки. Штатный сервис init применяет новые миграции до запуска backend
и фоновых обработчиков.

Миграции затрагивают помощь ИИ, обращения, сотрудников, клиентские оценки,
веб-чат и защиту данных организаций. Новые возможности не создают задним
числом историю событий, оценки или результаты анализа старых обращений.
Перенос каталогов, замена секретов и пересоздание учётных записей не требуются.
Не запускайте старую версию поверх обновлённой схемы без проверенного плана
отката и резервной копии.

Проверки перед выпуском

  • Сборки рабочего интерфейса, веб-чата и production-образа backend прошли.
  • Адресные проверки: 271 backend-тест, 121 frontend-тест, 6 тестов лоадера
    и 15 тестов релизного Compose прошли. Исключение updater из запрета
    bind mounts отмечено одним ожидаемым пропуском.
  • Ruff, Django system checks, соответствие моделей миграциям и отсутствие
    неприменённых миграций проверены. Полный набор тестов не запускался.
  • Штатный dev-стек запущен с существующей базой и секретами. Проверены
    readiness PostgreSQL/Redis, вход существующего демо-администратора и API
    правил, журнала выполнения и доступа к отчётам. Seed и сброс доступа
    не выполнялись.
  • Повторная браузерная проверка не завершена: средство автоматизации
    остановило её, поскольку не смогло достоверно определить URL окна Chrome.

Chatballs 1.17.3

Choose a tag to compare

@github-actions github-actions released this 09 Oct 23:02

Chatballs 1.17.3

Диагностика работы агента

  • В меню действий диалога добавлено «Скачать диагностику». Выгрузка
    доступна владельцу и администратору, в том числе для закрытых диалогов.
  • JSON-файл можно передать разработчику или поддержке для разбора:
    в нём переписка, снимки запросов и ответов модели, доступные инструменты
    и причины их недоступности, вызовы API, HTTP-статусы, ошибки, длительность
    и передача оператору.
  • Секреты и известные значения полей сайта удаляются, известные персональные
    данные клиента маскируются. Выгрузка проверяет права и организацию на сервере
    и фиксируется в журнале действий.
  • Ошибка сохранения диагностики не отменяет ответ клиенту.

История и ограничения

Полная трассировка сохраняется для новых ходов после обновления. Для старых
сообщений файл явно указывает отсутствие снимков. Настройки на момент хода
и текущие настройки экспортируются отдельно.

Хранятся последние 20 снимков на диалог. Экспорт включает до 2000 последних
сообщений; сокращённые данные помечаются. Вложения не входят в файл.
При удалении диалога его диагностика также удаляется.

Проверки

  • Сборки internal-ui и backend-образа прошли.
  • Целевые регрессионные проверки: 58 тестов пройдены, 1 пропущен.
  • Окончательные проверки диагностики: 25 тестов пройдены, включая цепочку
    списка заказов и деталей с внутренним id, ошибки API и провайдера,
    удаление секретов, устойчивость записи и tenant/RLS-защиту PostgreSQL.
  • Ruff, Django system checks и проверка соответствия миграций прошли.
  • На штатном локальном backend браузером проверены скачивание валидного JSON
    администратором и отсутствие пункта у сотрудника.
  • GitHub CI проверил линтер и deployment CLI.

Обновление

Штатный сервис init применяет ai.0025_turndiagnostic и
tenancy.0043_turn_diagnostic_guards перед запуском обновлённых backend и worker.
Используйте релизный compose.yaml и существующие override-файлы установки.
Перенос данных и изменение учётных записей не требуются.

Описание формата: Диагностика диалога.

Chatballs 1.17.2

Choose a tag to compare

@github-actions github-actions released this 08 Oct 11:13

Chatballs 1.17.2

Исправления

  • Встроенный веб-виджет делегирует доступ к микрофону своему iframe: браузер
    может запросить разрешение на запись голосового сообщения на сайте
    с другим адресом, чем установка Chatballs.
  • Доступ ограничен адресом iframe. Согласие пользователя по-прежнему требуется;
    запрет микрофона политикой родительского сайта не обходится. Доступ к камере
    не добавлен.

Серверные изменения из main

  • Добавлены справочник причин и внутренний журнал передач диалога.
  • Добавлены данные участия сотрудников в диалоге и лимит дополнительных
    участников организации. Прежние назначения сохраняются; автоматическое
    создание участников не выполняется.
  • Эти изменения подготавливают серверную модель; новые экраны управления
    передачами и участниками в этот релиз не входят.

Проверки

Целевые регрессионные тесты публичного загрузчика выполнены перед выпуском.
Сборка и публикация образов выполняются штатным GitHub Actions workflow.
HTTPS-сценарий записи на стороннем сайте агентом не подтверждён; ранее
в штатном окружении задачи проверены запись с реального микрофона,
отправка через backend, воспроизведение и обработка отказов.

Обновление

Новые миграции: conversations.0030_transfer_data,
conversations.0031_participant_data,
identity.0042_organization_participant_limit,
tenancy.0041_transfer_guards, tenancy.0042_participant_guards.
Их применяет штатный сервис init. Перед обновлением следует сохранить
резервную копию данных и секретов. Используйте compose.yaml этого релиза
и существующие Compose override-файлы установки.

Chatballs 1.17.1

Choose a tag to compare

@github-actions github-actions released this 06 Oct 19:05

Chatballs 1.17.1

Исправления

  • Настройки MCP-сервера и HTTP-запроса открываются без красной подсветки
    и сообщений об ошибках для ещё не изменённых полей.
  • Ошибка изменённого поля появляется после выхода из него и исчезает
    после исправления значения. Нетронутые поля остаются нейтральными.
  • При попытке сохранения проверяется вся форма. Некорректные данные
    не сохраняются.

Проверки

Пройдены 21 тест затронутых сценариев и сборка внутреннего интерфейса.
Браузерная проверка не завершена: штатный локальный backend не отвечает,
а инструмент Windows Computer Use не смог достоверно определить URL.

Обновление

Изменения относительно 1.17.0 затрагивают только внутренний интерфейс.
Новых миграций базы данных нет.

Chatballs 1.17.0

Choose a tag to compare

@dartdavros dartdavros released this 05 Oct 22:30

Chatballs 1.17.0

Инструменты агента

  • Агент получает сведения из систем организации через MCP-серверы и
    HTTP-запросы. Внешние серверы настраиваются в интеграциях, инструменты
    подключаются в карточке агента.
  • Агенту доступны инструменты с признаком «только чтение» или подтверждением
    администратора. Подтверждение можно отозвать; инструмент отключается
    у агентов.
  • В диалоге отображаются результат и длительность вызова инструмента.
  • В карточке агента можно проверить ответ с тестовыми данными клиента и
    посмотреть вызовы инструментов.
  • Исходящие запросы проверяют адреса и перенаправления, ограничивают время
    ожидания, размер и тип ответа. Доступ к частной сети по умолчанию запрещён;
    разрешить его может администратор установки. Сервисы самой установки и
    loopback остаются недоступны.

Данные клиента в ответах AI

  • Известные персональные данные клиента, почта, телефоны и длинные числа
    заменяются псевдонимами перед отправкой модели. Настоящие значения
    подставляются в ответ перед сохранением и отправкой клиенту.
  • Для своих полей сайта выбирается режим доступа AI: скрыть, передавать
    с маскированием или открыто. Маскирование используется также в запросе
    эмбеддингов и при работе с инструментами.

Веб-виджет и чат

  • В настройках оформления можно сбросить загруженную иконку и выбрать
    кнопку без иконки.
  • Текст согласия перед чатом поддерживает безопасное HTML-оформление;
    сервер удаляет опасную разметку и ссылки.
  • Исправлена прокрутка к новым сообщениям. При чтении последних сообщений
    лента следует за короткими и длинными репликами; собственный ответ
    показывается и после чтения истории. Входящие сообщения не сбивают
    позицию при чтении старой переписки.

Обновление

Схема базы меняется: ai/0024, conversations/0029, identity/0041,
integrations/0011_web_field_ai_access, 0011_integration_external_server,
0012–0014, tenancy/0040. Штатный сервис init применяет миграции
при запуске. Перед обновлением сохраните резервную копию данных и томов
секретов; используйте прежний набор Compose override-файлов.

Миграция настроек своих полей переносит прежний признак «Видит AI»:
скрытые поля остаются скрытыми; видимые строки, почта, телефоны и ссылки
получают маскирование, а числа, флаги, даты и списки — открытый доступ.
Поле без прежнего признака становится скрытым.

Chatballs 1.16.0

Choose a tag to compare

@dartdavros dartdavros released this 01 Oct 16:28

Chatballs 1.16.0

Настройка веб-виджета

  • Настройки веб-подключения вынесены на отдельную страницу с разделами данных
    сайта, формы перед чатом и оформления.
  • Через Chatballs.setFields сайт передаёт поля контакта и дополнительные
    данные. Они сохраняются в контакте, отображаются оператору, обновляются
    в диалоге и учитываются в контексте ответа агента.
  • Форма перед чатом собирает обязательные поля, проверяет формат и использует
    данные, заранее переданные сайтом. Правки клиента имеют приоритет.
  • Настраиваются цвета, положение и оформление кнопки, иконки и собственный CSS.
    Загружаемые SVG проходят очистку. В справке описаны стабильные CSS-классы.

Установка и обновления

  • Обновление из интерфейса сохраняет дополнительные Compose-файлы установки
    в исходном порядке: стандартный override и произвольные файлы через -f.
  • Помощник обновления получает каталог установки и override-файлы только
    на чтение. Пропавший или некорректный override останавливает обновление
    до перезапуска сервисов. Файлы override не заменяются релизом.
  • Для сервера с существующим nginx Chatballs можно разместить на локальном
    HTTP-порту, сохранив стандартный HTTPS-домен снаружи. Пример — в
    docs/deployment-overrides.ru.md.
  • Dev-окружение задачи использует постоянный каталог PostgreSQL, Redis и media
    вне worktree. Скрипт проверяет исходные секреты и не инициализирует
    отсутствующую базу без явного -InitializeDatabase.
  • Демо-набор покрывает новые модели полей контакта и изображений виджета.
    Их записи учитываются в реестре; удаление изображения освобождает место
    в хранилище. Текущее оформление демо-виджета сохраняется.

Обновление

Схема базы меняется: webchat/0006, conversations/0027–0028,
tenancy/0038–0039. Штатный сервис init применяет миграции при запуске.
Перед обновлением сохраните резервную копию данных и томов секретов.

Если текущая версия ещё не поддерживает override, первый переход на 1.16.0
нужно выполнить вручную: скачать compose.yaml релиза и запустить его вместе
с используемыми override-файлами. После этого обновления из интерфейса
сохраняют эту конфигурацию.