wl-skills-gate — 质量门(Gate)
质量执行与裁决层:复用项目已有检查器和适用的 WL 规则包(Kit/UI/BD/Test/Design),把检查、报告、机械修复、复扫和通知全部交给脚本执行——不调用大模型 API。npm 已发布 v0.13.19,Source-Available 授权(商用需书面授权)。
在五包体系中的位置
design(设计) → kit(前端) → ui(视觉) → bd(后端) → test(测试)
\ | | | /
\___×____×____×____×___/
Gate 统一裁决
Hook 早反馈 · 流水线强制 · Review 证据 · 发布核验五包各自提供检查器与规则(K/R/B/T 族),Gate 负责把它们接进真实的研发流程:提交 Hook、GitLab MR、Jenkins 构建、Code Review 与发布放行。Gate 的 catalog 只读列出当前项目已安装的五包;新增能力不需要在 Gate 再加 CLI 映射(消费各包公开 protocol describe/request)。
六大场景
| 场景 | Gate 提供什么 | 能看到什么 |
|---|---|---|
| 完整检测 | Java 参考六引擎 + BD 组织规则;前端类型语义、安全、密钥、重复、架构和依赖;内置 AST 安全修复(重复导入/相邻同值字段/测试文件 URL 解码,幂等 + 备份 + 自动全量复扫) | 原件、覆盖范围、指标与具体位置 |
| 日常提交 | Hook 自动运行分档检查 | 问题位置、规则、修复建议与阻断原因 |
| 问题整改 | 预览方案 → 本人确认 → 白名单脚本 → 复扫 | 修前修后变化、剩余问题与回归项 |
| Code Review | 汇总九维证据,生成待确认草稿 | 非作者逐维确认后的正式 Review |
| 合并与发布 | 核验候选 SHA、必需检查、Review、制品和目标环境 | 绑定本次代码与制品的放行或拒绝结果 |
| 问题跟进 | CHECK 完成即发布本轮报告与质量卡片(绑定项目/分支/SHA/运行编号,四级风险着色);分类通知、认领、超时对账、独立复验 | 可追溯的处理与关闭记录 |
九维范围:提交 · 分支 · 编码 · UI 与交互 · Code Review · 测试 · 扫描门禁 · CI/CD · 工程治理。
快速接入
技术经理拿到批准的完整接入包后,填写 现场参数.json,运行根目录 01_接入项目.sh(macOS 可双击 .command);运维使用运维包的 01_接入Jenkins.sh。
| 任务 | 人只需做什么 | 脚本完成什么 |
|---|---|---|
| 首次接入项目 | 选择 Git 项目根、批准安装源,确认各阶段差异 | 识别范围、安装固定依赖、同步规则、Hook、POM/锁、首扫及提交说明正反验证 |
| 新成员初始化 | 选择已接项目,在安装与激活计划上确认 | 按仓库已提交清单恢复本机环境,保留项目策略,再验真实 Hook |
| 六分支接线 | 选择批准基础配置,确认完整差异 | 自动生成目标分支独立 scope 与 Review 接线 |
| 运维接线 | 选择批准配置目录,预检后选择启动 | 核对配置/身份/凭据,启动中央采集与操作入口 |
| 组合发布输入 | 选择批准配置,确认组件与输出 | 从真实采集原件生成输入,核验来源、SHA、制品与兼容证据 |
已安装批准版本的维护者可启动相同交互流程:wl-quality init。首次接入反馈在 quality-reports/setup/<sessionId>/result.html,质量报告在 quality-reports/quality-report.html。
工具安装与质量结论分别记录:installed-quality-blocked 表示依赖、受管资产、版本锁及 Hook 已验证,真实扫描发现问题——需按报告整改后复扫,业务构建仍被质量门阻断;安装中断或检查执行异常保留真实阶段回执,同一入口继续处理,无需从头配置。
已接项目升级:增量更新入口
| 交付包 | 入口 | 行为 |
|---|---|---|
| 完整包 | 04_增量更新.sh | 先显示变化,确认后仅更新受管资产 |
| 运维包 | 02_增量更新.sh | 配置和凭据保留;中断可续跑,核验失败回退,无变化跳过安装 |
Jenkins 继续自动复验公共任务与飞书;规则或工具身份变化须重新核验正式准入,升级不代替 Review 授权。
依赖装在哪里
| 项目 | 依赖装在哪里 | 业务构建 |
|---|---|---|
PC Vue 管理端(如 wl-ui-produce) | 根 package.json:Gate / Kit / UI | 保留原前端构建 |
Java/Maven(如 wl-produce) | quality-tools/package.json:Gate / BD | Maven;Node 工具不进 jar |
移动端、UniApp 项目不套用 PC 配套。
日常怎么用
开发者正常提交、推送,Hook 自动检查:
| 步骤 | 开发者 / 负责人做什么 | 系统给出什么 |
|---|---|---|
| 提交前 | 按原流程暂存、提交 | 快速检查;有阻断显示具体位置和建议 |
| 推送前 | 正常推送 | 标准检查、HTML 报告;配置了 Review 策略时自动生成九维草稿 |
| 处理问题 | 在已生成的编辑器任务中选择"预览脚本修复",核对并确认 | 执行批准的机械脚本、自动复扫、展示差异;语义问题保留人工 |
| 发起 Review | 非作者查看代码、补齐证据、逐维确认 | 绑定当前候选与证据的正式 Review |
| 构建发布 | 通过受控流水线推进 | 核验本次候选、检查和制品;部署后独立复验再关闭问题 |
同口径的修前修后报告才展示质量变化;扫描通过、Review 确认、发布授权和问题关闭分别核验,一项通过不代替其余步骤。
报告怎么看与保存
- 质量报告展示本次 SHA 的检查结论、风险与九维证据;运维报告按账号、项目接入、流水线接线、公共配置、执行与报告五类诊断分组,优先展示本轮原因与下一步处理;
- 报告 HTML 内嵌完整样式,离线即可阅读转存;在线另附同源 CSS 兼容 Jenkins 严格 CSP(不加载外部脚本、字体或样式);HTML 与 CSS 按运行归档,不覆盖历史原件;
- 固定质量报告及已发送/发送结果未知的巡检通知对应构建标记保留,避免被 Job 自动清理删除历史链接;在线访问仍需内网/VPN 与任务读取权限。
流水线接线(GitLab / Jenkins)
| 接线内容 | 验证方式 |
|---|---|
| GitLab MR、候选与受保护分支 | 违规候选不能合并,真实必需作业齐全 |
| Jenkins 检查与构建 | 两个 Job 共用包内入口,自动识别范围、核对配置与严格准入;节点需启用 Pipeline Utility Steps(标准 readJSON,保持 Sandbox 开启);认证支持密码/API Token,密码写操作自动维护会话与 CSRF crumb,凭据仅存进程内存或经批准的 Jenkins 凭据 |
| 真实 CI 证据、身份与 Review | 旧报告、缺证据、自审与过期批准被拒绝;CI 从中央责任表读取执行人与技术经理,不把 Git 作者冒充认证执行人 |
| 飞书通知、认领、超时与复验 | 实际送达、失败重试、认领和独立关闭均留记录;消息按钮/布局/品牌从中央 notification-presentation.json 热读取(仅呈现,不控制质量事实、人员提醒或授权) |
流水线按批准的工作副本清单和依赖锁准备环境,不运行任意生命周期脚本;构建前自动匹配本次 SHA 的正式 Review 并重查 CI。检查退出码:0 通过 / 1 质量阻断 / 2 执行或证据无效——后两者都必须处理,不得以历史绿报告替代本轮结果。
相关工具
- WL Harness 工作台——五包本地可视化操作台,可经 adapter 的公开 SDK 调用
gate-check(只读复用 Gaterun,保留真实策略检查与失败/过期证据阻断); code-scan-kit(内部工具)——Java 原生规则报告生产(本地脚本 + 固定开源分析器 → XML/HTML/CSV,不调 AI 不耗 token)。必要精选规则已由 BD/Gate 集成并负责正式风险分级,本工具面向需要完整规则集或 CPD/CCN 指标的组织按批准范围调用;- 五包能力见 测试工程 · 前端 Skills · 后端 Skills。
深入阅读
仓库 docs 有 19 份专题:快速开始 · 策略配置 · 报告 · 修复闭环 · 适配器 · GitLab/Jenkins 指南 · Hooks · 自检覆盖 · 强制执行 · 低 token 执行 · Java 报告分级 · 项目与运维集成 · 接入指南 · 可信 CI 采集 · 九维 Review 等。
