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)