前言¶
DeepSeek Harness(DSH)的桌面与 Web 客户端默认配色较为通用,开发者希望在不修改宿主源码的前提下,用一套可控的配色体系覆盖界面元素。但直接替换 CSS 往往导致对比度不足、明暗模式适配断裂。dsh-theme-palette 提供了一个基于 OKLCH 的配色引擎,通过叠加颜色令牌的方式,在保持 DSH 原生行为的前提下,重建整套主题。
插件定位¶
dsh-theme-palette 是一个 DSH 主题配色插件,由维护者 zuoyunlai 发布,归类为「趣味换装」。它不注册新主题、不修补宿主源码,仅通过 ctx.theme.overrideTokens 叠加颜色令牌,覆盖约 27,000 处引用。插件包含 4 套预设配色(Mono、Warm sand、Indigo、Moss),支持明暗两模式独立适配,并提供自定义配色与高对比度模式。
核心功能¶
- 4 套预设配色:Mono、Warm sand、Indigo、Moss,每套支持明暗两模式独立调整。
- 颜色重建流程:OKLCH 色域重建 → 基于角色的色度 × 强度 → sRGB 色域钳位 → 在真实表面(画布、卡片、侧边栏、遮罩层)上求解对比度。
- 覆盖范围:27,000+ 处令牌引用,包括正文、次要文本、三级文本、链接、侧边栏、卡片、用户气泡、主按钮、滚动条、开关、Markdown 标题与粗体、代码块等。
- 可调项:文本色相(3 种)、侧边栏深度(3 级)、右侧面板(2 级)、Markdown 强调、滚动条、开关颜色。
- 自定义配色:选择画布、文本、强调色,引擎自动维持对比度约束。
- 配置导出/导入:通过
dshs1.短码共享整套设置,包括三种自定义颜色,导入前可在预览中查看效果。 - 高对比度模式:针对高对比度需求启用,但深色面板表面受物理限制,部分组合对比度无法达到 15:1。
- 自愈能力:若宿主丢失令牌覆盖层,插件会自动重新应用配色。
- 多语言 UI:支持简体中文、繁體中文、English、日本語,跟随宿主语言或固定。
安装与启用¶
从 npm 安装:
cd ~/.dsh/profiles/desktop
pnpm add dsh-theme-palette
或指定版本:
pnpm add dsh-theme-palette@1.9.7
从 GitHub Release tarball 安装:
pnpm add "https://github.com/zuoyunlai/dsh-theme-palette/releases/download/v1.9.7/dsh-theme-palette-1.9.7.tgz"
安装后重启 DSH GUI(运行中的进程不会自动加载新模块)。在头像菜单中选择 Settings → Color theme 即可启用插件。
配置项¶
| 配置项 | 选项 |
|---|---|
| Palette | Mono · Warm sand · Indigo · Moss |
| Strength | Quiet / Standard / Strong(控制正文文本跟随配色的程度) |
| Panel surfaces | 侧边栏(Lighter / Same / Deeper)、右侧面板(匹配侧边栏 / 跟随画布) |
| 更多选项 | 语言、Markdown 强调、滚动条、开关/复选框颜色 |
所有配置即时生效并写入 localStorage,明暗模式保持由宿主的 Appearance 控制。
调色引擎流程¶
OKLCH(L, C, hue) ──► gamut clamp (C 二分查找) ──► sRGB hex
▲
└── role chroma × intensity,再在 {canvas, card, sidebar, overlay} 上求解对比度
- 语义别名保持
var(--dsw-static-neutral-bluish-NN)链,后续继承该令牌的元素自动跟随配色。 - 亮色表面使用 00–300 级别,深色表面使用 800–950 级别。
- 构建时强制执行文本底线:正文 ≥ 12、次要文本 ≥ 6.1、三级文本/链接 ≥ 4.6、侧边栏文本 ≥ 7、气泡文本 ≥ 7。
- 432 种配置组合在
node palette-dev.mjs中校验。
自定义配色与共享¶
选择自定义配色后,在设置中设置画布、文本、强调色,引擎会基于对比度约束计算可用的色相与强度。配置导出的短码(dshs1. 开头)包含完整设置与三种自定义颜色,粘贴到导入框并点击 Preview 可预览变更后再应用。
适用场景与注意¶
- 适合希望在 DSH 客户端中使用可控配色体系的开发者或团队,尤其是需要统一界面风格且不能修改宿主源码的场景。
- 插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证(MIT)。
- 高对比度模式受物理限制:深色面板表面对比度无法达到 15:1,插件会标记为“surface-limited”。
- 插件不提供玻璃效果、壁纸或 AI 生成配色,专注于通过对比度求解保证可读性。
总结¶
dsh-theme-palette 通过 OKLCH 色域重建与对比度求解,在 DSH 客户端实现了一套可调、可共享的配色方案,覆盖界面主要元素,并提供高对比度与自定义选项。插件不侵入宿主源码,适合需要精细控制界面配色的开发者使用。
- 目录页:https://www.skillhub.cn/plugins/zuoyunlai/dsh-theme-palette
- GitHub:https://github.com/zuoyunlai/dsh-theme-palette