DSH Archive Manager:为 DSH Web 提供 Codex 风格会话归档管理

前言

在 DSH Web 中,会话归档后如果缺少集中管理入口,查看旧会话、筛选项目、预览内容、取消归档或清理磁盘空间会比较分散。z953218350/dsh-archive-manager 是一个面向 DSH Web 界面的插件,用来集中管理归档会话。

下面介绍它的能力、安装方式、典型用法,以及需要注意的数据删除风险。

这是什么

dsh-archive-manager 是 DSH 的一个 Web 插件,仓库 owner 为 z953218350,包名为 @mlgbnb/dsh-archive-manager,许可证为 MIT。

它为 DSH Web 界面提供 Codex 风格的会话归档管理能力,主要用于在设置页中查看、搜索/筛选、预览、取消归档和彻底删除归档会话。

核心功能

插件的能力集中在 DSH Web 的归档会话管理上:

  • 在 DSH Web 界面设置页中查看归档会话。
  • 对归档会话进行搜索/筛选。
  • 按工作区/项目分组展示会话。
  • 支持删除项目中的全部内容。
  • 解析 session.jsonl.zstdsession.jsonl
  • 展示会话标题、创建时间、对话轮数、磁盘占用。
  • 预览会话最近 50 条用户/助手消息。
  • 恢复会话并实时同步侧边栏。
  • 物理删除会话元数据及磁盘数据文件。
  • 实时监听侧边栏归档变动并同步列表。
  • 内置基于 Node zlib 的 zstd 多帧解压引擎,无需安装 zstd 命令行工具。

安装与启用

先确认环境满足要求:

  • DSH >=0.1.2-alpha.2
  • 使用 Web Profile
  • 使用 Node.js 内置 zlib
  • package.json 中声明的 peerDependencies 包含 react ^18.2.0

插件运行时读取 DSH 的 storages/workspace.jsonstorages/session_projcache.jsonsessions/ 目录。数据目录可以通过 DSH_HOME 指定,默认是 ~/.dsh

下面用 DSH CLI 安装。

1、使用当前包名安装:

dsh plugin --profile web add -w @mlgbnb/dsh-archive-manager

2、如果希望固定版本,可以显式指定 1.0.10

dsh plugin --profile web add -w "@mlgbnb/dsh-archive-manager@1.0.10"

3、如果本地有插件目录,也可以使用 link: 方式安装:

dsh plugin --profile web add -w "link:/path/to/dsh/plugin/dsh-archive-manager"

安装完成后,检查 Web Profile 的 package.json,确认 dsh.profile.bundles 数组中包含 @mlgbnb/dsh-archive-manager

如果执行 add 后启动报错,提示子包重复声明,需要检查 dsh.profile.bundles 数组,确保其中只包含根包,避免包含子组件包。

最后启动 DSH Web:

dsh --profile web

或者:

dsh web

启动后访问:

http://127.0.0.1:3080/

进入:

设置 -> 插件

即可使用归档管理功能。

典型用法

经过上面的步骤后,常见操作如下:

1、进入设置页,找到归档管理入口,查看归档会话列表。

2、按工作区/项目浏览会话分组,确认某个项目下有哪些归档会话。

3、搜索或筛选需要处理的会话。

4、查看会话元数据,包括标题、创建时间、对话轮数、磁盘占用。

5、点击预览,查看会话最近 50 条用户/助手消息。

6、如果只需要把会话恢复到原工作区,执行取消归档。恢复后会同步侧边栏。

7、如果确认不再保留该会话,执行物理删除。该操作会删除会话元数据及磁盘数据文件,并释放存储空间。

8、如果需要清理某个项目下的全部归档内容,使用项目级的删除全部能力。

适用场景与注意

适合正在使用 DSH Web Profile,并且需要集中查看、预览、恢复或删除归档会话的开发者。

使用前需要注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 插件会读取 storages/workspace.jsonstorages/session_projcache.jsonsessions/ 目录。
  • 物理删除会删除会话元数据及磁盘数据文件,属于不可逆操作。
  • 删除项目中的全部内容会影响该项目下相关归档会话。
  • 如果 dsh.profile.bundles 中混入了子组件包,启动时可能出现重复声明问题。

项目仓库:

https://github.com/z953218350/dsh-archive-manager
羽毛球分组比赛记分
小程序二维码

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

小夜