核心用法
CI Whisperer 是一款面向开发团队的 GitHub Actions 故障诊断技能,通过 CLI 工具和 GitHub API 自动化提取 CI 失败证据并输出结构化分析报告。
触发场景:用户分享失败的工作流 URL/run ID、提及"CI 挂了"、询问失败原因、请求日志摘要或最小修复方案、要求自动生成修复 PR。
双模式设计:
- 只读模式(默认):收集证据、定位根因、提出修复建议,绝不执行任何写操作
- PR 修复模式(显式双授权):需同时满足用户明确要求 + 环境变量
CI_WHISPERER_WRITE=1启用
执行流程:
1. 目标识别 — 解析 owner/repo、run ID(支持 URL/ID/PR 号多种输入)
2. 证据采集 — 调用 gh run view 获取状态、时间戳、分支、提交等元数据;--log-failed 提取失败日志
3. CI 验尸报告 — 输出:失败作业/步骤、错误摘录(自动脱敏)、分级根因分析、最小修复选项、置信度评估
4. 可选修复 — 创建分支→应用变更→本地验证→提交 PR(仅写模式)
显著优点:
- 确定性工具链:优先使用
/usr/bin/gh官方 CLI,避免非标准解析 - 安全纵深防御:双因素授权(口头+环境变量)才能开启写模式;默认只读杜绝误操作
- 脱敏处理:日志中的 secrets 自动红码;token 绝不打印
- 工程化交付:"CI 验尸"隐喻降低沟通成本,输出结构符合资深工程师诊断习惯
潜在局限:
- 依赖本地
gh认证状态,未登录时需用户手动介入 - 复杂多作业失败场景下,
--log-failed可能遗漏非主因错误 - 自动 PR 模式需预置本地 lint/test 环境,否则跳过验证步骤
- 不支持非 GitHub Actions 的 CI 系统(Jenkins/GitLab CI 等)
适合人群:
- 频繁处理 CI 失败的工程团队
- 需要快速交接故障上下文的技术负责人
- 追求"最小修复"原则以减少回归风险的开发者
常规风险:
- 认证泄露:
gh凭证需妥善保管,技能本身不存储 token - 日志脱敏盲点:自定义 secret 命名模式可能逃过红码规则
- 写模式误启:环境变量配置失误可能导致非预期 PR 创建,建议生产环境默认
CI_WHISPERER_WRITE=0