前言¶
DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。在实际使用中,默认的界面配色可能无法满足个人偏好,而手动修改宿主源码不仅繁琐,还可能导致宿主升级后出现兼容问题。dsh-skin-center 针对这一痛点,提供了一套官方插件化的换肤解决方案,允许在不触碰宿主源码的前提下,通过运行时注入的方式改变界面外观。
插件简介¶
dsh-skin-center 是由 bruce-hmz 维护的 DSH 官方插件。它通过加法安装的方式提供皮肤功能,默认保留 DSH 原生外观,新增皮肤选项列于原生选项下方。插件采用宿主端与浏览器端双端架构,实现了零源码改动、首屏零闪屏以及多标签实时同步。
安装与启用¶
在安装前,请确保你的 DeepSeek Harness 版本在 0.1.5-rc.2 及以上。
使用 CLI 安装插件:
dsh plugin --profile web add dsh-skin-center
安装完成后,启动 Web 模式:
dsh web
在浏览器中访问 http://127.0.0.1:3080,进入 设置 -> 通用设置 -> 皮肤 页面,即可看到皮肤列表。点击即可切换。
核心功能¶
该插件主要包含以下能力:
- 35 套内置皮肤:包含 21 套 ACG 风格皮肤(如 QQ 怀旧、原神、火影、鸣潮等)和 14 套开发者经典配色(如 Gruvbox、Nord、Dracula、Tokyo Night、Catppuccin 等)。
- 零宿主源码改动:不覆盖任何宿主文件,不进行源码打补丁。界面钩子由插件在浏览器运行时“盖章”,即使宿主升级,插件也基本不受影响。
- 加法安装:默认保留 DSH 原生外观(浅色/深色/跟随系统),皮肤选项作为补充出现在下方。安装后默认选中“默认”,不改变现有外观。
- 皮肤包导入/导出:支持将当前皮肤导出为 JSON 文件,或导入 JSON 文件使用。这方便了社区之间的皮肤分享。
- 一张图自定义:支持上传一张 PNG、JPG 或 WebP 图片作为皮肤背景,系统会自动进行 96px 采样取色和 WebP 编码处理。
- 多标签实时同步:利用 BroadcastChannel 机制,一个标签页切换皮肤,所有打开的标签页会实时同步更新。
- 首屏零闪屏:皮肤选择持久化在
~/.dsh/skins/selection.json,宿主在 HTML 中内联首屏配色,避免切换时的视觉闪烁。
工作原理与数据存储¶
插件采用“宿主半”与“浏览器半”的架构:
* 宿主半:负责注册皮肤路由、背景图读写与更新检查,并在 HTML 中内联首屏配色属性。
* 浏览器半:通过官方浏览器名册加载,负责设置行插入、DOM 界面盖章、标题栏 DOM 岛构建以及跨标签广播。
皮肤数据与配置存储在用户目录下:
~/.dsh/skins/
注意事项¶
- 许可证:代码遵循 MIT License,但第三方素材(皮肤图片)有单独的许可,商用前请自行核对素材来源。
- 桌面端安装:桌面端不再支持 CLI 插件安装,需在应用自带的“插件管理”界面中搜索
dsh-skin-center进行安装。