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

开屏动画 52baihehhh-ai/dsh-splash-screen

DeepSeek Harness
52baihehhh-ai36 天前有提交已提供中文文档扫描:含敏感能力

为启动过程播放可跳过的全屏动画,随时一键跳过

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 52baihehhh-ai/dsh-splash-screen
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/09/30·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 36 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

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

读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
  • 读取本地文件
    index.js:70
    if (existsSync(candidate)) return candidate
  • 读取本地文件
    index.js:101
    const bytes = readFileSync(artPath)
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 播放全屏启动动画
  • 一键跳过动画
  • 插件库开关控制

README

由 DeepSeek 最新模型翻译生成
dsh-splash-screen License: MIT DSH plugin DSH 的开屏动画插件 —— 全屏启动动画,可跳过,纯插件实现,可在侧栏「插件」页开关。 A skippable full-screen splash animation for DSH (DeepSeek Harness), shipped as a pure plugin. 配色取自淡绿清晨(森林绿舞台 + 奶白绿底 + 嫩绿信号色),与外观预设「淡绿·林间」对齐。 动画的文案、图形、配色均为本项目原创,不含任何第三方 IP 的词汇、标识或素材。 想先看效果:用浏览器打开仓库里的 preview/index.html 即可,不需要 DSH、不需要构建。 它长什么样 一块森林绿的舞台,四角制式括号、细线框架、等宽字读数带;中央是 DEEPSEEK HARNESS / DSH 巨型字标,下方一条细线随进度亮起;底部是分段进度条 + 刻度尺 + 逐位跳动的百分比计数器;一条真实本地时间的时钟与一行打字机状态词;右下角 SOUND / SKIP 两个控件。
展开完整文档(README 剩余 1 节)
dsh-splash-screen

License: MIT
DSH plugin

DSH 的开屏动画插件 —— 全屏启动动画,可跳过,纯插件实现,可在侧栏「插件」页开关。
A skippable full-screen splash animation for DSH (DeepSeek Harness), shipped as a pure plugin.

配色取自淡绿清晨(森林绿舞台 + 奶白绿底 + 嫩绿信号色),与外观预设「淡绿·林间」对齐。
动画的文案、图形、配色均为本项目原创,不含任何第三方 IP 的词汇、标识或素材。

想先看效果:用浏览器打开仓库里的 preview/index.html 即可,不需要 DSH、不需要构建。

它长什么样

一块森林绿的舞台,四角制式括号、细线框架、等宽字读数带;中央是 DEEPSEEK HARNESS / DSH 巨型字标,下方一条细线随进度亮起;底部是分段进度条 + 刻度尺 + 逐位跳动的百分比计数器;一条真实本地时间的时钟与一行打字机状态词;右下角 SOUND / SKIP 两个控件。

两段式结构:A 段 canvas 点阵把字标拆成粒子,先弥散再收敛成 DEEPSEEK → HARNESS → DSH (每颗点按贪心最近邻重组,所以收敛是有机的,不是按下标硬飞);B 段点阵散场,立绘从左侧淡入做底纹,字标从遮罩里升起,末段斜切滑幕出场。

| 时间 | 动作 |
| 0–300ms | 刻意留白(纯底色,只铺字体与网格) |
| 300ms | 四角括号以 scaleX/scaleY 从外侧展开,顶部读数带淡入 + 横线从中心拉开 |
| 600ms | 字标两行从遮罩里 translateY(105%) → 0 升起(第二行延迟 110ms);音效起 |
| 600ms– | 细线 scaleX(0→1) 自左展开,副标签、打字机、进度区依次淡入 |
| 0–3.5s | 百分比按阶段非线性逼近(中段刻意放缓形成「停顿感」),状态词随之切换 |
| 2.7s | 一次 140ms 的色分离故障闪烁 |
| 4.2s | 交棒:斜切面板 translateX 滑幕 600ms 出场,露出工作区 |

- 跳过:鼠标点击任意处 / 按任意键 / 触屏 / 滚轮,或点右下角 SKIP。跳过不是硬切,而是先 180ms 收束再走同一条 600ms 滑幕。
- 音效:默认关闭。右下角 SOUND 打开,偏好记在 localStorage。音效是运行时合成的(一段气声扫频 + G4/D5/G5 三枚正弦),不带音频素材文件,也不受浏览器自动播放策略影响。
- 无障碍:容器带 role="progressbar" 与 aria-valuenow,状态变化有 aria-live 播报;尊重 prefers-reduced-motion: reduce(退化为静态终帧 + 900ms 后交棒)。
- 只播一次:同一页面会话内只播一次(sessionStorage)。重开窗口 / 重启应用会重新播放。

安装

需要已安装 DSH(桌面版或浏览器版)。dsh plugin 会经由 pnpm 把本仓库装进目标 profile。

