前言¶
DeepSeek Harness(DSH)的 Web 端支持通過插件擴展界面與能力。裝多個插件後,常見問題是:官方界面仍有未完成或自相矛盾的細節,第三方設置頁標題、間距、圖標各寫各的,better-sidebar、widgets 等插件之間還會出現樣式衝突。逐個改插件源碼成本高,也不利於卸載回退。
下面介紹 Physicolor 維護的客戶端插件 dsh-ui-harmonizer(npm 包名 dsh-ui-harmonizer)。它不改會話日誌、不增加模型工具,只在瀏覽器側通過官方 slot 與 --dsw-* 語義令牌做 CSS 覆蓋和運行時 DOM 協調,把界面拉回官方設計語言,並可一鍵卸載、不留殘留。
這是什麼¶
dsh-ui-harmonizer 是 純客戶端 DSH bundle 插件。宿主(node)側爲 no-op,所有改動發生在瀏覽器半側。它通過 settings.section、settings.general.item、shell.overlay 等官方 slot 注入樣式與邏輯,不修改插件源碼。
- 維護者:Physicolor
- 分類:客戶端(
dsh.client.platform: web) - 許可證:MIT
- 當前版本:v0.8.0
- 兼容:DeepSeek Harness
0.1.0-rc.6及後續兼容的0.1.x
核心功能¶
官方 UI 規範化¶
針對官方界面中不一致或未完成的區域,插件做了統一處理:
| 能力 | 說明 |
|---|---|
| 單行頁頭 | 將對話 / 軌跡選擇器併入標題行,頁頭收攏爲單行 |
| 按鈕膠囊族 | 會話日誌、widgets、開關按鈕統一爲 32px 膠囊樣式 |
| 右側欄貼邊圓角矩形 | better-sidebar 面板 overlay 佈局協調,頁頭保持固定 |
| 統一設置頁頭 | 標題 18/600、描述 13px、細線分隔 |
| 原生 title 工具提示 | 僅帶 HTML title 的元素改爲官方深色 Tooltip 氣泡,而非系統原生彈窗 |
插件視覺協調¶
對已知的第三方插件做針對性樣式對齊:
| 目標 | 做法 |
|---|---|
dsh-better-sidebar |
開關按鈕膠囊化、面板背景統一、佈局與過渡協調 |
dsh-widgets |
統計膠囊族對齊、頁頭工具區對齊 |
| 第三方設置頁 | 自動補全標題、去掉冗餘圖標、統一間距 |
已知協調對象還包括 dsh-notification、dshmarket。插件通過官方 slot 順序共存,卸載或禁用後頁面恢復默認,無殘留。
設置頁自動規範化¶
當第三方插件向 settings.section 註冊的頁面不符合官方規範時,插件會自動修正:
| 檢查項 | 修正 |
|---|---|
| 缺少頁面標題 | 從導航標籤或已知映射注入 18/600 標題 |
| 標題旁冗餘圖標 | 移除標題行 logo,保留純文本 |
| 標題與描述間距過緊 | 統一爲 4px 間距 + 細線分隔 |
| 字號不一致 | 標題 18/600,描述 13/20,加 border-bottom |
UI 自定義¶
在 設置 → 通用 下會出現「UI Customization」區塊,支持即時調整:
- 對話區寬度
- Markdown 字號
- 工作區縮放
- UI 字體棧
- 圓角卡片(rounded card):對話區以圓角左上 + 陰影呈現爲卡片,隨側欄寬度與詳情列自動伸縮
v0.8.0 起,圓角卡片模式會包裹會話頁頭;better-sidebar 開關簇在面板關閉時有不透明底座,打開時收攏爲緊湊浮動芯片。
架構要點¶
- 零模型成本:不調用模型,不改會話數據。
- 官方設計令牌:樣式基於
--dsw-*,自動跟隨淺色 / 深色主題。 - 雙通道注入:CSS Modules 靜態規則 + 動態
<style data-plugin>標籤。 - 可逆清理:fiber-effect disposer 管理副作用,卸載即恢復。
安裝與啓用¶
通過 DSH 插件市場(npm)安裝:
dsh plugin --profile web add dsh-ui-harmonizer
安裝後需在瀏覽器中 硬刷新(Ctrl+Shift+R)。刷新後,在 設置 → 通用 中應能看到「UI Customization」區塊。
本地開發可用 link 方式掛載(README 示例路徑爲開發者本機目錄,按需替換):
dsh plugin --profile web add link:D:/dsh-home/plugins/harness-ui-enhancer
典型用法¶
安裝並硬刷新後,無需額外命令。界面規範化與插件協調在後臺自動生效。
若需調整視覺參數,打開 設置 → 通用 → UI Customization,按需修改對話寬度、Markdown 字號、工作區縮放、字體棧或圓角卡片開關,改動即時生效。
若某子樹需要退出原生 title 的 Tooltip 統一(v0.8.0),可在祖先元素上設置 data-enhc-no-tooltip,該子樹恢復使用原始 title 行爲。
適用場景與注意¶
適合誰
- 同時安裝多個 DSH Web 插件,界面風格雜亂、設置頁排版不統一
- 希望在不改插件源碼的前提下,把 Web UI 對齊官方
--dsw-*設計語言 - 需要可調對話區寬度、字號、圓角卡片等個性化選項,且要求卸載可回退
注意事項
- 插件以當前 DSH 進程權限運行,安裝前建議閱讀 GitHub 倉庫 源碼並確認 MIT 許可證。
- 僅適用於 Web profile(
--profile web),不提供宿主側能力。 - 路線圖顯示官方 UI 規範化、插件兼容協調、統一視覺風格(含圓角卡片、Tooltip 統一等)仍在持續迭代;Liquid Glass 等材質層爲可選實驗方向,尚未作爲默認能力發佈。
- SkillHub 目錄頁與 GitHub 由社區維護,與 DeepSeek / 幻方無官方從屬關係;安裝命令以 README 與目錄頁爲準,勿憑包名自行拼接
github:owner/repo形式。
結尾¶
dsh-ui-harmonizer 把「多插件並存時的 UI 摩擦」收斂到一層可卸載的客戶端拋光層:規範化官方未完成細節、協調 better-sidebar / widgets 等已知插件、自動修正設置頁排版,並在設置中提供可即時調整的寬度、字號與圓角卡片。若你正在堆疊 DSH Web 插件,可以先裝這一個,再硬刷新看效果。