# @adamcjm/dsh-enhancer 中文文档

规范地址：https://npmcn.com/package/%40adamcjm/dsh-enhancer/

版本：1\.2\.6
npm 元数据更新时间：2026-10-23T09:40:39.290Z
中文译文更新时间：2026-11-06T12:51:37.233Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40adamcjm/dsh-enhancer
原文对照：https://npmcn.com/package/%40adamcjm/dsh-enhancer/?lang=original
项目主页：https://github.com/adamcjm/dsh-enhancer#readme
源码仓库：https://github.com/adamcjm/dsh-enhancer

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：259 kB，13 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20
- 运行依赖：0 个
- 首次发布：2026-10-23T06:40:54.221Z
- 最新版本发布：2026-10-23T09:40:39.130Z
- 近 30 天下载量：3183（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 17 个）

## 中文简介

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

## 安装

```sh
npm install @adamcjm/dsh-enhancer
```

也可以使用：`pnpm add @adamcjm/dsh-enhancer`、`yarn add @adamcjm/dsh-enhancer`、`bun add @adamcjm/dsh-enhancer`

## README

# @ adamcjm/dsh- enhancer

[![npm version](https://img.shields.io/npm/v/@adamcjm/dsh-enhancer.svg)](https://www.npmjs.com/package/@adamcjm/dsh-enhancer) [![license](https://img.shields.io/npm/l/@adamcjm/dsh-enhancer.svg)](https://npmcn.com/package/%40adamcjm/dsh-enhancer/LICENSE)

**联合国** | [页:1](https://npmcn.com/package/%40adamcjm/dsh-enhancer/docs/README.zh-CN.md)

A 类 [深搜索策略](https://github.com/omdsh-dev/dsh) 添加小项的插件, 缺少工作空间菜单。 这是故意取名的 之后 _区域_ 而不是一个功能,所以可以添加新的菜单增强功能,而不需要 再次重命名软件包 .

今天它运送四样东西:

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

几乎只按设计显示 :

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

## 安装

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

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

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

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

### 地方发展

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

```json
{
  "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 存储 。 主机先丢下耐用 通过公共登记处的参考文献 API`detachSession`, (中文(简体) ), `unarchiveSession`, (中文(简体) ), `unpinSession`),然后将会话目录重命名为垃圾桶并写入 显出. 通过匹配 `<sessionId>` 内部的条目名称 `$DSH_HOME/sessions/<group>/`,因此DSH路径编码或切换到一个 单文件布局失败, 而非删除错误 .

## 升级自 `@adamcjm/dsh-workspace-visibility`

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

```bash
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 是什么？

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 和提交记录判断。

