dsh-theme-liquid-glass:为 DSH Web UI 提供 Liquid Glass 主题

前言

DSH 支持通过插件扩展 Web UI。对于需要在浏览器中调整主题、背景、玻璃质感和控件外观的场景,dsh-theme-liquid-glass 是一个面向 DSH Web UI 的主题插件。它提供 Liquid Glass 风格、壁纸管理、玻璃参数调整和设置面板,让外观调整直接在 Web UI 中完成。下面介绍它的定位、核心能力、安装方式和需要注意的点。

这是什么

dsh-theme-liquid-glass 是一个用于 DSH Web UI 的 Liquid Glass 主题插件。GitHub owner 为 FAVKTOXIC,许可证为 MITpackage.json 中版本为 0.3.1,README 提到 SVG Edge Refraction (v0.3.0),运行环境要求 Node >= 18

它解决的是 Web UI 外观定制问题:背景壁纸、输入卡片、消息气泡、按钮、模型选择器和设置入口可以统一呈现 Liquid Glass 风格,并可在设置面板中实时调整。

核心能力

下面按功能分组介绍。

Liquid Glass 主题

  • 使用 ctx.theme.overrideTokens 覆盖 --dsw-alias-* 语义 token。
  • 玻璃参数由 body 上的 --dsh-lg-* CSS 变量驱动,修改即时生效。
  • 发送按钮、视图标签、侧边栏操作按钮和 command (+) 按钮使用玻璃风格。
  • 使用水滴图标替代默认齿轮作为设置入口。

边缘折射

输入卡片、发送按钮、消息气泡、视图标签、队列停靠栏和侧边栏按钮支持 SVG feDisplacementMap 边缘折射。

背景与壁纸

  • 支持 Web URL、本地 HTML 文件、本地图片和本地视频壁纸。
  • 可独立调整背景模糊(bgBlur)和亮度(brightness)。
  • 内置可定制的动画演示壁纸。
  • 视频壁纸默认静音,取消静音可能受 autoplay 策略阻止。
  • Web URL 壁纸可通过 host proxy 路由绕过 X-Frame-Options
  • 本地文件选择器支持上传壁纸到 POST /liquid-glass/upload,并通过 /liquid-glass/wallpaper/<filename> 服务。

模型 / effort 选择器

重新设计的模型/effort 选择器,提供 provider-group 网格布局和悬停高亮。

设置与禁用

  • 提供 Settings → Liquid Glass 设置面板,支持实时调整和 Reset to defaults
  • 一键禁用可移除 token 覆盖、壁纸和玻璃/折射规则。

安装与启用

先运行下面的安装命令,把主题加入 web profile:

dsh plugin --profile web add dsh-theme-liquid-glass

安装完成后刷新浏览器即可启用。

如果使用本地源码目录,可使用本地开发链接:

dsh plugin --profile web add "<absolute-path-to-theme-source>"

然后刷新浏览器。客户端更改需要 build 并刷新浏览器;修改 host 路由或上传端点后需要重启 dsh web

典型用法

下面给出几个常见操作。

实时调整外观

Settings → Liquid Glass 中调整背景、玻璃参数和壁纸设置。修改会即时生效;如果调整不合适,点击 Reset to defaults 恢复默认。

上传本地壁纸文件

使用本地文件选择器上传壁纸。上传端点为:

POST /liquid-glass/upload

上传后的文件通过下面的路径服务:

/liquid-glass/wallpaper/<filename>

首次启用演示壁纸

首次启用时,如果 <DSH_HOME>/wallpapers 中不存在 demo.html,插件会写入内置演示壁纸。壁纸目录可通过 wallpaperDir 配置修改。

关闭主题

通过一键禁用移除 token 覆盖、壁纸和玻璃/折射规则。

存储与运行注意

  • 设置保存在浏览器 localStorage,键名为 dsh-liquid-glass.settings。切换浏览器或清除站点数据会丢失设置。
  • 客户端 bundle 必须导出 inject 服务名数组,否则可能导致 web boot failure。
  • 该插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 许可证为 MITpackage.json 要求 Node >= 18

结尾

经过上面的安装和调整,dsh-theme-liquid-glass 可以为 DSH Web UI 提供一套可实时调节的 Liquid Glass 外观。它适合作为 Web UI 主题插件使用,用于背景、玻璃质感、按钮和选择器的外观调整。

资料中列出的地址如下:

  • 目录页:https://www.skillhub.cn/plugins/FAVKTOXIC/dsh-theme-liquid-glass
  • GitHub:https://github.com/FAVKTOXIC/dsh-theme-liquid-glass
羽毛球分组比赛记分
小程序二维码

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

小夜