← Back to home@Angela-lwh

dsh-archive-purge

Delete button for archived DeepSeek Harness sessions: removes a Session's log, its Workspace membership and its archive mark — with a deferred mode for Sessions the Host still holds.

Stars
0
Language
JavaScript
Created
Oct 7, 2026
Updated
Oct 14, 2026

Introduction

dsh-archive-purge

English | 中文

给 DeepSeek Harness 的已归档会话加一个「真正删除」按钮。DSH 能把会话归档,却从来没有删除能力。

插件如何工作

界面:每个已归档的会话行上会多出两个入口 —— 行内 ... 菜单里的 删除会话,以及悬停时 出现的垃圾桶按钮。两者都先弹出确认框,写明会话名并声明不可撤销。正在使用的、或仅仅未归档的 会话上不会出现它们。

一次删除按顺序做这些事:

  1. 拒绝正在干活的会话(有进行中的对话);
  2. 拒绝未归档的会话 —— 归档标记就是这次删除的授权;
  3. 定位该会话的目录($DSH_HOME/sessions/<项目键>/<会话 id>/),并校验里面确实是它的日志, 确保路径不对就绝不删;
  4. 若宿主此刻仍加载着这个会话,先释放宿主的持有(只有已归档且空闲的才会释放;正在干活的 永不释放);
  5. 递归删除该目录 —— 这个会话的全部日志世代;
  6. 清掉持久记录:工作区归属与归档标记,然后通知所有已连上的界面立刻移除那一行。

当场删不掉的情况:正在干活的会话任何情况都不删;暂时释放不掉的会被登记下来 ($DSH_HOME/archive-purge/pending.json),在下次 DSH 启动时自动完成,也可以随时手动完成(见下)。 登记期间会话历史原样不动,取消归档即可撤销这次登记。

刻意不碰:附件($DSH_HOME/attachments,跨会话共享)与投影缓存。删除不可逆,不进回收站。

怎么使用

安装(在仓库根目录执行;路径必须是绝对路径):

dsh plugin --profile desktop add file:<本仓库的绝对路径>/plugin

使用:

  1. 把侧栏视图筛选切到 仅显示已归档;
  2. 悬停该行点垃圾桶图标,或打开它的 ... 菜单选 删除会话;
  3. 确认。宿主能释放的会话当场删除、那一行立即消失;被登记的会话会在下次启动完成,弹窗会如实说明。

手动完成被登记的删除:任意会话行的 ... 菜单 → 完成待删除清理 → 立即清理。

卸载:

dsh plugin --profile desktop remove dsh-archive-purge

刷新页面(Ctrl+R)即可看到按钮,宿主侧不需要重启。