AI Elements is a component library built on top of shadcn/ui to help you build AI-native applications faster.
AI Elements provides pre-built, customizable React components specifically designed for AI applications, including conversations, messages, code blocks, reasoning displays, and more. The CLI makes it easy to add these components to your Next.js project.
You can use the AI Elements CLI directly with npx, or install it globally:
# Use directly (recommended) npx ai-elements@latest # Or using shadcn cli npx shadcn@latest add https://registry.ai-sdk.dev/all.json
Before using AI Elements, ensure your project meets these requirements:
npx shadcn@latest init
)Install all available AI Elements components at once:
This command will:
Install individual components using the add
command:
npx ai-elements@latest add <component-name>
Examples:
# Install the message component npx ai-elements@latest add message # Install the conversation component npx ai-elements@latest add conversation # Install the code-block component npx ai-elements@latest add code-blockAlternative: Use with shadcn CLI
You can also install components using the standard shadcn/ui CLI:
# Install all components npx shadcn@latest add https://registry.ai-sdk.dev/all.json # Install a specific component npx shadcn@latest add https://registry.ai-sdk.dev/message.json
AI Elements includes the following components:
Component Descriptionactions
Interactive action buttons for AI responses branch
Branch visualization for conversation flows code-block
Syntax-highlighted code display with copy functionality conversation
Container for chat conversations image
AI-generated image display component inline-citation
Inline source citations loader
Loading states for AI operations message
Individual chat messages with avatars prompt-input
Advanced input component with model selection reasoning
Display AI reasoning and thought processes response
Formatted AI response display source
Source attribution component suggestion
Quick action suggestions task
Task completion tracking tool
Tool usage visualization web-preview
Embedded web page previews
After installing components, you can use them in your React application:
'use client'; import { useChat } from '@ai-sdk/react'; import { Conversation, ConversationContent, } from '@/components/ai-elements/conversation'; import { Message, MessageContent, } from '@/components/ai-elements/message'; import { Response } from '@/components/ai-elements/response'; export default function Chat() { const { messages } = useChat(); return ( <Conversation> <ConversationContent> {messages.map((message, index) => ( <Message key={index} from={message.role}> <MessageContent> <Response>{message.content}</Response> </MessageContent> </Message> ))} </ConversationContent> </Conversation> ); }
The AI Elements CLI:
https://registry.ai-sdk.dev/all.json
Components are installed to your configured shadcn/ui components directory (typically @/components/ai-elements/
) and become part of your codebase, allowing for full customization.
AI Elements uses your existing shadcn/ui configuration. Components will be installed to the directory specified in your components.json
file.
For the best experience, we recommend:
AI_GATEWAY_API_KEY
to your .env.local
If you'd like to contribute to AI Elements, please follow these steps:
packages/elements
.main
branch.Made with ❤️ by Vercel
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4