dsh-dream-skin:DSH Web 原生 token 換膚與主題包

前言

DeepSeek Harness(DSH)的 Web 界面默認外觀夠用,但長時間對着同一套配色工作時,很多人會想換一套更順眼、更剋制的界面。社區裏也有換膚方案,有的走 CSS 注入,有的偏題材貼圖;而 DSH 本身是一套 --dsw-* 設計令牌驅動的 Web GUI,官方插件體系也開放了 ctx.theme 等擴展點。

下面介紹 dsh-dream-skin:由 RevolutionLA 維護的 DSH 標準雙面插件(dsh-plugin),通過原生 token 註冊實現換膚、壁紙和主題包,不注入、不改安裝包。它在 SkillHub 社區目錄歸類爲「趣味換裝」,GitHub 倉庫約 90 stars、8 forks。

這是什麼

dsh-dream-skin 是發佈在 npm 上的換膚插件,當前版本 0.4.14,MIT 許可證。它把「換膚」做成與官方 ui-theme 同構的 npm 包:Host 半邊通過 cordis.patch.yml 插入 loader 入口,瀏覽器半邊在 lib/client.js 裏註冊主題、疊加壁紙層,並把設置 UI 掛到 設置 → 外觀(Theme) 分節。

插件不是 DeepSeek / 幻方官方產品;SkillHub(https://www.skillhub.cn/plugins/RevolutionLA/dsh-dream-skin)是社區獨立目錄,與官方無從屬關係。

核心功能

8 套 Mirage 預設皮膚

內置 Mirage 幻夢繫列 8 套皮膚,淺色與深色兼顧,每套自帶專屬彌散光背景。預設 id 如下:

id 風格
abyss 沉靜藍
aurora 極光青
nebula 星雲紫
ember 餘燼橙
midnight 午夜黑
ivory iOS 扁平
mist 液態玻璃
rose Material 粉

在設置裏一鍵切換即可應用;卡片、輸入框、消息氣泡保持內層不透明,可讀性優先。

壁紙 2.0

在預設皮膚之上,可疊加自定義壁紙:

  • 本地圖片(上傳後自動壓縮至 ≤2MB)
  • 圖片 URL
  • 漸變預設

支持調節透明度與模糊;每套皮膚會建議一張漸變,聚焦任務時可自動弱化背景干擾。

每用戶強調色(Accent)

通過 ctx.theme.overrideTokens 疊加層,在不改動皮膚本身的前提下疊加強調色。設置裏提供 12 個典型色塊、選色盤、隨機與恢復主題色;這一層可隨時關閉,一鍵還原。

主題包導入、導出與分享

一個 *.dsh-theme.json 文件包含 manifest 與全套 tokens。可導入本地文件、一鍵應用,或複製分享鏈接(編碼進 URL hash)。導入時校驗格式、必填 token 與顏色合法性;失敗或移除時安全回退。

本地主題包庫與快捷操作

導入的主題包集中在設置裏管理,支持應用、收藏、移除。「換一個試試」(surprise me)會隨機切換到與當前不同的主題。彈窗不透明度可通過滑塊調節並持久化保存。

持久化與還原

皮膚與壁紙保存在瀏覽器 localStorage(鍵前綴 dsh-dream-skin:),刷新或重開瀏覽器不丟失,但只在當前瀏覽器生效。可隨時一鍵回到 DSH 內置外觀。

安裝與啓用

推薦從 npm 安裝正式包,裝完後需重啓 DSH Web 才生效。

dsh plugin --profile web add dsh-dream-skin
dsh web

dsh plugin add 報 workspace 相關錯誤 ERR_PNPM_ADDING_TO_ROOT,在命令中補 -w 標誌即可。

驗證是否加載成功:

dsh --profile web --dump-config | grep -A2 dream-skin

輸出中應出現 dream-skin loader 條目。打開 設置 → 外觀(Theme),可見「皮膚」「強調色」「壁紙 / 高級壁紙」「主題包」等行。

其他安裝方式(README 中有完整說明):

  • 從 GitHub 固定到指定 commit:dsh plugin --profile web add 'github:RevolutionLA/dsh-dream-skin#<40位commit>'
  • 從 Release tarball:dsh plugin --profile web add ./dsh-dream-skin-<版本>.tgz
  • 本地開發:克隆倉庫後在目錄內執行 dsh plugin --profile web add .

更新與卸載:

dsh plugin --profile web update dsh-dream-skin   # 更新
dsh plugin --profile web remove dsh-dream-skin   # 卸載
dsh web                                          # 重啓生效

典型用法

經過上面的安裝步驟後,日常操作都在 Web 設置界面完成,無需再敲命令。

快速換一套預設皮膚

  1. 打開 設置 → 外觀(Theme)
  2. 在「皮膚」行挑選一套 Mirage 預設(如 mist 液態玻璃)
  3. 界面即時切換;選擇會寫入 localStorage

疊加強調色與壁紙

  1. 在同一分節的「強調色」行選色或點隨機
  2. 在「壁紙 / 高級壁紙」行上傳本地圖、填 URL 或選漸變預設
  3. 調節透明度、模糊;需要專注時可開啓自動弱化

導入或分享主題包

  1. 在「主題包」行導入 *.dsh-theme.json 文件
  2. 導入後可在本地主題包庫中應用、收藏或移除
  3. 導出或複製分享鏈接,把同一套 token 配置發給他人

還原默認外觀

在設置裏選擇回到 DSH 內置外觀,或卸載插件後重啓:

dsh plugin --profile web remove dsh-dream-skin && dsh web

若要自己製作主題包,倉庫提供示例文件 docs/examples/sample-theme-pack.json,token 契約見 docs/themes-spec.md

適用場景與注意

適合誰

  • 日常用 DSH Web GUI 做 Agent 開發或對話,希望界面更剋制、耐看
  • 需要在同一 DSH 實例上快速切換多套配色,或導入他人分享的主題包
  • 偏好原生 token 方案,不想依賴 CSS 注入或修改客戶端二進制

技術與兼容性

要求
DeepSeek Harness (dsh) 0.1.0-rc.6(peerDependencies 對齊 ^0.1.0-rc.6
Node.js >=18
瀏覽器 現代 Chromium / WebKit(依賴 CSS 變量與 matchMedia

安全與權限

插件以當前 DSH 進程的權限運行,屬於標準 dsh-plugin 雙面插件,會加載 Host 與瀏覽器兩側代碼。安裝前建議閱讀倉庫源碼與 MIT 許可證,確認符合你的環境策略。插件只讀寫瀏覽器 localStorage,不通過 Host settings 暴露遠程命名空間。

與桌面端 Codex-Dream-Skin 不同:後者通過 CDP 向渲染進程注入 CSS;本插件走 DSH 官方 ctx.theme.register / overrideTokens 路徑,不因客戶端二進制更新而失效,但僅適用於 Web GUI,不覆蓋桌面 App。

結尾

dsh-dream-skin 把 DSH 換膚落在官方 token 生態內:8 套 Mirage 預設開箱可用,壁紙、強調色、主題包分享疊在其上,隨開隨關、可一鍵還原。若你正在給 DSH Web 找一套剋制、清透的外觀方案,可以從一條安裝命令開始試。

  • SkillHub 目錄頁:https://www.skillhub.cn/plugins/RevolutionLA/dsh-dream-skin
  • GitHub 倉庫:https://github.com/RevolutionLA/dsh-dream-skin
羽毛球分组比赛记分
小程序二维码

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

小夜