🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

归档定期清理 Momojie-S/dsh-archive-retention

DeepSeek Harness
Momojie-S5 天前有提交已提供中文文档扫描:高危

自动物理删除超期归档会话,释放存储与列表性能

29.5/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Momojie-S/dsh-archive-retention
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · other
装得上吗
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装
要求 Node:>=24(dsh 本身要求 Node ≥ 22.19)

engines.node 要求 >=24,不满足 Node 22.19.0

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@momojie-s/dsh-archive-retention(未发布到 npm,仅可源码安装)
✗Node 引擎要求 >=24 · 基线 Node 22.19 不满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 03:53:59

🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0
🔴 扫描:高危尚无人工评估

静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。

命令参数由运行时变量拼接读写/删除本地文件
查看扫描证据(共 11 处,展示前 11 条)
  • 读取本地文件
    scripts/build.mjs:13
    const id = JSON.parse(await readFile(join(root, 'package.json'), 'utf8')).name
  • 删除本地文件递归
    scripts/build.mjs:19
    await rm(stage, { recursive: true, force: true })
  • 执行外部命令运行时拼接
    scripts/build.mjs:23
    execSync(`${JSON.stringify(process.execPath)} ${JSON.stringify(tscBin)} -p tsconfig.build.json --outDir lib-tmp`, { cwd: root, stdio: 'inherit' })
  • 读取本地文件
    scripts/build.mjs:26
    const body = await readFile(join(root, 'src/client/index.js'), 'utf8')
  • 写入本地文件
    scripts/build.mjs:37
    await writeFile(join(stage, 'client.js'), bundle, 'utf8')
  • 读取本地文件
    scripts/build.mjs:74
    const liveExists = await readdir(live).then(() => true, () => false)
  • 删除本地文件递归
    scripts/build.mjs:76
    await rm(retired, { recursive: true, force: true })
  • 写入本地文件
    scripts/build.mjs:77
    await rename(live, retired)
  • 写入本地文件
    scripts/build.mjs:80
    await rename(stage, live)
  • 写入本地文件
    scripts/build.mjs:82
    if (liveExists) await rename(retired, live)
  • 删除本地文件递归
    scripts/build.mjs:85
    await rm(retired, { recursive: true, force: true })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-timer@deepseek-ai/dsh-session@deepseek-ai/dsh-settings@deepseek-ai/dsh-workspace@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 超期归档自动物理删除
  • 保留期按天或小时配置
  • cron定时调度

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

README

由 DeepSeek 最新模型翻译生成
@momojie-s/dsh-archive-retention DSH 插件:归档会话定期清理——物理归档堆(sessions-archive/)、页面归档的会话记录、以及孤儿子 agent 目录,超过保留期(默认 7 天,页面可改,支持天/小时)自动物理删除。保留期即「宽限期」:归档 ≠ 永久保存,到期即焚。 一句话作用 归档(页面归档或物理归档)只进不出,日积月累拖慢 Web GUI(实测 664 条会话列表 ≈ 1s/880KB)。本插件在宿主侧挂一个定时清扫:超过保留期的归档记录自动物理删除,每次落审计清单;保留期(数值+单位)、清扫节奏(cron)、范围开关都在 Web 插件页(插件 → 已安装 → 本插件 → 配置)的表单里直接改,无需碰配置文件、无需重启。
展开完整文档(README 剩余 1 节)
@momojie-s/dsh-archive-retention

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

一句话作用

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

环境要求

- DSH >= 0.2.0-rc.2(已验证至 0.2.1-rc.5;设置走 volatile Config + 插件页表单,需 web profile);Windows/Linux/macOS
- 宿主+客户端双半部 bundle 插件

用法

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

- 清扫节奏:每小时检查一次(可配,最小 15 分钟),超期即删
- 页面配置:插件 → 已安装 → @momojie-s/dsh-archive-retention → 配置:总开关、三个范围开关、保留数值+单位(天/小时)、清扫 cron
- 审计:每次删除在 sessions-archive/_manifests/retention-<时间戳>.json 落清单

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

| 范围 | 对象 | 判据 |
| 物理归档堆 | sessions-archive/<workspace>/<id>/ | 目录最新写入早于保留期 |
| 页面归档 | GUI 归档名单里的会话记录 | 同上,且会话不在内存(挂着的绝不删,重启后补删) |
| 孤儿子 agent | sessions/ 里 parentSession 指向的父目录已不存在的子 agent 目录 | 同上(冷 + 不在内存);父目录还在(宽限期内)则等父目录先走,子目录下一轮跟随 |

绝不触碰:未归档的主会话、正在运行/在内存的会话、_manifests 目录、头部读取失败的目录(无法确认父子关系时宁可不动)。

安装

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

安装后重启 DSH 生效。

配置

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

| 字段 | 默认 | 说明 |
| enabled | true | 总开关 |
| retentionValue | 7 | 保留期数值 |
| retentionUnit | days | 保留期单位:days / hours |
| cleanSessionsArchive | true | 清理物理归档堆 |
| cleanGuiArchived | true | 清理页面归档的会话记录 |
| cleanOrphanSubagents | true | 清理孤儿子 agent(父会话目录已不存在的超期子 agent 目录) |
| sweepCron | 0 4 | 清扫节奏(5 段 cron,默认每天 04:00) |

验证

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

机制、安全边界与决策记录见 docs/design/overview.md。
预览分享卡片长什么样 ↓Momojie-S/dsh-archive-retention
分享 · DeepSeek Harness Hub
Momojie-S/dsh-archive-retention

自动物理删除超期归档会话,释放存储与列表性能

这是你的仓库?认领条目

回到顶部