前言¶
DeepSeek Harness(DSH)Web 每次打开都会先经历宿主加载与插件 bundle 评估,界面才稳定可用。若你希望在进入主界面前有一段可控的视觉开场——而不是立刻看到空白或默认加载屏——需要在客户端侧挂一层全屏遮罩,并在播完后平滑交还 #root。社区插件 dsh-opening-animation(维护者 linke-e,分类「趣味换装」)面向这一需求:在每次 dsh web 页面加载时,于全屏遮罩上播放你选择的图片动画或视频,结束后以可配置过渡把画面交还主界面;与 dsh-custom-skin 可配合使用。
下面介绍插件定位、能力与安装启用方式。事实以 GitHub 仓库 README 为准;社区目录页见 SkillHub。
这是什么¶
dsh-opening-animation 是 DeepSeek Harness Web 的开场动画插件。当前 package 版本为 0.8.0,许可证 MIT。它不改变 Harness 核心逻辑,而是在 Web 客户端注入遮罩与控制器:用户上传或选择媒体、挑选内置动画引擎与收场过渡,可选在每次页面加载时播放一次;启动播放默认关闭,需在设置中手动开启。
图片与视频开场¶
图片开场¶
支持 jpg / png / webp / gif / avif,单文件 ≤20 MB。导入时会实测解码,超过 3200 万像素(约 8K 幅面)的图片会被拒绝;媒体库上限 8 条。容量截断或解码失败会有明确提示,不会静默丢弃。
播放顺序(单一 / 顺序 / 随机,默认单一)决定每次启动播放哪张图:顺序模式从选中项起按列表推进、到末尾回绕;随机模式在多于一张时不会连续重复上一张。预览始终播放当前选中媒体;视频不受此项影响。
README 列出的内置图片动画示例包括 404、wipe-reveal、pool、grid-mouse、retro-boot、code-rain、constructivism1 等,完整列表以仓库文档为准。
视频开场¶
支持 mp4 / webm / mkv,单文件 ≤256 MB,导入时探测解码支持。自动播放时,引擎在首个 playing 事件会尝试取消静音:浏览器允许有声自动播放时按音量设置出声;拒绝时回退静音,画面不卡住,并显示「点击开启声音」(该点击不跳过动画)。长视频不截断。
填充方式可选 cover(铺满,默认)或 contain(完整显示);缩放默认 1,水平/垂直偏移默认 0(单位为屏幕宽/高的百分比)。视频结尾音频可按指数曲线淡出(默认 1.5 秒,0 为禁用);开头音频线性淡入(默认 1 秒,0 为禁用),点按解除静音时同样淡入。
收场、早期覆盖与交互¶
收场过渡可选 cross-fade(默认)、dip-to-bg、zoom-fade,速度可调 0.5–2×。动画期间主界面被遮罩按住(#root 由 pending 属性压住,避免闪帧),过渡结束后还原。
启动画面早期覆盖采用两级机制:第一级为宿主 index 注入(serve 部署下 webserver 在 index.html 的 head 写入内联脚本),HTML 解析阶段读取偏好,已开启开场时先于官方「HARNESS / Loading plugins…」压暗 #root 与背景;第二级为 client 端全屏深色遮罩,作为无 index 注入部署下的退化保障。两级共用撤除链;client 级遮罩另有 4 秒兜底定时器,避免永久黑屏。若注入级未生效,官方加载屏仍会显示到 bundle 评估为止(约 1 秒),插件无法覆盖该段宿主加载期。
随时跳过:点击任意处或 Esc(右下角跳过提示可关;tap-reveal 的第一击用于开始揭示,之后与其他动画一致)。
设置页与可靠性¶
设置入口:个性化 › 开场动画。可切换整个 DSH Web 界面语言(顶部 Language)、上传/选择/删除/清空媒体、切换动画与过渡、调整高级参数、预览、恢复默认。安装 dsh-custom-skin 时,高级参数控件可随壁纸主题融合。可选开启与 dsh-custom-skin 联动(默认关):上传图片可单向复制进壁纸库,不改皮肤偏好。
保险与 fail-open:主界面始终可用。致命错误(存储打不开、媒体缺失、图片加载失败等)立即无过渡撤除遮罩。三道看门狗——加载超时 8s(媒体就绪后解除)、图片超过时长上限(默认 15s,可调 3–120s,仅作强制收场保险,视频不受限)、视频无进度 10s——触发时带过渡收场。存储配额满时写入失败单独提示。预览不受「每页只播一次」限制。
无障碍:播放期间主界面 inert,装饰画布对屏幕阅读器隐藏,跳过提示可读,撤除后恢复原焦点。
安装与启用¶
插件随 DSH Web profile 安装,官方 README 给出的步骤如下。
cd $DSH_HOME/profiles/web
pnpm add <本目录路径或 tarball>
随后在 profile 的 package.json 里,把 dsh-opening-animation 加入 dsh.profile.bundles 数组。
从源码构建需 Node ^22.19.0 或 ≥24:
pnpm install
pnpm check # typecheck + vitest + build
安装完成后重启或重新加载 dsh web,进入 个性化 › 开场动画,上传媒体、选择动画与过渡,开启启动播放 并保存;需要时可点「预览开场」做手工回归(README 推荐在真实浏览器中验证 Canvas 与媒体播放链路)。
扩展动画(开发者)¶
新动画 = 一个引擎文件 + registry.ts 里一行注册;参数经 paramsSchema 声明后设置页自动渲染,播放链路无需改动(ADR-003)。详见仓库说明。
适用场景与注意¶
适合希望在 DSH Web 启动时展示品牌动效、趣味 GIF 或短视频的开发者与个人部署。插件在 当前 dsh 进程权限 下运行,安装前应阅读源码并确认 MIT 许可证与媒体体积、像素上限等约束。社区目录 SkillHub 与 GitHub 无 DeepSeek / 幻方官方从属关系,属社区生态中的独立条目。
结尾¶
dsh-opening-animation 把「每次打开 DSH Web 的第一屏」变成可配置资源:图片动画库、视频开场、可调过渡与 fail-open 看门狗,并在 serve 部署下尽量压住官方加载屏。默认不打扰日常启动,在设置里打开即可。