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

会话深度清理 kkkkk-tubu/dsh-deep-purge

DeepSeek Harness
kkkkk-tubu7 天前有提交已提供中文文档扫描:含敏感能力

彻底删除会话在磁盘上的全部六处痕迹

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add kkkkk-tubu/dsh-deep-purge
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 7 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
  • 执行外部命令固定命令
    lib/index.js:327
    child = spawn('powershell.exe', full, { windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'] })
  • 发起网络请求
    lib/ui.js:359
    fetch(API + '/list', { cache: 'no-store' })
  • 发起网络请求
    lib/ui.js:423
    fetch(API + '/preview', {
  • 发起网络请求
    lib/ui.js:451
    fetch(API + '/execute', {
  • 发起网络请求
    lib/ui.js:501
    return fetch(API + '/last-run', { cache: 'no-store' })
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

彻底删除 DSH 会话,清空磁盘上全部六个位置,支持试运行、备份、回滚,并自动重启 DSH。

README

由 DeepSeek 最新模型翻译生成
dsh-deep-purge DSH 只有归档,没有删除。这个插件补上删除功能——而且清掉每一条痕迹,不只是侧边栏里的那条记录。 DeepSeek Harness 能归档会话,但归档只是把它藏起来。对话记录、标题缓存、SQLite 索引、费用账本、桥接日志,全都永远留在磁盘上。dsh-deep-purge 从六个位置移除会话,一次操作完成,入口就在应用内的面板里。 仅支持 Windows。 首次运行引导 它到底删了什么 一个会话 id 牵涉六个位置。多数「删除」工具删完第一个就收手了。 | # | 位置 | 里面有什么 | | 1 | ~/.dsh/sessions/<slug>/<session-id>/session.v4.jsonl.zstd | 完整对话记录(zstd 压缩的 JSONL) | | 2 | ~/.dsh/storages/session_projcache/sessions/<session-id>.json | 缓存的标题 / 项目元数据 | | 3 | ~/.local/share/billion-context/sessions/index.db | billion-context 的 SQLite 索引——会话行以及它的 \|sub: 子代理行,随后执行 VACUUM |
展开完整文档(README 剩余 1 节)
dsh-deep-purge

DSH 只有归档,没有删除。这个插件补上删除功能——而且清掉每一条痕迹,不只是侧边栏里的那条记录。

DeepSeek Harness 能归档会话,但归档只是把它藏起来。对话记录、标题缓存、SQLite 索引、费用账本、桥接日志,全都永远留在磁盘上。dsh-deep-purge 从六个位置移除会话,一次操作完成,入口就在应用内的面板里。

仅支持 Windows。

首次运行引导

它到底删了什么

一个会话 id 牵涉六个位置。多数「删除」工具删完第一个就收手了。

| # | 位置 | 里面有什么 |
| 1 | ~/.dsh/sessions/<slug>/<session-id>/session.v4.jsonl.zstd | 完整对话记录(zstd 压缩的 JSONL) |
| 2 | ~/.dsh/storages/session_projcache/sessions/<session-id>.json | 缓存的标题 / 项目元数据 |
| 3 | ~/.local/share/billion-context/sessions/index.db | billion-context 的 SQLite 索引——会话行以及它的 \|sub: 子代理行,随后执行 VACUUM |
| 4 | ~/.dsh/storages/workspace.json | 侧边栏注册表:sessionIds、archivedSessionIds、pinnedSessionIds |
| 5 | ~/.dsh/storages/cost-meter/ledger.json | 按会话记录的 token / 费用明细行,以及引用该 id 的哈希缓存 |
| 6 | ~/.dsh/storages/cost-meter/ledger.json.billion-context/ | 按调用记录的桥接日志(成千上万个小 JSONL 文件,按子串匹配) |

提交之前,面板会先显示六个位置各自的命中数,并跑一次不写任何东西的试运行。

为什么必须先关掉 DSH

这不是偷懒——DSH 运行时,删这些文件没有安全做法。

- workspace.json 常驻内存。 DSH 把解析后的对象留在进程里,侧边栏一有变动就重写整个文件。你在底下把文件删了,下一次变动又会把会话复活。没有文件监听来做对账。
- index.db 是 WAL 模式的 SQLite 数据库,连接一直活着。VACUUM 需要独占访问。

所以流程是:挂一个计划任务 → 让 DSH 退出 → 删文件 → 重启 DSH。辅助程序故意跑在 DSH 进程树之外:DSH 会把工具子进程放进 Windows Job Object,从会话内部派生的任何东西都会跟着会话一起死。面板上写明了这一点,执行期间页面会掉线几秒。

安装

dsh plugin add dsh-deep-purge

然后重启 DSH。左侧导航栏出现 会话清理 / Session purge 入口,每个会话的右键菜单里多出 彻底删除会话 / Delete session permanently。

手动安装:把包放到 <profile>/node_modules/ 下,加进配置档的 dependencies 和 dsh.profile.bundles,重启。

使用

1. 点左侧导航的 会话清理,或右键任意会话 → 彻底删除会话。
2. 勾选要删除的会话。当前会话故意禁用——服务器也会拒绝它。
3. 预演选中 (Dry run) — 列出全部六个位置的命中数。不写入任何内容。

预演:全部六个位置按会话统计的命中数

4. 在输入框中输入 DELETE(防误触短语,不是密码),然后点击 删除选中。
5. 在浏览器对话框中确认。DSH 在约 25 秒内退出,执行删除,然后自行重启。
6. 重启后,面板顶部显示上一次运行的结果。红色表示有残留——点击查看分步日志。

每次删除都会在 ~/.dsh/session-delete-backup-<timestamp>/ 下留下备份,除非你传入 -NoBackup。

两道安全网

带常驻警告栏的面板

首次打开时会出现一个阻断式引导:删除哪些内容(全部六个路径)、风险清单、五步工作流、如何回滚、如何卸载。在你勾选 "I understand deletion is irreversible" 之前,开始按钮一直禁用——按 Esc 和点击背景都无法关闭它。更新后如果文本有变化(GUIDE_VERSION 升级),它会重新出现;标题栏中的 使用说明 可随时重新打开它。

标题栏下方常驻一条警告栏,没有关闭按钮:删除不可逆,DSH 会退出并重启,页面会中断几秒。能关掉的警告不算警告。

主题

所有颜色都使用宿主设计 token(--dsw-alias-),因此面板无需单独的样式表就能跟随 DSH 的浅色和深色主题。没有任何硬编码:

深色主题

回滚

powershell -ExecutionPolicy Bypass -File "<plugin>\ps\dsh-session-cleanup.ps1" -Restore "<backup dir>"

先退出 DSH——否则内存中的 workspace.json 会覆盖你刚恢复的内容。恢复操作会把备份文件写回;它不会触碰删除后新建的会话。

命令行

面板只是前端;真正干活的是一个独立的 PowerShell 脚本,你也可以直接运行它。

$ps1 = "<profile>\node_modules\dsh-deep-purge\ps\dsh-session-cleanup.ps1"

inventory: what exists where, nothing is touched
powershell -ExecutionPolicy Bypass -File $ps1 -List

dry run for specific sessions
powershell -ExecutionPolicy Bypass -File $ps1 -SessionId session-aaaa,session-bbbb

real deletion (DSH must be closed, or add -AutoRestart)
powershell -ExecutionPolicy Bypass -File $ps1 -SessionId session-aaaa -Execute -AutoRestart

| 参数 | 含义 |
| -List | 列出全部六个位置的所有会话。只读。 |
| -SessionId <ids> | 要操作的 id,用逗号分隔。 |
| -Execute | 真正执行删除。不加此参数就是预演。 |
| -AutoRestart | 退出 DSH,删除,再重启。需要配合 -Execute。 |
| -Restore <dir> | 从备份目录恢复。 |
| -NoBackup | 跳过备份。更快,但不可逆。 |
| -SkipBiliGc | 保持 index.db 原样(不执行 VACUUM)。 |
| -WaitTimeoutSec | 等待 DSH 退出的时长(默认 180)。 |
| -DshHome / -HarnessExe / -DshProcessName | 覆盖自动发现的结果。 |

退出码:0 干净,1 有残留,2 DSH 正在运行且未指定 -AutoRestart,3 等待 DSH 退出超时(未做任何改动)。

注意事项

- 仅支持 Windows。 需要 PowerShell 5.1+、计划任务,以及 Win32 窗口消息,才能让 DSH 正常关闭。
- DSH 会被关闭并重启。 如果托盘弹出确认对话框,需要你点一下。
- 当前会话无法删除。 它的复选框是禁用的,服务端还会再检查一次。
- 不要用两个 DSH 窗口操作同一个配置档。 两者都在内存里持有 workspace.json,后写入的会覆盖先写入的。
- 禁用托盘图标不会中断流程,但 DSH 若忽略关闭请求,助手就会超时——而超时意味着什么都没删*。

卸载

在插件管理器里禁用或移除 dsh-deep-purge,然后重启 DSH。插件本身不保存任何状态;它碰到的全是你自己的会话数据。

许可证

MIT。见 LICENSE 和 NOTICE.md。
预览分享卡片长什么样 ↓kkkkk-tubu/dsh-deep-purge
分享 · DeepSeek Harness Hub
kkkkk-tubu/dsh-deep-purge

彻底删除会话在磁盘上的全部六处痕迹

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部