mcpField
R
Rigour

Rigour

本地服务
github.com/rigour-labs开发工具291 周前更新

关于 Rigour

Rigour 是面向编码 Agent 工作流的代码审查与质量门禁工具,在本机检查修改,并按团队规则提供简报、验证和审查。它从有依据的审查结果中积累经验,适用于希望将团队规范应用到不同 Agent 的开发团队。

主要功能

  1. 01每次编辑及推送前运行检查
  2. 02按文件提供团队规范简报
  3. 03依据仓库规则审查变更
  4. 04从已确认的审查结果提炼经验
  5. 05跟踪任务中的检查与审查
  6. 06本机执行检查并保留成本记录

适用场景

  1. 01在编码 Agent 修改文件时及时发现问题
  2. 02推送前运行格式、类型和相关测试检查
  3. 03让新任务参考团队既有审查经验
  4. 04追踪任务中各 Agent 与检查的处理过程

MCP 相关

Rigour 提供 `rigour_brief`,供 MCP Agent 获取文件相关的团队规则、经验和已定事项。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"rigour": {
"command": "npx",
"args": [
"-y",
"@rigour-labs/mcp"
]
}
}
}
启动命令npx -y @rigour-labs/mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@rigour-labs/mcp7.0.14

工具

24

收录的工具列表 · 更新于 3 周前

参数类型必填说明
cwdstring是项目根目录的绝对路径。
filesarray否可选的文件路径(相对于 cwd),用于限定确定性检查和深度检查的扫描范围。
deepenum否深度模式:'off'(默认值)、'quick'(启用深度检查并使用轻量模型)、'full'(启用深度检查;与 pro=true 结合使用可运行完整深度模型)。off | quick | full
proboolean否深度检查启用时,使用完整深度模型(Qwen2.5-Coder-1.5B)代替轻量模型(Qwen2.5-Coder-0.5B)。
apiKeystring否用于深度分析的可选云 API 密钥。
providerstring否用于深度分析的云服务提供商(claude、openai、gemini、groq、mistral、together、deepseek、ollama 等)。
apiBaseUrlstring否用于自托管/代理深度分析端点的自定义 API 基础 URL。
modelNamestring否覆盖用于深度分析的云模型名称。

详细介绍

Rigour

npm version npm downloads License: MIT MCP Registry

无论哪个 Agent 编写代码,它都是了解你们团队工作方式的审查者。

无论工程师使用哪个 Agent,它提交的工作都会遵循你们团队的软件构建方式,并且每周都更贴近你们的标准。

过去,团队依靠成员传递判断:开始工作前为你介绍情况的资深工程师、发现你遗漏之处的审查者、记得上次尝试为何失败的工程师。编码 Agent 编写代码的速度,快于任何人介绍、审查或记忆的速度。知识仍在你们团队之中;Rigour 能让每个 Agent 都以其工作速度获取这些知识。

支持 Claude Code、Cursor、Codex、Cline 和 Windsurf。免费、开源,并在你的机器上运行。

它如何实现

  1. 编写前先介绍。 在 Agent 编辑文件之前,它会获知团队对该文件的要求:仓库为其制定的规则、团队从中吸取的经验,以及团队已经确定的要点。每个文件最多三项,且每项都注明出处。通过 rigour setup 安装(使用 --no-brief 可不安装),也可以使用 rigour_brief 为任何支持 MCP 的 Agent 提供介绍。参见介绍。
  2. 编写时和推送前验证。 团队的检查和规则会把关任何 Agent 的工作:每次编辑时、Agent 宣布“完成”之前,以及执行 git push 之前;此时还会运行格式化工具、代码检查工具、类型检查和涉及该变更的测试。启用后,还会根据拉取请求声明的目标检查变更:是否修改了范围外的文件,以及是否遗漏了“完成条件”中的事项。参见目标检查。
  3. 结合团队上下文,按照团队的严重程度审查。 审查者会读取上次人工审查的每一条意见,检查变更涉及的仓库规则,并优先采用你们审查者自己的“阻止合并 / 应当修复 / 小问题”判断,而不是自己的解读。团队会阻止什么、放过什么,由仓库的设置决定,而非采用统一的全局判断。参见审查者。
  4. 从结果中学习。 只有有证据时,审查意见才会变成经验:有人修正了 Agent 的工作、团队成员作出了决定,或同一问题在不同作者的工作中反复出现。合并后的情况(之后修复了相关代码行、撤销了变更)会交由人工判断,绝不会自动晋升为经验;如果团队的工作持续干净地通过合并审查,相关经验就会被撤回。学到的内容会用于下一次介绍和审查。

