🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

启动动画 Alice-Marx/dsh-boot-animation

DeepSeek 客户端v0.4.0
Alice-Marx11 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

用本地视频替换启动页,播放完自然过渡进入应用

35.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/Alice-Marx/dsh-boot-animation.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@ljwei-stak/dsh-boot-animation @ 0.4.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 00:33:37

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 41 处,展示前 38 条)
  • 读取本地文件
    entry.js:289
    entries = await readdir(assetDir, { withFileTypes: true })
  • 读取本地文件
    entry.js:300
    const info = await stat(file)
  • 读取本地文件
    entry.js:357
    const info = await stat(absolute)
  • 读取本地文件
    entry.js:406
    const stream = createReadStream(absolute, { start: from, end: to })
  • 读取本地文件
    entry.js:671
    return readFileSync(BOOT_SCREEN_PATH, 'utf8')
  • 发起网络请求
    lib/client.js:376
    fetch(MANIFEST, { cache: 'no-store' })
  • 发起网络请求
    lib/client.js:524
    const response = await fetch(url, { credentials: 'same-origin', cache: 'no-store', ...options })
  • 发起网络请求
    lib/client.js:625
    fetch(OPTIMIZE + '?name=' + encodeURIComponent(name), { method: 'POST', cache: 'no-store' })
  • 读取本地文件
    src/remux.js:191
    const buffer = readFileSync(file)
  • 写入本地文件
    src/remux.js:247
    mkdirSync(target, { recursive: true })
  • 写入本地文件
    src/remux.js:248
    writeFileSync(out, output)
  • 读取本地文件
    src/remux.js:312
    const info = statSync(file)
  • 写入本地文件
    src/remux.js:331
    mkdirSync(scratchDir, { recursive: true })
  • 读取本地文件
    src/remux.js:333
    if (!existsSync(produced)) throw new Error('重排没有产出文件')
  • 读取本地文件
    src/remux.js:334
    if (statSync(produced).size !== sizeBefore) throw new Error('重排后的长度变了')
  • 写入本地文件
    src/remux.js:337
    mkdirSync(backupDir, { recursive: true })
  • 读取本地文件
    src/remux.js:338
    if (existsSync(backup)) rmSync(backup, { force: true })
  • 删除本地文件
    src/remux.js:338
    if (existsSync(backup)) rmSync(backup, { force: true })
  • 写入本地文件
    src/remux.js:339
    renameSync(file, backup)
  • 删除本地文件递归
    src/remux.js:342
    rmSync(scratchDir, { recursive: true, force: true })
  • 读取本地文件
    src/remux.js:345
    if (!existsSync(file) && existsSync(backup)) renameSync(backup, file)
  • 写入本地文件
    src/remux.js:345
    if (!existsSync(file) && existsSync(backup)) renameSync(backup, file)
  • 删除本地文件
    src/remux.js:359
    rmSync(file, { force: true })
  • 删除本地文件递归
    src/remux.js:361
    rmSync(scratchDir, { recursive: true, force: true })
  • 删除本地文件递归
    src/remux.js:365
    rmSync(scratchDir, { recursive: true, force: true })
  • 读取本地文件
    src/custom-clips.js:18
    const root = await realpath(profile)
  • 写入本地文件
    src/custom-clips.js:22
    if (create) await mkdir(current).catch(error => { if (error.code !== 'EEXIST') throw error })
  • 读取本地文件
    src/custom-clips.js:24
    try { info = await lstat(current) } catch (error) {
  • 读取本地文件
    src/custom-clips.js:29
    const inside = relative(root, await realpath(current))
  • 读取本地文件
    src/custom-clips.js:38
    const info = await lstat(file).catch(error => {
  • 删除本地文件
    src/custom-clips.js:104
    await unlink(temporary)
  • 删除本地文件
    src/custom-clips.js:110
    if (temporary) await unlink(temporary).catch(() => {})
  • 删除本地文件
    src/custom-clips.js:139
    await unlink(file)
  • 读取本地文件
    src/custom-clips.js:163
    const entries = await readdir(dir, { withFileTypes: true })
  • 发起网络请求
    src/boot-screen.js:1012
    fetch(cfg.manifest, { cache: 'no-store' })
  • 发起网络请求
    src/client.js:374
    fetch(MANIFEST, { cache: 'no-store' })
  • 发起网络请求
    src/client.js:522
    const response = await fetch(url, { credentials: 'same-origin', cache: 'no-store', ...options })
  • 发起网络请求
    src/client.js:623
    fetch(OPTIMIZE + '?name=' + encodeURIComponent(name), { method: 'POST', cache: 'no-store' })
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 插件:用全窗口视频替换内核启动页,再淡入应用。中文说明见 MANUAL.md

README

由 DeepSeek 最新模型翻译生成
dsh-boot-animation Listed on dsh-plugin.org 语言:简体中文 | English 用选定或随机的本地视频替换 DSH 启动页,随后过渡进入应用,并提供可配置的播放与回退控制。它不会修改 DSH 核心源码;未来的兼容性不作保证。 这是一个社区插件,与 DeepSeek 不相关,也未获得 DeepSeek 的认可。 - 软件包: @ljwei-stak/dsh-boot-animation - 版本: 0.4.0 - 仓库: Alice-Marx/dsh-boot-animation - 主题: dsh-plugin - 目录分类: UI & Experience(用户界面与体验),遵循 DSH Plugin Hub 提交分类。选择类别并不代表已获收录。 截图 本地 Chromium 演示宿主渲染了实际的 0.4.0 启动页和设置卡片源码,并附带示例 profile 数据。这些不是已登录的 DSH live profile 截图,也不代表已完成跨平台验证。 启动页预览 设置页预览 安装 Web 版 dsh plugin --profile web add @ljwei-stak/dsh-boot-animation@0.4.0 --save-exact 必须已满足宿主与 Node 的要求。
展开完整文档(README 剩余 1 节)
dsh-boot-animation

Listed on dsh-plugin.org

语言:简体中文 | English

用选定或随机的本地视频替换 DSH 启动页,随后过渡进入应用,并提供可配置的播放与回退控制。它不会修改 DSH 核心源码;未来的兼容性不作保证。

这是一个社区插件,与 DeepSeek 不相关,也未获得 DeepSeek 的认可。

- 软件包: @ljwei-stak/dsh-boot-animation
- 版本: 0.4.0
- 仓库: Alice-Marx/dsh-boot-animation
- 主题: dsh-plugin
- 目录分类: UI & Experience(用户界面与体验),遵循 DSH Plugin Hub 提交分类。选择类别并不代表已获收录。

截图

本地 Chromium 演示宿主渲染了实际的 0.4.0 启动页和设置卡片源码,并附带示例 profile 数据。这些不是已登录的 DSH live profile 截图,也不代表已完成跨平台验证。

启动页预览

设置页预览

安装

Web 版

dsh plugin --profile web add @ljwei-stak/dsh-boot-animation@0.4.0 --save-exact

必须已满足宿主与 Node 的要求。

桌面版

打开 设置 -> 插件 -> 添加插件,粘贴 @ljwei-stak/dsh-boot-animation@0.4.0,然后按提示从托盘彻底退出并重新打开。

对于 Desktop 升级,如果实时安装 API 报告该软件包已安装,请先从托盘彻底退出,然后使用官方 Desktop 捆绑包装器——而不是较旧的全局 dsh 可执行文件。

Windows 默认位置的可复制离线命令:

& "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add '@ljwei-stak/dsh-boot-animation@0.4.0' --save-exact

如果 DeepSeek Harness 安装在其他位置,请相应调整包装器路径。如果你使用自定义 DSH_HOME,在运行此命令时请保留该设置。不要在 Linux 或 macOS 上使用这个确切的 Windows 路径。

卸载

Web:

dsh plugin --profile web remove @ljwei-stak/dsh-boot-animation

Desktop:使用官方插件 UI。已有的自定义视频是独立数据;在手动删除前,请先检查并备份。新的软件包安装会自动注册 scoped bundle;不要手动插入第二个 bundle 条目。

配置

该插件使用宿主 profile 配置和一个插件补丁文件。没有单独的 .env、INI 或 JSON 设置加载器。

| 文件 | 作用 |
| <DSH_HOME>/profiles/<profile>/cordis.yml | 宿主基础配置。 |
| <DSH_HOME>/profiles/<profile>/cordis.patch.yml | 插件配置修改。随附的 patch 挂载 id 为 boot-animation,名称为 @ljwei-stak/dsh-boot-animation。 |
| Profile package.json | 通过安装器跟踪依赖和 dsh.profile.bundles。 |

提供了一个示例片段,仅作为配置对象参考;它不是一个独立的自动加载配置文件。

设置命名空间:boot-animation。优先使用现有设置 UI。预览会立即使用当前设置。重新加载 Web 页面以进行下一次启动;在 Desktop 上,从托盘彻底退出并重新打开以进行下一次启动。Host entry 升级也需要完整重启进程。

| 键 | 默认值 | 说明 |
| enabled | true | 主开关。 |
| fadeMs | 2000 | Schema 范围 300–5000 ms;UI 预设 1000、1500、2000、3000、4000。 |
| enterMode | tail | tail 在片段末尾溶解;end 在播放结束后淡出;click 循环直到进入。 |
| disabledClips | [] | 在池中被禁用的不透明文件名。 |
| sound | true | 受浏览器手势策略限制。 |
| clickToEnter | false | 启用后,第一次指针按下会立即进入;否则按下可能先用于解锁音频。 |
| showHint | true | 显示进入提示。 |

视频素材

导入的视频会复制到 <DSH_HOME>/profiles/<profile>/data/dsh-boot-animation/videos。最初选中的文件不会被改动。assets/videos 下的旧版内置资源可能会被软件包升级替换;推荐使用 UI 导入。

在 UI 中,打开 设置 -> 插件 -> 启动动画,可以导入最大 256 MiB 的视频、将一个片段设为启动片或启用多个片段进行随机选择、预览当前效果,并在确认后移除自定义片段。

兼容性

- DSH:最低 >=0.2.0-rc.2;已针对 Windows Desktop 运行时 0.2.0-rc.2 和 0.2.1-rc.2 验证集成。
- Node:^22.19.0 || >=24.0.0;ESM。
- 运行时依赖:@deepseek-ai/schemastery ^3.18.4(声明为依赖,而非 peer dependency)。
- 浏览器:目标为 Chromium、Chrome 和 Edge;Firefox 未经验证。
- 平台:macOS 和 Linux 脚本路径存在,但在此验收中未经过独立测试。
- 编解码器:需要浏览器支持的编解码器。优先使用 H.264/AAC MP4。仅凭 MP4、WebM、M4V 或 MOV 容器格式,无法保证浏览器能够解码。

权限与信任

此 Node 插件以宿主 OS 权限运行;没有按插件划分的沙箱。

- 读取:随附的脚本和视频。
- 写入/移除:profile 数据目录中导入的视频副本。
- Optimize:使用 Node API 显式重写内置的 MP4,并带有 originals/ 备份和 .faststart-work/ 临时空间。运行时不会执行 shell 命令或 ffmpeg。
- 凭据/网络:插件运行时不会使用模型或提供商 API 密钥、遥测或远程服务。浏览器 HTTP 调用为同源。安装器需要 npm 和 GitHub 网络访问,但这与运行时行为不同。

HTTP 访问边界

自定义的 import、read 和 delete 路由会强制执行 DSH connection.requestRejection 身份验证和路径检查。Bundled clip manifest/video 和 Optimize 路由本身不会强制执行相同的钩子。不要假设每条路由都经过身份验证。

请仅在受信任的本地环境中使用。远程或反向代理运营方必须对整个 /plugins/dsh-boot-animation/ 前缀强制执行访问控制。导入的媒体不会发布到 GitHub 或 npm。视频以 no-store 方式提供,因此重复加载会再次传输片段数据。

许可证

代码以 MIT 许可证发布。LICENSE 声明内置 MP4 作品同样采用 MIT 条款。用户导入的媒体保留其自身权利;安装插件不会对其进行再许可。

参考仓库

- 原始代码 / 上游:lxj5820/dsh-boot-animation
- 官方 DSH 宿主:deepseek-ai/deepseek-harness
- 当前维护的分发:Alice-Marx/dsh-boot-animation

不暗示上游或宿主项目的任何认可。

开发者说明

此仓库中包含的验证命令:

node build-client.mjs # only if client source changes
node verify/verify-entry.mjs
node verify/verify-degraded.mjs
node verify/verify-options.mjs
node verify/verify-custom-clips.mjs

0.4.0 版本通过了 243 项检查;但这并不意味着每个 Desktop 版本或操作系统都经过了完整的端到端测试。

有关开发和设置详情,请参阅 AGENTS.md、MANUAL.md 和 INSTALL.md。归档的历史记录保存在 docs/DEVELOPMENT_NOTES.md,不具有权威性。

插件目录提交

一份可直接复制的提交草稿遵循 hub 模板。徽章用于标明插件已收录于社区目录,不代表官方背书或质量保证。
预览分享卡片长什么样 ↓Alice-Marx/dsh-boot-animation
分享 · DeepSeek Harness Hub
Alice-Marx/dsh-boot-animation

用本地视频替换启动页,播放完自然过渡进入应用

回到顶部