Нодовый редактор из кирпичей. SnarkRoute бросает вызов островной логике
21 июня, 2026

Нодовый редактор из кирпичей. SnarkRoute бросает вызов островной логике

Нодовый редактор из кирпичей. SnarkRoute бросает вызов островной логике

Российский разработчик запустил открытый проект SnarkRoute - конструктор нодовых редакторов с переносимым форматом воркфлоу, который должен сломать один из самых стойких паттернов AI-инструментария: каждый пишет свой редактор, и ни один с другим не разговаривает.

Остров за островом: как AI-инструменты замуровали себя в несовместимость

ComfyUI, n8n, внутренние пайплайны студий, самодельные обвязки вокруг Replicate и Fal - все они в какой-то момент обзаводятся нодовым редактором. Задача у всех одна: соединить модели, API и данные в граф. Результат - у каждого свой несовместимый формат, свой закрытый остров. Воркфлоу, собранный в одном инструменте, в другой не переедет. Его трудно воспроизвести, трудно вскрыть. Пользователь намертво прибит к интерфейсу, а не к логике процесса. ДР Конго - Узбекистан смотреть онлайн

Именно в эту дыру и целится SnarkRoute. Центральная идея - сделать маршрут, а не редактор, главным артефактом. Маршрут здесь это читаемый документ: ноды, связи, параметры, провенанс, экономика запуска. Его можно переслать, ремикснуть, запустить в другом окружении - и он не рассыплется.

Open Route Protocol: от салфетки до рабочей схемы

Формат называется Open Route Protocol. Канонический файл получил расширение .orp, есть также .orp.json, .orp.yaml и человекочитаемый псевдоним .route. Внутри - инстансы нод, рёбра, параметры, ссылки на ассеты через AssetRef, поля автора, лицензии, атрибуции и экономики. Последние пока работают как метаданные и локальный учёт: платёжный рубильник намеренно опущен, честно и без иллюзий.

Ноды при этом пакуются в .snarknode, тащатся в редактор перетаскиванием, складываются в библиотеку и собираются в составные блоки. Цепочку нод можно свернуть обратно в одну ноду. Переносимость работает на двух уровнях сразу - маршрут как документ и нода как отдельный кирпич.

Стек - TypeScript-монорепо на pnpm, Vite плюс React и React Flow на фронте, Fastify на локальном сервере, тесты на Vitest. Архитектура local-first: ключи, запуски и ассеты остаются на машине пользователя, наружу маршрут тянется только при явном обращении к внешнему провайдеру. Провайдеры подключаются через provider-neutral Model Gateway и сырых секретов в файл маршрута не пишут.

Безопасность заложена в архитектуру, а не добита потом

Первый вопрос, который возникает при словах «переносимые ноды, которые можно слать друг другу» - это ведь новый небезопасный npm, только для графов. Ответ в SnarkRoute закладывался с самого начала, а не прикручивался на финише.

  • Никакого исполнения произвольного JavaScript из сторонних нод - только декларативные манифесты с явными permissions.
  • AssetRef вместо прямой загрузки: маршрут держит ссылку, хост сам решает, что с ней делать.
  • Секреты живут только на хосте и не уезжают ни с маршрутом, ни с бандлом.
  • Hash-пиннинг сигнализирует о подмене ассета и помогает делать воспроизводимые запуски.

Публичный рабочий фрагмент проекта сейчас живёт как BoojumRoute Lab - локальный блочный редактор маршрутов. Уже работают: создание и запуск маршрутов, DAG-исполнитель с топологической сортировкой и ловлей циклов, импорт и экспорт .orp, библиотека промптов как первый пример Asset System, встроенные ноды для текста, файлов, картинок, видео и дебаг-логов. Живой пример - апскейл изображения через Replicate Clarity Upscaler с автоматическим сохранением результата локально, поскольку ссылки провайдера протухают.

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