Skip to content

Releases: nishuoyang/dsh-wallpaper-bg

v0.5.12 — dsh-wallpaper-bg

Choose a tag to compare

@nishuoyang nishuoyang released this 07 Oct 10:51

文档

  • 新增两张橱窗预览图(docs/screenshots/preview-hero.jpg、docs/screenshots/preview-sources.jpg):hero 图取自「浅色外观 + 原生背景模式」实拍,标题与角标压在下缘与右上角、不遮挡界面;来源图把「内置壁纸 / 自定义上传 / WE 壁纸库」三屏并排,带中英说明与一行特性注释。两张都由仓库里已有的真实截图裁切合成,没有虚构界面。
  • 新增 screenshots.json(放在 package.json 旁):声明 8 张截图的展示顺序,供 DSH 插件市场(dsh-market、dsh-plugin.org 等详情页 / 主题 Tab)像 App Store 一样展示。不声明时市场只能从 README 里自动抽取,顺序与取舍都不可控;声明后换图也只需推自己的仓库。
  • README / README.zh.md 顶部预览区把这两张图排在最前。

变更

  • 插件列表图标:新增包根 icon.svg,并在 package.json 声明 "icon": "./icon.svg"(同时加进 files 随包发布)。DSH 的「设置 → 插件」列表里,卡片图标取自包清单的 icon 字段 —— 该文件由 Host 的 package-meta 读取器取用(参见 dsh-context 客户端源码注释与 dsh-better-sidebar / @linxin666/* 等同类插件的做法)。此前本包既没有 icon 字段也没有图标文件,列表里显示的是壳子的兜底字形;现在换成自己的图标:蓝紫双层的「壁纸卡片」(前层远景山头 + 太阳,后层暗示多来源 / 可叠加的壁纸层)。图形在 24–32px 下有辨识度,深浅色界面都成立。
  • 插件分类从「工具能力」调整为「界面与外观」:package.json 的 keywords 增加 theme / themes / appearance / background / ui;仓库 GitHub topics 增加 theme / wallpaper / wallpaper-engine / appearance / background / web-ui / dsh-theme。dsh-plugin.org 的分类器优先读 topics,DSH-Store 的分类按 manifest.keywords 匹配,两边据此把本插件归入「界面体验 / 主题外观」而不是「工具能力」。

安装

npm install dsh-wallpaper-bg

本 Release 附带的 dsh-wallpaper-bg-0.5.12.tgz 与 npm 上的产物完全一致(同一 tarball),可直接下载安装:

npm install ./dsh-wallpaper-bg-0.5.12.tgz

完整变更见 CHANGELOG.md。

v0.5.11 — dsh-wallpaper-bg

Choose a tag to compare

@nishuoyang nishuoyang released this 06 Oct 06:10

文档

  • README / README.zh.md 顶部徽章行加上社区插件目录的收录徽章(Listed on dsh-plugin.org):本插件已被 DSH Plugin Hub(dsh-plugin.org 的社区插件市场)收录并标记为 Verified(收录于 2026-08-27),徽章指向该条目页。徽章图片 https://dsh-plugin.org/badges/listed.svg 实测返回 200(132×20 的 SVG)。
  • docs/troubleshooting.md 里的当前版本号同步到 0.5.11:「适用版本」行、第 1 条自查的 health 示例,以及升级 / 锁版本示例;0.5.9 / 0.5.10 这类历史版本引用保持不变。
  • npm 上的 README 只随发布更新,所以这次以 0.5.11 重新发布一遍(纯文档):lib/host.js / lib/client.js 的逻辑与 0.5.10 完全一致,插件行为无任何变化;两个文件里只有版本号字符串随之更新。

安装

npm install dsh-wallpaper-bg

本 Release 附带的 dsh-wallpaper-bg-0.5.11.tgz 与 npm 上的产物完全一致(同一 tarball),可直接下载安装:

npm install ./dsh-wallpaper-bg-0.5.11.tgz

完整变更见 CHANGELOG.md。

v0.5.10 — dsh-wallpaper-bg

Choose a tag to compare

@nishuoyang nishuoyang released this 04 Oct 12:37

修复

  • 播放队列自动切下一张(尤其是两个视频之间)会闪一段黑屏(lib/client.js):叠化本身是有的,但三处细节让它在视频之间漏了黑:
    1. 旧图层在淡出开始的瞬间就被断源:fadeOutLayer() 原先立刻执行 dispose()(releaseVideo:pause() + 摘掉 src + load()),那一帧 <video> 已经没有任何可画的帧,只剩图层自己的近黑底色 #0b0d12,于是「旧壁纸淡出」实际是「旧壁纸塌成近黑再淡出」。现在淡出期间只 pause()(暂停不丢最后一帧、也不再解码),真正 releaseVideo 推迟到图层被移除时;视频淡出期间不再多留解码器,帧率的旧修复不受影响。
    2. 近黑底色挂在图层上:.wbg-layer 自带 background-color:#0b0d12,只要这一层的内容还没画出来(4K 视频从 attach + play() 到真正出画面可能要几百毫秒),露出的就是这块不透明近黑。现在底色移到容器 #dsh-wallpaper-bg 上,图层全透明 —— 新壁纸没就绪时透出的是还在画的旧壁纸,而不是黑。
    3. 新图层其实没在叠化:appendChild() 与「把 opacity 改成 1」落在同一帧时浏览器不会产生过渡,新壁纸是「跳进来」的;同时队列预热路径(preloaded)拿到 readyState 就立刻叠化,没有等合成器真的画出一帧。现在 crossfade() 先强制结算一次样式再改 opacity(叠化按设计真的跑起来),视频路径等 requestVideoFrameCallback 上报「已呈现首帧」后才进场(有计时兜底);首屏没有可叠化的旧层时仍直接显示,不会凭空多出 0.42s 的从黑淡入。
      验证:用真实 lib/client.js + 真 IndexedDB 跑「两张视频的自定义队列」,在 60s 自动切换点上以约 30ms 间隔逐帧截图测合成像素与图层台账;修改前能拍到旧层断源(readyState 0 / 无 src)导致的近黑窗口,修改后切换全程由旧画面平滑过渡到新画面。

安装

npm install dsh-wallpaper-bg

本 Release 附带的 dsh-wallpaper-bg-0.5.10.tgz 与 npm 上的产物完全一致(同一 tarball),可直接下载安装:

npm install ./dsh-wallpaper-bg-0.5.10.tgz

完整变更见 CHANGELOG.md。

v0.5.9 — dsh-wallpaper-bg

Choose a tag to compare

@nishuoyang nishuoyang released this 03 Oct 10:20

修复

  • macOS 桌面端:装上插件后 DSH 窗口拖不动,双击也不放大(lib/client.js,#3,感谢 @wlabbyflower):两个全屏层原先 appendChild 到 <body> 末尾,而 DSH 桌面端基础样式里有 html[data-platform=darwin] body>:not(#root){-webkit-app-region:no-drag} —— 它们各自成为一块覆盖整窗的 no-drag 区域,并且在文档顺序上排在所有 [data-window-drag] 标题行之后;Electron 合成拖拽区域时是「靠后的矩形覆盖靠前的」(DraggableRegionsToSkRegion() 按顺序逐条 union / difference),整窗拖拽区因此被抹掉(双击缩放依赖同一套区域,一起失效)。现在两层插到 #root 之前,靠后的标题行反向覆盖它们。视觉与功能不变(仍是 position:fixed; z-index:-1,仍在所有 UI 之下);Windows / Linux / 浏览器里没有这条 darwin 规则,行为完全不变。自查:本机用 Electron 44(与 DSH 桌面端同大版本)的无边框窗口 + 真实系统鼠标拖拽复现了「改前拖不动、改后正常拖动」,见 PR 里的验证记录。

安装

npm install dsh-wallpaper-bg

本 Release 附带的 dsh-wallpaper-bg-0.5.9.tgz 与 npm 上的产物完全一致(同一 tarball),可直接下载安装:

npm install ./dsh-wallpaper-bg-0.5.9.tgz

完整变更见 CHANGELOG.md。

v0.5.8 — dsh-wallpaper-bg

Choose a tag to compare

@nishuoyang nishuoyang released this 03 Oct 06:51

文档

  • README / README.zh.md 新增「服务与 DSH 客户端的生命周期」(并补一条 FAQ「退出 DSH 客户端再进来,服务就没了?」):WE API 服务是独立的 Node 进程,退出 / 重进客户端、重载窗口都不会带走它,它只在 Windows 注销 / 关机时结束(下次登录由开机自启项拉起)。唯一会「一退客户端就没」的是从客户端内部启动的那份——在 DSH 的终端 / 工具里跑启动脚本时,进程落在客户端的进程树里,而 DSH 用带 KILL_ON_JOB_CLOSE 的 Job Object 管理这些进程(实测 LimitFlags = 0x00002000),客户端一退出就被一并结束,且 we-api.log 里没有任何报错,界面上只表现为「连不上服务」。正确做法:在资源管理器里双击脚本(父进程是 explorer.exe),或交给开机自启项。

变更

  • 面板「连不上服务」的两处提示各加一句(lib/client.js):别在 DSH 客户端内部(终端 / 工具)启动服务——那样起的进程会随客户端退出一起结束,请在资源管理器里双击脚本。纯文案,不改行为。
  • 插件版本 0.5.8(宿主半 /dsh-wallpaper-bg/health 的 version 同步为 0.5.8,需重启 DSH 生效);WE API 服务仍是 0.5.1——服务端代码本次未改。

安装

npm install dsh-wallpaper-bg

本 Release 附带的 dsh-wallpaper-bg-0.5.8.tgz 与 npm 上的产物完全一致(同一 tarball),可直接下载安装:

npm install ./dsh-wallpaper-bg-0.5.8.tgz

完整变更见 CHANGELOG.md。

v0.5.7 — dsh-wallpaper-bg

Choose a tag to compare

@nishuoyang nishuoyang released this 03 Oct 06:25

修复

  • 本次现场的定性(不是脚本缺陷):用户报告「点过那几个脚本、重启电脑后 WE 服务仍不自启」,实测根因是 HKCU\...\Run 里那条自启值已被删除(唯一会删它的是 取消开机自启.bat,从残留痕迹看极可能是误双击),脚本与服务本身都没问题——设置开机自启.bat 实跑退出码 0、写出的值名与数据都正确,静默启动链路(wscript.exe → cmd /c node server.js)也在 1 秒内把 8088 重新拉了起来。下面两条是这次排查暴露出来的真实粗糙点。
  • 自启项被「禁用」后,设置开机自启.bat 会报成功但登录仍不启动:任务管理器 /「设置 → 应用 → 启动」里的「禁用」不删除 HKCU\...\Run 里的值,只把 HKCU\...\Explorer\StartupApproved\Run 里同名的状态写成 01(本机实例:QianwenUpdaterTaskUser1.0.0.10 的 Run 值仍在、状态是 01-00-00-00-…),而登录时这种状态会被跳过。脚本以前只校验 Run 值在不在,于是这种情况照样打印 [成功]。现在注册 Run 值之后会把该状态一并归一为「已启用」(REG_BINARY 02 00 00 00 …,12 字节,与 Windows 给「从未被禁用过」的启动项写下的形态一致),并回读 reg query 校验:读到 01 明确警告去任务管理器启用,读到其它内容则照实打印,而不是无条件报成功。
  • 取消开机自启.bat 只删 Run 值,把 StartupApproved 状态留在原地:事后看注册表或任务管理器会出现两种误判——「还设着」和「设了却不生效」,本次现场正是被这条残留带偏的。现在它把状态记录一并删除,输出里也写明「只取消下次登录自动启动,当前正在运行的服务不受影响;恢复请双击 设置开机自启.bat」。

文档

  • README / README.zh.md 的「WE 壁纸库服务」小节补上这两点:自启项在任务管理器 → 启动里显示「已禁用」时,重新双击 设置开机自启.bat 会把它重新置为「已启用」;取消开机自启.bat 会把 Run 值与状态记录一起清掉。
  • 说明分发范围:wallpaper-engine-api/ 的脚本不在 npm 包里(package.json 的 files 未包含该目录),拿到这次修复要走仓库 git pull;npm 包里的本文件只作告知。

变更

  • 插件版本 0.5.7(宿主半 /dsh-wallpaper-bg/health 的 version 同步为 0.5.7,需重启 DSH 生效);WE API 服务仍是 0.5.1——服务端代码本次未改,只改了它的两个自启脚本。

安装

npm install dsh-wallpaper-bg

本 Release 附带的 dsh-wallpaper-bg-0.5.7.tgz 与 npm 上的产物完全一致(同一 tarball),可直接下载安装:

npm install ./dsh-wallpaper-bg-0.5.7.tgz

完整变更见 CHANGELOG.md。

v0.5.6 — dsh-wallpaper-bg

Choose a tag to compare

@nishuoyang nishuoyang released this 02 Oct 08:07

修复

  • 服务断线时面板会「瞒着」用户:loadWe() 失败时只 setWeError、不清空列表,而错误块的渲染条件是 weError && !list——于是只要本次页面会话里成功加载过一次壁纸库,之后 WE API 服务挂掉(重启电脑而没设开机自启、随手关掉了 启动服务.bat 的窗口等),切回 WE 页签看到的仍是一份过期列表,界面上没有任何异常迹象。现在只要列表还在而服务已连不上,就会在列表上方显示一条横幅:说明连不上服务(带当前基地址)、列表可能已过期,并给出两步——双击 重启服务(管理员).bat 后点「刷新」即可恢复;想以后重启电脑 / 关窗口都不用管,双击同目录的 设置开机自启.bat。走横幅这条路径能确定用户装过服务(否则不会有列表),所以它只说这一步,不再让人 clone / npm install。
  • 「连不上服务」的完整提示不再一上来就让人重新装:原文按「从没装过」的口径写,开头就是 git clone + npm install,对「装过、只是服务没在运行」的人(最常见)是错误的第一步。现在按代价从低到高排列:① 装过、只是没在运行 → 重启脚本(并推荐设开机自启);② 从没装过 → clone / npm install / 启动服务.bat;③ 还是不行 → 看 we-api.log 末尾与端口设置。

文档

  • README / README.zh.md 把 设置开机自启.bat 从「可选第 6 步」提升为推荐步骤,并写明不设的后果:服务只活在「启动它的那个窗口」存续期间,重启电脑或关掉该窗口后就没了,WE 页签会提示连不上(列表标注可能已过期),直到手动再启动一次。

变更

  • 插件版本 0.5.6(宿主半 /dsh-wallpaper-bg/health 的 version 同步为 0.5.6,需重启 DSH 生效);WE API 服务仍是 0.5.1——服务端代码本次未改。

安装

npm install dsh-wallpaper-bg

本 Release 附带的 dsh-wallpaper-bg-0.5.6.tgz 与 npm 上的产物完全一致(同一 tarball),可直接下载安装:

npm install ./dsh-wallpaper-bg-0.5.6.tgz

完整变更见 CHANGELOG.md。

v0.5.5 — dsh-wallpaper-bg

Choose a tag to compare

@nishuoyang nishuoyang released this 02 Oct 07:42

修复

  • 新克隆的仓库装依赖时 npm install 直接失败(EALLOWREMOTE):wallpaper-engine-api/package-lock.json 把每个包的 resolved 地址写死为 https://registry.npmmirror.com/...,而 npm 12 起默认 allow-remote=none,会拒绝主机与当前配置源不一致的 tarball,于是 npm install 硬失败:EALLOWREMOTE: Fetching packages of type "remote" have been disabled(实测 npm 12.0.2 + 该 lock 文件退出码 1、去掉 lock 文件后退出码 0;npm 11.21.0 + 该 lock 文件退出码 0)。启动脚本以前只把这种情况报成 npm install failed. Check your network / npm registry.,把用户引向并没有问题的网络与源,然后直接退出——新用户到此彻底卡死。
  • 启动服务.bat 的依赖补装改为三级兜底:npm install 失败时,依次追加 --allow-remote=all(放行 lock 文件里指向另一个 registry 的 tarball,对应上面的 EALLOWREMOTE)与 --no-package-lock(忽略 lock、改按用户 .npmrc 里配置的源解析)各重试一次,每一步都打印原因,三次都失败才提示手动执行 npm install 看完整报错。保留 lock 文件是有意的:本机实测 registry.npmjs.org 连接超时、registry.npmmirror.com 0.5 秒返回 200,lock 里写死的镜像地址让安装不依赖用户配置的源,删掉它反而会让 npm install 卡住。
  • .bat / .cmd / .vbs 的行尾不再取决于克隆者的 core.autocrlf:cmd.exe 按字节偏移而不是按行解析批处理,行尾若是裸 LF 就会定位到行中间、开始执行半截命令,刷出一片 '...' is not recognized as an internal or external command——启动服务.bat / 重启服务(管理员).bat 都可能因此启动失败。Git for Windows 默认 core.autocrlf=true(检出为 CRLF)掩盖了这一点,core.autocrlf=false / input 或在非 Windows 主机克隆后再经共享目录运行就会踩到。新增 .gitattributes 固定 *.bat / *.cmd / *.vbs 为 text eol=crlf(仓库内仍存 LF,检出统一为 CRLF)。
  • 面板里「WE 壁纸库」连不上服务时的提示改推 启动服务.bat:原文让用户双击 启动服务-静默.vbs,而静默启动没有首次运行向导,缺少 node_modules 或 we-api.config 时会完全静默地失败——连窗口都不弹,唯一痕迹是 we-api.log 末尾的堆栈。现在提示改为 启动服务.bat(首次运行走向导并写出 we-api.config),静默脚本只作为后台 / 开机自启方式;bin/dsh-wallpaper-bg.js 的提示沿用同样的说法。

文档

  • README / README.zh.md 的「WE 壁纸库服务」小节按真实首次运行流程重写,顺序为:(a) Windows + 本机 Wallpaper Engine(服务必需;装在第二个 Steam 库时不会被自动探测,需要在向导里粘贴路径)、(b) PATH 里有 Node.js(服务是独立的 Node 进程,桌面端自带的运行时管不到它,缺了会停在 [ERROR] Node.js not found in PATH.)、(c) git clone https://github.com/nishuoyang/dsh-wallpaper-bg、(d) wallpaper-engine-api 里 npm install、(e) 双击 启动服务.bat 回答向导。同时写明首次运行请走 启动服务.bat(/setup 可重跑向导),启动服务-静默.vbs 只用于后台 / 开机自启;双击后「什么都没发生」正是静默启动缺配置的表现,改用 启动服务.bat 即可。
  • 补文档化两个诊断文件:wallpaper-engine-api/we-api.log(静默 / 开机自启路径写下的服务输出)与 wallpaper-engine-api/restart-debug.log(重启服务(管理员).bat 的停进程 / 提权 / 等待端口记录),两者都已 gitignore。
  • 纠正「重启 = 升级」的旧说法:重启服务(管理员).bat 只结束占用 8088 的进程、再以静默方式拉起 node server.js,既不 git pull 也不 npm install,不能升级服务;升级 = 仓库里 git pull + wallpaper-engine-api 里 npm install + 重启。FAQ 里判断服务是否过旧的依据也从已失效的 subscriptionsFile(现在任何版本都会输出该键,可能为 null)改为当前能力标记 "webShim": 1 / "monitorSelect": 1(服务版本 0.5.1)。
  • 补非交互 / 无人值守安装方式:we-api.config 是 server.js 同目录下的纯 KEY=value 文件(向导写 WE_INSTALL_PATH= / WE_WORKSHOP_PATH=),也可改用 WE_INSTALL_PATH / WE_WORKSHOP_PATH / WE_SUBSCRIPTIONS_FILE / WEAPI_PORT 环境变量(优先级高于配置文件),并可直接在 wallpaper-engine-api 里执行 node server.js。
  • 说明 WEAPI_PORT 只改服务端口:启动脚本把 8088 写死(启动服务.bat 检测 8088、重启服务(管理员).bat 结束 / 等待 8088),换端口必须同时改这两个脚本,并同步插件设置里的基地址。
  • FAQ 清理与补齐:删除 README.md 里重复的「Do web-type wallpapers render?」条目(保留内容更新的那一条,README.zh.md 本来就只有一条);「服务要升级到 0.2.6」这类过时要求改为「当前服务(0.5.1)」;补上完整的 git clone 命令;npm tarball 说明去掉不准确的内容枚举(tarball 只含插件本体,不含 wallpaper-engine-api/);新增两条 FAQ——npm install 报 EALLOWREMOTE / 取不到包时的三步兜底命令,以及「双击启动服务后什么都没发生」= 静默启动缺配置、改用 启动服务.bat。

安装

npm install dsh-wallpaper-bg

本 Release 附带的 dsh-wallpaper-bg-0.5.5.tgz 与 npm 上的产物完全一致(同一 tarball),可直接下载安装:

npm install ./dsh-wallpaper-bg-0.5.5.tgz

完整变更见 CHANGELOG.md。

v0.5.4 — dsh-wallpaper-bg

Choose a tag to compare

@nishuoyang nishuoyang released this 01 Oct 11:37

修复

  • dsh-wallpaper-bg status 现在能认出「装了但没进 bundles」的状态:dsh plugin … add 由 DSH 自己把插件名回填进 dsh.profile.bundles,只有进了这个列表才会被当成 profile 组合层加载;版本刚发布、注册表还在传播时偶尔会漏写(依赖装上了、bundles 里却没有),表现是「装完了但 设置 → 壁纸 里没有面板」。status 以前只按「依赖里有没有」判断,会误报成已安装;现在区分为 installed(bundle 层,随 DSH 启动加载) 与 installed(依赖已装,但 dsh.profile.bundles 里没有 … → 不会被加载;重跑一次 dsh plugin --profile <name> add dsh-wallpaper-bg 即可补上),desktop profile 一行同理。
  • README / README.zh.md FAQ 增补:「装完没有面板」的排查步骤(查 dsh.profile.bundles、用 status 判断、重跑一次 add),以及 <DSH 地址>/dsh-wallpaper-bg/health 这另一半检查。

安装

npm install dsh-wallpaper-bg

本 Release 附带的 dsh-wallpaper-bg-0.5.4.tgz 与 npm 上的产物完全一致(同一 tarball),可直接下载安装:

npm install ./dsh-wallpaper-bg-0.5.4.tgz

完整变更见 CHANGELOG.md。

v0.5.3 — dsh-wallpaper-bg

Choose a tag to compare

@nishuoyang nishuoyang released this 01 Oct 11:25

新增

  • 「WE 壁纸库」连不上服务时直接给出获取方式:面板的错误提示现在写明该服务只随仓库提供、不在 npm 包里,并给出 git clone https://github.com/nishuoyang/dsh-wallpaper-bg → wallpaper-engine-api 里 npm install → 双击 启动服务-静默.vbs 的完整步骤,同时说明不需要 WE 壁纸库时可以忽略(内置壁纸与自定义上传都不依赖它)。dsh-wallpaper-bg install / status / help 与 install-local.ps1 的提示同样补上了仓库地址,package.json 描述里也标明了这一限制(桌面端「设置 → 插件」列表与 npm 包页面可见)。

变更

  • npm ↔ GitHub 双向关联:package.json 补齐 repository / homepage / bugs / author(从下一次发布会写进 npm 注册表元数据,npm 包页面随即出现指向本仓库的 Repository 链接);README / README.zh.md 顶部新增 npm 版本 / 下载量 / release / license 徽章;仓库 About 的 Website 指向 npm 包页面。
  • 新增两个 CI 工作流(.github/workflows/),都不改动现有发布流程:
    • publish-npm.yml:用 OIDC trusted publishing 发布到 npmjs(无需 token),npm 自动附带 provenance 证明——npm 包页面出现 "Built and signed on GitHub Actions" 徽章,点开直达本仓库 / commit。默认只手动触发,避免与 release.ps1 的本地 npm publish 抢版本号。
    • publish-github-packages.yml:GitHub Release 发布后把包镜像到 GitHub Packages(@nishuoyang/dsh-wallpaper-bg),让仓库右侧的 Packages 区块列出本包。该镜像仅供 GitHub 侧展示——GitHub Packages 的 npm 源即使 public 也要带 token 才能 install,对外安装仍走 npmjs。

修复

  • 装进没有 Web 服务的 profile 不再让 DSH 启动失败:宿主半原先用 inject: ['webServer'] 硬门控,在没有 Web 服务的 profile(headless、tui、自建 profile,以及终端里 dsh plugin --profile desktop 新建出来的 desktop profile)里这条插件行会永远停在 pending,DSH 启动直接报 plugin tree failed to load: dsh: 1 entry did not activate / dsh-wallpaper-bg: waiting for service: webServer——用户装完插件整个 profile 都起不来。现在改为 ctx.inject(['webServer'], cb) 按需注入:服务缺失时插件照常激活、什么都不注册;服务出现时自动注册路由、消失时自动注销。web / 桌面端行为与之前完全一致(/dsh-wallpaper-bg/health、/we、/asset 全部照常)。

文档

  • 新增「升级」小节(README / README.zh.md):说明 dsh plugin … add 对已存在的依赖不会改范围(停在 ^0.4.1 的 profile 不会自己升到 0.5.x),升级要写 dsh-wallpaper-bg@latest 或具体版本;并说明 pnpm 11 默认 24 小时 minimumReleaseAge 的影响——版本发布后约一天内 add dsh-wallpaper-bg 只会装到上一个版本(@latest 同样受限),要立刻安装可写死版本号、加 --config.minimumReleaseAge=0,或在 profile 的 pnpm-workspace.yaml 里配 minimumReleaseAgeExclude。
  • 补 Windows link: 安装的路径限制:dsh plugin 经 shell 转发给 pnpm,仓库路径带空格时 spec 会被拆成两个假依赖(link:E:/My + link:Dir/plugin)导致 profile 加载失败;改用无空格路径或 install-local.ps1 / dsh-wallpaper-bg install(后者链接到 %DSH_HOME%\node_modules,全程无空格)。
  • FAQ 增补两条:安装到旧版本的处理方式;装进 headless / tui / 自建 profile 的行为(无害但无意义)。
  • WE 服务安装说明补一句:wallpaper-engine-api/ 只随仓库提供,npm 包(tarball)里只有插件本体,从 npm 安装的用户要用「WE 壁纸库」需 clone 仓库(README 里已给出仓库地址)。

安装

npm install dsh-wallpaper-bg

本 Release 附带的 dsh-wallpaper-bg-0.5.3.tgz 与 npm 上的产物完全一致(同一 tarball),可直接下载安装:

npm install ./dsh-wallpaper-bg-0.5.3.tgz

完整变更见 CHANGELOG.md。