安装
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 enable 或 npm 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 里做数据分析、运营报表、原型演示的开发者
- 需要测验判分、表单收集等交互式富回复的团队
内容根据项目 README 整理 · 版权归原作者所有
报告问题 / 申请下架