Компоненты AI

Готовые примитивы для AI-чатов и агентских интерфейсов — нативные Oracul DS, агностичны от AI SDK.

Что это

Набор примитивов для построения интерфейсов AI-приложений: чат-история, сообщения, ввод prompt, стриминговый markdown, suggestions, и далее — attachments, reasoning, sources, tool calls, web-preview, и т.д. Адаптировано из Vercel AI Elements и переписано на наши примитивы (Base UI, Oracul tokens, data-slot API), чтобы работало нативно с остальной системой.

Phase 1 — готово сейчас

  • chat-conversation — контейнер истории с auto-scroll к низу.
  • chat-message — role-aware bubble (user/assistant/system/tool), actions, branch-picker.
  • chat-response — streaming markdown с code blocks, math, mermaid (через streamdown).
  • chat-suggestion — горизонтальные chip-suggestions.
  • chat-prompt-input — форма ввода с auto-resize textarea, Enter/Shift+Enter, submit с status.

Phase 2 — скоро

chat-attachments, chat-code-block (отдельно от response), chat-sources, chat-inline-citation, chat-image, расширенный chat-prompt-input (file upload, model/voice selectors).

Phase 3 — позже

chat-timeline, chat-loader, chat-actions, chat-branch, chat-context.

Принципы

  • Агностично от AI SDK. Компоненты принимают plain props (role, content, parts). Интеграция с @ai-sdk/react (или Claude API, или своего стека) живёт в particles и приложении.
  • Все на Oracul DS. Button, Avatar, cn, data-slot — те же что в остальной системе. Темы, токены, dark mode работают из коробки.
  • Установка через CLI как у любого другого компонента:

Демо

Oracul DS

Built for the future of AI-driven interfaces.