A Look at Upcoming Innovations in Electric and Autonomous Vehicles Нодовые редакторы плодятся как грибы. Один разработчик решил остановить хаос

Нодовые редакторы плодятся как грибы. Один разработчик решил остановить хаос

Нодовые редакторы плодятся как грибы. Один разработчик решил остановить хаос

Открытый протокол против зоопарка несовместимых 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. Поля для авторства, долей выручки и провенанса зашиты в формат с первого дня - пусть пока нулевыми и выключенными, но совместимость не придётся ломать задним числом. Именно так и должен выглядеть фундамент, если строить всерьёз.