为 DeepSeek Harness 补上「删除会话」:侧栏菜单一键删除,递归清理子会话、日志、投影缓存、搜索索引与工作区记账。
30.2/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Changqin1024/dsh-session-delete-cascade该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-session-delete-cascade
给 DeepSeek Harness 补上「删除会话」:点会话旁的 ⋯ → 删除,连子会话一起清干净。
npm 包名与仓库名都是 dsh-session-delete-cascade。
DeepSeek Harness 出于设计考虑只提供归档,不提供删除——会话可以隐藏,但永远不会被移除,日志会一直堆在磁盘上。这个插件把删除能力补回来,作为一个可随时卸载的 bundle,不动官方任何代码。
功能
- 侧栏菜单项:会话行的 ⋯ 菜单里新增「删除会话」,排在「归档会话」之后
- 确认弹窗:删之前告诉你到底会删掉什么,并列出将被连带删除的子会话
- 递归删除:连同该会话的全部子代理子孙(孙代理也删),fork 会话不受影响
- 彻底清理:对话日志、投影缓存、搜索索引、工作区记账,一处不留
- 安全护栏:有任务在跑时拒绝删除并指明是哪个会话,不会删一半
安装
包已发布到 npm:<https://www.npmjs.com/package/dsh-session-delete-cascade>
桌面端(DeepSeek Harness App)
设置 → 插件 → 添加插件,输入包名:
dsh-session-delete-cascade
展开完整文档(README 剩余 1 节)
dsh-session-delete-cascade 给 DeepSeek Harness 补上「删除会话」:点会话旁的 ⋯ → 删除,连子会话一起清干净。 npm 包名与仓库名都是 dsh-session-delete-cascade。 DeepSeek Harness 出于设计考虑只提供归档,不提供删除——会话可以隐藏,但永远不会被移除,日志会一直堆在磁盘上。这个插件把删除能力补回来,作为一个可随时卸载的 bundle,不动官方任何代码。 功能 - 侧栏菜单项:会话行的 ⋯ 菜单里新增「删除会话」,排在「归档会话」之后 - 确认弹窗:删之前告诉你到底会删掉什么,并列出将被连带删除的子会话 - 递归删除:连同该会话的全部子代理子孙(孙代理也删),fork 会话不受影响 - 彻底清理:对话日志、投影缓存、搜索索引、工作区记账,一处不留 - 安全护栏:有任务在跑时拒绝删除并指明是哪个会话,不会删一半 安装 包已发布到 npm:<https://www.npmjs.com/package/dsh-session-delete-cascade> 桌面端(DeepSeek Harness App) 设置 → 插件 → 添加插件,输入包名: dsh-session-delete-cascade 也可以直接粘贴仓库地址 https://github.com/Changqin1024/dsh-session-delete-cascade。 装完完全退出并重开 App,侧栏会话的 ⋯ 菜单里就会出现「删除会话」。 ⚠️ 桌面端的 profile 不能用 CLI 安装。 DSH 对 desktop profile 做了排他保护: error: profile "desktop" is managed exclusively by the Electron application。 桌面端请走上面的「设置 → 插件」。 Web / CLI profile dsh plugin --profile <profile> add dsh-session-delete-cascade 例如 dsh plugin --profile web add dsh-session-delete-cascade。装完重启该 profile。 从 GitHub 安装也可以(npm 之外的备选路径,会锁定到具体 commit): dsh plugin --profile <profile> add github:Changqin1024/dsh-session-delete-cascade 卸载 桌面端:设置 → 插件,找到本插件点卸载。 CLI:dsh plugin --profile <profile> remove dsh-session-delete-cascade。 版本说明 engines.dsh 声明为 >=0.2.0-rc.2。本插件用到的 ctx.connection.fetch.register 在 DSH 0.2.0-rc.2 上验证通过。 删除范围 在弹窗里点确认后,以下内容会被移除(针对目标会话及其子代理血缘): | 内容 | 位置 | 处理方式 | | 对话历史 | ~/.dsh/sessions/<项目>/<会话ID>/(append-only JSONL 日志) | 逐个删除目录 | | 投影缓存(空会话标记、最后提问时间、标题等) | session_projcache 存储域 | 逐行删除 | | 搜索索引行 | 会话搜索 SQLite 索引 | 日志消失后自动对账清除(索引观测的是持久化列表) | | 工作区记账 | 每个工作区记录的 sessionIds,以及全局归档集、置顶集 | 逐项移除 | 不删的东西:按会话 ID 无法寻址的缓存,例如附件请求图缓存(~/.dsh/cache/attachments/request-images/)。清它需要先读日志拿内容哈希,代价不成比例;会话删掉后它也不会再出现在任何界面,后续按需重新生成。 血缘规则:什么算「子会话」 子代理(origin: 'subagent')会被递归删除,包括子代理的子代理。 fork 不算子会话。 fork 出来的会话虽然带 parentSession 字段,但没有 subagent 来源,它是独立对话,会保留。这条规则跟 DSH 自带归档门禁判定会话归属的规则完全一致。 - 弹窗会预览血缘:按标题列出子会话及数量 - toast 会汇报连带删除了几个 - 删子会话只删它自己的子树,父会话和兄弟会话不动 执行顺序与安全 删除严格按以下顺序,保证任何中间状态都不是撕裂的: 1. 收集血缘 — 从持久化 header 读,而不是从运行时的 Subagent catalog 读。这样即使中间某个会话读不出来,血缘依然完整。 2. 拒绝检查 — 只要血缘里任何一个会话还有工作在跑(进行中的回合、运行中的子代理、后台任务、定时提醒),就以 session/delete-active 拒绝,并在详情里列出每一个出问题的会话 ID 和它的活动类型。拒绝时不会删除任何东西。 3. 释放 Agent — 深度优先(先子后父)。子会话的 loop 先排空,父会话的日志才会消失,避免迟到的结算打到已经不存在的父级。 4. 清投影缓存行 5. 删日志目录 6. 从工作区记账中移除 第 3~6 步都是容错的(失败只记日志、不抛错),避免某个派生存储卡死导致日志残留——日志才是侧栏会一直显示的那个东西。 实现说明 插件分 Host / Client 两半,通过 Connection 上的 HTTP 路由通信: | 文件 | 职责 | | lib/index.js | Host 半边:注册 POST /api/session-delete.delete,血缘遍历与有序删除 | | lib/client.js | 浏览器半边:菜单行、带血缘预览的确认弹窗、结果提示(控件全部内联,无 Harness 包依赖) | | cordis.patch.yml | 插入唯一一条 Host 插件行 | | package.json | bundle 清单:dsh.bundle.patch + web 端 dsh.client 配置 | | icon.svg、locale/*.json | 插件管理页卡片元数据 | 验证清单 1. 侧栏悬停任一有内容的会话行,打开 ⋯ 菜单:删除会话是最后一项 2. 在一个有子代理的会话上点它:弹窗会写明保留边界,并列出将一并删除的子会话 3. 确认后:血缘里每一行都从侧栏消失,对应的 ~/.dsh/sessions/<项目>/<会话ID>/ 目录都不在了 4. 同一父会话 fork 出来的会话仍在侧栏 5. 侧栏搜索只存在于已删会话里的文字:无结果 已知边界 - 附件请求图缓存不清理,理由见上 - 血缘按持久化 header 遍历,因此只覆盖已经落盘的会话;纯内存中尚未 materialize 的子会话若不在 session.list() 里,不会被遍历到(实际使用中子会话总是先落盘) - 删除是"整条血缘全或无":任何一个后代在跑,整条都删不了。这是刻意的,半删会留下指向不存在父级的孤儿 - 客户端界面控件是内联实现而非复用宿主组件库。若 DSH 未来改动这些控件的视觉规范,插件需要跟进;代价换来的是不受宿主包变动影响 许可 MIT 相关 - DeepSeek Harness:https://www.deepseek.com/harness/ - 本插件未修改 DSH 任何文件,仅通过官方插件机制接入
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Changqin1024/dsh-session-delete-cascade
为 DeepSeek Harness 补上「删除会话」:侧栏菜单一键删除,递归清理子会话、日志、投影缓存、搜索索引与工作区记账。
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。