dsh-session-folders:为 DSH Web 侧栏增加一层会话文件夹

前言

在 DSH 的 Web 工作区里,会话通常按时间排列。当同一工作区积累了较多会话后,按主题或任务分组会更直观。dsh-session-folders 是一个 DSH 客户端插件,它在 Web 侧栏的工作区浏览器中增加一层命名文件夹,用于把会话归组。

插件不修改 harness。文件夹数据保存在 DSH storage domain,视图状态保存在浏览器 localStorage。

这是什么

下面介绍这个插件的定位。包名是 dsh-session-folders,仓库为 EugeneVl/dsh_session_folders,作者字段为 Eugene,许可证为 MIT,包版本为 0.4.3

它把 DSH Web 侧栏的工作区浏览器替换为支持会话文件夹的版本:每个工作区有一层命名文件夹,文件夹外是未分组会话。

它解决的是“多会话在工作区里如何分组、移动、归档和查找”的问题,同时保留内置会话浏览器的 Running / Completed 状态徽章。

核心功能

文件夹与会话组织

  • 每个工作区支持一层命名文件夹,文件夹名称在同一工作区内大小写不敏感唯一。
  • 文件夹外是未分组会话。
  • 支持创建、重命名、删除文件夹;删除会确认,文件夹中的会话变为未分组。
  • 支持拖拽调整工作区顺序,也支持在同一工作区内调整文件夹顺序,顺序服务端持久化。
  • 每个文件夹和 Archive 块支持 Show more / Show less,默认最多显示 5 个会话。

会话移动与操作

  • 支持拖拽会话到同一工作区的文件夹。
  • 支持右键会话选择 Move to folder…,可选择已有文件夹,或选择 New folder… 即时创建文件夹并移动会话。
  • 支持右键选择 Move to folder… 中的 Workspace,把会话移回未分组区域。
  • 支持双击会话标题进行内联重命名,Enter 提交、Esc 取消。
  • 支持右键菜单 Auto rename,由会话自身模型根据首个用户消息生成最多 3 词标题。
  • 支持 Pin / Unpin 会话,固定会话保持在文件夹或未分组区域顶部,且服务端持久化。
  • 支持悬停会话行时快速归档,并显示可复制 session-<id> 的 ID 徽章。
  • 支持从工作区行或文件夹行创建新会话。

归档、恢复与导航

  • Archive 块支持归档/恢复会话,包括拖放归档、恢复到原文件夹或 Restored 文件夹。
  • Recent 区域显示最近 5 个会话,并提供悬停来源卡片。
  • 支持文件夹树引导线、会话搜索(标题和内容)、打开工作区文件夹、全部折叠/展开、工作区聚焦。
  • 支持显示 Running / Completed 状态徽章,镜像内置会话浏览器。
  • 支持双语 UI,适配 zh / en

持久化与校验

  • 文件夹数据保存在 DSH storage domain,并跨页面刷新保留。
  • 视图状态,例如折叠状态,保存在浏览器 localStorage。
  • 所有操作在服务端校验工作区存在性、会话成员关系、名称冲突,客户端仅镜像规则。
  • 插件不修改 harness。

安装与启用

先确认 Node 版本满足要求:

^22.19.0 || >=24.0.0

使用 npm 预构建包安装:

dsh plugin --profile web add dsh-session-folders

这条命令从 npm registry 安装预构建版本,跳过 allowBuilds 构建审批步骤。

安装后需要重启 dsh web,因为宿主插件和客户端 bundle 在启动时加载。

典型用法

下面按常见操作顺序给出示例。

  1. 打开侧栏:在每个工作区中,文件夹显示在未分组会话上方。
  2. 创建文件夹:右键工作区行,选择 New folder。名称必须在该工作区内唯一。
  3. 重命名文件夹:右键文件夹行,选择 Rename
  4. 删除文件夹:右键文件夹行选择删除,确认后会话变为未分组。
  5. 重新排序:拖拽工作区行到新位置;在同一工作区内拖拽文件夹行,根据落点在上半部或下半部插入。
  6. 移动会话:拖拽会话行到同一工作区的文件夹,或右键会话选择 Move to folder…,再选择目标文件夹或 New folder…
  7. 移回未分组:右键会话选择 Move to folder…,再选择 Workspace
  8. 固定会话:右键会话选择 Pin,会话会跳到其文件夹或未分组区域顶部,并在后续新会话到来时保持置顶。

适用场景与注意

适合在 DSH Web 端长期维护多个工作区、多个会话,且希望用文件夹整理任务、归档历史会话、从 Recent 快速回看最近上下文的场景。

使用前注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码、许可证和依赖范围。
  • 该插件是社区插件目录中的第三方客户端插件,社区目录是独立站点,不应理解为 DeepSeek 或幻方官方应用商店。
  • 文件夹和会话移动、固定等数据在服务端持久化,而折叠、展开等视图状态保存在浏览器 localStorage。
  • 所有关键操作都经过服务端校验,客户端展示规则与本地视图不会改变服务端状态。

链接

  • 插件目录页:https://www.skillhub.cn/plugins/EugeneVl/dsh_session_folders
  • GitHub 仓库:https://github.com/EugeneVl/dsh_session_folders
羽毛球分组比赛记分
小程序二维码

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

小夜