- Startseite
- Plugins
- Sitzungen & Nachrichten
- dsh-wait-reply
dsh-wait-reply
melo7up/dsh-wait-reply
Keeps a root turn open until the child agents and current-turn background jobs it started settle, then asks for one self-contained final answer in that same turn. It observes job settlement without consuming job output, never cancels children, and does not decide task success. Verified on DSH 0.2.2-rc.1 only; on any other host version it stays inactive, logs one warning, and turns close natively. Each batch of results that arrives after a reply costs one extra model call; ordinary questions add none.
Installation
dsh plugin --profile web add github:melo7up/dsh-wait-replyREADME
dsh-wait-reply
让根会话在准备结束时,等子智能体和本轮后台任务结果回到同一轮;如果先写了总结又收到异步结果,再安排一次完整汇总,让“仅最终回答”保留完整结论。
已在 DSH 0.2.2-rc.1 的隔离运行时验证。官方若提供同等能力,停用或卸载本插件即可。
行为
插件做三件事:
- 根会话即将结束、下一步收件箱还是空的、且没有被取消时,调用宿主已有的
subagents.waitForChildren,同时观察本轮由该会话启动的后台任务,等它们结束。 - 子结果、后台任务通知或用户的下一步输入到达后,把控制交回原来的轮次。若仍有工作,下次准备结束时再等。不会等待其他会话、无主或更早轮次启动的后台任务,也不读取或消费任务输出;结果仍由宿主原有的通知与
job_output交给模型。 - 若本轮已经输出不带工具调用的正文,之后又收到子结果或后台通知,等结果处理完后注入一条来源为
dsh-wait-reply的内部汇总请求,附上先前回复,要求完整重述结论、改动、验证及遗留问题。每批结果只请求一次,每次增加一次模型调用;新结果再次到来才重新汇总,普通问答不增加模型调用。用户新的输入优先于旧回复的汇总。
内部汇总请求不会伪装成人类输入,也不改写原始回复。插件不取消子智能体或后台任务,不调用目标完成,也不把“能退出等待”当成业务成功。目标工具原有的权限检查保持不变。不需要改 AGENTS.md。
本轮仍在运行的后台任务会阻止收尾,包括不会自行结束的命令;模型应在收尾前处理自己启动的相关工作。插件不会替它自动杀掉任务。没有 jobs 服务的宿主仍保留子智能体等待和完整汇总功能。
waitForChildren 没有取消参数。停用时只解除插件自己的等待并卸下监听;宿主那次等待会在子工作结束后自行结束,不会因此取消子智能体。
安装
本插件是一个无依赖的本地 bundle。在不是正在使用的桌面 profile 上,可以:
dsh plugin --profile <name> add /absolute/path/to/dsh-wait-reply
正在运行的 DeepSeek Harness 桌面端独占 desktop profile,应用内应使用 设置 → 插件 从本地目录安装。完全退出应用后,才可以用上面的命令管理该 profile。
只验证过 DSH 0.2.2-rc.1。版本或 waitForChildren 接口不匹配时,插件保持未激活并写一条警告,会话回到原生收尾,不会阻止 DSH 启动。
关闭
在设置里停用插件行 dsh-wait-reply。有热重载的环境会立刻解除插件正在进行的等待、去掉监听和内部指导,之后的轮次恢复原生收尾。子智能体和后台任务不会被插件取消。
没有热重载时,插件管理器会报告需要重启。等待要到插件真正卸载才解除,不要假定所有环境都能热停用。
关闭插件不会改回“收起后显示的回复”。那是 DSH 自己的偏好,按轮次生效,不能合并已经分开的多个轮次。需要的话可手动设为“仅最终回答”;它只影响显示,不代替本插件。
卸载
在设置里移除 bundle dsh-wait-reply,或在 profile 未被正在运行的桌面端占用时:
dsh plugin --profile <name> remove dsh-wait-reply
卸载同样不取消子智能体,也不删除已有会话记录。
已验证
隔离 profile、本机原装宿主、脚本模型,没有调用付费模型,也没有改正在使用的 DSH:
- 通过 bundle patch 由加载器启动,而不是测试代码直接调用
apply - 有目标、分批结束的两个子智能体:一次正常收尾,目标完成权限保留
- 总结后处理已排队的后台结果、延迟返回的后台结果、后台任务失败:运行原装 DSH 的“仅最终回答”答案选择函数,确认最后一条同时保留审查结论、验证和环境问题
- 普通问答不额外请求汇总;更早轮次和无主后台任务不阻止它收尾
- 后台等待期间取消或停用:等待及时解除,后台任务不被插件取消
- 无目标、无子智能体、等待中用户插话、子智能体失败、用户取消
- 等待过程中停用插件:等待解除,子智能体继续运行
- 再次启用后仍能并回同一轮
- 停用 bundle 后恢复多次原生收尾
- 版本不匹配的夹具 bundle 被跳过,不阻止启动
- 接口或版本无法确认时,
apply不注册监听
2026-11-10 另在本机 DSH 桌面端、tokenhub/deepseek-flash(Max)、“仅最终回答”模式下完成合成验收:一次后台 sleep/printf,先输出审查草稿,再输出独立补充,随后插件触发完整汇总。最终折叠后同时显示 Standards、Spec、验证及新返回的问题;会话日志确认只有一个轮次、一次工具调用和一次内部汇总请求。此验收未操作真实项目数据。
未验证
以下不能当成已支持:
- Grok 等其他真实模型和更复杂任务的桌面端到端效果。最终措辞与内容完整度仍依赖模型遵循汇总请求,插件不撤回已经流出的正文,也不修复已经结束的旧轮次
- 审批、模型 token 上限、复杂嵌套、外部子智能体后端、应用重启后的恢复
- 没有热重载的 profile 上,等待过程中的即时热停用
测试
node --test test/compat.test.mjs
node test/isolate.mjs --packages /path/to/node_modules/@deepseek-ai
隔离测试使用临时 DSH_HOME 和合成夹具,不读取真实会话。
Ähnliche Plugins
billion-context
ranxianglei/billion-context
dsh-web-ui (dsh-chat-recovery)
zhu1090093659/dsh-web-ui
dsh-synapse
liangmianya/dsh-synapse
dsh-archive-manager
michengai/dsh-archive-manager