dsh-plugin-startup-animation 1.12.5 → 1.12.7
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/README.md +39 -22
- package/builtin/MP4/.posters//345/211/221/344/270/200.jpg +0 -0
- package/builtin/MP4/.posters//350/226/260/350/241/243/350/215/211/350/212/261/350/257/255-/347/255/211/344/275/240/347/210/261/346/210/221.jpg +0 -0
- package/builtin/MP4//345/211/221/344/270/200.web.mp4 +0 -0
- package/builtin/MP4//350/226/260/350/241/243/350/215/211/350/212/261/350/257/255-/347/255/211/344/275/240/347/210/261/346/210/221.web.mp4 +0 -0
- package/client.js +1 -1
- package/docs/library.jpg +0 -0
- package/index.js +6 -1
- package/package.json +1 -1
- package/builtin/MP4/.posters//346/254/242/350/277/216/345/233/236/346/235/245.jpg +0 -0
- package/builtin/MP4//346/254/242/350/277/216/345/233/236/346/235/245.web.mp4 +0 -0
package/README.md
CHANGED
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
<a href="https://github.com/WWFZS/dsh-plugin-startup-animation/releases"><img src="https://img.shields.io/github/v/release/WWFZS/dsh-plugin-startup-animation?style=flat-square&label=VERSION&color=4d6bfe" alt="Version"></a>
|
|
10
10
|
<img src="https://img.shields.io/badge/DSH-0.2.0%2B-4d6bfe?style=flat-square" alt="DSH">
|
|
11
|
-
<img src="https://img.shields.io/badge
|
|
12
|
-
<img src="https://img.shields.io/badge/体积-27%20MB-6e7681?style=flat-square" alt="Size">
|
|
11
|
+
<img src="https://img.shields.io/badge/运行时-零依赖-2ea44f?style=flat-square" alt="No deps">
|
|
13
12
|
<img src="https://img.shields.io/badge/License-MIT-2ea44f?style=flat-square" alt="License">
|
|
14
13
|
<img src="https://img.shields.io/badge/Author-WWFZS-8957e5?style=flat-square" alt="Author">
|
|
15
14
|
|
|
@@ -26,11 +25,12 @@
|
|
|
26
25
|
你等的永远是应用本身,不是动画。
|
|
27
26
|
|
|
28
27
|
插件通过内核的两个扩展点接入:`webserver/index-inject` 注入覆盖层与样式,
|
|
29
|
-
`webServer.register`
|
|
28
|
+
`webServer.register` 提供素材与管理路由。**运行时不依赖任何 npm 包**,浏览器半边只从宿主的
|
|
30
29
|
模块表 `require('react')`,装好即用、无需构建。
|
|
31
30
|
|
|
32
|
-
开箱自带 **
|
|
33
|
-
PNG / JPG / MP3
|
|
31
|
+
开箱自带 **7 段视频 / 7 张壁纸 / 9 段语音**,也支持上传你自己的 MP4 / WebM / GIF /
|
|
32
|
+
PNG / JPG / MP3。素材在设置页里点卡片即用,展示时长可以在 **3–30 秒**之间调;声音有两个
|
|
33
|
+
彼此独立的开关——视频自己的音轨,以及单独的开机音频。
|
|
34
34
|
|
|
35
35
|
## 核心特性
|
|
36
36
|
|
|
@@ -40,23 +40,33 @@ PNG / JPG / MP3。声音有两个彼此独立的开关:视频自己的音轨
|
|
|
40
40
|
- **绝不扣住你** —— 点击、`Esc` / `Enter` / `空格`、或者干等,每条路都能出去
|
|
41
41
|
- **失败即降级** —— 任何一步出错都退回 Harness 原生启动页,不阻塞启动
|
|
42
42
|
- **真实进度条** —— 内核给出启动进度弧就用真实进度,否则走流光
|
|
43
|
+
- **时长自己定** —— 3–30 秒,视频与壁纸共用;点击跳过不受它限制
|
|
44
|
+
- **更新前先看清** —— 设置页的「更新公告」直接显示 Release 说明,不用跳 GitHub
|
|
43
45
|
- **卸载与升级都由你** —— 有新版只提示、你点一下才装;不需要了就卸载
|
|
44
46
|
|
|
45
47
|
## 界面预览
|
|
46
48
|
|
|
47
49
|
**视频素材库** —— 卡片点选即用,来源直接标在卡片上(内置 / 上传),当前在用的那张标「使用中」:
|
|
48
50
|
|
|
49
|
-
<img src="docs/library.jpg" width="520" height="
|
|
51
|
+
<img src="docs/library.jpg" width="520" height="261" alt="视频素材库">
|
|
50
52
|
|
|
51
53
|
**壁纸素材库** —— 同样点卡片即生效,来源标记同上:
|
|
52
54
|
|
|
53
55
|
<img src="docs/library-wallpapers.jpg" width="520" height="268" alt="壁纸素材库">
|
|
54
56
|
|
|
55
|
-
|
|
57
|
+
**实际效果** —— 内置素材选中之后,Harness 启动时看到的就是这些(动图无声;带语音的三段,声音要在设置页里直接预览):
|
|
56
58
|
|
|
57
|
-
|
|
59
|
+
**《薰衣草花语-等你爱我》** · 24 秒 · 1080p · 带语音
|
|
58
60
|
|
|
59
|
-
|
|
61
|
+
<img src="docs/preview-lavender.gif" width="420" alt="薰衣草花语-等你爱我">
|
|
62
|
+
|
|
63
|
+
**《剑一》** · 14 秒 · 1080p · 带语音
|
|
64
|
+
|
|
65
|
+
<img src="docs/preview-jianyi.gif" width="420" alt="剑一">
|
|
66
|
+
|
|
67
|
+
**《dsh-大肥鱼》** · 8 秒 · 720p · 带语音
|
|
68
|
+
|
|
69
|
+
<img src="docs/preview-fish.gif" width="420" alt="dsh-大肥鱼">
|
|
60
70
|
|
|
61
71
|
## 安装
|
|
62
72
|
|
|
@@ -123,7 +133,7 @@ dsh plugin --profile <你的 profile> add /该仓库的绝对路径
|
|
|
123
133
|
| 展示时长 | 3–30 秒,视频与壁纸共用。**跳过不受它限制**。 |
|
|
124
134
|
| 启动画面素材 | 当前素材预览,以及「恢复默认」(回到内置动画)。 |
|
|
125
135
|
| MP4 / 壁纸 / 音频 / 更新公告 四个页签 | 前三个是素材分类:点卡片即选用、上传即入库。**更新公告**是只读页,显示最新版 Release 的更新说明。 |
|
|
126
|
-
| 卸载 / 更新 | 装在当前 profile
|
|
136
|
+
| 卸载 / 更新 | 装在当前 profile 里时显示。**卸载插件**会把它移除(设置与上传素材保留在磁盘);有新版时版本号变成一个更新按钮。两者都要重启 DSH 才生效。从源码目录 `link:` 进来的安装不给更新按钮——那条依赖不指向任何版本。 |
|
|
127
137
|
|
|
128
138
|
没选素材时,插件会播放**自己的内置动画**(配色随应用深浅色走的旋转徽标)。
|
|
129
139
|
选了素材就用素材;「恢复默认」把它换回内置动画。把总开关关掉,才是 Harness
|
|
@@ -133,13 +143,16 @@ dsh plugin --profile <你的 profile> add /该仓库的绝对路径
|
|
|
133
143
|
|
|
134
144
|
### 版本与更新
|
|
135
145
|
|
|
136
|
-
|
|
146
|
+
设置页标题旁有一枚版本号,显示你**实际装上的**版本(直接读包自己的清单)。
|
|
147
|
+
|
|
148
|
+
- **已是最新**:就只是一枚版本号,不打扰你。
|
|
149
|
+
- **有新版**:它变成一个按钮,点一下**就地更新**(下载 Release 里的 tgz、替换自己的文件),
|
|
150
|
+
完成后重启 DSH 即可——不用去 GitHub 手动下包。更新成功后标题立刻换成新版本号。
|
|
151
|
+
- **检查不到**:离线、防火墙拦了、或者 GitHub 不可达时,只是一枚安静的版本号,
|
|
152
|
+
**不会变成报错状态**——更新检查是锦上添花,不是插件的依赖。
|
|
137
153
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
tgz、替换自己的文件),完成后重启 DSH 即可——不用去 GitHub 手动下包。
|
|
141
|
-
- **检查不到**:离线、防火墙拦了、或者 GitHub 不可达时,就只是一枚安静的版本号。
|
|
142
|
-
它**不会变成报错状态**——更新检查是锦上添花,不是插件的依赖。
|
|
154
|
+
**不管你是从 npm、直链还是源码装的,一键更新都从 GitHub Release 取包**——那条 tgz 直链是
|
|
155
|
+
唯一的更新来源,所以哪怕当初用 `npm i` 装的,点了更新之后也会切到 Release 版本。
|
|
143
156
|
|
|
144
157
|
设置页还有一个 **更新公告** 页签:内容就是最新版 Release 的发布说明(同一次更新检查
|
|
145
158
|
顺手带回来,不另发请求),装没装新版都能先看清"这次改了什么";取不到就安静地显示
|
|
@@ -175,13 +188,13 @@ dsh plugin --profile <你的 profile> add https://github.com/WWFZS/dsh-plugin-st
|
|
|
175
188
|
```
|
|
176
189
|
|
|
177
190
|
`file` 可以写 `builtin/...` 包内相对路径,也可以写你自己素材的绝对路径。
|
|
178
|
-
|
|
191
|
+
`durationSec` 默认 **5**、范围 3–30;其余键都有合理默认值,见 [`index.js`](index.js) 的 `DEFAULT_CONFIG`。
|
|
179
192
|
|
|
180
193
|
## 支持的素材
|
|
181
194
|
|
|
182
195
|
| 类型 | 格式 | 说明 |
|
|
183
196
|
|---|---|---|
|
|
184
|
-
| 视频 | `mp4` `m4v` `webm` `ogv` `ogg` | 等待期间循环播放。内置为 1080p /
|
|
197
|
+
| 视频 | `mp4` `m4v` `webm` `ogv` `ogg` | 等待期间循环播放。内置为 1080p / 8–24s / faststart(`dsh-大肥鱼` 为 720p)。 |
|
|
185
198
|
| 图片 | `gif` `apng` `webp` `png` `jpg` `jpeg` | `gif`/`apng`/`webp` 会动;静图带缓慢呼吸缩放。 |
|
|
186
199
|
| 音频 | `mp3` `wav` `m4a` `aac` `flac` `opus` | 仅用于开机音频。 |
|
|
187
200
|
|
|
@@ -191,11 +204,14 @@ dsh plugin --profile <你的 profile> add https://github.com/WWFZS/dsh-plugin-st
|
|
|
191
204
|
|
|
192
205
|
以下全部随包分发,在列表里直接可选:
|
|
193
206
|
|
|
194
|
-
- **MP4** ——
|
|
195
|
-
`dsh
|
|
207
|
+
- **MP4** —— 7 段,全部为 H.264 faststart(可直接流式播放,每段 1.6–6.2 MB)。
|
|
208
|
+
`dsh-大肥鱼`、`剑一`、`薰衣草花语-等你爱我` 带语音音轨(打开「视频带声播放」即可听到),另外四段无音轨
|
|
196
209
|
- **壁纸** —— 7 张,附带预生成的 480px 缩略图供列表使用
|
|
197
210
|
- **音频** —— 9 段语音
|
|
198
211
|
|
|
212
|
+
> 所有素材均来自网络,感谢各位 UP 主的优秀作品。仅作演示用途,版权归原作者所有;
|
|
213
|
+
> 商业再分发前请先看 [ASSETS.md](ASSETS.md) 确认每个文件的来源。
|
|
214
|
+
|
|
199
215
|
## 它如何做到"不添乱"
|
|
200
216
|
|
|
201
217
|
- 覆盖层挂在 `document.body` 上、**不在 `#root` 里**,不会干扰应用的水合(hydration)。
|
|
@@ -218,7 +234,7 @@ Harness"来处理:
|
|
|
218
234
|
| 运行期其它任何意外 | 每条失败路径都回落到原生启动页——覆盖层永远不允许阻塞启动 |
|
|
219
235
|
|
|
220
236
|
声明的兼容范围(`engines.dsh`,并镜像一份到 `dsh.engines`,让插件管理器和市场从
|
|
221
|
-
任一位置都能读到)是 `>=0.2.0
|
|
237
|
+
任一位置都能读到)是 `>=0.2.0`。插件**运行时不依赖任何 npm 包**,浏览器半边只从宿主的模块表
|
|
222
238
|
`require('react')`——不存在"随包打进了某个会和内核版本脱节的库"这种隐患。
|
|
223
239
|
|
|
224
240
|
启动日志会同时写明插件版本和(能读到时)宿主内核版本。万一哪次升级把动画弄没了,
|
|
@@ -229,7 +245,7 @@ Harness"来处理:
|
|
|
229
245
|
- DeepSeek Harness **0.2.0+**(Web 界面)
|
|
230
246
|
- Node.js ≥ 22.12.0(跟随 Harness 自带的运行时即可)
|
|
231
247
|
|
|
232
|
-
|
|
248
|
+
插件**运行时不依赖任何 npm 包**,安装时也不需要构建——纯 ESM + 静态素材。
|
|
233
249
|
|
|
234
250
|
## 卸载
|
|
235
251
|
|
|
@@ -249,6 +265,7 @@ node tools/client-test.mjs # 设置页行为测试(React 垫片)
|
|
|
249
265
|
node tools/boot-css-test.mjs # 开机动画样式测试(真浏览器)
|
|
250
266
|
node tools/host-smoke.mjs # 用真实路由处理器跑一遍 HTTP
|
|
251
267
|
node tools/make-thumbs.mjs # 重新生成列表缩略图(需要 ffmpeg)
|
|
268
|
+
node tools/make-posters.mjs # 重新生成视频卡片封面(需要浏览器)
|
|
252
269
|
node tools/optimize-builtin.mjs # 重新生成 faststart 变体(需要 ffmpeg)
|
|
253
270
|
```
|
|
254
271
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/client.js
CHANGED
|
@@ -472,7 +472,7 @@ window.__ModuleLoader__.load({
|
|
|
472
472
|
/**
|
|
473
473
|
* 视频封面取帧点:在 25% / 50% / 75% 三个候选位置里,选**画面最亮**的那一帧。
|
|
474
474
|
*
|
|
475
|
-
*
|
|
475
|
+
* 为什么不能固定取首帧:素材常从黑场淡入(前一两秒几乎全黑),
|
|
476
476
|
* 固定取 0.1s 会得到一张纯黑卡片,看起来像素材坏了。也不能只取中点 ——
|
|
477
477
|
* 中间恰好是转场/黑场的视频同样会黑。
|
|
478
478
|
*
|
package/docs/library.jpg
CHANGED
|
Binary file
|
package/index.js
CHANGED
|
@@ -336,7 +336,12 @@ export const DEFAULT_CONFIG = Object.freeze({
|
|
|
336
336
|
sound: false,
|
|
337
337
|
/** 音量 0..1。 */
|
|
338
338
|
volume: 1,
|
|
339
|
-
/**
|
|
339
|
+
/**
|
|
340
|
+
* 开机音频总开关:开 = 动画期间另播所选音频。
|
|
341
|
+
* 它与视频音轨是**两条独立的路**,可以同时开 —— 用户自己决定要听哪个,
|
|
342
|
+
* 插件不替用户做"开一个就关另一个"的决定(早期版本会强制静音视频,那是错的)。
|
|
343
|
+
* 跳过动画时音频同步停止。
|
|
344
|
+
*/
|
|
340
345
|
audioEnabled: false,
|
|
341
346
|
/** 开机音频素材:'' = 不播;绝对路径或包内相对路径(builtin/音频/…)= 自己的文件。 */
|
|
342
347
|
audioFile: '',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-startup-animation",
|
|
3
|
-
"version": "1.12.
|
|
3
|
+
"version": "1.12.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Animated full-screen startup screen shown while DeepSeek Harness boots — click to skip. Ships a built-in MP4/wallpaper/audio library and accepts your own files. 开机动画 / 启动动画:启动 Harness 时显示全屏动画,随包内置视频、壁纸与开机音频,也可以用自己的素材。",
|
|
6
6
|
"license": "MIT",
|
|
Binary file
|
|
Binary file
|