dsh-subagent-error-details
在终端中运行以下命令:
dsh plugin install sijie-ni-0214/dsh-subagent-error-details
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中运行以下命令即可安装(源码地址:https://github.com/sijie-ni-0214/dsh-subagent-error-details):dsh plugin install sijie-ni-0214/dsh-subagent-error-details
插件介绍
当后台子代理在回合中途死亡时,核心 DSH 的结算通知只会输出一句固定文案,真正的错误原因—无论是 API 429 限流、超时还是逻辑异常—全部被丢弃。父代理看到的只是一句"子代理已结束",无法判断失败原因,也就无法做出有意义的重试或降级决策。这正是 dsh-subagent-error-details 要解决的问题。
插件以 host-plane bundle 形式监听公开的 subagent/end 事件。当 stopReason 为 error 时,它通过 sessionPersistence.load() 从实时会话存储或持久化 JSONL 日志中解析出子会话最终回合的失败详情,再沿会话头部的 parentSession 链路与代理注册表,将一条简短的补充消息路由回归属的父代理。所有代码路径均做了防御性包裹:插件自身出错只会退化为"无详情",绝不会打断父代理的执行循环;服务查找全部延迟到处理函数内部,因此激活过程不可能导致会话挂载失败。
适合运行 DSH 多代理工作流、依赖后台子代理完成任务的开发者。它不需要修改任何组合配置或代理预设,安装后即对所有预设生效。当上游核心将来在正式通知中直接包含错误文本时,插件会自动检测并抑制补充消息,无需手动移除。
使用场景
- 后台子代理因 API 429 限流崩溃,父代理需获取具体错误码以决定重试还是降级
- 多代理编排中子代理长时间运行后报错,需要区分超时、限流与逻辑异常以选择不同恢复策略
- 调试复杂代理链路时,快速定位子代理终端回合的失败根因而非重新跑一遍复现
适合人员
- 构建 DSH 多代理工作流、依赖后台子代理完成子任务的开发者
- 需要在父代理中根据子代理失败原因做重试或降级决策的工程师
- 调试代理链路、排查子代理异常行为的技术人员