DSH 的会话可以归档,但归档不等于删除:会话文件仍然留在 $DSH_HOME 的 sessions 目录里。想真正删掉,用户只能手动去翻文件系统——而手动删内部存储布局是有风险的。
需求信号
截至 2026-09-17,同一需求在官方 Discussion 至少被独立开了 6 帖:#5744(8 赞同,详细描述了手动删文件的风险)、#3075(6 赞同)、#2772(5 赞同)、#3339(4 赞同),以及 #6845、#5057。隐私敏感的对话(比如让 Agent 处理过密钥的会话)是这条需求背后最真实的动机。
缺口在哪
索引层里只有 lsz-asd/dsh-plugin-session-delete(32★)和 xohmai/dsh-session-delete(10★)两个贴边实现,都只做「删」这一个动作,没有管理界面。对一个被要了 6 次的功能来说,这点供给约等于没有。
建议形态
Host service + Client UI 各一半:host 侧封装会话删除与批量管理的安全操作(先归档后删、删前确认、操作留痕),client 侧在会话列表加菜单项、在设置页加一个「会话管理」卡片(批量选择、按时间/大小排序、总占用统计)。
实现要点
- 会话存储与子系统行为看官方文档 docs/subsystems/session.md、persistence.md 与 spill.md——会话数据不止一个文件,漏删比不删更糟。
- 设置页卡片的官方做法:docs/cookbook/adding-a-settings-card.md。
- 删除是不可逆操作:默认二次确认,考虑「移入回收站目录、7 天后清除」的软删除。
最小可行版本
会话列表右键「彻底删除」+ 确认对话框 + 删除结果提示。其余都是增量。
风险与边界
这个插件触碰的是 DSH 的内部存储布局,而项目处在开发者预览期、破坏性变更频繁——布局一变插件就可能误删。必须声明 dshTarget 兼容范围,并在每次 harness 升级后复验。这也是它适合做成「会跟着版本维护」的项目的理由:先发者会积累最真实的兼容性知识。
FAQ
官方会自己做吗?
可能。但 6 个帖子横跨 2026-08 到 2026-09 仍无官方回应,窗口期真实存在;即使官方后来做了,「会话管理器」(批量、统计、软删除)仍然是超集。
删错了能恢复吗?
默认软删除就能。硬删除必须在 UI 里把不可逆性写清楚。