dsh-theme-palette:DSH 主题配色插件

前言

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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye