前言¶
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 / 幻方无官方从属关系。