@adamcjm/dsh-enhancer

中文文档
1.2.6发布于 2026/10/23MITES Module零依赖近 30 天下载 3183

DSH工作空间侧边栏的生活质量增强:隐藏工作空间及其会话,从视图选项中披露,并打开Finder,Explorer或您文件管理器中的任何工作空间文件夹. 只显示:工作空间、会话和归档数据 ar

中文使用文档
文档目录10 节
  1. 安装
  2. 地方发展
  3. 使用量
  4. 打开工作空间文件夹
  5. 隐藏并恢复工作空间
  6. 将会话移动到回收站
  7. 如何运作
  8. 升级自 @adamcjm/dsh-workspace-visibility
  9. 兼容性
  10. 许可证

@ adamcjm/dsh- enhancer

npm version license

联合国 | 页:1

A 类 深搜索策略 添加小项的插件, 缺少工作空间菜单。 这是故意取名的 之后 区域 而不是一个功能,所以可以添加新的菜单增强功能,而不需要 再次重命名软件包 .

今天它运送四样东西:

何处条目它会做什么
工作区行-“...”菜单打开文件夹在 Finder、 Explorer 或您的文件管理器中打开工作空间目录
工作区行-“...”菜单隐藏工作空间 编号 : 打开工作空间从侧边栏隐藏工作空间和每个会话
侧边栏 – 查看选项显示隐藏的工作空间( N)重现隐藏的工作空间以便恢复
会话行-"..."菜单移动到回收站将会话文件移动到 $DSH_HOME/trash,从设置中恢复 + 插件 → 回收站

几乎只按设计显示 :

  • 没有超过用户动作要求的归档、无存档、重命名、移动或标定副作用;
  • 工作空间记录、会话日志或归档集没有更改;
  • 打开一个文件夹是只读的: 它会发射OS文件管理器, 而不是其它的 ;
  • 移动会话到垃圾桶中永远不会删除它: 文件被重新命名为 $DSH_HOME/trash/sessions/ 可恢复;
  • 唯一持久的非崩溃状态是一个小主机文件 (单位:千美元)$DSH_HOME/storages/dsh-enhancer.json) (中文(简体) ).

安装

dsh plugin --profile <profile> add @adamcjm/dsh-enhancer

或者用手绑在档案里 package.json数字 :

{
  "dependencies": {
    "@adamcjm/dsh-enhancer": "^1.0.0"
  },
  "dsh": {
    "profile": {
      "bundles": ["…", "@adamcjm/dsh-enhancer"]
    }
  }
}

重新启动主机(或让配置文件的活补丁重新装入)并刷新Web UI.

地方发展

将配置文件指向此检出而非注册 :

{
  "dependencies": {
    "@adamcjm/dsh-enhancer": "link:/absolute/path/to/dsh-enhancer"
  },
  "dsh": {
    "profile": {
      "bundles": ["…", "@adamcjm/dsh-enhancer"]
    }
  }
}

npm test 以零依赖性运行两个半导体: 浏览器半入 vm 沙盒 假DOM,主机半对临时 DSH_HOME 和节点式请求/答复 伪造的 套房从不推出真正的文件管理器.

使用量

打开工作空间文件夹

单击工作空间行上的“...”按钮并选择 打开文件夹。东道方决定 工作空间登记册和发射的目录:

平台命令
马科斯/usr/bin/open <path>
窗口explorer.exe <path>
链接xdg-open <path>

记录失败

  • 文件夹已不存在 ——注册目录已去(status() 实值 missing-dir(三);
  • 无法打开 ——发射台无法被产出,或平台得不到支持.

页面从不发送路径. 它只发送工作空间ID, 主机则查看目录 这样一行僵硬 永远不能让主机打开任意的文件夹 。 登记人数 路径是峡谷 fs.realpath ,也就是说它是 未因工作空间更名而受影响(rename 只更改显示标题).

隐藏并恢复工作空间

  1. 工作空间行 ~ "..." 菜单 ~ 隐藏工作空间 ——行和会话全部消失. 当隐藏行再次可见时, 同一条目为 打开工作空间。 。 。 .
  2. 侧边栏 – 查看选项 – 显示隐藏的工作空间( N) ——坚持开关,揭示出 每个隐藏的工作空间;标签带有当前隐藏的计数.

隐藏的ID 住在主机上 $DSH_HOME/storages/dsh-enhancer.json。浏览器不会 复制: 它获取状态一次, 然后接收 SSE 流的每个变化 (单位:千美元)/dsh-enhancer/stream),所以桌面和 dsh web (两个主机程序共享一个) $DSH_HOME保持同步而不刷新。 变相旅行作为增量,所以两个客户 隐藏不同的工作空间不能覆盖彼此.

将会话移动到回收站

会话行 ~"."菜单 ~ 移动到回收站.

  • A 类 运行 会话被拒绝: 对话框是这样说的, 只提供 Close 。 停下来 第一会期.
  • 与 儿童会议 (副代理)问道:
    • 只删除此会话 ——父母离开,子女留在原地当孤儿 (他们) parentSession 现在指向已不存在的会话);
    • 以 N 子会话删除 父母和所有子女一起生活,以及 恢复母体也会恢复它们.
  • 报告无法找到文件的会话 什么都没有触动 ——插件 未关闭而不是猜测路径 .

