前言¶
DSH 的擴展模型允許把 Web UI 的能力拆成獨立插件安裝。dsh-appearance 用於調整 DeepSeek Harness Web 的外觀設置,包括主題、強調色、字體和背景壁紙,並把配置持久化到本機。
這是什麼¶
levi52/dsh-appearance 是一個 DSH Web 外觀設置插件,倉庫 owner 爲 levi52,許可證爲 MIT。package.json 中聲明的版本號爲 0.1.0。
該插件依賴 @deepseek-ai/schemastery ^3.18.1,peerDependencies 中聲明 react ^18.2.0。
核心功能¶
主題¶
支持淺色、深色、跟隨系統三種模式,並提供 9 個預設主題:Claude、GitHub、新粗野主義、終端、Dracula、Tokyo Night、Gruvbox、Solarized、Material。插件也支持自定義主題。
強調色¶
提供 8 個預設色和自定義取色器。強調色可以疊加在任意主題上,並自動按 WCAG 計算反色文字。
字體¶
界面字體和代碼字體可選擇默認、無襯線、襯線、等寬、自定義。插件支持系統字體選擇器,並支持字號三檔縮放。
背景壁紙¶
支持本地上傳或粘貼 URL。歷史壁紙畫廊可一鍵切換,也可刪除。透明度和模糊度均可調整。
配置管理¶
- 支持導出 / 導入整套外觀配置爲 JSON。
- 側邊欄底部提供「外觀」按鈕,可即時切換主題與強調色。
- 所有設置保存到
$DSH_HOME/settings.yaml,刷新後自動恢復。 - 修改先進入草稿,點擊「保存並應用」後生效,也可以隨時放棄更改。
安裝與啓用¶
先確認環境滿足以下條件:
- DeepSeek Harness(
dshCLI)已安裝並運行過 Web profile - Node.js ≥ 18(開發環境爲 v22)
進入插件目錄後,執行一鍵安裝:
npm run install-plugin
安裝完成後,重啓 dsh web:
dsh web
也可以手動把當前目錄添加到 web profile:
dsh plugin --profile web add <本目錄路徑>
如需指定其他 profile,可使用 --profile <name>:
dsh plugin --profile <name> add <本目錄路徑>
典型用法¶
在 dsh web 界面中打開外觀設置,調整主題、強調色、字體或背景圖片。修改會先進入草稿,確認後可以執行:
- 保存並應用
- 放棄更改
- 恢復默認
- 導出 JSON
- 導入 JSON
如果只是調整主題色、字體、壁紙設置等純客戶端內容,強制刷新瀏覽器即可看到變化;如果涉及宿主側的 schema 或路由改動,需要重啓 dsh web。
數據與卸載¶
外觀設置保存在:
$DSH_HOME/settings.yaml
其中使用 ui-appearance 段保存配置。上傳的壁紙圖片保存在:
$DSH_HOME/wallpapers/
插件說明所有數據僅存儲在本機,不上傳內容,也不採集密鑰或憑據。壁紙上傳接口只接受圖片格式,並對文件名做白名單校驗,以防路徑穿越。
執行以下命令卸載插件:
npm run uninstall-plugin
卸載會移除插件 bundle,但會保留用戶數據。如需徹底清除,請手動刪除 settings.yaml 的 ui-appearance 段和 wallpapers/ 目錄。
本地開發¶
參與源碼修改時,可以使用以下腳本:
npm run typecheck
執行類型檢查。
npm run build
構建 lib/ 產物。
npm run watch
監聽 src/ 變更並自動構建。
適用場景與注意¶
適合需要在 DSH Web 中統一調整主題、字體、壁紙,並備份或遷移外觀配置的人。由於插件會隨當前 dsh 進程權限運行,安裝前建議檢查源碼與許可證,並確認運行環境可信。