DSH 会话物理删除插件:dsh-session-delete

前言

DSH 侧边栏里的「归档对话」只是把会话从列表中隐藏,会话日志文件仍留在文件系统里。akira399/dsh-session-delete 是一个 DSH 插件,在会话行的 ··· 菜单中新增「删除对话」入口,用于把会话日志从文件系统中永久删除,而不是仅做归档隐藏。

这是什么

  • 插件名:akira399/dsh-session-delete
  • 维护者:akira399
  • 许可证:MIT
  • 定位:在 DSH 侧边栏会话菜单中永久删除会话,真正的物理删除,不是归档隐藏
  • 依赖:仅使用 Node 内置模块与注入的官方服务,无第三方运行时依赖

核心能力

1、定位并删除日志文件:通过官方 sessionPersistence.locate() 定位会话目录,并递归删除日志文件。

2、处理运行中的会话:删除运行中的会话时,会先取消当前回复,并从内存摘除,再执行删除。

3、清理记账信息:同步清理 workspace.json 的会话席位与全局归档集合。

4、即时刷新:删除后会话行立即消失,无需刷新页面。

5、二次确认:删除前弹出确认框,并提示操作不可恢复。

6、定位校验:依据快照 store、侧边栏行序和标题校验,用于定位目标会话。

7、低依赖:仅使用 Node 内置模块与注入的官方服务,没有第三方运行时依赖。

安装与启用

已核实资料中的安装命令如下,其中 <owner> 是资料给出的占位符,未直接给出具体替换值:

npx -p @deepseek-ai/dsh dsh plugin --profile web add <owner>/dsh-session-delete

安装完成后重启 dsh web 生效。

由于删除操作会直接处理 DSH 本地会话文件,插件以当前 dsh 进程权限运行;安装前应检查源码与许可证。该插件许可证为 MIT

典型用法

1、在左侧对话列表找到目标会话,点击该会话行尾的 ··· 按钮。

2、在「归档对话」下方点击「删除对话」。

3、在确认弹窗中点击「确定」。

4、如果删除的是运行中的会话,会先中止该会话的回复,再执行删除。

5、安装完成后,需要重启 dsh web 才能使用新入口。

适用场景与注意

适合需要从文件系统中移除会话日志、而不只是从侧边栏隐藏会话的 DSH 场景。

需要注意以下边界:

  • 删除操作不可恢复。
  • 删除请求仅接受来自 localhost 的访问。
  • sessionId 严格校验为 session-<uuid> 格式。
  • 附件属于跨会话共享资源,不随会话删除。
  • 子代理会话独立存储,需要逐个操作。
  • 菜单注入依赖官方客户端 DOM 结构与菜单文本。
  • 查询/投影缓存不强制清理,官方缓存机制会在下次读取时自愈。

链接

GitHub 仓库:akira399/dsh-session-delete

目录页 URL 未在已核实资料中明确出现。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye