dsh-boot-video:爲 DSH Web 界面加全屏開機動畫

前言

DeepSeek Harness(DSH)的 Web 界面打開後通常直接進入主界面。若你希望像桌面系統或遊戲客戶端那樣,在窗口啓動時先播一段片頭再進入工作區,需要自己掛一層開場邏輯,還要避免和壁紙、路由、自動播放策略互相踩坑。社區插件 dsh-boot-video(包名 @local/dsh-boot-animation)把這件事做成獨立 Cordis 插件:全屏播一遍 mp4,播完淡出,可跳過,並與壁紙插件 dsh-plugin-wallpaper-engine 分屬不同浮層,互不讀寫對方 DOM。

這是什麼

維護者 lzyzuo 在 GitHub 開源本項目,社區目錄 SkillHub 分類爲「趣味換裝」。插件給 DSH Web 界面增加一次性的全屏開機動畫:打開或重啓 DSH 窗口時鋪滿整屏播放,結束約 650 ms 淡出進入主界面;播放期間點擊任意位置,或按 Esc、Enter、空格可立即跳過。默認可帶聲音;與壁紙插件共處一屏、互不干擾。許可證 MIT,當前 package 版本 1.0.0(以倉庫 package.json 爲準)。

核心行爲與特性

下面按觸發時機說明插件在窗口生命週期內的表現(資料來自項目 README)。

時機 行爲
打開 / 重啓 DSH 窗口 全屏播一遍開機視頻,播完 650 ms 淡出
界面內切頁、重渲染 不會重播(一次窗口生命週期只播一次)
點擊任意位置或 Esc / Enter / 空格 立即淡出跳過
視頻比預期長 26 秒硬上限兜底
視頻缺失 / 損壞 整層不渲染,直接進界面

已覈實的能力還包括:

  • 任意 mp4 作開機動畫;視頻經 HTTP Range 流式傳輸(206 分片),大文件不會整段讀入內存。
  • 瀏覽器拒絕帶聲自動播放時自動退回靜音,浮層左下角可再開聲。
  • 文案走 DSH locale,隨界面中英文切換。
  • enabled 爲 false 時不註冊視頻路由;未準備好視頻時安靜降級,不報錯、不黑屏。

安裝與啓用

官方 README 給出兩種方式。安裝或改配置後需重啓 DSH 窗口纔會重新加載插件並看到效果。

本地目錄安裝(README 推薦)

在 DSH 中使用 插件管理 → 安裝本地插件,選擇含 package.json 的插件目錄(倉庫根目錄下的包名爲 @local/dsh-boot-animation)。README 說明可先取得倉庫源碼再選該目錄安裝;取得方式以你本地流程爲準,安裝入口是 DSH 的本地插件安裝,而非臆造 CLI 命令。

手動放進 profile

將整個插件目錄複製到:

<profile>/node_modules/@local/dsh-boot-animation/

在 profile 的 cordis.patch.yml 中增加:

- insert:
    - id: boot-animation
      name: '@local/dsh-boot-animation'
      config:
        enabled: true
        sound: true

保存後重啓 DSH。

配置與自定義視頻

本倉庫不附帶任何視頻文件。 需自行準備有權使用的 mp4。

視頻放置方式二選一:

  1. 放到插件目錄 media/boot.mp4(media/ 已在 .gitignore,不會被誤提交);
  2. 在配置裏用絕對路徑或相對插件目錄的路徑,例如:
config:
  file: 'D:/videos/my-boot.mp4'

cordis.patch.yml 或插件頁可調項如下:

鍵 類型 默認 說明
enabled boolean true false 徹底關閉
sound boolean true false 則默認靜音開場
file string media/boot.mp4 自定義視頻路徑

建議:16:9、1920×1080 以內、20 秒以內、H.264 + AAC 的 mp4;非 16:9 窗口下使用 object-fit: cover 會裁切邊緣,畫面宜留安全邊距。

與壁紙插件爲何能共存

壁紙插件掛在 body 的 .we-layer,z-index 爲 -2;本插件掛在 shell.overlay 槽位(client id: boot-animation,order: 90000),z-index 約 2147483000。播放期間動畫層獨佔指針,結束後整層卸載;不讀寫壁紙插件的 DOM、body[data-we-*] 等狀態。播放時壁紙仍在底層運行,動畫結束後露出「壁紙 + 界面」。

Host 半(index.js)註冊只讀路由 GET /boot-animation/status.json 與帶 Range 的 GET /boot-animation/video.mp4;client 半(client.js)先請求 status.json,僅在 enabled && ready 時渲染浮層,避免先黑屏再消失。

排查時可訪問 http://127.0.0.1:<端口>/boot-animation/status.json:若 ready 爲 false,多爲 media/boot.mp4 不存在;若 enabled 爲 false 則不會播放。

適用場景與注意

適合希望在 DSH 啓動瞬間增加儀式感、品牌片頭或個人 OP 的用戶;設計上不會在每次切頁重播,避免打斷工作流。路由按 video/mp4 提供,其它容器格式不保證兼容性。

DSH 插件在當前 DSH 進程權限下運行;安裝前應自行閱讀 GitHub 源碼 與 MIT 許可證,確認視頻素材版權與路徑安全。SkillHub 爲社區目錄站點,與 DeepSeek / 幻方無官方從屬關係。

鏈接

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

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

小夜