dsh-generative-ui
在终端中运行以下命令:
dsh plugin install ttmouse/dsh-generative-ui
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install ttmouse/dsh-generative-ui 即可安装本插件,源码见 https://github.com/ttmouse/dsh-generative-ui。
插件介绍
在 DSH 里,助手往往只能给出文字或静态说明,用户想点一点、改一改、当场试效果时,体验会断在「描述」和「界面」之间。dsh-generative-ui 把这条链路接上:当助手在回复里写出 generative-ui 围栏代码块时,插件会在同轮对话下方自动抽出其中的 HTML 工件,并以沙箱卡片呈现出来。
每张卡片运行在独立的 iframe 里(非同源隔离),工件可以完整交互,但不会碰到宿主页面、Cookie 或本地存储。整体是纯客户端方案:没有后端、没有额外存储,工件就活在会话消息文本里,会话即状态,也无需再同步一份副本。宿主侧通过 systemPrompt 向各 Agent 广播约定;浏览器侧用与 dsh-taskboard 类似的回合累积方式,从 assistant 消息事件里提取工件,挂到对应对话位置,并通过 conversation.chat.turnTail 插槽渲染。
高度会随内容自适应:注入的引导脚本用 ResizeObserver 与 postMessage 向父页上报尺寸,卡片高度限制在 120~600px,超出部分在卡片内滚动。同时,每个工件文档会内联一套设计系统 CSS,在运行时约束排版与交互(表面层级、字号阶梯、间距与圆角 token、按钮与动效等),并把同一套规则作为 GENERATIVE_UI_GUIDANCE 交给模型;auditArtifactSource 可审计常见违规项但不阻断渲染。
适合希望在 DSH 对话流里直接产出可点可用的微型界面、又需要与主站隔离的开发者与产品/设计协作者;也适合正在探索 Generative UI、希望用统一视觉与交互边界约束模型输出的团队。
截图预览
使用场景
- 助手需要在回复里展示可点击的计数器、表单或小型仪表盘
- 希望在对话中当场演示交互原型而不离开聊天窗口
- 需要把 generative-ui 代码块自动变成消息下方的隔离卡片
适合人员
- 在 DSH 中构建 Agent 体验的插件与平台开发者
- 产品与设计希望在对话流里验证交互而非只看文字说明
- 探索 Generative UI 并需要统一视觉约束的团队