DSH Plugin MarketA community catalog for DeepSeek Harness plugins

dsh-session-recycler

Verified Sessions & messages ★ 2 0.3.0

DSH 会话管理插件:回收站恢复、子代理树清理、会话产物扫描与高亮、文件用途查询。

What it is

DSH 会话管理插件:回收站恢复、子代理树清理、会话产物扫描与高亮、文件用途查询。

How to install

Run this in the DSH web profile, then refresh the page.

$ dsh plugin --profile web add dsh-session-recycler@0.3.0

DSH versions accepted

>=0.2.0-rc.2

Author and traction

zhezhi33 · ★ 2 · Updated 2026-11-07

About this plugin

dsh-session-recycler

[English](README.en.md) | 中文

DeepSeek Harness 的会话管理插件,只支持 Windows。

DSH 删一条对话,删掉的往往只是侧栏那一行;而这条对话到底改过哪些文件,也没人说得清。这个插件补的就是这两件事:

  • 删得干净——删除分两段:先移进插件自己的回收站,随时能搬回侧栏原位置;确认不要了再彻底清,连带整条子代理树、侧栏账本、投影缓存、日志里相关的行、只被它引用过的附件,以及被清空后留下的空目录。
  • 删得稳——动手前先确认会话已经不在写日志(还在写就拒绝,且整批一条都不动),再逐条校验目标状态;产物里混进系统目录、DSH 数据目录的,直接跳过不删。
  • 说得清——右键一条对话,扫出它真正写过的文件(包括它写到工作区外面的那些临时脚本),在资源管理器里多选高亮;也能把完整路径清单交给助手,判断哪些可以删。

---

功能

1. 两段式删除

| 阶段 | 做什么 | 能恢复吗 |

|---|---|---|

| 移入回收站 | 会话目录整体 rename 进插件回收站(同盘原子操作,不复制);子代理对话跟着主对话一起搬走;侧栏投影缓存行备份后摘除 | 能 |

| 彻底删除 | 删掉回收站里的整条对话链,清侧栏账本(sessionIds / 归档 / 置顶)、投影缓存及其 .bak、日志里提到这些会话的行、cache/ 下同名条目、只被它们引用过的附件对象与 files-v3 登记 | 不能 |

| 恢复 | 目录搬回原工作区绝对路径,投影缓存行写回,会话回到侧栏原来的槽位 | — |

移入回收站时日志、缓存、附件一律不动,只有彻底删除才连带清理。

工作区里的会话被清空后,空掉的工作区注册也会一并注销,侧栏不会留下一个空分组;

恢复时若该工作区已被注销,会按原路径重新建回来,会话仍然回到原位置。

删除前有三道闸:

1. 会话静止检查——隔 240ms 读两次会话日志的大小与修改时间,还在变说明这一轮没结束,拒绝删除并提示等这一轮结束。检查覆盖整棵子代理树,不只是主对话。

2. 整批预检——勾了多条时,任何一条不合格(正在写入、已不在、已在回收站、不在回收站)就整批拒绝,一条都不动,并说明是哪一条、为什么。

3. 删除范围围栏——产物里出现盘根(D:\)、SystemRoot、Program Files、ProgramData、DSH 数据目录时跳过,并把失败原因如实回报。

2. 会话管理面板

入口有两个:侧栏底部的「会话管理」,以及会话右键菜单里的「移入回收站」。

  • 会话按工作区分组,组头可折叠;搜索框按标题或工作区过滤,「全选」作用于当前过滤结果,「全选本组」只作用于那一组
  • 每行两行式:标题一行,大小 · 最后活动 · 子代理数一行;悬停或选中才显出「文件信息」入口,列表本身保持安静
  • 两个页签(待清理 / 回收站)用下划线切换,各自带数量;勾选互不影响,切页即清空
  • 底部只有一行:左边「已选 N 个会话 · 共 X」,右边是这一步能做的动作
  • 回收站页的「同时删除文件产物」也收在这一行;识别结果做成可点的小字(3 个文件 · 1.2 MB),点开才是清单,不占版面
  • 删除后如实回报:删了几个产物、几个失败、清掉几个空目录;一个都没识别到也会直说,不会让人以为删干净了

