yauntyour/DSH-SessionDelete
yauntyour★ 0TypeScriptLast synced: 2026-08-15
DSH 会话删除插件:在「归档会话」下方新增「删除会话」
README excerpt
dsh-session-delete DSH 会话删除插件:在「归档会话」下方新增「删除会话」 一键删除 二次确认 宿主推送即时刷新 同名会话多选 永久删除 会话及其全部消息记录(日志文件 + 工作区账目 + 投影缓存), 列表通过 DSH 宿主推送自动刷新,无需刷新页面。 ✨ 功能 - 🗑️ 菜单注入 :每个会话行的 ⋯ 操作菜单里,在「归档会话」正下方新增「删除会话」——红色危险配色(跟随主题 --dsw-alias-state-error-primary )+ 垃圾桶图标 + 危险态悬停底色; - 🛡️ 二次确认 :危险操作弹窗(跟随主题变量),确认前不会删除任何数据; - 🪞 同名会话多选 :存在多个同名会话时,弹窗列出全部候选(标题 + id + 相对时间),由你选择; - ⚡ 即时刷新 :删除通过 DSH 既有 wire 推送( host/session-removed / host/workspace-changed / host/archived-sessions-changed )更新会话列表, 不需要刷新页面 ;删除当前会话时自动回到「新会话」视图; - 🧹 干净删除 :不只删日志文件——同时清理工作区账目( workspace.sessionIds )、归档集合( archivedSessionIds )与投影缓存( session projcache ),重启后不会出现幽灵会话; - 🔒 与官方同源的安全围栏 :删除接口复用 /api 网关同款的浏览器信任围栏(loopback Host 或受信主机 + 同源检查)。 📦 安装(Profile Bundle,推荐) 若 pnpm 报 ERR PNPM UNEXPECTED STORE (profile 的 node modules 与当前 store 不一致, 通常是 pnpm 版本/配置变更导致),先在 profile 目录重装对齐: 再重新执行上面的 dsh plugin --profile web add 。 ✅ 验证安装 重启 dsh web 使插件生效 ,然后刷新浏览器页面: 在左侧会话列表任意会话行的 ⋯ 菜单中,「归档会话」下方即出现「删除会话」。 🚀 使用 1. 将鼠标移到会话行上,点击行尾的 ⋯ ; 2. 在菜单中点击「归档会话」下方的 删除会话 ; 3. 在确认弹窗中核对会话标题(多个同名会话时先选择目标); 4. 点击「删除」,等待「会话已删除」提示——列表自动移除该会话。 ⚠️ 删除 不可恢复 :会话日志文件会被永久移除。请谨慎操作。 🔧 工作原理 客户端(lib/client.js,纯 DOM,无框架依赖) - MutationObserver 监听 document.body ,发现包含「归档会话」项的行操作菜单时, 克隆该项并改标为「删除会…
View full README on GitHub →