Запуск и триггеры
Запускайте сценарий вручную, по расписанию, по вебхуку, как инструмент для ИИ-агентов или из командной строки и разрешайте триггеры, которые запускают сценарии без вас.
Сценарий запускается, когда что-то его начинает: вы кнопкой Запустить; ИИ-агент, когда вы предлагаете сценарий как
инструмент; расписание; вебхук; или echolot flow run в терминале или CI. Что бы ни запускало сценарий, каждый запрос
идёт тем же путём, что и отправка со страницы запроса.
Запуск вручную
- Откройте сценарий на странице «Сценарии».
- Нажмите Запустить на панели инструментов или ⌘R.
- Если у сценария есть входы, лист Запустить с именем сценария запрашивает их. В каждом поле показаны имя входа, тип и обязательность, а начальное значение — это значение по умолчанию. Оставьте поле пустым, чтобы использовать значение по умолчанию, и нажмите Запустить.
Сначала сценарий сохраняется, так что запуск использует то, что на холсте. Он выполняется с активным окружением окна. Запустить недоступна, пока в сценарии есть ошибки; её подсказка говорит «Сначала исправьте проблемы сценария».
Когда активно защищённое окружение, кнопка называется Запустить (Production)… (с именем этого окружения), и Echolot один раз спрашивает подтверждение перед запуском. Запросы внутри запуска больше не спрашивают.
Вид запуска
Пока сценарий выполняется, его блоки показывают своё состояние на холсте, а под ним открывается журнал запуска:
| На холсте | Значение |
|---|---|
| Рамка акцентного цвета | Блок выполняется или ждёт вас. |
| Зелёная рамка | Блок завершился. |
| Красная рамка | Блок завершился с ошибкой. |
В журнале запуска по порядку перечислено:
- каждый блок по мере завершения, с его временем;
- строки из блоков «Журнал» и
console.logв блоках «Вычислить»; - результаты тестов из блоков «Проверить» и
pm.test, с числом пройденных и всех тестов (Тесты) в заголовке; - ошибки красным;
- чем закончился запуск:
Finished in 1.2 s,Stopped in …илиFailed in …с причиной.
Нажмите на строку, чтобы выбрать её блок. Выберите любой блок, чтобы увидеть его Последний запуск в инспекторе с его значениями Входные данные и Результат по портам. Очистить очищает журнал и состояния на холсте; кнопка закрытия скрывает журнал, а Журнал запусков на панели инструментов показывает его снова.
Остановить (⌘.) занимает место Запустить, пока идёт запуск. Она завершает запуск, закрывает запрос, находящийся в пути, и убирает любой вопрос с экрана.
Если запуск завершился с ошибкой и доступна встроенная модель Mac, кнопка в заголовке журнала объясняет сбой по журналу.
Прежние запуски
Окно хранит последние 20 запусков открытого сценария, включая запуски, начатые расписанием или вебхуком. Они перечислены в Запуски на боковой панели (с тем, чем закончился каждый, когда начался и сколько длился) и в меню Запуски на панели инструментов. Нажмите на один из них, чтобы снова показать его на холсте: состояния блоков и Последний запуск каждого блока. Очистить холст в меню Запуски убирает их с холста.
Записи о запусках остаются в окне. Запросы, которые отправляет сценарий, попадают в историю рабочего пространства, как любая другая отправка.
Триггеры
Выберите блок Старт, чтобы увидеть Триггеры сценария в инспекторе. Кнопка «Запустить» и echolot flow run
включена всегда. Отметьте остальные, чтобы добавить их:
- Агенты (MCP-инструмент)
- Расписание
- Вебхук
На блоке «Старт» отображается небольшой значок для каждого включённого триггера, а боковая панель показывает их под именем сценария.