3. 打开文件目录

右键会话 →「打开文件目录」:

  • 扫描整条对话链(主对话 + 它派生的所有子代理),只统计写操作产生的文件
  • 按目录聚类,打开文件最集中的那个目录,并把命中的文件多选高亮
  • 提示:已打开目录并高亮 N 个文件;另有 M 个文件在其它目录

右键会话 →「打开所有文件目录」:把散落在所有目录里的产物逐个目录打开并高亮,

不限制目录数。Explorer 操作通过串行队列执行,多个目录不会互相抢焦点。

打开方式可从面板右上角 ⚙ 查看;标签页自动化已停用,只用「多个窗口」。

产物识别的口径(只算产出,不算引用):

| 来源 | 算产物 |

|---|---|

| write / edit 工具调用的 file_path | ✅ |

| 命令行里的写入目标:> >> 重定向、Set-Content / Out-File、New-Item -Path、Copy-Item / Move-Item 的目标、tar -czf 输出 | ✅ |

| 会话期间被改动过的文件(mtime 兜底) | ✅ |

| 写在工作区之外的路径(例如会话自己造的 D:\buildtmp\verify-*.ps1) | ✅ 照常列出与删除,但受上面第 3 条围栏约束 |

| read / grep / read_image 打开过的文件 | ❌ 视图引用,不算 |

| 只在对话文字里被提到过的路径 | ❌ |

工作区之外的产物必须在正文里被完整写出才认得出;只靠 mtime 兜底扫描的,扫的是工作区范围。

4. 文件查询

右键会话 →「文件查询」:扫描这条对话的全部产物,生成一段分析提示词

(文件清单 + 目录分布 + 期望的输出格式),直接填进对话输入框,回车即可让助手

逐个说明文件用途,并归类为缓存 / 对话记录 / 生成文件 / 引用素材,给出哪些可以删。

输入框拿不到时(比如页面结构变了)自动退到剪贴板,粘贴即可。

5. 文件信息:复制当前所有路径

右键会话 →「文件信息」,或会话行右侧的「文件信息」按钮:扫描后在剪贴板里放一份

按类型分好组的完整路径清单——文件产物 / 缓存 / 工作目录 / 网络素材下载 / 对话记录,

分组内去重、按路径排序。粘到哪里都能直接用:搜索框、脚本、别的对话、文本比对工具。

---

安装

用安装包(推荐)

1. 完全退出 DeepSeek Harness(托盘图标右键退出,只关窗口不算)

2. 解压 dsh-session-recycler-<版本>.zip,双击 一键安装-纯PowerShell.cmd

3. 看到「安装完成」后重新打开 DeepSeek Harness,侧栏底部出现「会话管理」即成功

不需要联网,不需要管理员权限,不用自己装 Node 或 npm,只用 Windows 自带的 PowerShell 5.1。

装之前想先确认的话,给 cmd 加参数:

一键安装-纯PowerShell.cmd --check            只检查,不写任何文件
一键安装-纯PowerShell.cmd --dry-run          演练,打印会改什么
一键安装-纯PowerShell.cmd --profile desktop  机器上有多份 profile 时只装指定那份

Compare in this category

The five most-starred plugins in the same category.

PluginAuthor StarsVersionUpdated
dsh-purge kingcharleslzy-ai 6.3K 1.6.86 2026-11-08
dsh-unrestricted yexi-by 1.1K 0.2.8 2026-11-05
dsh-univer-office dream-num 707 0.4.0 2026-11-03
dsh-synapse liangmianya 697 0.5.7 2026-11-04
dsh-qqbot tencent-connect 570 0.5.5 2026-11-08