dsh-visualize
Nagi-ovo/dsh-visualize
对话内生成式 UI:模型把交互式 HTML 卡片直接画进会话流,带流式预览与沙箱渲染。
安装
把 dsh-visualize 装进 DeepSeek Harness
npm 方式
直接拉已发布的 tarball,不用克隆整个仓库,也不需要额外配置。如果你用的是别的 profile,把 `web` 换成对应的名字。
GitHub 方式 · npm 包
从 GitHub 装会执行项目自己的构建脚本,而 pnpm 默认拦着不让跑——先跑一次这条命令,pnpm 会打印出要加到 ~/.dsh/profiles/web/pnpm-workspace.yaml 里 `allowBuilds` 下面的那个 key。
我们跑过之后
我们跑过,装得上
这里每条命令都在一次性容器里、对着干净 profile 真跑过,结果取自 harness 自己的记录,不是读源码猜的。 最近一次 11 天前.
挂进你的 README
给维护者的:badge 取这条 listing 最近一次 sandbox 实测的结果,重跑之后它自己会变,读者点开就是这页的完整记录。
安装前须知
装 dsh-visualize 之前,先看这几条
- 源码在这里: Nagi-ovo/dsh-visualize——已进入社区精选库,DSH 自带的插件市场就是从这儿装的。
- 开源协议:BSD-3-Clause。
- 被收录在这里不代表通过了安全审计。插件是带着你 agent 的权限在跑。
AI 锐评
是什么 — DSH 可在对话流中嵌入交互式 HTML 卡片。
谁该装 — 当你想在对话中展示模拟器、图表、对比面板或 UI mockup 时,该插件能让界面更直观。 纯文本交互的用户无需此插件,因为它仅限于 Web UI。
注意 — 从源码装时需要先手动放行它的构建脚本。 沙箱测试通过,没发现明显的坑。
锐评 — 我会安装它,因为它让对话输出包含交互内容,而这比纯文本更完整。
grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。
dsh-visualize 是做什么的

dsh-visualize 是一个 DeepSeek Harness 插件,用于在 Web UI 的会话流中显示模型生成的交互式 HTML 卡片。它适合制作模拟器、图表、参数对比面板和 UI mockup,让回答不只停留在文字层面。
模型先生成 HTML fragment,再调用 visualize(path, title?, mode?)。插件从指定 path 读取 fragment,并交给 Web UI 渲染;需要更宽布局时可使用 mode: "wide"。卡片运行在不透明来源的 sandboxed iframe 中,不能访问宿主页面。CSP 会阻止网络请求、嵌套页面和表单提交,只允许从固定 CDN 加载静态资源。卡片会跟随 DSH 的明暗主题和配色,工具结果会持久化,因此重放会话时不要求原始 fragment 文件仍然存在。
它适合使用 web profile、需要交互式视觉解释的 agent。若使用 TUI 或 headless 客户端,不应安装 dsh-visualize:这些客户端只显示普通工具结果。需要联网、嵌套页面、表单提交,或让卡片按钮向主会话发送 follow-up 消息时,它也不合适。单个 fragment 默认最多 1000000 字节,可用 maxFragmentBytes 调整。
dsh-visualize 的文档
行为说明
模型生成 HTML fragment 后调用 visualize(path, title?, mode?)。path 指向待渲染的 fragment,title 可选;需要横向空间时,将 mode 设为 "wide"。卡片显示在 DSH Web UI 的会话流中,并跟随明暗主题和鲸鱼蓝配色。
配置
单个 fragment 的大小限制如下:
| 配置 | 默认值 | 作用 |
|---|---|---|
maxFragmentBytes |
1000000 字节 |
限制单个 HTML fragment 的大小 |
README 未说明其他配置键。
渲染与重放
卡片运行于不透明来源的 sandboxed iframe,不能接触宿主页面。CSP 会阻止网络请求、嵌套页面和表单提交;静态资源只能从固定 CDN 加载。会话重放时,卡片从持久化的工具结果恢复,不依赖原始 fragment 文件仍然存在。
命令
使用 web profile 时,可运行 dsh --profile web --dump-config 检查插件是否进入最终配置。若 DSH Web 正在运行,修改插件后需要重启并刷新页面。仓库已提交构建产物,从本地源码仓库安装时不需要额外构建步骤。
已知限制
目前只有 Web UI 会渲染交互式卡片;TUI 和 headless 客户端显示普通工具结果。卡片内的按钮暂时不能向主会话发送 follow-up 消息。
根据项目自己的文档整理,会跟着上游更新。两边对不上时以源码仓库为准—— 去 GitHub 看原始 README
同一分类
dsh-visualize 的同类插件
dsh-web-all
zhu1090093659
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
我们跑过,装得上
dsh-web-ui-all
zhu1090093659
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
没有一行式安装命令——这个插件在一个大仓库的子目录里,也没发 npm 包。