title:string
status:'ready' | 'blocked'
actions:Array
Unichat
Chat interfaces need widgets, not just messages.
Unichat is an RSC server workbench for defining a server-owned widget contract, streaming it from an endpoint, and rendering the same payload through web and React Native registries.
kind: tool
target: both
component: TaskPanel
Cards, artifacts, action panels, and tool results mount from the same server intent.
Here is the next widget payload.
A chat product becomes more useful when the server can choose structured interface pieces, not only plain text. The transcript should carry widgets, artifacts, actions, and tool output.
The RSC endpoint owns orchestration, model calls, tool results, and widget selection, then streams a small contract the client can render with platform-native components.
The same envelope should map to a web registry and a React Native registry so app teams can keep product logic server-side while UI stays native to each surface.
Define the contract once, render it where the thread lives.
Describe
Name the widget, target surface, props, and user-facing purpose.
Package
Turn that shape into a typed envelope with renderer-neutral props.
Stream
Send transcript markdown and widget payloads from one RSC endpoint.
Resolve
Let each registry map server intent to local web or native components.
Harden
Ask the server to refine the contract, route, adapter, and SDK surface.
Next.js workbench, Expo shell, shared contract, provider-backed stream.
app/ and components/ hold the web RSC widget-server workbench.
apps/unichat/ carries the Expo and React Native product shell.
packages/core/ defines messages, widget cards, markdown parsing, and prompts.
packages/ui/ shares theme tokens for cross-surface consistency.
The chat route supports mock, hosted, Ollama, and LM Studio providers.
The local repo has moved from a generic Unichat shell into a usable widget contract builder with generated envelope, server, web, and React Native code tabs.
The Expo route is shaped around the same chat context, with quick prompts, widget cards, and a bridge back to the server API.
The Vercel deployment is live at unichat-swart.vercel.app.
The source repo is matthoffner/unichat and keeps the
current product notes in UNICHAT.md.