关于 rerunplan
rerunplan 是用于判断失败检查应重跑、修复还是调查的本地工具。它依据检查名称、错误特征和历史运行记录分类,并给出建议及其证据。
主要功能
- 01区分基础设施波动、间歇性失败和真实故障
- 02依据检查历史与错误特征判断
- 03返回建议及支持证据
- 04规范化常见成功与失败状态
- 05无需网络或配置即可本地运行
适用场景
- 01判断失败检查应重跑还是修复
- 02分诊间歇性测试失败
- 03识别需要进一步调查的故障
MCP 相关
向 MCP 客户端提供 `plan_rerun` 工具。输入失败检查、可选错误特征和历史运行记录后,返回分类与建议。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| check | string | 是 | 失败检查的名称 |
| past_runs | array | 是 | 过去的运行记录;会忽略其他检查的运行记录 |
| error_signature | string | 否 | 当前失败的错误签名(可选) |
详细介绍
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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。