dsh-ui-optimize:爲 DSH 整套界面提供獨立開關的主題與側欄優化

前言

DeepSeek Harness(DSH)的界面會隨宿主版本迭代;多數插件只改某塊屏幕或某段邏輯,很少從「整套殼層」上統一調色、收納側欄或補上桌面端常用操作。若你希望在不改佈局結構的前提下換一套配色、把左側一長串面板收成一個入口,或在桌面客戶端側欄底部直接刷新界面或重啓應用,@moonsand/dsh-ui-optimize 把這類能力做成彼此獨立的開關,在 Settings → UI Optimize 裏逐項打開。下面介紹它做什麼、如何安裝與使用,以及和同類插件並存時的注意點。

這是什麼

@moonsand/dsh-ui-optimize 由維護者 MoonSand 發佈,npm 包名爲 @moonsand/dsh-ui-optimize(當前資料中的版本爲 0.9.31,許可證 MIT)。定位是:一組開關,用於調節 DSH 整體觀感與行爲——每個開關單獨生效,並隨宿主能力增長繼續增加。社區目錄歸類爲「趣味換裝」;GitHub 倉庫:https://github.com/MoonSand/dsh-ui-optimize。

配色只通過 ctx.theme.overrideTokens 寫入一層主題變量,不注入結構性 CSS,也不讀取其他插件的 DOM;上游改版最壞情況是顏色不生效,而不會把佈局弄亂。

核心功能

主題畫廊

內置八套極簡主題:Celadon、Linen、Cream、Graphite、Indigo、Slate、Sage、Rose。點選卡片即可爲整套界面換色;選 Default 恢復默認外觀。每套主題同時爲淺色與深色各定義一套色板,與 Appearance 切換聯動,無需再單獨選「淺色版 / 深色版」主題。

主題選擇保存在瀏覽器 localStorage 中,清除站點數據或瀏覽器配置文件後會丟失。

側欄面板收納

打開對應開關後,左側欄多行面板入口會收成單行 Panels;點擊後打開雙列啓動器,展示面板圖標、標題與數量;面板超過七個時出現搜索框。支持鍵盤:↑ / ↓ 移動,Enter 打開,Esc 關閉。實現上調用宿主自帶的 panel 選擇 API,而非模擬點擊;摺疊行在掛載後與每次 resize 會做測量,若無法測量則開關自行關閉並恢復原生側欄。

More 行保持原生單行顯示(摺疊 More 的嘗試因宿主溢出菜單需可信點擊等原因未採用)。啓動器中的面板順序與宿主一致,不提供排序、置頂或重排。後續註冊的面板(含其他插件註冊的)在下次打開啓動器時會被納入列表。

側欄底部的 Reload / Restart(僅桌面應用)

兩個開關控制側欄底部的按鈕行爲:

  • Reload UI:僅重載頁面與客戶端插件,Host 與運行中的任務繼續。僅桌面應用可用;瀏覽器殼(如 fnOS)自帶刷新入口,該開關在此環境下保持關閉且無法打開。
  • Restart app:重啓整個應用(含 Host),會中斷當前對話。僅桌面應用可用;瀏覽器會話無法重啓底層進程。

在瀏覽器中上述兩個開關均不可用,側欄底部也不會渲染這兩顆按鈕。

安裝與啓用

資料中的安裝方式爲:在 DSH GUI 插件管理器中安裝 @moonsand/dsh-ui-optimize。依賴要求:

engines.dsh >= 0.2.1-rc.3

插件在當前 DSH 進程權限下運行;安裝前請自行查看倉庫源碼與 MIT 許可證。社區插件目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,並非官方應用商店。

典型用法

  1. 在 GUI 插件管理器中安裝 @moonsand/dsh-ui-optimize,確認宿主版本滿足 >= 0.2.1-rc.3。
  2. 打開 Settings → UI Optimize。
  3. 在 Themes 區域選擇一套主題,或選 Default 還原;按需切換 Appearance 驗證深淺色是否一致跟隨。
  4. 若側欄面板較多,打開側欄收納開關,通過 Panels 啓動器切換面板。
  5. 若使用 DSH 桌面客戶端,可按需打開 Reload UI 或 Restart app(知曉重啓會中斷對話)。

適用場景與注意

適合長期使用 DSH、希望統一換膚或精簡左側欄的開發者;桌面端用戶若需要不退出宿主即可刷新界面或整應用重啓,可使用底部按鈕相關開關。

務必注意:

  • 側欄收納與社區插件 dsh-sidebar-shelf 會改寫同一條側欄軌道,兩者只啓用其一。
  • Reload / Restart 爲桌面應用專屬;瀏覽器環境開關禁用。
  • Restart 屬於進程級操作,無法被自動化測試完整驗證。

維護者在倉庫中提供組裝契約層面的冒煙測試(不校驗配色觀感或啓動器是否可打開):

node scripts/smoke.mjs

結尾

@moonsand/dsh-ui-optimize 把主題、側欄收納與桌面端刷新/重啓收成獨立開關,面向的是整套 DSH 界面而非單屏補丁。目錄頁:https://www.skillhub.cn/plugins/MoonSand/dsh-ui-optimize;源碼與說明:https://github.com/MoonSand/dsh-ui-optimize。

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

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

小夜