Я здесь уже рассказывал про Falang (friendly algorithmic language) - универсальное решение для построения блок схем. Тогда у меня было несколько MVP под разные направления, сейчас же я выхожу в свет с реальным продуктом.
Встречайте: FalangFlow - конструктор автоматизаций: интеграции между сервисами, боты, обработка данных и ИИ-сценарии в виде блок-схем. Код открыт под лицензией APGL-3, вы можете его самостоятельно установить локально или на своем хосте.
Что такое конструктор автоматизаций, я думаю, объяснять не надо: n8n, Make, Zapier и их аналоги знакомы всем. Рынок достаточно объемный, представлено множество решений. Поэтому сосредоточусь на главных особенностях.
Ключевые особенности 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 }, и выполнение идет по нужному пути.

Редактирование схемы с помощью ИИ.
В 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-ноду.

Подобным образом идут запросы в ИИ. Модели передается история вопросов и ответов пользователя, потом модель либо задает следущий вопрос, либо предполагает личность.
Полный процесс создания бота можно посмотреть на видео:
Облачная версия
Я запустил облачную версию в режиме закрытой беты. Активация пользователей происходит вручную по заявке. Планирую ограничиться 30 пользователями. На этом этапе приложением можно пользоваться бесплатно. Заявку на участие в бета тесте можно оставить тут: https://workflow.falang.ru
Есть ли будущее у визуальных конструкторов?
В новом мире агентной разработки специалист всё меньшей квалификации может создавать всё более сложные продукты. Уже можно создавать достаточно сложные проекты, практически не заглядывая в код. Это неизбежное будущее, но я убежден, что критический путь программы должен быть доступен для просмотра и понимания человеком. И одним из лучших вариантов для понимания алгоритмов неспециалистом является блок-схема.
Спасибо за внимание.
Комментарии (8)

itGuevara
08.10.2026 17:14Видео у меня не открываются, видимо лучше также прямые ссылки дать. Не понятно почему Дракон, а не BPMN.
Как выглядело бы на Фаланге Hello Calculator? Хотя бы краткое описание каждого шага.

serginho Автор
08.10.2026 17:14Да, изменил формулировки в статье. По поводу SmartDesign - у меня уже есть нода "Задача человеку". Сейчас задачи выставляются только на автора проекта, в будущем можно будет назначить конкретному сотруднику.
По поводу видео - там YouTube, посмотреть можно только известным способом. Есть канал на ВКВидео, но Хабр не дает видео вставлять оттуда. https://vkvideo.ru/@club241997191

meljohin
08.10.2026 17:14А в чем принципиальное отличие от n8n? Он для человека понятнее чем блок схемы и TypeScript. Узлы в n8n скорее всего могут клодом или иным ИИ генерироваться, да и он "пояснить" может. Свои велосипеды - это конечно весело, но сейчас проще все навайбкодить с нуля или взять готовое всем известное решение, чем использовать неизвестно как навайбкоженное, чтобы в нем вайбкодить хитрые приблуды (схемы/узлы).

serginho Автор
08.10.2026 17:14Чем отличается от n8n. Главное отличие не в картинке, а в модели. n8n это dataflow: ноды передают друг другу items, а поток управления размазан по связям на холсте. Циклы, вложенные условия, выход из цикла по условию там делаются через Loop Over Items / SplitInBatches / IF с обратными стрелками, и уже на 20–30 нодах схему приходится «читать глазами». Falang это control flow: обычное структурное программирование (ветвления, циклы любой вложенности, break/continue на нужный уровень), а раскладка нод строгая, как у дракон-схем, холст двигать нельзя. Схема любого размера читается сверху вниз, и линия всегда идёт ровно туда, куда идёт алгоритм.
Второе: выражения в полях это настоящий TypeScript с проверкой типов и автодополнением по тому, что видно в этой точке схемы. В n8n {{ $json.foo }} проверяется только в рантайме.
«n8n понятнее блок-схем». Для линейного «триггер - три действия» согласен, n8n проще. Falang нужен там, где в n8n уже появляется Code-нода или третий обратный переход. Если процесс укладывается в прямую цепочку, можно брать n8n.
Про ИИ. Да, ноды n8n тоже можно генерировать через ИИ. Разница в том, что дерево схемы в Falang строго типизировано и валидируется, а результат работы агента прогоняется через компилятор и tsc, то есть агент либо выдаёт работающую схему, либо получает конкретную ошибку с указанием ноды. Плюс агент встроен прямо в редактор.
Про «неизвестно как навайбкоженное». Сейчас у подавляющего большинства OpenSource проектов, вы увидите в корне AGENTS.MD, или CLAUDE.MD. То есть агентов в разработке применяют все. Поэтому нужно смотреть не по наличию сгенерированного кода, а по результату. В моем проекте многое покрыто тестами, e2e-тесты гоняют реальный стек (Temporal, Kubernetes-раннеры, мок-вендоры). Если есть критика по существу я всегда готов принять, для этого и вышел с бетой.
И последнее, про «проще навайбкодить». Можно, но тогда результат читает только разработчик. Весь смысл конструктора в том, чтобы процесс был виден и правился тем, кто им владеет по бизнесу.

ogregor
08.10.2026 17:14Странно почему вы не упомянули о том что концепцию строго организованных блок схем взяли у языка "Дракон" судя по всему вы он нем прекрасно знали

serginho Автор
08.10.2026 17:14На сайте на главной есть сообщение, что проект вышел из дракона. В прошлых статьях я тоже о нем упоминал.
beskov
В целом классно, но непонятно, при чем тут бизнес-процессы. Тут скорее межсистемные потоки
serginho Автор
Согласен, термин взят не очень точно. Переформулирую