dsh-workspace-colors:DSH Web 工作區專屬着色與背景增強

DSH 的設計理念是「一切皆插件」。在使用 DSH Web 進行開發時,默認界面較爲素淨,缺乏區分度,開發者難以快速通過視覺識別不同的工作區。dsh-workspace-colors 插件通過給側邊欄工作區分配專屬顏色、疊加頁面背景色調,以及提供內存監控面板,解決了這一痛點,提升了界面的可讀性與開發體驗。

核心功能

這是一個零依賴的 DSH Web 外觀增強插件,主要包含以下三個能力:

  1. 側邊欄工作區專屬顏色:爲側邊欄的每個工作區分配固定顏色,包括文件夾圖標着色、標題行左側色條及分組背景,適配深淺主題。
  2. 頁面背景 tint:利用官方 ctx.theme.overrideTokens() token 覆蓋層,給整個界面疊加一層色調。支持明/暗主題,提供 6 個預設色(豆沙綠、暖米、天青、淡紫、櫻粉、墨藍)。
  3. 內存回收面板:宿主半註冊只讀接口,用於上報 DSH 後端進程的 RSS/CPU 佔用,以及 Chrome renderer 渲染進程的內存佔用合計。同時支持通過配置文件開關 auto-reclaim.sh 守護進程。

安裝與啓用

使用官方安裝命令添加插件:

dsh plugin --profile web add github:MirrMeur/dsh-workspace-colors

安裝完成後,必須重啓 dsh web 進程才能生效(瀏覽器刷新無法觸發)。

使用配置

打開 設置 → 外觀增強,可以配置以下選項:

  • 頁面背景:開啓開關,選擇預設色,並拖動強度滑桿(默認 45%)。配置保存在瀏覽器 localStorage 中。
  • 工作區顏色:開啓開關,點擊「重新分配」按鈕讓系統按順序爲工作區分配顏色。
  • 內存回收:查看狀態面板,並開啓守護進程開關。

顏色規則與手動配置

插件基於 OKLCH 感知均勻色彩空間 構建。每個工作區顏色由一組固定的明度與彩度構成,只改變色相,確保所有工作區顏色質感一致。色相庫包含 10 個預設(紅、橙、金、綠、青、天、藍、紫、品紅、玫),按工作區首次出現的順序自動分配。如果啓用背景 tint 且工作區顏色與背景色相差異 ≤45°,系統會自動改派顏色以避免衝突。

如需手動指定工作區顏色,可修改 localStorage 中的配置:

const m = JSON.parse(localStorage.getItem('dsh-workspace-colors.map'));
m['日常工作'] = 215;          // 0-360 任意色相
localStorage.setItem('dsh-workspace-colors.map', JSON.stringify(m));

技術細節

插件宿主半依賴 webServer 注入,客戶端半使用 slots/locale/theme 服務,不依賴 dsh-client-runtime。

關於內存回收接口的 POST restart 操作:該功能僅在 DSH 後端由 launchd 託管(ppid === 1)時有效。手工啓動的後端進程殺掉後不會自動重啓,此時接口會返回 409 not-launchd-managed 錯誤。

卸載

如需移除插件:

dsh plugin --profile web remove dsh-workspace-colors
羽毛球分组比赛记分
小程序二维码

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

小夜