dsh-plugin-archive-manager:给 dsh Web UI 补上会话归档管理

前言

dsh 的会话可以归档,但归档之后的事情没有太多现成入口:想找回某条旧会话、批量还原,或者按规则把不活跃的会话定期归档,都缺一个可视化的操作位置。下面介绍的 dsh-plugin-archive-manager 就是为解决这个问题写的,它把这些能力放进 dsh Web UI 的设置页。

这是什么

dsh-plugin-archive-manager 是一个 dsh 插件,由 qinyre 维护,MIT 许可,当前版本 0.3.0。它在 Web UI 设置页提供一级分区「归档管理」,覆盖三件事:浏览已归档会话、取消归档、按规则自动归档。

它前身为 dsh-plugin-atlas。0.3.0 起官方 Web UI 自带对话刻度尺,插件不再内置刻度尺与输入历史,专注归档一件事,并随版更名。

核心功能

归档浏览与还原

已归档会话按工作区分组,支持搜索与批量取消归档。还原后侧边栏实时恢复,无需重启。列表里的标题与轮次数取自会话日志本体,不依赖额外索引。

自动归档

自动归档默认关闭。开启后可配置两条规则:「不活跃超过 N 天」与「每个工作区保留最近 M 条」,每日核查一次。执行前可以试运行,先看到将要归档的清单再决定是否执行。

旧规则沿用

如果之前用的是旧包名 dsh-plugin-atlas,它的自动归档规则会在升级后自动沿用,不需要重新配置。

安装与启用

默认的安装命令:

dsh plugin --profile web add dsh-plugin-archive-manager

也可以在 Web UI 的 设置 → 插件 里按包名安装(经 dsh-plugin-install),或直接从 GitHub 装:

dsh plugin --profile web add github:qinyre/dsh-plugin-archive-manager

开发时想装本地检出,用 add file:/path/to/dsh-plugin-archive-manager,包内 prepare 脚本会自动构建。卸载把 add 换成 remove 即可。

从旧包名升级,先移除旧包再安装本包:

dsh plugin --profile web remove dsh-plugin-atlas
dsh plugin --profile web add dsh-plugin-archive-manager

经过上面的步骤装好后,如果你使用的是 DSH Desktop(内嵌同一 Web UI),插件装上即在桌面内生效,无需额外配置。

安全与边界

插件的写路径有几个明确的边界:

  • 写操作要求同源 POST,规则数值有范围校验。
  • 自动归档只调用 dsh 公开的 archiveSession
  • 取消归档经由注册表预留的状态写入路径完成。若未来 dsh 的改动使其失效,插件会明确报错而不是损坏数据,届时更新 dsh 与本插件即可。
  • 插件不删除任何会话或文件。

开发与测试

仓库内的开发流程依次是:

pnpm install
pnpm run typecheck
pnpm test
pnpm run build

端到端 smoke 测试默认关闭,要求同级目录存在 deepseek-harness 源码检出且 Node ≥ 22.19:

DSH_ARCHIVE_MANAGER_PLUGIN_SMOKE=1 pnpm test

它会建临时 DSH_HOME、把本插件装入 web profile、启动 dsh web,并逐一探测各路由。

适用场景与注意

适合的读者:会话量大、按工作区管理项目、希望侧边栏保持干净,又不想手动逐条归档的 dsh 用户。

使用前注意两点:

1、插件以当前 dsh 进程的权限运行,安装前建议先检查源码与许可证(MIT)。
2、自动归档默认关闭,启用前先试运行预览清单,确认影响范围后再设置 N 与 M 的具体数值。

结尾

dsh-plugin-archive-manager 做的事不复杂:把归档会话的浏览、还原和自动归档放进 Web UI,并把安全边界写清楚。如果你在 dsh 里积累了不少归档会话,值得一试。

  • 目录页:https://www.skillhub.cn/plugins/qinyre/dsh-plugin-atlas
  • GitHub:https://github.com/qinyre/dsh-plugin-atlas

社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

羽毛球分组比赛记分
小程序二维码

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

小夜