前言¶
DeepSeek Harness(DSH)的 Web 客户端自带「外观」一行:浅色、深色、跟随系统,三个选项在界面里是写死的。社区里若用 ctx.theme.register() 注册第三方主题,不仅进不了官方选择器,ctx.theme.setTheme(第三方id) 在实现里也只会把 light|dark|system 写进设置,其余 id 重启即失。上游 README 对第三方主题的表述是:扩展点存在,但不是一等产品能力。
若你只想换一套更顺眼的配色、又希望明暗偏好和系统切换照常工作,需要一条不跟 register() 抢死路的实现。下面介绍维护者 kjx-talesofai 发布的 dsh-plugin-theme-workbench(SkillHub 分类:趣味换装):五套主题,每套各含浅色与深色两套色板,选择写入 Host 偏好而非浏览器 localStorage。
这是什么¶
dsh-plugin-theme-workbench 是 DSH Web 客户端的主题插件。它在「设置 → 通用」中增加一行 主题 选择器,提供五套可选配色;你仍在同一页的 外观 里切换浅色 / 深色 / 跟随系统,插件在当前内置主题之上叠一层 token,明暗模式会切换到对应色板。
- 维护者:kjx-talesofai
- 仓库:https://github.com/kjx-talesofai/dsh-plugin-theme-workbench
- 目录页:https://www.skillhub.cn/plugins/kjx-talesofai/dsh-plugin-theme-workbench
- 许可证:MIT(见仓库)
- 引擎要求:
dsh与@deepseek-ai/dsh均为>=0.2.0-rc.1 <0.3.0-0;Node>=22 - 当前 package 版本:0.1.4
插件未发布到 npm registry,通过 DSH「添加插件」或 CLI 从 GitHub 指定 release 安装即可。
核心功能¶
五套主题与明暗双 palette¶
每套主题由浅色、深色各三个种子色(画布 canvas、文字 ink、强调 accent)推导约 117 个 token,而不是手工填表,避免配色偏离同一色相。
| 主题 id | 中文名(README) | 特点概要 |
|---|---|---|
cream(默认) |
米白 | 暖米白纸感,默认选项 |
novel |
书卷 | 旧纸棕墨 |
calm |
静谧 | 柔和鼠尾草绿 |
modern-classic |
现代经典 | 冷调纸白 + 深蓝点缀 |
deep-work |
深度工作 | 近黑白 |
切换 外观 的浅色 / 深色 / 系统时,当前所选主题的对应 palette 会生效,无需为「只支持一种模式」的主题单独再装插件。
实现方式:overrideTokens,而非 register¶
插件使用官方通道 ctx.theme.overrideTokens(),在当前生效的内置主题之上叠一层以包 id 为 key 的 token;重新应用会替换而非堆叠,卸载时可 retract。因此:
- 明暗偏好与 OS 配色切换保持 DSH 原有行为;
- 不依赖
ctx.theme.register()那条「不可见且不落盘」的路径。
同时插件自行绘制设置行(settings.general.item,order: 13),并把选择存为 Host 侧 .volatile() Config,与 DSH 其它设置一样进入 profile 的 cordis.patch.yml(命名空间与 Loader 行 id 对应)。
能力边界¶
README 明确说明:这是 palette 插件,不是整站换肤。以下不在范围内:
- 字体、圆角、语法高亮、壁纸;
- 通过改阴影配方做层次(DSH 在
body, body *上声明阴影,body 级覆盖无效;发丝线颜色可随主题变); - macOS 侧边栏为系统 vibrancy,插件 token 只能部分「染色」,无法改成不透明纯色块而不损观感。
首屏:持久化的主题 id 经 webserver/index-inject 以 global 注入 globalThis.__DSH_THEME_WORKBENCH__,避免先默认 schema 再闪刷。
安装与启用¶
在 DSH 桌面端打开「添加插件」,填入下列之一,安装后需重启桌面端(Host 半边仅在启动时加载)。换主题本身不需要再重启或刷新页面。
GitHub(钉住当前可用 release):
github:kjx-talesofai/dsh-plugin-theme-workbench#v0.1.4
本地开发目录(须为绝对路径,相对路径会被 DSH 拒绝):
/absolute/path/to/dsh-plugin-theme-workbench
CLI 等价命令(profile 为 desktop 时):
dsh plugin --profile desktop add github:kjx-talesofai/dsh-plugin-theme-workbench#v0.1.4
升级时:先卸载再安装新版本;不支持在已有条目上直接覆盖重装。
典型用法¶
- 打开 设置 → 通用 → 主题。
- 点击色块:左侧为浅色 palette、右侧为深色,中间点为强调色。
- 在 设置 → 通用 → 外观 切换浅色 / 深色 / 跟随系统,查看同一主题的另一套配色。
也可在 profile 的 cordis.patch.yml 中直接写配置(与 UI 等价):
- id: theme-workbench
name: 'dsh-plugin-theme-workbench'
config:
theme: cream # cream | novel | calm | modern-classic | deep-work
卸载:在 DSH「插件」列表卸载 dsh-plugin-theme-workbench 后重启。若需清除残留配置,可编辑 profile 的 cordis.patch.yml,删除 - id: theme-workbench 对应段落。
适用场景与注意事项¶
适合谁
- 日常使用 DSH Desktop Web 客户端,希望界面配色更贴近纸感、低对比或专注场景,且要与系统明暗联动;
- 了解 DSH 插件生态(社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系),愿意从 GitHub 指定 release 安装未上 npm 的插件。
运行与信任
插件以当前 DSH 进程权限运行。安装前建议浏览仓库源码与 MIT 许可证,确认符合你的安全与合规要求。
环境与限制(来自 README 自述)
- 非 loopback 访问时,DSH 将部分设置放在内存作用域,主题本次生效,刷新后可能丢失。
- 维护者在 macOS(Apple Silicon)+ DSH Desktop 0.2.0-rc.2 上做过端到端验证;在 0.2.1-rc.2 上核对过 token 名与设置行仍存在。Windows / Linux 未测;DSH 小版本升级可能改变上游契约,需自行关注仓库 Compatibility 说明。
结尾¶
dsh-plugin-theme-workbench 用 overrideTokens 与自建设置行,补上了第三方主题「进不了官方外观、选了也不落盘」的缝隙:五套可推导的明暗配色,与 DSH 内置浅色 / 深色 / 系统开关并存。若你需要的是换字体或整页 reskin,应另找其它扩展;若只需要稳定、可写入 profile 的配色方案,可按上文命令安装并在「设置 → 通用 → 主题」中选用。