Открытый протокол SnarkRoute хочет сломать стены между AI-воркфлоу
Пока каждый уважающий себя AI-инструмент отращивает собственный нодовый редактор, разработчик под ником в духе «ленивого прагматика» выкатил SnarkRoute - открытый конструктор, в котором ноды перестают быть пленниками одного приложения и становятся переносимыми блоками. Публичная часть уже живёт как BoojumRoute Lab, а под капотом лежит Open Route Protocol - попытка дать AI-воркфлоу общий язык.
Остров за островом: почему нодовые редакторы не уживаются
ComfyUI, n8n, самопальные обвязки вокруг Replicate и Fal, внутренние пайплайны студий - по сути все они решают одну задачу. Строят коробочку с входами и выходами. Только каждый заваривает её в свой несовместимый формат, и воркфлоу, собранный в одном месте, в другое не переезжает никак. Пользователь намертво прикручен к интерфейсу, а не к логике процесса. Эту дыру и взялся затыкать SnarkRoute. Кстати, тем, кто следит за форматами экспериментов в реальном времени, будет интересно заглянуть на Испания - Саудовская Аравия футбол онлайн - живые трансляции тоже строятся на маршрутах и потоках данных, просто в другом жанре.
Что такое «маршрут» и почему он в центре
Главная ставка проекта - не модель и не редактор, а маршрут. Это читаемый документ воркфлоу: ноды, связи, параметры, провенанс, экономика запуска, ссылки на ассеты. Без провайдерских секретов, без зашитых внешних файлов. Берётся в руки, пересылается, вскрывается, ремиксуется.
Канонический формат - .orp (есть и .orp.json, и человекочитаемый .route). Под ним - DAG-движок с топологической сортировкой, ловлей циклов и шаблонными ссылками между нодами. Провайдеры подключаются через provider-neutral Model Gateway: нода зовёт адаптер, сам маршрут остаётся агностичным и сырых ключей не хранит вообще.
Безопасность и экономика - не на потом
Переносимые ноды, которые можно слать друг другу, звучат как приглашение к хаосу. Автор это понимает. Поэтому никакого произвольного JavaScript: ноды сообщества - декларативные манифесты с явными разрешениями, не «скачали и запустили». Файлы маршрут не тянет сам - держит AssetRef со ссылкой и хешем, а хост уже решает, что с этим делать. Секреты остаются на машине пользователя.
Поля для авторства, лицензий, долей выручки и провенанса заложены в формат с первого дня - пусть пока нулевыми. Каждый запуск получает локальную сводку учёта, но с честным флагом: платежи не исполняются. Архитектурная трезвость намеренная. Рубильник опущен, поля есть.
- Блочный редактор BoojumRoute Lab - рабочий, с импортом/экспортом .orp
- DAG-исполнитель с топосортом, логами и результатами запусков
- Установка .snarknode через drag-and-drop
- Встроенные ноды: текст, файлы, изображения, видео, шаблоны, превью, вывод
- Локальный ledger запусков с провенансом и экономикой
- Плейсхолдеры для недостающих нод - маршрут не разваливается при переезде
Что дальше
SnarkRoute - TypeScript-монорепо на pnpm, лицензия AGPL, тесты на Vitest. Local-first по умолчанию: ключи, ассеты и настройки живут на машине пользователя, наружу маршрут лезет только когда сам позвал провайдера. Проект открытый, репозиторий публичный, Codex-скилл для сборки собственных нод уже внутри. Живой пример - апскейл картинки через Replicate с автоматическим сохранением результата локально, потому что провайдерские ссылки протухают. Коротко: первый болт прикручен. Машина пока не едет, но уже стоит на полу.