dsh-startup-animation:DSH 桌面端开机启动动画插件

前言

DeepSeek Harness(DSH)桌面端启动后,主界面往往直接呈现,缺少一段可预期的「进入」节奏。若要在不改客户端源码的前提下加一层开场,需要找到宿主公开的 UI 扩展点,并把动画播完后从界面里干净撤掉,避免挡住后续操作。

下面介绍社区插件 dsh-startup-animation(维护者 davidLi17,分类:趣味换装)。它通过 ui-layout 声明的 shell.overlay 槽位挂覆盖层,播放约 3 秒内置序列或你自定义的视频/图片,播完或跳过后自行从 DOM 移除。

这是什么

dsh-startup-animation 是 DSH 的开机启动动画插件:黑底上鲸鱼点亮 → 人物淡入 → 竖向扫描线 → 环形光轨 → 三条横幅展开 → DeepSeek 字标由模糊转清晰 → HARNESS → 停留 → 淡出进入主界面。点任意处或按 Esc 可跳过。

Node 侧是空插件壳(lib/index.js);浏览器侧在 lib/client.js 里通过 __ModuleLoader__.load 注册 shell.overlay 并驱动动画。插件包版本 0.2.0,代码许可证 MIT(见仓库 LICENSE)。

核心功能

内置动画序列

默认流程如上所述,整体约 3 秒。窗口出现后会先铺与启动页同色的底(主题变量 --dsw-alias-bg-base),再黑幕到纯黑,然后接动画;素材解码与 lead-in 并行,未解码完会停在黑幕,不会露出半张图。

自定义开场

支持三种开场来源,通过 localStorage 配置(改完需重启 DSH 生效)。当前 DSH 的 client 插件入口只从宿主 manifest 取 id/url/rev,拿不到 cordis.patch 里给该 entry 的 config,因此 README 说明暂用 localStorage;等宿主提供客户端配置通道后会改为正规配置项。

  • 视频(mp4/webm,静音自动播放)
  • 图片
  • 内置动画加速(speed,1 为原速)
  • 彻底关闭开场(dsh.startup.disabled)

视频和图片使用浏览器原生加载,需可访问的 http(s) 或 data: URL;加载失败会自动收场,不会卡住界面。

跳过与退场

点画面任意处或 Esc 进入退场淡出。播完移除覆盖层节点,点击完全穿透;渲染异常同样收场。每次加载只播一次。

素材内联

7 张图层以无损 WebP 的 data URL 写入 lib/client.js(约 2.75 MB),不依赖宿主 /plugins/<包>/assets/ 转发(作者在本机实测该链路对此包全部 404)。内联后加载链路不经过路由与鉴权,client 能跑则图一定在。

安装与启用

在 DSH 桌面 profile 下安装(命令来自仓库 README):

dsh plugin --profile desktop add github:davidLi17/dsh-startup-animation

装完 重启 DSH,下一次启动即可看到开场。卸载:

dsh plugin --profile desktop remove dsh-startup-animation

本地开发可用软链接(改完重启即生效;路径按本机替换):

dsh plugin --profile desktop add link:D:/path/to/dsh-startup-animation

README 中的本地开发示例包含 git clone,仅用于开发者拉源码;日常使用以上 github: 安装即可。

典型用法:替换或关闭开场

在 DSH 窗口的开发者工具里执行下列片段之一,然后重启。

用视频替换(可选 duration、fadeOut、hint):

localStorage.setItem('dsh.startup.intro', JSON.stringify({
  kind: 'video',
  url: 'https://example.com/my-intro.mp4',
  duration: 4,
  fadeOut: 0.4,
  hint: '点击任意处跳过',
}))

用图片替换:

localStorage.setItem('dsh.startup.intro', JSON.stringify({
  kind: 'image', url: 'https://example.com/my-splash.png', duration: 2.5,
}))

内置动画加速:

localStorage.setItem('dsh.startup.intro', JSON.stringify({ kind: 'builtin', speed: 1.5 }))

彻底关掉开场:

localStorage.setItem('dsh.startup.disabled', '1')

恢复内置动画:

localStorage.removeItem('dsh.startup.intro')
localStorage.removeItem('dsh.startup.disabled')

适用场景与注意

适合谁:希望在 DSH 桌面端启动时增加品牌感或个性化开场、且愿意接受约 3 秒可跳过遮层的用户;社区目录分类为「趣味换装」,偏体验向而非业务逻辑扩展。

兼容性:作者在 DSH 桌面端 0.2.1-rc.2 上验证。依赖 shell.overlay 槽位(ui-layout 声明)和 window.__ModuleLoader__.load;宿主大版本变化后可能需要插件跟进。

安全与权限:插件以当前 DSH 进程权限运行。安装前建议浏览 GitHub 仓库 源码与 MIT 许可证;动画美术来自需求方提供的合成原图,公开分发前请确认美术资源使用权(README 说明)。

生态说明:DSH 理念是「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-startup-animation 在不改客户端源码的前提下,用 shell.overlay 提供可跳过、可自定义的开机动画,播完自动撤层。需要默认鲸鱼序列、自定义视频/图片或临时关闭开场时,可按 README 安装并在 localStorage 中配置。

  • 目录页:https://www.skillhub.cn/plugins/davidLi17/dsh-startup-animation
  • GitHub:https://github.com/davidLi17/dsh-startup-animation
羽毛球分组比赛记分
小程序二维码

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

Xiaoye