前言¶
DeepSeek Harness(DSH)桌面端的主界面默认是不透明的面板叠在窗口之上。若你希望主窗口像「桌面上挖出的洞」一样,背后就是系统正在显示的那张壁纸,并且换壁纸、拖窗口、最大化时仍能对齐,就需要在客户端侧做壁纸解析、本地路由和界面 token 覆盖。dsh-wallpaper-glass 是社区插件,由 talulra 维护,在 SkillHub 目录中归类为「趣味换装」。它把本机桌面壁纸垫在 DSH 主窗口后面,主壳半透明,对话框、菜单和内嵌浏览器仍保持原有不透明背景。
这是什么¶
dsh-wallpaper-glass 的定位是:在 DeepSeek Harness 主窗口背后显示本地系统壁纸,窗口半透明且尽量与桌面对齐,并随壁纸明暗调整可读性遮罩。插件通过 Host 解析 OS 当前壁纸文件,经会话保护的本地 HTTP 路由提供给页面;浏览器侧重写主题 surface token,仅主壳玻璃化。维护者与源码仓库见 GitHub,目录页见 SkillHub。DSH 社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
下面按 README 中已说明的能力归纳,不写资料未提及的行为。
壁纸来源与跟随¶
Host 在 Windows 上优先使用 %APPDATA%\Microsoft\Windows\Themes\TranscodedWallpaper,再查注册表 WallPaper,再取 Themes\CachedFiles 中较新的文件;macOS 用 osascript 读桌面图,Linux 用 gsettings picture-uri,均为 best-effort。页面默认每 4 秒请求 /dsh-wallpaper/meta,Host 仅 stat 文件,以 mtime-size 为修订号;修订变化后再拉 /dsh-wallpaper/image。支持读取 WallpaperStyle / TileWallpaper,对应 fill / fit / stretch / center / tile。
主窗玻璃化与对齐¶
浏览器侧通过 ctx.theme.overrideTokens 改写 --dsw-alias-bg-*、--dsw-specific-sidebar-fill 等 token,仅主壳半透明。默认开启像素对齐:在固定层内放一块屏幕尺寸的 plate,负偏移等于窗口在屏幕上的位置,使窗口显示与桌面同一区域;移动、缩放、贴边与最大化在约 250 ms 内跟随。多显示器或负原点等情况下会退化为 data-align="fallback",用壁纸铺满窗口自身而非留空。
可读性与交互层¶
在 32 px 画布上对壁纸求平均亮度:浅色主题下压暗壁纸时加雾,深色主题下亮壁纸时加深。浅色主题里 label-secondary 等标签降一档(如 secondary #61666b → #353638),深色主题保持原值。role=dialog、菜单/列表/tooltip,以及内嵌 iframe/webview 周边面板恢复不透明;输入框沿祖先查找实际绘制背景的节点并标记 data-dshp-solid。三条壁纸相关路由均经 connection.requestRejection(),未认证请求不会拿到壁纸。
右下角控件¶
可拖动的 ◐ pill 位于右下角,位置会记住,选项保存在 localStorage:
- 壁纸:显示 / 隐藏
- 透明度:subtle / medium / strong
- 虚化:0 / 8 / 16 / 28 px
- 对齐桌面:开 / 关
- 重置本机设置
配置里 controls: false 可去掉该控件。
安装与启用¶
安装前请自行查看仓库源码与 MIT 许可证;插件以当前 dsh 进程权限读取本机壁纸路径,属敏感能力,勿在未审阅代码的情况下安装。
在 PowerShell 中,对 desktop profile 执行官方命令:
# from GitHub
dsh plugin --profile desktop add github:talulra/dsh-wallpaper-glass
# local development, from a checkout
dsh plugin --profile desktop add link:C:\deepseek\dsh-wallpaper-glass
# uninstall
dsh plugin --profile desktop remove dsh-wallpaper-glass
安装会把依赖写入 profile manifest,并把 bundle 追加到 dsh.profile.bundles。若启用了 HMR,保存配置后会现场重组;否则需重启客户端。
安装器会在 profile 的 cordis.patch.yml 末尾追加类似配置(字段以仓库文档为准):
- id: ui-wallpaper-glass
config:
intensity: medium # subtle | medium | strong
align: true # pixel-align with the desktop (on by default)
blur: 0 # 0-40 px blur applied to the wallpaper itself
pollMs: 4000 # how often the page asks whether the wallpaper changed
imagePath: '' # pin one image instead of following the system wallpaper
controls: true # corner pill
enabled: true
imagePath 非空时可固定一张图,不再跟随系统壁纸;pollMs 调节检测间隔;blur 作用于壁纸图层本身(0–40 px)。
典型用法¶
- 安装插件并重启客户端(或无 HMR 时同样需重启),确认主窗口背后出现本机壁纸且对话框仍为不透明。
- 用右下角 pill 在 subtle / medium / strong 透明度与虚化档位间切换,按需开关「对齐桌面」。
- 若只需静默玻璃效果、不要控件,在
cordis.patch.yml里设controls: false。 - 开发壁纸解析或路由时,仓库提供本地脚本(在项目 checkout 内执行,非安装路径):
node dev/detect-test.mjs # wallpaper resolution only
node dev/route-test.mjs # exercise the three HTTP routes
node dev/preview.mjs # DSH-like preview; ?overlays=1 shows dialog/menu/browser fixtures
dev/preview.mjs 可用 ?screen=1920x1080,400,300&dpr=1 模拟显示器几何以检查像素对齐。
适用场景与注意¶
适合在 Windows 上长期使用 DSH 桌面端、希望主界面与桌面壁纸一体化的用户。资料中说明:Windows 多显示器时 TranscodedWallpaper 常为主屏合成图,窗口拖到副屏会 fallback 为铺满窗口;像素对齐依赖 window.screenX/screenY 与 CSS 像素,无边框窗口对齐较准,有框窗口可能差几个像素。在普通浏览器里打开时壁纸仍可在页面内渲染,但浏览器窗口不透明,无法得到「桌面上挖洞」的效果。较旧 DSH 若无 overrideTokens,壁纸层仍会渲染但不会应用透明。Linux / macOS 壁纸路径解析为尽力而为,填充模式有假设。package.json 中当前版本为 0.5.4。
结尾¶
dsh-wallpaper-glass 把本机壁纸、主窗半透明与明暗自适应遮罩绑在一起,并刻意保留对话框、菜单与内嵌浏览器的实心背景,避免玻璃化影响操作。需要安装命令与配置字段时以仓库 README 为准:GitHub — talulra/dsh-wallpaper-glass;插件索引:SkillHub 目录页。