Message
<Message />One turn in the conversation. The user's message is a dark bubble on the right; an agent's is white, or tinted in its colour.
Install
bash
npx shadcn@latest add https://orbeez-kit.vercel.app/r/message.jsonUsage
tsx
<Message from="user">
<MessageBody>
<MessageContent from="user">Can you find why the cart total is off?</MessageContent>
</MessageBody>
</Message>
<Message>
<MessageAvatar hue="ink" mood={thinking ? 'thinking' : undefined} />
<MessageBody>
<MessageContent variant="plain" markdown>{answer}</MessageContent>
<MessageActions>
<CopyButton text={answer} />
<FeedbackBeads size={18} />
</MessageActions>
</MessageBody>
</Message>Good to know
- Moods. MessageAvatar takes a mood: thinking while it reasons, working while it acts.
- variant="plain" drops the bubble, which reads better for long answers.
- MessageActions show on hover or focus, and always on touch screens.
System message
<SystemMessage />A note from the app rather than from anyone in the conversation.
Agents can read and write files in this project.
You have 3 agent runs left today.
The model is not answering. Trying again in 10s.
bash
npx shadcn@latest add https://orbeez-kit.vercel.app/r/system-message.jsontsx
<SystemMessage variant="warning" action={<Button size="sm">Upgrade</Button>}>
You have 3 agent runs left today.
</SystemMessage>Feedback bar
<FeedbackBar />Asks whether an answer helped, with two bead buttons, and confirms the choice.
Was this helpful?Thanks, noted.
bash
npx shadcn@latest add https://orbeez-kit.vercel.app/r/feedback-bar.jsontsx
<FeedbackBar onFeedback={(helpful) => log(helpful)} onClose={dismiss} />
// just the beads, for message actions
<FeedbackBeads size={18} onFeedback={rate} />- Moods. The picked bead briefly plays love or sad. Both beads are muted until hovered or picked; the one not picked stays muted, so the answer can still be changed.
Branch picker
<BranchPicker />Steps between the answers a message was given, when it was asked again or edited.
2 / 3
bash
npx shadcn@latest add https://orbeez-kit.vercel.app/r/branch-picker.jsontsx
<BranchPicker index={i} count={answers.length} onChange={setI} />
<CopyButton text={answer} />