dsh-session-pruner

dsh-session-pruner 0.3.2 按完成状态、闲置时间、容量和 Pin 白名单归档 DSH 会话,并完整化 live 检查的 fail-closed 保护。

快速判断

安装前先看这几项

配置资料
配置资料完整
配置难度
较高
适合新手
建议具备相关经验
兼容状态
声明兼容,尚未实测
验证状态
源码已审阅,未标记运行实测
本页目录(9)
中文教程

按照固定来源完成安装、配置与验证

教程包含独立 Profile、精确安装目标、配置证据、最小验证任务、回退和数据清理。

查看 dsh-session-pruner 安装与配置教程 →
功能

这个插件能做什么

dsh-session-pruner 0.3.2 按完成状态、闲置时间、容量和 Pin 白名单归档 DSH 会话,并完整化 live 检查的 fail-closed 保护。

适合谁

需要保存知识、上下文、会话或长期记忆的用户

使用门槛

该插件涉及较高配置难度或敏感权限,不建议在生产工作区直接试装。

准备

安装前准备

  • 完整备份(必需)先备份 $DSH_HOME/sessions 与已有 sessions-archive。
  • 系统 zstd(必需)确保系统 zstd 可用,以便安全读取压缩会话日志。
安装

如何安装 dsh-session-pruner

下面的命令使用本站核验的 DSH 基线,并锁定插件版本或 Git commit,避免默认分支变化导致安装内容漂移。本站已核对安装目标,但尚未在你的系统和 Profile 中实际执行。

安装到
web Profile
DSH 基线
0.1.1-rc.2
安装来源
npm 预构建包(锁定版本)
固定目标
dsh-session-pruner@0.3.2
  1. 01
    检查 Node.js 与 pnpm

    DSH 当前基线需要 Node.js 22.19 或 Node.js 24 及以上,并且 pnpm 必须已在 PATH 中。先运行:

    环境检查
    node --version && pnpm --version
  2. 02
    安装到 Web Profile

    这条命令会把插件加入 web Profile,并在插件声明 DSH Bundle 时自动加入配置层。

    npm 预构建包(锁定版本)
    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add dsh-session-pruner@0.3.2
  3. 03
    确认 Bundle 已进入配置

    安装成功后先导出组合配置,不启动 Agent。输出中应能找到包名 dsh-session-pruner或对应 Bundle 层。

    检查配置
    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 --profile web --dump-config
  4. 04
    启动并完成最小验证

    启动 Web Profile 后,只测试一个与插件功能直接相关的最小任务,并检查日志、文件、网络和凭据访问是否符合预期。

    启动 DSH Web
    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 web
卸载与回退

测试不通过时先停止 DSH,再从同一 Profile 移除插件。移除后重新运行配置检查,确认对应 Bundle 层已经消失;插件自己创建的数据和外部账号配置可能需要另行清理。

从 Web Profile 移除
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web remove dsh-session-pruner
配置

插件专属配置

设置 → 会话生命周期管理
配置扫描间隔、容量、归档保留期、模式、闲置阈值和 Pin。
$DSH_HOME/sessions-archive
默认 archive 模式的可恢复会话目录。

环境变量

DSH_SESSION_PRUNER_ARCHIVE_MODE · 可选
兜底模式;教程固定使用 archive,不使用 delete。
DSH_SESSION_PRUNER_PINNED_IDS · 可选
逗号分隔的保护会话 ID,仅作面板配置的兜底。

固定版本安装与安全默认 · bash。示例中的账号、路径和凭据占位符必须替换,不要提交真实密钥。

复制 固定版本安装与安全默认 配置
dsh plugin --profile web add dsh-session-pruner@0.3.2
export DSH_SESSION_PRUNER_ARCHIVE_MODE=archive

核对配置证据外部链接,在新标签页打开

  1. 在面板保持 archive,先关闭主会话和可续聊会话清理,并 Pin 重要会话。
  2. 保存后观察至少一个扫描周期,核对日志和归档目录再扩大范围。
验证

配置检查与成功结果

  1. 01
    运行作者提供的只读 dry-run 脚本,核对候选会话。
    复制验证命令
    node test/dry-run.js

    期望结果:只输出分类和候选,不移动或删除真实会话。

  2. 02
    用一个可丢弃的已结束测试会话验证 archive。

    期望结果:目录被移动到 sessions-archive,活动会话、Pin 会话和主会话保持不变。

使用

第一次使用建议这样验证

  • 只归档一个已结束的一次性测试子 Agent,会话恢复后立即 Pin 或打开。
权限

它可能接触哪些数据和能力

访问外部网络

扫描 $DSH_HOME/sessions,移动会话到 sessions-archive,清理投影缓存,并可在 archiveMode=delete 时递归物理删除;状态 API 还会暴露会话 ID 与统计。

数据存储:插件读取 sessions 日志与 live 状态,默认把目录移动到 sessions-archive;delete 会递归物理删除且不可恢复,状态 API 还会返回会话 ID 与统计。

请注意:源码已审阅”说明本站检查到的证据范围,不等于安全认证。重要工作区应锁定版本、备份数据并在最小权限下测试。

排查

故障排查与数据清理

运行中的会话出现在候选中
立即停止插件并检查版本是否为 0.3.2;live 服务缺失时应 fail-closed。
恢复后又被归档
恢复目录后立即把会话 ID 加入 Pin,或先打开会话让 live 保护生效。
卸载后的清理步骤
  1. 停用插件并手工恢复需要的归档目录,恢复后立即 Pin 或打开。
  2. 从 web Profile 移除 dsh-session-pruner@0.3.2;不要删除 sessions-archive,直到人工核对备份。
深入审计:兼容性、数据流与来源
证据

兼容性与审阅记录

兼容性说明

0.3.2 采用 DSH Bundle/Web Client,依赖系统 zstd 解读会话日志且未声明精确 DSH peer;本站固定提交静态审阅未在 0.1.2-rc.1 或真实 Session 目录运行。

数据流

本机会话目录、zstd 日志与 Session live 状态 → 分类、Pin 和 fail-closed 检查 → 默认移动到 sessions-archive 或高风险直接删除 → 投影缓存、工作区计数和设置页状态同步。

源码审阅结论

已审阅 0.3.2 的对账、事件清理、容量清理、isLive 单一入口、Pin、归档、直接删除、状态 API 和配置热加载。0.3.2 修复 provider fiber 重载时 registry.get 返回 undefined 导致旧版可能 fail-open 的问题;delete 模式最坏可批量不可恢复删除,因此教程默认只使用 archive,先备份并观察一轮。作者测试不是本站运行实测。

来源与维护信息

本页根据固定提交的仓库、包清单和本站审阅资料生成。版本变化后,请重新核对作者说明。

来源快照
08bc6bb37dc9
固定提交
f14186ed2590
许可证
Apache-2.0
主要语言
JavaScript
中文资料
有完整中文配置资料