Back to home@Momojie-S

dsh-archive-retention

DSH 插件: 归档会话定期清理 —— 物理归档堆与页面归档会话超保留期(页面可配天/小时,cron 调度)自动物理删除

Stars
0
Language
JavaScript
Created
Aug 29, 2026
Updated
Aug 29, 2026
GitHub repo

Introduction

@momojie-s/dsh-archive-retention

DSH 插件:归档会话定期清理——物理归档堆(sessions-archive/)和页面归档的会话记录,超过保留期(默认 7 天,页面可改,支持天/小时)自动物理删除。保留期即"宽限期":归档 ≠ 永久保存,到期即焚。

一句话作用

归档(页面归档或物理归档)只进不出,日积月累拖慢 Web GUI(实测 664 条会话列表 ≈ 1s/880KB)。本插件在宿主侧挂一个定时清扫:超过保留期的归档记录自动物理删除,每次落审计清单;保留期(数值+单位)、清扫节奏(cron)、范围开关都在 Web 设置页 → 插件 的"归档自动清理"卡片里直接改,无需碰配置文件、无需重启。

环境要求

  • DSH 0.1.1-rc.2(验证基准);web profile(需要设置页 UI);Windows/Linux/macOS
  • 宿主+客户端双半部 bundle 插件

用法

安装重启后无需任何操作:

  • 清扫节奏:每小时检查一次(可配,最小 15 分钟),超期即删
  • 页面配置:设置 → 插件 → 可配置 → "归档自动清理"卡片:总开关、保留数值+单位(天/小时)、两个范围开关
  • 审计:每次删除在 sessions-archive/_manifests/retention-<时间戳>.json 落清单

清理范围(均可独立开关):

范围对象判据
物理归档堆sessions-archive/<workspace>/<id>/目录最新写入早于保留期
页面归档GUI 归档名单里的会话记录同上,会话不在内存(挂着的绝不删,重启后补删)

绝不触碰:未归档的会话、正在运行/在内存的会话、_manifests 目录。

安装

dsh plugin --profile web add <本仓库路径>
# 或
dsh plugin --profile web add github:Momojie-S/dsh-archive-retention

安装后重启 DSH 生效。

配置

patch config(全部可选;页面改动存设置存储,优先级更高):

字段默认说明
enabledtrue总开关
retentionValue7保留期数值
retentionUnitdays保留期单位:days / hours
cleanSessionsArchivetrue清理物理归档堆
cleanGuiArchivedtrue清理页面归档的会话记录
sweepCron0 4 * * *清扫节奏(5 段 cron,默认每天 04:00)

验证

DSH 日志出现 archive-retention: active (retention 7d, sweep every 60min, ...);设置页插件区出现"归档自动清理"卡片;把保留期临时调成 1 小时,小时内 sessions-archive/_manifests/ 出现 retention-*.json 即闭环。

机制、安全边界与决策记录见 docs/design/overview.md