前言¶
在 DeepSeek Harness 的 goal-mode 中,父代理可能在一个 goal 还活跃时,委托多个后台子代理去执行 review 或辅助任务。问题在于:父代理可以在子代理仍在运行时调用 update_goal(action=complete),而子代理的结果随后才返回,导致这些结果来不及影响已经完成的 goal。
dsh-goal-quiescence 针对这个场景提供一个 completion evidence gate。它不替代 Harness goal mode,也不负责调度、取消或重试子代理;它约束的是 goal 完成动作本身:在观察到需要处理的子代理运行结束,并且父代理已经读取过终态输出之前,拒绝把 goal 标记为完成。
这是什么¶
dsh-goal-quiescence 是 DeepSeek Harness 的社区插件,定位是 goal-mode 子代理的完成证据门禁。
维护者是 1052326311,许可证为 MIT。它解决的问题是:父代理不应在子代理证据仍然 running,或尚未显式返回给 goal agent 时,直接完成 goal。
核心能力¶
下面介绍它具体约束的内容。
1、记录子代理生命周期。
对插件加载后、在 active goal 下观察到的子代理运行,插件记录公开的 subagent/start 和 subagent/end lifecycle pair。
2、阻止过早完成。
在上述子代理运行尚未 settle 之前,插件会拒绝:
update_goal(action=complete)
3、要求父代理确认终态输出。
对于每个已经 settle 的运行,goal agent 需要调用:
goal_quiescence_ack
该工具会返回对应运行的 terminal assistant output,并把它作为工具结果返回给父代理当前上下文。
4、查询仍阻塞完成的运行。
可以调用:
goal_quiescence_status
它会返回一个 bounded list,列出仍然阻塞 goal 完成的运行。
5、边界明确。
该插件不会:
- 调度子代理
- 取消子代理
- 重试子代理
- 替代 Harness goal mode
安装与启用¶
运行环境要求:
Node.js >=22.19.0
插件需要 Web profile 提供的正常 Harness 服务:
goal
subagent
tools
安装时使用本地打包的 tarball:
pnpm install
pnpm pack
dsh plugin --profile web add ./dsh-goal-quiescence-<version>.tgz
先执行 pnpm install 安装依赖,再执行 pnpm pack 生成本地插件包,最后通过 dsh plugin --profile web add 将插件加入 Web profile。文件名中的 <version> 需要与打包产物保持一致。
典型用法¶
下面的流程适合在 goal-mode 下使用。
1、正常推进 goal。
在 goal mode 中正常工作,并按需要委托 background reviews。
2、处理完成被拒绝的情况。
如果调用 update_goal(action=complete) 被拒绝,先调用:
goal_quiescence_status
查看哪些运行仍阻塞完成。
3、等待运行结束。
等待每个仍处于 running 状态的 run settle。
4、读取终态输出。
对 goal_quiescence_status 返回的每个 runId,调用:
goal_quiescence_ack
然后检查它返回的 terminal output。
5、处理问题并完成 goal。
如果终态输出中报告了需要处理的问题,先解决问题;处理完成后,再调用:
update_goal(action=complete)
适用场景与注意¶
适合场景:
- 在 goal-mode 中使用子代理执行后台任务
- 希望在完成 goal 前确认子代理已经 settle
- 希望把子代理的 terminal assistant output 显式读回到父代理上下文
- 不希望插件自动调度、取消或重试子代理
注意事项:
- 这是一个 process-local lifecycle policy。
- 它覆盖插件加载后开始的子代理运行。
- 它覆盖通过 model-facing
update_goaltool 发起的完成尝试。 - 直接 service calls、进程重启,或者插件启用前已经开始的 child run,不在它的可观察边界内。
- 它不宣称自己是 atomic core transaction。若需要端到端原子保证,需要 core lifecycle permit。
- 插件以当前 dsh 进程权限运行。安装前应检查 GitHub 仓库源码和 MIT 许可证,避免引入未审查的社区插件包。
结尾¶
dsh-goal-quiescence 的价值不在于增加子代理执行能力,而在于把 goal 完成动作和子代理证据读取绑定在一起:完成前,先确认运行已结束;确认时,必须把终态输出带回父代理上下文。
目录页:
https://www.skillhub.cn/plugins/1052326311/dsh-goal-quiescence
GitHub 仓库:
https://github.com/1052326311/dsh-goal-quiescence