← 返回列表
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

GitHub原文发布 未知首次收录 2026-11-03上架 2026-11-03 07:02

☆ 收藏查看项目 ↗

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

登录后参与讨论,阅读资讯无需注册。

还没有评论,来分享第一个看法。