透明亚克力主题:让 DeepSeek Harness 窗口透出壁纸

前言

DeepSeek Harness(DSH)桌面版在默认状态下,窗口是不透明的,用户无法直接看到桌面壁纸。对于希望在开发过程中保持桌面可见、减少视觉割裂感的开发者来说,这会带来一些干扰。

透明亚克力主题(dsh-acrylic-light)通过两层改造解决这一问题:第一层是插件级别的样式覆盖,实现页面内部的分层雾面与输入栏硬裁;第二层是对 Harness 主程序 app.asar 的等字节补丁,把窗口材质改为 Windows 的 Acrylic(毛玻璃)。这套方案不依赖外部窗口对象,而是通过修改归档文件实现,是目前在插件权限下能做的最小侵入式改动。

这是什么

dsh-acrylic-light 是一个 DeepSeek Harness 桌面版的主题插件,由维护者 YSDLNGF 编写。它提供两层效果:

  1. 窗口级:让窗口透出桌面壁纸,模糊由 Windows 系统的 Acrylic 材质负责。
  2. 页面级:主面板与顶栏完全透明,侧栏保留极淡底色,输入栏为透明雾面玻璃,代码块与浮层采用半透明背景以保证可读性。

插件本身不构建,直接读取 plugin/ 目录下的文件即可运行。

核心功能

分层雾面与文字可读性

  • 主面板 / 顶栏:完全透明,透出壁纸,模糊由系统 Acrylic 完成。
  • 侧栏 / 三列:极淡底色(8%–10%),保留层次。
  • 输入栏:透明雾面玻璃,文字在输入栏上沿硬断(不钻进输入栏背后)。
  • 悬停预览 / 菜单 / 工具提示:rgb(20 22 28 / 18%) + blur(12px)。
  • 设置面板 / 对话框:rgb(26 28 34 / 78%) + blur(24px)。
  • 代码块:rgb(20 22 28 / 55%),保证长段可读。

深色主题下,文字会自动提亮:label-primary/secondary/tertiary 及底层 bluish-200/300/400/600/700 一并改为白色系,否则深底上发灰。

实时调参

在控制台(F12 → Console)中可以查看与修改当前参数:

glass()                    // 看当前参数
glass({ enabled: false })  // 一键关闭
glass.reset()              // 回默认

想改配色,直接编辑 plugin/client.js 顶部的 GLASS_STYLE,每个值旁都注明了由来。

窗口材质补丁

窗口材质是 Electron BrowserWindow 的构造参数,只存在于主进程。插件宿主跑在独立的 Node 进程里,无法直接访问窗口对象,因此无法从插件侧打开透明效果。本插件通过给 app.asar 打等字节补丁实现:在 main.js 的几处属性上增加 backgroundMaterial: acrylic,并将标题栏 overlay 改为透明。

补丁脚本会等待 Harness 完全退出,然后执行补丁、校验、自动重启。文件总大小不变,不会破坏 asar 的其他条目;若锚点对不上,脚本直接失败退出,不动已安装文件。

安装与启用

本插件已在插件市场(dsh-market)上架,也支持从 GitHub 直接安装。

方式一:从插件市场安装(推荐)

  1. 打开 Harness,进入 设置 → 插件市场。
  2. 进入 「主题」 分类。
  3. 搜索 dsh-acrylic-light(或「透明亚克力」)。
  4. 点击 安装,按提示重启。

安装完成后进入 设置 → 通用 → 透明亚克力,把「启用」打开。

插件市场安装只装页面样式,窗口要透出壁纸还需要补丁。

方式二:从 GitHub 地址添加

  1. 在 Harness 中进入 插件 → 添加插件。
  2. 输入:
   https://github.com/YSDLNGF/dsh-acrylic-light

也接受这几种等价写法:

   https://github.com/YSDLNGF/dsh-acrylic-light.git
   github:YSDLNGF/dsh-acrylic-light
  1. Harness 会 clone 到 ~/.dsh/profiles/desktop/node_modules/dsh-acrylic-light,登记 bundles,然后提示重启。

补丁安装(让窗口透出壁纸)

只装插件只改了页面样式,窗口本身仍是不透明的。这一步让壁纸透出来:

  1. 下载补丁包 zip 解压,然后双击其中的 enable-transparency.cmd。补丁包直接把整套脚本打包好了,无需整仓下载:dsh-acrylic-light-patch.zip。
  2. 脚本会等待你从托盘退出 Harness(它会一直等,直到进程消失),然后自动给 app.asar 打补丁、校验、自动重启。

命令行等价:

   powershell -ExecutionPolicy Bypass -File .\apply-when-closed.ps1

注意事项

深色模式优先

强烈建议使用深色模式(Dark Mode)。浅色模式下壁纸会透出偏亮的色调,玻璃面板的层次和文字对比度都不如深色模式清晰。为了效果达到最佳,请把 Harness 切到深色主题:设置 → 通用 → 外观 → 深色。

补丁卡住或没有重启 → 检查 Node.js

如果 Harness 退出后,双击补丁文件没有重启,且进度卡住不动,说明电脑上没有安装 Node.js(补丁工具靠它运行)。

  • 下载地址:https://nodejs.org
  • 安装说明:进入 Node.js 官网,点击「获取 Node.js」→「Windows 安装程序」→ 下载完成后一路默认安装。安装成功后,退出 PowerShell,重新双击 enable-transparency.cmd。

补丁装完后仍无透明效果 → 运行诊断

如果补丁显示成功、Harness 也重启了,但窗口还是不透明,请双击补丁包里的 diagnose.cmd。它会检查四件事并给出结论:

  • 补丁是否写进 app.asar(有没有 backgroundMaterial)
  • Windows 版本(需要 Build ≥ 17134,Win10 1803 起才有 Acrylic)
  • 系统「透明效果」开关(设置 → 个性化 → 颜色)
  • 运行环境(虚拟机 / 仅有「基本显示适配器」/ RDP 远程桌面会让系统禁用 Acrylic)

更新与卸载

  • 更新后需重跑补丁:DSH 每次更新都会覆盖 app.asar,更新后需要重新执行补丁步骤。
  • 卸载:推荐用 Harness 自带的卸载按钮。设置 → 插件 → 找到 dsh-acrylic-light → 点「卸载」。
  • 连同补丁一起还原:卸载按钮只会移除插件本身,窗口材质补丁仍留在 app.asar 里。若要恢复原生外观,可运行:
   node uninstall.mjs
   powershell -ExecutionPolicy Bypass -File .\restore-asar.ps1

两者都做完再重启。

适用场景

  • 希望在开发过程中保持桌面可见,减少视觉割裂感的 DSH 用户。
  • 需要在深色主题下保持文字清晰、玻璃层次明显的开发者。
  • 不介意通过补丁修改宿主程序 app.asar,并能接受更新后需重跑补丁的用户。

参考资料

  • 插件目录:https://www.skillhub.cn/plugins/YSDLNGF/dsh-acrylic-light
  • GitHub 仓库:https://github.com/YSDLNGF/dsh-acrylic-light
  • 插件市场目录:https://raw.githubusercontent.com/awesome-dsh-plugin/awesome-dsh-plugin/main/data/plugins/YSDLNGF__dsh-acrylic-light.yml
羽毛球分组比赛记分
小程序二维码

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

Xiaoye