前言¶
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