dsh-plugin-bootanim:给 DSH 加一段开机动画

前言

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 版的插件系统在这个范围内)。安装步骤如下:

  1. 打开侧边栏 插件 → 添加插件。
  2. 填入 Git 地址:
git+https://github.com/Gqwu01/dsh-plugin-bootanim.git

想固定版本,在末尾加 tag:

git+https://github.com/Gqwu01/dsh-plugin-bootanim.git#v0.0.1
  1. 安装完成后,打开开关启用。
  2. 完全退出并重启客户端(插件树是启动时读的,刷新页面不算)。

依赖会一并安装好,不需要额外操作。首次安装需要能访问 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:改完立即生效,不需要重启。

它是怎么工作的

  1. 宿主半区注册三条路由:素材清单、素材本体(支持 HTTP Range)、上传。
  2. 每次渲染 index.html 时,把「选中素材的 URL + 配置」写成一段全局变量,并把 src/boot-screen.js 的原文内联进 <head>。脚本在 React 挂载之前执行。
  3. 脚本自己建一层全屏遮罩并播放视频;浏览器半区在内核就绪时调 globalThis.__DBV__.clientReady()。
  4. 放行条件是「片子放完」且「内核就绪」,避免露出半成品界面;另有 12 秒硬兜底,任何异常都会立即放行。

开发

# 直接链接进 profile 调试,不用发包
cd <你的 profile 目录>
pnpm add link:<本仓库路径>
  • 改 src/boot-screen.js:刷新页面即可生效(每次 index 渲染重读)。
  • 改 entry.js / lib/client.js:需要重启宿主。

适用场景与注意

适合喜欢在启动时展示个人风格或团队介绍的 DSH 用户。插件以当前 DSH 进程权限运行,安装前应检查源码与许可证(MIT)。升级插件不会覆盖用户上传的视频,但内置素材在升级时可能会更新。

结尾

本插件通过官方钩子为 DSH 提供开机动画能力,无需修改内核代码即可实现个性化启动体验。如需查看目录页或源码,可访问:

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

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

Xiaoye