dsh-subagent-watchdog:为原生可续子代理实现一次性的 max-tokens 自动恢复

前言

在 DSH 工作流中,当子代理因输出 Token 不足(max-tokens)而终止时,运行会将 stopReason 设为 ‘max-tokens’ 并停止。此时父代理需要手动决定并恢复该子任务。dsh-subagent-watchdog 针对这一具体场景,通过官方接口自动执行一次恢复。

它是什么

这是一个 DSH 插件,用于自动恢复以明确的 max-tokens 终止的原生可续子代理。插件在恢复一次后会停止干预,不包含循环或定时器。

  • 所有者: quaner1234-cmd
  • 类别: 工作流
  • 许可证: MIT

核心功能

插件通过官方 DSH 接口实现以下能力:

  1. 自动恢复: 检测到子代理以 max-tokens 终止时,自动执行一次续接。
  2. 确定性判断: 依赖持久化会话 ID 和日志进行判断,确保逻辑确定。
  3. 单次保证: 保证每个子任务最多恢复一次,不包含循环或定时器。
  4. 无外部依赖: 无需构建步骤,依赖 Node >= 20。
  5. 接口使用: 通过官方 sessions.flush 和 subagents.followup 接口实现。

安装与启用

通过 DSH 插件路径安装:

dsh plugin --profile <profile> add dsh-subagent-watchdog

该包声明了 dsh.bundle.patch,dsh plugin add 会自动将其集成到配置堆栈中。

典型用法

  1. 触发恢复: 当子代理因输出 Token 不足(max-tokens)终止时,插件自动检测。
  2. 执行续接: 插件通过官方接口执行一次续接,恢复后的运行正常完成。
  3. 停止干预: 续接完成后插件停止干预。
  4. 手动处理: 若再次失败,插件通知父代理并提供手动选项(如 send_message、interrupt_agent 等)。

适用场景与注意

  • 兼容性: 仅支持 @deepseek-ai/dsh 0.1.1-rc.2,无其他兼容性声明或测试。
  • 依赖机制: 依赖 dsh.bundle.patch 机制。
  • 运行权限: 插件以当前 dsh 进程权限运行。
  • 风险提示: 安装前应检查源码与许可证。

总结

该插件通过一次恢复机制,减少了原生可续子代理在 max-tokens 终止时的手动干预成本。

目录页
GitHub 仓库

羽毛球分组比赛记分
小程序二维码

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

小夜