前言¶
DeepSeek Harness(DSH)启动后通常会直接进入应用界面。若希望在每次启动时有一段短动画再进入主界面,社区里已有若干开机动画类插件的思路可参考。dsh-custom-splash 由维护者 muning0214 发布,归类为「趣味换装」,在 DSH 桌面/Web 环境中通过插件机制注入全屏视频开屏:每次启动从内置三段 MP4 中随机选一段播放,播完淡出;也可按 Esc 或点击跳过。下面介绍它的定位、能力与安装方式。
这是什么¶
dsh-custom-splash 是给 DeepSeek Harness 使用的开屏动画插件。仓库:GitHub muning0214/dsh-custom-splash,目录页:SkillHub 插件页。当前 package 版本为 0.2.1,代码以 MIT 许可发布;随包 assets/ 内演示视频为第三方素材,不在 MIT 范围内,公开分发或商用需自行替换素材。
插件只使用宿主公开扩展点(视频路由、index-inject、标题栏色探针),不修改 DSH 打包文件。
核心功能¶
随机开屏与跳过¶
每次加载(即每次重启 DSH)对三段视频做 Fisher–Yates 洗牌后取一段播放,播完自动淡出(默认淡出约 420ms)。播放过程中按 Esc 或点击画面可立即跳过。
随包三段视频(见 README 预览表):
| 文件 | 时长 | 说明 |
|---|---|---|
assets/stardust.mp4 |
8.06s | 闭眼半身特写,柔光星尘 |
assets/datastream.mp4 |
7.05s | DEEPSEEK 大字 + 脸部 + 数据流 |
assets/gaze.mp4 |
7.05s | 深色字标 + 青色瞳孔特写 |
不拖慢启动¶
素材单个损坏会自动换下一个;全部失败、解码报错、播放被拒,或超过 20 秒(MAX_HOLD 默认 20000ms)都会立刻放行,避免卡死启动流程。
Windows 标题栏按钮融入画面¶
DSH 桌面在 titleBarStyle: "hidden" 时,右上角系统绘制的三个按钮无法用普通 CSS 盖住。插件通过 preload 色探针与 CAPTION_CSS 规则,在播放开屏时让按钮透明融入画面;开屏结束规则移除后配色自动还原。该行为仅在 Windows 桌面版验证;macOS / Linux 会跳过标题栏处理,其余功能仍可用。
实时锐化¶
对低码率源使用 SVG feConvolveMatrix 做补偿,强度可在 index.mjs 中通过 kernelMatrix 调整(默认中心约 2.4,超过 3.2 易出白边)。
安装与启用¶
桌面版安装命令(须与 README 一致):
dsh plugin --profile desktop add github:muning0214/dsh-custom-splash
Web 版将 --profile desktop 改为 --profile web。仓库无构建产物依赖,也没有 prepare / postinstall,安装不会触发额外编译。
装完后完全退出 DSH 再重新打开——bundle 在启动时装配,热重载不足以加载新插件。
卸载:
dsh plugin --profile desktop remove dsh-custom-splash
典型用法:替换为自己的视频¶
- 将 mp4 放入插件目录下的
assets/。 - 修改
index.mjs顶部ASSETS映射,增删条目即可增减片库:
const ASSETS = new Map([
['stardust.mp4', 'video/mp4'],
['datastream.mp4', 'video/mp4'],
['gaze.mp4', 'video/mp4']
])
视频需 faststart(moov 在 mdat 之前),否则浏览器需下载完整文件才能播。可用 ffmpeg 修复:
ffmpeg -i in.mp4 -c copy -movflags +faststart out.mp4
常用可调参数(均在源码中):
| 位置 | 作用 | 默认 |
|---|---|---|
MAX_HOLD |
最多遮挡时长(毫秒) | 20000 |
fade |
淡出时长(毫秒) | 420 |
kernelMatrix |
锐化卷积核 | 2.4 / -0.35 |
CAPTION_CSS |
标题栏按钮透明规则 | 见源码 |
实现要点(便于审源码)¶
视频路由:通过 connection.fetch.register() 为每个资源注册 /api/dsh-splash/... 路径,必须支持 Range,否则 Chromium 无法流式解码;仅服务白名单文件,禁止路径穿越。
播放器注入:经 webserver/index-inject 在 index.html 的 body 开头注入自包含脚本,用 Shadow DOM 全屏 <video>,在外壳挂载前覆盖一层。
标题栏:注入 CSS 将 preload 探针改为 transparent,触发 IPC dsh-desktop:windows-appearance 更新 overlay。
适用场景与注意¶
适合希望在 DSH 启动时增加品牌化或氛围感、且能接受约 7–8 秒量级(或手动跳过)等待的桌面用户。素材分辨率为 1280×720,1080p 以上屏幕会放大显示;三段时长不完全一致,开屏总时长会有小幅浮动。
DSH 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。插件以当前 DSH 进程权限运行,安装前建议阅读仓库源码与许可证;演示视频若对外分发需替换为自有权利素材。
参考与致谢¶
实现思路参考了 NativeDog1/dsh-boot-animation 与 Yiheng-guo/dsh-boot-animation-pro;本仓库为独立编写,未 fork 上述项目。
- 目录页:https://www.skillhub.cn/plugins/muning0214/dsh-custom-splash
- GitHub:https://github.com/muning0214/dsh-custom-splash