Pular para o conteúdo principal
B

dsh-native-glass

brantshin/dsh-native-glass

Reveals the real wallpaper and windows behind the main chat area in Anywhere Labs DSH Desktop on macOS, using native glass with adjustable background and panel opacity.

Instalar

dsh plugin --profile web add github:brantshin/dsh-native-glass

README

DSH Native Glass

CI Release License: MIT

让 Anywhere Labs DSH Desktop 的主聊天区也像侧栏一样,实时透出并模糊窗口背后的桌面、动态壁纸或其他应用。文字保持清晰,背景和输入框的不透明度可分别调整。

Native macOS glass for Anywhere Labs DSH Desktop. Reveals the actual content behind the window using the host's native vibrancy, with adjustable background and panel opacity.

这是独立社区插件,适配 Anywhere Labs DSH Desktop,并非 DeepSeek 或 Anywhere Labs 官方产品。

效果与适用范围

  • 主聊天区、侧栏及适配的详情区域使用透明底色,复用宿主已开启的 macOS 原生玻璃材质。
  • 背景不透明度 0–100%,默认 15%;输入框、代码块等面板不透明度默认 24%。
  • 跟随宿主的深浅色主题提供背景色调;弹窗与菜单保留较实的背景。
  • 即时开关、恢复默认、本地保存设置;关闭后撤销本插件的背景覆盖。
  • 不加载壁纸或视频、不录屏、不发送网络请求,无额外运行时依赖和安装脚本。
环境状态
macOS / Apple Silicon / Anywhere Labs DSH Desktop 2.0.18 / 扩展模式 / 玻璃背景开启已验证,主聊天区真实背景效果经使用者确认
上述桌面端内置 DSH 0.2.1-rc.2已验证的引擎版本
advanced、compatibility 模式代码允许启用,尚未分别进行视觉验收
Windows、Linux、普通浏览器,或未开启原生透明材质不启用玻璃覆盖
DeepSeek 官方桌面端、其他桌面壳或新版本未验证,不承诺兼容

engines.dsh 声明范围为 >=0.2.1-rc.2 <0.3.0,用于引擎版本检查,不代表范围内所有版本都已测试。预发布版本按 SemVer 规则匹配。桌面布局目前针对 2.0.18,升级后需重新核验。

安装

先在 DSH Desktop 中开启 玻璃背景,按桌面端提示重启。插件只能复用已经启用的原生材质,不能把普通浏览器变成透明原生窗口。

以下命令请在 DSH Desktop 内打开的 DSH 终端执行,安装到当前使用的 profile。桌面端管理的 desktop profile 不应通过外部独立安装的 DSH CLI 修改。

从 GitHub 安装固定版本

dsh plugin add 'github:brantshin/dsh-native-glass#v0.1.0'

安装完成后重启 DSH Desktop。仓库直接包含可加载的 lib/ 文件,无需编译,也无需添加 allowBuilds 权限。

从 Release 安装包安装

从 v0.1.0 Release 下载 dsh-native-glass-0.1.0.tgz,也可使用同页的 SHA256SUMS 核对下载文件。在下载目录执行:

shasum -a 256 -c SHA256SUMS
dsh plugin add ./dsh-native-glass-0.1.0.tgz

然后重启 DSH Desktop。本项目目前通过 GitHub 分发,未发布到 npm,也未宣称已被第三方插件市场收录。

设置

打开 设置 → 通用 → 原生全窗口玻璃:

设置默认值作用
启用全窗口玻璃开启关闭后恢复宿主及其他插件提供的背景
背景不透明度15%越低越通透,只调整背景遮罩,不降低文字透明度
输入框与代码块不透明度24%调整输入框、代码块、消息气泡等相关主题面板
恢复默认—恢复以上默认值并启用效果

macOS 原生材质自身也有遮罩,因此 0% 不等于完全无色透明。模糊由宿主与系统处理,本插件不提供模糊半径调节。

设置保存于当前页面 origin 的 localStorage,键为 dsh-native-glass.v1。若桌面端更换端口,设置可能恢复默认。卸载会停止加载插件,但不会主动删除已保存的偏好。

更新与卸载

更新时,在 DSH Desktop 内的 DSH 终端运行相应版本的 dsh plugin add 命令,或安装新版 Release 包,再重启应用。

