dsh-wallpaper-theme:给 Harness 窗口换壁纸的磨砂玻璃插件

前言

DeepSeek Harness(DSH)把桌面端窗口的样式拆成了 token,界面各层的可读性由这些 token 统一管理。在终端里写智能体、长时间盯着窗口时,固定背景和磨砂效果能减少视觉疲劳,也能让界面与自己的桌面环境更统一。本插件在侧栏底部增加一个「主题与壁纸」按钮,通过一个居中面板来管理壁纸和界面材质,不改变 DSH 内部的设计 token,只改背景与磨砂下限。

插件是什么

  • 名称:dsh-wallpaper-theme
  • 维护者:yunshu-iii
  • 分类:趣味换装
  • 核心价值:给 DSH 桌面端窗口添加整窗壁纸与分级磨砂玻璃效果,提供外观面板进行参数调节

两种布局

布局 效果
铺满(默认) 壁纸从窗口一边铺到另一边;对话区盖一层可调的“画布地板”,侧栏更透,卡片/弹窗/设置页保持接近实心
浮窗 应用变成浮在壁纸上的圆角卡片,四周留 0–64px 边距,边距里壁纸 100% 原样显示

核心功能

  • 先改草稿,点「应用」才生效:在面板里选图、调滑杆、开轮换都只改面板里的草稿;关闭弹窗会丢弃未应用的修改。
  • 浅色 / 深色各一张:只设了一套时另一套自动沿用。
  • 图库:上传过的图片全部保留(默认最近 30 张),点选即用,悬停删除(点两次确认)。
  • 渐变预设:6 套内置浅/深渐变,不用存图片。
  • 自动轮换:开关 + 间隔(1 / 3 / 6 / 12 / 24 小时),在库内图片之间轮换。
  • 外观切换:面板里直接切 浅色 / 深色 / 跟随系统,与设置里的偏好是同一份。
  • 数值可直接输入:每个滑杆右侧是数字框,回车或失焦生效;百分比 1% 一档。
  • 每个滑杆都有独立说明,固定挂在对应项下方。

参数

参数 范围 说明
布局 铺满 / 浮窗 见上表
画布地板 30–70% 对话区那层玻璃的可读下限,越低壁纸越明显
侧栏地板 25–70% 侧栏单独的下限,比画布更透
输入栏不透明度 50–100% 输入框单独一层底(默认 94%)+ 18px 磨砂
弹窗不透明度 50–100% 设置弹窗自身的不透明度(默认 97%)
卡片边距 / 卡片底色 / 侧栏磨砂 浮窗专用
面板虚化 0–40px 面板背后的磨砂强度
壁纸强度 / 壁纸模糊 / 暗化 0–100% / 0–40px / 0–80% 壁纸自身的浓度、虚化和黑色蒙层
填充方式 铺满 / 适应

分级兜底:卡片层 88% / 91% / 94%,输入框 94% + 独立磨砂,所以调低画布地板不会把设置页一起调透。

安装与启用

使用命令行安装:

# 桌面端
dsh plugin --profile desktop add github:yunshu-iii/dsh-wallpaper-theme

# Web 端
dsh plugin --profile web add github:yunshu-iii/dsh-wallpaper-theme

安装完成后重启 Harness 即可生效。也可以从插件页「安装第三方插件」选择本仓库,或先装 dsh-plugin-market 在市场里一键安装。

存储位置

插件在本地存储配置与图片:

$DSH_HOME/wallpaper-theme/
├── index.json          图库索引 + 当前选择 + 参数
└── files/<id>.<ext>    图片本体(按内容哈希命名,重复上传自动去重)
  • 单张上限 20MB,图库 30 张 / 300MB,超出时淘汰最旧且未被使用的。
  • 上传前浏览器先缩到最长边 2560px 的 WebP,12MP 照片通常只有几百 KB。
  • 图片只存本机,不上传任何服务器,也不走附件 / 会话通道。

实现要点

  • 壁纸画在插件自持的 constructable stylesheet 里:html::before 固定定位、三层叠加(淡出底 → 暗化 scrim → 图片)。
  • 「壁纸强度」用底色渐变实现而不是 opacity,保持这一层始终不透明——否则面板的 backdrop-filter 会静默失效。
  • 铺满模式只改 token:--dsw-alias-bg-base(画布地板)、--dsw-specific-sidebar-fill(侧栏地板)、--dsw-alias-bg-layer-1/2/3(卡片)、--dsw-specific-input-major(输入框)。三列各读自己的 token 画背景,所以“对话区磨砂、侧栏更透、卡片接近实心”是同一张表算出来的。
  • 桌面壳兼容:清掉 --dsh-desktop-frame-fill、.dshDesktopFrame 的背景与 extended/advanced 模式下 .dshDesktopSidebarSurface 的不透明底。
  • 禁用兜底:客户端每 10 秒探一次宿主接口(单次 5 秒超时);404 / 超时 / 连接失败都算“宿主不在了”,撤掉壁纸并隐藏按钮,重新启用后自动恢复。
  • 卸载时整张样式表清空,所有覆盖同时消失。

已知限制

  • 右上角的最小化 / 最大化 / 关闭是 Windows 原生窗口按钮,由系统绘制在网页之上,网页 CSS 无法覆盖;要统一需要主进程 setTitleBarOverlay。
  • 个别控件若用了写死的颜色(不走 token),壁纸在那一小块上透不出来。
  • 只做壁纸与表面材质:不改变强调色、字体、圆角等设计 token。
  • 不做多方案分组保存(如「工作日 / 周末」两套);浅深两套是最小单位。
  • 轮换只在页面打开时检查——应用关着不会跳图。

适用场景与注意

适合需要在桌面端窗口中统一背景与磨砂效果、希望减少长时间盯着窗口的视觉疲劳的开发者。插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。

结尾

本插件在侧栏底部提供一个「主题与壁纸」入口,支持上传本机图片、管理图库与渐变预设,并逐项调节界面材质,适合希望在 DSH 桌面端获得整窗壁纸与分级磨砂玻璃效果的同行。

  • 目录页:https://www.skillhub.cn/plugins/yunshu-iii/dsh-wallpaper-theme
  • GitHub:https://github.com/yunshu-iii/dsh-wallpaper-theme
羽毛球分组比赛记分
小程序二维码

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

小夜