SMWHff/dsh-delete-session

SMWHff★ 0JavaScriptLast synced: 2026-08-15

Open on GitHub

DSH Web client+host plugin: delete a session (durable log + workspace accounting) from the session overflow menu

README excerpt

dsh-delete-session Delete a session from the DSH Web GUI — DeepSeek Harness (dsh) Web 模式的主机 + 客户端插件。 在会话列表每行右侧的省略号菜单(重命名 / 分叉会话 / 归档会话)末尾追加一行 「删除会话」 :点击后弹出产品级风险确认对话框( RiskConfirmation , 勾选「我了解此操作不可恢复」后方可确认),随后彻底删除该会话——包括 磁盘上的会话日志目录( sessions/ / / )与工作区记录中的 会话登记;成功 / 失败均有 Toast 反馈。 删除行为 1. 运行中拒绝 :该会话的 agent 正在运行时拒绝删除(提示等待完成)。 2. 空闲存活实例 :先 flush 把缓冲事件落盘,再 detach;detach 发布的 session/disposed 由 host API proxy 转发为 host/session-removed , 已打开的客户端列表自动移除该会话。 3. 持久日志 :通过 sessionPersistence.findLog 定位日志文件,整目录移除。 4. 工作区登记 :从所有引用了该会话的工作区记录中 detach(触发 host/workspace-changed 帧)。 5. 客户端收尾 :刷新会话基线;若删除的是当前打开会话,清空选择回到空态。 工作原理 - 主机端 :按 dsh-open-in-vscode 同款模式注册严格 Typert Remote ( deleteSession/delete ),主机 Gateway 无需 @Remote 标记表即可解析调用。 - 客户端 :当前构建的会话行菜单没有原生 slot,因此按 legacy 适配器模式 注入:识别会话行省略号按钮(aria-label 模板匹配),在 portal 菜单弹出时 用 MutationObserver 把删除行挂进菜单。会话身份解析优先级:当前选中行 → 显示标题唯一匹配;解析失败则不注入(宁缺毋滥)。确认对话框由独立 React root 渲染( RiskConfirmation + Toast ,均来自 dsh-client-ui-primitives)。 安装 从 GitHub 安装: 或手动:把包链接进 profile 的 node modules,并在 profile manifest 登记: bundle 层增删需重启 web 表面,并刷新页面让浏览器拿到新的 window. DSH BOOT 图。包内 lib/ 已随源码提交,file: 安装无需重新构建。 构建 文件结构 兼容性 依赖运行时会话列表快照( displayTitle / blank / current )、workspace locale 的 a…

View full README on GitHub →
Terminal / TUIdsh-pluginagentvscode

Category