前言¶
长期在 DeepSeek Harness(DSH)里做智能体开发或日常对话时,界面往往沿用默认主题:功能完整,但视觉单一。改系统浅色/深色只能动配色方案,很难换成像素风、终端绿字、早期 QQ 那种复古面板,或一整页渐变底色。自己改 CSS 又怕和 Harness 主题服务打架,升级后也容易失效。
dsh-skin-switcher 走官方 Client 插件路线:在左侧边栏加一个调色板入口,点开是一面「风格墙」,选一张卡片即全应用换肤;不想用了点「默认外观」即可还原。实现上走 token 覆盖层和可销毁的样式注入,不依赖额外 npm 包,适合只想换观感、不想 fork 前端的用户。
这是什么¶
- 仓库 / 目录名:
BXCQ/dsh-skin-switcher(社区目录条目:bxcq/dsh-skin-switcher) - 包名:
@local/dsh-skin-switcher(package.json版本 1.3.0,许可证 MIT,维护者 BXCQ) - 分类:趣味换装;纯 Web Client 能力,Host 侧为空实现
- 一句话:零依赖侧边栏插件,给 DeepSeek Harness Web/GUI 提供 11 种整体视觉风格 与 1 个「默认外观」 选项,切换后全应用生效,选择会持久化
社区插件目录在 skillhub.cn,源码在 GitHub。目录站与 DeepSeek / 幻方无官方从属关系;DSH 生态是「一切皆插件」,安装前建议自行查看源码与许可证。插件以当前 dsh 进程权限运行,安装等同于信任该仓库作者。
核心功能¶
十一种风格 + 默认还原¶
README 中列出的风格如下(第 12 项为 Harness 原生外观):
| 风格 | id | 观感(摘自文档) |
|---|---|---|
| 像素风 Pixel | pixel |
暖纸色底、硬投影、扫描线、直角、等宽字 |
| 终端 Terminal | terminal |
近黑绿字、无圆角、无阴影、扫描线 |
| 纸感 Paper | paper |
米白底、细黑边、衬线标题 |
| 极光 Aurora | aurora |
深蓝紫底、玻璃层、大圆角、柔和光晕 |
| 糖果 Candy | candy |
高饱和马卡龙色、超大圆角、胶囊按钮 |
| QQ 经典 QQ Classic | qq |
早期 QQ:天蓝渐变、98 式立体边框、Tahoma + 宋体 |
| 日落 Sunset | sunset |
杏橙 → 玫瑰粉 → 紫罗兰暖调渐变 |
| 海洋 Ocean | ocean |
青碧 → 天蓝 → 靛蓝冷调渐变 |
| 霓虹 Cyber Neon | cyber |
近黑紫底、青/洋红辉光、等宽字 |
| 薄荷 Mint | mint |
薄荷绿 → 水青 → 浅蓝 |
| 雾霭 Mist | mist |
冷灰到淡紫的中性渐变 |
| 默认外观 | (面板内选项) | 还原 Harness 原生配色、圆角与字体 |
平面风格主要靠 14 个 alias token(浅/深各一套)覆盖颜色;圆角、阴影、字体、扫描线等由包内 CSS 注入。渐变类与 QQ 经典在 html 上画渐变画布,表面用半透明 token,使面板呈磨砂玻璃效果;右侧 dock 与浮动文档窗会补画同款 fixed 画布,避免半透明底导致文字透叠。
与原生主题的关系¶
- 颜色通过 Client
theme服务的theme.overrideTokens('@local/dsh-skin-switcher', tokens),叠在当前主题之上,不改动主题注册表;设置里的浅色 / 深色 / 跟随系统仍可切换。 - 切换风格时销毁上一份
styles.insert注入的样式表,避免泄漏。 - 渐变风格会订阅
theme/change,随配色方案重绘;主题服务缺失时降级为prefers-color-scheme,并在控制台留诊断信息。
持久化¶
所选风格写入 localStorage 与名为 dsh_skin 的 Cookie;Cookie 按主机名作用域,DSH 每次启动换端口时偏好仍可保留。
安装与启用¶
在已配置 DSH desktop profile 的环境下,使用 README 给出的命令安装(不要凭仓库名自行拼接其他 dsh plugin add 形式):
dsh plugin --profile desktop add git+https://github.com/BXCQ/dsh-skin-switcher.git
安装后刷新页面(F5)。左侧边栏在插件 / Schedules / Context 相关图标之后会出现 调色板图标(文档说明固定约 30 号位)。
网络阻断 github.com:443 时,可改用:
dsh plugin --profile desktop add git+ssh://git@github.com/BXCQ/dsh-skin-switcher.git
也可将仓库 clone 到本地后,在插件管理器中填写该目录的绝对路径(与 README 说明一致)。
典型用法¶
- 点击左侧边栏调色板图标,打开风格面板。
- 点选任意风格卡片,整个应用立即换肤(面板内卡片本身也会实时预览)。
- 需要恢复时,点「默认外观」。
- 下次打开同一主机上的 DSH Web 界面,上次选择会自动恢复。
卸载:在「插件」页面关闭或卸载 @local/dsh-skin-switcher;卸载前会先还原默认外观,覆盖层随 Client 结束销毁。
适用场景与注意¶
适合谁
- 长期在 Desktop Web GUI 中使用 DSH,希望界面有辨识度或按心情换肤,且不愿维护私有 CSS 的用户。
- 需要在不破坏浅色/深色切换的前提下,体验像素、终端、纸感、极光、糖果、QQ 复古及多种渐变皮肤的用户。
已知限制(来自 README)
- 少数硬编码颜色区域(如部分代码高亮、Markdown 内联色)不随 token 变化,属于 Harness 主题机制边界。
- 渐变画在
html画布上:若某区域自带不透明非 token 底色,可能看不见底层渐变,但半透明 surface 色调仍会生效。 - 纯视觉呈现未做浏览器截图回归;逻辑与插槽行为有
node test/harness.mjs覆盖(75 条断言)。
开发者若需新增风格:在 client.js 中按 README 补充 light/dark 调色板、SKINS 项及 locale 文案;渐变风格使用 gradientChrome 并在 preview 中提供 bgImage。
本地验证(仓库内):
node test/harness.mjs
结尾¶
dsh-skin-switcher 把换肤收成侧边栏里的一个面板:十一种风格一键切换、默认外观可还原、偏好跨端口保留,实现上尊重 Harness 主题服务而不是替换它。想试用可从社区目录了解条目信息,安装与源码以 GitHub 为准。
- 目录页:https://www.skillhub.cn/plugins/BXCQ/dsh-skin-switcher
- GitHub:https://github.com/BXCQ/dsh-skin-switcher