前言¶
在 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 插件一样,应确认你信任维护者与代码行为。
典型用法¶
左侧栏¶
- 鼠标移到「工作区」某一行,点行尾眼睛按钮隐藏。
- 点标题栏右侧眼睛与数字,打开管理弹层。
- 对某行点
×恢复单个,或「全部恢复」;Esc 或点外面关闭。
单列表或搜索视图下没有工作区行可操作,但 header 计数仍可打开管理;切回「按工作区」或「按工作区树」可见隐藏效果。
右侧栏¶
- 打开右侧栏,在 guide 页点「工作区文件」。
- 悬停一行点眼睛隐藏;目录会连带子树一起隐藏。
- 用标题栏眼睛计数管理已隐藏项;勾选按钮进入多选,底部「隐藏所选」批量隐藏。
适用场景与注意¶
适合谁:长期多工作区并行、单仓库目录极深、希望左侧和文件树「少而精」但不改变模型能访问的范围的 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