前言¶
在 DeepSeek Harness (dsh) 生态中,插件是扩展能力的标准方式。现有的代码审查工具大多停留在“观察差异”和“添加注释”的阶段,它们无法阻断合并操作。review-gate 解决了这一断层,它将代码审查转化为一个硬性关卡:只有通过自动规则判定、满足团队批准配额,并生成合规审计日志后,代码才能合并。
插件定位¶
这是一个 DeepSeek Harness (dsh) 插件包,核心价值在于将代码审查流程化、标准化和强制化。
- 定位:代码审查硬性关卡插件。
- 维护者:JohnXu22786。
- 类别:admin-security。
- 许可证:MIT。
- 核心价值:确定性严重程度规则、LLM 辅助发现、团队批准配额、合规审计跟踪。
核心功能¶
- 审查会话:支持审查工作区、暂存区、单个提交或任意
base..head范围。发现结果按severe(严重)、warning(警告)、suggestion(建议)分级。分级依据包括确定性静态规则(基于正则匹配新增代码,不依赖模型)和可选的 LLM 辅助(仅增加发现,绝不绕过规则阈值)。 - 关卡规则:可配置通过阈值(例如
severe = 0,warning ≤ N)。判定逻辑完全由确定性规则计算,确保结果可复现。 - 团队批准流程:支持
approve(通过)、request_changes(请求修改)、reject(拒绝)投票。可配置通过配额,最后写入者优先,重新审查会刷新状态。 - 合规审计跟踪:所有运行、投票、确认和导出操作都会追加到不可变的审计日志中,记录时间、操作人、结论和规则版本。
- CI 协作:所有工具和 CLI 命令输出 JSON 格式,并返回正确的退出码(
gate-check在不可合并时返回非零),可直接集成到 GitHub Action 或钩子中。 - 教训库:失败的发现可以转化为可复用的静态规则。
- 工具链:提供 dsh 工具(
review_run等)和独立 CLI。
安装与启用¶
环境要求¶
- 独立 CLI:Node.js >= 18。
- DSH Bundle 模式:DeepSeek Harness 要求
^22.19.0 || >=24.0.0。 - 系统要求:Git 必须在系统 PATH 中,目标目录必须是 Git 工作树。
安装独立 CLI¶
全局安装以在任何 Git 仓库中使用:
npm install -g review-gate
安装为 DSH Bundle¶
作为 DSH 插件包安装,需要添加插件并应用补丁配置。
dsh plugin --profile <name> add ./review-gate
dsh --profile <name> --patch ./review-gate/cordis.patch.yml
典型用法¶
CLI 命令¶
在 Git 仓库目录下执行:
# 审查工作区变更
review-gate run --json
# 查看审查状态
review-gate status --json
# 检查合并资格(只有在合并条件满足时退出码为 0)
review-gate gate-check --mode merge
配置文件¶
在仓库根目录创建 .review-gate.config.json 或在 DSH profile 配置中写入:
{
"cwd": "/absolute/path/to/repo",
"store": {
"root": ".review-gate",
"repoId": "github.com/acme/repo"
},
"gate": {
"severe": 0,
"warning": 0,
"suggestion": -1,
"requiredAcknowledge": []
},
"approvals": {
"required": 2
},
"llm": {
"enabled": false
},
"rules": {}
}
初始化配置文件:
review-gate init
适用场景与注意¶
适用场景:需要强制执行代码审查标准的团队,要求审查结果阻断合并操作,或需要保留完整的合规审计记录的场景。
注意事项:
* 插件以当前 DSH 进程的权限运行,请确保安装前检查源码与许可证(MIT)。
* 依赖 Git 命令行工具进行差异解析和会话锁定。
总结¶
review-gate 通过将代码审查从“可选的讨论”转变为“强制的关卡”,利用确定性规则和团队投票机制,确保代码质量。结合其不可变的审计日志,适合对合规性要求较高的团队使用。