Я здесь уже рассказывал про Falang (friendly algorithmic language) - универсальное решение для построения блок схем. Тогда у меня было несколько MVP под разные направления, сейчас же я выхожу в свет с реальным продуктом.

Встречайте: FalangFlow - конструктор бизнес процессов. Код открыт под лицензией APGL-3, вы можете его самостоятельно установить локально или на своем хосте.

Что такое конструктор бизнес процессов, я думаю, никому объяснять не надо. Сейчас рынок подобных приложений достаточно объемный, представлено множество решений. Поэтому сосредоточусь на главных особенностях.

Ключевые особенности FalangFlow

Строгая схема отображения нод

В редакторах вроде n8n пользователь может расположить ноду где угодно на холсте. В итоге схемы, где более 20 нод, становится сложно читать. В FalangFlow вы управляете только алгоритмом, позиционирование нод происходит по заранее определенным строгим правилам. Сложные алгоритмы остаются читаемыми. Falang позволяет реализовывать циклы точно также как вы бы делали это в реальном коде. Можно делать любые уровни вложенности. На любом уровне можно делать break, continue на верхние уровни. При этом линии потока будут в точности указывать туда, куда идет алгоритм, не допуская разночтений. Даже сложные схемы Falang рисует так, как надо.

Пример схемы с циклами
Пример схемы с циклами

TypeScript вместо кастомного редактора формул

Поля блоков - настоящие выражения TypeScript в редакторе Monaco (такой же используется в VSCode). Редактор знает, какие переменные видны в этой точке схемы. Отсюда автодополнение по полям и проверка типов прямо в блоке. Технически это устроено так: у редактора Monaco есть функционал скрытия строк документа, все объявления типов остаются в скрытых строках, клиент видит только строку, где нужно ввести конкретное значение.

Пример автодополнения
Пример автодополнения

Вся информация на схеме.

Зачастую в редакторах бизнес процессов мы видим только иконку интеграции и краткое описание действия. Чтобы увидеть, какие параметры передаются в запросе, нужно открывать форму редактирования иконки. Falang следует принципу “Всё должно быть на схеме”. При просмотре схемы вы видите всю информацию, необходимую для понимания того, что происходит в даннному узле. Схему можно экпортировать в PDF, распечатать, и в распечатанном виде вы увидите всю необходимую информацию о процессе.

Интеграции

Встроенных интеграций больше двадцати: Telegram, OpenAI-совместимые ИИ провайдеры, HTTP-запросы и входящий вебхуки, расписание, PostgreSQL, MySQL, файлы, обработка медиа через ffmpeg, задачи для людей (Human in the milddle) и российские сервисы — 1С, Битрикс24, amoCRM, ЮKassa, Диадок, МойСклад, Ozon, Wildberries.

Для того, чтобы не писать огромное количество интеграций, я применил маленькую хитрость: сделал адаптер к реестру интеграций открытого движка ActivePieces. На данный момент таким образом интегрировано еще 62 сервиса (Slack, Google Sheets, Notion, GitHub, Stripe и другие).

Пока не все интеграции должным образом протестированы, но это дело времени.

Выбор ветки выполнения с помощью ИИ

Нода AI-choice, наследуемая от switch, позволяет задать вопрос ИИ модели, и направить выполнение алгоритма на нужную ветку в зависимости от ответа ИИ. Также для каждой ветки можно задать тип данных, которые она будет добавлять в контекст. Решается это через structured output. Модель возвращает интерфейс типа { action: string, data: T }, и выполнение идет по нужному пути.

Пример использования ноды call-ai-choice
Пример использования ноды call-ai-choice

Редактирование схемы с помощью ИИ.

В Falang на уровне ядра есть обвязка для ИИ-агента, изменяющего схемы. Это позволяет создавать и редактировать схемы обычным текстовым промптом, также как мы это делаем, например, с кодом. Можно прямо в пустом проекте написать запрос, и агент сам создаст нужную вам автоматизацию.

Dev/prod

На dev стенде можно собирать проект и поднять dev-версию с тестовыми учётными данными. После публикации на проде все новые процессы начинают запускаться на последней актуальной версии алгоритма. Процесс, стартовавший на старой версии, идет по старой версии.

Бэкенд на Temporal

В качестве бекенда используется Temporal (открытая платформа для обеспечения надежного (durable) выполнения кода, которая оркестрирует распределенные рабочие процессы и защищает приложения от сбоев). Компилятор обходит схемы и генерирует два TypeScript-модуля:

  • workflows.ts — сам процесс: ветвления, циклы, вызовы функций, ожидания. Это детерминированный код, который Temporal умеет воспроизводить по истории событий;

  • activities.ts — всё, что трогает внешний мир: вызовы Telegram, HTTP, LLM, баз данных. Каждое такое действие становится активностью Temporal со своими таймаутами и политикой повторов.

Затем проект целиком проверяется компилятором TypeScript и собирается бандлером Temporal. В любой момент можно посмотреть генерируемый код, и перейти от строки из кода к конкретному блоку, откуда этот код пришел.

Работа с файлами

в FalangFlow есть поддержка работы с медиафайлами. Можно создавать картинки, видео, звук через ИИ, а также редактировать их через ffmpeg (для ffmpeg создана отдельная нода). Содержимое медиафайлов никогда не хранится внутри раннера, вместо этого предусмотрен интерфейс File: { id, name, size, mime }. Хранение файлов происходит в ObjectStorage. При отправке файла например на обработку в ИИ, вы передаете этот интерфейс, а уже внутри происходит загрузка файла из хранилища и отправка в модель. Аналогично, когда вы генерируете файл с помощью ИИ, вы получаете не содержимое файла, а объект со ссылкой на файл в объектном хранилище.

Пример: создание ИИ бота в телеграм, который играет в игру “Угадай известную личность”

В данном примере используются две интеграции: Telegram бот, и OpenAI-совместимый провайдер. После создания интеграций, и заполнения необходимых токенов, в схеме становится доступно создание соответствующих нод. Общение с пользователем происходит через кнопки, которые на схеме преобразуются в switch-ноду.

Отображение вопроса в Telegram на схеме и в боте
Отображение вопроса в Telegram на схеме и в боте

Подобным образом идут запросы в ИИ. Модели передается история вопросов и ответов пользователя, потом модель либо задает следущий вопрос, либо предполагает личность.

Полный процесс создания бота можно посмотреть на видео:

Облачная версия

Я запустил облачную версию в режиме закрытой беты. Активация пользователей происходит вручную по заявке. Планирую ограничиться 30 пользователями. На этом этапе приложением можно пользоваться бесплатно. Заявку на участие в бета тесте можно оставить тут: https://workflow.falang.ru

Есть ли будущее у визуальных конструкторов?

В новом мире агентной разработки специалист всё меньшей квалификации может создавать всё более сложные продукты. Уже можно создавать достаточно сложные проекты, практически не заглядывая в код. Это неизбежное будущее, но я убежден, что критический путь программы должен быть доступен для просмотра и понимания человеком. И одним из лучших вариантов для понимания алгоритмов неспециалистом является блок-схема.

Спасибо за внимание.

Комментарии (1)


  1. beskov
    08.10.2026 17:14

    В целом классно, но непонятно, при чем тут бизнес-процессы. Тут скорее межсистемные потоки