前言¶
DSH 默认的会话管理仅提供“归档”功能,将会话隐藏但不从磁盘清理。长期使用或共享环境会导致 $DSH_HOME/sessions/ 日志目录膨胀。dsh-delete-session 插件填补了这一空白,它为 Web 侧栏增加了真正的会话删除能力,支持单条右键删除和批量删除,并会同步清理对应的日志目录与投影缓存。
插件介绍¶
这是一个客户端插件,由 NIGHT576 维护,采用 MIT 许可证。它解决了产品自身不提供“真正删除”能力的痛点,适用于需要清理磁盘空间、管理共享机器环境或确保演示环境干净的部署场景。
核心功能¶
- 右键菜单删除:在会话列表的每一行右键菜单中增加“Delete conversation”选项,用于删除单个会话。
- 批量删除对话框:在工作区标题栏显示垃圾桶图标,点击可打开批量删除对话框,支持按标题过滤和全选操作。
- 归档优先机制:删除前会先将会话加入归档集(这是产品隐藏会话的唯一持久机制),确保逻辑顺序正确。
- 磁盘清理:删除
$DSH_HOME/sessions/目录下的会话日志文件,并移除投影缓存条目。 - 运行中保护:拒绝删除
agent status为running的会话,防止因文件被占用导致数据损坏。
安装与启用¶
使用以下命令将插件安装到 Web 配置文件中。安装完成后,必须重启 DSH 进程以加载主机部分。
dsh plugin --profile web add github:NIGHT576/dsh-delete-session
典型用法¶
- 单条删除:在会话列表行点击右键,选择“Delete conversation”并确认。
- 批量删除:点击工作区标题栏的垃圾桶图标,在弹出的对话框中勾选需要删除的会话,点击确认。
注意事项¶
- 不可逆操作:一旦删除,日志目录将被永久移除,无法恢复。
- 运行会话拦截:处于运行状态的会话(
agent status为running)无法被删除。 - 数据隔离:删除操作仅针对当前会话,不会影响附件、其他会话或工作区记录。
- 进程重启:安装后需重启进程以加载主机部分。
结尾¶
该插件通过彻底清理日志和缓存,帮助开发者解决 DSH 环境下的磁盘空间占用问题。如需查看更多细节或贡献代码,可访问 插件目录 或访问 GitHub。