dsh-client-ui-skin-saber:DSH 晝夜雙壁紙 UI 皮膚

前言

DeepSeek Harness(DSH)的界面默認以功能性配色爲主。若希望在長會話裏保留壁紙里人物的辨識度,同時又讓正文、側欄和彈窗讀得清楚,單純把整窗鋪一層半透明底色往往會出現兩個副作用:人物被整塊矇住,或文字仍壓在圖上發虛。dsh-client-ui-skin-saber 是維護者 IanGely 發佈的客戶端 UI 皮膚插件,在 SkillHub 分類爲「趣味換裝」;它用分層薄紗、磨砂和語義 token 覆蓋,實現亮/暗兩套壁紙並跟隨 DSH 外觀設置,無需前端構建步驟。

這是什麼

dsh-client-ui-skin-saber(npm 包名 dsh-client-ui-skin-saber,當前資料中版本爲 0.1.0,MIT 許可證)面向 DSH Web 端與桌面端。亮色主題使用白天插畫壁紙,暗色使用夜景插畫;外觀爲「亮色 / 暗色 / 跟隨系統」時,皮膚隨 body[data-ds-dark-theme] 自動切換。

實現上不是把圖片 base64 塞進 bundle,而是宿主註冊 /skin-saber/* 靜態路由、客戶端在窗口內掛 theme.css,必要時再給 HTTP 場景的 index 注入同一張樣式錶鏈接,因此客戶端 bundle 體積很小,換圖只需替換 assets/ 下 PNG。

核心功能

下面按界面區域說明已文檔化的行爲(均來自項目 README)。

晝夜壁紙與跟隨外觀 — assets/light.png、assets/dark.png 作爲全屏背景畫在 body 上,薄紗透明度在亮/暗兩套取值中區分,人物區域儘量保持清晰。

長會話閱讀區 — 正文落在左側約 820px 寬的閱讀底板上(底色約 55% 不透明度),列左對齊,右側留白給壁紙人物;輸入卡片寬度與閱讀列對齊。

插件頁等非會話整頁 — 無會話閱讀列的整頁內容鋪薄紗,避免文字直接壓在壁紙上。

側欄與右欄 — 左側欄鋪單層半透明並帶磨砂;右側欄默認保持透視,僅在啓動卡等區域提高不透明度以便閱讀。

設置彈窗與其它面板 — 對話框讀 --dsw-alias-bg-layer-2 等 token,本皮膚提高不透明度並對 [role="dialog"] 加磨砂,減輕壁紙透底導致的疊字。

與第三方佈局共存 — 對 dsh-better-sidebar 等帶 *_editor 後綴的編輯器、以及文件/代碼/文檔預覽面板,在打開時使用近實色底,文件樹/終端等未打開預覽時仍可透視。

改樣式無需重啓 DSH — 修改 assets/theme.css 或替換壁紙後,重開窗口或刷新頁面即可;插件表變更才需要重啓 Harness。

安裝與啓用

資料中的示例針對 macOS 桌面 profile,且使用本機插件目錄路徑,而非 github:owner/repo 形式的遠程一鍵安裝。先把倉庫放到可寫路徑(例如本機 .../dsh-client-ui-skin-saber),再執行 plugin add。

若系統 PATH 中沒有 dsh,可使用應用內置 CLI(README 原文):

"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
  plugin --profile desktop add /Users/angl/Documents/dsh/dsh-client-ui-skin-saber

已安裝 dsh 命令時,等價寫法爲:

dsh plugin --profile desktop add /Users/angl/Documents/dsh/dsh-client-ui-skin-saber

將路徑換成你本機存放插件的根目錄。寫入目標爲 ~/.dsh/profiles/desktop,需對該目錄有寫權限。

安裝後重啓 DeepSeek Harness,插件表變更在重啓後生效。可用下面命令確認條目是否寫入 profile:

grep -n "dsh-client-ui-skin-saber" ~/.dsh/profiles/desktop/package.json ~/.dsh/profiles/desktop/cordis.patch.yml

卸載(同樣需重啓):

"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" \
  plugin --profile desktop remove dsh-client-ui-skin-saber

典型用法與迭代

日常使用

  1. 在 DSH 外觀設置中選擇亮色、暗色或跟隨系統。
  2. 打開長會話或插件頁,確認閱讀列、側欄與壁紙的層次是否符合預期。
  3. 若使用 dsh-better-sidebar 等擴展,在打開編輯器或右欄預覽時檢查近實色底是否生效。

自定義壁紙與配色

改動目標 操作 是否重啓 DSH
assets/theme.css(配色、薄紗、磨砂、壁紙位置) 保存後重開窗口或刷新頁面 否
assets/light.png / assets/dark.png 替換文件後刷新;必要時硬刷新以繞過圖片緩存 否
安裝/卸載插件、改 cordis 補丁 按安裝流程執行並重啓 Harness 是

行寬與閱讀區可通過 theme.css 中的 --dsh-chat-user-width(默認 820px)、--skin-read-width 等變量調整,具體選擇器與分層表見倉庫 README 第 3 節。

目錄結構(便於排錯)

dsh-client-ui-skin-saber/
├── package.json
├── cordis.patch.yml          # 插件 id:ui-skin-saber
├── lib/index.js                # 宿主:/skin-saber 路由 + HTTP index 注入
├── lib/client.js               # 客戶端:掛 theme.css
├── assets/
│   ├── light.png
│   ├── dark.png
│   └── theme.css               # 皮膚主體
└── test/self-check.mjs

包內提供無依賴自檢腳本 test/self-check.mjs,用於覈對 bundle、路由與 index 注入等行爲。

適用場景與注意

適合誰 — 經常在 DSH 桌面端或瀏覽器直連 dsh web 里長時間對話、又希望界面有明確壁紙主題的開發者;願意通過編輯 theme.css 微調透明度與行寬的用戶。

運行環境與權限 — 插件以當前 DSH 進程權限運行,會向 profile 寫入補丁並對外提供本地靜態路由。安裝前應閱讀 lib/index.js、lib/client.js 與 assets/theme.css,並確認 MIT 許可證是否符合你的環境要求。

桌面端與 Web 端差異 — 桌面 Electron 窗口的 index.html 不經過 tapIndex,因此必須依賴客戶端 bundle 注入樣式;僅裝宿主半在桌面端不會生效。README 中對照了 dsh-app:// 轉發與社區其它主題插件的注入方式。

版本與 token — 資料註明皮膚覆蓋的是 ui-theme 在 0.1.0-rc.5 與 0.2.0-rc.2 間共存的 token;升級 DSH 後若佈局 token 更名,可能需要對照上游調整 theme.css。

生態說明 — DSH 奉行「一切皆插件」;SkillHub 目錄頁由社區維護,與 DeepSeek / 幻方無官方從屬關係。本插件 GitHub 星標數爲 0(以目錄線索爲準),不代表功能完整度,但以 README 與源碼爲準覈對行爲即可。

結尾

dsh-client-ui-skin-saber 把「壁紙 + 分層半透明 + 磨砂」收成一份可熱更新的 theme.css,並用宿主/客戶端雙半注入適配 Web 與桌面兩種取頁方式。若你要在 Harness 裏做晝夜雙壁紙且控制閱讀區與人物留白,可按上文路徑安裝到 desktop profile,再從 assets/theme.css 迭代視覺。

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

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

小夜