前言¶
在 DSH 的插件化扩展方式下,Web GUI 的外观切换不只是换一个 CSS 文件。它会涉及多个皮肤包如何被发现、设置页入口在哪里、多个皮肤之间如何互斥、切换后的配置如何持久化,以及页面刷新后是否能正常生效。
dsh-skin-manager 是面向 DeepSeek Harness web GUI 的轻量皮肤管理器。它把已安装皮肤集中展示在设置页中,并提供一键应用、默认外观恢复和与 dsh-market 的联动处理。
这是什么¶
dsh-skin-manager 由 xiaoyangcheng84-svg 维护,许可证为 MIT。它不是一个独立换肤工具,而是挂载到 DSH web profile 的插件:发现已安装皮肤、提供 Settings → Skins 页面、切换活动皮肤,并在已安装 dsh-market 时同步相关状态。
它解决的问题可以概括为三件:
- 不需要逐个手动维护皮肤包的启用状态。
- 不需要反复重启
dsh web来确认皮肤是否生效。 - 多个皮肤包并存时,需要明确哪些是活动状态、哪些是禁用状态。
核心功能¶
动态发现已安装皮肤¶
它会发现已安装的皮肤,包括带 skin.json 的皮肤包,以及不带 skin.json 的市场主题。
已核实资料中给出的识别前提是:皮肤包需要满足文档中的 skin.json 或市场主题条件,并提供预构建的 client bundle。新安装的皮肤不需要额外注册或修改插件代码。
独立设置页¶
插件在设置侧栏中加入 Settings → Skins 页面。该页面会展示 Default 以及所有已安装皮肤。
一键应用与热更新¶
在设置页中对某个皮肤点击 Apply 后,插件会重写 profile 中受管理的配置部分。DSH 的配置监听会在数秒内热加载变更;随后按提示点击 Refresh,皮肤即可生效。
互斥启用¶
同一时间只启用一个皮肤。选择某个皮肤后,其他皮肤处于非活动状态。
恢复默认外观¶
页面提供 Default 选项。对 Default 点击 Apply,可以恢复 DeepSeek Harness 的默认外观。
与 dsh-market 联动¶
当环境中已安装 dsh-market 时,从 dsh-skin-manager 应用一个皮肤,还会执行以下操作:
- 更新
.dsh-market/state.json,避免启动时再次禁用刚选择的皮肤; - 卸载可能与新皮肤重叠的过期
dsh-markethot mounts; - 在重写 patch 前同步
dsh-market的内存 disabled 状态。
API 路由¶
插件提供以下路由:
/api/skin-manager/list
/api/skin-manager/apply
/api/skin-manager/bundle
这些路由分别用于获取皮肤列表、应用指定皮肤、提供皮肤的 client bundle。
安装与启用¶
使用 github: 源安装时需要机器上可用 git:
dsh plugin --profile web add github:xiaoyangcheng84-svg/dsh-skin-manager
如果使用本地检出目录,可以用 link: 方式安装:
dsh plugin --profile web add link:<path>
安装后,可以重启 dsh web,也可以依赖 dsh-market 的 hot install 机制。之后刷新页面,打开 Settings → Skins。
典型用法¶
1、打开 Settings → Skins。
2、页面中会看到 Default 以及已安装皮肤列表。
3、对目标皮肤点击 Apply。
4、出现提示时点击 Refresh,皮肤生效。
5、如果希望恢复默认外观,对 Default 点击 Apply。
适用场景与注意¶
这个插件适合在 DSH web GUI 中安装多个皮肤包、需要在设置页中集中切换外观,或希望与 dsh-market 保持状态一致的场景。
使用前需要注意:
- 插件以当前
dsh进程权限运行,安装前应检查源码与许可证。 - 许可证为 MIT。
- 依赖方面,
peerDependencies包含react ^18.2.0以及多个@deepseek-ai包。 - 皮肤包识别依赖文档中的
skin.json或市场主题条件,并且需要提供预构建 client bundle。 - 切换操作会重写 profile 的
cordis.patch.yml中由插件管理的部分;非皮肤的用户 patch 行会保持不变。
结尾¶
dsh-skin-manager 的价值在于把 DSH web GUI 的皮肤发现、启用、互斥和默认恢复收进同一个设置页,并在已有 dsh-market 时处理状态同步。
相关链接:
- GitHub:https://github.com/xiaoyangcheng84-svg/dsh-skin-manager
- 插件目录线索:https://www.skillhub.cn/plugins/xiaoyangcheng84-svg/dsh-skin-manager