前言¶
DSH Desktop 基于 Electron。在 Windows 上,主进程对窗口材质做了硬限制:acrylic、mica 会被静默改成 off,transparent 会直接抛错,因此无法靠「真窗口穿透」或单纯改 CSS 做出桌面壁纸从窗口里露出来的效果。
社区插件 dsh-desktop-transparency(维护者 biotechdrli-byte)换了一条路:读取系统壁纸,按屏幕坐标钉在界面最底层,再对五个 UI 分区分别调半透明。视觉上接近穿透,且不把桌面端搞崩。本文介绍其原理、安装与日常用法;事实以 GitHub README 为准。插件在 SkillHub 目录 归类为「趣味换装」。
这是什么¶
dsh-desktop-transparency 是面向 DSH Desktop(Windows) 的分区透明壁纸主题插件(npm 包名 dsh-desktop-transparency,当前 README 对应版本 0.7.0,MIT 许可证)。
一句话:把系统壁纸与屏幕对齐铺在窗口底层,左栏、对话区、顶栏、右侧栏、浮层各自独立透明度,外加模糊与压暗,让界面看起来像浮在桌面上,而不是窗口里贴了一张静态背景图。
macOS 原生支持窗口透明,README 写明不需要本插件;平台与实测版本见下文「适用与限制」。
核心能力¶
屏幕对齐的壁纸层¶
插件不按窗口尺寸铺图,而是钉在屏幕坐标系上:
- 元素尺寸 = 屏幕逻辑尺寸(SW × SH)
background-size= SW px × SH px(与 Windows「填充」一致)- 元素位移 =
(-window.screenX, -window.screenY)
窗口移动或缩放时,壁纸相对屏幕不动,只露出更多或更少区域。README 用未最大化窗口的边框内外礁石、沙滩纹理连续作为对齐证据。
五个分区独立透明度¶
opacity 在 DOM 上会向下相乘;若整窗统一降透明度,弹窗和菜单会一起变淡。插件对五个兄弟区域分别设置 opacity,默认值为:
| 分区 | 默认 |
|---|---|
| 左侧栏 | 0.81 |
| 对话区 | 0.60 |
| 顶栏 | 0.86 |
| 右侧栏 | 0.66 |
| 浮层 / 弹窗 | 0.96 |
壁纸模糊默认 29px,背景压暗默认 0.18。中区根节点会交出整块底色,由 header 与 body 各自承担背景,以便顶栏与对话区可分开调节(详见 README「结构让位」中的 CSS 说明)。
控制面板与持久化¶
右下角浮动面板:拖动标题可移动,Ctrl+Alt+H 收起/展开;收起后右下角保留 ⚙ 圆点可重新打开。
十个控件:五个分区透明度(0.05~1.00)、壁纸模糊(0~60 px)、背景压暗(0~1.00)、对齐偏移 X / Y(-80~+80 px),以及偏移归零与整体还原。调节结果写入 localStorage(键 dsh-dtp-state),重启后保留。
常用快捷键:
| 快捷键 | 作用 |
|---|---|
Ctrl+Alt+H |
显示 / 隐藏面板 |
Ctrl+Alt+←→↑↓ |
对齐微调 1px(加 Shift 为 10px) |
Ctrl+Alt+D |
导出界面结构快照 |
Host 侧:壁纸与路由¶
lib/index.js 负责发现 Windows 当前桌面壁纸(优先 %APPDATA%\Microsoft\Windows\Themes\TranscodedWallpaper,否则退回注册表原图路径),经本机回环 HTTP 提供给页面(路由含 /dsh-bg/info、/dsh-bg/wallpaper)。自定义路由经宿主信任栅栏,未授权请求返回 401。壁纸每 5 秒根据文件 mtime 轮询,换壁纸后一般在 5 秒内跟上。
安装与启用¶
插件以当前 DSH 进程权限运行,安装前建议浏览 仓库源码 与 LICENSE。
npm(推荐)¶
dsh plugin --profile desktop add dsh-desktop-transparency
从 npm 安装,README 注明带 SLSA provenance 签名。装完后完全退出 DSH Desktop 再重新打开(仅刷新页面不够)。
从 GitHub¶
dsh plugin --profile desktop add github:biotechdrli-byte/dsh-desktop-transparency
卸载¶
dsh plugin --profile desktop remove dsh-desktop-transparency
典型用法¶
- 按上一节安装并重启 DSH Desktop。
- 将窗口拖成非最大化,观察窗口边框:框内壁纸应与框外桌面壁纸无缝衔接。多数机器首次使用需校准 1~2px:用面板「对齐偏移 X / Y」或
Ctrl+Alt+方向键(步进 1px)。README 在 Windows、125% 缩放、DSH Desktop 2.0.18 上给出参考X = -7.5、Y = -38.5,不代表你的环境相同,需自行校准。 - 按阅读习惯调节五区透明度、模糊与压暗;需要排查分区选择器时,按
Ctrl+Alt+D导出快照到~/.dsh/dsh-dtp-dom.json。
装上没反应时,可用 README 建议检查本机路由是否注册(401 表示路由在、信任栅栏正常;404 表示插件未加载,需确认 bundle 与是否真重启)。端口见 %USERPROFILE%\.dsh\profiles\desktop\.dsh-desktop-runtime.json:
curl -i http://127.0.0.1:<端口>/dsh-bg/info
适用场景与注意¶
适合谁:在 Windows 上使用 DSH Desktop,希望界面有「透到桌面」的观感,并愿意微调对齐与分区透明度;接受插件读取本机壁纸、经回环 HTTP 在本地展示。
兼容性(README 表格):
| 项 | 值 |
|---|---|
| 平台 | Windows |
| DSH Desktop | 实测 2.0.18 / 内核 0.2.1-rc.2 |
| 桌面壳形态 | compatibility(无 .dshDesktop* 外壳) |
| Node | ≥ 20 |
| 运行时依赖 | 零 |
分区选择器绑定 DSH 编译产物的哈希类名,升级 DSH 后可能失效。失效时面板对应分区名后会显示 ⚠,不会静默坏掉;可按 README「兼容性」一节改 lib/client.js 顶部 REGIONS 的 sel 后重启。
已知限制:仅 Windows;多显示器按单主屏计算;最大化与还原若偏移不同需手动切换(尚未实现);与其它主题插件的背景层可能冲突,同一时间只应启用一个。
隐私:会读取 Windows 壁纸、本机回环提供图片、在 Ctrl+Alt+D 或启动约 6 秒后可将结构快照写入 ~/.dsh/dsh-dtp-dom.json;README 写明不发起外部网络请求、不上传会话内容。
结尾¶
在 Windows 上 DSH Desktop 无法走真窗口穿透时,dsh-desktop-transparency 用屏幕对齐的系统壁纸加分区半透明,把「看起来像透到桌面」做成可调的桌面主题。DeepSeek Harness 生态强调「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。