DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

dsh-desktop-transparency

b

dsh-desktop-transparency

Manifest valid★ 1

DSH Desktop 的分区透明壁纸主题:按屏幕坐标钉住系统壁纸,让窗口看起来真的透到桌面,并可分区调节透明度。Screen-aligned wallpaper behind a per-region translucent UI.

UI (client)hasBundlePatch

dsh-desktop-transparency

让 DSH Desktop 的窗口看起来真的透到桌面——按屏幕坐标钉住系统壁纸,再按区域调半透明。

Per-region translucency for DeepSeek Harness Desktop, backed by a screen-aligned system wallpaper.

状态:可用,但分区选择器绑定 DSH 版本(见兼容性)。失效时插件会自我提示,不会静默坏掉。

演示:照片壁纸透过界面显现

▶ 完整演示(24 秒 · 无声 · 757KB)

演示与截图中的左侧栏已做磨砂处理,用于遮盖个人会话名。


效果

窗口不是贴了一张壁纸,而是和屏幕对齐

窗口浮在桌面上,边框内外壁纸无缝衔接

这是本插件最核心的证据。窗口没有最大化,浮在桌面之上:

  • 左边缘外侧的礁石 → 内侧同一块礁石继续
  • 底部外侧的沙滩与浪花 → 内侧纹理连续
  • 右边缘外侧的岩壁 → 内侧纹路接上

窗口拖到哪、缩放到多大,壁纸都相对屏幕不动,只露出更多或更少。 所以看起来像窗口真的透了,而实际上是把系统壁纸钉在了界面底层。

照片壁纸透过界面

整窗效果

五个分区各自独立调节——图中「对话区」被压到 0.21,照片几乎完全透出来, 而左栏(0.81)与浮层(0.96)依然保持可读。

分区独立控制

右侧栏展开时的多分区效果

右侧栏展开时同样独立生效:图中右侧栏 0.47、对话区 0.62、壁纸模糊 18px。 右侧栏比对话区更透明,是因为它是辅助面板,不需要那么高的对比度。

控制面板

控制面板

十个控件:五个分区透明度、壁纸模糊、背景压暗、对齐偏移 X / Y,外加偏移归零与整体还原。


为什么需要它

DSH Desktop 底层是 Electron。主进程 window-material.ts 里:

function parseWindowsWindowMaterial(value) {
  if (value === "off") return value;
  if (value === "acrylic" || value === "mica") return "off";  // 静默降级
  throw new Error('dsh-desktop.windowsMaterial must be "off"');
}

Windows 上窗口材质只允许 off,传 transparent 直接抛错。也就是说 "真·窗口穿透"在当前桌面端被主进程关死了,改 CSS 也绕不过去。

本插件换了个思路:读系统壁纸 → 按屏幕坐标钉在界面最底层 → 把界面调半透明。 视觉效果接近真穿透,且不会让桌面端崩溃。


对齐原理

不按"窗口"铺图,而是把图钉死在屏幕坐标系上:

元素尺寸        = 屏幕逻辑尺寸 (SW × SH)
background-size = SW px × SH px        (与 Windows「填充」一致)
元素位移        = (-window.screenX, -window.screenY)

窗口向左挪 10px,图就向右补偿 10px——壁纸相对屏幕永远不动。 窗口缩放时图的缩放比例不变,只是露出更多或更少。

图像原点永远落在屏幕 (0,0),这是对齐成立的充要条件(测试里就断言这一条)。


安装

npm(推荐)

dsh plugin --profile desktop add dsh-desktop-transparency

从 npm 安装,带 SLSA provenance 签名。

装完完全退出 DSH Desktop 再重新打开(刷新页面不够)。

从 GitHub

dsh plugin --profile desktop add github:biotechdrli-byte/dsh-desktop-transparency

卸载

dsh plugin --profile desktop remove dsh-desktop-transparency

分区透明度

opacity 会沿 DOM 树向下相乘,所以"整窗统一降透明度"会让弹窗、菜单一起变淡, 和底下的文字叠在一起。本插件对互为兄弟的五个区域各设各的 opacity:

分区默认
左侧栏0.81
对话区0.60
顶栏0.86
右侧栏0.66
浮层 / 弹窗0.96

壁纸模糊默认 29px,背景压暗默认 0.18。

结构让位

中区根节点原本用一块底色铺满整个中区,顶栏和对话区都透它——不拆开这两块, 它们永远只能一起变。所以插件会让根节点交出底色,由 header 与 body 各自承担:

