Нодовые редакторы захватывают рынок. Один разработчик решил всё сломать
21 июня, 2026

Нодовые редакторы захватывают рынок. Один разработчик решил всё сломать

Нодовые редакторы захватывают рынок. Один разработчик решил всё сломать

Пока каждый второй AI-инструмент обзаводится собственным нодовым редактором, российский разработчик запустил открытый проект SnarkRoute - конструктор, в котором ноды наконец становятся переносимыми артефактами, а не заложниками одной платформы.

Острова без мостов

Нодовые редакторы расплодились стремительно. ComfyUI, n8n, внутренние пайплайны студий, самописные обвязки вокруг Replicate и Fal - по существу, все они решают одну задачу. Но каждый варит её в собственном, несовместимом ни с чем форматом. Воркфлоу, собранный в одном месте, в другое не переезжает. Его трудно воспроизвести, ещё труднее передать коллеге. Пользователь оказывается намертво прибит к интерфейсу - вместо того чтобы работать с логикой процесса.

Именно в эту дыру и метит SnarkRoute. Публичный рабочий фрагмент проекта уже доступен под именем BoojumRoute Lab - локальный блочный редактор маршрутов. Под ним лежит ключевое: Open Route Protocol, переносимый формат описания AI-, model- и API-воркфлоу. Примерно так же, как когда-то HTML вырвал документы из рук проприетарных редакторов - ORP пытается сделать то же самое с графами задач.

Маршрут как главный артефакт

Центральная идея проекта проста и неочевидна одновременно. В центре внимания - не модель и не редактор, а маршрут. Читаемый документ воркфлоу с нодами, связями, параметрами, провенансом и ссылками на ассеты. Без зашитых провайдерских секретов. Без жёсткой привязки к конкретному сервису. Его можно переслать, вскрыть, ремикснуть и запустить - и он не рассыплется при переезде.

Канонический формат файла - .orp, с человекочитаемым псевдонимом .route. Ноды пакуются в .snarknode, тащатся в редактор перетаскиванием, складываются в библиотеку и собираются в составные блоки. Переносимость работает сразу на двух уровнях: маршрут целиком как документ и отдельная нода как кирпич.

Архитектурно всё построено на TypeScript-монорепо с pnpm, Vite, React Flow и Fastify. Принцип local-first: ключи, запуски и ассеты остаются на машине пользователя. Наружу маршрут тянется только тогда, когда сам вызывает внешнего провайдера.

Безопасность и экономика - с первого болта

Первый очевидный вопрос к «переносимым нодам, которые можно слать друг другу» - не станет ли это очередным небезопасным менеджером пакетов, только для графов. Ответ заложен в архитектуру: никакого исполнения произвольного JavaScript. Ноды сообщества - декларативные манифесты с явными разрешениями. Маршрут не тянет файлы по URL сам - он держит ссылку через AssetRef, а хост решает, что с ней делать: валидировать, кэшировать или заблокировать. Секреты за пределы машины не уходят никогда.

Экономическая модель встроена в формат с самого начала - поля для авторов, лицензий, долей выручки и провенанса уже на месте. Пока они работают как метаданные и локальный учёт: реальных платежей система не исполняет. Рубильник опущен намеренно - чтобы потом не ломать совместимость, когда придёт время его поднять. Кстати, пока разработчики строят протоколы для AI-воркфлоу, не менее захватывающие сражения разворачиваются и на других аренах: ЧМ-2026 Турция - США обещает стать одной из самых непредсказуемых встреч группового этапа.

Что уже работает

Проект не остановился на концепции. Вот что функционирует прямо сейчас:

  • блочный редактор BoojumRoute Lab с созданием и запуском маршрутов
  • схема Open Route Protocol v0.1 с парсингом и валидацией в YAML и JSON
  • DAG-движок с топологической сортировкой, ловлей циклов и логами запусков
  • установка и drag-and-drop импорт .snarknode-нод
  • плейсхолдеры вместо отсутствующих нод - маршрут не разваливается, если кирпич не найден
  • импорт и экспорт .orp, локальный ledger запусков с провенансом
  • provider-neutral Model Gateway для Replicate, Gemini, OpenRouter и других адаптеров

Живой тест-кейс - апскейл изображения: входная картинка проходит через Replicate Clarity Upscaler, уходит в превью и сохраняется локально, потому что ссылки от Replicate протухают. Скромно - но честно. Первый болт прикручен, машина стоит на стапеле.