dsh-theme-redshift:零外部素材的 DSH Web 深空赤色主題

前言

DeepSeek Harness(DSH)Web 主界面自帶主題 token 體系,換膚通常要麼改少量變量、要麼依賴外部背景圖與字體。若你希望整頁統一成暗紅深空觀感,又不想引入第三方圖片或內嵌字體,就需要在 cordis 插件裏同時處理配色疊層、背景下發和 overlay 動畫。dsh-theme-redshift(赤色觀測站 / Redshift Observatory)走的就是這條路:114 個 --dsw-* token 全量重映射、程序化背景、撕裂層 HUD,且聲明全部內容由代碼生成。下文按能力、安裝與注意點說明;事實以倉庫 README 與 package.json 爲準。插件爲社區第三方作品,非 DSH 官方;目錄見 SkillHub 插件頁,源碼見 GitHub,維護者爲 ywxtxws,分類爲趣味換裝。

這是什麼

dsh-theme-redshift 是一套面向 DeepSeek Harness Web 的主題插件:暗紅基底、引力透鏡場景、虛空撕裂光帶、觀測站 HUD 與右上角常駐觀測窗。當前 package 版本爲 0.3.0,許可 MIT,基於 DSH 0.2.x 的 cordis 插件體系開發(engines.node >= 20)。Host 側只增加一條只讀靜態路由,客戶端通過 bundle 注入運行,不註冊額外 Service。

核心功能

配色:114 個 token 全量重映射

插件不是改幾處 accent,而是用 Theme.listTokens 返回的真實名,把 ctx.theme 暴露的 114 個 --dsw-* token 全部重映射爲赤色體系(DARK / LIGHT 兩套值),整層可撤銷。bg-base 設爲半透明以便背景場景透出。實現上使用 overrideTokens 疊層,不註冊新主題再 setTheme 搶佔用戶偏好;寫不存在的 token 名不會報錯,也不會生效。

背景:程序化深空場景

背景圖 assets/scene.jpg(2560×1440)由倉庫腳本 tools/make-scene.py 從零繪製(依賴 numpy + Pillow,無網絡、無外部素材),繪製流程包括徑向漸變、星雲層、塵埃帶、引力透鏡黑洞與吸積盤、地平線與小行星剪影、星點與暗角等。Host 在 lib/index.js 提供只讀路由 /redshift/scene.jpg 下發圖片,不塞進客戶端腳本。

撕裂層:光帶、HUD 與觀測窗

在 shell.overlay 槽位掛載 React 組件,卸載時從槽位移除,不向 document.body 追加節點。README 中列出的元素包括:4 條互質週期的虛空撕裂光帶、29 秒一輪的引力波下掃、46 顆星塵、雙密度網格、SVG feTurbulence 噪點、四角 HUD 與底部刻度、32 列豎排字符流、週期性過載效果,以及右上角 112×150 的純 CSS 觀測窗與右下角狀態呼吸燈(用於確認插件是否在跑)。

品牌文案

側欄徽記與名稱、hero 區標題會重映射爲「觀測中樞 / OBSERVATORY CORE」。多語言字符串在 locale/zh.json(「赤色觀測站」)與 locale/en.json(”Redshift Observatory”)。

安裝與啓用

插件以當前 DSH 進程權限運行,安裝前應自行審閱源碼與 MIT 許可證。以下命令均來自倉庫 README。

打包安裝

在插件目錄執行打包,再交給 web profile 安裝:

npm pack
dsh plugin --profile web add ./dsh-theme-redshift-0.3.0.tgz

將插件目錄放到本機絕對路徑後:

dsh plugin --profile web add link:/絕對路徑/dsh-theme-redshift

README 亦給出「clone 倉庫再 link」的寫法;若你已有源碼目錄,只需 link 路徑即可。

手動放進 profile

  1. 將整個目錄複製到 ~/.dsh/profiles/web/node_modules/dsh-theme-redshift/
  2. 在該 profile 的 package.json 中增加依賴與 bundle 條目,例如:
{
  "dependencies": { "dsh-theme-redshift": "link:/絕對路徑/dsh-theme-redshift" },
  "dsh": { "profile": { "bundles": [ "...", "dsh-theme-redshift" ] } }
}
  1. 重啓 DSH,再刷新頁面。

說明:client.js 會打進 client bundle 並緩存在 Host 內存;改客戶端邏輯後必須重啓 DSH,僅刷新頁面不夠。背景圖路由帶 no-cache,改圖後刷新即可。

典型用法與配置

配色、光帶週期、HUD 文案等可直接修改 lib/client.js 頂部的常量。需要重新生成背景時,在倉庫內運行 tools/make-scene.py(仍爲零外部素材流程),再按上述重啓/刷新規則生效。

主要文件分工:

lib/index.js       Host:/redshift/scene.jpg 只讀路由
lib/client.js      瀏覽器:配色 + 背景 + 撕裂層 + HUD + 觀測窗
assets/scene.jpg   背景場景(程序化生成)
cordis.patch.yml   bundle 補丁

適用場景與注意

適合在 DSH 0.2.x Web 端長期開界面、希望統一深空赤色視覺且不接受第三方圖片/字體依賴的場景。插件只做 client 半側與一個靜態路由,衝突面 README 描述爲較小,但會覆蓋 DSH 的 114 個主題 token——若同時安裝其他主題類插件,後加載的會覆蓋先加載的 token 疊層。

已知限制:觀測窗固定在右上角(right: 22px; top: 20px),窄屏可能與其他懸浮元素重疊。字體使用系統默認等寬/無襯線,不內嵌字體文件。

結尾

dsh-theme-redshift 把主題 token、程序化背景與 overlay 動畫收進一個零外部素材的 bundle,適合作爲 DSH Web 的趣味換裝選項自行試用。目錄與說明:SkillHub — ywxtxws/dsh-theme-redshift;源碼與截圖:github.com/ywxtxws/dsh-theme-redshift。

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

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

小夜