返回插件库
dsh-genui 封面

dsh-genui

给模型回答装上"脸":对话里直接渲染可点击的交互式 UI 组件

github.com/omdsh-dev/dsh-genui
325 MIT 作者 omdsh-dev 更新于

安装

dsh plugin --profile web add git+https://github.com/omdsh-dev/dsh-genui.git

界面预览 3

dsh-genui

给模型的回答装上一张”脸”:正文照旧,可点击的交互式 UI 已经在旁边活起来了。

解决什么问题

模型只回文本,数据看板、可交互面板这类”富回复”做不出来。装上这个插件,问一句”这个月订单怎么样”,回答里就会随分析过程渲染出可点击的数据面板——看趋势、拖滑块、点刷新,模型真的会响应。插件自带双通道渲染:宿主暴露 fence-registry 扩展点时走 registry 通道,与宿主流式渲染管线无缝协作;没有该扩展点时(含原版 DSH 与旧版本)走 DOM 通道,观测会话 DOM 挂载自己的渲染树。

0.7.2 起支持流式渲染:组件随模型书写逐个出现,第一个完成的组件立即显示,无需等整条回复;0.8.3 起 fence 发现支持多表面(md-code-block、deepsuite 风格 .code-block 等),任何宿主构建都能渲染。渲染核心约 110KB(gzip 28KB),mermaid 与 three.js 按需加载,不拖累启动。

核心功能

  • 30+ 组件:卡片、表格、图表、表单、标签页、手风琴、文件树、时间线、diff 等
  • 函数绘图与测验plot 画曲线、参数滑块实时重绘;quiz 点击判分、本地判分零往返
  • 原生媒体:音视频内嵌播放,支持封面、宽高比与失败态
  • 状态持久化:按”会话 + 内容指纹”保存答案、提交锁与输入值,LRU 上限 200 块
  • 本地优先与诚实交互:能本地做的事本地做;无 action 的按钮渲染为禁用
  • 事件循环:按钮/开关/输入携带 action,同名事件 300ms 去抖合并
  • 工具通道与会话面板render_ui 工具、常驻可缩放面板
  • 自愈与零侵入:规格守卫 + mermaid 失败自动修复;不装插件时围栏只是代码块

快速上手

前提:已装 dsh(任意开源构建均可),且 pnpm 在 PATH(缺失则 corepack enablenpm i -g pnpm)。安装:

dsh plugin --profile web add git+https://github.com/omdsh-dev/dsh-genui.git

重启 dsh web 并硬刷新,新会话里说”用 dsh-ui 画一个统计仪表盘”验证。模型会输出 dsh-ui 围栏 JSON,浏览器端渲染器认领并渲染;组件白名单化,函数表达式走独立解析器、绝不 eval

适合谁

  • 想让 agent 输出”活”的数据面板、仪表盘与交互卡片的用户
  • 在 DSH 里做数据分析、运营报表、原型演示的开发者
  • 需要测验判分、表单收集等交互式富回复的团队
标签 UI 主题

内容根据项目 README 整理 · 版权归原作者所有

报告问题 / 申请下架

相关插件