dsh-goal-quiescence:给 DeepSeek Harness 的 goal-mode 子代理完成证据加门禁

前言

在 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/startsubagent/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_goal tool 发起的完成尝试。
  • 直接 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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye