dsh-completion-gate:DeepSeek Harness 生产就绪屏障

DSH(DeepSeek Harness)智能体在执行任务时,常出现模型自然停止或仅给出虚假完成声明,而未实际运行仓库的测试、构建、Lint 或类型检查的情况。dsh-completion-gate 是一个 DeepSeek Harness 插件,它作为一个边界,防止智能体在没有机器证据的情况下关闭任务。

该插件由 AGSQ11 维护,采用 MIT 许可证。它通过组合“过早停止防护”和“生产就绪门禁”两个机制,确保只有当工作确实完成且已通过机器验证时,任务才允许结束。

核心功能

过早停止防护

当模型自然停止,且最新输出中包含强烈的未完成信号时,插件会介入。这类信号包括但不限于:“Now I need to inspect…”、“Next I will run…”、“I still need to…”等。

插件会调度一次新的 agent.followup() 调用,要求智能体继续未完成的任务。恢复消息示例为:

PREMATURE STOP RECOVERY:
Continue the unfinished task.
Execute the pending investigation or implementation now.
Do not summarize or claim completion yet.

该恢复链由 prematureStopMaxContinuations 限制,防止无限循环。

生产就绪门禁

一旦代码发生变化,根智能体必须提供机器证据和结构化的最终审查,轮次才允许正常关闭。插件支持自动检测常见项目的检查命令:

生态 检测 / 检查命令
Node.js package scripts (test, build, lint, typecheck)
Python pytest, Ruff, Mypy
Go go test ./..., go vet ./...
Rust cargo test --all-targets, cargo check --all-targets
任意项目 自定义检查

若 requireTests 启用,未检测到可执行测试命令的项目将被视为阻塞。

工作区指纹

完成证据绑定到当前仓库状态的 SHA-256 指纹。该指纹包含:

  • 会话基线 Git HEAD;
  • 会话期间创建的提交;
  • 暂存的更改;
  • 未暂存的更改;
  • 未跟踪的文件。

这意味着一个干净的树并不证明智能体未做更改(代码可能已被提交)。若代码在检查或证明后发生变化,指纹改变,旧证据失效。

新增代码警报

插件会扫描新增代码行,检测 TODO、FIXME、HACK、XXX,以及特定的安全回归模式(如硬编码凭据、禁用 TLS 验证、chmod 777 等)。这作为回归警报,而非对 SAST 工具的替代。

完成证明

机器检查无法证明所有需求。智能体可在最终完成前调用 completion_gate 工具,提供绑定当前工作区指纹的证明。

示例:

{
  "action": "attest",
  "reviewed_files": [
    "src/engine.ts",
    "tests/engine.test.ts"
  ],
  "review_summary": "Reviewed the complete diff, error paths, state transitions and backwards compatibility.",
  "acceptance_criteria": [
    {
      "criterion": "Risk sizing uses ATR",
      "evidence": "Unit tests cover ATR-derived risk sizing and the full test suite passes."
    },
    {
      "criterion": "Existing behavior remains compatible",
      "evidence": "Regression tests and typecheck pass; changed call sites were reviewed."
    }
  ],
  "unresolved_issues": []
}

控制中心配置

在 DeepSeek Harness 界面中进入 Settings → Completion Gate。控制中心既是运行时仪表盘,也是持久化配置编辑器。

行为设置

  • Enable Completion Gate:总开关。
  • Mode:
    • Strict:门禁失败时引导智能体回退,阻止正常完成。
    • Advisory:收集证据,但失败不强制额外步骤。
  • Gate subagents:默认为 false。只有根智能体拥有最终生产就绪权。子智能体被允许正常完成其委托的任务。
  • Premature-stop guard:恢复自然停止。
  • Max recovery follow-ups:单次过早停止恢复链的安全上限。

机器证据设置

  • Auto-detect checks:自动检测项目检查。
  • Require tests/build/lint/typecheck:当可用时要求执行。
  • Block new TODO/FIXME markers:阻止新增此类标记。
  • Security regression scan:扫描安全模式。

执行限制

  • Check timeout:单个命令的最大执行时间。
  • Stored command output:每个检查保留的最大清洗后失败输出。

自定义检查

可在 UI 中添加任意自定义检查。配置示例:

Name: integration-tests
Category: test
Command: npm run test:integration
Required: yes

典型用法

在使用自主编排或 Phoenix 模型故障转移时,推荐保持 gateSubagents 为 false。若项目需要严格的子智能体管控,可在控制中心显式开启。

该插件以当前 DSH 进程权限运行。安装前应检查源码与许可证。

总结

dsh-completion-gate 提供了基于证据的生产就绪检查,通过过早停止防护和门禁机制,有效防止智能体在不完整或未验证的状态下结束任务。

插件目录:https://www.skillhub.cn/plugins/AGSQ11/dsh-completion-gate
源码仓库:https://github.com/AGSQ11/dsh-completion-gate

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

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

小夜