dsh-motion-background:DSH WebUI 動態背景插件

前言

DeepSeek Harness (DSH) 的設計理念是“一切皆插件”。對於開發者或長期使用的用戶而言,純白的對話界面可能顯得單調。dsh-motion-background 插件通過引入動態背景,解決了界面視覺單一的問題。該插件將對話界面的底色替換爲實時演算的畫面或一段素材。

核心功能

該插件提供兩類動態背景方案:

  1. 着色器型(GLSL):利用 WebGL2 進行逐幀實時演算,畫面由代碼生成。
  2. 媒體型:使用 MP4、WebM、GIF、圖片等素材文件作爲背景,不依賴 WebGL2,在無 WebGL2 環境下也能運行。

插件內核不含任何第三方着色器代碼,通過函數名全詞匹配檢測。此外,插件支持視頻往返播放以避免循環接縫跳變,並根據窗口狀態動態調整幀率(前臺 30fps、失焦 15fps、後臺 0fps)以優化性能。

安裝與啓用

插件以文件夾形式掛載,無需通過命令行安裝。

  1. 在 DSH 插件目錄下創建一個文件夾。
  2. 在文件夾內放置 mod.json 和 fragment.glsl(僅着色器型需要)。
  3. 刷新 DSH 頁面,插件會自動掃描並加載新效果,無需重啓。

效果擴展點

着色器型

着色器型效果通過 GLSL 代碼實現。在 fragment.glsl 中必須聲明 GLSL 版本和輸出變量:

#version 300 es

out vec4 fragColor;

void main() {
    // 你的代碼
}

着色器必須自己實現 hash 隨機數,且不得聲明採樣器。

在 mod.json 中:
* colors 字段必須是 "front" 或 "array",否則效果不可用。
* fragment.glsl 中使用的 uniform 類型必須與內核契約一致。

媒體型

媒體型效果通過聲明媒體字段實現。

在 mod.json 中:
* 必須聲明 media 字段。
* media.src 只能是本效果目錄下的文件名,不得包含路徑分隔符或 ..。
* 支持的素材擴展名包括 mp4、webm、gif、webp、png、jpg。

資源佔用與注意事項

  • 幀率限制:爲了防止 GPU 佔用過高,內核對幀率進行了限制。前臺運行時上限爲 30fps,窗口失焦時降爲 15fps,標籤頁隱藏時停止渲染(0fps)。
  • 往返播放:HTML 規範不支持 video playbackRate = -1,往返播放(倒放)需腳本逐幀驅動。在往返播放模式下,loop 必須設爲 false,否則 ended 事件無法觸發。
  • 不猜測原則:內核不提供默認值,未在 mod.json 中聲明的 uniform 不會自動創建。

許可與鏈接

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

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

小夜