Написание фронтенд-кода с помощью ИИ уже два года остаётся неудобной темой.
Вы даёте GPT или Claude описание, он выдаёт HTML + Tailwind, выглядит прилично, но компоненты не синхронизируют состояние, нет доступности, а адаптивные брейкпоинты не контролируются тонко. Использовать можно, но в продакшен не положишь.
thesysdev/openui решает не вопрос «может ли ИИ писать UI», а вопрос «в каком формате ИИ должен писать UI».
Проблема не в способности генерировать, а в формате вывода
Сейчас все инструменты AI-кодирования генерируют UI одинаково: перевод текст-в-текст. Промпт → HTML/JSX → рендер. У этого конвейера три структурных дефекта.
Первый — неверифицируемость. ИИ выдаёт строку кода — вы можете только запустить и посмотреть. Нет промежуточного представления для статического анализа, диффа или отката.
Второй — несовместимость. Кнопка, сгенерированная инструментом A, и форма от инструмента B будут конфликтовать по стилям. Потому что нет общего слоя описания UI.
Третий — неитеративность. Вы говорите ИИ «поменяй синий на красный», и он перегенерирует весь компонент. Инкрементальные обновления? Не существуют.
Подход OpenUI — извлечь описание UI из строки кода и определить структурированный, машиночитаемый промежуточный слой. Думайте о JSON Schema для API-документации — OpenUI хочет стать протокольным слоем для генеративного UI.
Как это выглядит
Основа репозитория — декларативный формат описания UI с древовидной структурой, похожей на AST, для компонентов, свойств, событий и стилевых ограничений. Модели ИИ не должны напрямую выдавать JSX или HTML — они выводят описания в формате OpenUI, а движок рендеринга преобразует их в конкретные реализации для целевой платформы.
Проект ещё на ранней стадии (4 523 звезды, 309 форков), и демо в README довольно простые. Но проблема решается правильная — инструменты AI-кодирования перешли от «может ли он писать код» к «может ли он писать поддерживаемый код», и UI-слой — это последняя нестандартизированная область в этой цепочке.
Кому это важно
Если вы используете Cursor, Claude Code или Copilot для фронтенд-разработки, это направление стоит отслеживать. Не потому что вы можете использовать это сегодня, а потому что когда крупный инструмент кодирования примет подобный стандарт, ваш рабочий процесс с промптами изменится с «описание + метод проб и ошибок» на «описание → структурированный вывод → автоматический рендеринг».
Роль фронтенд-инженеров тоже изменится: не ручное написание компонентов, а определение правил ограничений на уровне описания OpenUI, позволяя ИИ генерировать в этих границах. Это похоже на миграцию от ручного CSS к Tailwind и затем к CSS-in-JS — только на этот раз движущая сила — ИИ.
Риски
Проект на стадии v0, протокол не стабилен, сообщество небольшое. Самый очевидный риск: если OpenAI или Anthropic создадут свой проприетарный формат генеративного UI, открытый стандарт может быть обойден. Исторически в битвах «стандарт против платформы» платформы побеждают чаще.
Но на стадии v0 направление как минимум правильное.
Как начать
git clone https://github.com/thesysdev/openui.git
cd openui
# Проверьте примеры и документацию
В репозитории есть базовый CLI-инструмент и примеры рендеринга. Не ожидайте готовности к продакшену, но если вы строите цепочки инструментов AI-кодирования, изучение дизайна протокола будет полезным.
Источники: