akira399/dsh-session-delete

akira399★ 1JavaScriptLast synced: 2026-08-15

Open on GitHub

Permanently delete DSH sessions from the file system, right from the sidebar conversation menu — 在 DSH 侧边栏菜单真正物理删除会话,而非归档隐藏。

README excerpt

dsh-session-delete 在 DSH 侧边栏对话菜单中 真正永久删除 会话 —— 从文件系统层面删除会话日志,而不是像归档那样仅仅隐藏。 DSH 官方客户端目前只提供「归档会话」(把会话从列表隐藏,日志文件仍留在磁盘)。本插件在会话行 ··· 菜单的「归档对话」下方新增「 删除对话 」入口:点击并确认后,会话的日志文件会从磁盘彻底删除, 不可恢复 。 功能特性 - ✅ 真实物理删除 :通过官方 sessionPersistence.locate() 定位会话目录并递归删除日志文件,非隐藏、非标记删除 - ✅ 运行中的会话也能删 :自动取消正在进行的回复 → 从内存摘除 → 删除文件,删除后不会被内存日志"复活" - ✅ 记账同步清理 : workspace.json 的会话席位与全局归档集合一并清除,不留脏数据 - ✅ 即时刷新 :删除后会话行立即消失,无需刷新页面(复用官方 store 刷新与事件帧) - ✅ 二次确认 :删除前弹出确认框,显示会话标题并明确提示不可恢复 - ✅ 识别准确 :依据官方快照 store + 侧边栏行序 + 标题三重校验定位会话,避免误删 - ✅ 零依赖 :仅使用 Node 内置模块与注入的官方服务,无第三方运行时依赖 使用场景 - 清理不再需要的实验性对话、临时会话,释放磁盘空间 - 删除包含敏感内容的会话,确保日志从磁盘彻底消失 - 归档无法满足的"彻底删除"需求(归档只是隐藏,文件仍可被搜索/导出找回) 安装 安装完成后 重启 dsh web 生效。 也可以从 GitHub 仓库地址安装: npx -p @deepseek-ai/dsh dsh plugin --profile web add github: /dsh-session-delete 使用 1. 在左侧对话列表找到目标会话,将鼠标移到该行,点击行尾的 ··· 按钮; 2. 菜单中「归档对话」下方点击「 删除对话 」(英文界面为 Delete session ); 3. 在确认弹窗中点击「确定」; 4. 会话行立即从列表消失,磁盘上的会话日志已永久删除。 删除 正在运行 的会话时,会先中止该会话的回复再执行删除。 工作原理 DSH 官方没有为会话行菜单提供扩展 slot,本插件采用 host + client 双半端实现: - Host 半端 ( lib/index.js ):注册本地路由 POST /session-delete/api/delete 。 - 校验 sessionId (严格 session- 格式,杜绝路径穿越)与请求来源(仅 localhost); - 若会话在内存中(打开/运行):通过官方 agents 服务取消当前 turn,再通过 sessions store 的标准 detach() 路径摘除内存会话(触发官方 hos…

View full README on GitHub →
Skins / UIdeepseek-harnessdshdsh-pluginpluginsession-deletesidebar

Category