Открытый протокол против зоопарка несовместимых AI-инструментов
Российский разработчик выпустил открытый проект SnarkRoute - конструктор нодовых редакторов с переносимым форматом воркфлоу. Идея простая и давно назревшая: прекратить бесконечное изобретение одной и той же коробочки с входами и выходами, которую каждая команда варит в собственном несовместимом формате.
Острова без мостов
ComfyUI, n8n, внутренние пайплайны студий, самодельные обвязки вокруг Replicate и Fal - всё это решает ровно одну задачу. Но решает её в изоляции. Воркфлоу, собранный в одном инструменте, в другой не переезжает. Его трудно воспроизвести, ещё труднее передать коллеге. Пользователь оказывается намертво привязан к интерфейсу, а не к логике процесса. Автор проекта называет это «зоопарком островов» - и лезет его разбирать. Примерно так же, как в других областях цифрового производства иногда появляется один открытый стандарт, который постепенно вытесняет дюжину проприетарных форматов. Норвегия - Сенегал 2 тур
Рабочая часть проекта уже доступна публично под названием BoojumRoute Lab - локальный блочный редактор маршрутов. Под ним лежит Open Route Protocol: переносимый формат для описания AI-, model- и API-воркфлоу. Канонический файл получил расширение .orp, есть и человекочитаемый алиас .route.
Маршрут как документ, нода как кирпич
Центральная сущность здесь - не модель и не редактор, а маршрут. Читаемый документ воркфлоу: ноды, связи, параметры, провенанс, экономика запуска, ссылки на ассеты. Провайдерских секретов внутри нет. Такой файл можно переслать, ремикснуть и запустить - он не рассыплется при переезде между инструментами.
Отдельные ноды упакованы в формат .snarknode. Их можно перетащить в редактор, сложить в библиотеку, собрать из нескольких составной блок или наоборот свернуть цепочку обратно в одну ноду. Переносимость работает на двух уровнях сразу.
- DAG-движок с топологической сортировкой и ловлей циклов
- Provider-neutral Model Gateway: Replicate, Gemini, OpenRouter подключаются как адаптеры
- AssetRef вместо прямой загрузки файлов - хост сам решает, что резолвить
- Локальный ledger запусков с провенансом и предварительной оценкой стоимости
- Hash-пиннинг ассетов для воспроизводимых маршрутов
Безопасность заложена в архитектуру
Вопрос, который первым приходит в голову при словах «переносимые ноды, которые можно слать друг другу» - это же готовый вектор для атак. Автор отвечает на него архитектурно. Никакого исполнения чужого произвольного JavaScript: ноды сообщества - декларативные манифесты с явными разрешениями. Секреты живут только на хосте и не уезжают ни с маршрутом, ни с бандлом. Это не мелочь. Именно отсутствие таких гарантий превратило часть экосистемы npm в минное поле.
Проект написан на TypeScript, монорепо на pnpm, Vite + React + React Flow на фронте, Fastify на локальном сервере, тесты на Vitest. Лицензия AGPL. Поля для авторства, долей выручки и провенанса зашиты в формат с первого дня - пусть пока нулевыми и выключенными, но совместимость не придётся ломать задним числом. Именно так и должен выглядеть фундамент, если строить всерьёз.