无论 Agent 和人员如何参与,一项工作就是一个任务;rigour thread 会展示与之相关的所有情况:编写代码时发现并在推送前修复的问题、阻止合并的事项,以及每次审查发现的问题。参见任务线程。

它是什么,以及它不是什么

  • 它只从证据中学习:你的规则文件、已采纳的审查意见、他人的纠正,以及合并后的结果。猜测永远不会变成规则。
  • 它会塑造并检查 Agent,但绝不会改变模型。 不训练、不微调。适用于任何 Agent、任何模型。
  • 它能很好地捕捉具体的代码偏好(“在两端限定窗口范围”“修改架构后重新运行代码生成器”)。设计偏好由团队成员决定:任何 Rigour 无法通过代码证明的内容,最多只能作为建议修复项,绝不会阻止操作。
  • 一台机器,服务多家公司,信息互不相通。 配置档案会按当前所在的代码仓库区分各雇主或客户的记忆、经验教训和团队。请参阅配置档案。
  • 它从你已记录的内容开始。 从第一天起,简报和审查器就会采用你自己的代码仓库规则(AGENTS.md、CLAUDE.md、Cursor 规则、Copilot 指令)。随着审查为经验教训提供证据,这些经验教训也会逐步加入。因此,审查历史较少的团队,简报内容也较少;只有在你启用后,简报才会生效。

默认运行的功能及其成本

默认状态成本
每次编辑、标记“完成”前、推送前运行检查执行 rigour setup 后启用本地运行;编辑后检查每次编辑都会启动一次 CLI
推送前运行团队工具启用使用你自己的格式化工具、代码检查工具、类型检查和测试
审查器在 Studio 或 rigour.yml 中启用前保持关闭使用 Agent 自身的模型和登录凭据;每次审查进行一次长篇读取;每次审查的记录都会显示其成本
多位评审者组成的评审小组默认关闭;使用 mode: full 或 panel: on 启用每位评审者的费用,另加对意见分歧内容进行一次简短交叉审查的费用
通过任何 OpenAI 兼容 API 运行的评审者默认关闭;使用 reviewers: [api] 启用服务提供商对你的密钥收取的费用
简报执行 rigour setup 后启用(使用 --no-brief、brief.enabled: false 或 RIGOUR_BRIEF=0 可关闭)不使用模型;启用凭据扫描后,每次编辑增加 22 ms,每个文件首次编辑增加 121 ms(在 Rigour 自身的代码仓库中测得)
任务线程在钩子运行的所有位置启用在你的 git 文件夹中,每个事件记录一行

工作原理

时机Rigour 的操作出现问题时
每次编辑对文件运行快速检查:密钥、不存在的导入、已证实的错误Agent 会立即看到结果
标记“完成”前检查整个分支与 main 的差异:需要修复的问题、未使用的代码、风险模式、合并冲突Agent 会继续处理(最多三次)
执行 git push 前执行相同检查,另外运行你的格式化工具、代码检查工具、类型检查和相关测试,以及会记住经验的审查器推送会被阻止,每个问题占一行
在拉取请求上安静的安全网:最多两条评论,且只针对尚未检查过的问题—

