mcpField
R
rerunplan

rerunplan

本地服务
github.com/CloudCorpRecords开发工具01 周前更新

关于 rerunplan

rerunplan 是用于判断失败检查应重跑、修复还是调查的本地工具。它依据检查名称、错误特征和历史运行记录分类,并给出建议及其证据。

主要功能

  1. 01区分基础设施波动、间歇性失败和真实故障
  2. 02依据检查历史与错误特征判断
  3. 03返回建议及支持证据
  4. 04规范化常见成功与失败状态
  5. 05无需网络或配置即可本地运行

适用场景

  1. 01判断失败检查应重跑还是修复
  2. 02分诊间歇性测试失败
  3. 03识别需要进一步调查的故障

MCP 相关

向 MCP 客户端提供 `plan_rerun` 工具。输入失败检查、可选错误特征和历史运行记录后,返回分类与建议。

配置

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

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

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

安装包
npm@reneturcios/rerunplan0.1.0
ocighcr.io/cloudcorprecords/rerunplan:0.1.0

工具

1

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

参数类型必填说明
checkstring是失败检查的名称
past_runsarray是过去的运行记录;会忽略其他检查的运行记录
error_signaturestring否当前失败的错误签名(可选)

详细介绍

rerunplan

检查失败了。是重新运行,还是修复?rerunplan 会根据证据对失败进行分类——失败检查的名称、错误特征,以及同一检查的过往运行记录——并给出分类、建议,以及促成判断的证据行:

  • infra_flake → 重新运行 — 错误特征符合已知的基础设施问题模式(超时、连接重置、DNS、速率限制、运行器丢失、网关错误),且该检查并非每次都以这种方式失败
  • flaky → 重新运行 — 该检查以前通过过,也曾因同一错误特征而失败;失败时有时无
  • real_failure → 修复 — 该检查在每次可用的过往运行中都失败了(如果提供了当前特征,则按当前特征判断);看起来像基础设施问题的特征若每次都导致失败,仍属于真实失败
  • insufficient_evidence → 调查 — 没有可用的历史记录,或历史记录情况混杂,没有任何规则适用

规则按固定顺序触发,且每条规则都会附加其证据。 状态会被规范化(success/pass/passed、 failure/fail/failed/error);其他检查的运行记录会被忽略。 纯本地计算:无需网络,也无需配置。

命令行

npx @reneturcios/rerunplan plan --check unit-tests --signature "Error: boom" --past past-runs.json
npx @reneturcios/rerunplan --version

past-runs.json 是一个 JSON 数组,包含 {"check": "unit-tests", "status": "failure", "error_signature": "Error: boom"} 对象(每次运行中的 check 和 error_signature 均为可选)。

退出代码:成功时为 0,发生运行时错误时为 1(包括无法读取或无效的 past-runs 文件),用法错误时为 2。

MCP 服务

npx -y @reneturcios/rerunplan mcp

MCP 客户端配置:

{
  "mcpServers": {
    "rerunplan": {
      "command": "npx",
      "args": ["-y", "@reneturcios/rerunplan", "mcp"]
    }
  }
}
工具
  • plan_rerun — 根据失败检查的过往运行历史进行分类,并建议重新运行、修复或调查。
    • check(字符串,必填)— 失败检查的名称
    • error_signature(字符串,可选)— 当前失败的错误特征
    • past_runs(数组,必填)— 过往运行记录,格式为 {check?, status, error_signature?} 对象

Docker

docker run -i ghcr.io/cloudcorprecords/rerunplan
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/rerunplan plan --check unit-tests --past /w/past-runs.json

开发

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (pure local, no network)
npm run dev     # run the CLI from source

许可证

MIT — 版权所有 (c) 2026 Rene Turcios

评论

支持 Markdown

第一次接触 MCP?

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

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