前言¶
DeepSeek Harness(DSH)的 Web GUI 中,Models、Agent Presets、Plugins 等设置入口已经可以作为独立导航项使用。如果希望外观配置也有一个独立入口,并且让皮肤跟随系统明暗偏好自动切换,可以把换肤能力拆成插件来做。
dsh-tint-theme 是一个 DSH 插件,由 OneZero-Y 维护,为 DSH Web GUI 提供皮肤选择器,并包含 DSH 原生的开源编辑器颜色主题移植,以及 3 个插件原创设计。
这是什么¶
dsh-tint-theme 的定位可以概括为:为 DSH Web GUI 增加一个皮肤选择器。
它解决两个具体问题:
1、在 Settings 中提供一个专门的 Skins 入口,而不是把大量皮肤继续塞进普通外观设置中。
2、让用户选择某个皮肤家族后,插件根据系统 prefers-color-scheme 自动启用对应的 light 或 dark 皮肤,并在系统偏好变化时切换到同一家族的对应皮肤。
安装要求¶
安装前应确认 DSH 环境满足以下条件:
- 有可用的
dsh webprofile。 - 使用
@deepseek-ai/dsh-client-ui-theme 0.1.0-rc.7或更高版本。 - 仅当从源码安装,或安装需要构建的 git 依赖时,需要
Node.js >= 22.19。
安装与启用¶
先执行安装命令,其中 <your-profile> 替换为当前要使用的 DSH profile:
dsh plugin --profile <your-profile> add github:OneZero-Y/dsh-tint-theme
安装后重启该 profile,例如运行:
dsh web
然后刷新浏览器页面。
如果第一次从 git 安装时遇到 pnpm allowBuilds 错误,可以按以下步骤处理:
1、查看错误信息中提示的 exact package key。
2、在该 profile 的 pnpm-workspace.yaml 中,把这个 key 加到 allowBuilds。
3、重新运行上面同一条 add 命令。
这个限制来自 pnpm 10+ 对 git 依赖构建脚本的安全检查,不代表插件本身损坏。
本地源码安装¶
如果需要从本地构建并安装,可以先执行以下步骤:
git clone https://github.com/OneZero-Y/dsh-tint-theme.git
cd dsh-tint-theme
npm install
npm run build
dsh plugin --profile <your-profile> add "$PWD"
这一步会先拉取源码、安装依赖并构建产物,再把当前目录作为本地插件加入指定 profile。
核心功能¶
安装完成后,Settings 导航中会新增一个 Skins 入口,与 Models / Agent Presets / Plugins 并列。
Skins 页面会显示一组皮肤家族瓦片,以及一个 Default 瓦片。选择某个皮肤家族后:
- 插件根据当前系统
prefers-color-scheme启用该家族的 light 或 dark 皮肤。 - 如果系统颜色偏好发生变化,插件会自动切换到该家族对应的 light 或 dark 皮肤。
- 用户选择的皮肤家族会保存到插件自己的 settings namespace,并在启动时重新应用。
- 选择 Default 后,外观控制权会交回内置 Appearance 行。
皮肤来源¶
dsh-tint-theme 共包含 25 个皮肤家族:
- 22 个皮肤家族移植自开源编辑器颜色主题。
- 3 个皮肤家族为本插件原创设计:Aftertype、Signalwave、Quietloop。
Aftertype、Signalwave、Quietloop 不是对任何商业编辑器或 AI coding tool 的移植,也没有从属关系。
移植主题的完整列表、上游仓库和许可证信息见仓库中的 THIRD_PARTY_NOTICES.md。
为什么要求 rc.7¶
这个插件要求 @deepseek-ai/dsh-client-ui-theme 0.1.0-rc.7 或更高版本,因为它需要把自己的皮肤选择持久化到插件 settings namespace。
早期针对 rc.6 及更低版本的发布无法保留自己的选择:宿主会把第三方 settings namespace 放在一个 allowlist 后面,插件自己的偏好存储无法被浏览器读回。rc.7 移除了这个 allowlist,因此插件才能保存用户选择,并在启动时重新应用。
卸载¶
执行下面的命令移除插件:
dsh plugin --profile <your-profile> remove @onezero-y/dsh-tint-theme
适用场景与注意¶
这个插件适合在 DSH Web GUI 中使用 dsh web profile,并希望把皮肤切换作为独立设置项的用户。
使用前需要注意:
- 插件以当前 DSH 进程权限运行,安装前应检查源码、依赖和许可证。
- 插件许可证为 MIT;移植主题的第三方许可证信息见
THIRD_PARTY_NOTICES.md。 - 从源码安装时,需要满足
Node.js >= 22.19的要求。 - DSH 插件生态中的社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不要把它理解为官方应用商店。
结尾¶
dsh-tint-theme 提供了一个可安装的 DSH Web GUI 皮肤选择器:新增 Skins 设置入口,跟随系统明暗偏好,保存用户选择,并覆盖 25 个皮肤家族。
GitHub 源码地址:
https://github.com/OneZero-Y/dsh-tint-theme
如果通过 DSH 社区目录浏览插件,可按插件名 dsh-tint-theme 搜索。