前言¶
DeepSeek Harness(DSH)的对话输出通常以文本为主。当模型调用 render_ui 工具生成 OpenUI Lang 1.0 程序时,如果没有对应的渲染器,这些结构化指令只能被当作普通文本展示,无法发挥交互能力。
dsh-intelligent-ui 解决的就是这个问题。它把模型用 OpenUI Lang 写出的 UI 程序在浏览器中实时渲染成可交互页面——地图、图表、表单、小游戏等都是真实组件,不是截图。
插件定位¶
zephinel/dsh-intelligent-ui 是一个客户端插件,基于 MIT 许可证的 Open Intelligent UI 移植而来,随插件注册了 intelligent-ui Agent Skill。当前已发布到 npm,版本 0.4.2,需要 DSH 0.2.1 支持。
插件不会改变模型的行为,只负责把模型调用 render_ui 后的输出渲染成页面。如果模型不调用该工具,插件不会影响回答方式。
核心功能¶
交互页面渲染¶
插件内置了一套完整的组件库:57 个组件、73 个函数、5 类动作,以及 11 种布局和 12 种文本组件。支持渲染的内容包括:
- 地图、照片、图表、清单、表单
- SVG 绘图与沙盒 iframe 小游戏
- 翻面卡、撒花开关等交互控件
所有这些都不是截图,而是可以在浏览器中直接操作的 DOM 元素。
本地执行¶
卡片内的 $变量、@Set、@functions 都在浏览器本地执行。勾选、滑动条、Stepper、计时器、预算分配等操作不需要再请求模型,只有真正需要继续对话的动作(如 @ToAssistant)才会把消息放回输入框。
导出功能¶
渲染完成后,每条消息底部会出现「导出」按钮,可以把该轮全部卡片保存为 PNG(原始 / 圆角 / 卡片三种美化)或导出为单文件 HTML,在浏览器中继续交互。导出的图片只包含渲染出的卡片,不包含聊天文字或导出按钮。
开关与样式¶
全局默认在插件详情页设置,包括「在所有会话中启用」与「回答样式」。在 Composer 的 UI 控件里可以选择「仅本会话」来覆盖全局设置,样式包括内置的 Auto / Card / Article,以及已保存的自定义模板。
Auto 模式由模型按请求选择:交互/结构化用紧凑 Card,详尽/深入/长文用 Article。Article 需要 Toc、可折叠 Section 和实质正文。
按需生成¶
在 UI 面板选择「按需生成」,正常发送需求。示例只填入输入框,保留已有草稿,不自动发送。发送后,有结构的需求直接渲染,有歧义时由内置 ask_user_question 结构化提问,回答后继续生成。
双语与主题¶
插件跟随 DSH 的界面语言。字典在 src/shared/locales.ts。主题支持明暗配色、字体、圆角、密度、阴影,可以在「我的样式」中保存可复用的展示偏好。
安装与启用¶
前置条件¶
- DSH 0.2.1(Host/Client 与插件协议按这个版本开发)
- Node.js 24(构建、测试与
npm pack都在 Node 24 下验证) @deepseek-ai/dsh-client-locale(浏览器端需要)
确认版本:
node --version # v24.x
dsh --version # 0.2.1 或 0.2.1-rc.2
安装命令¶
从 npm 安装:
dsh plugin --profile web add @zephinel/dsh-intelligent-ui
# 固定当前版本
dsh plugin --profile web add @zephinel/dsh-intelligent-ui@0.4.2
或从 GitHub 安装:
dsh plugin --profile web add github:Zephinel/dsh-intelligent-ui
安装完成后重启承载 Web UI 的 DSH 进程(前台 dsh web:Ctrl+C 后重新运行;launchd/systemd:重启对应服务)。
启用¶
打开插件后,在输入框右侧的 UI 控件里选择「仅本会话」(或使用命令 /iui on)。桌面版不需要终端命令,在应用内「插件」→「添加插件」后点「立即启用」。
典型用法¶
开启开关后直接用自然语言提问。例如:
- 「帮我排一个上海两日游,要能勾选和调整」
- 「做一个 7 速自行车的换挡模拟器」
- 「把这几张表变成一个可以筛选的销售看板」
- 「介绍一下中国历史,要能按朝代展开」
先选「按需生成」,再发送「把这次分析做成紧凑仪表盘,用卡片和图表突出关键指标」。
有结构的回答默认用卡片呈现——包括讲解、介绍、时间线、阶段、对比和可探索内容。文字只用于单个事实、一两句话的答复,或渲染连续失败时。
如果一定要保证出卡片,可以在开关已打开的会话里用 /intelligent-ui 显式调用技能,或说「读取 intelligent-ui skill 然后用 render_ui 做一个…」。
适用场景与注意¶
适合需要模型输出结构化交互内容的场景:行程规划、数据看板、表单填报、小游戏、SVG 绘图等。插件以当前 dsh 进程的权限运行,安装前应检查源码与许可证。
插件没有独立开发服务器,也没有 watch 模式。日常检查与打包使用 npm run check、npm run test:browser 等脚本。
总结¶
dsh-intelligent-ui 把 DSH 从纯文本对话扩展为可交互的 UI 生成工具。它不改变模型行为,只负责把模型用 OpenUI Lang 写出的结构化内容渲染成真实可用的页面。对于需要图表、地图、表单或交互式组件的智能体应用,这是一个直接的集成方案。
插件目录:https://www.skillhub.cn/plugins/Zephinel/dsh-intelligent-ui
GitHub:https://github.com/Zephinel/dsh-intelligent-ui