Разработчик форкнул Flowise после закрытия и выяснил, что код форкать нельзя
Flowise закрыли 29 июля 2026 года, но код под Apache 2.0 оказался не полностью открытым. Разработчик форкнул проект под именем Keelflow и выяснил, что 130 файлов корпоративной части под коммерческой лицензией нельзя распространять.
- Flowise закрыли 29 июля 2026 года, репозиторий заархивировали 13 августа, поддержка закончилась 31 августа.
- В папке enterprise 130 файлов и 13,4 тысячи строк на TypeScript — это пятая часть сервера, включая авторизацию и работу с пользователями.
- Разработчик переписал историю через git filter-repo, удалив коммерческий код, и создал форк Keelflow на ~800 строк с сессиями и API-ключами.

Визуальный конструктор для LLM-приложений Flowise закрылся 29 июля 2026 года. В объявлении команда объяснила решение тем, что разработчики всё чаще доверяют сложные задачи агентам для программирования, а жёсткие low-code-процессы упираются в потолок. Репозиторий заархивировали 13 августа, поддержка закончилась 31 августа.
У проекта 55 тысяч звёзд на GitHub, 25 тысяч форков и почти 7 миллионов скачиваний Docker-образа. Его разворачивали у себя компании, которым нельзя отправлять данные в облачные конструкторы. В объявлении о закрытии авторы прямо написали: код под Apache 2.0 ваш, форкайте.
Ловушка в лицензии
Разработчик решил продолжить проект под именем Keelflow и первым делом открыл лицензию. Она начинается не с текста Apache, а с преамбулы: содержимое папки packages/server/src/enterprise и файлы с явным уведомлением об авторских правах, например IdentityManager.ts, лицензированы по коммерческой лицензии FlowiseAI.
По этой лицензии использовать код в продакшене можно только с подпиской, модифицировать разрешено, но все права на изменения принадлежат FlowiseAI, а копировать, публиковать и распространять запрещено. Разрешено лишь копировать и менять код для разработки и тестирования.
Проблема в том, что именно лежит в enterprise. Разработчик посчитал: 130 файлов, 13,4 тысячи строк на TypeScript — пятая часть сервера. И 64 файла открытой части импортируют эту папку. Вход в систему, JWT в cookie, сущности пользователя, организации и рабочего пространства, проверка прав на каждом маршруте, 48 миграций базы — всё это коммерческий код.
Бесплатная версия Flowise 3.x без него даже не запускается. Получается, что распространять форк Flowise 3.x с этой папкой, в том числе в виде Docker-образа, лицензия не разрешает. Форк без неё не соберётся.
Как обошли ограничение
Вариантов было два: откатиться на Flowise 2.x, где авторизации ещё не было, и потерять два года изменений, или вырезать коммерческий код и написать замену. Разработчик выбрал второе. Удалить папку новым коммитом недостаточно: файлы остаются в истории, и любой, кто клонирует репозиторий, получает их вместе с ним.
Поэтому он переписал историю с помощью git filter-repo. Из 3634 коммитов остались 3614: двадцать меняли только коммерческие файлы и стали пустыми. Авторство и история остальных сохранились.
Свой модуль авторизации packages/server/src/identity получился на ~800 строк. Регистрация работает, только пока в базе нет ни одного пользователя. Пароли хранятся в bcrypt, поэтому владелец переносится со своим паролем. Сессии — на сервере, а не JWT: в cookie лежит случайный 32-байтовый токен, в базе — только его SHA-256. Сессия живёт 7 дней без активности и 30 дней максимум.
Ограничение попыток входа: 10 неудачных за 15 минут с одного IP и столько же на один e-mail. API-ключи остались совместимыми: права хранятся в той же колонке apikey.permissions. Ключи, созданные во Flowise, работают с прежними ограничениями.
Две из шести свежих уязвимостей Flowise были в SSO: захват учётной записи через совпадение e-mail у разных провайдеров и обход токена приглашения. В Keelflow их просто нет.
Для профиТехнические детали: архитектура, цифры, ссылки
Исходный код Keelflow доступен на GitHub. Автор удалил из истории коммерческие файлы через git filter-repo:
git filter-repo --invert-paths \
--path packages/server/src/enterprise \
--path packages/server/src/IdentityManager.ts \
--path packages/server/test/enterpriseМодуль авторизации — ~800 строк TypeScript. Сессии хранятся на сервере, в cookie — случайный 32-байтовый токен, в базе — SHA-256. Сброс пароля выполняется командой keelflow user <email> <пароль> на сервере. Имена полей isOrganizationAdmin и activeWorkspaceId сохранены для совместимости с открытым кодом и веб-интерфейсом.
Вопросы и ответы
- Почему Flowise закрыли?
- Команда объяснила, что разработчики всё чаще доверяют сложные задачи агентам для программирования, а жёсткие low-code-процессы упираются в потолок.
- Можно ли использовать форк Flowise?
- Распространять форк Flowise 3.x с папкой enterprise нельзя — она под коммерческой лицензией. Форк без неё не соберётся. Keelflow вырезал этот код и написал замену.

