dsh-custom-splash:爲 DeepSeek Harness 增加隨機開屏動畫

前言

DeepSeek Harness(DSH)啓動後通常會直接進入應用界面。若希望在每次啓動時有一段短動畫再進入主界面,社區裏已有若干開機動畫類插件的思路可參考。dsh-custom-splash 由維護者 muning0214 發佈,歸類爲「趣味換裝」,在 DSH 桌面/Web 環境中通過插件機制注入全屏視頻開屏:每次啓動從內置三段 MP4 中隨機選一段播放,播完淡出;也可按 Esc 或點擊跳過。下面介紹它的定位、能力與安裝方式。

這是什麼

dsh-custom-splash 是給 DeepSeek Harness 使用的開屏動畫插件。倉庫:GitHub muning0214/dsh-custom-splash,目錄頁:SkillHub 插件頁。當前 package 版本爲 0.2.1,代碼以 MIT 許可發佈;隨包 assets/ 內演示視頻爲第三方素材,不在 MIT 範圍內,公開分發或商用需自行替換素材。

插件只使用宿主公開擴展點(視頻路由、index-inject、標題欄色探針),不修改 DSH 打包文件。

核心功能

隨機開屏與跳過

每次加載(即每次重啓 DSH)對三段視頻做 Fisher–Yates 洗牌後取一段播放,播完自動淡出(默認淡出約 420ms)。播放過程中按 Esc 或點擊畫面可立即跳過。

隨包三段視頻(見 README 預覽表):

文件 時長 說明
assets/stardust.mp4 8.06s 閉眼半身特寫,柔光星塵
assets/datastream.mp4 7.05s DEEPSEEK 大字 + 臉部 + 數據流
assets/gaze.mp4 7.05s 深色字標 + 青色瞳孔特寫

不拖慢啓動

素材單個損壞會自動換下一個;全部失敗、解碼報錯、播放被拒,或超過 20 秒(MAX_HOLD 默認 20000ms)都會立刻放行,避免卡死啓動流程。

Windows 標題欄按鈕融入畫面

DSH 桌面在 titleBarStyle: "hidden" 時,右上角系統繪製的三個按鈕無法用普通 CSS 蓋住。插件通過 preload 色探針與 CAPTION_CSS 規則,在播放開屏時讓按鈕透明融入畫面;開屏結束規則移除後配色自動還原。該行爲僅在 Windows 桌面版驗證;macOS / Linux 會跳過標題欄處理,其餘功能仍可用。

實時銳化

對低碼率源使用 SVG feConvolveMatrix 做補償,強度可在 index.mjs 中通過 kernelMatrix 調整(默認中心約 2.4,超過 3.2 易出白邊)。

安裝與啓用

桌面版安裝命令(須與 README 一致):

dsh plugin --profile desktop add github:muning0214/dsh-custom-splash

Web 版將 --profile desktop 改爲 --profile web。倉庫無構建產物依賴,也沒有 prepare / postinstall,安裝不會觸發額外編譯。

裝完後完全退出 DSH 再重新打開——bundle 在啓動時裝配,熱重載不足以加載新插件。

卸載:

dsh plugin --profile desktop remove dsh-custom-splash

典型用法:替換爲自己的視頻

  1. 將 mp4 放入插件目錄下的 assets/。
  2. 修改 index.mjs 頂部 ASSETS 映射,增刪條目即可增減片庫:
const ASSETS = new Map([
  ['stardust.mp4', 'video/mp4'],
  ['datastream.mp4', 'video/mp4'],
  ['gaze.mp4', 'video/mp4']
])

視頻需 faststart(moov 在 mdat 之前),否則瀏覽器需下載完整文件才能播。可用 ffmpeg 修復:

ffmpeg -i in.mp4 -c copy -movflags +faststart out.mp4

常用可調參數(均在源碼中):

位置 作用 默認
MAX_HOLD 最多遮擋時長(毫秒) 20000
fade 淡出時長(毫秒) 420
kernelMatrix 銳化卷積核 2.4 / -0.35
CAPTION_CSS 標題欄按鈕透明規則 見源碼

實現要點(便於審源碼)

視頻路由:通過 connection.fetch.register() 爲每個資源註冊 /api/dsh-splash/... 路徑,必須支持 Range,否則 Chromium 無法流式解碼;僅服務白名單文件,禁止路徑穿越。

播放器注入:經 webserver/index-inject 在 index.html 的 body 開頭注入自包含腳本,用 Shadow DOM 全屏 <video>,在外殼掛載前覆蓋一層。

標題欄:注入 CSS 將 preload 探針改爲 transparent,觸發 IPC dsh-desktop:windows-appearance 更新 overlay。

適用場景與注意

適合希望在 DSH 啓動時增加品牌化或氛圍感、且能接受約 7–8 秒量級(或手動跳過)等待的桌面用戶。素材分辨率爲 1280×720,1080p 以上屏幕會放大顯示;三段時長不完全一致,開屏總時長會有小幅浮動。

DSH 生態強調「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。插件以當前 DSH 進程權限運行,安裝前建議閱讀倉庫源碼與許可證;演示視頻若對外分發需替換爲自有權利素材。

參考與致謝

實現思路參考了 NativeDog1/dsh-boot-animation 與 Yiheng-guo/dsh-boot-animation-pro;本倉庫爲獨立編寫,未 fork 上述項目。


  • 目錄頁:https://www.skillhub.cn/plugins/muning0214/dsh-custom-splash
  • GitHub:https://github.com/muning0214/dsh-custom-splash
羽毛球分组比赛记分
小程序二维码

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

小夜