Chat Ui
VerifiedChat UI building blocks for React/Next.js from ui.inference.sh. Components: container, messages, input, typing indicators, avatars. Capabilities: chat interf...
$ Add to .claude/skills/ About This Skill
# Chat UI Components
Chat building blocks from ui.inference.sh.
Quick Start
```bash # Install chat components npx shadcn@latest add https://ui.inference.sh/r/chat.json ```
Components
Chat Container
```tsx import { ChatContainer } from "@/registry/blocks/chat/chat-container"
<ChatContainer> {/* messages go here */} </ChatContainer> ```
Messages
```tsx import { ChatMessage } from "@/registry/blocks/chat/chat-message"
<ChatMessage role="user" content="Hello, how can you help me?" />
<ChatMessage role="assistant" content="I can help you with many things!" /> ```
Chat Input
```tsx import { ChatInput } from "@/registry/blocks/chat/chat-input"
<ChatInput onSubmit={(message) => handleSend(message)} placeholder="Type a message..." disabled={isLoading} /> ```
Typing Indicator
```tsx import { TypingIndicator } from "@/registry/blocks/chat/typing-indicator"
{isTyping && <TypingIndicator />} ```
Full Example
```tsx import { ChatContainer, ChatMessage, ChatInput, TypingIndicator, } from "@/registry/blocks/chat"
export function Chat() { const [messages, setMessages] = useState([]) const [isLoading, setIsLoading] = useState(false)
const handleSend = async (content: string) => { setMessages(prev => [...prev, { role: 'user', content }]) setIsLoading(true) // Send to API... setIsLoading(false) }
return ( <ChatContainer> {messages.map((msg, i) => ( <ChatMessage key={i} role={msg.role} content={msg.content} /> ))} {isLoading && <TypingIndicator />} <ChatInput onSubmit={handleSend} disabled={isLoading} /> </ChatContainer> ) } ```
Message Variants
| Role | Description | |------|-------------| | `user` | User messages (right-aligned) | | `assistant` | AI responses (left-aligned) | | `system` | System messages (centered) |
Styling
Components use Tailwind CSS and shadcn/ui design tokens:
```tsx <ChatMessage role="assistant" content="Hello!" className="bg-muted" /> ```
Related Skills
```bash # Full agent component (recommended) npx skills add inference-sh/skills@agent-ui
# Declarative widgets npx skills add inference-sh/skills@widgets-ui
# Markdown rendering npx skills add inference-sh/skills@markdown-ui ```
Documentation
- Chatting with Agents - Building chat interfaces
- Agent UX Patterns - Chat UX best practices
- Real-Time Streaming - Streaming responses
Component docs: ui.inference.sh/blocks/chat
Use Cases
- Add pre-built chat interface components (container, messages, input, typing indicator) to a React/Next.js app
- Build AI agent chat UIs with streaming response support and role-based message styling
- Scaffold a complete chat interface with user/assistant/system message roles in minutes
- Integrate typing indicators and avatar components for polished conversational UX
- Combine with inference.sh agent and widget components for full-stack AI application UIs
Pros & Cons
Pros
- +One-command install via shadcn registry — drops into existing shadcn/ui projects seamlessly
- +Uses Tailwind CSS design tokens for consistent theming with the rest of your UI
- +Modular architecture — use individual components (input, message) or the full chat block
Cons
- -Requires shadcn/ui and Tailwind CSS setup — not standalone for non-shadcn projects
- -React/Next.js only — no Vue, Svelte, or vanilla JS support
- -No built-in backend integration — you must wire up API calls and streaming yourself
FAQ
What does Chat Ui do?
What platforms support Chat Ui?
What are the use cases for Chat Ui?
100+ free AI tools
Writing, PDF, image, and developer tools — all in your browser.
Next Step
Use the skill detail page to evaluate fit and install steps. For a direct browser workflow, move into a focused tool route instead of staying in broader support surfaces.