Mergewarden

io.github.sjh9714由 GitHub 账号 sjh9714 发布v0.9.0更新于 Oct 24, 2026

Check whether a coding agent's changes stayed inside the scope it was given.

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

MergeWarden 检查编码代理的改动是否保持在给定范围内,并标出审查前需要补充上下文的拉取请求。

可以做什么
检查编码代理的改动是否保持在给定范围内,依据确定性规则而非语言模型。标出缺少关联议题、描述过简、未使用模板或改动过大的拉取请求。对单个拉取请求做详细风险扫描,覆盖工作流权限、代理指令文件、不可信提示输入和安装脚本。证据不完整时如实报告为不完整,而不视为通过。
适用场景
适合在审查编码代理或外部贡献者的拉取请求时,先做一次基于规则的快速检查,确认范围与审查准备情况。也适合发现对 CI 工作流、代理指令文件或软件包安装脚本的风险改动。
运行要求
以本地 npm 包通过 stdio 运行。README 中的命令行示例使用 GH_TOKEN 环境变量以获得更大的已认证队列;清单未声明任何认证或环境变量。需要访问公共 GitHub API 的网络连接。
安装前请注意
README 称其为实验性工具,节省审查时间的效果尚未得到验证,且产品扩展已暂停。Action 示例申请 pull-requests 写权限,可能会在拉取请求上发布或更新评论。它读取公共 GitHub 元数据和模板,不执行拉取请求中的代码。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mergewarden,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

MergeWarden

[Release] [CI] [MergeWarden] [License]

See which pull requests need context before code review.

Paste a public GitHub repository. MergeWarden surfaces missing issue links, thin descriptions, skipped templates, and oversized changes. No login. No AI.

This is an experimental tool. Review-time savings and repeat maintainer use have not been demonstrated. Product expansion is on hold; see the roadmap and evidence limits.

Review a public repository

Open the public review queue

The getting started guide explains queue states, detailed PR results, and the Action install path.

Paste owner/repository or a full GitHub repository URL. The browser reads the latest thirty open pull request summaries, removes trusted repository roles, base repository branches, and known maintenance automation, then loads details for at most ten external pull requests.

Rows are ordered by deterministic facts a maintainer would otherwise check before reading code.

FactWhat it means
No linked issueThe body has no issue number, issue URL, or closing keyword
Thin descriptionThe body has fewer than 80 characters of prose
Template unusedThe repository has a visible PR template structure that the body did not keep
OversizedThe change exceeds 50 files or 1,500 changed lines

First contribution is shown as context and never used as a score. MergeWarden does not call a contribution spam, low quality, or AI generated. It never closes, labels, scores, or comments on a pull request.

The queue uses public metadata and the base branch pull request template. It does not fetch changed file contents, execute code, use a backend, or store the target.

For a larger authenticated queue, use the CLI.

bash
GH_TOKEN=... npx --yes [email protected] triage owner/repository

Run the detailed PR risk scan

The same page accepts a full pull request URL or owner/repository#number. Every queue row links to this detailed scan.

The detailed scan checks four security boundaries.

CheckWhat deserves review
Workflow permissionsA workflow gains write access, uses a dangerous trigger, or depends on a moving Action reference
Agent instructionsA PR changes AGENTS.md, CLAUDE.md, .mcp.json, or another file that steers coding agents
Untrusted prompt inputsPull request text reaches an agent prompt in a workflow
Install scriptsA package manifest adds or changes install-time lifecycle code

The configuration reference lists every deterministic rule and severity.

Run the same scan from a terminal without cloning the target repository.

bash
npx --yes [email protected] scan https://github.com/owner/repository/pull/123

Add the Action

The Action automates the detailed PR risk check. It does not order the review queue.

Create .github/workflows/mergewarden.yml.

yaml
name: MergeWarden PR Risk Check
on:  pull_request:
permissions:  contents: read  pull-requests: write
jobs:  mergewarden:    runs-on: ubuntu-latest    steps:      - uses: sjh9714/[email protected]        with:          comment: auto

comment: auto stays quiet when there is nothing actionable and updates one comment when a finding needs attention. Existing Action defaults are unchanged.

For an immutable install, pin the release commit.

MergeWarden does not publish or recommend a mutable v0 tag.

yaml
- uses: sjh9714/mergewarden@d63b4fc8c09c540375f039ecd30d2fce56abf31f

Safety boundaries

  • The web app talks directly to the public GitHub API and has no telemetry.
  • The queue reads metadata and templates at each PR's exact base commit. The detailed scan reads only the files required by deterministic rules.
  • No checkout. MergeWarden does not execute pull-request code in the web app or Action.
  • Policy comes from the exact base commit, never the untrusted PR head.
  • Analysis never calls a language model.
  • Incomplete evidence is reported as incomplete and never presented as a pass.
  • Browser sample limits are explicit: reaching 30 summaries or leaving external PRs beyond the ten-detail limit does not produce a complete queue.

Read the security model and evidence model for the full trust boundary.

Evidence and advanced interfaces

Does triage help? records the existing queue measurement and its main limit. It measured whether rows discriminate, not whether maintainers save time. The current web queue remains a product experiment until maintainers confirm that value.

The documentation index includes configuration, Action and CLI references, coding-tool integrations, reproducible studies, and the MCP server.

Contributing

bash
pnpm install --frozen-lockfilepnpm buildpnpm testpnpm typecheckpnpm lintpnpm format:check

Every new rule needs a passing fixture, a failing fixture, and a report snapshot. See the contribution guide.

简体中文

License

MIT

来源:README.md,提交 aba7262

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.9.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分