从 GitHub 安装(推荐)

桌面版
dsh plugin --profile desktop add "git+https://github.com/52baihehhh-ai/dsh-splash-screen.git"

浏览器版:profile 名是 web
dsh plugin --profile web add "git+https://github.com/52baihehhh-ai/dsh-splash-screen.git"

github:52baihehhh-ai/dsh-splash-screen 是等价简写。也可以在侧栏 插件 页面里粘贴上面这个地址安装。

装完重启一次桌面应用:node 半的注入行是宿主启动时收集并交给渲染进程的,重启后开屏才会出现在界面挂载之前(client 半本身的改动是实时的,不需要重启)。

若你的 DSH 配置目录不是默认的 ~/.dsh,先设 $env:DSH_HOME 指向它再执行上面的命令。

本地源码(开发用)

dsh plugin --profile desktop add "link:C:\path\to\dsh-splash-screen"

它做三件事,缺一不可:

1. 在 profiles\\package.json 的 dependencies 里写入 "dsh-splash-screen": "link:";
2. 在 node_modules\dsh-splash-screen 建一个指向插件目录的 junction;
3. 把 dsh-splash-screen 追加进 dsh.profile.bundles(这是它出现在插件库里的原因)。

开关 / 卸载

侧栏 插件 页面里,DSH 开屏动画 这张卡就是本插件(标题与描述来自 locale/zh.json):

- 卡上的总开关 = 本 bundle 是否参与组合(改 dsh.profile.bundles)。关掉即两半一起消失,开屏彻底不出现;重新打开会追加到数组末尾。
- 卡片内 dsh-splash-screen 这一行的开关 = 写 profile 的 cordis.patch.yml:

- id: dsh-splash-screen
disabled: true

这一行是隔离预案:出错时手工加上它就能把插件摘出组合,无需卸载。

只卸载不保留源码:

dsh plugin --profile desktop remove dsh-splash-screen

设置 → 插件 → 插件列表是只读清单,不在这里改。

结构

dsh-splash-screen/
├─ src/splash.js 动画本体(唯一起源,vanilla、无依赖、不接触 React) ├─ scripts/build.mjs 构建器:src/splash.js → client.js + index.js ├─ client.js 构建产物·client 半(懒 CJS bundle) ├─ index.js 构建产物·node 半(结构化注入行) ├─ cordis.patch.yml 挂载声明:把本插件的 Loader 行插进配置树 ├─ art.webp 立绘贴图(发行用压缩版,运行期走宿主路由按需加载) ├─ package.json 声明 dsh.bundle.patch 与 dsh.client(platform: web) ├─ locale/{zh,en}.json 插件库里显示的标题与描述 ├─ preview/index.html 独立视觉预览(自带迷你宿主,不需要 DSH 就能看效果) └─ test/ 三个自测脚本(见「开发」)

为什么两半都要有

@deepseek-ai/dsh-client-modules 只为「存在一条活的、已启用的 Loader 行、且该行模块能解析到本包」的包下发浏览器 bundle。没有 node 半就没有 Loader 行,client.js 既不会被发现、也不会由 /plugins 下发。
所以 node 半哪怕是空的也必须存在。

node 半:封面(无闪切换)

宿主自带的启动壳([data-dsh-boot]:HARNESS + 转圈 + Loading plugins…)在应用挂载前就会出现。
为了不让它先闪一下,node 半用官方的结构化注入行 webserver/index-inject 往 index 里塞两行纯 JSON:

- { kind: 'style', text: … } —— 同底色的封面样式;
- { kind: 'script', placement: 'head', text: … } —— 立刻铺出封面节点(底色与开屏舞台完全一致),
并提供三条退出路径:client 半挂载时主动摘除、#root 出现真实应用内容时兜底摘除、 3.5 秒硬超时强制摘除(client 半正常会在数百毫秒内接管)。

为什么不用 tapIndex:桌面版主窗口走 dsh-app:// 协议直读 SPA 的 index.html,从不调用
renderIndex(),所以 tapIndex 在桌面端是死代码;结构化注入行由桌面主进程经 IPC 下发给渲染进程
解释执行,浏览器 / 桌面主窗口 / 悬浮窗三个表面都能拿到。

注入行的纪律:宿主对注入行做白名单校验,未知 kind 会让 boot gate 直接 reject,把桌面端打进崩溃恢复页。因此这里只产出 style / script 两种最稳的行,并且注入脚本自带语法与幂等测试(见「开发」)。

client 半:动画本体

