dsh-subagent-output-sanitizer:清理子代理消息中的孤立工具块

前言

在 DSH 里跑子代理(subagent)时,模型回复里有时会留下「孤立」的工具调用块:上下文里已经没有对应的工具结果,或结构不完整,仍占在消息流里。这类片段会干扰后续轮次解析、展示和调试。手工删改既慢又容易漏。

下面介绍社区插件 dsh-subagent-output-sanitizer(维护者 vb2250158,分类:工作流)。它在 DSH 配置层面对子代理输出做清理,目标是去掉这些孤立的工具块,让消息链更干净。插件在目录中的展示名为英文 Subagent output cleanup、中文 子代理输出清理(随 DSH 界面语言切换)。

这是什么

dsh-subagent-output-sanitizer 是开源 DSH 插件,核心能力一句话:清理子代理消息中的孤立工具块。

本 release 要求 DSH 0.2.1-alpha.1 或兼容的 0.2 系列;细节见仓库内 docs/dsh-0.2-compatibility.md。

核心功能

依据 README,插件当前明确描述的能力只有一项:

  1. 子代理输出清理:处理子代理消息,移除孤立的工具块,避免无效工具片段残留在对话结构中。

插件通过 dsh.bundle 声明,安装后会把自己的配置补丁合并进当前 profile,无需在本仓库里长期保存插件源码(多机同步场景下,profile 侧通常只保留仓库地址、固定提交、启停与配置)。

安装与启用

安装前请自行阅读仓库源码与 MIT 许可证;插件随 当前 DSH 进程权限 运行,只从可信来源、固定提交安装。

官方 README 给出的步骤是:先锁定公开仓库的某一提交,再通过 DSH 官方入口安装(将 <commit> 换成实际 commit SHA):

pnpm dsh plugin --profile web add github:vb2250158/dsh-subagent-output-sanitizer#<commit>

安装完成后,插件包会把 cordis.patch.yml 对应的配置层加入该 profile。

配置存放位置

插件相关配置保存在 DSH profile 的 cordis.patch.yml 中。若你用 Git 同步 profile 仓库,一般只同步仓库地址、固定提交、启停状态和配置内容,不必把插件源码放进同一仓库。

验证与开发自检

维护者在 README 中给出的本地校验命令如下(在插件源码目录执行):

npm test
npm pack --dry-run

npm test 对应 node --test tests/*.test.mjs,用于跑包内测试;npm pack --dry-run 用于检查发布文件列表是否与 package.json 的 files 字段一致。

适用场景与注意

适合谁

  • 经常在 DSH 工作流里启用子代理,且遇到过消息里残留无效工具块的情况。
  • 已在使用或计划使用 DSH 0.2.x,并愿意通过 profile 插件扩展行为。

使用时注意

  1. 版本:必须满足 DSH 0.2.1-alpha.1 或兼容 0.2;升级 DSH 前对照仓库 compatibility 文档。
  2. 安装方式:使用 README 中的 pnpm dsh plugin --profile web add github:...#<commit>,不要省略 commit pinning。
  3. 权限与安全:插件与 DSH 同进程;安装前检查源码与许可证,目录页(SkillHub)为社区索引,与 DeepSeek / 幻方无官方从属关系。
  4. 能力边界:README 仅说明清理孤立工具块,未列出更多可配置项;具体行为以 cordis.patch.yml 与 lib/index.js 为准。

结尾

dsh-subagent-output-sanitizer 定位清晰:在工作流侧自动清理子代理输出里的孤立工具块,减少手工修消息的成本。需要固定 commit 安装、在 profile 的 cordis.patch.yml 中管理配置,并确保 DSH 版本在 0.2 兼容范围内。

  • 目录页:https://www.skillhub.cn/plugins/vb2250158/dsh-subagent-output-sanitizer
  • GitHub:https://github.com/vb2250158/dsh-subagent-output-sanitizer
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