启用简报后,在上述所有检查之前都会先显示一行内容:每个文件首次编辑前,展示团队对该文件的要求。

开始使用

先看看它发现了什么,不做任何更改(在已有工作的分支上):

npx @rigour-labs/cli review --base origin/main

觉得值得?那就设置一下:

brew install rigour-labs/tap/rigour    # or: npm install -g @rigour-labs/cli
rigour setup                           # in your repository

rigour setup 会将 Rigour 连接到你的 Agent,安装三个时机,并检查一切是否正常。默认情况下,它是个人使用:不会改动工作树中的任何内容。Agent 钩子只会在每台机器上安装一次,在你尚未启用的任何仓库中都保持静默;启用此仓库时,也只会在 .git/ 中写入内容。如果团队希望每个克隆仓库的人都能使用,可以改用 rigour setup --team,将其提交到仓库中。无论哪种方式,它都会合并到现有的 Agent 配置中,而不是替换它们。改变主意了?rigour uninstall 会准确移除它添加的内容。开始使用介绍了具体步骤。

Rigour 每个版本约占用 70 MB。语义搜索(Linux 上约 250 MB,macOS 上约 280 MB)由 rigour setup 在每台机器上安装一次,所有版本共用;可使用 --no-semantic 跳过。

使用 Claude Code?插件可以搞定所有这些:

/plugin marketplace add rigour-labs/rigour-plugin
/plugin install rigour@rigour-labs

还想要审查器?默认情况下它处于关闭状态,需有人手动启用。你可以选择启用范围:在 Studio 的 Setup 页面为自己启用,或在 rigour.yml 中为整个团队启用:

review:
  reviewer:
    enabled: true
    mode: full          # one judge per vendor, up to `judges`; single (the default) is one judge
    panel: on           # only what most judges confirm blocks; required: no one may turn it off
    judges: 3           # 2 or 3, one per vendor installed
    escalate: risk      # add judges only for risky changes; measure it with rigour backtest first

检查通过后,推送会立即完成;随后,审查器会在后台读取已推送的提交(仅当存在未关闭且非草稿状态的拉取请求时才会运行,因此只有在有人会查看这次推送时才需要支付大模型费用)。rigour review --status 会显示其结论和运行情况;在请人审查之前,rigour review --reviewer --full 会进行最终拦截。对于你自己的运行,你的选择优先,除非团队设定了最低要求;Rigour 始终会说明实际运行了哪些检查器,以及原因。

然后打开 Studio,查看它的运行情况:

rigour studio

你会用到的命令

命令功能
rigour setup为仓库做好准备,并检查一切是否正常
rigour brief团队在此任务开始前会告诉 Agent 的内容:规则、经验和已确定的事项,并逐条注明出处
rigour thread查看任务进展,包括不同 Agent、检查、推送和审查的情况
rigour review审查当前更改,或在创建 PR 前审查分支(--reviewer 会添加记忆型审查器;--scope 会列出某轮修复所更改、但审查从未要求更改的内容)
rigour studio查看 Rigour 拦截了什么、学到了什么,以及提供给 Agent 的内容
rigour doctor告诉你哪些功能正常、哪些不正常,以及如何修复
rigour uninstall准确移除 Rigour 添加的内容;你自己的设置和编辑过的文件会保留

其他所有内容请参阅 rigour help --all。

