dsh-plugin-subagent-delete

DSH PLUGIN记忆与知识

仓库 heiheiha798/dsh-plugin-subagent-delete · npm dsh-plugin-subagent-delete

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH plugin 为 DeepSeek Harness 补充子代理生命周期管理,提供删除、释放与列表工具,清理 Web UI 中残留的子代理会话。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 3 复刻 0 · 未关闭 issue 0
最近更新 2026-10-11 创建于 2026-08-21
README 6.3 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:heiheiha798/dsh-plugin-subagent-delete#v0.2.0
兼容 DSH 版本0.2.0-rc.2 等 11 个版本版本不匹配时安装会报错
Node.js 要求^22.19.0 || >=24.0.0来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/dsh-tools@>=0.1.0-rc.8 <0.2.0-0 || >=0.2.0-rc.2 <0.3.0-0需要同时安装的同级依赖
npm 包名dsh-plugin-subagent-delete可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-plugin-subagent-delete:DeepSeek Harness 的子代理生命周期管理 DSH plugin

  • 永久删除子代理
  • 释放但不删记录
  • 列出后代子代理
  • Web UI 自动刷新

适用场景

记忆联网搜索智能体编排

上游标签

cleanupdeepseek-harnessdeletedshdsh-plugindsh-plugin-marketdsh-pluginssubagent

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方heiheiha798仓库 dsh-plugin-subagent-delete · 默认分支 main
分类记忆与知识memory
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue3 / 0 / 0收录时的数值,非实时
创建 / 更新2026-08-21 · 2026-10-11最后推送 2026-10-11
本站收录2026-08-27首次进入本站目录的时间

README 全文

6.3 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-plugin-subagent-delete

DeepSeek Harness(DSH)插件,补齐缺失的子代理生命周期接口:

  • delete_subagent — 永久删除子代理会话,并把它从会话列表中移除
  • release_subagent — 停止 / 释放子代理,但保留其对话记录
  • list_subagents — 列出当前会话的全部后代子代理(包括已结束的一次性子代理)

已在 DSH 0.2.1-alpha.2 上验证;同时保留 0.2.0-rc.2 与
&gt;=0.1.0-rc.8 &lt;0.2.0-0 的兼容分支(声明范围:
&gt;=0.1.0-rc.8 &lt;0.2.0-0 || &gt;=0.2.0-rc.2 &lt;0.3.0-0)。

为什么需要它

DSH 内置的子代理控制面只有 send_message、interrupt_agent 和 list_agents,
没有删除 / 释放接口。已结束的一次性子代理和不再使用的可续接子代理会一直堆积在
web UI 列表中。本插件补上这个缺口,提供带归属校验的、模型可调用的工具,以及可选的
HTTP 路由。

安装

dsh plugin --profile web add github:heiheiha798/dsh-plugin-subagent-delete
# 或固定到已发布版本
dsh plugin --profile web add github:heiheiha798/dsh-plugin-subagent-delete#v0.2.2
# 或从本地目录安装
dsh plugin --profile web add /path/to/dsh-plugin-subagent-delete

重启 profile,然后开始一个新会话。会话会获得三个工具。

工具

list_subagents

list_subagents({})                      // 所有后代
list_subagents({ activity: &quot;running&quot; }) // 仅运行中的
list_subagents({ mode: &quot;one-shot&quot; })    // 仅一次性子代理

返回调用者的后代子代理树:id、label、mode(one-shot | continuable |
external | unknown)、activity(running | inactive)、depth、
parentId、hasChildren,以及 present(持久化会话文件是否仍存在)。若某个子代理的
目录分支读取失败,会带上 unreadable(corrupt | unsupported |
unavailable),它仍然是可以删除的目标。

delete_subagent

delete_subagent({ subagent_id: &quot;0fcfbdd6-5d21-46a4-bd95-2ca6edac1261&quot; })
delete_subagent({ subagent_id: &quot;&quot;, recursive: true })

永久删除子代理:

  1. 校验目标是调用代理会话的后代(后代发现使用官方 ctx.subagents.listDescendants,
    失败时回退到持久化 header 的血缘遍历);
  2. 停止存活代理 / 通过官方 ctx.subagents.drainChildren(parent, childIds) 释放驻留的
    子 Activation(同时把子会话从 live store 中解绑);
  3. 如仍存活,则从 ctx.sessions flush 并 detach 该会话;
  4. 删除磁盘上的会话日志目录(两种 uuid 写法都会处理);
  5. 删除 session_projcache 行;
  6. 从 workspace 记账和归档集合中移除该 id。

没有传 recursive: true 时,如果目标仍有后代,会以 has-descendants 拒绝。
删除按子节点优先执行,且是永久性的。若目标的持久化会话已不存在,会返回
already_absent 而不是报错,因此递归删除不会中途失败。

release_subagent

release_subagent({ subagent_id: &quot;&quot; })
release_subagent({ subagent_id: &quot;&quot;, recursive: true })

停止当前回合,并通过 ctx.subagents.drainChildren(parent, childIds) 释放驻留的子
Activation,但保留持久化记录。之后仍可用 send_message 恢复。

web UI 自动刷新

永久删除会移除持久化子会话,但已打开的客户端仍会持有缓存的会话列表与投影。本插件
在不修改 DSH 的前提下弥合这个缺口:每次永久删除后,host 通过官方生命周期接口
(prepare → enter → announce → detach)发布一个短生命周期的 marker 会话;
随包发布的 web client 组件监听 sessions.list,在 marker 子会话被移除
(api-session/removed)时做 350ms 防抖,然后调用 sessions.refresh() 与
sessions.refreshProjections(parentId)(当前 dsh 的接口;0.2.1 之前使用
sessions.refreshSubagents(parentId),仍受支持)。因此删除后无需手动刷新页面,
列表会自动更新。marker 的 _no-cwd 文件会在 detach 后清扫,不留残留。

一个需要说明的限制:父会话的 subagent/catalog 事实是只追加的持久历史,所以被删除
的子代理可能仍会作为历史条目出现在父会话头部的子代理目录下拉框中,直到父会话日志
本身发生迁移。要移除该事实需要重写已提交的会话日志,DSH 并不支持。侧边栏会话列表会
正常刷新。

HTTP 路由(web profile)

用于客户端集成和本地调试,host 插件会注册:

  • GET /dsh-plugin-subagent-delete/list?parentSessionId=[&amp;activity=…][&amp;mode=…]
  • POST /dsh-plugin-subagent-delete/delete { &quot;parentSessionId&quot;: &quot;&quot;, &quot;subagentId&quot;: &quot;&quot;, &quot;recursive&quot;: false }
  • POST /dsh-plugin-subagent-delete/release { &quot;parentSessionId&quot;: &quot;&quot;, &quot;subagentId&quot;: &quot;&quot;, &quot;recursive&quot;: false }

HTTP 调用方必须提供目标实际所属的 parentSessionId;每次变更都会执行相同的归属校验。

安全

  • 子代理只能被它自己的会话树祖先删除。外部或未知 id 会返回 not-your-subagent;
    持久化会话已不存在的 id 会返回 already_absent,而不是硬失败。
  • 运行中的子代理会先被取消并等待(15 秒静默上界),然后才删除其文件;超时不会遗留
    未清理的定时器。
  • 文件删除会先确认成功,之后才清理 workspace 记账,失败的删除不会留下半清理的状态。

开发

npm test       # node --test
npm run check  # 语法检查(host + client bundle)+ 测试
npm run verify:dsh              # 针对已发布的 dsh 0.2.1-alpha.2 做契约探测
npm run verify:dsh 0.2.2-rc.1   # ……针对其他已发布版本
npm run pack:dry

测试套件包含单元测试,以及从十个真实一次性测试子代理生成的集成 fixture
(见 test/fixtures/test-subagents.json)。

npm run verify:dsh 会把指定版本的已发布 @deepseek-ai/dsh-* 安装到临时目录,
并用这些产物里的真实 ToolRuntime 驱动 src/index.js(注册、schema 编译、三个工具
的实际执行)。要针对新的 dsh 版本复检插件时用它即可,不需要先构建 harness 检出。

License

MIT

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-plugin-subagent-delete 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:heiheiha798/dsh-plugin-subagent-delete#v0.2.0` 即可。对应的 npm 包名是 `dsh-plugin-subagent-delete`。

dsh-plugin-subagent-delete 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-plugin-subagent-delete 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-plugin-subagent-delete 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2。版本较多,只列出前 8 个。

dsh-plugin-subagent-delete 需要什么运行环境?

Node.js ^22.19.0 || >=24.0.0;需要同时安装 @deepseek-ai/dsh-tools@>=0.1.0-rc.8 <0.2.0-0 || >=0.2.0-rc.2 <0.3.0-0。环境不满足时安装会失败,建议先确认本机版本。

dsh-plugin-subagent-delete 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-plugin-subagent-delete 有哪些功能?

永久删除子代理、释放但不删记录、列出后代子代理、Web UI 自动刷新。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

heiheiha798 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。