Glass Skin(玻璃肌肤):冻结材质、壁纸为变量的 DSH Web UI 主题

前言

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 标记;旧目录保留,可手动删除。

典型用法

  1. 按上一节完成 install_bundle 并重启 DSH。
  2. 打开 设置 →「玻璃肌肤」:
    - 壁纸:内置 / 用户图 / 拖放导入 / 刷新;选中后仅更新 --dsh-glass-wallpaper。
    - 模式:氛围(壁纸完整呈现)或专注(壁纸后退、面板收拢)。
    - 场景浓度:清透 / 标准 / 沉静。
    - 设计说明与诊断:查看钩子是否命中,必要时复制 JSON 报告给维护者。
  3. 开发或验收时,可在插件目录运行自检:
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 为准。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye