前言¶
DeepSeek Harness(DSH)的 Web GUI / 桌面客户端默认打开时,会直接展示内核的启动页。对于本地长期运行的桌面客户端来说,每次启动看到同样的界面略显单调。本插件通过在打开 DSH 时播放一段视频,让启动过程更有个性。它使用 DSH 官方的插件钩子注入脚本,不修改 DSH 源码,在「设置 → 插件」里就能切换素材、上传自己的视频并删除不需要的条目。
是什么¶
dsh-plugin-bootanim 是一个为 DeepSeek Harness 提供开机动画的 DSH 插件,由维护者 Gqwu01(作者 yan wu)发布。插件会在 DSH 启动时播放用户选定的视频,刷新页面不会重播(同一次会话只播一次)。它提供内置素材库,支持上传本地视频(mp4 / webm / m4v / mov,上限 256MB),并在插件页里切换、删除素材。
核心功能¶
- 开机自动播放:打开 DSH 时,在内核就绪前显示视频遮罩,放完或点击后进入主界面。
- 同会话不重播:默认开启「同一个标签页只播一次」,刷新页面不会重新播放,直到关闭客户端。
- 素材管理:内置素材位于
assets/videos/,用户上传的素材保存在<DSH profile>/data/dsh-plugin-bootanim/videos/。升级插件不会覆盖用户上传的视频。 - 可选交互:默认关闭「必须点击才进入」,开启后片子放完停在最后一帧,需要用户点击 / Esc / 空格 / 回车进入。
- 纯本地运行:不读取会话内容、不接触模型数据,不发起任何对外网络请求,上传 / 删除只接受本机回环地址发起,素材路径做单层 + 扩展名 + 目录包含三重校验。
安装与启用¶
插件要求 DSH >= 0.2.0-rc.2(桌面版和 Web 版的插件系统在这个范围内)。安装步骤如下:
- 打开侧边栏 插件 → 添加插件。
- 填入 Git 地址:
git+https://github.com/Gqwu01/dsh-plugin-bootanim.git
想固定版本,在末尾加 tag:
git+https://github.com/Gqwu01/dsh-plugin-bootanim.git#v0.0.1
- 安装完成后,打开开关启用。
- 完全退出并重启客户端(插件树是启动时读的,刷新页面不算)。
依赖会一并安装好,不需要额外操作。首次安装需要能访问 GitHub,克隆整仓所以比装 npm 包略慢。
也可以从本地安装:
# tarball(npm pack 产物,推荐,依赖会正确安装)
C:\path\to\dsh-plugin-bootanim-0.0.1.tgz
# 目录(会软链进去,不安装依赖;需先在该目录跑过一次 pnpm install)
C:\path\to\dsh-plugin-bootanim
典型用法¶
重启后打开侧边栏的 插件 页,点进本插件,配置区就在描述下方:
| 控件 | 说明 |
|---|---|
| 启用开机动画 | 总开关。关掉则不注入任何东西,回到内核自己的启动页 |
| 播放的视频 | 下拉选择。自动 表示用最近改动过的一条素材 |
| 上传… | 导入本地 mp4 / webm / m4v / mov,上限 256MB |
| 删除 | 只能删你自己上传的,内置素材不可删 |
| 同一个标签页只播一次 | 默认开。关掉则每次刷新都播 |
| 必须点击才进入 | 默认关。开启后片子放完也停在最后一帧,等你点 |
播放中可以随时 点击 / Esc / 空格 / 回车 立即进入。
设置项(cordis.patch.yml 里也可手写)¶
- id: bootanim
config:
enabled: true
clip: 'custom/xxxx_my-intro.mp4'
fadeMs: 800
playOnce: true
clickToEnter: false
所有字段都是 volatile:改完立即生效,不需要重启。
它是怎么工作的¶
- 宿主半区注册三条路由:素材清单、素材本体(支持 HTTP Range)、上传。
- 每次渲染
index.html时,把「选中素材的 URL + 配置」写成一段全局变量,并把src/boot-screen.js的原文内联进<head>。脚本在 React 挂载之前执行。 - 脚本自己建一层全屏遮罩并播放视频;浏览器半区在内核就绪时调
globalThis.__DBV__.clientReady()。 - 放行条件是「片子放完」且「内核就绪」,避免露出半成品界面;另有 12 秒硬兜底,任何异常都会立即放行。
开发¶
# 直接链接进 profile 调试,不用发包
cd <你的 profile 目录>
pnpm add link:<本仓库路径>
- 改
src/boot-screen.js:刷新页面即可生效(每次 index 渲染重读)。 - 改
entry.js/lib/client.js:需要重启宿主。
适用场景与注意¶
适合喜欢在启动时展示个人风格或团队介绍的 DSH 用户。插件以当前 DSH 进程权限运行,安装前应检查源码与许可证(MIT)。升级插件不会覆盖用户上传的视频,但内置素材在升级时可能会更新。
结尾¶
本插件通过官方钩子为 DSH 提供开机动画能力,无需修改内核代码即可实现个性化启动体验。如需查看目录页或源码,可访问: