README
🚀 Rigour
AI 智能体治理。一键搞定,适用于所有智能体。
Rigour 是位于 AI 编码智能体和你的代码库之间的安全与质量保障层。你可以将其视为 AI 生成代码的杀毒软件,具备本地智能和云端深度分析能力。
它能管控其他工具无法处理的三件事:
- 输入内容 —— 数据丢失防护(DLP)在敏感信息到达任何智能体之前将其拦截。
- 输出内容 —— 质量关卡可捕捉虚构的导入、不安全的模式和偏差。
- 持久化内容 —— 内存治理可防止机密信息泄露到智能体内存中。
Rigour 可与 Claude Code、Cursor、Cline、Windsurf 和 GitHub Copilot 等工具配合使用。只需运行一次 rigour init 命令,即可完成所有设置,包括钩子、MCP 工具、规则、DLP 和模式索引。
🚀 快速开始
npx @rigour-labs/cli init
此命令将完成以下操作:
- 根据自动检测到的项目设置创建
rigour.yml文件。 - 为每个检测到的智能体安装实时钩子(阻塞模式)。
- 配置 MCP 服务器以实现智能体协作治理。
- 启用 DLP,在敏感信息到达智能体之前将其拦截。
- 构建模式索引,实现即时重复检测。
- 一切以本地优先,代码不会离开你的设备。
✨ 主要特性
工作原理
Rigour 使用 两层监督模型:
- 第一层 —— 钩子(自动,<100ms):每次文件写入时都会触发内联检查,智能体无法绕过这些检查。可实时捕捉机密信息、虚构的导入、文件大小违规和命令注入等问题。
- 第二层 —— MCP 工具(智能体协作):指示智能体在关键时间点调用 Rigour 工具,如在开始前调用
rigour_recall,在创建代码前调用rigour_check_pattern,在完成任务前调用rigour_check。规则文件(.cursor/rules/rigour.mdc、CLAUDE.md、.clinerules)强制执行此工作流程。
AI 智能体 DLP(数据丢失防护)
每个 AI 智能体都有一个预输入钩子,可实时(<50ms)扫描 29 种敏感信息模式,包括云密钥(AWS、GCP、Azure)、API 令牌(OpenAI、GitHub、Stripe 等)、私钥(RSA、EC、ED25519)、数据库 URL、JWT 等。还包括反规避强化措施,如 Unicode 规范化、熵检测和 JSON 反序列化扫描。
质量关卡(27 种以上确定性检查)
这些确定性的通过/失败关卡可捕捉 AI 智能体可能出现的错误:
- 虚构的导入 —— 支持 8 种语言的语言感知解析。
- 幻影 API —— 检测大语言模型虚构的不存在的标准库或框架方法。
- 重复偏差 —— 采用三阶段检测:MD5 精确匹配 → AST Jaccard(tree-sitter) → 语义嵌入(all-MiniLM-L6-v2)。
- 风格偏差 —— 根据项目基线检查命名约定。
- 逻辑偏差 —— 跟踪比较运算符、分支数量和返回语句。
- 安全模式 —— 检测硬编码的机密信息、命令注入、SQL 注入和 XSS 等问题。
- 依赖膨胀 —— 检测未使用的依赖项和重型替代方案(如 moment→dayjs)。
- 测试质量 —— 检测空测试、重言式断言和模拟滥用等问题。
深度分析(本地强化学习 + 云端学习)
Rigour 的深度分析并非简单地让大语言模型审查代码,而是运行一个 三阶段管道,模型受事实约束:
- 事实提取(确定性) —— 进行 AST 解析、语义嵌入、风格指纹、逻辑基线和依赖图分析,不涉及大语言模型。
- 大语言模型解释 —— 模型接收结构化事实(而非原始代码),专注于 SOLID 原则、设计模式和架构。
- 验证(确定性) —— 对大语言模型的每个发现进行交叉引用,丢弃虚构的发现。
本地模式 配备了一个 GGUF 边车模型(Qwen2.5-Coder),可在任何 CPU 上运行,无需 GPU、API 密钥,代码也不会离开你的设备。Rigour Brain(SQLite)会从每次扫描中学习:模式在多次出现时得到强化,长时间未出现则会衰减,强度足够时会提升为硬规则。这就是“本地强化学习”,是你项目的专属学习免疫系统。
云端模式 通过自带密钥(BYOK)将结构化事实发送到你选择的提供商(Claude、OpenAI、Gemini 等)进行更深入的分析。同样采用三阶段管道,使用更强大的模型。
rigour check --deep # 本地边车(轻量级,适用于任何 CPU)
rigour check --deep --pro # 本地边车(完整版,代码专用)
rigour check --deep --provider claude -k sk-ant-xxx # 云端 BYOK
模式索引
预构建的代码库中所有函数、类和组件的索引(.rigour/patterns.json)。通过 rigour_check_pattern MCP 工具实现 O(1) 重复检测,避免智能体扫描每个文件并浪费令牌。
rigour index # 构建/更新模式索引
rigour index --semantic # 包含语义嵌入
内存与技能治理
智能体会将数据写入原生内存文件(.cursorrules、CLAUDE.md、.windsurf/memories/)。Rigour 会拦截这些写入操作,并强制智能体使用 rigour_remember,在数据持久化之前对每个值进行 DLP 扫描。读取操作也会受到限制,在 DLP 安装之前存储的机密信息在读取时会被阻止。
📦 安装指南
# npx(最快)
npx @rigour-labs/cli --version
# Homebrew
brew tap rigour-labs/tap && brew install rigour
# 全局 npm
npm install -g @rigour-labs/cli
💻 使用示例
核心命令
rigour init # 完整设置:配置、钩子、MCP、DLP、模式索引
rigour check # 运行所有质量关卡
rigour check --deep # + 本地大语言模型深度分析
rigour check --deep --pro # + 完整深度模型
rigour scan # 零配置扫描(无需 rigour.yml)
rigour hooks init --tool cursor # 为特定工具安装钩子
rigour hooks check --files src/a.ts # 快速文件检查(<100ms)
rigour index # 构建模式索引
rigour brain # 显示本地内存状态
rigour brain --compact # 清理旧数据,回收磁盘空间
rigour studio # 可视化仪表盘
rigour doctor # 诊断安装和准备情况
MCP 集成
将 Rigour 作为 MCP 服务器添加,智能体可以通过工具调用获得质量关卡、内存治理和模式检查功能:
{
"mcpServers": {
"rigour": {
"command": "npx",
"args": ["-y", "@rigour-labs/mcp"]
}
}
}
主要 MCP 工具:
| 工具 | 用途 |
| ---- | ---- |
| rigour_check | 运行所有质量关卡 —— 在任务完成前必须调用 |
| rigour_check_pattern | 检查函数/组件是否已存在 —— 在创建代码前必须调用 |
| rigour_recall | 加载项目内存和约定 —— 在任务开始时必须调用 |
| rigour_remember | 受 DLP 保护的持久化内存 |
| rigour_review | PR 差异分析 |
| rigour_security_audit | 对依赖项进行 CVE 扫描 |
CI 配置
- run: npx @rigour-labs/cli check --ci
演示
rigour demo # 快速演示,包含钩子和关卡
rigour demo --cinematic # 完整演示:钩子、修复、缓存命中
rigour demo --repo https://github.com/fastapi/fastapi # 在任何公共仓库上运行
📚 详细文档
📄 许可证
MIT © Rigour Labs
Scan to join WeChat group