Пайплайны (preview)¶
Пайплайн — это заранее описанная последовательность шагов, которую Synth выполняет сам: шаги идут по связям, ветвятся по условиям, а ход работы виден в журнале прогона. Пайплайн живёт внутри проекта и запускается вручную или по расписанию.
Preview
Пайплайны находятся в статусе preview: функция работает и доступна в интерфейсе, но формат спецификации, набор шагов и экраны могут меняться между релизами. Для критичных процессов пока используйте расписания и обычные сессии.
Что такое пайплайн¶
Черновик — редактируемая версия спецификации; опубликованная версия — неизменяемый снимок, и только по нему запускают прогон. Прогон — одно исполнение версии в фоне, с журналом и таймингами.
Шаг — не сессия: у него своя локальная история, он не появляется в списке
сессий и не раздувает контекст диалога. Инструменты шага проходят тот же слой
разрешений, а режим (plan / act / yolo) объявляется в спецификации.
Из чего состоит¶
В редакторе доступны четыре вида шагов:
| Вид шага | Что делает | Когда применять |
|---|---|---|
| Агентский шаг | Запускает агента с промптом, скиллом и инструментами; агент работает своим циклом и возвращает текст и расход токенов | Анализ, правки кода, подготовка отчёта |
| Скриптовый шаг | Выполняет команду в рабочем каталоге проекта; команда идёт через ту же политику shell и защищённых путей, что у агента | Сборка, тесты, детерминированный шаг |
| Шаг с инструментом | Вызывает один инструмент с заданными аргументами (например, git_status) |
Проверка состояния без вызова модели |
| Шаг с человеком | Ставит прогон на паузу и ждёт решения оператора; может иметь таймаут | Согласование перед публикацией или деплоем |
У шага есть название, режим, вход, таймаут и повторы с паузой. Вход задаётся
путями: prev.output.* (выход предыдущего шага), trigger.payload.* (данные
запуска) и vars.* (переменные спецификации).
Как создать¶
Левая панель → вкладка «Пайплайны» → «Создать пайплайн». В диалоге «Новый пайплайн» заполните «Название» и «Описание», соберите шаги в редакторе и сохраните черновик. Пайплайн создаётся в проекте текущей сессии.
Редактор: визуальный и JSON¶
- Переключатель «Визуальный» / «JSON» — одна спецификация в двух видах: визуальный режим для структуры, JSON — для точных полей.
- Палитра «Кубики» добавляет шаг нужного вида; «Добавить шаг», «Выше» / «Ниже», «Удалить шаг» меняют порядок и состав.
- «Настройки шага» — инспектор выбранного шага: агент, скилл, промпт, команда и аргументы, инструмент, таймаут, повторы, пути входа.
- Блок «Переходы»: «Путь», «Условие», «Значение» и «Целевой шаг». Если переходов нет, прогон идёт к следующему шагу по порядку.
- Условия:
равно,не равно,в списке,существует,больше,меньше. Сравнение строгое по типу:1и"1"— разные значения. - Выходы правятся в режиме JSON — в визуальном редакторе их нет. Выход бывает четырёх видов: сессия, файл в рабочем каталоге, событие наружу (его увидят webhooks и подписчики) или «ничего».
Переходы проверяются по порядку: срабатывает первый с условием. Если шаг упал, линейного перехода нет — продолжить после ошибки можно только явным условием.
Черновик и публикация¶
На странице пайплайна видны бейджи версий: «Черновик N», «Опубликовано N», «Не опубликован», «из пакета …» — для пайплайна из пакета расширений.
| Кнопка | Что делает |
|---|---|
| «Сохранить черновик» | Записывает спецификацию; опубликованные версии не меняются |
| «Проверить» | Проверяет граф: «Спецификация корректна» или список в блоке «Проблемы» |
| «Опубликовать» | Делает неизменяемую версию и открывает следующий черновик |
| «Удалить пайплайн» | Удаляет пайплайн и версии; прогоны сохраняются |
Прогон возможен только по опубликованной версии. Правка черновика не влияет на идущие и завершённые прогоны: у каждого свой снимок спецификации.
Прогон¶
- «Запустить прогон» — прогон идёт в фоне, ответ приходит сразу.
- Страница прогона показывает «Текущий шаг», «Начало», «Завершение», «Длительность», «Триггер» и «Журнал» — события шагов, переходы, паузы и ошибки.
- «Отменить прогон» останавливает активный прогон; отмена попадает в журнал. Одновременно у пайплайна может идти один прогон.
Подтверждение человека¶
Когда прогон доходит до шага с человеком (или до инструмента, требующего подтверждения), появляется плашка «Прогон ждёт решения человека»:
- Прочитайте, что предстоит подтвердить, и при необходимости впишите «Комментарий (необязательно)».
- «Одобрить» — прогон продолжится с того же места; «Отклонить» — прогон завершается отказом, шаг не выполняется.
Пока прогон ждёт, он остаётся активным: второй прогон того же пайплайна запустить нельзя, а в журнале видно, какой шаг ждёт решения.
Артефакты¶
Выход вида «файл» кладёт результат в рабочий каталог проекта и в хранилище
артефактов прогона — каталог artifacts/<id прогона>/. Файл скачивается со
страницы прогона и переживает очистку рабочего каталога.
Артефакты не удаляются автоматически
Лимит — 50 МиБ на файл; более крупный файл остаётся только в рабочем
каталоге. Автоочистки нет: artifacts/ растёт, пока вы не удалите его сами.
Шаблоны¶
Системные шаблоны — готовые пайплайны, не принадлежащие проекту. Их список — Настройки → Администрирование → «Аддоны» → «Пайплайны» → вкладка «Шаблоны» (пометка «системный», только чтение). Инстанцирование в проект создаёт копию-черновик со своими версиями; часть шаблонов приходит с пакетами.
Запуск по расписанию¶
В «Шедулере» у расписания есть цель «Пайплайн»: проект и пайплайн. Такой запуск не создаёт сессию — прогон стартует напрямую, прогресс виден на странице прогона, а неопубликованный пайплайн завершит задание ошибкой.
Ограничения¶
- Пайплайны доступны только внутри проекта сессии.
- VIEWER видит пайплайны и прогоны, но не меняет их: правка, публикация, запуск и решение по паузе требуют права изменения содержимого проекта. В режиме plan мутации тоже недоступны — пайплайн можно только посмотреть.
- Защита от зацикливания — 100 переходов на прогон; у шага-агента свой лимит итераций. При превышении прогон или шаг останавливается с ошибкой.
- Вложения к запуску принимает API; формы прикрепления файлов при запуске в интерфейсе пока нет.
Что дальше¶
- Расписания (cron) — запуск пайплайна по времени.
- Возможности — обзор платформы.
- Что нового в 0.12.4 — изменения релиза.