dsh-cerrda-theme:DSH Web GUI 的 cerrda 暗色主題

前言

DeepSeek Harness (DSH) 採用“一切皆插件”的架構理念,允許用戶通過插件擴展功能。在 Web GUI 的使用場景中,開發者常需要定製視覺風格。dsh-cerrda-theme 是一個部署級靜態 web 插件,它爲 DSH Web GUI 提供了一套基於 cerrda 風格的暗色主題方案,解決了原生界面定製化的需求。

核心功能

該插件包含以下視覺與技術特性:

  • 配色體系:採用 rose/purple oklch 配色體系。
  • 視覺組件:包含 Liquid Glass 風格的輸入欄與 hero 面板,以及 SVG 位移濾鏡實現的回到底部按鈕。
  • 動態背景:集成 Silk WebGL2 動態背景,並包含 CardSpotlight、Ripple、ShimmerBorder 等交互效果。
  • 字體與樣式:使用 Sora / Fraunces / JetBrains Mono 字體,以及 CSS 液態玻璃效果(應用於側邊欄、詳情列、會話頭部、工具卡片等)。

安裝與啓用

安裝該插件需要 pnpm 已在系統 PATH 上。安裝後,需重啓 DSH 進程才能使配置生效。

安裝命令:

dsh plugin --profile web add dsh-cerrda-theme

驗證安裝:

dsh --profile web --dump-config | grep dsh-cerrda-theme

在瀏覽器開發者工具的網絡面板中,應能觀察到 /plugins/dsh-cerrda-theme/client.js 的請求。

卸載:

dsh plugin --profile web remove dsh-cerrda-theme

重啓進程後,界面將恢復默認外觀。

本地開發

如果需要在本地修改主題源碼,需遵循以下工作流:

  1. 修改源碼:所有樣式與邏輯的改動位於 src/ 目錄下的 cerrda-theme-client.js。
  2. 構建:在倉庫根目錄執行構建命令。該命令會先運行 scripts/vendor-number-flow.mjs 將 vendor 資源內聯,再運行 scripts/build.mjs 生成 lib/client.js。
  3. 生效:
    • 若僅修改 CSS/JS 內容,可在 DSH 啓動後硬刷新瀏覽器頁面(Ctrl+Shift+R)。
    • 若修改了 package.json 或 cordis.patch.yml,必須重啓 DSH 進程。

本地未發佈版本(倉庫根目錄即爲包)的安裝命令:

dsh plugin --profile web add .

工作原理

該插件作爲一個 bundle 包,與 @deepseek-ai/dsh-base 等底層包機制一致:

  • Bundle Patch:dsh.bundle.patch 指向 ./cordis.patch.yml,安裝後會將本包追加進 dsh.profile.bundles 層棧,在啓動時參與組合。
  • Client 注入:dsh.client 聲明瀏覽器 half,dsh-client-modules 會將其收錄進 window.__DSH_BOOT__,並在服務 /plugins/dsh-cerrda-theme/client.js。
  • 宿主與導出:main 字段指向空宿主 half,exports["./client"] 導出瀏覽器 bundle,通過 window.__ModuleLoader__.load 註冊,並手動注入 CSS 樣式。

注意事項

  • 進程重啓:Web profile 的熱更新(HMR)已禁用,bundle 層變更僅在進程啓動時應用,因此安裝或修改配置後必須重啓 DSH。
  • 依賴要求:確保 pnpm 已正確安裝並在系統路徑中。
  • 源碼審查:安裝任何社區插件前,建議檢查源碼與許可證(本項目爲 MIT 協議)。

生態位置

該插件由用戶 Cerrda 維護,可在社區目錄 dsh-cerrda-theme 查看,源碼位於 GitHub。

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

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

小夜