Persona
A drop-in streaming chat widget for your AI assistant. Themeable, pluggable, zero framework dependencies.
Try it
This is Persona. Ask it anything — or pick a suggestion below to explore.
Theme Editor
Customize every color, font, and layout token — then copy the config straight into your project.
Open Theme Editor
→
Featured
See what Persona can do across different use cases.
Examples
Explore different use cases and widget configurations.
- Action Middleware Live DOM context on every message; structured actions for navigation, cart, and checkout
- Agent Loop Multi-turn reasoning with tool calls
- Message Feedback Copy, Upvote, Downvote
- Feedback Integration Wire feedback events to your backend
- Custom Loading Indicator Replace the default loading animation
- Tool Approval Human-in-the-loop confirmation before tool execution
- Focus Input Programmatic input focus and state control
- Artifact Sidebar Resizable split view for rich content
- Voice Integration Speech-to-text and text-to-speech input
Standalone Scripts
Script tag integration — no bundler required. Uses the CDN build in production.
Developer Tools
Test the launcher, load synthetic messages, and explore the programmatic API.
const launcherController = initAgentWidget({
target: "#launcher-root",
config: { /* ... */ }
});
// Open the widget
launcherController.open();
// Close the widget
launcherController.close();
// Toggle the widget
launcherController.toggle();
Event Stream Testing
Test the event stream SDK methods, window events, and instance scoping.