dsh-appearance-tuner:在浏览器里实时调校 DSH 外观令牌

前言

DeepSeek Harness(DSH)把界面拆成全局 CSS 变量(令牌)和各类浮层面板。默认主题能覆盖主界面,但菜单、弹窗、第三方插件面板往往各自写死背景或不用 backdrop-filter,想统一不透明度、毛玻璃或侧栏色时,改源码或写用户样式成本高,也不便于试效果。

下面介绍社区插件 dsh-appearance-tuner(维护者 zxyxxby,SkillHub 分类「趣味换装」):在 Host 页面内提供面板,改动立即写回令牌或(可选)直接覆盖浮层元素样式,配置落在浏览器 localStorage,无需构建步骤。

这是什么

dsh-appearance-tuner 是 DSH 的客户端外观调校插件:实时调整浮层/面板的不透明度与配色、毛玻璃模糊、背景与侧栏色、强调色、圆角、正文字号、滚动条宽度(README 英文摘要:Appearance tuner for DSH UI tokens)。

实现上,宿主侧 lib/index.js 为 Loader 可见的空实现;功能在 lib/client.js,采用 DSH 客户端插件格式 window.__ModuleLoader__.load({ id, factory }),在 factory 中导出 name / inject / apply。插件不修改 DSH 或第三方插件源文件,只覆盖全局外观令牌与可配置选择器下的浮层元素。许可证 MIT;package 版本 0.1.0;README 标明需 DSH 0.2.0-rc.2(依赖 @deepseek-ai/dsh-client-ui-slots 的 slots 服务)。

核心功能

浮层与面板

项目 范围与说明
面板不透明度 0–100% 作用于所有浮层:菜单、弹窗、悬浮卡、各类面板;100% 为实心
面板颜色 不勾选则跟随亮/暗主题;勾选则为固定色,并与不透明度组合
毛玻璃模糊 0–60px 数值越大越糊;与不透明度配合,模糊 0 且不透明 100% 为完全不透
强力模式(默认开启) 对浮层元素直接写 background / backdrop-filter,覆盖第三方面板写死在 CSS 里的样式;目标选择器可在面板中编辑

背景、形状与其它

  • 主背景色 / 侧栏底色 / 卡片层色:分别对应底色、侧栏、卡片层次。
  • 强调色:选中态、链接、高亮。
  • 圆角 0–24px:菜单、弹窗、卡片。
  • 正文字号 −4 ~ +8px:对话正文缩放。
  • 滚动条宽度 4–20px:侧边滚动条。
  • 隐藏分隔线:将两级边框色设为透明。
  • 显示/隐藏悬浮按钮:关闭后仍可从 设置 → 外观调校 进入(若当前 profile 启用了设置页)。

面板提供预设:完全不透明、恢复 DSH 默认、纯色极简、全部重置、复制配置(JSON 到剪贴板)。

覆盖机制(实现要点)

  1. 全局令牌:body, body * { --dsw-menu-surface-fill: … !important; … } 等变量。
  2. 强力模式(元素级):html body <目标选择器> { background / backdrop-filter !important },用 html body 前缀提高优先级。

调校面板自身使用 dat- 前缀的独立 CSS,避免被上述覆盖影响,亮暗主题下保持可读。

与 dsh-watcher 的兼容性

dsh-watcher 面板未使用 backdrop-filter,背景写在其 CSS 中,不会随「仅改全局令牌」一类改动生效。本插件默认开启的强力模式已内置选择器:

.xlpj2W_menu, .CEmiCq_hudBox, .CEmiCq_drilldownPanel, .CEmiCq_vizPanel, .CEmiCq_heatmapPanel

装好后:面板不透明度/颜色、毛玻璃(由强力模式补 backdrop-filter)、强调色、正文字号、滚动条宽度、分隔线可作用;圆角不作用于 dsh-watcher 主面板(其 border-radius:12px 写死在 CSS 中,本插件不改第三方源码)。若不想影响 dsh-watcher,从「目标选择器」中删掉上述 class;要覆盖其它插件面板,把对应 class 加入即可。

安装与启用

插件以当前 DSH 进程权限运行,安装前建议阅读 GitHub 仓库 源码与 MIT 许可证。

从 GitHub 安装

桌面应用(Desktop profile):

dsh plugin --profile desktop add github:zxyxxby/dsh-appearance-tuner

纯 Web(web profile):

dsh plugin --profile web add github:zxyxxby/dsh-appearance-tuner

装完后重新打开 Host / 重启 DeepSeek Harness,再刷新页面。

从本地目录安装

dsh plugin --profile desktop add /path/to/dsh-appearance-tuner

卸载

dsh plugin --profile desktop remove dsh-appearance-tuner

典型用法

  1. 右下角 ◐ 悬浮按钮(默认约 34% 透明度,悬停变亮),点击展开调校面板。
  2. 或在 设置 → 外观调校 打开(profile 启用设置页时)。
  3. 改动立即生效;持久化键名为 dsh-appearance-tuner:v1(浏览器 localStorage)。

常用组合(来自 README):

  • 实心面板:不透明度 100%,模糊 0。
  • 毛玻璃:不透明度 55–85%,模糊 20–60px。

开发调试时,可运行 node tests/smoke.mjs 在最小 DOM 桩上离线加载客户端分发文件;改 lib/client.js 后刷新页面即可,调整文件结构后需重启 Host。

适用场景与注意

适合:需要在不 fork DSH 的前提下快速试主题、统一浮层观感,或让 dsh-watcher 等写死背景的面板也能跟不透明度和毛玻璃;要把当前参数导出为 JSON 备份或分享。

注意:

  • 兼容性以 README 为准:DeepSeek Harness 0.2.0-rc.2;社区目录 SkillHub 插件页 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系。
  • 强力模式会提高 CSS 优先级,错误的选择器可能影响无关元素;第三方写死圆角等属性时,本插件无法通过令牌改掉。
  • 配置仅存本浏览器 localStorage,换设备或清站点数据需重新调校或粘贴复制的 JSON。

结尾

dsh-appearance-tuner 把 DSH 外观令牌和浮层样式收成一块可调面板,预设与 JSON 复制便于复位和迁移。目录与详情见 SkillHub:dsh-appearance-tuner,源码与安装说明见 GitHub:zxyxxby/dsh-appearance-tuner。

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

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

小夜