DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

liuyu-f /

liuyu-f/dsh-plugin-session-cascade-delete

Verified

Permanently delete DeepSeek Harness sessions from the UI (header button + sidebar row menu) or via the session_delete tool: removes the log directory, projection cache and workspace accounting, cascades into the subagent sessions a session owns (your forked branches are never touched), and stops a running agent first.

★ 4 Stars1 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@7a47e602

dsh-plugin-session-cascade-delete

npm license dsh-plugin DSH

实测从 V0.2.0-rc.* 到 0.2.2-rc.1 可用;不出意外将支持 0.2.2-rc.* 所有版本。 槽位名、服务签名会随版本变化,其他版本请自行核对。

package.json 的 engines.dsh 声明 >=0.2.0-rc.0 <0.3.0-0,DSH 会拦截范围外的版本。

简单实用的会话删除工具,在 DeepSeek Harness 中彻底删除会话及其相关数据。

会话头部有一个垃圾桶按钮,侧栏会话行的 "..." 菜单中有一项「删除会话」。确认后会删除该会话的日志目录、投影缓存、工作区记账,以及它拥有的子代理会话;运行中的会话会先停止并释放。删除完成后,该会话立即从界面和会话列表消失,无需重启。适用于 Web 界面及一切基于 Web 外壳的客户端。

同时提供 agent 工具 session_delete。

侧栏菜单里的「删除会话」 删除确认弹窗

安装

两种安装方式,任选其一。

UI (推荐):

打开软件 - 点击左上方插件 - 再点击右上方+ 添加插件,然后输入:

@liuyu-f/dsh-plugin-session-cascade-delete

终端:

  • web
dsh plugin --profile web add @liuyu-f/dsh-plugin-session-cascade-delete
  • 桌面:
dsh plugin --profile desktop add @liuyu-f/dsh-plugin-session-cascade-delete

怎么用

入口 位置
头部垃圾桶 会话标题旁的动作区
菜单项 侧栏会话行 "..." → 「删除会话」
agent 工具 session_delete(参数见下)

侧栏会话行「...」菜单中的「删除会话」在 DSH 0.2.2+ 位于「归档会话」之后;旧版按 legacy 菜单顺序。

侧栏菜单项与确认弹窗(截图为深色主题):

删掉一个父会话时,它拥有的子代理会话会被一并删除(最深者先删)。

  • 会话正在运行时:先停止任务、释放运行中的 Agent 和会话,再删除;删除后立即从界面与会话列表移除。
  • 分叉会话(fork)是独立的:删掉一个分叉不会连带删除任何东西,也不会牵连子代理。
  • 子代理归属"创建它的那个会话"(DSH 机制):若先在 A 会话里创建了子代理、再从 A 分叉出 B,那么删除 B 对子代理没有影响,删除 A 才会删除它们。分叉只复制对话上下文,不接管子代理的归属。

agent 工具

agent 也能删除会话,并在结果里报告实际删掉了什么:

agent 调用 session_delete 删除运行中会话后的结果

参数 作用
sessionId 直接指定要删的会话 id(推荐)
title 只知道标题时用;只有在标题唯一时才会删,否则报错并列出候选
discover 只列出本 profile 知道的会话,不删任何东西;当前会话在标题后标 > (当前会话)
discoverTree 只列出某一个会话拥有的子代理树(id、深度、父级),不删任何东西。删除前不需要用它——删除本身就会级联,结果里会报告实际删掉了什么
keepSubagents 只删这一个会话,保留它的子代理会话(默认是连子会话一起删)

两条安全约束:

  • 拒绝删除本次调用所在的会话(工具结果必须写进那个日志),并拒绝删除"其树中包含本次调用所在会话"的会话。
  • 注意区分:被拒绝的是"本次工具调用所在的会话",不是"你界面上正打开着的会话"——后者可以正常删除。

配置(可选)

写在 profile 的 cordis.patch.yml 里(本插件不导出 Config schema,故设置页没有表单):

- id: session-delete
  name: "@liuyu-f/dsh-plugin-session-cascade-delete"
  config:
    deleteSubagents: false # 默认 true:删父会话时连子代理会话一起删
    sessionsRoot: "" # 可选:覆盖会话日志根目录,默认 $DSH_HOME/sessions

删掉了什么

一次删除会先停止并释放运行中的 Agent 与会话,再清理:会话日志目录 → 投影缓存(缓存行与磁盘文档)→ 工作区记账(所属工作区成员、归档、置顶)→ 子代理会话(由深到浅)→ 通知界面立即移除对应的行。删除后不需要重启 DSH。

任何一步没做成,都不会静默:结果报告里会有一条 INCOMPLETE,列出是哪一步、什么原因。日志确认删净之后才会动记账,所以不会出现"删一半、会话掉进未分组"的坏行。

更新与卸载

# 换版本:先移除再安装。已安装状态下直接再装会报 ambiguous-install。
dsh plugin --profile desktop remove @liuyu-f/dsh-plugin-session-cascade-delete
dsh plugin --profile desktop add @liuyu-f/dsh-plugin-session-cascade-delete

关于这个插件

@huanlin/dsh-plugin-session-delete(上游仓库)的新 DSH 适配版,改动与增强围绕子代理:级联删除、分支保护、活会话删除、会话 id 两种拼写的处理。维护者文档见 DEVELOPMENT.md。

版本

版本 变更
1.0.9 新版菜单桥接:DSH 0.2.2+ 通过官方 ctx.contextMenus 注册,删除项位于 Archive 之后;旧版继续使用 legacy slot。新增 engines.dsh 兼容范围,并复用同一个删除请求与图标逻辑
1.0.8 回退 1.0.7 的 ctx.contextMenus 适配,恢复 legacy slot;删除项稳定位于「归档会话」之前。遵循 DSH 将 Archive 放在菜单 footer 的官方设计,不为顺序增加生命周期代码
1.0.7 适配 DSH 0.2.2 的会话菜单:删除项改由 ctx.contextMenus 注册,固定在 Archive 之后;旧版 DSH 仍走 legacy slot。兼容范围更新到 0.2.2-rc.1,并补充 agent 删除示例截图
1.0.6 文档:更新 DSH 兼容范围——实测 V0.2.0-rc.* 到 0.2.1-rc.5 可用,0.2.1-rc.* 预期全部可用
1.0.5 删除运行中的会话时先释放 Agent 与会话(停止、注销、从会话存储移除),再清理日志与缓存;删除后界面与 discover 立即不再列出,无需重启。适配 DSH 0.2.1-rc.2
1.0.4 文档简化:DEVELOPMENT.md 移除发布流程与旧版更新日志,README 去掉钉版本说明;投稿收录清单 PR #6699
1.0.3 discover 列出会话时,当前会话的标记从行首移到标题之后(标题 > (当前会话)):标题才是读者比对的字段,行首的标记跨行容易看错
1.0.2 删除当前打开的会话后清空主视图,不再新建会话。此前复用 startSession()(新建会话流程),每次删除都可能留下一个内存中的 (untitled) 会话,重启才消失
1.0.1 discoverTree 不再被描述成删除前的必要步骤。此前 agent 会先预览级联范围再删除,实际删除本身即级联、结果也会报告删除了什么,预览只在调用方明确要求时才需要
1.0.0 首个版本:界面删除入口(会话头部 + 侧栏菜单)、session_delete 工具、子代理级联删除、分支会话保护、运行中会话先停止
—/ 5

No ratings yet

Verified DSH bundle

Commit 7a47e60271a3

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout