dsh-ui-opacity:为 DSH 浮层菜单与会话顶栏调节透明度

前言

在 DeepSeek Harness(DSH)里做长对话或换深色主题时,加号菜单、模型选择、权限菜单等浮层默认填充偏透(浅色约 58%、深色约 45%),背后的聊天文字容易透上来,影响阅读。会话顶栏则是主题自带的浮动胶囊:静止时完全透明,悬停才出现约 45% 的玻璃底。若你只想微调这两处的「实底感」,而不动玻璃描边、圆角、阴影和模糊,社区插件 dsh-ui-opacity(维护者 lzxvic)把浮层菜单和会话顶栏拆成两个滑杆,只改填充透明度。分类上属于社区目录里的「趣味换装」类小工具;当前 GitHub 星标为 0,许可证 MIT(package.json 版本 0.3.0)。

下面介绍它做什么、怎么装、怎么用,以及实现上动的是哪些 CSS 变量。

这是什么

dsh-ui-opacity 是一句定位就能说清的小插件:为 DSH 的浮层菜单和会话顶栏提供可调透明度,设置保存在浏览器本地(localStorage),重启后保留。实现是纯客户端:无宿主业务逻辑、无网络请求、无外部依赖、不写产品文件。英文简介与目录一致:Adjustable opacity for DeepSeek Harness popup menus and the session header.

DSH 生态强调「一切皆插件」;SkillHub 等社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。安装第三方插件前,建议自行查看仓库源码与许可证——插件在当前 DSH 进程权限下运行。

核心功能

在 设置 → 界面透明度 下有两个滑杆(深浅色分别取固定 RGB,只改 alpha):

项目 范围 默认值 说明
浮层菜单 40%–100% 96% 接近不透明时可减轻背后文字透出;40% 接近产品原始半透明
会话顶栏 0%–100% 0% 0% 与主题一致(静止透明);调高后静止出现实底

取色(来自 README):

  • 菜单:浅色 rgb(248 249 250 / α),深色 rgb(39 50 76 / α)
  • 顶栏:浅色 rgb(255 255 255 / α),深色 rgb(13 30 60 / α)

顶栏悬停时至少保留主题原有的 45% 玻璃效果:脚本对悬停 alpha 取 max(滑杆值, 45%),不会比主题原来的玻璃更透。恢复默认 为菜单 96%、顶栏 0%。

与主题类插件并存时,插件只覆盖菜单填充变量和顶栏 ::before 背景,不改动玻璃边框、阴影、模糊。

安装与启用

桌面版(README 推荐)由 Electron 应用管理 desktop profile,dsh plugin CLI 会直接拒绝该 profile,请走应用内入口:

  1. 打开 插件 → 添加插件 → 安装第三方插件
  2. 选择插件目录(或填入绝对路径),安装并启用
  3. 重启或刷新 DSH

dsh web 在本地已有插件目录时,可用工作区方式安装(将 <profile> 换成你的 profile 名,路径改为本机绝对路径):

dsh plugin --profile <profile> add -w /absolute/path/to/dsh-ui-opacity

从 Git 安装:

dsh plugin --profile <profile> add github:lzxvic/dsh-ui-opacity

经过上面的步骤启用后,在设置里即可看到「界面透明度」分区。

典型用法

打开 设置 → 界面透明度,按场景拖动即可,无需额外配置项:

  • 浮层菜单:96% 接近不透明;约 70% 仍能看到一点背景;40% 接近产品默认的半透明菜单材质。
  • 会话顶栏:保持 0% 即主题的透明顶栏;需要静止态也有底时再调高;悬停仍受 45% 下限约束。
  • 不满意时点 恢复默认(菜单 96%、顶栏 0%)。

README 在 DSH 0.2.1-rc.2(Windows 桌面版)上做过测试;Web 版同样适用,浅色 / 深色均有覆盖。

实现要点(便于排查样式)

插件不改 DOM、不改产品样式表,主要靠注入更高优先级的 CSS 与客户端脚本写 CSS 变量。

浮层菜单:覆盖 DSH 的 --dsw-menu-surface-fill,用 --dsh-menu-alpha 控制 alpha(默认 .96)。

会话顶栏:主题用带 _headerLeading / _headerActions 语义锚点的 ::before 画胶囊;插件只覆盖该伪元素背景,悬停变量 --dsh-header-hover-alpha 由脚本计算。

开发时可在克隆仓库后链接到 profile(桌面版仍建议应用内安装):

dsh plugin --profile <profile> add -w "$PWD"

改 lib/client.js 后刷新客户端;设置分区通过 slots.inject('settings.section') 注册,样式经 <style data-dsh-ui-opacity> 注入。仓库结构见 README:lib/index.js(host 空实现)、lib/client.js(滑杆与变量)、cordis.patch.yml、dsh.plugin.json 等。

适用场景与注意

适合:深色主题、背景较花、或菜单透出聊天内容时,想单独加厚浮层菜单底;又希望顶栏默认仍透明、只在需要时加一点静止实底的用户。

注意:

  • 顶栏选择器依赖主题的 _headerLeading / _headerActions 类名锚点,不依赖构建哈希;若未来主题大改结构,可能需要插件跟进。
  • package.json 要求 Node >=20(主要影响开发与 CLI 安装环境)。
  • 再次强调:安装前阅读源码与 MIT 许可证;插件非 DeepSeek 官方出品。

结尾

dsh-ui-opacity 用两个滑杆把「菜单太透」和「顶栏要不要静止底」拆开处理,保留 DSH 原有的玻璃质感,只调填充透明度。需要时可从社区目录或 GitHub 获取:

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

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

小夜