Перейти к основному содержимому

🔁 Версии и запуски

Статусы сценария​

СтатусЧто означает
Черновиксценарий ещё не опубликован или снят с публикации — по событиям не срабатывает
Опубликованактивен, реагирует на триггер
В архивене срабатывает. Остаётся в списке (фильтр «В архиве»); редактор его не открывает («Сценарий не найден»), граф можно посмотреть и скачать в «Версиях». Архивирование необратимо: сценарий нельзя вернуть в работу, переименовать или удалить
«Черновик» у работающего сценария

Если у опубликованного сценария создан черновик новой версии, в колонке «Статус» списка и в бейдже редактора показывается «Черновик». Сценарий при этом продолжает работать по последней опубликованной версии, а в фильтре статуса попадает в «Опубликован», а не в «Черновик».

Что можно сделать со сценарием​

В меню строки сценария в списке доступны:

ДействиеЧто делаетМинимальная роль
Открыть редактороткрыть граф на холстеПо умолчанию (без права на правку — только просмотр)
Версииистория версийПо умолчанию
Запускиистория прогоновПо умолчанию
Редактироватьизменить название и описаниеРедактор
Дублироватьсоздать копию с суффиксом «(копия)»Редактор
Архивироватьубрать сценарий из работы; есть у всех сценариев, кроме архивныхАдминистратор
Удалитьудалить безвозвратно; есть только у сценариев со статусом «Черновик» (в том числе снятых с публикации)Администратор

Роль «По умолчанию» видит в меню только «Открыть редактор», «Версии» и «Запуски».

Архивирование предупреждает: «Сценарий „X“ будет помещён в архив. Активные запуски будут прерваны». Расписание архивного сценария тоже отключается.

Удалить можно не всё

Окно подтверждения пишет «Удаление возможно только для черновиков без запусков», но на деле удалению мешают только активные запуски: завершённые запуски удаляются вместе со сценарием. Если у сценария есть активные запуски, появится ошибка «Нельзя удалить: у сценария есть запуски. Используйте архивирование» — дождитесь их завершения или отмените их.

Названия сценариев уникальны

Названия сценариев в проекте уникальны (без учёта пробелов по краям, с учётом архивных). Создать, переименовать, дублировать или создать из шаблона сценарий с уже занятым названием нельзя — сервер вернёт ошибку. Повторное «Дублировать» без переименования предыдущей копии тоже не пройдёт.

Черновик и автосохранение​

Правки на холсте сохраняются сами — в верхней панели видно состояние: «Готово к работе», «Сохранение…», «Сохранено», «Не сохранено». Пока последняя правка не сохранилась, публикация не пройдёт: «Сначала исправьте ошибку сохранения».

После публикации черновика больше нет: редактор показывает опубликованный граф только для чтения. В верхней панели — «Создать черновик» («Скопировать текущую опубликованную версию в новый редактируемый черновик», роль Редактор; черновик получает следующий номер версии) и «Снять с публикации» (Администратор).

Публикация​

Кнопка «Опубликовать» превращает черновик в новую версию: «Опубликовать draft → новая версия».

Обратное действие — «Снять с публикации» («Убрать сценарий с прода. Версия останется в истории»). Кнопка видна, пока открыт опубликованный граф в режиме просмотра; при правке черновика её нет. После снятия с публикации расписание сценария отключается, а активные запуски прерываются.

Снятый с публикации сценарий не вернуть в работу

После «Снять с публикации» сценарий получает статус «Черновик», а редактор показывает «У этого сценария нет черновика…» без кнопки создания черновика. «Дублировать» и «Восстановить как draft» для такого сценария тоже не срабатывают. Граф при этом остаётся в «Версиях»: скачайте нужную версию («Скачать JSON»), создайте новый сценарий с другим названием и загрузите граф кнопкой «Импорт».

Новые запуски сразу идут по только что опубликованной версии, а снятый с публикации сценарий сразу перестаёт стартовать. Запуски, которые уже идут, доживают на той версии, на которой начались.

Если публикация не прошла​

Если граф не проходит проверку, открывается окно «Не удалось опубликовать» со списком ошибок. Сообщения показываются как есть — большинство из них на английском. Если в сообщении назван блок, по нему можно перейти к этому блоку на холсте.

Что проверяется при публикации:

  • граф не пустой, в нём есть блок «Старт», у каждого блока известный тип;
  • каждая связь идёт из существующего выхода блока в существующий блок, из одного выхода — не больше одной связи, блок не ссылается сам на себя;
  • кейсы «Переключателя» совпадают со стрелками из него;
  • до каждого блока можно дойти от «Старта»;
  • настройки AI-агента;
  • стартовый блок: для триггера «Событие» событие обязательно, а у «Поддержки» и «Тикетов» — из списка реально отправляемых; для «По расписанию» — cron из шести полей и корректный часовой пояс;
  • входные переменные — только у «Ручного запуска» и «Webhook»: имена в snake_case без повторов, «Обязательное» нельзя совмещать со значением по умолчанию, список допустимых значений — только у типа string и не пустой, значение по умолчанию — из этого списка;
  • дополнительные условия запуска — только допустимые поля и операторы.

Обязательные поля обычных блоков при публикации не проверяются: пустое поле обнаружится только при выполнении.

Если у AI-агента есть неразведённые исходы, публикация спросит «Не все исходы разведены» — можно выбрать «Опубликовать всё равно» или «Сначала разведу».

Версии​

Страница «Версии сценария» (под заголовком — название сценария) — история версий. Колонки: «Версия», «Статус», «Опубликована», «Опубликовал». Версии идут от новой к старой, по 10 на странице. В списке есть и текущий черновик — с бейджем и статусом «Черновик»; клик по нему открывает редактор. Если версий ещё нет — «У этого сценария ещё нет версий».

Действия по каждой опубликованной версии:

  • «Просмотр графа» — открывает граф этой версии в режиме только для чтения, заголовок — «Сценарий — версия v2»;
  • «Восстановить как draft» — копирует граф выбранной версии в черновик и открывает редактор («Версия восстановлена в draft»);
  • «Скачать JSON» — выгружает граф файлом вида flow-<название>-v<N>.json.

Граф целиком также можно выгрузить и загрузить прямо из редактора кнопками «Экспорт» и «Импорт».

Откат на любую версию

Чтобы вернуться к любой опубликованной версии, откройте «Версии» и нажмите «Восстановить как draft» у нужной версии, затем опубликуйте черновик. Черновик уже должен существовать: если его нет, сначала нажмите «Создать черновик» в редакторе, иначе появится ошибка «Не удалось восстановить версию». Текущие правки черновика при этом перезаписываются без подтверждения.

Запуски​

Страница «Запуски сценария» — список прогонов. Фильтры: «Все», «Активные», «Завершены», «Ошибка», «Прерваны», плюс поиск по пользователю. Выбранный фильтр запоминается и сохраняется после перезагрузки страницы. Колонки: «ID», «Состояние», «Пользователь», «Начат», «Длительность», «Текущий блок». В колонке «Пользователь» — имя клиента, а у запусков без клиента — «Система». Показ по 10 на странице, новые сверху.

Видны не все старые запуски

Страница берёт 200 последних запусков всего проекта и показывает из них запуски этого сценария. Если в проекте много других сценариев, старые запуски этого сценария в список не попадут. Полную историю можно получить через API (до 1000 записей за запрос).

В меню строки — «Открыть» и, для активных запусков, «Отменить» (право — Администратор). У бейджа «Прерван» есть всплывающая подсказка с причиной. Если под фильтр ничего не попало — «Нет запусков для выбранных фильтров».

Состояния запуска​

СостояниеЗначение
Выполняетсясценарий работает
Ожидание событияждёт ответа клиента (блок «Вопрос», ожидание реплики агента)
Ожидание задержкипауза (блок «Задержка»)
Завершёнуспешно закончился
Ошибкапрервался из-за ошибки
Прерванотменён или вытеснен другим запуском

Причины прерывания​

У прерванного запуска видно, кто и почему его остановил:

ПричинаКогда показывается
Остановлен операторомоператор нажал «Остановить выполнение», сценарий сняли с публикации или заархивировали; рядом показывается имя оператора
Вытеснен новым запускомпо этому же объекту стартовал другой запуск
Отменён клиентомзарезервировано, сейчас не выставляется
Прервано системойзапуск завис в состоянии «Выполняется» без активности дольше 30 минут — система прерывает его сама

У старых запусков, для которых причина не записана, панели причины нет. Те же формулировки приходят оператору уведомлением в чат.

Деталка запуска​

Страница одного запуска показывает, как сценарий шёл по графу. У неё две вкладки — «Обзор» и «Трейс». Если в запуске работал «AI-агент», сразу открывается вкладка «Трейс».

Слева — граф той версии, на которой запуск выполнялся: подсвечены пройденные блоки (успешные и упавшие) и текущий блок. Если версия недоступна — «Версия запуска недоступна (возможно, удалена)».

«Обзор» — панели:

ПанельЧто показывает
Состояниестатус, «Начат», «Завершён», «Курсор» (текущий блок)
Переменныезначения переменных запуска; добавленные, изменённые и удалённые подсвечиваются
Данные триггерачто пришло в сценарий на старте
Ошибкатекст ошибки, если запуск упал
Причина прерыванияпочему запуск остановили и кто; видна на обеих вкладках

«Трейс» — лента «Ход прогона»: запись на каждый вход в блок, по порядку. Пока записей нет — «Шаги ещё не записаны». У блока «AI-агент» запись раскрывается в группу «Сессия агента» с ходами модели, вызовами навыков, поиском по базе знаний и репликами — подробности в разделе Агентский режим.

Страница обновляется сама: каждые 5 секунд, пока запуск в состоянии «Выполняется», и каждые 20 секунд, пока он чего-то ждёт. У активного запуска на вкладке «Обзор» рядом со статусом горит метка «Live» и есть кнопка обновления; у завершённого их нет — состояние больше не меняется. На вкладке «Трейс» кнопка обновления есть всегда.

Сколько хранятся запуски​

Завершённые запуски вместе с трассой хранятся 30 дней после окончания, потом удаляются автоматически: запуск пропадает из списка, а его страница показывает «Запуск не найден». Если запуск нужен для разбора инцидента, выгружайте нужное, пока срок не вышел.

Как узнать об упавших запусках​

Когда любой запуск сценария проекта завершается ошибкой, Fixorix отправляет событие «Упал флоу (для алертинга)». На него можно подписать глобальный сценарий, который сообщит дежурному, — готовый пример есть в шаблоне «Прогон упал — сказать дежурному». В событии есть ID упавшего запуска, сценария и блока и тип ошибки; текст ошибки смотрите в трассе запуска. Падение самого сценария-алерта повторно не объявляется, так что петли не возникнет. Подробнее — в разделе Триггеры.

Это основной способ узнавать о сбоях блоков-действий (например, «Создать тикет», «Назначить на группу»): выхода «Ошибка» у них нет, и при сбое запуск просто завершается с ошибкой.

Тестовый прогон​

Функции нет в интерфейсе

Окно тестового запуска («Тестовый запуск сценария», «Тестовый webhook», «Тестовое срабатывание расписания») в продукте реализовано, но кнопки, которая его открывает, в панели редактора нет — открыть окно нечем. Проверять сценарий приходится настоящим запуском: опубликовать и запустить вручную или дождаться события.

Один активный запуск на объект​

Активный запуск один на связку «клиент + тип сценария + объект» (обращение или тикет): новый запуск вытесняет предыдущий, и тот получает причину прерывания «Вытеснен новым запуском». Пока запуск ждёт ответа клиента, события этого обращения новых сценариев того же типа не запускают — см. Триггеры.

Разные сценарии типа «Глобальный» друг друга не вытесняют — они выполняются параллельно. Но повторный запуск того же глобального сценария для того же клиента и объекта вытесняет его предыдущий активный запуск. Запуски без клиента (по расписанию, по вебхуку без userId) не вытесняются.

Ограничения​

ЧтоЛимит
Размер графа сценария1 МиБ
Значение одной переменной64 КиБ
Все переменные одного запуска256 КиБ
Тело вебхука64 КиБ
Обращений к ИИ на один запуск200
HTTP-запросов на один запуск100
Блоков за один проход1000
Блоков за весь запуск10 000 (дальше запуск обрывается)
Запуск без активности в состоянии «Выполняется»30 минут, затем прерывается системой
Хранение завершённых запусков30 дней
Прямых запусков через API в минуту60 на клиента (без клиента — на проект); запуски по событиям, из чата и тикета и по вебхуку под этот лимит не попадают
Публикаций в минуту на пользователя10
«Создать через ИИ»: запросов в минуту на пользователя30
Правок через ИИ (сценарий, блок, запуск), «Улучшить» и «Проверить черновик» агента: запросов в минуту на проект30, общий лимит на весь проект
Вебхуков в минуту на проект600

Кто что может​

ДействиеМинимальная роль
Смотреть версии, запуски и трассуПо умолчанию
Править черновик, создавать черновик из опубликованной версии, восстанавливать версию в черновикРедактор
Публиковать и снимать с публикацииАдминистратор
Архивировать и удалять сценарийАдминистратор
Запускать вручную и отменять запускАдминистратор

Шаблоны​

Чтобы не собирать граф с нуля, можно взять один из готовых сценариев — см. Шаблоны сценариев.


→ Блоки · Триггеры · Шаблоны сценариев