.MnhYfG_frame{background:transparent !important}
._727C8a_root{background:transparent !important}
._727C8a_body{background:var(--dsw-alias-bg-base,#151517) !important}
header._727C8a_header{background:var(--dsw-alias-bg-base,#151517) !important}

侧栏不动底色(它比中区浅,覆盖会破坏层次)。opacity 为 1 时视觉与原样一致。


控制面板

右下角浮动面板,拖动标题可移动,Ctrl+Alt+H 收起/展开。 收起后右下角保留一个 ⚙ 圆点,点它可重新打开。

控件范围默认
五个分区透明度0.05 ~ 1.00见上表
壁纸模糊0 ~ 60 px29
背景压暗0 ~ 1.000.18
对齐偏移 X / Y-80 ~ +80 px0

所有调节自动存 localStorage(键 dsh-dtp-state),重启后保留。

快捷键

快捷键作用
Ctrl+Alt+H显示 / 隐藏面板
Ctrl+Alt+←→↑↓对齐微调 1px(加 Shift 为 10px)
Ctrl+Alt+D导出界面结构快照

对齐校准

大多数机器第一次用都需要校准 1~2px。 判断标准:把窗口拖成非最大化, 盯窗口边框——框内的壁纸应该和框外的桌面壁纸无缝接上。

做法:拖「对齐偏移 X / Y」滑块,或用 Ctrl+Alt+方向键(步进 1px,更精细)。

参考值(作者机器:Windows、125% 缩放、DSH Desktop 2.0.18):

X = -7.5    Y = -38.5

两者都指向窗口外框内缩:X 约等于无边框窗口的隐形 resize 边框, Y 约等于 36px 标题栏 + 边框。这组值不代表你的机器也一样,请自行校准。

如果最大化与还原状态下偏移量不同,说明是 Windows 最大化把边框推到屏幕外所致, 目前需要两套值切换(尚未实现,欢迎 PR)。


隐私

本插件会:

  • 读取 Windows 当前桌面壁纸文件 (%APPDATA%\Microsoft\Windows\Themes\TranscodedWallpaper,取不到再退回注册表原图路径)
  • 通过本机回环 HTTP 路由把它交给页面自己显示
  • 把界面结构快照写到 ~/.dsh/dsh-dtp-dom.json(仅在按 Ctrl+Alt+D 或启动 6 秒后自动触发)

本插件不会:

  • 发起任何外部网络请求(壁纸不出本机)
  • 上传、遥测、统计
  • 读写你的会话内容

自定义路由都过了宿主提供的信任栅栏:未授权的请求返回 401,不会吐出壁纸。


兼容性

项值
平台Windows(macOS 原生支持窗口透明,不需要本插件)
DSH Desktop实测 2.0.18 / 内核 0.2.1-rc.2
桌面壳形态compatibility(无 .dshDesktop* 外壳)
Node≥ 20
运行时依赖零

⚠️ 分区选择器是 DSH 编译产物的哈希类名,升级 DSH 后可能失效。

失效时不会静默坏掉:面板上对应分区的名字后面会显示 ⚠。处理方式:

  1. 按 Ctrl+Alt+D 导出 ~/.dsh/dsh-dtp-dom.json
  2. 在快照里找到该区域的 tag / class / 尺寸
  3. 修改 lib/client.js 顶部 REGIONS 数组里的 sel
  4. 重启

故障排查

装上没反应 / 背景没出现

curl -i http://127.0.0.1:<端口>/dsh-bg/info
  • 401 → 路由已注册,插件是活的(401 是信任栅栏,正常)
  • 404 → 插件没加载,检查是否在 dsh.profile.bundles 里、以及是否真的重启了

端口见 %USERPROFILE%\.dsh\profiles\desktop\.dsh-desktop-runtime.json。

分区滑块没反应 → 看面板上有没有 ⚠,按上面的流程改选择器。

壁纸换了自己没跟上 → 插件每 5 秒轮询壁纸文件 mtime,正常情况下 5 秒内会跟上。


开发

npm test

两套测试:

  • test/client.test.mjs —— 最小 DOM stub 跑真实客户端代码,验证屏幕对齐数学、 分区隔离、自激循环回归、面板收起/找回
  • test/host.test.mjs —— 假 webServer 跑真实 Host 代码,验证壁纸发现、MIME 识别、 路由响应、信任栅栏、无 webServer 时安全降级

结构

lib/index.js     Host:发现系统壁纸 + 路由(/dsh-bg/info、/dsh-bg/wallpaper)+ 快照落盘
lib/client.js    浏览器:屏幕坐标对齐层、分区透明度、控制面板
cordis.patch.yml bundle 声明
test/            两套测试

性能

环节做法开销
窗口移动/缩放只改 transform: translate3d合成器处理,不重绘
模糊filter: blur() 作用于静止图层结果被缓存,非每帧重算
位置检测静止时降到 4Hz,一动切回 rAF空转近似为零

刻意没有用 backdrop-filter 做背景模糊——它会每帧采样身后内容,全屏开销极大。 面板自身用了,但面积小可忽略。


已知限制

  • 仅 Windows
  • 多显示器未处理(按单屏主屏计算)
  • 最大化/还原若偏移不同,需手动切换(未实现)
  • 与其它主题插件的背景层可能冲突,同一时间只应启用一个

License

MIT

Comments

Loading…

From the same category

awesome-dsh-plugin

by awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Development & Infrastructure

★ 20.2k

CC0-1.0

Python

Oct 23, 2026

Index only — not installable

by 0xsline

DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.

Development & Infrastructure

★ 1.2k

CC0-1.0

Python

Oct 16, 2026

Index only — not installable

by pax-beehive

Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub

Development & Infrastructure

★ 277

MIT

TypeScript

Oct 20, 2026

Index only — not installable

by xiajiajun516

DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.

Development & InfrastructureManifest valid

★ 227

MIT

TypeScript

Oct 22, 2026

dsh plugin --profile web add dsh-config-manager

by yjh051108

推荐组件(非必须):DeepSeek Harness 运行时注入器;已随 dsh-routing-suite 单仓库化保留,本仓库继续维护/发布。

Development & InfrastructureManifest valid

★ 166

TypeScript

Oct 16, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by jigjoy-ai

A CLI that turns a goal into a pull request - and a sandbox for testing concurrent AI coding agents on the Mozaik runtime.

Development & Infrastructure

★ 125

MIT

TypeScript

Oct 22, 2026

Index only — not installable