Differentiation
Agent UI without React or Tailwind
Most agent UI libraries assume React, Tailwind, and a bundler. agent-ui ships the agentic vocabulary — thinking, tool calls, approvals, questions — as copy-paste HTML and CSS you own.
The gap
If your UI is a settings form, use a general component library. If your UI is “an agent is thinking, running tools, and waiting for approval,” you need primitives those libraries skip — and you may not control the stack.
What this is
- Agentic vocabulary
- Thinking, tool calls, approvals, and questions — not a generic chat bubble set.
- Plain HTML/CSS/JS
- Copy-paste source you own. No React, Tailwind, or bundler required.
- Host owns execution
- Components render state. They never run tools or imply approval.
- Any stack
- Works in htmx, Rails, Astro, Next, or a static prototype an agent just generated.
What stays true
- Source visible
- Every preview has a canonical snippet. No hidden framework layer.
- Host owns execution
- Components render state. They never execute tools or imply approval.
- Native first
- Without JavaScript, semantic HTML and normal forms still make sense.
- Any stack
- htmx, Rails, Astro, Next, or a static prototype an agent just generated.
Next step
Copy the chat-with-tools starter, or let an agent follow the AI setup path and llms.txt.