ChatGPT 最新的 Intelligent UI 让人眼前一亮:让它规划一次旧金山之旅,它直接给你一张地图、几张照片、一个可以点选的路线。不用读大段文字,看就行了。

现在,Machina 用开源框架 OpenUI 在任意模型上复现了同样的交互。

他让 Claude Opus 5.5 和 Kimi K3 分别规划「旧金山一日游」,两个模型都没有输出大段文字,而是返回了一张可点击的地图和行程。下面视频是两者的对比:

问题出在哪

有一小撮重度 AI 用户在拼命消灭界面。黑屏终端,白色文字,没有按钮。他们觉得CLi才是最好的交互方式,但这群人很小。

绝大多数用 AI 的人并不想要一个黑屏终端。他们想看到东西,点击东西,快速做决定。你让 AI 帮你找酒店,它做了所有调研、比价、读评论,然后丢给你一堵文字墙,把决策工作原封不动还给了你。ChatGPT 的 Intelligent UI 解决了这个问题,却只在自己的聊天产品里提供。

如果你在构建自己的应用或帮客户做 agent,你还是在用文字回复。

Generative UI 是什么

AI 决定答案应该长什么样,屏幕自己围绕答案构建。

原理上,模型不写网页代码,而是从你预先定义好的组件里做选择:卡片、图表、地图、按钮。模型决定用哪些组件、怎么排列,OpenUI 负责把它们画到屏幕上。就像从自己打包的乐高盒子里搭东西,界面风格始终是你产品的风格,模型也不会跑到盒子外面搞破坏。

具体流程五步:

  1. 定义或复用一套组件库
  2. 从组件库生成系统 prompt
  3. 把 prompt 发给模型
  4. 模型流式返回 OpenUI Lang
  5. Renderer 渐进式渲染成界面

OpenUI Lang 好在哪

模型输出的不是 JSON,而是一种叫 OpenUI Lang 的紧凑格式。它专门为流式生成 UI 设计,核心优势就三个:

省 token。 在七个 UI 场景的基准测试中,OpenUI Lang 比 Vercel 的 JSON-Render 少用了 52.8% 的 token,比 Thesys C1 JSON 少用了 51.7%。具体到场景:contact-form 场景下差距最大,分别少了 67.1% 和 65.4%;dashboard 场景差距最小,也少了 45% 以上。完整数据:

场景 Vercel JSON-Render Thesys C1 JSON OpenUI Lang vs Vercel vs C1
simple-table 340 357 148 -56.5% -58.5%
chart-with-data 520 516 231 -55.6% -55.2%
contact-form 893 849 294 -67.1% -65.4%
dashboard 2,247 2,261 1,226 -45.4% -45.8%
pricing-page 2,487 2,379 1,195 -52.0% -49.8%
settings-panel 1,244 1,205 540 -56.6% -55.2%
e-commerce-product 2,449 2,381 1,166 -52.4% -51.0%
合计 10,180 9,948 4,800 -52.8% -51.7%

真流式。 token 到了就渲染,不用等完整 JSON 闭合。

可控。 输出被限制在你注册的组件范围内,带 Zod schema 校验,模型没法越界。

上手只要一条命令

需要 Node.js 24、pnpm,以及一个 OpenRouter 的 key。OpenRouter 用一个 key 就能调用几乎所有主流模型,这也是换模型像换配置一样简单的原因。

pnpx @openuidev/cli@latest create --example open-intelligent-ui

这条命令自动创建项目、装好依赖并启动。然后编辑 .env 文件,填入 OpenRouter 地址、key 和模型 ID,比如 anthropic/claude-opus-5.5。再 npm run dev,打开 localhost:3000,问它一个需要可视化回答的问题。地图出现了,就跑通了。

一个关键点

有网友指出,这个功能能在任何模型上跑,是因为渲染层接管了大部分工作。模型输出一个组件 schema,应用负责绘制。只要模型能返回 JSON,就能用。ChatGPT 的智能界面并没有用上什么独家模型能力,只是先做了一层渲染。

这也解释了为什么 OpenUI 能在多框架、多平台上跑。它目前支持 React、Vue、Svelte、Angular,还有 A2UI 协议(Google 的 Agent-to-User Interface)和 LangChain/LangGraph 集成。以下是和其他方案的对比:

特性 OpenUI json-render (Vercel) A2UI (Google) CopilotKit OpenGenUI
Token 消耗 1x 3x 3x 4x
延迟 (60 tok/s) 4.9s 14.2s 14.2s ~20s
流式输出 是 是 是 部分
输出一致性 是 是 是 否
组件 内置库 + 自定义 内置库 + 自定义 仅自定义 无
多平台 Web, mobile, email Web, mobile, PDF, email, video Web, iOS, Android Web
内置数据获取 是 否 否 否
内置 Chat UI 是 否 否 是

想直接试?

不想安装的话,打开 https://openui.com/compare 在浏览器里可以直接试。

GitHub:https://github.com/thesysdev/openui