dsh-beauty-persist:持久化 DSH Desktop 壁纸与主题

DSH Desktop 启动时使用 OS 分配的随机端口(--port 0),导致浏览器源(origin)在每次重启时变化。由于 localStorage 是按源分区的,由 dream-skin / liquid-glass 存储的壁纸等视觉状态会在每次重启后丢失,即使它们从未被删除。dsh-beauty-persist 将该视觉状态移至服务器端 JSON 文件,使其独立于端口。它在每次页面加载时恢复状态,并在 UI 调整设置时将更改推回服务器。

功能

  • 持久化 dream-skin / liquid-glass 壁纸与主题。
  • 服务端 JSON 文件存储,不受端口变化影响。
  • 支持 GIF 动图壁纸。
  • 支持 MP4 视频壁纸。
  • 全屏皮肤中心(上传、预览、应用、删除素材)。

安装与启用

此插件适用于已经运行 dsh-dream-skin 和/或 dsh-liquid-glass 的配置文件(通常是 DSH Desktop 使用的 desktop 配置文件)。

1、进入桌面配置文件目录:

cd ~/.dsh/profiles/desktop

2、添加依赖项(请将 <owner>/<repo> 替换为实际的仓库地址):

pnpm add dsh-beauty-persist@github:<owner>/<repo>

3、在 package.json 的 dsh.profile.bundles 中注册 bundle:

{
  "dsh.profile.bundles": [
    "dsh-beauty-persist"
  ]
}

安装完成后,需要重启 DSH Desktop 以加载新的 bundle。

典型用法

重启 DSH Desktop 后,无需额外配置。您可以通过以下方式管理壁纸:

1、在 GUI 设置中选择壁纸或皮肤。选择后,状态会自动保存到服务器端,随重启恢复。

2、使用命令行上传文件(需 Node.js 环境):

# 上传 GIF 动图壁纸
node scripts/set-gif-wallpaper.mjs "C:\path\to\my-wallpaper.gif"

# 上传 MP4 视频壁纸
node scripts/set-mp4-wallpaper.mjs "C:\path\to\my-wallpaper.mp4"

3、在皮肤中心操作。打开 设置 → 外观,找到 🎨 皮肤中心。您可以上传本地图片/GIF/MP4 到素材库(~/.dsh/beauty-persist-assets/),点击缩略图应用,或点击 ✕ 删除。

注意事项

  • 前置依赖:需要已运行 dsh-dream-skin 或 dsh-liquid-glass。
  • 环境要求:需要 Node.js >= 18。
  • 文件存储位置:
  • 状态文件:~/.dsh/beauty-persist-state.json
  • GIF 壁纸:~/.dsh/beauty-persist-wallpaper.gif
  • MP4 壁纸:~/.dsh/beauty-persist-wallpaper.mp4(最大 50MB)
  • 素材库:~/.dsh/beauty-persist-assets/(最大 50MB)

参考资源

羽毛球分组比赛记分
小程序二维码

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

小夜