What aparté is
A chat for your web app — web components that stream a model's reply, run its tools and ask the person when they should, in any framework and with any model.
html
<!-- The model here is scripted: no key, no network, the same replies every time.
Everything else is the real thing - the loop, the transcript, the tool call. -->
<aparte-chat center-empty placeholder="Ask for a haiku, a table, some code or the weather..." style="height: 24rem"></aparte-chat>What comes with it
Section titled “What comes with it”- Messages that stream as they are written: the response, the model’s reasoning, code, tool calls, errors, and views of your own. Markdown and code highlighting come from plugins.
- Tools, with a person in the loop: the model calls your functions, the ones you choose wait for the person’s approval, and the model can ask a question in the middle of a turn.
- Conversations: retry keeps each answer as a version you can step through, edit rewrites a message and its reply — both one line to turn on — with a conversation list, attachments when you ask for them, and storage you plug in.
- Your look: colours, sizes and shapes are CSS variables, and a kit of classes draws the controls around the chat.
- Any model: OpenAI-compatible APIs, the Vercel AI SDK, a model in the browser, or an agent that runs its own loop, over AG-UI.
- Any framework: React, Vue, Svelte, Angular, or none.
51 components in all, each on a page of its own with live examples.
What it leaves to you
Section titled “What it leaves to you”Routing, sign-in, settings, and where conversations are kept belong to your app. aparté draws the chat and runs the conversation; storage is an interface you implement over your own database, IndexedDB or API.
What you need
Section titled “What you need”- A recent browser: the support matrix has the exact versions.
- npm and a bundler, or one script tag from a CDN.
- Node 18 or later, for the parts that run on your server.
- A model: the scripted one to start, then the person’s own key, a model on their machine, or your server.
Where it stands
Section titled “Where it stands”aparté is in beta. Its public surface — elements, attributes, events, exports — is frozen, and every release is in the changelog.
- Installation and first chat Install, put the chat on a page, stream a first reply.
- How it fits The pieces between your page and your model, and the package that holds each.
- Your framework The same chat as a React, Vue, Svelte or Angular component.
- Templates Whole apps built with aparté, live, with their code.