AI 编程工具
xctriage:面向 Apple 平台 CI 的 Xcode 构建失败日志分析与初步修复建议工具
gerardrecinto/xctriage · Swift 6 CI failure analysis for Apple platforms: xcodebuild/xcresult parser, Auto-Remediation via LLM, Claude API, actor-based flaky test tracker
ELI5:它是什么,解决什么问题
xctriage 是一个 Swift 命令行工具,用于分析 xcodebuild 控制台输出、GitHub Actions 日志和 .xcresult 包,借助 21 条加权正则规则识别编译错误、测试失败、flaky 测试、资源耗尽等 8 类失败,并给出可能原因与修复建议。规则置信度不足时可选调用 Claude API 作为补充;在发送日志前,可通过正则脱敏去除密钥与个人隐私信息;结果可输出为终端、JSON、SARIF、GitHub 注解或 Slack 消息,本地 SQLite 记录 90 天内的失败并统计 flaky 测试。remediate 命令会生成单文件补丁,并在隔离的 git worktree 中构建验证,且只会提交草稿 PR,绝不会自动合并。
核心能力与快速开始
★ 1 · Swift
- 能做什么
- 解析 xcodebuild 日志、GitHub Actions 日志与 .xcresult 包;用 21 条加权正则规则分类 8 类失败并输出置信度、根因、修复建议和失败位置;可选通过 Claude API 在规则置信度低时补充判断;提供 --redact 正则脱敏与 --dry-run-prompt 预览外发内容;输出终端、JSON、SARIF、GitHub 注解与 Slack;SQLite 记录 90 天内失败并统计 flaky 测试;remediate 生成单文件 diff 并在一次性 git worktree 中构建验证、可开草稿 PR。
- 适用场景
- 维护 Apple 平台 CI 的团队快速定位 Xcode 编译失败、XCTest 失败、flaky 测试、依赖解析失败、超时与运行时崩溃;在 Jenkins 或 GitHub Actions 中以 --exit-code 做失败门禁;将分类结果以 SARIF 上传代码扫描或以 Slack 通知值班人员;对 flaky 测试做隔离候选标记;在合规要求下审计发往 LLM 的日志内容。
- 项目形态
- 可直接使用的工具
- 部署方式
- 本地 CLI;可从 GitHub Releases 下载 macOS arm64 二进制或从源码 swift build -c release 构建;Dockerfile 提供 Linux 可移植子集,但排除 .xcresult 解析。
- 主要依赖
- 运行需 macOS 14 或更高版本与 Swift 6(随当前 Xcode 提供);解析 .xcresult 需 macOS 和真实 Xcode;可选 LLM 功能需自备 XCTRIAGE_ANTHROPIC_API_KEY;Slack 输出需配置 webhook;构建依赖下载耗时取决于机器与网络。
- 使用限制
- 不自动修复代码,remediate 只提出补丁且永不合并;置信度是胜出规则的权重,不是校准概率;无规则匹配时返回 unknown 与 0% 置信度;无法在 Linux 上完整运行,Docker 子集缺少 .xcresult 解析;remediate 路径不应用脱敏,会把真实文件内容发送给 Claude;flaky 评分是记录中的失败构建内出现次数,并非跨通过/失败构建的失败率;Claude API 用量与费用未说明。
- 许可证
- MIT
- 最近推送
- 2026-11-02 08:57
资料检查:2026-11-03 07:00 · 卡片整理:2026-11-03 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证
职业应用
程序员
分析 Apple 平台 CI 中失败的 xcodebuild 控制台输出、GitHub Actions 日志和 .xcresult 包,识别编译错误、测试失败、flaky 测试、资源耗尽等失败类别并给出可能原因与修复建议;可用 --exit-code 在 CI 中作为失败门禁,用 flaky 命令统计 flaky 测试,用 remediate 生成单文件补丁并在隔离 worktree 中构建验证后提交草稿 PR。
查看内容依据
xctriage reads a failed Xcode or XCTest build log and tells you the likely cause and a suggested fix. It is for people who maintain Apple-platform CI and are tired of scrolling through thousands of log lines.
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。