dsh-boot-video:为 DSH Web 界面加全屏开机动画

前言

DeepSeek Harness(DSH)的 Web 界面打开后通常直接进入主界面。若你希望像桌面系统或游戏客户端那样,在窗口启动时先播一段片头再进入工作区,需要自己挂一层开场逻辑,还要避免和壁纸、路由、自动播放策略互相踩坑。社区插件 dsh-boot-video(包名 @local/dsh-boot-animation)把这件事做成独立 Cordis 插件:全屏播一遍 mp4,播完淡出,可跳过,并与壁纸插件 dsh-plugin-wallpaper-engine 分属不同浮层,互不读写对方 DOM。

这是什么

维护者 lzyzuo 在 GitHub 开源本项目,社区目录 SkillHub 分类为「趣味换装」。插件给 DSH Web 界面增加一次性的全屏开机动画:打开或重启 DSH 窗口时铺满整屏播放,结束约 650 ms 淡出进入主界面;播放期间点击任意位置,或按 Esc、Enter、空格可立即跳过。默认可带声音;与壁纸插件共处一屏、互不干扰。许可证 MIT,当前 package 版本 1.0.0(以仓库 package.json 为准)。

核心行为与特性

下面按触发时机说明插件在窗口生命周期内的表现(资料来自项目 README)。

时机 行为
打开 / 重启 DSH 窗口 全屏播一遍开机视频,播完 650 ms 淡出
界面内切页、重渲染 不会重播(一次窗口生命周期只播一次)
点击任意位置或 Esc / Enter / 空格 立即淡出跳过
视频比预期长 26 秒硬上限兜底
视频缺失 / 损坏 整层不渲染,直接进界面

已核实的能力还包括:

  • 任意 mp4 作开机动画;视频经 HTTP Range 流式传输(206 分片),大文件不会整段读入内存。
  • 浏览器拒绝带声自动播放时自动退回静音,浮层左下角可再开声。
  • 文案走 DSH locale,随界面中英文切换。
  • enabled 为 false 时不注册视频路由;未准备好视频时安静降级,不报错、不黑屏。

安装与启用

官方 README 给出两种方式。安装或改配置后需重启 DSH 窗口才会重新加载插件并看到效果。

本地目录安装(README 推荐)

在 DSH 中使用 插件管理 → 安装本地插件,选择含 package.json 的插件目录(仓库根目录下的包名为 @local/dsh-boot-animation)。README 说明可先取得仓库源码再选该目录安装;取得方式以你本地流程为准,安装入口是 DSH 的本地插件安装,而非臆造 CLI 命令。

手动放进 profile

将整个插件目录复制到:

<profile>/node_modules/@local/dsh-boot-animation/

在 profile 的 cordis.patch.yml 中增加:

- insert:
    - id: boot-animation
      name: '@local/dsh-boot-animation'
      config:
        enabled: true
        sound: true

保存后重启 DSH。

配置与自定义视频

本仓库不附带任何视频文件。 需自行准备有权使用的 mp4。

视频放置方式二选一:

  1. 放到插件目录 media/boot.mp4(media/ 已在 .gitignore,不会被误提交);
  2. 在配置里用绝对路径或相对插件目录的路径,例如:
config:
  file: 'D:/videos/my-boot.mp4'

cordis.patch.yml 或插件页可调项如下:

键 类型 默认 说明
enabled boolean true false 彻底关闭
sound boolean true false 则默认静音开场
file string media/boot.mp4 自定义视频路径

建议:16:9、1920×1080 以内、20 秒以内、H.264 + AAC 的 mp4;非 16:9 窗口下使用 object-fit: cover 会裁切边缘,画面宜留安全边距。

与壁纸插件为何能共存

壁纸插件挂在 body 的 .we-layer,z-index 为 -2;本插件挂在 shell.overlay 槽位(client id: boot-animation,order: 90000),z-index 约 2147483000。播放期间动画层独占指针,结束后整层卸载;不读写壁纸插件的 DOM、body[data-we-*] 等状态。播放时壁纸仍在底层运行,动画结束后露出「壁纸 + 界面」。

Host 半(index.js)注册只读路由 GET /boot-animation/status.json 与带 Range 的 GET /boot-animation/video.mp4;client 半(client.js)先请求 status.json,仅在 enabled && ready 时渲染浮层,避免先黑屏再消失。

排查时可访问 http://127.0.0.1:<端口>/boot-animation/status.json:若 ready 为 false,多为 media/boot.mp4 不存在;若 enabled 为 false 则不会播放。

适用场景与注意

适合希望在 DSH 启动瞬间增加仪式感、品牌片头或个人 OP 的用户;设计上不会在每次切页重播,避免打断工作流。路由按 video/mp4 提供,其它容器格式不保证兼容性。

DSH 插件在当前 DSH 进程权限下运行;安装前应自行阅读 GitHub 源码 与 MIT 许可证,确认视频素材版权与路径安全。SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系。

链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