GenUI SDK 是 OpenTiny 团队围绕 Generative UI(生成式 UI) 构建的全栈开发工具包。

先别被名字吓到。核心概念很简单:
| 维度 | 传统对话式 AI | Generative UI |
|---|---|---|
| AI 输出 | 纯文本/Markdown | 可交互组件(表单、图表、卡片) |
| 用户能做什么 | 只能继续对话 | 直接在 AI 生成的 UI 上操作 |
| 信息密度 | 低(文字描述订单) | 高(直接给你一个订单卡片) |
举个例子:用户问"帮我查一下订单状态",传统 AI 用文字描述订单信息;Generative UI 直接渲染一个订单卡片——状态标签、操作按钮,你可以直接点"取消订单"。
这就是 GenUI SDK 要做的事:让 AI 的输出从自然语言升级到组件描述语言。
当前版本 @opentiny/[email protected],MIT 许可证,113 Stars。语言构成:TypeScript 66.2% + Vue 31.2%。
GenUI SDK 的"魔法"本质是一条管线:
复制代码AI 输出 → UI Schema → 渲染器解析 → Vue/Angular 组件 → 用户交互 → 新消息 → AI
Schema 不是硬编码的 HTML 或 Vue 模板,而是描述式的组件定义:
Form、Card、Chart)关键洞察:AI 的输出格式从"自然语言"变成了"组件描述语言",前端渲染器把描述翻译成真正的 UI。这意味着——AI 不需要知道 Vue 怎么写,它只需要知道"我要一个表格,三列,数据是这些"。
复制代码genui-sdk/
├── packages/
│ ├── server/ # 后端服务包
│ ├── frameworks/ # 前端框架包
│ │ ├── vue/ # Vue 渲染器
│ │ └── angular/ # Angular 渲染器
│ ├── core/ # 核心共享逻辑
│ ├── materials/ # 物料/组件描述
│ ├── chat-completions/ # 聊天补全
│ ├── benchmarks/ # 性能基准测试
│ └── ...
├── projects/ # 示例项目
├── sites/ # Playground 站点
├── docs/ # 文档
└── pnpm-workspace.yaml
| 包名 | 干什么 | 核心能力 |
|---|---|---|
@opentiny/genui-sdk-server | 后端大脑 | LLM 对接、消息编排、工具调用、访问控制 |
@opentiny/genui-sdk-vue | Vue 前端渲染器 | Schema 解析、组件动态渲染、主题定制 |
@opentiny/genui-sdk-angular | Angular 前端渲染器 | Schema 解析、Angular 组件动态渲染 |
前后端一体化——不是只做前端画个壳,Server 包是 GenUI 的"大脑",负责把纯文本响应编排成带 UI Schema 的结构化响应。
Server 包的核心价值在于对响应进行编排和增强:
一句话:Server 不是简单透传 API 响应,它要把"AI 说的话"翻译成"前端能画的东西"。
Vue 渲染器的工作流:
<component :is="xxx"> 动态渲染定制化能力很强:
复制代码packages/materials/
Materials 包是 GenUI 的"字典"——定义 AI 可以使用的组件"词汇":
扩展流程:
AI 的生成能力始终与前端渲染能力对齐——不会出现"AI 画了个前端画不出来"的情况。
GenUI SDK 支持 MCP(Model Context Protocol)扩展:
这意味着用户跟 AI 说"帮我查本月销售数据",AI 不只是文字描述,而是直接给你一个图表组件,你可以切换维度、筛选条件——真正可交互的 AI。
Angular 渲染器跟 Vue 渲染器功能对称,用 Angular Dynamic Component 机制渲染 Schema 指定的组件。
双框架渲染器的设计哲学:Schema 是通用的,渲染器是可替换的。你选 Vue 就用 Vue 渲染器,选 Angular 就用 Angular 渲染器——框架中立,不是 Vue 独占。
GenUI 提供了在线 Playground:opentiny.github.io/genui-sdk/p…
最妙的是——Playground 本身就是用 GenUI SDK 构建的。你在 Playground 中与 AI 对话,AI 生成的 UI 就是 GenUI 的实际效果。这叫"自己证明自己",比任何文档截图都管用。
| 搭档 | 关系 |
|---|---|
| TinyRobot | GenUI Vue 渲染器可能复用 TinyRobot 对话组件做基础 UI 层 |
| NEXT SDK | NEXT SDK 的 WebMCP 能力可为 GenUI 工具调用提供浏览器端通道 |
| TinyVue | GenUI 组件物料可以包含 TinyVue 组件——AI 生成 TinyVue 标准组件 |
| TinyEngine | Schema 渲染理念与低代码渲染有相似性 |
GenUI SDK 在生态中处于AI 应用层——利用底层组件(TinyVue/TinyRobot)和协议层(NEXT SDK/WebMCP),构建面向终端用户的 Generative UI 应用。
GenUI SDK 代表了 AI 前端交互的下一代范式——从纯文本对话进化到可交互的生成式 UI。虽然项目尚处早期,但架构设计展现了清晰的愿景和扎实的工程基础。
| 资源 | 地址 |
|---|---|
| GitHub 源码 | github.com/opentiny/ge… |
| 官方文档 | docs.opentiny.design/genui-sdk/g… |
| Playground | opentiny.github.io/genui-sdk/p… |
| Server 文档 | docs.opentiny.design/genui-sdk/g… |
| 官网首页 | opentiny.design/genui-sdk |
| npm Vue 包 | www.npmjs.com/package/@op… |