009
An answer that reads its sources first, then softly streams in word by word, with little numbered chips you can hover to peek at each source, all in a card that holds its size the whole time.
akaai answer·sources
Run this in any project set up for the shadcn CLI. It copies the Streamed Reply source into your components folder, so the code is yours to change.
npx shadcn@latest add https://devl.dev/r/streamed-reply.jsonImport it and render it. Every prop has a typed default, so it works straight away, and you pass your own data when you’re ready.
import { StreamedReply } from "@/components/streamed-reply";
export default function Page() {
return <StreamedReply />;
}A free React component in the Conversation collection, written in TypeScript with Tailwind CSS on coss ui. MIT licensed.
Read from the Streamed Reply source. Everything is optional unless it says required.
| Prop | Type | Default |
|---|---|---|
| question | string | "My sourdough barely rose overnight. Is my starter dead?" |
| answer | string | defaultAnswer |
| sources | ReplySource[] | defaultSources |
| followUps | string[] | defaultFollowUps |
| speed | number | 38 |
| onFollowUp | (question: string) => void | — |
| onFeedback | (value: "up" | "down" | null) => void | — |
| className | string | — |