Разработчик выпустил открытый конструктор нодовых редакторов с переносимым форматом маршрутов - и предложил индустрии перестать изобретать одно и то же по кругу
Нодовые редакторы плодятся быстрее, чем успевают устареть. ComfyUI, n8n, внутренние пайплайны студий, самодельные обвязки вокруг Replicate и OpenRouter - каждый инструмент рано или поздно отращивает собственный граф. И каждый запирает воркфлоу внутри себя намертво. Российский разработчик решил выбить эту стену: его проект SnarkRoute предлагает не очередной редактор, а переносимый формат маршрутов, который работает независимо от платформы.
Остров за островом: как AI-инструменты теряют совместимость
Проблема не новая, но к 2025 году она вызрела до неприличия. Сотни команд решают одну задачу - соединить модели, API и данные в граф - и каждый запаивает результат в собственный несовместимый контейнер. Воркфлоу не переезжает между системами. Его трудно вскрыть, воспроизвести или передать коллеге без потери смысла. Пользователь прибит к интерфейсу, а не к логике процесса.
Именно эту дыру и целится закрыть SnarkRoute. Центральный артефакт здесь - не нода и не редактор, а маршрут: читаемый документ воркфлоу с нодами, связями, параметрами, провенансом и экономикой запуска. Формат называется Open Route Protocol, канонический файл - .orp. Он провайдер-агностичен, не хранит секретов и спокойно переживает переезд между системами.
Что такое BoojumRoute Lab и зачем он нужен
Публичный рабочий кусок проекта - BoojumRoute Lab, локальный блочный редактор маршрутов. Под капотом TypeScript-монорепо на pnpm, React Flow для визуализации, Fastify как локальный сервер, тесты на Vitest. Всё работает local-first: ключи, запуски и ассеты остаются на машине пользователя по умолчанию.
Провайдеры - Replicate, Gemini, OpenRouter и другие - подключаются через provider-neutral Model Gateway. Нода вызывает зарегистрированный адаптер через шлюз, а сам файл маршрута не хранит ни одного сырого секрета. Это принципиально: маршрут можно переслать, не опасаясь утечки.
Что уже работает в первой публичной версии:
- Создание, редактирование и запуск маршрутов через блочный интерфейс
- Схема Open Route Protocol v0.1 с парсингом, валидацией, поддержкой YAML и JSON
- DAG-исполнитель с топологической сортировкой и ловлей циклов
- Drag-and-drop импорт нод в формате .snarknode
- Плейсхолдеры для недостающих нод - маршрут не разваливается при отсутствии блока
- Импорт и экспорт .orp-файлов
- Локальный ledger запусков с провенансом и экономическими метаданными
Безопасность и экономика: не на потом, а с первого болта
Переносимые ноды, которые можно слать друг другу, - это звучит как приглашение создать небезопасный npm для графов. Разработчик, судя по всему, думал об этом с самого начала. Никакого исполнения произвольного чужого JavaScript: ноды сообщества - декларативные манифесты с явными разрешениями. Маршрут не тянет файлы самостоятельно, а держит ссылку AssetRef - хост сам решает, резолвить её, валидировать по схеме или заблокировать. Hash-пиннинг срабатывает, если ассет подменили.
Кстати, если вас отвлекают крупные спортивные трансляции этого лета - Шотландия - Бразилия прямая трансляция доступна онлайн, - то в мире разработки тоже происходит немало интересного, и SnarkRoute - один из таких моментов, которые стоит не пропустить.
Экономические поля - авторство, лицензия, доли выручки, атрибуция - зашиты в формат с версии 0.1. Они опциональны и по умолчанию нулевые, но они есть. Платежи не исполняются, рубильник опущен. Зато архитектура не сломается, когда придёт время его поднять. Именно об этом автор предупреждал ещё в предыдущей статье: провенанс и экономику невозможно добавить задним числом без потери совместимости.