uiUI 组件系统
对比

受限生成式界面

Generative UI / Component Registry

把结构化结果映射成已注册的卡片、图表或表单。

交互预览实时预览
核对官方来源

状态:已完成(示例)

从明确注册的组件与属性渲染,不执行生成的代码。
从已注册的视图中切换
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

const view = mount(
  document.querySelector('#example'),
  'generative-ui'
);

view.element.addEventListener('ui:change', event => {
  console.log(event.detail.value);
});

// view.update({ ...nextProps });
// view.destroy();

什么时候用

数据需要交互展示,并且可用组件及动作有明确边界。

什么时候不用

不要把模型生成的任意代码直接视为可信应用界面。

COMPONENT API

属性与事件

传入业务数据,通过事件连接你的应用。

属性默认值
label"从已注册组件中渲染"
value"task"
views[{"id":"task","label":"任务视图","component":"alert","props":{"title":"核对官方来源","description":"状态:已完成(示例)"}},{"id":"decision","label":"决策视图","component":"a
note"从明确注册的组件与属性渲染,不执行生成的代码。"

事件

ui:change ui:error

安装、生命周期与完整 API ↗

INTERACTION NOTES

交互与可访问性

  • 生成后仍需保持标签、顺序与焦点。
  • 更新组件时避免打断用户正在操作的表单。

和相似组件的区别

受限渲染选择既有组件;Artifacts 可只是静态产物,协议描述也不等于组件实现。

RESEARCH & ALTERNATIVES

官方实现映射

以下是上游生态对同类交互的实现。上方运行的是 UI 自己的组件。

需组合

注册组件与 schema;Interactable 按 ID 跨对话更新。

需组合

由消费方提供组件词汇或 allowlist。

需组合

使用声明式 Widget JSON;用户动作交回应用处理,不是独立 React 组件集合。

关键状态

接收结构渐进填充渲染完成未知组件参数校验失败

React / Next.js、Web Components · 来源核验

一起了解

产物预览 ↗表单与字段 ↗审批与人工接管 ↗