前言¶
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 設置界面完成,無需再敲命令。
快速換一套預設皮膚
- 打開 設置 → 外觀(Theme)
- 在「皮膚」行挑選一套 Mirage 預設(如
mist液態玻璃) - 界面即時切換;選擇會寫入
localStorage
疊加強調色與壁紙
- 在同一分節的「強調色」行選色或點隨機
- 在「壁紙 / 高級壁紙」行上傳本地圖、填 URL 或選漸變預設
- 調節透明度、模糊;需要專注時可開啓自動弱化
導入或分享主題包
- 在「主題包」行導入
*.dsh-theme.json文件 - 導入後可在本地主題包庫中應用、收藏或移除
- 導出或複製分享鏈接,把同一套 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