brunnojob/devrescue
开发工具本地分析 CI 与构建日志,按特征归类故障并给出可审阅的修复建议,面向开发者与 CI 维护者。
项目介绍
DevRescue 读取构建、运行时和 CI 日志,按特征把可识别的失败归组。每个分组会显示脱敏后的证据、可用的文件与行号、可能原因,以及可以人工审阅的命令。独立的诊断视图接受用户提供的源码片段,给出与该技术栈相关的提示和分步修复计划。此外还支持对比两份日志、维护手工检查清单、导出 Markdown/JSON,以及可选的浏览器历史记录。
项目提供三个入口:部署在 GitHub Pages 的 React/Vite 工作台(打开工作台)、无运行时依赖的 Node.js CLI,以及 GitHub Action。分析是确定性的、基于特征匹配的,工具不会执行它建议的命令。
快速使用
CLI 需要 Node.js 22 或更高版本,在仓库根目录运行:
git clone https://github.com/brunnojob/devrescue.git
cd devrescue
node bin/devrescue.js analyze examples/build.log --markdown
node bin/devrescue.js analyze examples/build.log --json
node bin/devrescue.js doctor .
前两条命令针对示例日志输出报告,--markdown 和 --json 决定输出格式;doctor 检查仓库配置,并提供范围很窄、需要人工确认的 .env 忽略修复。
Web 应用:
git clone https://github.com/brunnojob/devrescue.git
cd devrescue/apps/web
npm ci
npm run dev
本地访问路径为 /devrescue/。账户功能需要在私有的 .env.local 中设置公开的 VITE_API_BASE_URL;API 需单独构建和启动:npm run api:build && npm run api:start(本地开发步骤)。
GitHub Action
该 Action 只分析作业中已存在的日志文件,不会自动下载作业日志。需要在前面的步骤生成 ci.log,然后:
- uses: actions/checkout@v4
- name: Analyze an existing log
if: always()
uses: brunnojob/devrescue@main # Pin a reviewed commit SHA in production.
with:
log-path: ./ci.log
fail-on-findings: 'false'
脱敏后的 Markdown 会写入作业摘要。Action 支持 Linux、Windows 和 macOS,包括 macOS 上较旧的 Bash(Action 示例)。
使用约束
脱敏基于模式匹配,分享或上传任何报告前都应先人工检查。根目录 CLI 与 Web 应用内较新的浏览器分析器都基于特征匹配,但分别维护,因此结果可能不一致。托管账户服务需要 Azure 配置指南 中的运行时设置、GitHub OAuth 凭据和 OIDC 部署授权;构建通过并不代表真实数据库可用,仓库也不会自动创建付费 Azure 资源。
Azure 同步是可选操作,只把审阅过的派生报告上传到 PostgreSQL,完整原始日志保留在本地。账户访问保留与已验证 GitHub 身份绑定的三小时试用,月度或确认的一次性赞助可获得赞助者访问权限;源码和本地 CLI 仍为 MIT 许可。真实 Azure 连通性需要单独验证,不能依赖基于 PGlite 的测试套件。另见已发布的限制说明和安全说明。
HotRepo 点评
该项目在 2026-11-15 进入 HotRepo 新项目榜 TypeScript 语言榜,当时 112 Star,在约 1.5 小时的统计窗口内净增 12 Star,Fork 为 0。观察窗口很短,也没有更早的名次记录,只能说明出现了短时关注,不能说明采用率或留存。仓库里较具体的技术差异是根目录 CLI/Action 引擎与较新的浏览器分析器分开维护,README 也承认两者结果可能不同;对使用者来说,哪一入口产出的报告,与报告内容本身同样重要。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。