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

开机动画增强 Yiheng-guo/dsh-boot-animation-pro

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

给 DSH 加一段开机动画:打开 DSH、新对话、或你钉住的会话时,视频铺满整个窗口播放。

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Yiheng-guo/dsh-boot-animation-pro
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · ui
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 34 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/1) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

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

✗npm 包dsh-boot-animation-pro(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 06:43:27

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 22 处,展示前 22 条)
  • 发起网络请求
    lib/client.js:680
    const response = await fetch(LIST_URL, { cache: "no-store" });
  • 发起网络请求
    lib/client.js:737
    const data = await (await fetch(SELECT_URL, {
  • 发起网络请求
    lib/client.js:822
    const data = await (await fetch(REMOVE_URL, {
  • 发起网络请求
    lib/client.js:922
    const response = await fetch(`${RESOLVE_URL}?mode=${mode}`, { cache: "no-store" });
  • 读取本地文件
    lib/host/index.js:91
    const pkg = JSON.parse(readFileSync(join(PKG_ROOT, 'package.json'), 'utf8'))
  • 读取本地文件
    lib/host/clip-registry.js:94
    return createHash('sha256').update(readFileSync(filePath)).digest('hex').slice(0, 16)
  • 读取本地文件
    lib/host/clip-registry.js:99
    const stats = statSync(p)
  • 读取本地文件
    lib/host/clip-registry.js:157
    const stats = statSync(dir)
  • 读取本地文件
    lib/host/clip-registry.js:202
    names = readdirSync(dir)
  • 读取本地文件
    lib/host/library-ops.js:45
    return lstatSync(real).isDirectory() ? real : null
  • 读取本地文件
    lib/host/library-ops.js:116
    stats = lstatSync(target)
  • 删除本地文件
    lib/host/library-ops.js:130
    unlinkSync(target)
  • 读取本地文件
    lib/host/media-server.js:100
    stats = statSync(clip.path)
  • 读取本地文件
    lib/host/media-server.js:159
    ? createReadStream(clip.path)
  • 读取本地文件
    lib/host/media-server.js:160
    : createReadStream(clip.path, { start, end })
  • 读取本地文件
    lib/host/selection-store.js:62
    const stats = statSync(this.file)
  • 读取本地文件
    lib/host/selection-store.js:95
    parsed = JSON.parse(readFileSync(this.file, 'utf8'))
  • 读取本地文件
    lib/host/selection-store.js:141
    raw = readFileSync(this.legacyFile, 'utf8')
  • 写入本地文件
    lib/host/selection-store.js:181
    mkdirSync(dirname(this.file), { recursive: true })
  • 写入本地文件
    lib/host/selection-store.js:184
    writeFileSync(tmp, payload, 'utf8')
  • 写入本地文件
    lib/host/selection-store.js:186
    renameSync(tmp, this.file)
  • 写入本地文件
    lib/host/selection-store.js:188
    writeFileSync(this.file, payload, 'utf8')
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

2 张 · 点击查看大图

功能亮点

  • 视频铺满窗口播放
  • 打开会话触发动画
  • 分时段片头

DSH 片头开机动画增强版:播放控制、触发规则、会话名单、分时段片头、片库管理、中英双语。给 DSH 用的全画幅片头动画,fork 自 NativeDog1/dsh-boot-animation。

README

由 DeepSeek 最新模型翻译生成
dsh-boot-animation-pro 给 DSH 加一段开机动画:打开 DSH、新对话、或你钉住的会话时,视频铺满整个窗口播放。 这是 NativeDog1/dsh-boot-animation 的二次开发版,增加播放控制、触发规则、片库管理、画面特效、分时段片头和中英双语界面。 出处、许可与差异见 FORK.md。English: README.en.md 如果你用上了,点个 ⭐ Star 让我知道有人在用 —— 这是这个项目唯一想要的回报。 一条命令安装(复制即用): dsh plugin --profile web add github:Yiheng-guo/dsh-boot-animation-pro 桌面版 App 把 web 换成 desktop。装完完全退出 DSH 再重开才生效。 装好之后长什么样 | 铺满屏幕 | 完整显示 | | 铺满屏幕(默认):填满窗口,超出裁掉,0 黑边 | 完整显示:整帧都在,长宽比不匹配时留黑边 | 上面两张是真实浏览器渲染实测截图(Headless Chrome 2560×1313 视口,1280×720 片源, scripts/verify-letterbox.mjs 测量):铺满模式黑边 0px,完整显示模式左右各 113px。
展开完整文档(README 剩余 1 节)
dsh-boot-animation-pro

给 DSH 加一段开机动画:打开 DSH、新对话、或你钉住的会话时,视频铺满整个窗口播放。

这是 NativeDog1/dsh-boot-animation 的二次开发版,增加播放控制、触发规则、片库管理、画面特效、分时段片头和中英双语界面。
出处、许可与差异见 FORK.md。English: README.en.md

如果你用上了,点个 ⭐ Star 让我知道有人在用 —— 这是这个项目唯一想要的回报。

一条命令安装(复制即用):

dsh plugin --profile web add github:Yiheng-guo/dsh-boot-animation-pro

桌面版 App 把 web 换成 desktop。装完完全退出 DSH 再重开才生效。

装好之后长什么样

| 铺满屏幕 | 完整显示 |
| 铺满屏幕(默认):填满窗口,超出裁掉,0 黑边 | 完整显示:整帧都在,长宽比不匹配时留黑边 |

上面两张是真实浏览器渲染实测截图(Headless Chrome 2560×1313 视口,1280×720 片源, scripts/verify-letterbox.mjs 测量):铺满模式黑边 0px,完整显示模式左右各 113px。

安装

dsh plugin --profile web add github:Yiheng-guo/dsh-boot-animation-pro

仓库里已提交构建产物 lib/,也没有 prepare 生命周期脚本,所以这条命令不编译任何东西,不触发 pnpm 的 allowBuilds 构建授权。

装完必须重启一次 DSH(bundle 层在启动时装配):

停掉当前的 dsh,然后
dsh web

从源码目录安装(开发用)

git clone https://github.com/Yiheng-guo/dsh-boot-animation-pro.git
cd dsh-boot-animation-pro
npm install && npm run build && npm run check # 可选:先自检

挂进 profile(默认 desktop,可 --profile web)
npm run dsh:link
卸载
npm run dsh:unlink

scripts/dsh-link.mjs 写的东西和 dsh plugin add 完全一致:profile 的 node_modules/ 下一个符号链接、 dependencies 一行、dsh.profile.bundles 一项。可逆,且重复执行是幂等的。

装完看不到效果?先做这件事

DSH 的客户端 bundle 响应带 cache-control: max-age=31536000, immutable。装好或升级后请完全退出 DSH 再重开;如果是浏览器窗口,按 Ctrl+Shift+R(Mac 上是 Cmd+Shift+R)硬刷新。

DSH 桌面版没有绑定 Cmd+Shift+R。用 Cmd+Q 退出再打开即可 —— 进程换了之后启动页会重新取,而 rev 是内容哈希,内容变了 URL 就变了,不会命中旧缓存。

用法

什么时候播(触发规则)

侧边栏左下角点 🎛 → 「触发」标签页,五种模式:

| 模式 | 什么时候播 |
| 新对话一次 + 钉住的会话每次 | 默认。新建对话播一次;另外钉住的会话每次进都播 |
| 每个新对话一次 | 只在没说过话的新对话播 |
| 每次打开会话都播 | 切换任何会话都播(最频繁) |
| 每次启动 DSH 只播一次 | 一次启动最多播一次。「每次打开 DeepSeek 都能看到」选这个 |
| 不自动播放 | 只在你手动点「▶ 预览 / ▶ 播一次」时播 |

- 冷却时间:距上次播放不足 N 分钟就不自动播(0 = 不限)。它和会话名单是否决条件,对以上每种模式都生效。
- 会话名单:不限制 / 只在这些会话播 / 这些会话不播。当前会话可以一键加入或移出。

钉住某个会话(让它每次都播)

侧边栏点 🎞 → 变绿 🎬 = 已钉住,之后每次进这个会话都播。再点一下取消。

换自己的视频

最省事:把 mp4 丢进 ~/.dsh/boot-animation-pro/videos/,点 🎛 →「刷新」→ 点「选它」。

片库面板里每条都有:

| 按钮 | 作用 |
| ▶ 预览 | 立刻播这一段,不改你的选择(试片用,面板不关,可以连着试) |
| 选它 | 设为以后开片头时播放的片段 |
| ☆ / ★ | 收藏,置顶显示 |
| 改名 | 起个显示名(留空恢复默认) |
| 删除 | 从磁盘删除该文件(会二次确认) |

手动方式(仍然有效,host 按此顺序解析,每次请求都重新解析,换片子不用重启):

| 顺序 | 位置 |
| 1 | 片库里选中的那个 |
| 2 | 环境变量 DSH_BOOT_ANIMATION 指向的文件 |
| 3 | ~/.dsh/boot-animation-pro/intro.mp4 |
| 4 | ~/.dsh/boot-animation-pro/videos/ 里最新修改的 |
| 5 | 内嵌的四段(永远兜得住,因为它在代码里) |

上一个版本(dsh-boot-animation)的 ~/.dsh/boot-animation/ 目录会被只读扫描,所以升级后你原有的片子还在、还能列出来,但本插件不会去删它。

播放控制

🎛 →「播放」:音量、开片静音、倍速、进度条、倒计时自动跳过、片尾淡出、铺满/完整显示、随机播放。

关于声音:浏览器禁止带声音自动播放,所以动画一律静音起播。
点一下画面即可开启声音并进入全屏 —— 这是唯一符合浏览器策略的做法。
想让它一开始就尝试有声,关掉「开片时静音」;被浏览器拒绝时会显示「点击播放」而不是黑屏。

画面美化

🎛 →「画面」:标题、副标题、右下角水印,以及 4 种特效 —— 扫描线、暗角、颗粒、辉光。

分时段片头

🎛 →「时段」:按星期 + 时间段自动换片头。命中的第一条启用规则生效;都没命中就走上面的选择/随机。

跨午夜的时间段(例如 22:00 → 02:00)算在开始的星期上。所以「周五夜」在周六凌晨 1 点依然命中。

界面语言

🎛 →「界面」:跟随浏览器 / 中文 / English。有闸门(verify-i18n.mjs)禁止组件里出现硬编码文案。

排错

| 现象 | 原因 / 处理 |
| 完全没出现 | 先确认侧边栏有没有 🎞/🎛。有 → 是触发规则问题(见上);没有 → 缓存,Cmd+Q 重开 |
| 停在已有会话不播 | 按设计如此。默认只在新对话和钉住的会话播;想要「每次打开都看到」选「每次启动 DSH 只播一次」 |
| 有声但听不到 | 静音起播。点一下画面开启声音 |
| 黑屏无画面 | 多半是 mp4 的索引表 moov 在文件末尾。片库会给这种文件打「⚠ 未优化」徽章;用 ffmpeg -c copy -movflags +faststart 无损重排 |
| 播到一半自己没了 | 25 秒看门狗超时 —— 通常还是 faststart 或解码太慢 |
| 想看到插件在干什么 | 把 src/client/diagnostics.ts 的 DEBUG 改成 true 重新构建,控制台会打印每次决策 |

开发

npm run check # 全部闸门:typecheck + 22 个套件,约 570 条断言
npm run build # 重新构建 lib/
npm run verify:letterbox # 用真实浏览器量黑边(需要 Chrome/Edge/Chromium)

npm run extract-clips # 从 lib/clips.data.js 反解回 media/*.mp4(带 sha256 校验)

media/ 不在源码归档里。 它只是生成 lib/clips.data.js 的输入,而后者已经提交了。
归档(也就是 pnpm add github:… 下载的东西)因此从 19MB 降到 9.5MB——在慢网络上这是「装上了」和「放弃了」的差别。git clone 拿到的是完整仓库,不受影响。
从归档开始工作的人跑一次 npm run extract-clips 就能把文件还原出来,逐字节一致。

改代码前请先读 ARCHITECTURE.md 末尾的不变量清单。
其中三条是硬约束,违反了会直接把 GUI 弄挂或造成数据丢失。

安全

插件注册在 DSH web 服务器上的路由不受 app shell 的 web token 保护。因此所有会改变状态的接口(/select、/remove)都必须先过 src/host/route-guard.js 的四道闸门:

1. Host 必须是回环地址 —— 挡 DNS rebinding
2. 拒绝 Sec-Fetch-Site: cross-site —— 浏览器自己声明的,网页伪造不了
3. 出现 Origin 时必须是回环源 —— 浏览器对每个 POST 都会带
4. Content-Type 必须是 application/json —— 逼出 CORS 预检

scripts/verify-route-guard.mjs 会把攻击原样重放一遍,断言既要 403、文件又必须还在。
新增任何写接口时请照抄这个模式。

许可

BSD-3-Clause,见 LICENSE(与原版逐字节相同,未修改)。
本仓库是 NativeDog1/dsh-boot-animation 的二次开发,原始著作权归 NativeDog1 所有,详见 FORK.md。
预览分享卡片长什么样 ↓Yiheng-guo/dsh-boot-animation-pro
分享 · DeepSeek Harness Hub
Yiheng-guo/dsh-boot-animation-pro

给 DSH 加一段开机动画:打开 DSH、新对话、或你钉住的会话时,视频铺满整个窗口播放。

这是你的仓库?认领条目

回到顶部