dsh-ui-beautify
August 14, 2026 · View on GitHub
为 dsh 的 Web 界面(dsh web)提供的 Apple 风格「外观美化」套件——一个插件搞定动态壁纸、字体美化、粒子背景,并在设置里拥有独立的「外观美化」页。
本插件是
dsh-ui-background/dsh-ui-font/dsh-ui-particles三个插件的合并形态,安装它即可替代三者;旧插件的设置会自动无缝迁移。
功能
背景(动态壁纸)
| 设置项 | 作用 |
|---|---|
| 背景图片(每行一个) | 整页固定全屏背景;支持 http(s)://、data:、本地 file:// / 绝对路径(经宿主 loopback 路由读取);多行自动轮播,切换时双图层交叉淡入 |
| 轮播间隔 | 秒数,0 = 不轮播 |
| Ken Burns 缓动 | 缓慢缩放平移(60s ease-in-out),像 macOS 动态壁纸 |
| 毛玻璃模糊 | 0–40px,壁纸虚化,文字更清晰 |
| 背景不透明度 | 0–100% |
| 透明背景 | 侧栏与各层表面也透明 |
字体
| 设置项 | 可选值 |
|---|---|
| 界面字体 | 系统默认 / 霞鹜文楷 / Inter |
| 代码字体 | SF Mono(默认)/ JetBrains Mono / Fira Code |
非系统字体经 jsDelivr CDN 按需懒加载(font-display: swap),离线时优雅回退系统字体。
粒子
| 设置项 | 可选值 |
|---|---|
| 启用 | 开 / 关 |
| 风格 | 极光渐变(CSS 光斑)/ 漂浮光点(canvas)/ 星光(canvas) |
| 密度 | 低 / 中 / 高 |
动画层位于壁纸之上、界面之下;跟随深浅色主题;页面隐藏自动暂停;prefers-reduced-motion 下极光动画关闭。
安装
# 从 GitHub 安装(本包已带构建产物,无需编译)
dsh plugin --profile web add github:Junt184/dsh-ui-beautify
# 本地软链开发
dsh plugin --profile web add link:/绝对路径/dsh-ui-beautify
装完重启 dsh web,打开「设置 → 外观美化」即可。
持久化与安全
- 设置保存在浏览器 localStorage(键
dsh-ui-beautify:v1),首次加载自动迁移旧三个插件的 keys。Web 设置 API 对第三方命名空间有白名单限制(dsh-host-apiproxy的WEB_SETTINGS_NAMESPACES,框架已知 deferred work),因此本插件客户端自包含持久化,不需要改核心。 - 本地图片经宿主 loopback-only 路由
/dsh-ui-beautify/image?path=…读取,非本机请求返回 403。
结构
dsh-ui-beautify/
├── package.json # dsh.bundle.patch + dsh.client + exports["./client"]
├── cordis.patch.yml # bundle patch:插入浏览器 roster 行(ui-beautify)
└── lib/
├── index.js # 宿主半部:loopback-only 本地图片路由
└── client.js # 客户端半部:外观美化 section(背景/字体/粒子)+ 三引擎 + localStorage
MIT License。