前言¶
DeepSeek Harness(DSH)的 Web 客户端有一套默认界面样式。若你长期在 VS Code 里用 DSH,编辑器主题已经定制过,却没法直接把 VS Code 主题「搬」进内置的 dsh web 窗口——通常要么写粗糙适配层,要么让智能体零散改 CSS。维护者 scsmash3r 基于社区里的 dsh-web-ui-design-spec 做了 dsh-ui-colors:在 Settings → Customize 里用光谱、预设和细粒度色板改 DSH GUI 观感,边框与圆角一并可调。插件归类为社区目录中的「趣味换装」,当前 GitHub 星标为 0;生态上 DSH 强调「一切皆插件」,SkillHub 目录页 与 DeepSeek / 幻方无官方从属关系。
这是什么¶
dsh-ui-colors 是面向 DSH Web GUI 的 UI 插件(npm 包名同插件 id,版本线见仓库 package.json,当前为 0.32.0-alpha.1,MIT 许可证)。它不改 DOM 补丁,而是通过 DSH 支持的主题 seam 调用 ctx.theme.overrideTokens,改基础 primitive 与 color token,使同样使用默认 DSH CSS 的其他插件界面也能保持一致。配置写入 profile patch,改色后 override 层即时生效,多数选项无需整页重启 DSH 进程。
核心功能¶
下面介绍 Settings → Customize 下已文档化的能力(与 README 一致)。
Palette(色板)¶
- Spectrum:九条光谱,选主强调色。
- Preset:基础预设,会联动表面填充、中性色阶与边框色。
- Full semantic theme:开启后,光谱色不仅作用于色相/饱和度,还会在独立 inner color scope 里展开更多语义色。
Syntax highlighter(语法高亮)¶
DSH 使用 Shiki。插件提供六种 token 主题:Default、GitHub、Nord、Dracula、Solarized、Monokai。
Selection(选区)¶
Apply spectrum to ::selection 可单独把光谱应用到文字 ::selection,与是否开启 Full semantic theme 无关。
Colors / Neutral / Borders¶
- Colors:按表面(Sidebar、Main、Raised Surface、Composer、用户气泡、代码块等)分别填 light/dark,格式
#RRGGBBAA,六位 hex 视为不透明。 - Neutral:16 级
--dsw-static-neutral-*(00–1000)独立 light/dark;空值保留主题默认;有独立 Reset。 - Borders:四级
--dsw-alias-border-l1–l4独立 light/dark;网格默认折叠在 Show border inputs 下。
Border radius(圆角)¶
可选 Default、Half、None(直角)。
Language(语言)¶
Customize 区块随 DSH locale 显示英文或简体中文,切换 DSH 语言后该区块可更新而无需 reload。
扩展光谱或预设时,数据在 lib/client.js,可自行增改或由智能体协助;仓库另有 Architecture、Token policy、Adding themes 等文档说明 token 分层与审计。
安装与启用¶
环境要求(来自 docs/install.md):DSH Web profile 位于 $DSH_HOME/profiles/web;已安装 dsh CLI 与 pnpm;开发需 Node.js ≥ 20。package.json 声明 dsh 引擎为 >=0.2.1-rc.2 <0.3.0-0。
从 npm 安装 alpha 标签:
dsh plugin --profile web add dsh-ui-colors@alpha
然后在 DSH Web 的 Plugins 页面启用 dsh-ui-colors。包声明了 dsh.bundle,会应用自带的 cordis.patch.yml;不要再手动插入重复的 ui-colors patch 项。
本地 checkout 开发时:
dsh plugin --profile web add /path/to/dsh-ui-colors
启用 bundle 后,必要时重启 dsh web;移动目录后需用新路径重新 add。
| 变更类型 | 建议操作 |
|---|---|
| 仅浏览器端 UI、CSS、预设、光谱或 Shiki 数据 | 刷新 Web 页 |
新增或重命名 Host Config 字段 |
重启 dsh web |
| 换包或 bundle 选择 | 重启 dsh web |
卸载:先从 cordis.patch.yml 去掉含 id: ui-colors 的 - insert: 块,再执行 dsh plugin --profile web remove dsh-ui-colors,并重启 dsh web。
典型用法¶
1、完成安装并在 Plugins 中启用 dsh-ui-colors。
2、打开 DSH Web Settings → Customize。
3、在 Palette 里选一条 Spectrum,或选一个 Preset 快速改表面与中性与边框;若希望强调色带动更多语义色,打开 Full semantic theme。
4、需要与 IDE 选区风格一致时,勾选 Apply spectrum to ::selection。
5、在 Syntax highlighter 里切换 Shiki 主题(例如 Nord 或 Dracula)。
6、细调时展开 Colors、Show neutral inputs、Show border inputs,按表面或 token 填色;Border radius 选 Half 或 None。
7、验收配色时,可按仓库 docs/visual-test.md 粘贴 Markdown,检查表面、链接、选区与 Shiki 渲染。
经过上面的步骤,界面应随 token override 即时更新;若新增表单项无法保存选中状态,多半是 Host schema 过旧,需重启 dsh web 而非仅刷新浏览器。
适用场景与注意¶
适合:希望在少量控件下尽量覆盖 DSH Web 主题、让 dsh web 接近 VS Code 编辑器观感、或统一侧边栏/主栏/输入框/代码块/边框的开发者。
注意:
- 插件与 DSH 进程同权限运行;安装前请阅读 GitHub 源码 与 MIT 许可证,自行判断是否信任维护者 scsmash3r。
- 主栏、侧栏、右栏的部分 scoped 规则依赖 CSS module 后缀;若上游重命名模块,token 仍生效但容器级样式可能回退(文档称 best-effort bridge)。
- 聚焦环
--dsw-focus-ring-color仍由主题控制,不属于 Borders 四级之一。
结尾¶
dsh-ui-colors 用官方 theme override 与可持久化的 volatile 配置,把 DSH Web 的换肤收成 Customize 一处:光谱、预设、Shiki、选区、表面色、中性阶、边框与圆角。目录与说明见 SkillHub:scsmash3r/dsh-ui-colors,源码与文档见 GitHub:scsmash3r/dsh-ui-colors。