前言¶
DeepSeek Harness(DSH)的 Web 端支持通过插件扩展界面与能力。装多个插件后,常见问题是:官方界面仍有未完成或自相矛盾的细节,第三方设置页标题、间距、图标各写各的,better-sidebar、widgets 等插件之间还会出现样式冲突。逐个改插件源码成本高,也不利于卸载回退。
下面介绍 Physicolor 维护的客户端插件 dsh-ui-harmonizer(npm 包名 dsh-ui-harmonizer)。它不改会话日志、不增加模型工具,只在浏览器侧通过官方 slot 与 --dsw-* 语义令牌做 CSS 覆盖和运行时 DOM 协调,把界面拉回官方设计语言,并可一键卸载、不留残留。
这是什么¶
dsh-ui-harmonizer 是 纯客户端 DSH bundle 插件。宿主(node)侧为 no-op,所有改动发生在浏览器半侧。它通过 settings.section、settings.general.item、shell.overlay 等官方 slot 注入样式与逻辑,不修改插件源码。
- 维护者:Physicolor
- 分类:客户端(
dsh.client.platform: web) - 许可证:MIT
- 当前版本:v0.8.0
- 兼容:DeepSeek Harness
0.1.0-rc.6及后续兼容的0.1.x
核心功能¶
官方 UI 规范化¶
针对官方界面中不一致或未完成的区域,插件做了统一处理:
| 能力 | 说明 |
|---|---|
| 单行页头 | 将对话 / 轨迹选择器并入标题行,页头收拢为单行 |
| 按钮胶囊族 | 会话日志、widgets、开关按钮统一为 32px 胶囊样式 |
| 右侧栏贴边圆角矩形 | better-sidebar 面板 overlay 布局协调,页头保持固定 |
| 统一设置页头 | 标题 18/600、描述 13px、细线分隔 |
| 原生 title 工具提示 | 仅带 HTML title 的元素改为官方深色 Tooltip 气泡,而非系统原生弹窗 |
插件视觉协调¶
对已知的第三方插件做针对性样式对齐:
| 目标 | 做法 |
|---|---|
dsh-better-sidebar |
开关按钮胶囊化、面板背景统一、布局与过渡协调 |
dsh-widgets |
统计胶囊族对齐、页头工具区对齐 |
| 第三方设置页 | 自动补全标题、去掉冗余图标、统一间距 |
已知协调对象还包括 dsh-notification、dshmarket。插件通过官方 slot 顺序共存,卸载或禁用后页面恢复默认,无残留。
设置页自动规范化¶
当第三方插件向 settings.section 注册的页面不符合官方规范时,插件会自动修正:
| 检查项 | 修正 |
|---|---|
| 缺少页面标题 | 从导航标签或已知映射注入 18/600 标题 |
| 标题旁冗余图标 | 移除标题行 logo,保留纯文本 |
| 标题与描述间距过紧 | 统一为 4px 间距 + 细线分隔 |
| 字号不一致 | 标题 18/600,描述 13/20,加 border-bottom |
UI 自定义¶
在 设置 → 通用 下会出现「UI Customization」区块,支持实时调整:
- 对话区宽度
- Markdown 字号
- 工作区缩放
- UI 字体栈
- 圆角卡片(rounded card):对话区以圆角左上 + 阴影呈现为卡片,随侧栏宽度与详情列自动伸缩
v0.8.0 起,圆角卡片模式会包裹会话页头;better-sidebar 开关簇在面板关闭时有不透明底座,打开时收拢为紧凑浮动芯片。
架构要点¶
- 零模型成本:不调用模型,不改会话数据。
- 官方设计令牌:样式基于
--dsw-*,自动跟随浅色 / 深色主题。 - 双通道注入:CSS Modules 静态规则 + 动态
<style data-plugin>标签。 - 可逆清理:fiber-effect disposer 管理副作用,卸载即恢复。
安装与启用¶
通过 DSH 插件市场(npm)安装:
dsh plugin --profile web add dsh-ui-harmonizer
安装后需在浏览器中 硬刷新(Ctrl+Shift+R)。刷新后,在 设置 → 通用 中应能看到「UI Customization」区块。
本地开发可用 link 方式挂载(README 示例路径为开发者本机目录,按需替换):
dsh plugin --profile web add link:D:/dsh-home/plugins/harness-ui-enhancer
典型用法¶
安装并硬刷新后,无需额外命令。界面规范化与插件协调在后台自动生效。
若需调整视觉参数,打开 设置 → 通用 → UI Customization,按需修改对话宽度、Markdown 字号、工作区缩放、字体栈或圆角卡片开关,改动即时生效。
若某子树需要退出原生 title 的 Tooltip 统一(v0.8.0),可在祖先元素上设置 data-enhc-no-tooltip,该子树恢复使用原始 title 行为。
适用场景与注意¶
适合谁
- 同时安装多个 DSH Web 插件,界面风格杂乱、设置页排版不统一
- 希望在不改插件源码的前提下,把 Web UI 对齐官方
--dsw-*设计语言 - 需要可调对话区宽度、字号、圆角卡片等个性化选项,且要求卸载可回退
注意事项
- 插件以当前 DSH 进程权限运行,安装前建议阅读 GitHub 仓库 源码并确认 MIT 许可证。
- 仅适用于 Web profile(
--profile web),不提供宿主侧能力。 - 路线图显示官方 UI 规范化、插件兼容协调、统一视觉风格(含圆角卡片、Tooltip 统一等)仍在持续迭代;Liquid Glass 等材质层为可选实验方向,尚未作为默认能力发布。
- SkillHub 目录页与 GitHub 由社区维护,与 DeepSeek / 幻方无官方从属关系;安装命令以 README 与目录页为准,勿凭包名自行拼接
github:owner/repo形式。
结尾¶
dsh-ui-harmonizer 把「多插件并存时的 UI 摩擦」收敛到一层可卸载的客户端抛光层:规范化官方未完成细节、协调 better-sidebar / widgets 等已知插件、自动修正设置页排版,并在设置中提供可实时调整的宽度、字号与圆角卡片。若你正在堆叠 DSH Web 插件,可以先装这一个,再硬刷新看效果。