前言¶
DeepSeek Harness (DSH) 采用插件化架构,其行为高度依赖于插件的叠加与组合。在 Web 主机环境中,官方主题通常由 dsh-client-ui-theme 统一管理,开发者若想在不破坏官方外观的前提下增加自定义配色,需要一个独立的覆盖层。dsh-theme-studio 正是这样一种插件,它通过叠加层的方式,在官方“外观”设置之上提供额外的主题控制能力。
插件简介¶
dsh-theme-studio 是一个便携式 DSH/Cordis 插件,由 cherrchen 维护。该插件完全运行在 Web 平台,不依赖 Electron 或 Node.js 环境。它为 DSH Web 和 DeepSeek Harness Desktop 提供了统一的主题管理界面,支持内置调色板浏览、实时预览、主题应用以及持久化存储。
核心功能¶
该插件目前实现了以下核心能力:
- 内置主题浏览:提供一系列内置的主题调色板供选择。
- 预览功能:允许用户在应用主题前进行临时预览,预览状态不会写入配置。
- 应用与持久化:将选中的主题 ID (
activeThemeId) 持久化保存到 Host 的theme-studio命名空间中。重启应用后,插件会自动恢复上次应用的主题。 - 生命周期恢复:处理插件卸载逻辑,确保卸载时清除所有覆盖层,使 ThemeRuntime 回归到官方主题。
- DSH 兼容性验证:在插件加载前检查 DSH 版本,确保与当前环境兼容。
安装与启用¶
DeepSeek Harness Desktop¶
该插件已预装于 DeepSeek Harness Desktop,无需额外安装。
DSH Web¶
在构建或准备环境后,可以通过以下命令安装:
dsh plugin --profile web add github:cherrchen/dsh-theme-studio
安装后,该插件会激活 cordis.patch.yml 层,在官方 Appearance(外观)设置下方新增“主题”选项。
使用流程¶
- 进入设置:在应用中打开设置,进入“通用”页面。
- 选择主题:在“外观”下方找到“主题”列表。列表中的 ID 包括
dsh-theme-studio.claude、.codex、.nordic等。 - 预览与应用:
- 点击主题条目进行预览,此操作是临时的。
- 点击应用按钮,将当前主题 ID 写入 Host 配置。
- 验证持久化:重启应用,确认之前应用的主题仍然生效。
- 卸载:如果需要移除自定义主题,卸载该插件即可恢复到官方主题。
限制与注意事项¶
当前版本 (Stage 1) 存在以下限制:
- 仅支持内置主题:目前不支持导入、导出或验证外部的
.dsh-themeschema 文件。 - 无自动对比度认证:内置调色板由人工检查可读性,暂不提供 WCAG 自动对比度认证。
- 无公开目录:暂无公开的
ctx.themeStudio目录,跨插件发现 API 属于后续阶段规划。
该插件通过 ctx.theme.overrideTokens() 工作原理,在官方 Light/Dark/System 基础之上叠加自定义层,确保了主题切换的流畅性。