前言¶
DSH 的归档机制通常是“只进不出”的。随着时间推移,物理归档堆(sessions-archive/)和页面归档的会话记录会不断累积,导致 Web GUI 的响应变慢。本插件在宿主侧挂载一个定时清扫任务,自动删除超过保留期的归档数据,并生成审计清单,从而保持系统的整洁与性能。
插件简介¶
momojie-s/dsh-archive-retention 是一个归档会话定期清理插件,由开发者 Momojie-S 维护,采用 MIT 许可证。它通过 Cron 调度,针对物理归档堆、页面归档会话记录以及孤儿子 agent 进行自动清理。
核心功能¶
- 物理归档堆自动清理
- 页面归档会话记录自动清理
- 孤儿子 agent 自动清理
- 保留期配置(支持天/小时)
- Cron 调度清扫
- 生成审计清单
- Web 设置页直接配置
安装与启用¶
安装后需要重启 DSH 才能生效。
dsh plugin --profile web add github:Momojie-S/dsh-archive-retention
配置与使用¶
插件支持通过 Web 设置页进行可视化配置,无需修改配置文件。
-
配置保留期
进入设置页,找到插件区中的“归档自动清理”卡片。设置保留期数值与单位(支持天或小时)。默认保留期为 7 天。 -
配置清扫节奏
设置检查清理的时间间隔。默认为每小时检查一次,最小间隔为 15 分钟。 -
配置清理范围
通过开关独立控制物理归档堆、页面归档会话记录、孤儿子 agent 的清理行为。 -
验证清理
将保留期临时调整为 1 小时,等待清理周期执行,随后观察sessions-archive/_manifests/目录下生成的retention-*.json审计清单。
清理范围与安全边界¶
清理对象:
- 物理归档堆
- 页面归档会话记录
- 孤儿子 agent(父会话目录已不存在的子 agent)
安全边界:
- 绝不触碰未归档的主会话
- 绝不触碰运行中或内存中的会话
- 绝不触碰 _manifests 目录
- 对于无法确认父子关系的目录(头部读取失败),宁可不动
注意事项¶
- 版本要求:DSH 版本需在
0.1.5-rc.1及以上。 - 环境要求:需要
webprofile(即使用设置页 UI)。 - 数据性质:归档 ≠ 永久保存,保留期即“宽限期”,到期即焚。
总结¶
本插件通过 Web UI 提供可视化的配置,避免手动管理归档文件。它仅针对已归档且过期的数据进行物理删除,确保 DSH 运行环境的轻量化。