隱几(dsh-yinji):在 DSH 裏選擇性隱藏工作區與文件樹

前言

在 DSH Desktop 裏同時掛着多個工作區、大倉庫文件樹很長時,左側列表和右側「文件」標籤頁會佔滿視線,但多數條目只是「暫時不想看」,並不等於要從 DSH 裏刪掉工作區或從磁盤上刪文件。DSH 自帶的工作區刪除會改變註冊關係;模型側的 read、glob、grep 和 @ 引用仍會把整個樹當作可用資源。若你只想在界面上收一收、把注意力留給當前任務,需要一層只作用於 UI 的隱藏,而不是權限或隱私隔離。

下面介紹社區插件 隱几(dsh-yinji,維護者 Landau1994)。它在左側欄隱藏選定工作區(含組內會話),在右側文件樹隱藏選定目錄與文件;名單存在瀏覽器 localStorage,刷新或重開仍有效。插件分類爲客戶端,許可證 MIT,當前 package 版本 0.2.0,目標運行時 DSH 0.2.x。

這是什麼

隱几給 DSH 提供兩層「選擇性隱藏」:左側針對工作區列表,右側接管「文件」標籤頁並在原文件樹交互之上增加隱藏操作。README 明確說明:隻影響界面,不影響模型——隱藏名單僅作用於左側列表與右側文件樹;模型的讀寫與搜索、會話數據、工作區註冊、預覽與 shell 訪問均不受影響。它是視覺降噪與界面收納,不是權限控制。

名字取自《莊子·齊物論》「隱几而坐」——把几案收一收,眼前就清了。

核心功能

左側欄:隱藏工作區

鼠標移到左側「工作區」列表中某一真實工作區行上,行尾會出現「眼睛劃斜線」按鈕;點擊後該工作區連同組內會話從列表消失(對應 groupSection 整塊隱藏,未分組桶不受影響)。

「工作區」標題欄會出現眼睛加計數按鈕(如「已隱藏 N 個工作區」),點開可逐項恢復或「全部恢復」;Esc 或點擊彈層外關閉。隱藏名單按 workspace id 寫入 localStorage(key:dsh-yinji.workspaces.v1),按工作區獨立存儲,多窗口間通過 storage 事件同步。切換「按工作區 / 按工作區樹 / 單列表」、展開摺疊或搜索後,隱藏狀態仍保持。隱藏當前會話所在工作區只會收起左側對應行,主會話區不受影響。

右側欄:隱藏文件與目錄

插件通過 DSH 官方的 tab-type extension 機制,在 files kind 上以 priority: 'extension' 遮蔽內置文件樹;外觀、打開文件、目錄展開與自動刷新保持原樣,行尾增加隱藏操作。

  • 單個隱藏:懸停目錄或文件行,點行尾眼睛按鈕;隱藏目錄等於隱藏整棵子樹。
  • 多選隱藏:標題欄勾選按鈕進入選擇模式,勾選若干行後點底部「隱藏所選」。
  • 恢復:標題欄眼睛計數打開「已隱藏的項目」面板,逐項恢復或「全部恢復」;父目錄行尾有小計數,提示其下仍有隱藏項。

名單按工作區根目錄路徑存 localStorage(key:dsh-yinji.v1)。插件不寫宿主配置文件、不向服務器發送數據。

安裝與啓用

前置:DSH Desktop 0.2.x。插件爲純瀏覽器插件,無構建步驟與運行時依賴;官方提供的桌面安裝腳本爲 Windows PowerShell,其它平臺用手動步驟。

Windows 上可先克隆倉庫再執行安裝腳本(腳本會調用 dsh plugin --profile desktop add 登記本地鏈接並校驗 dsh.profile.bundles):

git clone https://github.com/Landau1994/dsh-yinji.git
cd dsh-yinji
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\install-desktop.ps1

# 裝完手動重啓 DSH Desktop

若 HTTPS 連 GitHub 不穩,README 建議改用 SSH 克隆地址 git@github.com:Landau1994/dsh-yinji.git。腳本支持 -WhatIf 預覽、-Profile <名字> 換 profile、-Dsh <dsh.cmd 路徑> 指定 CLI。

任意平臺手動安裝:

# 1) 登記本地鏈接
dsh plugin --profile desktop add /path/to/dsh-yinji

# 2) 在 profile 的 package.json → dsh.profile.bundles 里加上 "dsh-yinji"
#    (Windows 下常見路徑:%USERPROFILE%\.dsh\profiles\desktop\package.json)

# 3) 重啓 DSH Desktop

卸載可用 scripts/uninstall-desktop.ps1,或:

dsh plugin --profile desktop remove dsh-yinji

同樣需要重啓 DSH Desktop。卸載後內置文件樹自動恢復;localStorage 中的隱藏名單仍保留但不再生效。

安裝前建議閱讀倉庫源碼與 MIT 許可證;插件隨 DSH 客戶端在本地運行,與所有 DSH 插件一樣,應確認你信任維護者與代碼行爲。

典型用法

左側欄

  1. 鼠標移到「工作區」某一行,點行尾眼睛按鈕隱藏。
  2. 點標題欄右側眼睛與數字,打開管理彈層。
  3. 對某行點 × 恢復單個,或「全部恢復」;Esc 或點外面關閉。

單列表或搜索視圖下沒有工作區行可操作,但 header 計數仍可打開管理;切回「按工作區」或「按工作區樹」可見隱藏效果。

右側欄

  1. 打開右側欄,在 guide 頁點「工作區文件」。
  2. 懸停一行點眼睛隱藏;目錄會連帶子樹一起隱藏。
  3. 用標題欄眼睛計數管理已隱藏項;勾選按鈕進入多選,底部「隱藏所選」批量隱藏。

適用場景與注意

適合誰:長期多工作區並行、單倉庫目錄極深、希望左側和文件樹「少而精」但不改變模型能訪問的範圍的 DSH 用戶。

務必知曉的限制(均來自 README「已知限制」):

  • 隱藏後模型仍可通過工具讀文件;左側隱藏也不刪除工作區或會話。
  • 新會話 hero 的工作區選擇器、hover 卡片等其它界面不受影響;要全局移除工作區需用 DSH 自帶刪除。
  • 左側隱藏按鈕依賴行 hover(內置 rowActions 行爲),純鍵盤暫不能觸發隱藏;管理彈層可鍵盤操作。
  • 接管後的文件 tab 不顯示 0.2.x 內置的「在文件管理器中打開」(插件爲避免與子槽重複註冊而刻意不聲明該子槽)。
  • 同一工作區在兩個右側欄面板同時打開「文件」時,一處隱藏後另一處需刷新或重新打開才同步。
  • 上游 DSH 大版本若改動左側 DOM 錨點或右側 tab extension 契約,需要插件適配。

社區插件目錄頁:skillhub.cn/plugins/Landau1994/dsh-yinji。該站點爲社區生態索引,與 DeepSeek / 幻方無官方從屬關係;DSH 本身遵循「一切皆插件」的擴展思路。

結尾

隱几把「不想看的工作區」和「不想看的目錄/文件」收進本地名單,讓 DSH 界面更乾淨,同時不改變模型與宿主對資源的實際訪問。若你需要的是界面收納而非刪數據或攔模型,可按上文步驟在 desktop profile 安裝 0.2.0 並重啓客戶端。

  • 目錄頁:https://www.skillhub.cn/plugins/Landau1994/dsh-yinji
  • 源碼與完整說明:https://github.com/Landau1994/dsh-yinji
羽毛球分组比赛记分
小程序二维码

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

小夜