文件移动到 $DSH_HOME/trash/sessions/<timestamp>_<sessionId>/data/,旁边 manifest.json 记录标题、工作空间、 cwd、 原始相对路径、 大小和 由同一删除创建的子条目.

从设置恢复 ~ 插件 ~ 回收站 . 标签中列出每个被删除的会话及其 标题、工作空间、年龄、大小和孩子数。 选中您想要的条目 :

按钮范围确认
恢复( N)仅选中条目无
永久删除( N)仅选中条目是的,"无法恢复"
空的垃圾桶( N)全部垃圾, 忽略选择对,"空出一切"

恢复父母关系还恢复了与孩子一起创建的条目。 恢复会话为 当工作空间仍然存在时重新附在原工作空间内,否则由它们重新组合 w. Empty trash 只删除 $DSH_HOME/trash/sessions/* - 它从来不碰DSH自己的 sessions/ 目录.

如何运作

  • 隐藏 永远不要碰DOM。 插件包装 workspaces.list 客户端模式 (单位:千美元)getSnapshot编号 :subscribe)并投影一个被过滤的快照,所以侧边栏,它的搜索 结果和英雄工作空间拾取器都把工作空间藏在一个地方. 会议 属于隐藏的工作空间的,合并为 仅查看 存档设置为已运出 分组不能跟踪到“ 未分组” —— 没有写入归档 .
  • 菜单条目 是DOM的添加。 已发送的工作空间行菜单和查看选项菜单 在 DSH 02.1- rc 中没有插件的硬编码数组,所以插件附件会复制条目 运出物品的自类。 A 类 MutationObserver 打开后找到菜单门户 . 会话菜单项和垃圾标签 实际槽 (单位:千美元)sidebar.workspaces.session.menu.item, (中文(简体) ), settings.plugins.tab, (中文(简体) ), shell.overlay),而不是DOM(数字数据) 注射剂.
  • 东道主一半 拥有耐用状态和 open-workspace 行动。 开幕是a 分离 spawn 与 stdio: 'ignore',所以HTTP请求在 发射器存在.
  • 拖曳 从未直接编辑 DSH 存储 。 主机先丢下耐用 通过公共登记处的参考文献 APIdetachSession, (中文(简体) ), unarchiveSession, (中文(简体) ), unpinSession),然后将会话目录重命名为垃圾桶并写入 显出. 通过匹配 <sessionId> 内部的条目名称 $DSH_HOME/sessions/<group>/,因此DSH路径编码或切换到一个 单文件布局失败, 而非删除错误 .

升级自 @adamcjm/dsh-workspace-visibility

此包取代了它. 隐藏工作空间特性相同, 第一个开始 一次通过旧状态文件,所以您的隐藏列表在升级中存活了下来.

dsh plugin --profile <profile> remove @adamcjm/dsh-workspace-visibility
dsh plugin --profile <profile> add @adamcjm/dsh-enhancer

移徙详情:

  • $DSH_HOME/storages/workspace-visibility.json 被读取一次,复制到 dsh-enhancer.json,以及 留在原地 所以回滚仍然有效.
  • 不要同时保留两个软件包: 每个软件包都输入自己的菜单项, 所以工作空间菜单会显示重复.

兼容性

  • DSH 6.2.1-弧或更新(workspaceRegistry 东道服务, workspaces.list 客户模式, 地方服务, webServer (原始内容存档于2018-09-25). route carrier.
  • 主机过程中的节点.js 20+.
  • macOS, Windows 和 Linux (英语). “打开文件夹”需要桌面会话; 在无头上 东道国 路径解答方式 open-failed。 。 。 .
  • 为您服务的主机是打开文件夹的主机 。 与远程主机 文件管理器在远程机器(或失败)上打开,从未在笔记本上打开.

许可证

麻省理工学院

版本与发布记录

@adamcjm/dsh-enhancer 共发布 17 个版本,首次发布于 2026/10/23;过去 12 个月发布了 17 个版本。

版本发布日期距今
1.2.6latest2026/10/2315 天前
1.2.52026/10/2315 天前
1.2.42026/10/2315 天前
1.2.32026/10/2315 天前
1.2.22026/10/2315 天前
1.2.12026/10/2315 天前

关于 @adamcjm/dsh-enhancer 的常见问题

@adamcjm/dsh-enhancer 是什么?

DSH工作空间侧边栏的生活质量增强:隐藏工作空间及其会话,从视图选项中披露,并打开Finder,Explorer或您文件管理器中的任何工作空间文件夹. 只显示:工作空间、会话和归档数据 ar

如何安装 @adamcjm/dsh-enhancer?

在项目目录运行 npm install @adamcjm/dsh-enhancer,或使用 pnpm add / yarn add / bun add。

@adamcjm/dsh-enhancer 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/adamcjm__dsh-enhancer 是否存在。

@adamcjm/dsh-enhancer 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@adamcjm/dsh-enhancer 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@adamcjm/dsh-enhancer 可以商用吗?

@adamcjm/dsh-enhancer 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@adamcjm/dsh-enhancer 的下载量有多少?

根据 npm 官方下载统计,@adamcjm/dsh-enhancer 在 2026/10/05 – 2026/11/03 这 30 天内被下载 3,183 次,日均约 106 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@adamcjm/dsh-enhancer 还在维护吗?

最新版本 1.2.6 发布于 2026/10/23(15 天前);至今共发布 17 个版本,其中过去 12 个月发布了 17 个;首次发布于 2026/10/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。