Разрешение триггера
Агенты, расписания и вебхуки запускают сценарии, когда вас нет у холста, поэтому каждому из них нужно ещё и ваше разрешение для этого сценария. Под каждым отмеченным триггером нажмите Разрешить. Тогда триггер показывает Разрешено и кнопку Отозвать.
Разрешение выдаётся на сценарий в его нынешнем виде: сам сценарий, запросы, которые он отправляет, вместе с папками над ними, переменные, авторизация, прокси и сертификаты рабочего пространства и сценарии, которые он запускает. Измените что-либо из этого, на холсте, в Git или с помощью агента, и триггер перестаёт работать, пока вы не разрешите его снова. Тогда он пишет «Сценарий изменился с тех пор, как вы его разрешили.» и предлагает Разрешить снова. Сценарий не может разрешить сам себя: разрешение хранится в Echolot на вашем Mac, а не в рабочем пространстве. Сценарий с ошибками никогда не запускается от триггера.
Изменения значений окружения (например, свежий токен) разрешение не отзывают.
Агенты: сценарий как MCP-инструмент
Предложите сценарий ИИ-агентам, и он станет одним инструментом MCP-сервера Echolot: агент вызывает один инструмент, сценарий выполняет запросы, а секреты остаются в Echolot.
- Выберите блок «Старт» и отметьте Агенты (MCP-инструмент).
- Имя инструмента — это
flow_и имя файла сценария с подчёркиваниями (flow_place_test_order), пока вы не введёте другое: до 64 букв, цифр,_и-. - Напишите Что делает инструмент — для модели. Сначала там стоит описание сценария.
- Нажмите Разрешить.
- Включите Настройки › Агенты и подключите своего клиента. См. ИИ-агенты.
Аргументы инструмента — это входы сценария, а его результат — то, что получил блок «Результат». Place a test order
предложен как place_test_order. Сценарий появляется в списке инструментов, пока включён набор инструментов
Сценарии (по умолчанию он включён). Агенты могут запускать только сценарии, которые предложены и разрешены.
Когда агент запускает сценарий, Echolot один раз спрашивает вас перед запуском и показывает, что сценарий сделает: какие запросы отправит на какие адреса, какие переменные и секреты сохранит, какие файлы запишет, какие инструменты и сценарии запустит и где спросит человека. Внутри запуска то, что вы одобрили, выполняется без повторных вопросов; защищённые окружения, новые хосты и удаления всё равно спрашивают, как и всё, что отклоняют собственные правила агента.
Блоки группы «Люди» в сценарии, который запустил агент, обращаются к клиенту агента: он показывает сообщение, код и ссылку или запрашивает значения. Блок «Одобрить» всегда за вами: когда агент отвечает на него, Echolot сначала спрашивает вас.
Ассистент запускает сценарии так же.
Расписание
Запускайте сценарий сам, каждые столько-то минут или по календарю.
- Выберите блок «Старт» и отметьте Расписание. Начальное значение — каждые 60 минут.
- Выберите Интервал и заполните Каждые … мин либо выберите Задать время (cron) и введите строку cron (минута, час, день, месяц, день недели). Расписание бывает либо одно, либо другое и запускается не чаще раза в минуту.
- Нажмите Разрешить.
После разрешения инспектор показывает Следующий запуск с датой и временем. Запуски по расписанию происходят, пока
открыто окно рабочего пространства, с активным окружением окна на момент запуска и начинаются со значений входов по
умолчанию. Запуск, пропущенный, пока Mac спал или окно было закрыто, выполняется один раз, когда Echolot в следующий раз
посмотрит; сценарий, который ещё выполняется, повторно не запускается. Неудавшийся запуск по расписанию показывает
уведомление. Чтобы выполнять расписания без приложения, используйте echolot flow serve.
Строки cron состоят из пяти полей в часовом поясе вашего Mac: минута (0–59), час (0–23), день месяца (1–31), месяц (1–12
или jan–dec) и день недели (0–7 или sun–sat; 0 и 7 — воскресенье). В каждом поле допустимы *, числа, диапазоны
(1-5), списки (1,15) и шаги (*/15, 8-18/2). Если ограничены и день, и день недели, достаточно совпадения любого
из них.
| Строка cron | Когда запускается |
|---|---|
0 6 * * * | Каждый день в 6:00 (Morning stock check). |
0 7 * * 1-5 | По будням в 7:00. |
*/15 8-18 * * * | Каждые 15 минут с 8:00 до 18:45. |
0 9 1 * * | Первого числа каждого месяца в 9:00. |
Блоки группы «Люди» не могут никого спросить во время запуска по расписанию, поэтому там они завершаются ошибкой.
Вебхук
Запускайте сценарий, когда что-то отправляет запрос на локальный адрес.
- Выберите блок «Старт» и отметьте Вебхук.
- Выберите метод (
GET,POST,PUT,PATCHилиDELETE; по умолчаниюPOST) и путь, начинающийся с/. Сначала путь — это/и имя файла сценария. - Нажмите Разрешить.
После разрешения инспектор показывает адрес, например POST http://127.0.0.1:52817/order-status, с кнопками
Скопировать URL и Скопировать токен. Echolot слушает только на этом Mac (127.0.0.1), пока окно открыто. Порт
выбирается один раз для рабочего пространства и сохраняется.
Вызывающие должны отправлять токен рабочего пространства, который Echolot создаёт при первом включении и хранит в связке ключей. Подойдёт любой из вариантов:
- заголовок
Authorization: Bearer <token>; - заголовок
X-Echolot-Token: <token>; - параметр запроса
?token=<token>.
curl -X POST http://127.0.0.1:52817/order-status \
-H "Authorization: Bearer <token>"Order status on webhook входит в систему, получает заказ и отвечает им. Запрос и ключи JSON-тела заполняют входы
сценария с теми же именами; другие ключи отбрасываются. Вход с именем body получает всё тело. Так сценарий со входом
order принимает ?order=ord_7Hk2Lw или {"order": "ord_7Hk2Lw"}. Запуск использует активное окружение окна.
| Ответ | Когда |
|---|---|
200 с результатом в JSON | Запуск пройден. Тело — то, что получил блок «Результат», или null. |
401 | Токен отсутствует или неверен. |
404 | Ни один разрешённый сценарий не отвечает на этот метод и путь; в ошибке перечислены те, что отвечают. |
413 | Тело больше 8 МБ. Сценарий не запускается. |
500 | Запуск завершился ошибкой. В теле есть error и ID запуска. |
503 | Запуск был остановлен. |
Запуск по вебхуку останавливается через две минуты. Блоки группы «Люди» не могут там никого спросить, поэтому завершаются ошибкой.
Фоновые запуски
Запуски, которые начинают расписания и вебхуки в приложении, появляются в Запуски сценария, пока он открыт, а неудавшийся показывает уведомление macOS с именем сценария и ошибкой. Они выполняются с вашими полномочиями, как запуск, который вы начинаете сами, но только для сценариев, которые вы разрешили.
Запуск из командной строки
Команда echolot запускает те же сценарии без приложения. В CI именно так сценарий становится условием выпуска.
# List the flows, their inputs and problems
echolot flow list -w Alpenglow.echolot
# Run one; exits with an error when the run or one of its tests fails
echolot flow run morning-stock-check -w Alpenglow.echolot --env staging --no-input
# Pass inputs as name=value (a flow made from the Paginate and export template)
echolot flow run export-products -w Alpenglow.echolot --input pages=5
# Run schedules and answer webhooks until Ctrl-C
echolot flow serve -w Alpenglow.echolot --port 4100flow runпечатает каждый блок по мере завершения, затем результат.--jsonвместо этого печатает запись о запуске. Блоки группы «Люди» спрашивают в терминале; с--no-inputони завершают запуск ошибкой, что и нужно CI. Блоки «Уведомить» печатают свой текст.flow serveзапускает сценарии по расписанию, когда подходит время, и отвечает на вебхуки на порту 4100 (--port 0выбирает свободный).--shareслушает на всех сетевых интерфейсах, для контейнеров. Токен берётся из--token, иначе изECHOLOT_WEBHOOK_TOKEN, иначе создаётся новый и печатается.- В командной строке вы запускаете сами, так что сценариям не нужно Разрешить:
flow serveвыполняет каждый сценарий с расписанием или вебхуком и без ошибок.
Все параметры описаны в echolot flow.
Только в версии для прямой загрузки
Инструмент командной строки входит в загрузку с сайта (Echolot › Установить инструмент командной строки…). В редакции для App Store установите его отдельно из архива на странице релизов.
Сравнить версииБлоки
Все виды блоков, которые может содержать сценарий, с их настройками и портами, а также как работают значения, шаблоны и условия между блоками.
Шаблоны
Начните сценарий с готового шаблона (вход по коду устройства, обновление токена, постраничный экспорт, мониторинг доступности, создание и очистка) в приложении или командой echolot flow new.
