Pre-built React components for chat threads, tool traces, approval flows, and session history. Stop rebuilding from scratch.
The Problem
Chat box. Trace viewer. Thumbs up/down. None of it is the hard part. All of it takes weeks. And it always looks worse than it should.
Message threading, streaming, feedback capture, mobile layout β before you've touched any product logic.
Every AI startup building a chat agent invents the same approval flow. Every trace viewer looks like the last one. It's waste, compounded.
shadcn gives you buttons. Tailwind gives you utilities. Neither gives you a ToolCallTrace component. Agent Interface does.
Components
Six focused components. Drop them in. Customize with props. Ship.
Streaming messages, markdown rendering, citations, feedback capture. Works with any LLM provider.
<ChatThread />Expandable tool call tree with timing, inputs, outputs, and error states. Users see exactly what your agent did.
<ToolTrace />Human-in-the-loop approval cards with context, justification, and one-click approve/reject. Auditable by design.
<ApprovalFlow />Thumbs, star ratings, freeform comments. Hooks directly into your evaluation pipeline or RLHF workflow.
<FeedbackCapture />Searchable session list with metadata, pinning, and branching. Persists across page loads.
<SessionHistory />The hosted UI container that wraps everything. Auth, routing, responsive layout β delivered as a managed shell.
<AgentShell />How It Works
Designed for React and Next.js. Vue support in beta.
One package, zero peer dependencies beyond React. Tree-shakeable. Works with your existing component library.
Import what you need. Pass your data model. Customize with props or override styles β no breaking out of a black box.
Your agent logic, your backend, your data. Agent Interface handles the UI primitives so you can focus on what actually matters.
Pricing
MIT-licensed, open source. Pay for the hosted shell and managed infrastructure when you need it.
From the blog
The convergent reinvention problem and what it costs teams building agent-powered products.
Read article βA breakdown of the primitives that appear in every production agent interface β and why they're harder to build than they look.
Read article βCognitive load, trust calibration, and the UX decisions that separate good human-in-the-loop from frustrating ones.
Read article βOpen source core. Pro hosted shell. No chat widget rebuilds, ever again.