Разработчик выпустил открытый конструктор нодовых редакторов с переносимым форматом воркфлоу
Пока индустрия плодит нодовые редакторы один за другим - каждый со своим несовместимым форматом и закрытой экосистемой - независимый разработчик выкатил проект, который пытается разрубить этот гордиев узел. SnarkRoute предлагает не очередной редактор, а открытый конструктор, где сами ноды становятся переносимыми единицами, а воркфлоу превращается в читаемый документ, который можно передать, ремикснуть и запустить в другом месте без потерь.
Проблема островов
ComfyUI, n8n, внутренние пайплайны студий, самодельные обёртки вокруг Replicate и Fal - все они решают одну и ту же задачу. Коробочка с входами и выходами, узлы, рёбра, параметры. Но каждый раз результат запирается внутри конкретного инструмента. Воркфлоу из одного редактора в другой не переезжает. Что именно внутри - не вскрыть. Пользователь прибит к интерфейсу, а не к логике процесса.
Именно в эту щель целится Open Route Protocol - переносимый формат описания AI-, model- и API-воркфлоу. Канонический файл получил расширение .orp, есть также .orp.json и .orp.yaml, а для удобства - человекочитаемый алиас .route. Внутри хранятся инстансы нод, рёбра, параметры, метаданные провенанса, экономики и ссылки на ассеты. Никаких провайдерских секретов, никаких зашитых файлов напрямую - только структура и ссылки.
Что уже работает
Публичная часть проекта живёт под именем BoojumRoute Lab - локальный блочный редактор маршрутов, собранный на Vite, React и React Flow с сервером на Fastify. Архитектура local-first: ключи, запуски и настройки остаются на машине пользователя, наружу маршрут уходит только по явному вызову внешнего провайдера. Это принципиальная позиция, а не случайность реализации.
- DAG-движок с топологической сортировкой и ловлей циклов
- Шаблонные ссылки между нодами вида {{prompt1.output.text}}
- Установка .snarknode и drag-and-drop импорт нод
- Плейсхолдеры для недостающих нод - маршрут не разваливается при отсутствии компонента
- Локальный ledger запусков с провенансом и экономическими метаданными
- Импорт и экспорт .orp
- Provider-neutral Model Gateway для Replicate, Gemini, OpenRouter и других
Живой пример из репозитория - апскейл изображения: входная картинка проходит через Replicate Clarity Upscaler, затем попадает в превью и сохраняется локально. Поскольку Replicate возвращает ссылки с ограниченным сроком жизни, результат сразу скачивается в data/runs/.
Безопасность и экономика с первого дня
Переносимые ноды, которыми можно делиться - это звучит как приглашение к очередной уязвимой экосистеме. Разработчик, судя по всему, осознавал риск заранее. Никакого исполнения чужого произвольного JavaScript: ноды сообщества оформляются как декларативные манифесты с явными permissions. Файлы и URL маршрут не тянет сам - вместо этого используется AssetRef, ссылка с ожидаемым хешем, а хост сам решает, резолвить её или заблокировать. Hash-пиннинг сигнализирует о подмене ассета и помогает воспроизводить маршруты детерминированно.
Экономические поля - автор, лицензия, доли выручки, валюта - заложены в формат с нулевой версии протокола, пусть и с опущенным рубильником реальных выплат. Это осознанное решение: добавить такие поля потом, не сломав совместимость, практически невозможно. Рынок AI-инструментов это уже проходил не раз, и уроки явно были усвоены. Кстати, пока разработчики делят экосистемы, в мире спорта тоже случаются неожиданные столкновения форматов - взять хотя бы Португалия - Узбекистан 23 июня: матчи, где правила одни для всех, а победитель определяется не происхождением, а качеством исполнения.
SnarkRoute пока v0.1 - болт, как называет его сам автор. Но болт закручен в реальную машину, а не в презентацию. Насколько далеко уедет эта машина, покажет то, что разработчики ценят больше всего: чужой код в своём пайплайне.