|
1 | | -# Tool UI |
| 1 | +<a href="https://tool-ui.com"> |
| 2 | + <img src=".github/assets/header.png" alt="Tool UI" width="100%"> |
| 3 | +</a> |
2 | 4 |
|
3 | 5 | Copy/paste React components for rendering tool calls in AI chat interfaces. Built by [assistant-ui](https://github.com/assistant-ui). |
4 | 6 |
|
5 | | -When a model calls a tool, most apps dump raw JSON into the conversation. These components turn tool payloads into interactive UI — approvals, forms, tables, charts, media cards, and receipts — so users can understand and act without leaving the chat. |
| 7 | +**[Docs](https://tool-ui.com/docs/overview)** · **[Gallery](https://tool-ui.com/docs/gallery)** · **[Quick Start](https://tool-ui.com/docs/quick-start)** |
6 | 8 |
|
7 | | -<p align="center"> |
8 | | - <img src="public/assets/homepage.png" alt="Tool UI – UI components for AI interfaces" width="880"> |
9 | | -</p> |
10 | | - |
11 | | -**[tool-ui.com](https://tool-ui.com)** | [Docs](https://tool-ui.com/docs/overview) | [Gallery](https://tool-ui.com/docs/gallery) | [Quick Start](https://tool-ui.com/docs/quick-start) |
12 | | - |
13 | | -## Gallery |
| 9 | +When a model calls a tool, most apps dump raw JSON into the conversation. These components turn tool payloads into interactive UI like approvals, forms, tables, charts, and media cards so users can understand and act without leaving the chat. |
14 | 10 |
|
15 | | -<p align="center"> |
16 | | - <img src="public/assets/gallery.png" alt="Tool UI component gallery – weather, message draft, code block, image gallery, order summary, chart, and plan components" width="900"> |
17 | | -</p> |
| 11 | +## Featured Components |
18 | 12 |
|
19 | | -## Featured components |
20 | | - |
21 | | -<table> |
| 13 | +<table border="0" cellspacing="0" cellpadding="0"> |
22 | 14 | <tr> |
23 | | - <td align="center" width="50%"> |
| 15 | + <td valign="top" width="50%"> |
24 | 16 | <strong>Option List</strong><br> |
25 | | - <em>Let users select from multiple choices</em><br> |
26 | | - <img src="public/assets/option-list.png" alt="Option List component" width="400"> |
| 17 | + Let users select from multiple choices<br><br> |
| 18 | + <a href="https://tool-ui.com/docs/option-list"> |
| 19 | + <img src=".github/assets/option-list.png" alt="Option List component" width="100%"> |
| 20 | + </a> |
27 | 21 | </td> |
28 | | - <td align="center" width="50%"> |
| 22 | + <td valign="top" width="50%"> |
29 | 23 | <strong>Question Flow</strong><br> |
30 | | - <em>Multi-step guided questions with branching</em><br> |
31 | | - <img src="public/assets/question-flow.png" alt="Question Flow component" width="400"> |
| 24 | + Multi-step guided questions with branching<br><br> |
| 25 | + <a href="https://tool-ui.com/docs/question-flow"> |
| 26 | + <img src=".github/assets/question-flow.png" alt="Question Flow component" width="100%"> |
| 27 | + </a> |
32 | 28 | </td> |
33 | 29 | </tr> |
34 | 30 | </table> |
35 | 31 |
|
| 32 | + |
| 33 | +## Why Tool UI? |
| 34 | + |
| 35 | +- **Copy/paste, not install** — shadcn/ui model. Components live in your codebase. No dependency lock-in. |
| 36 | +- **Schema-validated** — Every component has a Zod schema. Parse tool output, render when valid, fail safely when not. |
| 37 | +- **Interactive with receipts** — Components aren't just displays. Users make choices that flow back to the assistant. Choices persist as receipts. |
| 38 | +- **Built on shadcn/ui** — Radix primitives, Tailwind styling, your theme. No new design system to learn. |
| 39 | + |
36 | 40 | ## Components |
37 | 41 |
|
38 | | -- **Decision/Confirmation**: Approval Card, Order Summary, Message Draft, Option List |
39 | | -- **Input/Configuration**: Parameter Slider, Preferences Panel, Question Flow |
40 | | -- **Display/Artifacts**: Data Table, Chart, Citation, Link Preview, Stats Display, Code Block, Code Diff, Terminal |
41 | | -- **Media/Creative**: Image, Image Gallery, Video, Audio, Instagram Post, LinkedIn Post, X Post |
42 | | -- **Progress/Execution**: Plan, Progress Tracker, Weather Widget |
| 42 | +- **Progress**: Plan, Progress Tracker |
| 43 | +- **Input**: Option List, Parameter Slider, Preferences Panel, Question Flow |
| 44 | +- **Display**: Citation, Geo Map, Item Carousel, Link Preview, Stats Display, Terminal, Weather Widget |
| 45 | +- **Artifacts**: Chart, Code Block, Code Diff, Data Table, Instagram Post, LinkedIn Post, Message Draft, X Post |
| 46 | +- **Confirmation**: Approval Card, Order Summary |
| 47 | +- **Media**: Audio, Image, Image Gallery, Video |
43 | 48 |
|
44 | 49 | Each component includes a Zod schema for payload validation and presets for realistic example data. Browse them all in the [Gallery](https://tool-ui.com/docs/gallery). |
45 | 50 |
|
| 51 | +<p align="center"> |
| 52 | + <img src=".github/assets/gallery.png" alt="Tool UI component gallery" width="900"> |
| 53 | +</p> |
| 54 | + |
| 55 | +## Contributing |
| 56 | + |
| 57 | +Contributions are welcome. [Open an issue](https://github.com/assistant-ui/tool-ui/issues) to report bugs or suggest new components. |
| 58 | + |
46 | 59 | ## License |
47 | 60 |
|
48 | | -MIT License. See [LICENSE](LICENSE) for details. |
| 61 | +MIT License. See [LICENSE](LICENSE.md) for details. |
0 commit comments