Skip to content

Рабочие процессы (Workflows)

Раздел Workflows (/workflows) — создание и запуск цепочек агентов.

Создание сценария

  1. Откройте Workflows.
  2. Выберите шаблон (Templates: data analysis, documents, monitoring, support) или нажмите New workflow.
  3. В конструкторе добавьте шаги:
  4. выберите агента;
  5. задайте input (JSON);
  6. при необходимости включите Require approval (пауза HITL на шаге).
  7. Используйте подстановки:
  8. {{today}} — текущая дата;
  9. {{step1.output}}, {{step2.output}} — выход предыдущих шагов;
  10. {{input.field}} — поля входных данных запуска.
  11. При необходимости укажите schedule (cron), например 0 9 * * * — ежедневно в 09:00.
  12. Нажмите Save, затем Run / Execute.

Редактирование: /workflows/:id.

Статусы выполнения

Статус Значение Действие оператора
running Идёт выполнение Наблюдать / при необходимости Cancel
completed Успех Готово
failed Ошибка Смотреть лог/причину → Retry или исправить шаги
awaiting_approval Ждёт HITL Перейти в HITLApprove / Reject

Отмена и повтор

  • Cancel — остановить текущий run.
  • Retry — повторить после сбоя (если доступно для run).
  • История: блок Recent runs / API GET /api/v1/workflows/{id}/runs.

Триггеры

Тип Как работает
Ручной запуск Кнопка Execute в UI или POST .../execute
Cron Поле schedule в определении workflow
Webhook POST /api/v1/workflows/{id}/webhook (с проверками SSRF/секрета)

Безопасность и бюджеты

  • Политики применяются fail-closed: при недоступности OPA/критичном отказе сценарий не «проскакивает» без проверки.
  • Мягкий/жёсткий бюджет в Cost может остановить следующие шаги.
  • Шаг с Require approval переводит run в awaiting_approval до решения в HITL.

Пример через API

curl -X POST http://localhost:8001/api/v1/workflows \
  -H "Authorization: Bearer $JWT" \
  -H "X-API-Key: $TENANT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Daily Sales Report",
    "steps": [
      {"agent": "sales-fetcher", "input": {"date": "{{today}}"}},
      {"agent": "report-generator", "input": {"data": "{{step1.output}}"}},
      {"agent": "email-sender", "input": {"report": "{{step2.output}}", "to": "ceo@company.com"}}
    ],
    "schedule": "0 9 * * *"
  }'

Подробнее (EN): Workflows.