前言¶
DeepSeek Harness(DSH)启动时默认会走自己的加载与开机卡片。若你希望每次打开客户端先播一段全屏 mp4,播完再淡入主界面,并且可以随时跳过,就需要在插件层做「开机动画」而不是改核心代码。社区里已有通过宿主注入盖住开机 UI 的做法;dsh-boot-video 把这条路线做成独立插件:自带素材、可导入本地视频、设置集中在一页,并对不支持的编码提供自动转码。
下面介绍它是什么、怎么装、日常怎么用,以及网页版与桌面版在声音、刷新上的差异。
这是什么¶
dsh-boot-video 由 xufu5438-netizen 维护,在 SkillHub 上归类为「趣味换装」。一句话定位:给 DSH 加一段视频开机片头——启动时全屏播放 mp4,播完淡出进入界面;点击画面或按 Esc 可随时跳过。
插件分宿主半边与浏览器半边:宿主负责路由流式返回视频(支持 Range / 206 / 304)、在文档解析阶段注入首帧以盖住 DSH 自带的 HARNESS / Loading plugins…;浏览器半边用一条 <video> 播放,零额外运行时依赖(宿主只用 node: 内建模块)。要求 DSH >= 0.2.0-rc.1(见 package.json 中 dsh.engines)。
核心功能¶
播放与跳过¶
- 一段 mp4 对应一次开机片头:全屏播放,播完淡出,不是「加载完成就切走」。
- 点击画面或按
Esc跳过;跳过后仍走同一段淡出,不会硬切。 - 每次客户端加载都会播(刷新页面也算);播放期不等待 DSH 加载状态,播完就淡出。
- 画面按完整比例居中显示(
object-fit: contain),不裁切;窗口比例与片源不一致时会出现黑边。
声音与平台¶
- 桌面版(Electron):默认带声音自动播放。
- 网页版:浏览器会拦截未静音自动播放,插件自动降级为静音,并在左下角显示「打开声音」(点它只开声、不跳过)。若希望网页版也自动带声,需在浏览器站点设置里允许该 DSH 地址播放声音(例如
http://127.0.0.1:3080),然后硬刷新;插件本身无法绕过浏览器策略。
设置页¶
设置 → 侧边栏「开机动画」(0.3.0 起独立一页):
| 控件 | 说明 |
|---|---|
| 启动时播放 | 「我的视频」(默认)全屏片头;「不播放」直通界面 |
| 片头素材 | 默认 assets/hdd.mp4(HDD);可选「月读世界」assets/yuedu.mp4(仅本地,未进发布包) |
| 导入视频 | 选 mp4(上限 512 MB),存入插件 assets/user/,可改名、删除、预览 |
| 预览 | 「▶ 播放一遍」不重启即可看效果 |
换素材会立刻用新素材重播,无需重启确认。设置页底部有自检行:客户端半边何时加载、上次开机是否播成功,便于排查「改了没生效 / 视频打不开」。
导入与转码¶
- 只收
.mp4;H.264 常见形态可直接导入。 - HEVC / H.265:导入时会询问是否自动转换;确认后插件下载 ffmpeg(约 28 MB,国内镜像),转成 H.264(
libx264 -crf 20,保持分辨率与帧率,音频 AAC 192k,+faststart),转完自验可播再收下。 - 其它容器(
.mkv/.webm/.mov)会被拒绝,需先导出为 mp4 + H.264。 - 不想允许写盘导入时,启动 DSH 前设环境变量
DSHBV_IMPORT=0(客户端侧对应IMPORT_ENABLED)。 - 注意:用户导入的文件在插件目录内,重装或升级插件可能覆盖
assets/user/,重装前请先备份。
与其它插件、存储¶
- 各插件使用自己的 localStorage 键,与其它片头插件同时安装不会互相干扰。
- 卸载后开机恢复 DSH 默认启动画面;彻底清理可在控制台删除
dsh-boot-video:source、dsh-boot-video:asset、dsh-boot-video:last-boot。
安装与启用¶
官方推荐从 npm 安装(--profile web 与 README 一致):
# 从 npm 安装(推荐)
dsh plugin --profile web add dsh-boot-video
# 从 GitHub 安装(仓库带构建产物,没有安装期脚本,不触发构建授权)
dsh plugin --profile web add github:xufu5438-netizen/dsh-boot-video
# 或从本地目录安装(把路径换成你解压出来的目录)
dsh plugin --profile web add <本目录绝对路径>
装完后必须重启一次 DSH(bundle 在启动时装配),再 Ctrl+Shift+R 硬刷新——DSH 客户端 bundle 带长期缓存,普通 F5 可能仍用旧副本。
桌面版:也可在「设置 → 插件 → 添加插件」填写本地路径 / registry / git / tarball;装完后需完全退出并重新打开应用,仅刷新页面不够。
卸载(命令行安装时):
dsh plugin --profile web remove dsh-boot-video
桌面版在「设置 → 插件」中卸载即可。
典型用法¶
在界面里换片头、导入自己的 mp4¶
- 打开 设置 → 开机动画。
- 「启动时播放」选「我的视频」。
- 在片头素材中选内置 HDD,或点「⬆ 导入视频」选择本地 mp4;导入后自动选中并播放一遍,并弹出起名窗口。
- 需要确认效果时点「▶ 播放一遍」;正在播时再点会从头重播。
用脚本从母带生成随包素材(维护者 / 进阶)¶
若你要替换默认随包视频(需 H.264 + AAC,建议 ≤ 15 MB、≤ 20 秒),可用仓库脚本:
node scripts/make-asset.mjs <你的母带.mp4> --height 1440 --crf 22
黑边应在压制阶段裁掉;可先探测再传入 --crop:
ffmpeg -vf cropdetect=24:16:0 -f null -
node scripts/make-asset.mjs <你的母带.mp4> --crop 2560:1086:0:177 --crf 22
HEVC 导入的 CLI 等价(不想走界面时):
node scripts/import-hevc.mjs "D:\视频素材\你的母带.mkv"
(注:导入路径示例来自 README;仅 .mp4 走界面导入,mkv 需先自行转成 mp4 或使用项目提供的转码脚本流程。)
适用场景与注意¶
适合谁:希望在 DSH Web UI 或 Electron 桌面版启动时增加品牌化或趣味片头、且能接受「每次加载/刷新都会播一次」的开发者或个人用户。
许可与素材:代码 MIT。内置 assets/hdd.mp4 来自 B 站 UP 主 @露霁luki_yo 的《Hollow Deep Dive System》(HDD),已获授权可随包分发;assets/yuedu.mp4 未获授权,仅本机自用,不进 npm 发布包(对外发布用 npm run pack:release 核对包内容)。
安全与权限:插件以当前 DSH 进程权限运行,导入功能会向插件目录写文件并可能下载 ffmpeg。安装前建议阅读 GitHub 仓库 源码与 LICENSE,再决定是否在生产或共享环境启用。
已知限制(README「兼容与限制」):
- 只能在 Web UI 加载之后全屏覆盖,做不到早于 Electron 窗口首帧。
- 首帧为纯色
#000000,不是视频第一帧。 - 网页版无法由插件单方面实现「未交互自动带声播放」。
DSH 社区插件目录(如 SkillHub)是独立生态站点,与 DeepSeek / 幻方无官方从属关系;安装方式以各插件 README 为准。
结尾¶
dsh-boot-video 把「全屏 mp4 开机 → 淡出进界面 → 点击或 Esc 跳过」做成可配置的 DSH 插件,并覆盖素材选择、用户导入、HEVC 自动转 H.264 与设置页自检。当前 npm 包版本为 1.0.1。