前言¶
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 部署下儘量壓住官方加載屏。默認不打擾日常啓動,在設置裏打開即可。