Потоки¶
Экспериментальная функция
Данная функция находится в активной стадии публичного тестирования. Она может работать нестабильно и измениться в любой момент. Мы ждём ваших отзывов о работе этой функции, они могут значительно повлять на её развитие.
Потоки — визуальный конструктор автоматизаций внутри Koda Desktop. Вы собираете сценарий из блоков на холсте: агент, HTTP-запрос, файл, условие, цикл, ожидание или вызов другого потока. Один и тот же поток можно запускать вручную, по расписанию, по вебхуку или из другого потока.

Холст потока с блоками и связями
Включение¶
- Откройте Настройки → Общие.
- Включите переключатель Потоки.
- Закройте настройки: в боковой панели появится переключатель Чат | Потоки.
Пока переключатель выключен, режим потоков недоступен, а открытые потоки не запускаются. Сам переключатель находится во вкладке Общие окна настроек.
Боковая панель¶
В режиме потоков боковая панель показывает:
- Новый поток — пустой холст;
- Шаблоны — готовые сценарии, например классификация обращений;
- Импорт — загрузка потока из файла;
- Все запуски — история запусков с фильтрами по статусу и режиму;
- Ждут решения — ожидания и согласования, которым нужен человек;
- Подключения — учётные данные для HTTP-запросов и вебхуков;
- поиск и фильтр избранных потоков;
- список потоков по папкам.
У активного потока видна пометка активен, а точка рядом с названием показывает результат последнего запуска.
Редактор¶
В верхней части редактора находятся:
- название потока и состояние сохранения;
- вкладки Редактор, Запуски и Сравнение;
- кнопки Проверить, Остановить и Запустить;
- выбор проекта, в котором работают файловые блоки и агент;
- версия потока: Активен · vN или Неактивен;
- правила одновременных запусков и поток обработки ошибок.
Кнопки в правой части позволяют продублировать поток, экспортировать его без истории и тестовых данных или удалить.

Верхняя часть редактора: название, вкладки, проверка и запуск
Холст и блоки¶
Кнопка Добавить блок открывает каталог. Блок можно перетащить на холст или добавить из каталога и соединить с другим блоком.

Каталог блоков
На холсте доступны отмена и повтор, копирование, вставка и дублирование выделенных блоков. Связь, которая создаёт цикл, не добавляется: повторение оформляется блоками циклов.
Настройки блока¶
Выберите блок, чтобы открыть его настройки справа.

Настройки выбранного блока
Здесь задаются параметры, имя блока, способ обработки записей, повторные попытки и действие при ошибке. Для отладки можно отключить блок, поставить точку останова или закрепить выход блока, чтобы следующие запуски использовали сохранённые данные.
Запуск¶
Кнопка Запустить открывает диалог входных данных. Введите JSON с тестовыми данными и нажмите Запустить или ⌘Enter.

Диалог запуска потока с тестовыми данными
Тестовый запуск выполняет черновик, рабочий — активную версию. Журнал показывает шаги, время, входы и выходы блоков. Сравнение двух запусков помогает понять, чем отличаются результаты. Если запуск упал, его можно повторить с ошибочного шага: успешные блоки возьмут данные из прошлого запуска.
Одновременно выполняются не больше двух блоков на запуск и четырёх на приложение. Один поток по умолчанию запускает один сценарий за раз, остальные ждут очереди.
Публикация¶
Пока поток не активен, его можно запускать только вручную для проверки. Кнопка активации фиксирует текущую версию: расписания и вебхуки запускают именно её.
Проверка перед публикацией находит незакрытые связи, ошибки в параметрах и циклы. Если проверка не прошла, поток нельзя активировать.
Триггеры¶
- Ручной запуск — кнопка с формой входных данных.
- Расписание — интервал, ежедневный или недельный запуск. Пропущенный запуск не повторяется, если у блока не включено догоняющее выполнение.
- Webhook — входящий HTTP-запрос на локальный адрес. Можно проверить подпись или токен, ограничить размер тела и выбрать, когда отвечать: сразу или после блока ответа.
- Вызов из потока — поток запускается другим потоком и получает типизированные поля.
- Ошибка — отдельный поток-обработчик для неудачных запусков.
Локальный сервер вебхуков слушает только 127.0.0.1.
Внешний адрес задаётся в настройках вебхуков, если нужен доступ извне.
Ожидания и согласования¶
Блок Ожидание умеет ждать время, наступление момента или сигнал на локальный адрес. Блок Согласование останавливает поток, пока человек не одобрит или не отклонит шаг; при необходимости можно запросить поля формы.
Такие запуски видны на странице Ждут решения. Ожидание не занимает слот выполнения и переживает перезапуск приложения, если находится на верхнем уровне потока.
Подключения¶
Для HTTP-запросов и вебхуков можно завести подключение: логин и пароль, API-ключ, bearer-токен или OAuth2. Секреты хранятся зашифрованными; если система не даёт защищённого хранилища, подключение живёт только до выхода из приложения.
При экспорте потока ссылки на подключения очищаются: переносить секреты в файл не нужно.
Ограничения¶
- Потоки выполняются, пока открыто приложение.
- Агентские блоки работают без человека: шаги, которым нужно подтверждение, выполняются только в режиме без подтверждений, иначе блок завершается ошибкой.
- Файловые блоки работают внутри папки проекта и не выходят за её пределы.
- История хранит последние 100 завершённых запусков каждого потока.
Описание всех блоков и выражений — на странице каталога блоков.