- 手写 window.__ModuleLoader__.load({ id, factory }) 包装,符合懒 CJS 契约:文件体只注册 factory,副作用(挂 DOM)在首次物化时执行。
- factory(require) 返回普通 Cordis 插件对象 { name, inject, apply };react 由平台模块表解析,不打包、不 import 任何宿主包。
- 动画挂进 shell.overlay 槽位(ui-layout 声明的 root 级 list 槽),自己只 position: fixed 铺满并给 z-index: 9000,不吃全局层级。
- 样式由单个 注入,类名统一带 sp- 前缀、状态规则都写在 #dsh-splash-root 作用域下,避免与宿主界面撞车。
- 对外只暴露 globalThis.__DSH_SPLASH__ = { createSplash, destroySplash }。

已知边界

- 没有「应用启动即显示」这一档。桌面主窗口是 show: false 创建、等宿主 ready 后才 show() 的,窗口级开屏需要改安装包(本插件明确不做)。能覆盖的是「窗口出现 → 界面挂载 → 动画结束」这一段。
- 注入表是宿主启动时收集并交给 Electron 的。新装 / 新增注入行需要重启一次桌面应用才会生效; client 半本身的改动是实时的。
- 浏览器 GUI 的 index 由 renderIndex() 渲染,注入行直接进 HTML,因此浏览器端刷新即生效。
- 桌面窗口高度前 40px 是原生标题栏(titleBarStyle: "hidden" + titleBarOverlay)。
开屏是全屏遮罩,会盖住这条带;若想避开,在 CSS 里给 .dshs-root 加 top: 40px 即可。

开发

无运行时依赖,只需要 Node ≥ 20.11。src/splash.js 是唯一起源,client.js 与 index.js 都是构建产物,两个都要提交(DSH 安装时不跑构建)。
bash
node scripts/build.mjs # 构建 client.js + index.js
node scripts/build.mjs --check # 只比对不写盘(CI 用;产物过期就非零退出)
npm test # 跑三个自测脚本

npm test 包含:

| 脚本 | 覆盖 |
| test/splash-smoke.mjs | client 半契约 + 点阵引擎 + 完整时间轴 + 收尾 + 槽位注册 |
| test/node-half-check.mjs | 注入行合法性(白名单 kind)+ 覆盖样式 + 注入脚本语法与关键逻辑 |
| test/wiring-check.mjs | React 接线:Overlay → effect → createSplash → 收尾 → 对外契约 |

三个脚本都用最小 DOM / canvas / 迷你 React 替身,不需要浏览器,也不需要 DSH 在跑。
每个脚本都可以单独跑,并接受一个可选参数指向待测文件(默认读仓库根目录的产物): bash bash
node test/splash-smoke.mjs path/to/client.js
node test/node-half-check.mjs path/to/index.js

视觉预览

preview/index.html 自带一个迷你宿主(伪 __ModuleLoader__ + 伪 React + 伪 ctx.slots),把同一份 client.js 跑起来,底下压一个仿 DSH 的界面壳,右下角有「重播开屏」。
直接用浏览器打开该文件即可,不需要 DSH、不需要构建。

换成你自己的立绘

scripts/build.mjs 按 art.webp → art.png → art.jpg → art.jpeg 的顺序找贴图,只记录文件名,运行期由宿主路由按需提供。所以:把 art.webp 换成你自己的图(保持文件名)后重新构建即可。
原图(art-original.png 等)已在 .gitignore 里,不会进仓库——它是 art.webp 的来源,留在本地备份即可。

贴图不内联成 data URI:一张竖版立绘 base64 之后有十几 MB,会把注入脚本撑爆,而且大图解码会直接把主线程堵住、开屏卡顿。

排障(出错时按顺序做)

1. 只停插件:编辑 ~/.dsh/profiles//cordis.patch.yml,追加

yaml
- id: dsh-splash-screen
disabled: true

或直接在侧栏插件页拨开关。两半一起失效,开屏不再出现。
2. 摘出组合:从 profiles//package.json 的 dsh.profile.bundles 里删掉 dsh-splash-screen(保留依赖即可让插件库仍能看到它是关着的)。
3. 完整卸载:dsh plugin --profile desktop remove dsh-splash-screen。
4. 源码侧彻底隔离:把插件目录改名(junction 会失效),宿主只看到一条加载失败的行,不会影响其它插件。
5. 任何一步之后,桌面端需要重启应用让注入行消失。

安装过程只经由官方 CLI 追加了三处内容(依赖、junction、bundles 数组),没有改动 profiles//cordis.yml、cordis.patch.yml 或已装插件。

许可

MIT,见 LICENSE。

动画的文案、图形、配色均为本项目原创;动效手法参考的是公开可观察的网页实现惯例(状态类 + transform/opacity、rAF 驱动计数器、斜切滑幕),未复制任何第三方素材或文本。
预览分享卡片长什么样 ↓52baihehhh-ai/dsh-splash-screen
分享 · DeepSeek Harness Hub
52baihehhh-ai/dsh-splash-screen

为启动过程播放可跳过的全屏动画,随时一键跳过

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部