🔁 Версии и запуски
Статусы сценария
| Статус | Что означает |
|---|---|
| Черновик | сценарий ещё не опубликован или снят с публикации — по событиям не срабатывает |
| Опубликован | активен, реагирует на триггер |
| В архиве | не срабатывает. Остаётся в списке (фильтр «В архиве»); редактор его не открывает («Сценарий не найден»), граф можно посмотреть и скачать в «Версиях». Архивирование необратимо: сценарий нельзя вернуть в работу, переименовать или удалить |
Если у опубликованного сценария создан черновик новой версии, в колонке «Статус» списка и в бейдже редактора показывается «Черновик». Сценарий при этом продолжает работать по последней опубликованной версии, а в фильтре статуса попадает в «Опубликован», а не в «Черновик».
Что можно сделать со сценарием
В меню строки сценария в списке доступны:
| Действие | Что делает | Минимальная роль |
|---|---|---|
| Открыть редактор | открыть граф на холсте | По умолчанию (без права на правку — только просмотр) |
| Версии | история версий | По умолчанию |
| Запуски | история прогонов | По умолчанию |
| Редактировать | изменить название и описание | Редактор |
| Дублировать | создать копию с суффиксом «(копия)» | Редактор |
| Архивировать | убрать сценарий из работы; есть у всех сценариев, кроме архивных | Администратор |
| Удалить | удалить безвозвратно; есть только у сценариев со статусом «Черновик» (в том числе снятых с публикации) | Администратор |
Роль «По умолчанию» видит в меню только «Открыть редактор», «Версии» и «Запуски».
Архивирование предупреждает: «Сценарий „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 |
Кто что может
| Действие | Минимальная роль |
|---|---|
| Смотреть версии, запуски и трассу | По умолчанию |
| Править черновик, создавать черновик из опубликованной версии, восстанавливать версию в черновик | Редактор |
| Публиковать и снимать с публикации | Администратор |
| Архивировать и удалять сценарий | Администратор |
| Запускать вручную и отменять запуск | Администратор |
Шаблоны
Чтобы не собирать граф с нуля, можно взять один из готовых сценариев — см. Шаблоны сценариев.
→ Блоки · Триггеры · Шаблоны сценариев