仅想恢复原背景,可关闭插件设置中的开关。完全卸载:

dsh plugin remove dsh-native-glass

随后重启 DSH Desktop。插件释放时撤销自己的主题覆盖、样式、监听与 DOM 标记,不修改模型配置或会话数据。

常见问题

安装后没有设置入口?

确认安装到了当前正在使用的 profile,并重启整个 DSH Desktop。不要只安装到独立 CLI 的默认 profile。

仍只有侧栏透明,或主区完全不透明?

确认桌面端玻璃背景已启用、插件开关开启,并降低背景不透明度。暂时停用其他覆盖 body、#root 或相同主题变量的外观插件以定位冲突。其他插件自绘的实色区域不保证自动透明。

为什么不能调节像 Ghostty 那样的模糊半径?

本插件清除遮挡原生材质的页面背景,并调整背景色遮罩。它不修改 Electron 窗口配置;系统模糊的强度、色调和焦点变化效果仍由宿主控制。

截图为什么看不出动态壁纸?

部分单窗口截图不会包含完整的系统背景合成。可在窗口后播放动态壁纸,或拖动另一窗口经过聊天区后方,直接观察实时变化。模拟 DOM 测试不能替代这项实际视觉验收。

浅色主题或叠加其他主题是否都已验证?

代码包含深浅色背景值,但未穷举所有主题和插件组合。出现对比度或覆盖问题时,请提高面板不透明度或关闭效果,并提交复现信息。

开发与 DSH 插件约定

package.json         包元数据、DSH 版本约束、bundle 与 client 声明
cordis.patch.yml     按包名注册 Host 插件行
lib/index.js         Host 入口,空 apply,不提供后端功能
lib/client.js        可直接加载的 ModuleLoader 客户端代码
test/plugin.test.mjs 生命周期、环境限制与设置持久化测试
test/visual/         可选的本地动态背景验收页面

本项目使用 JavaScript 直接维护发布代码,lib/ 同时是源码和可加载文件,没有额外构建阶段。React 由宿主的客户端模块系统提供,不打包第二份 React;Host 入口不导入 DSH 运行时包。

  • dsh.bundle.patch 指向随包分发的 cordis.patch.yml,补丁以包名 dsh-native-glass 注册插件。
  • exports["./client"] 与 dsh.client.platform = "web" 声明客户端入口;dsh.client.inject 声明 theme、settings、slots 包依赖。
  • 客户端使用 ctx.theme.overrideTokens() 与 settings.general.item 插槽,运行时注入 theme、slots 服务。
  • 样式与监听由 ctx.effect() 管理释放,不调用 Electron 私有 API。
  • 桌面布局类名和 data-dsh-desktop-* 属性仍是版本相关的适配点,不属于稳定跨版本保证。 Community Fabric RFC 尚为草案,本插件不把草案字段当作现有运行时接口。

Node.js 18 或更高版本即可执行测试;CI 使用 Node.js 22。无需安装依赖:

npm test
npm pack --ignore-scripts

本地安装开发版本,在桌面端的 DSH 终端中将路径替换为自己的仓库绝对路径:

dsh plugin add 'file:/absolute/path/to/dsh-native-glass'

修改后重新安装并重启。file: 安装不保证源码编辑能实时反映到已安装副本。

测试覆盖设置值归一化、不支持环境的限制、背景变量与文字变量隔离、开关及滑块持久化、释放清理。测试使用模拟 DOM,不能证明 macOS 原生视觉效果;发布前还需在支持的桌面环境验证真实背景、设置开关和可读性。

规范来源

实现和发布说明参考以下上游文档;它们会持续更新,应结合已验证版本阅读:

反馈与贡献

欢迎通过 Issues 提交问题,附上 macOS、DSH Desktop 和内置 DSH 版本、桌面模式、相关外观插件以及复现步骤。截图前请遮盖会话内容与个人信息。

提交改动前运行 npm test 和 npm pack --dry-run,确认归档包含入口和补丁。涉及界面时补充真实桌面环境的验证结果,并说明未测试的平台。行为变更请同时更新 README 与 CHANGELOG。

许可证

MIT。

Plugins relacionados