Vendo: платформа для генерации пользовательских функций внутри SaaS-продуктов
Hacker News · оригинал
Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

Команда Vendo представила инструмент, позволяющий конечным пользователям создавать собственные дашборды и автоматизации непосредственно в интерфейсе сторонних приложений. Платформа использует песочницу QuickJS и интеграцию с API хоста для обеспечения безопасности и нативного вида генерируемых компонентов.
Решение предлагает новый подход к кастомизации SaaS-продуктов, устраняя разрыв между стандартизированным функционалом и индивидуальными потребностями клиентов без необходимости в ручном программировании.
Основатели Vendo, Юсеф и Нур, представили на Hacker News платформу, разработанную для решения типичной проблемы SaaS-рынка: каждый клиент требует уникальных функций, которые редко попадают в общий roadmap. Вместо того чтобы заставлять пользователей обращаться к разработчикам или использовать внешние инструменты вроде электронных таблиц, Vendo позволяет конечным пользователям самостоятельно описывать необходимые дашборды, рабочие процессы или мини-приложения. Система генерирует эти функции поверх существующих данных, API и интерфейса продукта, сохраняя их в рамках основной среды работы.
Техническая реализация начинается с команды `npx vendo init`, которая анализирует поверхность API, темы оформления и маршруты хост-приложения. Это позволяет создаваемым компонентам выглядеть нативно и корректно взаимодействовать с данными компании. Когда пользователь запрашивает новую функцию, специализированный агент Vendo пишет React-компонент с использованием внутренних библиотек и защитных механизмов. Каждый сохраненный элемент проходит компиляцию, проверку типов и тестирование на реальных ответах API перед отображением.
Ключевым аспектом безопасности является использование движка QuickJS для изоляции кода. Сгенерированные приложения выполняются в виртуальной машине Preact внутри песочницы QuickJS, которая не имеет доступа к DOM, сети или системным часам хоста. Вместо прямого взаимодействия с браузером, VM возвращает дерево UI, которое рендерится хост-приложением через зарегистрированные компоненты. При взаимодействии пользователя с интерфейсом QuickJS генерирует вызовы инструментов, которые выполняются хостом через защитные фильтры Vendo, а результаты передаются обратно в песочницу.
Команда подчеркивает отличие своего подхода от других решений в области генеративного UI, таких как Vercel AI SDK или OpenAI Apps SDK. В отличие от компонентов, ограниченных чат-сессией, приложения Vendo являются «длительными»: их можно сохранять, закреплять, запускать по триггерам и делиться внутри организации. Платформа поддерживает создание произвольных приложений, а не только комбинаций предопределенных блоков, при этом все данные поступают исключительно через вызовы API хоста.
Среди текущих сценариев использования клиенты выделяют создание кастомных отчетов и дашбордов, настройку повторяющихся автоматизаций (например, отправка уведомлений в Slack на основе событий в продукте) и добавление специфичной бизнес-логики, такой как дополнительные поля форм или права доступа. Поскольку созданные приложения являются персистентными, их можно форкать и переиспользовать, что невозможно в большинстве чат-ориентированных решений.
Разработчики отмечают несколько ключевых принципов, обеспечивающих надежность системы: приоритет детерминированного кода над промптами, минимизация изобретения нового синтаксиса (генерация опирается на знакомые моделям JSX-подобные структуры) и использование статического анализа для извлечения тем оформления. Vendo распространяется по лицензии Apache-2.0, поддерживает self-hosting, а исходный код доступен в открытом доступе.