Spokes.wiki Search About
Software Source Code source ↗ source url updated Tue Jun 23 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

OpenUI (thesysdev) — source summary

A full-stack generative-UI framework: language models emit a compact streaming-first language (“OpenUI Lang”) that a React runtime renders progressively as tokens arrive — not JSON. MIT, TypeScript (React + Vue/Svelte; web/mobile/email), ~7.2k stars (thesysdev). Shared by @tom_doerr on X, ingested 2026-06-23. The second source in the spoke’s agent/LLM-rendered-output corner after arrow-js.

How it works

A component-library-driven pipeline: the developer declares the allowed components, which generate the system prompt; the model then emits OpenUI Lang constrained to that vocabulary, and the React renderer streams it to the DOM token-by-token. The purpose-built language is the pitch — benchmarked at up to 67% fewer tokens than equivalent JSON (vs Vercel’s json-render and “Thesys C1 JSON” baselines), because a streaming DSL beats a JSON schema for this job.

Why it’s here — two strategies for the rendered-output layer

arrow-js opened this corner (what an agent renders for a user at the end of a tool call); OpenUI is its counterpoint on approach:

  • arrow-js: the LLM generates real framework code (plain TypeScript, three functions, no DSL to learn), run inside a WASM sandbox — bound the code by what it can reach.
  • OpenUI: the LLM generates a constrained DSL from a developer-defined component set — bound the output vocabulary up front, so the model can only emit components you allow.

So the corner now has a real design axis: generate-real-code (sandbox the result) vs generate-a- restricted-DSL (constrain the grammar). OpenUI’s restricted-vocabulary move is a guardrail expressed as a grammar (the model literally cannot name a component outside the allowed set), and its token-efficiency framing rhymes with the spoke’s recurring token-budget thread (headroom compression, progressive disclosure) — here applied to the UI output channel.

Caveats

Borderline scope: OpenUI is explicitly general LLM-to-UI, not agent-specific (chat assistants, copilots, any model emitting interfaces) — routed here as the arrow-js sibling because the spoke owns the agent/LLM-rendered-output corner and no generative-UI/frontend spoke exists. T2: the “67% fewer tokens” and multi-framework claims are the project’s own. If more generative-UI sources arrive, this corner is a spin-out candidate.

arrow-js · agent-guardrails · headroom · agentskills-spec