跳转到内容

JSON generative UI for agents

Primary: Repo · Docs · Homepage
Nearby: OpenUI · A2UI · CopilotKit GenUI · AI SDK GenUI

Pin checked 2026-10-02 (Shanghai / UTC+8). Ask via Primary / dr eggbot — fuzzy recall of name “generative-ui” or close.


FieldValue
Namejson-render
OrgVercel Labs (vercel-labs/json-render)
Tagline“The Generative UI framework.”
Linksgithub.com/vercel-labs/json-render · json-render.dev · docs
Stars / license~15.8k ★ (fetched 2026-10-02) · Apache-2.0
Created2026-01-14

Why this one: The remembered phrase was JSON-defined generative UI for agents, name maybe “generative-ui.” json-render is the project that (a) literally brands itself Generative UI framework, (b) uses JSON specs as the wire format (flat root + elements tree, streamable JSONL patches), (c) is built for agent/LLM composition with Zod catalogs and guardrails, and (d) is the loudest match in X/HN/Exa for that wording in late 2026. Name is json-render, not generative-ui — the fuzzy ID is the marketing term, not the npm package name.


User prompt → AI + Catalog (Zod schemas) → JSON Spec (streamed) → Registry → Native components
  1. Catalog (guardrails) — defineCatalog: components with typed props, actions with descriptions; AI can only emit types in the catalog.
  2. Prompt — catalog can generate system prompts (catalog.prompt); natural-language request (“show me a revenue dashboard”).
  3. JSON spec — flat adjacency-list tree, e.g.:
{
"root": "card-1",
"elements": {
"card-1": {
"type": "Card",
"props": { "title": "Revenue Dashboard" },
"children": ["metric-1", "metric-2"]
},
"metric-1": {
"type": "Metric",
"props": { "label": "Total Revenue", "value": "$48,200" }
}
}
}
  1. Registry + Renderer — map catalog types → real React/RN/Vue/… components; <Renderer spec={spec} registry={registry} />. Streaming: SpecStream / JSONL progressive patches so UI paints as tokens arrive.
  2. Extras — $state data binding, visibility conditions, actions/emit, generation modes (standalone page vs inline chat). Packages include @json-render/mcp (MCP Apps), AI SDK adapters, shadcn presets, Remotion/PDF/email/Ink/R3F.
  • Treat the catalog as the tool/UI contract the agent may compose.
  • LLM (or decision layer like experimental Jev + json-render) outputs only valid JSON within the catalog — no arbitrary code execution.
  • Client owns styling/security; agent owns structure/composition.
  • Fits chat (inline specs), chat+ canvas, or chatless app surfaces that hydrate from agent JSON.

Contrast with older Vercel AI SDK Generative UI: tool-call → React component mapping (streamText + tool parts, or experimental RSC streamUI). That is tool-result → fixed component, not LLM invents a JSON component tree. json-render is the catalog-JSON-tree approach; AI SDK GenUI is the tool-to-component approach (still alive under AI SDK UI GenUI; RSC path is paused/experimental).


AspectStatus
LifecycleAlive / active (Vercel Labs) — not archived
MaturityLabs / early productized research; Rauch (Jan 2026 TNS interview) called it experimental but “very sound”; multi-renderer monorepo has grown aggressively (web, mobile, PDF, email, video, terminal, 3D, Next routes)
Ecosystem buzzHeavy X discussion Sep 2026 (json-render + Jev); HN stories on json-render.dev; OpenUI benchmarks treat it as the main JSON baseline
Risk notesLabs branding = API churn possible; token cost of JSONL patches called out by OpenUI (~2× OpenUI Lang in their benchmarks)

NameApproachStatusLink
OpenUI (Thesys / thesysdev/openui)Catalog + OpenUI Lang (line-oriented DSL, not JSON); streaming renderer; LangChain/AG-UI; built-in chat libs; claims ≤67% fewer tokens vs JSONAlive, MIT, ~8.4k ★, openui.comgithub.com/thesysdev/openui
A2UI (Google + CopilotKit)JSON Agent-to-UI protocol (createSurface / updateComponents / updateDataModel); catalog of trusted components; transports A2A / AG-UI; Flutter GenUI uses itAlive (v0.9.1 current, v1.0 candidate)a2ui.org · google/A2UI
CopilotKit Generative UIControlled / declarative / open GenUI pillars; AG-UI transport; A2UI renderer; chat+canvas scaffoldingAlivecopilotkit.ai/generative-ui
AI SDK Generative UITool results → React components (streamText + UI message parts); RSC streamUI experimental/pausedAlive (UI path); RSC pausedai-sdk.dev … generative-user-interfaces
Also nearbyassistant-ui (chat primitives + generative-ui skill); JSON Forms / RJSF / Formily (JSON Schema → forms, not agent GenUI); Daub (tiny AI UI rendering spec, HN)Mixedassistant-ui.com · jsonforms.io · daub.dev

  • Direct reddit.com/search.json blocked (HTML interstitial) from box egress.
  • Secondary: OpenUI launch thread referencing json-render as alternative (snapshot mention — “I’m building a Generative UI framework called OpenUI” + comment pointing at vercel-labs/json-render).
  • vercel-labs/json-render · thesysdev/openui · google/A2UI · CopilotKit A2UI docs/repos

  • No package literally named generative-ui that is the canonical JSON agent UI framework. The remembered brand is almost certainly the category name (“Generative UI”) that Vercel/json-render and OpenUI both use.
  • If the memory was about token-efficient / streaming language rather than JSON specifically → prefer OpenUI (they abandoned JSON on purpose after Thesys C1 JSON).
  • If the memory was cross-agent / cross-client protocol → prefer A2UI (JSON, Google-led).
  • If the memory was chat tool → widget without inventing layout trees → AI SDK Generative UI or assistant-ui.
  • Classic JSON Forms / RJSF / Formily are JSON Schema form engines, not LLM agent GenUI — easy false friends.
  • Reddit primary API was unreachable from this box; HN coverage of json-render is thinner than X buzz (many low-point submissions).
  • Star counts and package surfaces move fast in Labs land — re-check repo before shipping.