旨在建立信任

  • 只会在能够证明时阻止你。 确定性检查只有在对真实的已合并拉取请求运行过后才会阻止你。模型审查者的发现只有在指出错误结果或成本时才会阻止你;使用评审团时,只有多数评审者达成一致才会阻止你。对风格或规模的猜测绝不会阻止你,也不会出现在 PR 上。
  • 只需说一次“不是 bug”。 该发现不会再出现,而团队反复推翻的检查也会自动保持静默。
  • 无法检查时会明确说明。 没有审查者回复、没有内容可审查、未安装某个工具:这些情况都会如实报告,绝不会显示为检查通过。
  • 代码始终留在你的机器上。 检查在本地运行。代码只会发送给你选择的模型:审查者会使用 Agent 自带的 CLI;使用你的密钥运行模型审查时,代码才会发送给提供商。团队同步只会发送从团队自有仓库中获得的经验。Rigour 可能发出的每一项网络请求,以及如何逐项关闭,请参阅安全性。
  • 费用一目了然。 使用模型时,Rigour 会记录每次运行的实际费用。
  • 每位评审者掌握的信息一目了然。 评审者会读取你的仓库以及 Rigour 提供给它的信息。Claude 评审者不会加载任何人的个人指令;对于无法阻止其读取个人配置的评审者(Codex、Cursor),审查记录会说明它还读取了哪些内容。
  • 公开衡量。 关于 Rigour 能发现哪些问题的说法,会在公开的 driftbench arena 中通过真实拉取请求进行测试。
  • 与自己的审查者进行比较。 rigour backtest 会在团队审查过的提交上重放审查过程,并在隐藏原审查内容的情况下进行评分:它能率先发现审查者提出的哪些问题,以及是否会阻止任何被审查者判定为良好的内容。请参阅回测。
  • 阻止操作遵循同一条规则。 审查、停止钩子和推送门禁依据同一条规则作出判断,因此绝不会对某项发现产生分歧。

费用

Rigour 免费。搭配 Agent 使用时,你无需其他东西:检查在本地运行,审查者和对高风险更改的审查会使用 Agent 自带的模型和登录信息。模型密钥仅用于审查不由 Agent 编写的代码,以及拉取请求机器人。

面向团队

拉取请求。 添加一个工作流文件,Rigour 就会静默审查每个 PR。将其设为必需检查后,PR 就不能忽略自身的发现,也不能放宽自身的设置。请参阅拉取请求和 CI。

所有人使用同一套设置。 rigour setup --team 会提交配置,每位队友克隆后只需运行一次 rigour setup。请参阅团队设置。

共享知识。 将 Rigour 指向 PostgreSQL 数据库,就能在有人批准后,让某个人的 Agent 学到的经验与整个团队共享。发送的内容始终仅限于团队自有仓库中的经验。请参阅团队数据库。

要加入已在共享经验的团队? 请先向团队的 Rigour 管理员申请自己的登录信息:按照设计,任何人都不能自行添加自己。之后,每台机器只需运行一条命令,每个克隆只需运行三条命令。请参阅加入现有团队。

让每个人都能受益。 一条审查评论,从资深成员写下它的拉取请求,一路传到每位队友的 Agent,再用于下一次更改:团队知识如何从一次审查传递给每个 Agent。

同时为多家公司工作? 配置文件会按当前所在的仓库区分各公司的记忆、经验和团队。请参阅配置文件。

了解更多

如果你想……阅读
逐步安装并运行 Rigour快速入门
查看此版本的变更内容以及升级方法发布说明
了解在工作过程中发现问题后该怎么做开发期间
为整个团队进行设置团队设置
在 CI 中审查每个拉取请求拉取请求与 CI
查看它支持哪些 Agent,以及它的 MCP 工具编码 Agent 与 MCP
运行审查器,从单个评审者到评审小组审查器
使用自己的模型密钥或本地模型模型审查
调整 Rigour 的检查内容配置 · 所有设置
查看所有检查,以及如何确保准确性经得起检验Rigour 检查内容
为你的组织审批此工具安全与网络使用 · 遥测:自愿启用、匿名,绝不收集代码
在一台机器上跨多个公司工作配置档案
查看全部内容文档索引

从源代码构建

pnpm install
pnpm build
pnpm test

请参阅贡献指南。


文档 · 讨论 · 问题

MIT © Rigour Labs · 由 Ashutosh 构建

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。