mcpField
P
prwatch

prwatch

本地服务
github.com/CloudCorpRecords版本控制01 天前更新

关于 prwatch

prwatch 是面向有未合并 GitHub PR 的贡献者的分流工具,按紧急程度排序并说明原因,帮助判断先处理哪个 PR。它会区分可由贡献者修复的问题与外部阻塞。

主要功能

  1. 01按紧急程度排序未合并 PR
  2. 02给出分数、类别和排序原因
  3. 03查看审查状态、检查结果和未解决线程
  4. 04将外部阻塞与代码问题区分
  5. 05提供 CLI 和 JSON 报告

适用场景

  1. 01多个 PR 同时收到审查时确定处理顺序
  2. 02查找需要回复或修改的审查线程
  3. 03识别由部署授权导致的外部阻塞
  4. 04快速查看单个 PR 的详细状态

MCP 相关

以 stdio MCP 服务提供注意事项报告、开放 PR 列表和单个 PR 状态详情。

配置

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

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

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

安装包
npm@reneturcios/prwatch0.1.4
ocighcr.io/cloudcorprecords/prwatch:0.1.4

工具

3

收录的工具列表 · 更新于 2 天前

参数类型必填说明
repostring否可选的 owner/repo 筛选条件,例如 shadcn-labs/pdfcn。
userstring否GitHub 用户名。默认使用令牌所有者的用户名。

详细介绍

prwatch

现在有什么需要你关注? prwatch 会为有未合并 PR 的贡献者解答这个问题。

它源于真实的一天:同一个仓库里有 3 个未合并 PR,CodeRabbit 对这 3 个 PR 都进行了审查,Vercel 部署失败却不是作者的过错,而且无法一眼看出到底哪个 PR 需要处理。手动阅读每个 PR 中的所有审查讨论串已经是过去的做法。prwatch 会根据紧急程度对未合并 PR 排序,并给出易于理解的原因,让你先打开最该处理的 PR。

安装

要求:Node 20+。

git clone https://github.com/CloudCorpRecords/prwatch
cd prwatch
npm install
npm run build
npm link   # or run with npx tsx src/cli.ts

设置 GITHUB_TOKEN(或 GH_TOKEN),即可获得每小时 5000 次的已认证速率限制。没有令牌时,每小时仍可使用 60 次的未认证速率限制。

使用 Docker 运行

prwatch 也以容器镜像的形式发布在 GHCR:ghcr.io/cloudcorprecords/prwatch。

将其用作 stdio MCP 服务:

docker run -i ghcr.io/cloudcorprecords/prwatch

可以在镜像名称后传入任何 CLI 命令,以替代默认的 mcp 参数:

docker run ghcr.io/cloudcorprecords/prwatch <command> [args]

身份验证

令牌为可选项。--repo 模式和 prwatch show 无需令牌即可运行,因为它们不会访问搜索 API。面向整个账户的报告(不带 --repo 的 attention / list)会使用 author: 搜索;GitHub 对某些账户的未认证调用限制了此搜索,因此建议使用令牌。无作用域的经典令牌足以访问公开数据;没有令牌时,程序会提供清晰的指引,而不是原始的 422 错误。

CLI 用法

prwatch attention                     # rank my open PRs by urgency
prwatch attention --user octocat --repo shadcn-labs/pdfcn
prwatch attention --json              # machine readable output
prwatch list                          # simple one line per PR
prwatch show https://github.com/shadcn-labs/pdfcn/pull/92

输出示例:

[ACTION]  74  shadcn-labs/pdfcn#92
         feat: add Business Letter block
         - 4 unresolved review threads need a reply or code change (business-letter.tsx, business-letter.mdx)
         https://github.com/shadcn-labs/pdfcn/pull/92
[READY]   45  shadcn-labs/pdfcn#93
         feat: add Resume block
         - Approved and green, ready to merge.
         https://github.com/shadcn-labs/pdfcn/pull/93

prwatch show 会提供深入分析:审查状态、每项检查及其结论、包含文件和行号的未解决审查讨论串,以及完整的关注度分析。

MCP 服务

使用与 CLI 相同的引擎,通过 stdio 为 Claude、Cursor 和 Cline 提供服务:

工具功能
attention_report({user?, repo?})按排名显示关注度报告,包含分数、类别和原因
list_my_prs({user?, repo?})简单列出未合并 PR
pr_status({url})深入分析单个 PR:审查、检查、讨论串和关注度分数

Claude Code / Cursor 配置(~/.claude.json 或 MCP 设置):

{
  "mcpServers": {
    "prwatch": {
      "command": "node",
      "args": ["/absolute/path/to/prwatch/dist/mcp.js"],
      "env": { "GITHUB_TOKEN": "ghp_your_token_here" }
    }
  }
}

直接使用 npm run start:mcp 启动。

评分机制

每个未合并 PR 的初始分数为 50,并根据各种信号增加或降低紧急程度:

信号影响
审查者要求修改+30,类别 ACTION
合并冲突(分支不可合并)+25,类别 ACTION
你的代码检查失败(构建、测试、lint、DCO)每项 +12,类别 ACTION
要求修改的未解决审查讨论串每条 +8,类别 ACTION
已获批准、检查全部通过且可合并READY,分数最高为 45
与你无关的检查失败(例如 Vercel 提示“Authorization required to deploy”)归类为 BLOCKED_EXTERNAL,紧急程度较低
检查仍在运行WAITING
7 天以上没有动静且未获批准STALE

分数限制在 0–100。类别按以下顺序排列:ACTION、BLOCKED_EXTERNAL、READY、WAITING、STALE。报告先按分数排序,再按类别排序。

有两项判断标准值得了解:

  1. 外部阻碍不算失败。 如果预览部署失败是因为维护者必须先授权,GitHub 会将其标记为“failure”,但修改代码并不能解决问题。prwatch 会检测已知模式(需要授权、登录后才能部署、等待团队批准),并将其归类为外部阻碍,因此绝不会因此提高你的紧急程度。
  2. 讨论串是否已解决是近似判断。 GitHub REST API 无法指出审查讨论串是否已解决,因此,非作者的顶层审查评论会被视为未解决讨论串。提出修改建议的评论(代码建议、“please”、“consider”、“fix”)会被视为需要采取行动。

开发

npm install
npm test        # tsx --test test/*.test.ts
npm run build   # tsc, emits to dist/
npm run dev     # run the CLI from source

test/fixtures/ 中的测试样例参考了 shadcn-labs/pdfcn 在 2026-10-13 的 PR #92、#93 和 #94 的真实数据结构。测试不会访问网络。

许可证

MIT。Copyright (c) 2026 Rene Turcios。详见 LICENSE。

工具套件

此工具是开源贡献工作流中的四款工具之一,它们都以 @reneturcios npm 作用域发布,且每款都提供 CLI 和 MCP 服务(<tool> mcp):

  1. gatefile(npx @reneturcios/gatefile)会提取仓库的贡献门槛,并将其写入已提交的 contribution-gates.json。
  2. greenlight(npx @reneturcios/greenlight)会预检问题(GO / RISKY / TAKEN / GATED / STALE),在 check 和 scan 中使用 gatefile 的输出,然后认领问题、做好准备并提交 PR。
  3. claimcheck(npx @reneturcios/claimcheck)会监控过期认领,以及停留在 fork 上的修复。
  4. prwatch(npx @reneturcios/prwatch)会根据哪些未合并 PR 需要你立即处理,对它们进行分类。

评论

支持 Markdown

第一次接触 MCP?

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

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