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 能把会话归档,却从来没有删除能力。
插件如何工作
界面:每个已归档的会话行上会多出两个入口 —— 行内 ... 菜单里的 删除会话,以及悬停时
出现的垃圾桶按钮。两者都先弹出确认框,写明会话名并声明不可撤销。正在使用的、或仅仅未归档的
会话上不会出现它们。
一次删除按顺序做这些事:
- 拒绝正在干活的会话(有进行中的对话);
- 拒绝未归档的会话 —— 归档标记就是这次删除的授权;
- 定位该会话的目录(
$DSH_HOME/sessions/<项目键>/<会话 id>/),并校验里面确实是它的日志, 确保路径不对就绝不删; - 若宿主此刻仍加载着这个会话,先释放宿主的持有(只有已归档且空闲的才会释放;正在干活的 永不释放);
- 递归删除该目录 —— 这个会话的全部日志世代;
- 清掉持久记录:工作区归属与归档标记,然后通知所有已连上的界面立刻移除那一行。
当场删不掉的情况:正在干活的会话任何情况都不删;暂时释放不掉的会被登记下来
($DSH_HOME/archive-purge/pending.json),在下次 DSH 启动时自动完成,也可以随时手动完成(见下)。
登记期间会话历史原样不动,取消归档即可撤销这次登记。
刻意不碰:附件($DSH_HOME/attachments,跨会话共享)与投影缓存。删除不可逆,不进回收站。
怎么使用
安装(在仓库根目录执行;路径必须是绝对路径):
dsh plugin --profile desktop add file:<本仓库的绝对路径>/plugin
使用:
- 把侧栏视图筛选切到 仅显示已归档;
- 悬停该行点垃圾桶图标,或打开它的
...菜单选 删除会话; - 确认。宿主能释放的会话当场删除、那一行立即消失;被登记的会话会在下次启动完成,弹窗会如实说明。
手动完成被登记的删除:任意会话行的 ... 菜单 → 完成待删除清理 → 立即清理。
卸载:
dsh plugin --profile desktop remove dsh-archive-purge
刷新页面(Ctrl+R)即可看到按钮,宿主侧不需要重启。