dsh-boot-suite 0.0.0-stage → 2.13.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AUDIO-FIELDS.md +121 -0
- package/CHANGELOG.md +751 -0
- package/DESKTOP.md +142 -0
- package/INSTALL.md +75 -0
- package/LICENSE +21 -0
- package/README.en.md +79 -0
- package/README.md +239 -2
- package/cordis.patch.yml +10 -0
- package/lib/assets/default-background.jpg +0 -0
- package/lib/assets/line-1.mp3 +0 -0
- package/lib/assets/line-2.mp3 +0 -0
- package/lib/assets/line-3.mp3 +0 -0
- package/lib/assets/line-4.mp3 +0 -0
- package/lib/assets/line-5.mp3 +0 -0
- package/lib/assets/line-6.mp3 +0 -0
- package/lib/assets/sfx-tick.mp3 +0 -0
- package/lib/assets/sfx-ticks-run.mp3 +0 -0
- package/lib/client.js +2924 -0
- package/lib/host-startup.js +1639 -0
- package/lib/host-wallpaper.js +723 -0
- package/lib/index.js +37 -0
- package/lib/splash.css +1629 -0
- package/lib/splash.js +3617 -0
- package/open-preview.sh +34 -0
- package/package.json +70 -4
- package/preview/index.html +568 -0
- package/templates/550c-homage/assets/earth-rings.json +1 -0
- package/templates/550c-homage/template.json +10961 -0
- package/templates/archive-warm/template.json +90 -0
- package/templates/chars-globe/assets/land-dots.json +1 -0
- package/templates/chars-globe/template.json +1 -0
- package/templates/deep-sonar/assets/line-1.wav +0 -0
- package/templates/deep-sonar/assets/line-2.wav +0 -0
- package/templates/deep-sonar/assets/line-3.wav +0 -0
- package/templates/deep-sonar/assets/line-4.wav +0 -0
- package/templates/deep-sonar/assets/line-5.wav +0 -0
- package/templates/deep-sonar/assets/line-6.wav +0 -0
- package/templates/deep-sonar/preview.gif +0 -0
- package/templates/deep-sonar/preview.png +0 -0
- package/templates/deep-sonar/template.json +104 -0
- package/templates/dsh-intro/assets/bgchars-dots.json +1 -0
- package/templates/dsh-intro/assets/sfx-click.wav +0 -0
- package/templates/dsh-intro/assets/sfx-hum.wav +0 -0
- package/templates/dsh-intro/assets/sfx-progress.wav +0 -0
- package/templates/dsh-intro/assets/sfx-run.mp3 +0 -0
- package/templates/dsh-intro/assets/sfx-switch.wav +0 -0
- package/templates/dsh-intro/assets/sfx-thump.wav +0 -0
- package/templates/dsh-intro/assets/sfx-tick.mp3 +0 -0
- package/templates/dsh-intro/assets/sphere-dots.json +1 -0
- package/templates/dsh-intro/assets/voice-main.wav +0 -0
- package/templates/dsh-intro/assets//345/217/260/350/257/215-/347/264/247/345/207/221.wav +0 -0
- package/templates/dsh-intro/assets//346/250/241/344/273/277550c/346/250/241/346/235/277/347/232/204/345/217/260/350/257/215.wav +0 -0
- package/templates/dsh-intro/template.json +1 -0
- package/templates/dsh-intro-act2/assets/bgchars-dots.json +1 -0
- package/templates/dsh-intro-act2/assets/fake-qr.png +0 -0
- package/templates/dsh-intro-act2/assets/sfx-click.wav +0 -0
- package/templates/dsh-intro-act2/assets/sfx-hum.wav +0 -0
- package/templates/dsh-intro-act2/assets/sfx-progress.wav +0 -0
- package/templates/dsh-intro-act2/assets/sfx-run.mp3 +0 -0
- package/templates/dsh-intro-act2/assets/sfx-switch.wav +0 -0
- package/templates/dsh-intro-act2/assets/sfx-thump.wav +0 -0
- package/templates/dsh-intro-act2/assets/sfx-tick.mp3 +0 -0
- package/templates/dsh-intro-act2/assets/sphere-dots.json +1 -0
- package/templates/dsh-intro-act2/assets/voice-main.wav +0 -0
- package/templates/dsh-intro-act2/template.json +745 -0
- package/templates/dsh-intro-act3/assets/bgchars-dots.json +1 -0
- package/templates/dsh-intro-act3/assets/fake-qr.png +0 -0
- package/templates/dsh-intro-act3/assets/sfx-click.wav +0 -0
- package/templates/dsh-intro-act3/assets/sfx-hum.wav +0 -0
- package/templates/dsh-intro-act3/assets/sfx-progress.wav +0 -0
- package/templates/dsh-intro-act3/assets/sfx-run.mp3 +0 -0
- package/templates/dsh-intro-act3/assets/sfx-switch.wav +0 -0
- package/templates/dsh-intro-act3/assets/sfx-thump.wav +0 -0
- package/templates/dsh-intro-act3/assets/sfx-tick.mp3 +0 -0
- package/templates/dsh-intro-act3/assets/sphere-dots.json +1 -0
- package/templates/dsh-intro-act3/assets/voice-main.wav +0 -0
- package/templates/dsh-intro-act3/template.json +387 -0
- package/templates/dsh-intro-full/assets/bgchars-dots.json +1 -0
- package/templates/dsh-intro-full/assets/fake-qr.png +0 -0
- package/templates/dsh-intro-full/assets/sfx-beep.wav +0 -0
- package/templates/dsh-intro-full/assets/sfx-clack.wav +0 -0
- package/templates/dsh-intro-full/assets/sfx-click.wav +0 -0
- package/templates/dsh-intro-full/assets/sfx-data.wav +0 -0
- package/templates/dsh-intro-full/assets/sfx-dong.wav +0 -0
- package/templates/dsh-intro-full/assets/sfx-hum.wav +0 -0
- package/templates/dsh-intro-full/assets/sfx-progress.wav +0 -0
- package/templates/dsh-intro-full/assets/sfx-run.mp3 +0 -0
- package/templates/dsh-intro-full/assets/sfx-sweep-down.wav +0 -0
- package/templates/dsh-intro-full/assets/sfx-sweep-up.wav +0 -0
- package/templates/dsh-intro-full/assets/sfx-switch.wav +0 -0
- package/templates/dsh-intro-full/assets/sfx-thump.wav +0 -0
- package/templates/dsh-intro-full/assets/sfx-tick.mp3 +0 -0
- package/templates/dsh-intro-full/assets/sphere-dots.json +1 -0
- package/templates/dsh-intro-full/assets/voice-main.wav +0 -0
- package/templates/dsh-intro-full/assets//345/217/260/350/257/215-/347/264/247/345/207/221.wav +0 -0
- package/templates/dsh-intro-full/assets//346/250/241/344/273/277550c/346/250/241/346/235/277/347/232/204/345/217/260/350/257/215.wav +0 -0
- package/templates/dsh-intro-full/template.json +2376 -0
- package/templates/dsh-intro-two/assets/bgchars-dots.json +1 -0
- package/templates/dsh-intro-two/assets/fake-qr.png +0 -0
- package/templates/dsh-intro-two/assets/sfx-beep.wav +0 -0
- package/templates/dsh-intro-two/assets/sfx-clack.wav +0 -0
- package/templates/dsh-intro-two/assets/sfx-click.wav +0 -0
- package/templates/dsh-intro-two/assets/sfx-data.wav +0 -0
- package/templates/dsh-intro-two/assets/sfx-dong.wav +0 -0
- package/templates/dsh-intro-two/assets/sfx-hum.wav +0 -0
- package/templates/dsh-intro-two/assets/sfx-progress.wav +0 -0
- package/templates/dsh-intro-two/assets/sfx-run.mp3 +0 -0
- package/templates/dsh-intro-two/assets/sfx-sweep-down.wav +0 -0
- package/templates/dsh-intro-two/assets/sfx-sweep-up.wav +0 -0
- package/templates/dsh-intro-two/assets/sfx-switch.wav +0 -0
- package/templates/dsh-intro-two/assets/sfx-thump.wav +0 -0
- package/templates/dsh-intro-two/assets/sfx-tick.mp3 +0 -0
- package/templates/dsh-intro-two/assets/sphere-dots.json +1 -0
- package/templates/dsh-intro-two/assets/voice-main.wav +0 -0
- package/templates/dsh-intro-two/assets//345/217/260/350/257/215-/347/264/247/345/207/221.wav +0 -0
- package/templates/dsh-intro-two/assets//346/250/241/344/273/277550c/346/250/241/346/235/277/347/232/204/345/217/260/350/257/215.wav +0 -0
- package/templates/dsh-intro-two/template.json +2472 -0
- package/templates/dsh-intro-welcome/assets/bgchars-dots.json +1 -0
- package/templates/dsh-intro-welcome/assets/fake-qr.png +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-beep.wav +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-clack.wav +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-click.wav +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-data.wav +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-dong.wav +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-hum.wav +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-progress.wav +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-run.mp3 +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-sweep-down.wav +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-sweep-up.wav +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-switch.wav +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-thump.wav +0 -0
- package/templates/dsh-intro-welcome/assets/sfx-tick.mp3 +0 -0
- package/templates/dsh-intro-welcome/assets/sphere-dots.json +1 -0
- package/templates/dsh-intro-welcome/assets/voice-main.wav +0 -0
- package/templates/dsh-intro-welcome/assets//345/217/260/350/257/215-/347/264/247/345/207/221.wav +0 -0
- package/templates/dsh-intro-welcome/assets//346/250/241/344/273/277550c/346/250/241/346/235/277/347/232/204/345/217/260/350/257/215.wav +0 -0
- package/templates/dsh-intro-welcome/template.json +1212 -0
- package/templates/earth-globe/assets/earth-rings.json +1 -0
- package/templates/earth-globe/template.json +137 -0
- package/templates/effects-gallery/template.json +186 -0
- package/templates/pos-test/template.json +1714 -0
- package/templates/terminal-phosphor/assets/avatar.png +0 -0
- package/templates/terminal-phosphor/template.json +116 -0
- package/templates/timeline-demo/template.json +200 -0
- package/templates/whale-girl-scan/NOTICE.md +7 -0
- package/templates/whale-girl-scan/assets/whale-girl-scan.mp4 +0 -0
- package/templates/whale-girl-scan/template.json +104 -0
- package/templates/wipe-demo/template.json +1 -0
- package/templates/wipe-tutorial/template.json +1 -0
- package/templates/world-line/template.json +712 -0
- package/test/smoke-client.mjs +502 -0
- package/test/smoke-coords.mjs +30 -0
- package/test/smoke-desktop-boot.mjs +370 -0
- package/test/smoke-host.mjs +449 -0
- package/test/smoke-import.mjs +534 -0
- package/test/smoke-merge.mjs +139 -0
- package/test/smoke-package.mjs +27 -0
- package/test/smoke-splash-tl.mjs +256 -0
- package/test/smoke-splash.mjs +518 -0
- package/test/smoke-wallpaper-apply.mjs +535 -0
- package/test/smoke-wallpaper-client.mjs +472 -0
- package/test/smoke-wallpaper-host.mjs +587 -0
- package/test/smoke-wallpaper-panel.mjs +378 -0
- package/tools/README.md +27 -0
- package/tools/build-release.mjs +68 -0
- package/tools/doctor.ps1 +95 -0
- package/tools/editor.html +2415 -0
- package/tools/emergency-uninstall.cmd +5 -0
- package/tools/emergency-uninstall.ps1 +93 -0
- package/tools/export-frames.mjs +117 -0
- package/tools/install.ps1 +386 -0
- package/tools/make-backup.ps1 +42 -0
- package/tools/make-upgrade-helper.mjs +87 -0
- package/tools/motion-check.mjs +147 -0
- package/tools/rollback-version.ps1 +116 -0
- package/tools/rollback.cmd +5 -0
- package/tools/rollback.ps1 +98 -0
- package/tools/update-apply.ps1 +153 -0
- package//345/256/211/350/243/205.cmd +20 -0
- package//346/211/223/345/274/200/351/242/204/350/247/210.cmd +27 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,751 @@
|
|
|
1
|
+
## [2.13.12] — 2026-10-29
|
|
2
|
+
|
|
3
|
+
### 修复:更新时「浏览器下载监听」过早超时、找不到下载文件
|
|
4
|
+
- 症状:用户点「立即更新」后浏览器开始下载,插件等 10 分钟没接到文件就超时;实际网络慢时 24MB 的包可能要十几分钟,下载完成后也没人接住。
|
|
5
|
+
- 2.13.12:等待时间 10 分钟 → **30 分钟**;文件名识别放宽(兼容 `dsh-boot-suite-win-V2.13.12 (1).zip` 等浏览器改名);超时文案改为引导用户直接找包。
|
|
6
|
+
|
|
7
|
+
### 新增:更新等待期间的手动出口
|
|
8
|
+
- 等待下载时新增「**打开下载文件夹**」按钮,一键打开系统 Downloads;「选择安装包」在等待期间也可用,下载好的 zip 直接选中即可继续。
|
|
9
|
+
- 手动选包成功后,后台还在跑的下载监听会自动作废,不会弹第二次更新器。
|
|
10
|
+
- 等待期间页面显示明确的「正在等下载(最多 30 分钟)」提示。
|
|
11
|
+
|
|
12
|
+
### 修复:「生成诊断报告」按钮连点会生成一堆文件
|
|
13
|
+
- 症状:按钮点击后没有“生成中”反馈,用户连点几次,桌面出现多份诊断报告。
|
|
14
|
+
- 2.13.12:按钮生成期间禁用并显示「生成中…」;宿主侧同一时间只允许生成一份,重复请求直接返回“正在生成中”,不再刷屏。
|
|
15
|
+
|
|
16
|
+
### 构建
|
|
17
|
+
- 版本号 2.13.11 → 2.13.12;client BUILD `cw-35`;全套测试通过。
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## [2.13.11] — 2026-10-28
|
|
22
|
+
|
|
23
|
+
### 新增:纱的「镜头模糊」
|
|
24
|
+
- 设置 → 聊天背景 → 纱:新增「镜头模糊」滑块,强度 0–100、默认 0。0 完全不模糊,100 约 24px;滑块拖动实时生效,写在当前外观主题那一份配置里。
|
|
25
|
+
- 实现:只给纱层加 `backdrop-filter: blur()`,模糊的是纱后面的壁纸/视频,纱上面的聊天文字不受影响;强度为 0 时不生成任何模糊规则。
|
|
26
|
+
|
|
27
|
+
### 修复:一键安装在新版 DSH(0.2.1-rc.3)上误判成功
|
|
28
|
+
- 症状:`安装.cmd` 调用 `dsh plugin add`,新版 DSH 的 `dsh` 命令行不解析任何子命令(`dsh plugin` 和 `dsh --help` 都只打印 `dsh web: http://127.0.0.1:xxxxx/?token=...` 就退出),但退出码是 0;旧逻辑误判安装成功,跳过自带的手动安装兜底,留下「bundles 里加了 dsh-boot-suite,但 dependencies/node_modules 里没有」的危险状态 → DSH 启动时报 `cannot resolve profile bundle "dsh-boot-suite"`。
|
|
29
|
+
- 2.13.11:安装器新增 `Test-InstalledOk()`,以 profile 真实文件为准(`node_modules/dsh-boot-suite` 存在 + `package.json` 的 dependencies 指向它 + 版本号匹配);命令行退出码 0 但实际没装时自动改「手动安装」兜底;安装后仍校验失败则回滚 profile,并且不会往 bundles 写不存在的插件。
|
|
30
|
+
|
|
31
|
+
### 构建
|
|
32
|
+
- 版本号 2.13.10 → 2.13.11;client BUILD `cw-34`;13 套测试通过(新增镜头模糊 7 项、安装器兜底 3 项回归断言)。
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## [2.13.10] — 2026-10-28
|
|
37
|
+
|
|
38
|
+
### 修复:浅色/深色外观下右上角窗口按钮(最小化/最大化/关闭)看不清
|
|
39
|
+
|
|
40
|
+
- 根因:这三个按钮是 Windows 原生 `titleBarOverlay` 画的,颜色由 DSH Desktop 的 preload 决定——它在页面里放一个隐藏探针,读探针的 `background-color`(来自 `--dsw-specific-sidebar-fill`)和 `color`(来自 `--dsw-alias-label-primary`),再通过 IPC 设置原生按钮底色/图标色
|
|
41
|
+
- 插件为了透出壁纸,把 `--dsw-specific-sidebar-fill` 改成了半透明色。探针算出的底子是半透明的,原生窗口按自己的方式合成后,遇到浅色外观就变成「白底 + 白图标」,深色外观则可能「黑底 + 黑图标」——按钮其实一直在,只是和底色融了
|
|
42
|
+
- 2.13.10 直接给探针一对固定的高对比色:浅色外观 = 浅底 `#f9fafb` + 深图标 `#0f1115`;深色外观 = 深底 `#1b1b1c` + 浅图标 `#f9fafb`。不依赖 DSH token,也不受半透明影响
|
|
43
|
+
- 片头播放期间维持原来的透明标题栏(`data-dsh-caption` 开关),片头结束/外观切换时主动触发一次 preload 重新测量,让按钮带立刻换色
|
|
44
|
+
- 深色/浅色其它已确认正常的区域不动
|
|
45
|
+
|
|
46
|
+
### 构建
|
|
47
|
+
|
|
48
|
+
- 版本号 2.13.9 → 2.13.10;client BUILD `cw-33`;全套测试通过
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## [2.13.9] — 2026-10-28
|
|
53
|
+
|
|
54
|
+
### 修复:浅色外观下聊天正文对比度仍不够 + 「纱」滑块失灵
|
|
55
|
+
|
|
56
|
+
- 根因一:2.13.5 起「纱」被改成跟壁纸亮度走(暗壁纸压深纱、亮壁纸压白纱),但设置页的浓度滑块是按 **DSH 外观主题**存的(浅色主题一个、深色主题一个)。浅色外观 + 暗壁纸时插件实际用了深色纱,用户拖「纱的浓度(浅色主题)」自然看起来没反应
|
|
57
|
+
- 根因二:文字颜色只看壁纸整图平均亮度。壁纸中间的聊天区可能偏亮、四角偏暗,平均下来误判成暗背景 → 白字压亮处,对比度不够;而且没把纱叠上去的实际亮度算进去
|
|
58
|
+
|
|
59
|
+
### 2.13.9 的做法
|
|
60
|
+
|
|
61
|
+
- **纱恢复为只跟 DSH 外观主题走**:浅色外观用浅色纱、深色外观用深色纱,设置页滑块直接控制当前主题的浓度,恢复「拖了就生效」
|
|
62
|
+
- **文字颜色改看「壁纸 + 纱」叠完后的实际亮度**:从纱的 computed style 读实际颜色/透明度,跟壁纸亮度做混合后再判断白字还是黑字
|
|
63
|
+
- **亮度采样改取画面中间区域**(聊天文字主要压在这里),不再被四角带偏
|
|
64
|
+
- 聊天正文文字加一层很轻的阴影,背景明暗不均时也能读
|
|
65
|
+
- 深色外观相关逻辑保持不变(已人工确认通过)
|
|
66
|
+
|
|
67
|
+
### 构建
|
|
68
|
+
|
|
69
|
+
- 版本号 2.13.8 → 2.13.9;client BUILD `cw-32`;全套测试通过
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## [2.13.8] — 2026-10-28
|
|
74
|
+
|
|
75
|
+
### 修复:浅色/深色外观下外框与输入框颜色错乱
|
|
76
|
+
|
|
77
|
+
- 根因一:判断插件自己写的 `dsh-cw-bg-dark`(暗壁纸)类名时没有剥干净,里面含 "dark",导致「浅色外观 + 暗壁纸」被误判成深色外观
|
|
78
|
+
- 根因二:判断主题只认 `rgb()/rgba()` 写法,DSH 主题 token 若是 `#0f1115` 这类十六进制就读取失败
|
|
79
|
+
- 根因三:聊天正文的自适应根节点取了「markdown + 输入框」的公共祖先,白字 token 漏进输入框,出现白底白字
|
|
80
|
+
- 根因四:侧边栏 / 标题栏被强行覆盖成白字,DSH 原生组件(新会话按钮、收起侧边栏、完全权限图标、harness 徽标)本来浅色外观是浅底深字,反而被刷成白底白图标
|
|
81
|
+
|
|
82
|
+
### 2.13.8 的做法
|
|
83
|
+
|
|
84
|
+
- 主题判断改为剥掉整个 `dsh-cw-*` 命名空间,并支持 `#rgb/#rrggbb/rgb()/rgba()` 两种 token 写法,同时检查 `html` 与 `body`
|
|
85
|
+
- **聊天正文**:跟壁纸亮度走(暗壁纸白字 / 亮壁纸黑字),根节点停在输入框外面,不再包住输入框
|
|
86
|
+
- **侧边栏、顶部标题栏**:只垫一块与 DSH 外观同深浅的半透明面板,不覆盖任何文字/图标 token,按钮、图标、徽标全部保持 DSH 原色
|
|
87
|
+
- **输入框**:完全交回 DSH 原生主题(浅色深字 / 深色浅字),不再刷 token、不再垫面板、不再强制透明底
|
|
88
|
+
|
|
89
|
+
### 说明
|
|
90
|
+
|
|
91
|
+
- 不改 DSH 客户端任何文件,全在插件 CSS + DOM class 内完成;桌面回滚按钮可退回上一版
|
|
92
|
+
- 新增主题判定回归测试(`dsh-cw-bg-dark` 不误判、十六进制 token 正确识别)
|
|
93
|
+
|
|
94
|
+
### 构建
|
|
95
|
+
|
|
96
|
+
- 版本号 2.13.6 → 2.13.8;client BUILD `cw-31`;全套测试通过
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## [2.13.7] — 2026-10-28(内部修复尝试,未单独发布)
|
|
101
|
+
|
|
102
|
+
### 修复:浅色外观下聊天「外框」仍然看不清
|
|
103
|
+
|
|
104
|
+
- 看过 2.13.6 的用户截图后确认:侧边栏 / 标题栏不应刷白字,改为垫与外观同深浅的面板
|
|
105
|
+
- 内部版本,因主题判定仍有 `dsh-cw-bg-dark` 误判,未发布;最终修复见 2.13.8
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## [2.13.6] — 2026-10-28
|
|
110
|
+
|
|
111
|
+
### 修复:浅色外观下侧边栏 / 输入框文字看不见
|
|
112
|
+
|
|
113
|
+
- 2.13.5 的自适应只覆盖了聊天正文:侧边栏(会话列表、最近文件)和输入框仍用浅色外观的深色文字,压在我们加深的壁纸上,于是看不见
|
|
114
|
+
- 现在自适应范围扩到三块:聊天正文、左侧边栏、输入框面板;各自加对应的文字 token 和半透明面板底色
|
|
115
|
+
- 输入框本体强制透明底并跟自适应文字色(含 placeholder 和光标),行内代码 / 文件名 chip 也补了对比底色
|
|
116
|
+
- 壁纸亮度还没采样到时,先按 DSH 外观主题给一个初值,避免加载瞬间闪黑字
|
|
117
|
+
|
|
118
|
+
### 说明
|
|
119
|
+
|
|
120
|
+
- 不修改 DSH 客户端任何文件,全部在插件自己的 CSS + DOM class 里完成;出问题可用桌面回滚按钮退回上一版
|
|
121
|
+
|
|
122
|
+
### 构建
|
|
123
|
+
|
|
124
|
+
- 版本号 2.13.5 → 2.13.6;client BUILD `cw-29`;全套测试通过
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## [2.13.5] — 2026-10-28
|
|
129
|
+
|
|
130
|
+
### 修复:外观切浅色后聊天文字看不见(黑字压暗底)
|
|
131
|
+
|
|
132
|
+
- 根因:主题判定把插件自己写到 `<html>` 上的 `dsh-cw-dark` 也当成「深色标记」,于是切成浅色外观后仍一直压深纱 → 黑色文字压在暗背景上,几乎看不见
|
|
133
|
+
- 现在优先读 DSH 主题插件写在 `body` 上的 `--dsw-alias-label-primary` 颜色判断深浅(亮字=深色外观、暗字=浅色外观),判定时忽略插件自己的 class;旧判定逻辑保留为兜底
|
|
134
|
+
|
|
135
|
+
### 新增:壁纸明暗自适应(聊天区文字自动提亮/压深)
|
|
136
|
+
|
|
137
|
+
- 采样静态底图 / 循环视频当前帧的平均亮度:暗壁纸 → 聊天区文字提亮(白字)+ 深色半透明卡片;亮壁纸 → 文字压深(黑字)+ 浅色半透明卡片
|
|
138
|
+
- 自适应只作用于聊天区根节点(从 markdown 与输入框的公共祖先往上找),侧边栏、设置页不受影响
|
|
139
|
+
- 「纱」与兜底底色也改成跟壁纸实际亮度走(之前只跟 DSH 外观走):浅色外观 + 深色壁纸不再被白纱洗亮,暗背景能保留
|
|
140
|
+
- 视频亮度随画面变化:每 1.5 秒复核一次;换图 / 换视频后自动重算
|
|
141
|
+
|
|
142
|
+
### 构建
|
|
143
|
+
|
|
144
|
+
- `tools/build-release.mjs` 现在自动生成 `dsh-boot-suite.tgz`(市场安装链接固定指向 latest/download/dsh-boot-suite.tgz,每次发版必须带),并校验 gzip 头与最小体积
|
|
145
|
+
- 打包时忽略源码根目录遗留的 `.tgz` / `.zip`,避免发布包被旧压缩包撑大
|
|
146
|
+
- 版本号 2.13.4 → 2.13.5;全套 13 套测试通过
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## [2.13.4] — 2026-10-28
|
|
151
|
+
|
|
152
|
+
- 聊天背景新增「图片适配」开关:**铺满窗口(裁切多余部分,默认)** / **完整显示(不裁切,上下或左右留底色边)**,解决大图被裁切的问题(B 站用户反馈)。
|
|
153
|
+
- `imageFit` 配置值做白名单校验:只接受 `cover` / `contain`,非法值忽略。
|
|
154
|
+
- 版本号 2.13.3 → 2.13.4。
|
|
155
|
+
|
|
156
|
+
# 更新日志
|
|
157
|
+
|
|
158
|
+
本文件记录 DSH 开机动画(dsh-boot-suite)的所有版本变化。
|
|
159
|
+
格式参考 Keep a Changelog,版本号遵循语义化版本。
|
|
160
|
+
|
|
161
|
+
分类:新增 / 修改 / 修复 / 文档 / 性能 / 移除。
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## [2.13.3] — 2026-10-27
|
|
166
|
+
|
|
167
|
+
### 新增:更新前自动留一个「紧急回滚」桌面按钮(checkpoint)
|
|
168
|
+
|
|
169
|
+
- 每次安装/更新前,安装器检查 profile 里当前**实际安装**的版本;如果不是本次包版本,就在桌面生成 `紧急回滚-V<旧版本>(先完全退出 DSH 再双击).cmd`,同时把回滚脚本放到 `~/.dsh/boot-suite-updates/rollback-version.ps1`
|
|
170
|
+
- 双击按钮:检查目标版本完整 → 等 DSH 完全退出(最多 5 分钟)→ 备份 profile 配置 → 用旧版本自带的 `tools/install.ps1` 切回旧 `pkg` → 校验装回版本 → 重新打开 DSH;中途失败会自动恢复备份,**只换插件版本,不动用户设置**
|
|
171
|
+
- 新版安装成功、无报错后:安装器自动删除桌面旧的 `紧急回滚-*.cmd`(不会越积越多),并提示按钮已更新;用户不用手动删
|
|
172
|
+
- 更新器成功日志末尾提示「回滚按钮已就绪」;设置页「检查更新」下方新增回滚保护说明
|
|
173
|
+
- 回滚日志:桌面 `dsh-boot-suite 回滚日志 yyyyMMdd-HHmmss.txt`(桌面不可写时写 `~/.dsh/boot-suite-updates/`),带目标版本、校验结果与 DSH 退出等待过程
|
|
174
|
+
- 安全:回滚脚本只接受含 `package.json` / `lib/index.js` / `tools/install.ps1` 的完整 pkg,不执行任意路径;`-CheckOnly` 只检查、不改动
|
|
175
|
+
- 升级兼容:不覆盖 `chat-wallpaper.json` / `dsh-startup.json`;更新失败时旧版插件仍可打开(回滚按钮就是为这种情况准备的)
|
|
176
|
+
- 测试:smoke-package 增加回滚脚本存在性与安装器 checkpoint 关键实现断言;全套 13 套仍全过
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## [2.13.2] — 2026-10-27
|
|
181
|
+
|
|
182
|
+
### 修复:更新器会先确认安装包完整,坏包不再走到「解压一半才报错」
|
|
183
|
+
|
|
184
|
+
- 根因:v2.13.1 更新失败那台电脑下载到的是「半包 zip」——文件头仍是 `PK`、大小也超过 1MB,旧逻辑只看头就放行,`Expand-Archive` 才报「找不到中央目录结尾记录」;此时旧版本目录已被清空
|
|
185
|
+
- 宿主侧所有更新入口(自动下载 / 浏览器下载监听 / 手动选择安装包 / 启动更新器)现在都校验完整 zip:文件头 + 尾部中央目录结束记录(EOCD),自动下载还会按 GitHub 正式资产的 `size` 精确比对;坏包当场丢弃并自动换下一个镜像,不再写入更新目录
|
|
186
|
+
- `update-apply` 启动外部更新器前再校验一次;坏包直接删除并提示「安装包不完整或已损坏,已删除,请重新下载」,不会再启动一个注定失败的更新窗口
|
|
187
|
+
- 浏览器下载监听:文件大小稳定但 zip 不完整时,等 20 秒仍未收尾就明确提示「下载的安装包不完整」,不会把半包当成完成
|
|
188
|
+
- 更新器 `tools/update-apply.ps1` 重写:先校验 zip(SHA256 写日志)→ 解压到 `pkg.new` → 校验 `package.json` 版本和必需文件 → 才把旧 `pkg` 备份成 `pkg.old` 并替换;安装器失败会自动恢复旧目录与配置,旧版插件不会被动坏
|
|
189
|
+
- 更新日志多一份兜底:桌面写不进去时写到 `~/.dsh/boot-suite-updates/<版本>/`,日志里带安装包路径、大小、SHA256,方便定位下载问题
|
|
190
|
+
- 测试:smoke-host 新增「截断 zip 被拒、坏包不落盘」2 条断言
|
|
191
|
+
|
|
192
|
+
### 已知问题与排查(用户反馈)
|
|
193
|
+
|
|
194
|
+
- 第一幕两个圈不转、其他文字/进度/第二幕都正常:不是缺运行环境,也不需要显卡驱动或组件。系统关闭「动画效果」时会上报 `prefers-reduced-motion: reduce`,插件按无障碍设计主动停掉第一幕两个圈的旋转(`.dsu-ret-rot-a` / `.dsu-ret-rot-b`),「扫描线」转场同样会变成瞬间切换。解决:Windows 设置 → 辅助功能 → 视觉效果 → 打开「动画效果」;或 系统属性 → 高级 → 性能设置 → 选「让 Windows 选择」;完全退出 DSH 重开。远程桌面会话也可能上报「减少动画」,可先在本机直接登录状态下验证
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## [2.13.1] — 2026-10-26
|
|
199
|
+
|
|
200
|
+
### 新增:插件自带默认背景图(开箱即有)
|
|
201
|
+
|
|
202
|
+
- 聊天背景自带一张默认底图:开机动画第二幕「鲸鱼娘扫描睁眼」的静帧(JPEG 1920×1080,约 245 KB),随安装包分发,装在 `lib/assets/default-background.jpg`
|
|
203
|
+
- 新装 / 从未选过背景图的用户,打开聊天就能看到默认背景,不用再先丢图;用户自己丢的图、循环视频仍然优先,不会被默认图盖掉
|
|
204
|
+
- 设置页「聊天背景」→「背景图」第一张就是「默认背景(内置)」,带「内置」角标,随时可点回来
|
|
205
|
+
- 「不用背景图」改为显式关闭(宿主哨兵值 `__none__`),不再用空字符串(空字符串现在表示「自动挑目录里最新一张,没有就用内置图」)
|
|
206
|
+
- 宿主 `/chat-wallpaper/images` 增加 `imageSource`(builtin / your-library / none),`/chat-wallpaper/image?name=__default__` 可直接取内置图
|
|
207
|
+
- 升级兼容:只改默认值与回退逻辑,不覆盖已有 `chat-wallpaper.json`;原有背景图 / 循环视频设置原样保留
|
|
208
|
+
- 修复:`GET /chat-wallpaper/image?name=` 传入目录名(`.` / `..` / 已存在子目录)会让宿主 `createReadStream` 抛未捕获 EISDIR、进程直接退出的问题;现在目录一律 404,并监听读流错误
|
|
209
|
+
- 修复:`POST /chat-wallpaper/set` 不再接受丢图目录之外的任意绝对路径(避免变成本地任意文件读取原语),只允许目录内的图片文件
|
|
210
|
+
- 测试:smoke-wallpaper-host 扩到 127 项(内置图、哨兵切换、目录穿越、目录名防崩、同名用户图优先);13 套共 998 条通过标记全过
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## [2.13.0] — 2026-10-26
|
|
215
|
+
|
|
216
|
+
### 新增:聊天背景「循环视频」
|
|
217
|
+
|
|
218
|
+
- 设置页「聊天背景」新增「循环视频」组:背景类型(静态底图 / 循环视频)、播放模式(手动选择 / 随机轮换)、轮换间隔(0 = 每次启动随机,可设 1–1440 分钟定时换)
|
|
219
|
+
- 循环视频默认静音、自动循环、铺满窗口;窗口最小化/切后台自动暂停,回来继续;读取失败自动回落静态底图,不会黑屏
|
|
220
|
+
- 视频来源:默认 `~/.dsh/chat-wallpaper/loops/`,可添加任意自定义目录(最多 8 个,避开占满某个分区);可打开目录/移除目录(文件不会被删)
|
|
221
|
+
- 支持用户自建子文件夹与壁纸引擎项目结构:递归扫描 mp4/webm,识别文件夹内 `project.json` 的 title / file / preview / type / tags,一个项目文件夹 = 一段视频,设置页显示 preview 缩略图
|
|
222
|
+
- 视频列表带「删除」:普通视频删文件;壁纸引擎项目整体删除文件夹(确认框写明);只允许操作配置目录内的文件
|
|
223
|
+
- 本地删除文件后:下次打开设置 / 重启自动重新扫描,选中的视频不存在会自动清空并回落静态底图(不做实时文件监听)
|
|
224
|
+
- 视频通过宿主 HTTP Range 路由提供(`/chat-wallpaper/video`),只允许配置目录内文件;只存本机、不上传、不进发布包
|
|
225
|
+
- 旧配置自动兼容(无视频字段时默认仍是静态底图)
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## [2.12.4] — 2026-10-26
|
|
230
|
+
|
|
231
|
+
### 内置模板也可以「删除」(隐藏,可恢复)
|
|
232
|
+
|
|
233
|
+
- 「删除该动画」不再只对本地动画生效:内置模板(档案暖白 / 鲸鱼娘等)也可以删除——为不破坏安装包,内置模板的「删除」是写入配置 `hiddenTemplates` 从列表隐藏,可随时恢复
|
|
234
|
+
- 模板组底部在有隐藏项时显示「恢复已隐藏的内置模板(N)」按钮,一键全部恢复
|
|
235
|
+
- 删除/隐藏正在被第一/第二幕引用的模板时,宿主自动把对应配置切回默认
|
|
236
|
+
- 本地模板仍是真删文件(不可恢复);内置模板不删安装文件(升级也不会丢,恢复后原样回来)
|
|
237
|
+
- 旧配置兼容:没有 `hiddenTemplates` 字段时按空列表处理
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## [2.12.3] — 2026-10-26
|
|
242
|
+
|
|
243
|
+
### 删除按钮位置微调(按用户截图反馈)
|
|
244
|
+
|
|
245
|
+
- 「删除该动画」按钮固定在「第一幕」「第二幕」下拉同一行的最右侧,水平对齐、与下拉留出间距;按钮始终显示,内置模板时置灰不可点(tooltip 说明「内置模板不能删除」)
|
|
246
|
+
- 模板组底部补充说明:删除只对本地动画生效
|
|
247
|
+
- 不改运行逻辑 / 配置字段
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## [2.12.2] — 2026-10-26
|
|
252
|
+
|
|
253
|
+
### 设置页布局调整(按用户反馈)
|
|
254
|
+
|
|
255
|
+
- 「自定义动画」组移到「模板」组之前(先导入/准备动画,再选第几幕)
|
|
256
|
+
- 删除按钮移到「第一幕」「第二幕」下拉旁边,文案统一改为「删除该动画」;仅当选中的是本地模板时显示
|
|
257
|
+
- 移除重复的「本地动画(N)」列表(与下拉旁的删除按钮功能重复)
|
|
258
|
+
- 不改运行逻辑 / 配置字段,旧配置继续兼容
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## [2.12.1] — 2026-10-26
|
|
263
|
+
|
|
264
|
+
### 修复:两幕边界转场不再叠加内嵌淡出 + 新增本地动画删除
|
|
265
|
+
|
|
266
|
+
- 删掉时间线模板结束时的内嵌内容淡出(`dsu-out-content` + 220ms 延迟):第一幕 / 第二幕现在作为独立片段播放,换场点紧贴时间线结束;三段转场全部由插件转场引擎统一接管,不再出现「闪白过程中还能看到第二幕淡出」
|
|
267
|
+
- 自定义转场时不再有任何额外淡入淡出叠加;默认「交叉叠化」保持原有观感
|
|
268
|
+
- 设置页「模板」组新增「本地动画」列表:列出所有导入 / 安装的本地动画,每条带「删除」按钮;「第一幕」「第二幕」下拉旁也有快捷删除(仅对本地模板显示)
|
|
269
|
+
- 删除正在被引用的本地动画时,自动把对应幕切回默认,避免下次开机找不到模板;安装目录里的内置模板不会被删除
|
|
270
|
+
- 测试:补充删除本地模板与「转场不叠加内嵌淡出」的用例
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## [2.12.0] — 2026-10-26
|
|
275
|
+
|
|
276
|
+
### 新增:自定义动画导入 + 三段自定义转场
|
|
277
|
+
|
|
278
|
+
- 设置页「启动动画」新增「自定义动画」:点「📥 导入动画」选 mp4 / webm / gif / png / jpg / webp(单文件 ≤ 64MB),自动生成一个用户模板(存 `~/.dsh/startup-templates/`,不碰安装目录、不上传),之后「第一幕」「第二幕」下拉都能选它;视频自动读时长、静音、cover 铺满;图片 / GIF 默认按 6 秒播放,按原始比例居中裁切
|
|
279
|
+
- 新增三段自定义转场,各自下拉选择:**第一幕入场 / 第一幕 → 第二幕 / 第二幕 → 桌面**;默认全部「交叉叠化」,与旧版观感一致
|
|
280
|
+
- 转场类型:交叉叠化 / 闪白 / 故障 / 扫描线(方向可选 左右上下)/ 推移 / 虹膜 / 黑场 / 硬切;时长 200–2000ms(默认 600ms)
|
|
281
|
+
- 旧配置兼容:缺少新字段时自动用默认值,不改用户现有设置;转场只读配置数据,失败 / 跳过自动回落,不会黑屏
|
|
282
|
+
- 测试:新增导入动画、转场配置与设置页测试
|
|
283
|
+
- 第一幕 / 第二幕默认播放逻辑保持不变
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## [2.11.11] — 2026-10-25
|
|
288
|
+
|
|
289
|
+
### 优化:发布包瘦身 + Release 源码对齐 + 文档口径校正(功能零变化)
|
|
290
|
+
|
|
291
|
+
- `npm run release` 现在跳过 `docs/code-motion/**`(另一条工作线的动效研究文档与媒体):发布包不再携带这些内容,体积从 24.7 MB 降到 23.8 MB(约 −0.87 MB),内容更贴近插件本体
|
|
292
|
+
- 发布流程修复:先通过 GitHub API 把远端 main 同步到当前源码树,再在同步提交上打 tag,Release 页自动生成的「Source code」将与真实源码一致(v2.11.4~v2.11.10 的旧 tag 不回改)
|
|
293
|
+
- README / README.en / 分享文案:更正 splash 运行时行数与体积口径——实际 `lib/splash.js` 3288 行 + `lib/splash.css` 1410 行,源码约 196 KB(旧文案 1468/1093 行与「~94 KB」是早期版本数据)
|
|
294
|
+
- 本版不改插件运行逻辑:开机动画、模板、坐标、聊天背景行为与 2.11.10 完全一致
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## [2.11.10] — 2026-10-25
|
|
299
|
+
|
|
300
|
+
### 优化:清掉聊天背景的视频死代码(功能零变化)
|
|
301
|
+
|
|
302
|
+
- 聊天背景的底图 / 纱 / 大字横幅行为完全不变;v2.11.8 起视频播放已移除,这一版把遗留的整条视频管线删干净
|
|
303
|
+
- client.js:删除 preloadVideo / mountLayer / beginIntro / startWhenFree / replayIntro / 一轮一次 sessionStorage / 旧左下角「🖼 背景」浮层面板(含面板 CSS 与「重播开场」按钮);boot() 不再以「宿主解析到视频」为挂载门,拿到底图/横幅配置就直接挂
|
|
304
|
+
- host-wallpaper.js:删除视频解析(配置 / 用户片库 / 内置回落)、`/chat-wallpaper/video` Range 路由、时间码换算(parseTimecode)、`/status` 视频候选、DEFAULTS 视频字段;`/config`、`/images`、`/status` 只返回底图 / 横幅 / 纱相关字段
|
|
305
|
+
- 用户配置兼容:`~/.dsh/chat-wallpaper.json` 里老版本残留的视频键会在下次保存时自然消失;底图 / 横幅 / 纱的值不受影响
|
|
306
|
+
- 测试:删除只测死代码的 wallpaper 测试,新增 `smoke-wallpaper-apply`(永不创建 `<video>`、applyNow 幂等、teardown 不复活、主题切换不重挂)
|
|
307
|
+
- 删除不再被引用的内置兜底视频 `lib/assets/wallpaper-default.mp4`(约 56 KB)与 3 个视频时代开发脚本
|
|
308
|
+
- 开机动画、模板、坐标、用户配置零改动
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## [2.11.9] — 2026-10-25
|
|
313
|
+
|
|
314
|
+
### 文档 + 设置页:清掉「聊天背景开场视频」残留(无新增功能)
|
|
315
|
+
|
|
316
|
+
- 安装器完成提示、README / README.en / INSTALL 里残留的「开场视频」描述,统一改为「静态底图 + 大字横幅」
|
|
317
|
+
- 设置页「聊天背景」里残留的「开场视频」设置组(v2.11.8 起已失效;选「放到聊天窗口后面」还会让聊天外壳变透明)已移除,保存不再写 mode / placement
|
|
318
|
+
- 设置页「当前状态」无底图时,文案由「视频淡出后回到 DSH 默认底色」改为「使用 DSH 默认底色」
|
|
319
|
+
- INSTALL.md 里写死的旧版本号「2.7.0」改为「当前版本号」,不再随版本过期
|
|
320
|
+
- package.json description 撤掉「左下角背景按钮 / 全屏开场视频 / 循环区间」旧描述,改为设置页「聊天背景」
|
|
321
|
+
- docs 分享文案同步为「底图 + 大字横幅」;README 里「13 套冒烟测试」按实际改为 15 套
|
|
322
|
+
- 开机动画、模板、坐标、用户配置零改动;聊天背景的底图 / 纱 / 大字横幅行为不变
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## [2.11.8] — 2026-10-25
|
|
327
|
+
|
|
328
|
+
### 聊天背景:移除开场视频播放(保留底图 / 大字横幅)
|
|
329
|
+
|
|
330
|
+
- 聊天背景不再预加载、不再播放任何开场视频,避免和启动动画第二幕重复
|
|
331
|
+
- 设置页「聊天背景」当前状态显示「开场视频:已移除」
|
|
332
|
+
- 移除「重播开场」入口的行为(按钮保留为无操作或已去掉)
|
|
333
|
+
- 聊天底图、大字横幅、丢图即换背景全部保留
|
|
334
|
+
- 启动动画两幕与叠化/淡出完全不变
|
|
335
|
+
|
|
336
|
+
### 说明
|
|
337
|
+
|
|
338
|
+
- 之前自动从 `~/.dsh/boot-animation/videos` 选视频开场的行为一并移除
|
|
339
|
+
- 用户视频库可继续用于其他用途,不再被聊天背景自动播放
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## [2.11.7] — 2026-10-25
|
|
344
|
+
|
|
345
|
+
### 两幕衔接打磨(第一幕 v1 + 第二幕 v2 组合)
|
|
346
|
+
|
|
347
|
+
- 第一幕(档案暖白)终幕完整播放,停在 WELCOME,不再提前揭幕露出 DSH
|
|
348
|
+
- 第一幕 → 第二幕改为 **交叉叠化**(600ms),第二幕视频随之显现
|
|
349
|
+
- 第二幕结束改为 **淡出**(600ms)到 DSH,去掉视频内部双重淡出
|
|
350
|
+
- 第二幕在独立全屏覆盖层播放,不再与第一幕残留 HUD/WELCOME 叠字
|
|
351
|
+
- 修复第二幕重复播放(单次守卫)
|
|
352
|
+
|
|
353
|
+
### 默认设置
|
|
354
|
+
|
|
355
|
+
- 默认两幕:第一幕「档案暖白」(沈宏宏)→ 第二幕「鲸鱼娘扫描睁眼」
|
|
356
|
+
- 第二幕模板随包提供(2560×1440,7 秒,BSD-3-Clause,原作者待上游确认)
|
|
357
|
+
|
|
358
|
+
### 视频图层
|
|
359
|
+
|
|
360
|
+
- 引擎支持 video 图层;模板素材接口支持 mp4/webm + HTTP Range
|
|
361
|
+
|
|
362
|
+
### 发布包文件名带版本号
|
|
363
|
+
|
|
364
|
+
- v2.11.7 起 Release 同时提供 dsh-boot-suite-win.zip 与 dsh-boot-suite-win-V2.11.7.zip
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## [2.11.6] — 2026-10-25
|
|
369
|
+
|
|
370
|
+
### 新增:视频图层 + 鲸鱼娘可选模板
|
|
371
|
+
|
|
372
|
+
- 引擎新增 `video` 图层类型(自动静音播放、object-fit: cover、参与透明度/时间窗)
|
|
373
|
+
- 宿主模板素材接口支持 mp4/webm,并支持 HTTP Range(视频可拖动/分段加载)
|
|
374
|
+
- 新增可选模板 `whale-girl-scan`「鲸鱼娘扫描睁眼」:
|
|
375
|
+
- 2560×1440 原片,7.04 秒,全屏播放 + 淡入淡出
|
|
376
|
+
- 素材来源:NativeDog1/dsh-boot-animation 内置片库(BSD-3-Clause,原作者待上游确认)
|
|
377
|
+
- 设置页鸣谢同步:标注“可选模板随包提供”,指向 NativeDog1/dsh-boot-animation
|
|
378
|
+
|
|
379
|
+
### 修复
|
|
380
|
+
|
|
381
|
+
- 修正 README/CREDITS 中把 ChatGPT「龙娘」(@mytjxs)误列为 DeepSeek 鸣谢的问题
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## [2.11.0] — 2026-10-24
|
|
386
|
+
|
|
387
|
+
### 自动更新(第一阶段:半自动)
|
|
388
|
+
|
|
389
|
+
- 检查更新旁新增「立即更新」按钮
|
|
390
|
+
- 点击后由宿主下载最新 Release zip 到 ~/.dsh/boot-suite-updates/<版本>.zip,校验 zip 头
|
|
391
|
+
- 下载完成弹窗确认:「本次更新需要重启 DSH。请确认没有正在进行的对话。是否现在重启?」
|
|
392
|
+
- 点「是」后启动外部更新器:等 DSH 退出 → 解压 → 运行安装器 → 自动重新打开 DSH
|
|
393
|
+
- 失败:恢复配置备份 + 重新打开 DSH + 桌面生成更新日志(提示发给作者)
|
|
394
|
+
- 更新前备份配置到 ~/.dsh/boot-suite-updates/<版本>/backup/,不覆盖用户配置
|
|
395
|
+
- 每日自动检查一次(后续版本接上);支持链接到 GitHub Release 页手动查看
|
|
396
|
+
|
|
397
|
+
### 说明
|
|
398
|
+
|
|
399
|
+
- 本阶段未做「健康检查自动回滚旧版本」,失败时依赖安装器自身的回滚;下一阶段补齐
|
|
400
|
+
- 该流程会关闭 DSH,属于真机验证项,需要用户配合测试
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## [2.10.2] — 2026-10-24
|
|
405
|
+
|
|
406
|
+
### 修复
|
|
407
|
+
|
|
408
|
+
- **空格/回车推进断点失效**:EDIT 原本声明在 runTimeline 内部,模块级的 onGateKey 读到未定义变量会抛
|
|
409
|
+
ReferenceError。已把 EDIT 提到模块级(onGateKey 与时间线共用)。
|
|
410
|
+
- **标题栏透明探针证据不足**:caption-probe 现在记录右上角 6 层元素堆栈、所有 class 含 frame 的元素、
|
|
411
|
+
根节点/自举标记/skip 标记,并在 1.5s 与 4.2s 各跑一次,用于定位 DSH 更新后的新结构。
|
|
412
|
+
在选择器证据齐全前,不盲改透明样式,避免把主界面背景改透明。
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
## [2.10.1] — 2026-10-24
|
|
417
|
+
|
|
418
|
+
### 设置页新增「生成诊断报告」
|
|
419
|
+
|
|
420
|
+
- 在「检查更新」旁边新增按钮,点一下由宿主收集环境信息并写到桌面:
|
|
421
|
+
文件名 = 时间戳 + dsh-boot-suite 诊断报告,请发送给原作者寻求帮助.txt
|
|
422
|
+
- 报告包含:版本、系统、配置、内置模板列表、profile 依赖/bundles/链接、最近的诊断日志
|
|
423
|
+
- 同时修正「检查更新」请求路径(之前多拼了一层 /config)
|
|
424
|
+
- 面向完全不懂命令行/AI 的用户:不用跑 诊断.cmd,点按钮即可
|
|
425
|
+
|
|
426
|
+
---
|
|
427
|
+
|
|
428
|
+
## [2.10.0] — 2026-10-24
|
|
429
|
+
|
|
430
|
+
### 两幕可分别选择
|
|
431
|
+
|
|
432
|
+
- 设置页「模板」拆成两个下拉:
|
|
433
|
+
- 启动动画第一幕:默认「档案暖白」
|
|
434
|
+
- 启动动画第二幕:默认「扫描登录」,可选「不播放」或任意自定义模板
|
|
435
|
+
- 引擎按顺序播放两幕;第二幕播完直接进入 DSH 对话窗口
|
|
436
|
+
- 配置新增 act2 字段;老配置没有 act2 时保持单幕,不会突然多播
|
|
437
|
+
- 设置页新增「聊天背景」引导:聊天背景在另一个窗口(设置 → 聊天背景)
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## [2.9.1] — 2026-10-24
|
|
442
|
+
|
|
443
|
+
### 修正默认播放顺序
|
|
444
|
+
|
|
445
|
+
- 默认模板从 dsh-intro-full(三幕)改为 dsh-intro-two(两幕):
|
|
446
|
+
片头 → 扫描登录,去掉第三幕「欢迎回来」
|
|
447
|
+
- 结尾交给引擎的 WELCOME TO DEEPSEEK HARNESS 收束
|
|
448
|
+
- 550C 仍为可选模板,不进入默认播放
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## [2.9.0] — 2026-10-24
|
|
453
|
+
|
|
454
|
+
### 默认集成(装完即有)
|
|
455
|
+
|
|
456
|
+
- 默认模板改为 dsh-intro-full:片头 → 扫描登录 → 欢迎回来,三幕连续,含配音与音效
|
|
457
|
+
- 聊天壁纸自带默认视频 lib/assets/wallpaper-default.mp4(代码生成抽象渐变,约 60 KB)
|
|
458
|
+
- 语音素材随包内置(lib/assets/line-1..6.mp3 + 界面音效),默认直接播
|
|
459
|
+
|
|
460
|
+
### 鸣谢(设置页新增鸣谢区,README/CREDITS 同步)
|
|
461
|
+
|
|
462
|
+
- 片头动画参考:沈宏宏(@6shenhonghong9) https://github.com/6shenhonghong9/dsh-startup-screen
|
|
463
|
+
- 扫描动画参考:@mytjxs https://github.com/mytjxs/codex-startup-animation
|
|
464
|
+
- 配音:DeepSeek
|
|
465
|
+
- 550C 复刻模板保留为可选,不进入默认播放
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
## [2.8.3] — 2026-10-21
|
|
470
|
+
|
|
471
|
+
### 修复
|
|
472
|
+
|
|
473
|
+
- **新版 DSH 禁止命令行管理 desktop profile**(error: profile "desktop" is managed exclusively by the Electron application):
|
|
474
|
+
- CLI 查找优先用 DSH 安装目录里的官方 dsh.cmd,跳过 PATH 里的第三方包装脚本(如 ai-manager 的 dsh.ps1)
|
|
475
|
+
- 卸载旧插件被拒绝时自动改为手动清理(dependencies / bundles / node_modules)
|
|
476
|
+
- 安装被拒绝时自动改为手动安装(改 profile 依赖 + 目录联接),不再直接失败
|
|
477
|
+
- 同时兼容旧版允许 CLI 管理 profile 的 DSH
|
|
478
|
+
|
|
479
|
+
---
|
|
480
|
+
|
|
481
|
+
## [2.8.2] — 2026-10-21
|
|
482
|
+
|
|
483
|
+
### 新增
|
|
484
|
+
|
|
485
|
+
- **`诊断.cmd`**:一键收集 DSH 安装目录/版本、profile 依赖与 bundles、node_modules 链接、
|
|
486
|
+
插件配置、用户模板目录、残留解压目录,输出到桌面 `dsh诊断-时间.txt`,方便用户反馈。
|
|
487
|
+
|
|
488
|
+
### 修复
|
|
489
|
+
|
|
490
|
+
- **卸载不彻底**:卸载脚本现在同时处理 `desktop` 和 `web` 两个 profile,
|
|
491
|
+
并从 dependencies、bundles、node_modules 三处清理 `dsh-boot-suite` / `dsh-startup-screen` / `dsh-chat-wallpaper`。
|
|
492
|
+
- 卸载脚本在客户端未完全退出时给出明确提示(以前可能一闪而过让人以为卸载成功)。
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
## [2.8.1] — 2026-10-20
|
|
496
|
+
|
|
497
|
+
### 修复
|
|
498
|
+
|
|
499
|
+
- **安装时旧插件卸载失败导致整个安装中断**:`dsh plugin remove` 对未安装的插件返回非零并写 stderr,
|
|
500
|
+
脚本开了 `$ErrorActionPreference=Stop`,把 stderr 当致命错误直接退出。
|
|
501
|
+
- 现在先读 profile 的 dependencies,只在确实装过时才卸载
|
|
502
|
+
- 卸载失败只提示并继续;安装步骤的原生命令也加了作用域,失败由 `$LASTEXITCODE` 判定
|
|
503
|
+
---
|
|
504
|
+
|
|
505
|
+
## [2.8.0] — 2026-10-19
|
|
506
|
+
|
|
507
|
+
**三幕完整片头定稿**:第一幕开场 → 第二幕登录自检 → 第三幕欢迎回来,地球贯穿全程,配音与音效全部落位。
|
|
508
|
+
|
|
509
|
+
### 新增
|
|
510
|
+
|
|
511
|
+
- **完整版模板 `dsh-intro-full`(26.7s,46 层)**
|
|
512
|
+
- 第一幕 0–8s:鲸鱼线描 / DS 深度求索 / 英文副标 / 载入进度 / 申请访问许可 / 字符地球
|
|
513
|
+
- 第二幕 8–19s:左侧码流自检面板 + 中间登录卡 + 右侧地球与计数器(等比例拉长,节奏放慢)
|
|
514
|
+
- 第三幕 19–26.7s:地球回中 → 炸开 → 粒子聚成 WELCOME BACK → 闪白 → 欢迎回来 → 闪白退场
|
|
515
|
+
- 地球贯穿三幕:第一幕顶部 → 第二幕右侧(缩小)→ 第三幕回中爆炸成字
|
|
516
|
+
- **身份卡(登录卡)完整字段**
|
|
517
|
+
- 卡片头 UEG ACCESS PERMIT / 身份许可
|
|
518
|
+
- 证件编号 / 签发机构 / 授权等级 / 有效期 / 许可范围 / 生物特征 / 核验状态(7 组,两列排布,逐条淡入)
|
|
519
|
+
- 1:1 假二维码(Pillow 合成的 25×25 模块 PNG,带三个定位角)
|
|
520
|
+
- **配音与音效**
|
|
521
|
+
- 配音:REQUEST ACCESS PERMISSION(4.96s)、Initializing secure session.(12.0s)、Verifying…standing by.(15.6s)、welcome back(23.0s)、欢迎回来(24.4s)
|
|
522
|
+
- 前两句套「AI 机械音」预设,第三幕两句保留原声
|
|
523
|
+
- 新增 6 个合成音效:电子哔 / 数据滋啦 / 低频咚 / 机械咔哒 / 上升扫频 / 下降扫频(槽位 line-9 ~ line-14)
|
|
524
|
+
- 音频槽位上限 8 → 16;音频按 bus 分轨(amb / voice / sfx / 自定义)
|
|
525
|
+
- **编辑器**
|
|
526
|
+
- 预览热更新:改参数/拖关键帧不再重建预览页,播放头与暂停状态保持
|
|
527
|
+
- 「+ 加一条音效」一键按钮(播放头位置、sfx 总线、自动选槽位)
|
|
528
|
+
- 音频块高亮(选中黄框 + 底光),重绘后保持
|
|
529
|
+
- 面板图层(panel)类型:宽高/圆角/边框/填充/辉光/模糊/裁切
|
|
530
|
+
- 文字外框大小、文字擦除 wipe、字符地球半径倍率与画布自动出血
|
|
531
|
+
- **坐标规范**
|
|
532
|
+
- 所有图层 `pos` 统一为画布中心 `[640,360]`,位移只写 `offsetX/offsetY`
|
|
533
|
+
- 新增守护测试 `test/smoke-coords.mjs`(扫全部内置模板,违规即失败)
|
|
534
|
+
- 编辑器载入老模板时自动把绝对坐标迁移进偏移
|
|
535
|
+
- **宿主**
|
|
536
|
+
- 保存模板前自动时间戳备份(`backups/`,保留 30 份)
|
|
537
|
+
- 模板读写/校验上限统一 16MB;模板素材不缓存(改文件立刻生效)
|
|
538
|
+
- 引擎时长上限 30s → 60s
|
|
539
|
+
- **安装(2.7.1 起)**
|
|
540
|
+
- 兼容不带 CLI 的桌面端:扩大命令行查找范围(PATH/安装目录/注册表/运行进程/有界递归)
|
|
541
|
+
- 仍找不到时自动「手动安装」(改 profile 依赖 + 建 node_modules 目录联接)
|
|
542
|
+
|
|
543
|
+
### 修复
|
|
544
|
+
|
|
545
|
+
- 点关键帧后播放头跳回 0(点选/改数值两条路径都修)
|
|
546
|
+
- 音频在暂停或拖动时反复播放同一句
|
|
547
|
+
- 音频机械音预设下淡入淡出失效(改作用到 WebAudio 增益)
|
|
548
|
+
- 中文文件名音频被静默忽略(台词改名 voice-main.wav)
|
|
549
|
+
- image 图层 URL 前缀错误(图片层从来没加载成功)
|
|
550
|
+
- 扩展画布时粒子文字落点未平移(WELCOME BACK 偏到左上)
|
|
551
|
+
- 字符地球放大后出现巨大轮廓圆框;画布出血不足导致粒子被裁
|
|
552
|
+
- bgchars 误画大圆环(logoSize 720 的 outline)
|
|
553
|
+
- 素材缓存导致换音频/点云后画面不更新
|
|
554
|
+
- 保存大模板被拒(校验写死 96KB,回落到旧版 → 表现为坐标全部归零)
|
|
555
|
+
- 读取大模板静默回落(>128KB 跳过且无日志)
|
|
556
|
+
|
|
557
|
+
### 已知问题
|
|
558
|
+
|
|
559
|
+
- 无头渲染下完整版第二幕段的地球有时只显示部分(真实客户端待确认)
|
|
560
|
+
- 中文粒子文字在无头 Chrome 的 canvas 字体下会变成方块,故中文标题统一用 DOM 文字层
|
|
561
|
+
---
|
|
562
|
+
|
|
563
|
+
## [2.7.1] — 2026-10-19
|
|
564
|
+
|
|
565
|
+
### 修复
|
|
566
|
+
|
|
567
|
+
- **安装时提示「找不到 DeepSeek Harness 的命令行(dsh)」**:桌面端精简安装 / 便携版可能不带 CLI,旧安装脚本直接退出
|
|
568
|
+
- CLI 查找范围扩大:PATH → 常见安装目录 → 注册表卸载项 InstallLocation → 正在运行的进程路径 → 常见父目录有界递归(深度 4)
|
|
569
|
+
- 仍然找不到时自动切换「手动安装」:改 profile 的 package.json 依赖 + 建 node_modules 目录联接,效果等同 link 安装
|
|
570
|
+
- 手动安装失败会回滚 profile 并给出明确原因(多为杀软拦截 mklink)
|
|
571
|
+
---
|
|
572
|
+
|
|
573
|
+
## [2.7.0] — 2026-10-19
|
|
574
|
+
|
|
575
|
+
第一幕「DeepSeek FUI 片头」手搓完成,编辑器从「能改」进化到「能剪」。
|
|
576
|
+
本版三件大事:坐标体系统一、音频系统(轨道/总线/剪辑/波形/机械音)、模板体积治理。
|
|
577
|
+
|
|
578
|
+
### 新增
|
|
579
|
+
|
|
580
|
+
- 时间线编辑器(tools/editor.html)
|
|
581
|
+
- 关键帧批量修改:Ctrl/Cmd 点多选(或开「批量选择」开关),选参数 + 填值 → 一次改完所有选中帧,其它参数不动
|
|
582
|
+
- Delete / Backspace 删除选中关键帧;多选时一次删除(每层至少保留 1 帧)
|
|
583
|
+
- Ctrl/Cmd + S 保存到本地(时间线、表单、输入框内都可用)
|
|
584
|
+
- 「全选本层所有帧」「取消多选」快捷按钮
|
|
585
|
+
- 文字擦除 wipe:文字按关键帧从右往左(或反向)逐段露出,配合 line 图层做「竖线扫过、文字浮现」
|
|
586
|
+
- 教程模板 wipe-tutorial(三步说明 + 合体演示)
|
|
587
|
+
- 文字外框大小:「外框」开关 + 「框大小」0.2~5 倍(0.2 贴着字,5 最大),内边距等比放大、字号不变
|
|
588
|
+
- 字符地球
|
|
589
|
+
- globeScale 球体半径倍率:粒子铺满全屏后收拢,字形始终清晰(不靠位图缩放)
|
|
590
|
+
- boxScale 画布扩展倍数 + 自动出血:按图层位移与最大扩散倍率自动扩大画布,挪到哪都不露边
|
|
591
|
+
- 放大(>1.3 倍)时不再绘制轮廓圈,避免出现巨大圆框
|
|
592
|
+
- 画布扩展后占位与绘制中心自动对齐;编辑器可手动指定扩展倍数
|
|
593
|
+
- dotsFile:点云可外置到模板 assets,运行时加载(同 ringsFile 机制)
|
|
594
|
+
- 音频系统
|
|
595
|
+
- 时间线音频轨:按总线分轨显示(amb 环境 / voice 人声 / sfx 音效 / 自定义轨),可「+音轨」新增
|
|
596
|
+
- 音频块剪辑软件式操作:拖中间挪位置 / 左把手掐头 / 右把手去尾
|
|
597
|
+
- 片段可删除:点选后 Delete、右键、双击、面板 ✕
|
|
598
|
+
- 静音:点轨道名前的喇叭切换整条总线;每条 cue 也可单独静音
|
|
599
|
+
- 时间线画真实波形(WebAudio 解码,随偏移/时长窗口重算)
|
|
600
|
+
- 每条 cue 可调:开始偏移 / 播放时长 / 音量 / 淡入 / 淡出
|
|
601
|
+
- 音频总线:每条 cue 归属某条总线,总线各自音量与静音
|
|
602
|
+
- 机械音预设:AI 机械音 / 机器人 / 无线电 / 老电视 / 低沉(WebAudio 滤波 + 失真 + 环形调制)
|
|
603
|
+
- 导入音频:编辑器选文件 → 自动规范文件名为 ASCII → 上传到模板 assets → 占用空闲槽位
|
|
604
|
+
- 槽位命名(assetNames):给 line-1…line-8 起名,下拉 / cue / 轨道块统一显示
|
|
605
|
+
- 每个音轨「放入轨道」下拉:选一个已导入音频 → 自动在 0 帧生成片段
|
|
606
|
+
- 合成并预置 4 个机械音效:sfx-click / sfx-switch / sfx-thump / sfx-hum(槽位 line-4~line-7)
|
|
607
|
+
- 模板
|
|
608
|
+
- dsh-intro 第一幕定稿:鲸鱼线描 + 深度求索标题 + 英文副标 + 载入进度 + 申请访问许可 + 字符地球
|
|
609
|
+
- 第一幕时长 5s → 8s(所有关键帧、分段、gates、效果时间窗、音频 cue 统一 ×1.6)
|
|
610
|
+
- 字符点云外置:bgchars-dots.json / sphere-dots.json,模板本体 215KB → 5KB
|
|
611
|
+
- 宿主能力
|
|
612
|
+
- POST /dsh-startup/template-assets/upload:接收 base64 音频写入用户模板 assets(文件名白名单、20MB 上限)
|
|
613
|
+
- 模板读 / 写 / 校验上限统一提到 16MB(原读取 2MB、保存校验 96KB 不一致)
|
|
614
|
+
|
|
615
|
+
### 修改
|
|
616
|
+
|
|
617
|
+
- 坐标体系统一:位置 = 相对画布中心 (640,360) 的偏移,0,0 即正中心;所有图层统一用 transform 定位
|
|
618
|
+
- 编辑器「居中」按钮改为把偏移归零;迁移了全部内置模板
|
|
619
|
+
- 编辑器载入模板时显示来源(本地 / 内置),便于确认加载的是哪一份
|
|
620
|
+
- 批量修改面板挪到属性栏内(属性滑块 → 关键帧 → 批量修改),方便对照
|
|
621
|
+
- 层数上限 40→60、单层关键帧 32→64、效果数量 12→24
|
|
622
|
+
|
|
623
|
+
### 修复
|
|
624
|
+
|
|
625
|
+
- 保存大模板被拒:保存校验仍写死 96KB,215KB 模板保存失败并回落到旧版(表现为「坐标全部跑回 0」)
|
|
626
|
+
- 读取大模板静默回落:模板 >128KB 被跳过且无日志,编辑器显示内置旧版;已提上限并加诊断日志
|
|
627
|
+
- 暂停/拖动时音频重复播放:主循环在暂停状态下仍每帧触发 cue,且 seek 会清零标记;改为仅播放中触发
|
|
628
|
+
- 从段中开始播放:播放头落在音频段中间时从当前位置起播(跳过已过去部分),不再从头重播
|
|
629
|
+
- 中文文件名音频被静默忽略(引擎只认小写英文/数字/._- 的文件名)→ 台词改名 voice-main.wav 并改引用
|
|
630
|
+
- 批量修改面板插错面板(插进了表单视图,时间线里看不到)
|
|
631
|
+
- 音频块样式写在 splash.css(编辑器不加载)导致块 0 尺寸点不到 → 样式移入编辑器自身 style
|
|
632
|
+
- 背景字符粒子在 assemble=0 时完全不绘制 → 改为低透明度显示
|
|
633
|
+
- 终幕文字糊成一坨:文字采样目标仍按 640×640(画布已 1280×720)+ 采样步长过密 → 修正尺寸与步长
|
|
634
|
+
- 编辑器点击跳变:点关键帧跳回 0、点图层名跳回 0(拖动阈值 / 事件源判定)
|
|
635
|
+
- 一次提交里的语法错误(数组被 join 成逗号导致引擎报错),由提交前测试闸拦下并修复
|
|
636
|
+
|
|
637
|
+
### 文档
|
|
638
|
+
|
|
639
|
+
- docs/坐标系约定.md:统一后的坐标模型
|
|
640
|
+
- docs/FUI-五要素.md:闪 / 故障艺术、受限色盘、暗底亮字、缓慢节奏载入、装饰信息
|
|
641
|
+
- docs/分镜规格-DeepSeek片头v1.md、docs/参考研究-550C.md、docs/第一幕坐标-用户手调.md
|
|
642
|
+
- docs/编码方式-几何数据与投影.md:点云 / 海岸线数据的生成与投影方法
|
|
643
|
+
- 示例模板:wipe-tutorial、wipe-demo、550c-homage
|
|
644
|
+
|
|
645
|
+
---
|
|
646
|
+
|
|
647
|
+
## [2.5.2] — 2026-10-18
|
|
648
|
+
|
|
649
|
+
### 修复
|
|
650
|
+
|
|
651
|
+
- 标题栏透明化真正生效(样式提到解析阶段注入)
|
|
652
|
+
- 标题栏透明化放宽 gate + 加一次性 DOM 探针
|
|
653
|
+
|
|
654
|
+
### 新增
|
|
655
|
+
|
|
656
|
+
- 上架申请正文(DSH STORE issue 用)
|
|
657
|
+
|
|
658
|
+
### 修改
|
|
659
|
+
|
|
660
|
+
- 补 __ss_link 样式(检查更新里的下载页链接)
|
|
661
|
+
|
|
662
|
+
---
|
|
663
|
+
|
|
664
|
+
## [2.5.0] — 2026-10-18
|
|
665
|
+
|
|
666
|
+
### 新增
|
|
667
|
+
|
|
668
|
+
- 首帧防露、标题栏收编、两段式揭幕
|
|
669
|
+
- 检查更新
|
|
670
|
+
- 模板商店(列表 + 一键安装,数据源走 GitHub,不建服务器)
|
|
671
|
+
- 模板可自带配音(template-asset),不同模板互不覆盖;商店安装时一并下载配音
|
|
672
|
+
- 深海声呐模板(deep-sonar):接入用户录制的英文干音、画面英文与配音对齐、古早 AI 播报音色、底噪床全程连续
|
|
673
|
+
|
|
674
|
+
### 修改
|
|
675
|
+
|
|
676
|
+
- 作者如实标注为原作者沈宏宏(原动画非 LeeRolling 所作)
|
|
677
|
+
|
|
678
|
+
### 文档
|
|
679
|
+
|
|
680
|
+
- 线稿 + 完成图双图方案、赛璐璐出图、禁止清单与提示词
|
|
681
|
+
- 参考动画(龙娘启动)描线实现分析与移植可行性
|
|
682
|
+
- 引擎能力清单(能改的 / 改不了的 / v2 缺什么)
|
|
683
|
+
- 术语表(中英关键词 + 对应模板字段)
|
|
684
|
+
|
|
685
|
+
---
|
|
686
|
+
|
|
687
|
+
## [2.2.0] — 2026-10-18
|
|
688
|
+
|
|
689
|
+
### 新增
|
|
690
|
+
|
|
691
|
+
- 第一个自定义模板 deep-sonar(深海声呐)+ 设置页模板下拉框
|
|
692
|
+
- 分幕数据化:支持任意幕数(1~24)
|
|
693
|
+
- 一键安装 / 卸载(双击即可)
|
|
694
|
+
- 可移植的急救 / 回滚 / 备份工具
|
|
695
|
+
|
|
696
|
+
### 修复
|
|
697
|
+
|
|
698
|
+
- 立即预览要先刷新配置与模板,否则换模板后预览还是老动画
|
|
699
|
+
|
|
700
|
+
### 文档
|
|
701
|
+
|
|
702
|
+
- README 重写(中英双语 + 演示图 / GIF + 安全网说明)
|
|
703
|
+
- B 站 1000 字以内分享文案(716 字)
|
|
704
|
+
|
|
705
|
+
---
|
|
706
|
+
|
|
707
|
+
## [2.1.2] — 2026-10-18
|
|
708
|
+
|
|
709
|
+
### 修复
|
|
710
|
+
|
|
711
|
+
- 运行时脚本改用 script-src 行 —— 修「开机动画整段消失、直接进壁纸」
|
|
712
|
+
|
|
713
|
+
### 性能
|
|
714
|
+
|
|
715
|
+
- 缩短开幕黑屏等待
|
|
716
|
+
- 禁止黑屏自愈重复加载运行时
|
|
717
|
+
|
|
718
|
+
---
|
|
719
|
+
|
|
720
|
+
## [2.1.0] — 2026-10-18
|
|
721
|
+
|
|
722
|
+
### 新增
|
|
723
|
+
|
|
724
|
+
- 聊天背景设置并入 DSH 设置页
|
|
725
|
+
- 壁纸半侧补诊断与启动保险
|
|
726
|
+
|
|
727
|
+
### 修复
|
|
728
|
+
|
|
729
|
+
- 冷启动纯黑屏:行表订阅改官方写法 + 客户端 1.5s 黑屏自愈 + 取证
|
|
730
|
+
- 首屏注入改用结构化注入行,修桌面端「先闪一下 DSH 启动界面」
|
|
731
|
+
- 注入订阅互斥 + 行表幂等去重
|
|
732
|
+
|
|
733
|
+
---
|
|
734
|
+
|
|
735
|
+
## [2.0.0] — 2026-10-17
|
|
736
|
+
|
|
737
|
+
### 新增
|
|
738
|
+
|
|
739
|
+
- 开机动画与聊天壁纸合并为一个插件(dsh-boot-suite)
|
|
740
|
+
- 冷启动六幕开机动画:黑幕 → DeepSeek 标识 → 过曝洗白 → 爆白档案底板 → 五步交互式授权 → 色散故障揭幕
|
|
741
|
+
- 中文主标题 + 英文等宽副标题、真声台词 + 界面音效(13 项设置)
|
|
742
|
+
- 聊天壁纸:左下角「背景」按钮(全屏入场视频 / 聊天底图 / 大字横幅,支持循环区间与时间码)
|
|
743
|
+
|
|
744
|
+
---
|
|
745
|
+
|
|
746
|
+
## 维护约定
|
|
747
|
+
|
|
748
|
+
1. 每个版本发版时,在文件顶部新增一节,标题格式 [x.y.z] — YYYY-MM-DD
|
|
749
|
+
2. 只写用户能感知的变化;重构、测试、内部整理归入「修改」或省略
|
|
750
|
+
3. 修复条目要写现象(用户看到什么),而不是只写代码改动
|
|
751
|
+
4. 提交信息建议用 feat / fix / docs / style / perf / test 前缀,方便日后自动汇总
|