前言¶
在 DeepSeek Harness(DSH)里,模型往往用文字或 Markdown 回答;遇到需要调参数、对比方案或看图看地图的问题,纯文本不够直观,你也很难把「当前界面上的选择」原样送回同一会话继续追问。社区插件 dsh-intelligent-ui 面向这类需求:由当前 DSH 模型调用工具生成界面,插件负责校验、在聊天中展示、持久化与重放,并支持经宿主确认后把追问送回原会话。维护者为 NingTiAn-byte,在插件目录中归类为客户端;仓库简介为面向 DeepSeek Harness 的可交互、可重放生成式 UI,涵盖图表、地图、图片、模板,并可独立作为 MCP 使用。
这是什么¶
DSH Intelligent UI(npm 包名 @ningtian-byte/dsh-intelligent-ui,当前版本 1.2.1)是 DSH 的客户端插件:你在对话里描述目标,模型选择展示形式并调用渲染类工具,Host 校验文档与资源,Client 在隔离 iframe 中显示 HTML/CSS/JavaScript(及 DOM、SVG、Canvas),结果挂在独立聊天节点上,刷新会话后仍可重放,也可导出单文件 HTML。许可证为 MIT。
核心功能¶
下面按 README 已写明的能力归纳,不展开未在资料中出现的细节。
聊天内交互与呈现¶
- 生成过程中先显示静态预览,工具成功后再启用脚本;脚本在
sandbox="allow-scripts"的 iframe 内运行,流式阶段不执行生成脚本。 - 界面跟随 DSH 浅色/深色、字号和字体,内容自动测高,并显示可捕获的脚本运行错误。
- 内置六种模板(如计算器、对比、流程图、折线/柱状/饼图),结构化只读表格,以及 Chart.js 4.5.1、Leaflet 1.9.4,无需为常用图表再生成 CDN 加载代码。
地图与资源¶
- 高德模式:Host 侧使用 Web 服务 Key 做地点搜索与官方静态底图;聊天卡片内由 Leaflet 负责标记、选点、缩放、平移和行程播放。底图为固定区域快照,放大不会加载新瓦片。
- 原有 OpenFreeMap 模式:可配合百科/Commons 图片搜索,展示地点来源与图片署名;个别地点无法定位时会明确提示,其余已确认地点继续显示。
持久化、重放与追问¶
- 界面文档与资源保存在工具结果 metadata 中,历史重放无需让模型重新生成整份界面;支持重置与单文件 HTML 导出(导出页可独立交互,但不能直接向 DSH 发追问)。
- 界面内可通过
window.dshUI.sendPrompt等桥接发起追问,经用户确认后入队回原会话;可订阅运行状态(等待确认、已入队、完成、失败或取消等)。 - 资料说明:保存不保证保留滑块位置、游戏分数等临时运行状态。
工具与独立 MCP¶
默认 routing: model 时注册 11 个工具(关闭展示路由后为 10 个),包括展示形式选择、通用 UI 渲染、模板获取、表格/图表/地图、地点查询、图片搜索、方案规划、只读工作流展示、会议时间选择等。同一套文档校验、模板与 HTML 装配也可通过包的 ./mcp 导出,供自行接入渲染容器的客户端使用。
安装与启用¶
环境要求¶
| 项目 | 要求 |
|---|---|
| 插件版本 | 1.2.1 |
| DSH 宿主 | 0.2.1-rc.2 |
| Node.js | 22.19+(README 注明本地验证使用 Node 24) |
| 已验证客户端路径 | Windows 发行版 CLI 启动的独立 Web profile |
插件以当前 DSH 进程权限运行;安装前请自行查看仓库源码与 MIT 许可证。社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系。
使用预构建包(推荐)¶
已有 DSH 0.2.1-rc.2 和正在使用的 Web profile 时,可直接安装 Release 预构建包:
dsh plugin --profile web add https://github.com/NingTiAn-byte/dsh-intelligent-ui/releases/download/v1.2.1/dsh-intelligent-ui.tgz --ignore-scripts
将 web 换成你实际的 profile 名称。安装后按宿主提示刷新或重启;模型服务使用该 profile 自己的配置。
高德地图(可选)¶
使用高德地点搜索与静态底图时,需在高德控制台申请 Web 服务 Key(不是 Web 端 JS API Key)。在插件根目录创建 .env,写入:
DSH_AMAP_KEY=你的高德Web服务Key
修改后重启 DSH。也可用配置项 amapEnvFile 指定其他 .env 路径;预览场景可参考仓库中的 preview/amap.example.yml 复制为本地配置并设置 mapProvider: amap。
典型用法¶
描述你需要的界面即可;首次验证工具链时,建议在提示词中明确要求调用工具。README 提供的示例如下。
第一个交互界面(FFT 可视化):
我想知道FFT算法的可视化表达是什么样的。
原理演示(单摆):
生成一个交互式单摆演示,可以调节摆长和重力加速度。
提供开始、暂停和重置,展示周期公式、参数单位与理想模型假设。
数据图表:
用柱状图比较 A、B、C 三种方案的耗时:12、18、9 分钟。
数据来源注明“用户提供的演示数据”,保留可读的数据表。
地理介绍(需先配置高德 Key):
使用高德地图介绍上海的豫园、外滩、南京东路、陆家嘴、武康路和新天地,城市指定上海。
按地点名称查询,提供地点卡片、选点和行程播放,并保留来源链接。
验证主线时,可按 README 建议:检查模型是否调用工具、卡片是否可操作、刷新会话后是否仍能渲染、界面内追问经确认后是否回到当前会话。
本地无需模型即可检查控件与预览逻辑:
npm run preview
无图形环境仅生成页面:
npm run preview -- --no-open
适用场景与注意¶
适合: 需要在 DSH 对话里做参数可调的原理演示、方案对比计算器、带单位与来源的图表、地点/行程地图、小型表单或 DOM/SVG/Canvas 小工具,并希望结果可保存、重放,并把界面上的追问送回同一会话的团队或个人开发者。
注意:
- 须使用能调用工具的模型;展示路由由当前会话模型在一次工具选择中决定,复杂游戏或科学模拟仍需你实际操作确认逻辑。
- 地图首次准备需联网;底图下载、权限或配额错误会返回具体原因。
- 从源码开发或独立实例时,README 提供 PowerShell 脚本
scripts/run-dsh.ps1(默认端口3098),与日常桌面 profile 的安装状态无关,桌面壳内完整交互需另行验收。 - 仓库在 GitHub 上星标为 0(以目录页线索为准),功能与兼容性以 README 与 Release 为准。
结尾¶
DSH Intelligent UI 把「生成 → 交互 → 保存重放 → 追问」串在一条对话主线上,并附带模板、图表、地图与 MCP 出口,适合作为 DSH 客户端侧的可视化与小型应用插件使用。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。