前言¶
DeepSeek Harness(DSH)的 Web 界面可以通过客户端主题插件改外观。常见做法是换一套配色或零散覆盖 CSS,材质层次、阅读尺度和状态规则往往随页面迭代漂移。若你希望界面长期保持一套可预期的玻璃质感,又只想通过换壁纸改变氛围,需要主题把设计系统写死在样式表里,而不是在运行时堆叠滤镜或轮询改 DOM。
下面介绍社区插件 Glass Skin(玻璃肌肤):它为 DSH Web UI 提供冷色空间、暖色点睛的玻璃材质主题,材质阶梯与排版规则冻结,唯一可变的输入是壁纸。
这是什么¶
Glass Skin 由维护者 yesang0924-beep 发布,在 SkillHub 插件目录 中归类为「趣味换装」。项目以 MIT 许可证开源,当前发布版本为 6.0.2(见仓库 package.json 与 Releases 中的 dsh-glass-skin-6.0.2.tgz)。
插件把 DSH Web 界面当作「玻璃工作室」:壁纸是场景,冰蓝玻璃是工作台,暖琥珀只做高光。6.0 起以 dsh-glass-skin 发布;更早版本曾用名 dsh-skin-icebox(冰柜暖光),默认壁纸仍来自深夜便利店冰柜那张图。
运行环境要求:DSH Desktop / Web 0.2.x、Node.js ≥ 22.19(engines 中写为 >=22.19.0,且 dsh 为 >=0.2.0-0 <0.3.0-0)。
核心能力(资料已核实)¶
冻结的设计系统¶
主题不是简单换色,而是一套写死在样式表里的规则:
| 维度 | 说明 |
|---|---|
| 三层材质阶梯 | environment → work → action;同一表面只有一层透明度,不自我叠层 |
| 按面积分档模糊 | 共用 saturate,半径分档:气泡 14px、浮动面板 16px、输入框与遮罩 10px、代码块与浮层 6px |
| 阅读标尺 | 正文比「外观」字号大 2px、行高 1.8;标题、表格、引用按同一比例派生 |
| 壁纸是唯一变量 | 换图只重写 CSS 自定义属性 --dsh-glass-wallpaper;模式、场景、令牌与布局不参与 |
| 模式与场景 | 氛围 / 专注;清透 / 标准 / 沉静——只改变壁纸存在感,不改材质 |
| 运行时策略 | 样式表原地改写:无 SVG 位移滤镜、无定时轮询、无节点重挂载 |
设置页与数据¶
在 DSH 设置 →「玻璃肌肤」 可配置壁纸、模式、场景浓度,并查看设计说明与诊断(宿主钩子命中表、饱和/亮度取样、可复制完整 JSON 报告)。设置页自检覆盖 6 个必需钩子 + 6 个条件区域。
壁纸支持内置图、用户图片、拖放或选择文件导入;Host 按 magic bytes 只接受 JPEG / PNG / WebP,上限 32MB。
持久化路径(README 原文):
| 路径 | 内容 |
|---|---|
~/.dsh/dsh-glass-skin.json |
模式 / 场景 / 壁纸选择;原子写入,损坏时移到 .corrupt-<时间戳> |
~/.dsh/dsh-glass-skin/wallpapers/ |
用户壁纸(jpg / jpeg / png / webp,文件名可用中文) |
包内 assets/wallpapers/ |
随主题发布的默认集;同名文件优先用用户目录 |
工程结构(便于自查)¶
宿主半 index.js 负责壁纸、状态、上传路由;浏览器半 client.js 负责令牌、样式表、设置面板。包内提供 tools/verify.mjs 自检,以及结构回归与旧名迁移测试(README 记载结构回归 42/42、迁移 1/1;徽章处亦提到 tests 43/43,以你本地 node tools/verify.mjs 输出为准)。
安装与启用¶
官方 README 未提供 dsh plugin add github:... 一类命令;安装通过 plugin_manager 的 install_bundle,目标为已 clone 或已解包的目录,装好后需重启 DSH(Host 侧路由、壁纸目录与状态文件在启动时加载)。
方式一:源码目录(推荐,link 安装)
先把仓库放到本地目录(README 示例使用 git clone;若你已有目录可跳过 clone)。把仓库根目录交给插件管理器:
plugin_manager(action="install_bundle", target="D:/path/to/dsh-glass-skin")
install_bundle 对本地目录是 link 语义:改 client.js 后 Ctrl+R 即可生效;改 index.js 需要重启 DSH。
方式二:发布包
从 Releases 下载 dsh-glass-skin-6.0.2.tgz,解包后再安装(不要把 .tgz 直接交给 install_bundle):
tar -xzf dsh-glass-skin-6.0.2.tgz -C .\glass-skin
plugin_manager(action="install_bundle", target="<解包目录>/package")
从旧名 dsh-skin-icebox 升级:
plugin_manager(action="remove_bundle", target="dsh-skin-icebox")
plugin_manager(action="install_bundle", target="<本仓库目录>")
重启后首次启动会自动复制旧偏好 ~/.dsh/dsh-skin-icebox.json 与 ~/.dsh/dsh-skin-icebox/wallpapers/ 中的图片,并在新目录写下 .migrated-from-icebox 标记;旧目录保留,可手动删除。
典型用法¶
- 按上一节完成
install_bundle并重启 DSH。 - 打开 设置 →「玻璃肌肤」:
- 壁纸:内置 / 用户图 / 拖放导入 / 刷新;选中后仅更新--dsh-glass-wallpaper。
- 模式:氛围(壁纸完整呈现)或专注(壁纸后退、面板收拢)。
- 场景浓度:清透 / 标准 / 沉静。
- 设计说明与诊断:查看钩子是否命中,必要时复制 JSON 报告给维护者。 - 开发或验收时,可在插件目录运行自检:
cd dsh-glass-skin
node tools/verify.mjs
全通过时输出 ALL PACKAGE CHECKS PASSED。README 说明结构回归证明规则落在代码里,不等于真窗口观感验收。
适用场景与注意¶
适合谁: 长期在 DSH Web UI 上工作、希望界面保持统一玻璃材质与阅读尺度,又主要通过换壁纸调节氛围的开发者或使用者。
权限与安全: 插件以当前 DSH 进程权限运行,Host 半会处理壁纸上传与状态文件。安装前请阅读 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。主题只改视觉,不影响发送、模型选择、权限和工具行为。
已知边界(README 原文):
- 标题栏「应用 / 编辑」下拉、输入框右键菜单由 Electron 主进程弹出,不在 DOM 内,CSS 无法着色。
- DSH 升级可能改变宿主类名;设置页诊断用
✓/!/?/–标出钩子命中情况。 - Host 侧改动需重启;客户端改动
Ctrl+R即可。 - Windows 标题栏三键底色受 Electron
setTitleBarOverlay()限制(alpha 会被丢弃)。
生态说明: DSH 奉行「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
Glass Skin 把 DSH Web UI 收成一套可预期的玻璃设计系统:材质与排版冻结,壁纸通过单一 CSS 变量注入。若你需要可复现的安装路径与设置项,以仓库 README 为准。