Multi-Agent Chat with Personas
A chat log showing four distinct AI agent personas, a Planner, Researcher, Critic, and Summarizer, each with a differently colored avatar and a role badge, giving the feel of a multi-agent panel discussion. Fully static and server-rendered.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its avatar, avatar-initials, badge dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/multi-agent-persona-chat.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/chat/chat16.tsx instead.
Usage
The file also exports chat16Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Chat16, chat16Demo } from "@/components/blocks/chat/chat16"; export default function Page() { return <Chat16 {...chat16Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| heading | string | "Agent panel" | Panel header title. |
| description | string | "Multiple specialized agents collaborating on the same task." | Panel header subtitle. |
| messages | Chat16Message[] | none | Ordered log of messages, each attributed to an agent persona. |
| className | string | none | Extra classes for the outer wrapper element. |
Types
export interface Chat16Agent { name: string; role: string; avatar?: { src: string; alt: string }; colorClass: string; } export interface Chat16Message { id: string; agent: Chat16Agent; text: string; timestamp: string; }
Behavior notes
- Fully static, server-rendered: no useState, no interactivity of any kind.
- Each persona carries its own colorClass (a fixed pair of semantic Tailwind tokens, e.g. bg-primary/text-primary-foreground) supplied as data on the agent object, so avatars and initials fallbacks are color-coded per persona without hardcoding colors in the component itself.
- Timestamps are fixed literal strings passed in as data, never computed with new Date().
More Chat Blocks
View all →rich-prompt-input-with-suggestions
Rich Prompt Input with Smart Suggestions
An AI prompt composer with attachment icons, a model selector, and a grid of clickable prompt suggestion cards.
ai-streaming-response-typewriter
AI Streaming Response with Live Typing
A single AI chat exchange with a skeleton loading state, a word-by-word typewriter reveal, and a stop-generating control.
ai-response-with-cited-sources
AI Response with Cited Sources
A Perplexity-style answer with inline numbered citation markers and an expandable source list below it.
code-generation-chat-with-syntax-highlighting
Code Generation Chat with Syntax Highlighting
A developer chat message with a file-name tab bar, a language badge, illustrative syntax coloring, and a real copy button.
prompt-starter-grid
AI Prompt Starter Grid
A tabbed grid of prompt template cards, filterable by category, each with an icon, title, and description.
ai-agent-profile-card
AI Agent Profile Card
A showcase card for an AI agent with avatar, capability badges, a sample chat preview, stats, and action buttons.