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

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

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

小夜