前言¶
DeepSeek Harness (DSH) 提供了豐富的插件生態,允許智能體調用各種工具。然而,工具的調用權在智能體手中,智能體往往會在自信、匆忙或陷入循環時跳過檢查。這種“自我管理”的失敗恰恰發生在最需要監管的時刻。
Strict Gate 插件旨在將這種可選項轉化爲 Harness 的強制策略。它不依賴智能體的自覺,而是通過策略對結果進行強制干預、阻斷與檢查,確保關鍵路徑上的代碼變更符合規範。
插件定位¶
- 名稱:
catsenior507/dsh-policy-strict-gate - 維護者: catsenior507
- 類別: admin-security
- 許可證: MIT
- 核心價值: 將
strict_check和失敗日誌從智能體可用的“工具”轉變爲 Harness 強制的“策略”。
核心功能¶
該插件包含三個獨立運行的檢查門控,可獨立配置或關閉:
-
重複失敗干預
在會話中,相同失敗特徵達到閾值(默認 3 次)後,會觸發通知,包含失敗類別、修復建議及操作指令。之後每隔指定冷卻時間(默認 3 次)再次發送,防止長循環淹沒上下文。 -
關鍵路徑保護門控
對受 glob 規則保護的路徑進行寫入攔截,直到該路徑對應的 Lean 規範被接受。拒絕操作會攜帶診斷信息,且允許通過“修復寫入”繞過攔截(修復寫入通過時會被計數)。 -
自動後置語法檢查
在每次接受寫入後,立即執行語言的語法檢查(如py_compile、node --check等),將診斷信息帶入下一步上下文,在編輯錯誤的瞬間捕獲問題。
安裝與啓用¶
安裝該插件需要 Node.js 20 或更新版本。插件本身無構建步驟,無外部依賴。
- 安裝插件
dsh plugin --profile web add github:catsenior507/dsh-policy-strict-gate
- 安裝依賴工具
關鍵路徑和語法檢查依賴於strict-check工具:
dsh plugin --profile web add github:catsenior507/dsh-tool-strict-check
- 重啓與驗證
安裝完成後需重啓 DSH 宿主程序,並檢查狀態:
strict_gate_status action=status
配置說明¶
關鍵路徑門控默認是關閉狀態,因爲 glob 列表反映的是具體項目的代碼結構,插件無法自動猜測。
需要在宿主的 cordis.patch.yml 配置文件中添加插件配置。以 web profile 爲例:
- insert:
- id: policy-strict-gate
name: '@dsh-external/dsh-policy-strict-gate'
config:
criticalPaths:
- 'src/core/**'
- 'src/**/*.spec.lean'
protectedTools: ['write', 'edit']
repeatThreshold: 3
repeatCooldown: 3
postWriteSyntax: true
maxDiagnostics: 5
診斷與檢查¶
通過 strict_gate_status 命令可以查看門控狀態、編譯後的 glob 規則及計數器信息。
- 查看總體狀態
strict_gate_status action=status
- 檢查特定路徑保護狀態
確認某個路徑是否受保護以及受哪條規則保護:
strict_gate_status action=targets path=<a file>
計數器包含以下指標:觀察到的失敗次數、發送的重複通知次數、關鍵路徑拒絕次數、通過的修復寫入次數以及門控執行的規範檢查次數。
注意事項¶
- 前置依賴: 必須安裝
dsh-tool-strict-check才能啓用關鍵路徑和語法檢查功能。 - 可選加載:
strict-check在加載時是可選的,如果缺失,插件會停止這兩項檢查而保留重複失敗干預。 - 無構建: 發佈的 JavaScript 源碼即運行碼,無需
prepare腳本。 - 零依賴:
dependencies和peerDependencies均爲空。
總結¶
Strict Gate 是一套強制性的代碼質量保障策略。它通過攔截重複失敗、保護關鍵路徑和即時語法檢查,將代碼生成的風險控制權收歸 Harness 統一管理,適合需要嚴格規範的項目流程。
- 目錄頁: https://www.skillhub.cn/plugins/catsenior507/dsh-policy-strict-gate
- 源碼地址: https://github.com/catsenior507/dsh-policy-strict-gate