Codeball是什么
Codeball是一款由Sturdy团队推出的GitHub Pull Request自动审查工具,创立于2020年并入选Y Combinator 2021年冬季批次。它使用机器学习模型为代码贡献计算0到1之间的分数,并根据阈值批准、标记或阻止PR。
它的重点不是像聊天机器人一样逐行解释所有代码,而是判断一项贡献是否足够安全,可以快速通过人工审查。团队也可以把中低置信度的变更标为需要审查或需要谨慎审查。
当前运营状态
截至2026年8月21日,Codeball已经不能按正常运营的AI代码审查服务介绍。Y Combinator公司页将其标记为Inactive,原产品官网也已改为名为AI BallCode的内容网站,并出现与博彩相关的文章。
开源Action默认连接的远程API域名当前无法解析,因此新工作流无法创建正常的Codeball审查任务。GitHub Marketplace仍保留v2.6.0条目和Verified发布者标识,只能证明Action曾由官方伙伴组织发布,不能证明模型服务仍在线。
| 核验项目 | 当前结果 | 实际影响 |
|---|---|---|
| 公司状态 | Inactive | 不应期待持续运营和商业支持 |
| 原产品官网 | 已变成其他内容网站 | 不要用于登录、安装或提交代码 |
| 模型API | 域名无法解析 | Action无法完成远程评分 |
| GitHub Marketplace | 仍展示v2.6.0 | 旧文档和安装示例仍可见 |
| Action仓库 | 公开且未归档 | 源码可研究,但最后推送停在2023年4月 |
| Y Combinator资料 | 公司标记Inactive | 与产品停运证据一致 |
| 当前价格 | 无法核验 | 没有可靠购买或订阅入口 |
| 隐私与条款 | 原入口不可用 | 无法确认现行数据处理规则 |
一句话介绍
Codeball曾通过GitHub Action分析Pull Request并自动批准高置信度安全变更,但其公司、官网和远程模型后端目前均已失去正常产品状态,只适合历史研究和迁移清理。
历史核心功能
Pull Request风险评分
Codeball会把每个PR评分为0到1,分数越高代表模型越倾向于认为该贡献可以通过。默认批准阈值为0.935,低于0.300时可标记为需要谨慎审查。
| 分数区间 | 默认处理 | 含义 |
|---|---|---|
| 大于或等于0.935 | 批准并可添加approved标签 | 模型对安全性置信度较高 |
| 0.300至0.935之间 | 可添加needs-review标签 | 仍需要普通人工审查 |
| 低于0.300 | 可添加needs-careful-review标签 | 应进行更严格的人工检查 |
| 未返回结果 | 工作流失败或等待 | 不能据此判断代码安全 |
阈值可以在工作流中修改,但降低批准阈值会增加误放风险。分数只反映旧模型的统计判断,不能替代测试、安全扫描、业务验证和代码所有者审批。
自动批准安全PR
当模型分数达到批准阈值时,Action可以提交Approving Review。该能力需要仓库或组织允许GitHub Actions创建和批准Pull Request。
- 自动批准模型认为安全的贡献。
- 把高置信度PR标为codeball:approved。
- 移除与新判断冲突的旧风险标签。
- 支持使用专用机器人账户满足CODEOWNERS流程。
- 可以关闭自动批准,只保留标签观察结果。
风险标签
Action可以根据分数为PR添加三类标签,让维护者先处理高风险变更。标签功能比自动批准更适合试运行,因为它不会直接改变合并所需的审查状态。
- codeball:approved表示模型达到高置信度阈值。
- codeball:needs-review表示需要常规人工检查。
- codeball:needs-careful-review表示需要重点核查。
- 每次运行可移除与当前分数不一致的旧标签。
- 团队可以分别启用或关闭不同标签。
CI阻断
failJobsWhenReviewNeeded选项可以在模型没有批准贡献时让工作流返回失败状态。默认值为false,意味着Codeball默认不会仅因模型低分而直接阻断CI。
把模型结果设为强制合并检查会扩大服务故障的影响。当前远程API已经不可解析,仍保留强制检查可能导致所有新PR无法通过。
路径过滤与草稿跳过
GitHub Actions原生路径条件可限制Codeball只分析某个服务或目录,工作流条件也能跳过Draft PR。这样可以减少不相关变更触发审查。
评论转代码建议
codeSuggestionsFromComments曾作为测试功能,把PR评论转换成代码建议。该选项默认关闭,现有文档也没有证明这项测试能力进入稳定状态。
Codeball AI Writer应用
Codeball AI Writer是配套GitHub App,用于让来自Fork的PR也能获得批准和标签权限。它可以为公共或私有仓库提供写入身份,但同样依赖Codeball远程服务。
安装GitHub App会授予仓库权限,不能因为Marketplace页面仍存在就继续信任。旧用户应检查应用是否仍安装,并在停用服务后撤销不再需要的访问权。
Codeball历史工作原理
- GitHub在新PR或PR更新时触发工作流。
- Action读取Pull Request地址和GitHub令牌。
- 客户端把PR地址、访问令牌和阈值发送给Codeball远程API。
- 服务器使用令牌读取相关贡献信息并创建异步审查任务。
- Action轮询任务状态,取得置信度、批准结果和建议状态。
- 根据配置添加或移除标签,并决定是否提交批准审查。
- 如果启用强制失败,未批准结果会让工作流返回非零状态。
旧文档称模型会考虑代码差异的感知哈希、作者对相关文件的近期经验、文件变更频率以及历史回滚或修复等数百个输入。模型后端没有在Action仓库中开源,当前也无法复现原评分。
历史安装教程
- 在仓库中创建GitHub Actions工作流目录。
- 新增用于Codeball的工作流配置文件。
- 把触发事件设为Pull Request,并按需要加入评论事件。
- 在作业中引用sturdy-dev发布的codeball-action v2。
- 先关闭自动批准和CI失败,只启用标签做观察。
- 为工作流设置读取内容、写入Issue和写入Pull Request权限。
- 提交到测试分支,查看不同风险PR的标签结果。
- 在验证准确率和误判成本后,再决定是否扩大自动化。
以上是历史配置方法,不建议现在新增该工作流。远程API无法解析,原官网也已变化,新安装不仅无法完成审查,还会引入过时依赖和不必要的令牌传输设计。
安全停用与迁移教程
- 搜索仓库工作流文件中对sturdy-dev/codeball-action的引用。
- 检查分支保护规则是否把Codeball设为必需状态检查。
- 先移除必需检查,避免删除工作流后阻塞合并。
- 删除或禁用Codeball工作流,并提交单独的清理PR。
- 在仓库和组织设置中卸载Codeball AI Writer应用。
- 删除专用CODEBALL_BOT_TOKEN及其他相关Secrets。
- 撤销专用机器人账户不再需要的仓库权限和Personal Access Token。
- 检查最近工作流日志是否曾打印异常响应或敏感信息。
- 选择仍在维护的替代审查流程,并先用只评论模式验证。
历史适用用户
Codeball当前不适合新用户部署。以下用户类型只适用于理解它曾经的产品定位,或执行现有仓库的迁移和安全清理。
- 开源项目维护者:曾希望快速通过低风险社区贡献。
- 高频PR团队:用标签把人工精力集中到可疑变更。
- 平台工程团队:把模型判断加入GitHub Actions流水线。
- 多服务仓库:按路径只审查指定目录的变更。
- 安全与DevOps人员:排查旧工作流、应用权限和令牌。
- AI代码审查研究者:分析早期基于统计特征的PR评分方案。
历史使用场景
- 自动批准文档、依赖更新或其他低风险PR。
- 给复杂变更添加需要谨慎审查的标签。
- 把模型低分转换为CI失败,阻止未经复核的合并。
- 跳过草稿PR,等作者准备完成后再运行。
- 只在指定服务目录变更时触发模型。
- 使用机器人账号为Fork贡献提供批准身份。
- 收集模型分数与人工审查结果,用于评估自动化价值。
历史优势
- 通过一份GitHub Actions配置即可加入现有PR流程。
- 0到1分数和三档标签便于逐步采用。
- 自动批准、仅标签和CI失败三种策略可独立组合。
- 支持路径过滤、跳过草稿和自定义机器人身份。
- Action客户端源码公开,关键输入和权限可以审查。
- 默认阈值偏向高精度,设计目标是减少错误自动批准。
这些优势依赖远程评分服务正常运行。客户端开源不能弥补模型、训练数据、后端和运营状态不可用,因此不应把历史设计优势当作当前可购买能力。
使用限制与风险
- 公司已标记Inactive,缺少持续维护和客户支持证据。
- 原官网已变为其他内容站,并出现博彩相关主题。
- 默认远程API域名无法解析,Action不能创建正常任务。
- Action仓库最后推送停在2023年4月,依赖和运行时已经陈旧。
- GitHub Marketplace条目仍存在不代表服务在线。
- Action会把PR地址和GitHub访问令牌发送给远程API。
- 原隐私政策和服务条款当前无法从产品网站核验。
- 模型和训练后端不开源,无法本地重建评分服务。
- 自动批准错误PR可能把缺陷、安全问题或恶意变更带入主分支。
- 强制失败配置会把外部服务故障转化为合并阻塞。
- 专用机器人和GitHub App会扩大写权限,需要及时撤销。
- 旧宣传中的准确率和训练规模不能视为当前性能保证。
- 公开仓库代码采用旧版Node Action运行环境,长期兼容性不足。
- 不要通过已经变化用途的原网站登录或安装任何文件。
价格与可用性
Codeball历史发布资料曾提供免费试用,部分第三方目录也记录过付费信息,但当前没有可验证的官方定价、结算或订阅页面。任何旧价格都不应作为现行套餐发布。
| 项目 | 当前价格或成本 | 可用性 | 说明 |
|---|---|---|---|
| Codeball云端审查服务 | 无法核验 | 不可确认可用 | 公司Inactive且API无法解析 |
| GitHub Action源码 | 免费获取 | 源码仍公开 | Apache 2.0许可,不包含可用模型后端 |
| GitHub Actions运行时间 | 按用户GitHub账户规则 | 工作流仍会消耗运行资源 | 即使远程服务失败也可能产生执行时间 |
| Codeball AI Writer | 未发现现行价格 | 应用页面仍存在 | 不建议继续授予仓库写权限 |
| 商业支持 | 无 | 未发现 | 不要期待服务等级或退款保障 |
开源Action可免费下载不等于Codeball服务免费,也不等于可以自行运行完整产品。缺少后端模型与API实现时,客户端只能作为历史代码和工作流示例。
支持平台与集成
| 平台或集成 | 历史支持 | 当前状态 |
|---|---|---|
| GitHub Actions | 核心支持 | Marketplace条目存在,但远程API不可用 |
| GitHub Pull Request | 评分、标签、批准和失败检查 | 需要迁移或清理旧配置 |
| GitHub App | Codeball AI Writer | 应用页面存在,不建议新增授权 |
| 公共仓库Fork | 通过GitHub App提供写入身份 | 权限风险高于当前功能价值 |
| 私有仓库Fork | 通过应用或发送写令牌 | 不建议继续使用 |
| GitLab | 未提供官方集成 | 不支持 |
| Bitbucket | 未提供官方集成 | 不支持 |
| 本地CLI | 未提供 | 不能离线评分 |
| 自托管模型后端 | 未提供 | Action源码不足以复现服务 |
| Web演示 | 历史上提供 | 原网站已不再是产品演示 |
权限、隐私与安全
历史Action建议的权限包括读取仓库内容、写入Issue和写入Pull Request。若需要自动批准,还必须允许GitHub Actions创建和批准PR;使用专用机器人时则要保存具备写权限的Personal Access Token。
开源客户端显示,创建任务时会把PR或评论地址、GitHub访问令牌以及批准阈值发送给远程API。由于API失效且现行隐私政策不可用,不能继续假设旧服务的数据访问、保留和删除承诺仍然有效。
- 移除Codeball工作流前先调整分支保护的必需检查。
- 删除仓库和组织中的CODEBALL_BOT_TOKEN。
- 撤销专用机器人账户的旧Personal Access Token。
- 卸载Codeball AI Writer并检查其仓库授权范围。
- 审查工作流历史日志,确认没有令牌或敏感响应泄漏。
- 不要把远程AI批准作为唯一代码质量门槛。
- 替代工具应先以只评论或只标签模式运行。
- 对私有仓库要求可验证的数据处理、删除和模型训练政策。
API、GitHub与开源状态
Codeball确实有官方GitHub仓库sturdy-dev/codeball-action,公开了GitHub Action客户端、多个子Action、测试和配置。仓库根许可证为Apache 2.0,截至核验有约324个Star和35个Fork。
但仓库只包含工作流客户端和GitHub操作逻辑,评分模型、训练管线和云端API后端没有公开。产品不能标记为完整开源,只能写成“Action客户端开源,模型与服务后端不开源且已不可用”。
| 组成部分 | 是否开源 | 许可证或状态 | 说明 |
|---|---|---|---|
| codeball-action客户端 | 是 | Apache 2.0 | 可查看、修改和再分发,但需遵守许可 |
| 标签、批准与状态子Action | 是 | 随主仓库公开 | 依赖GitHub权限和远程任务结果 |
| 评分模型 | 否 | 未公开 | 无法本地复现0到1评分 |
| 训练数据与管线 | 否 | 未公开 | 旧资料只描述训练规模 |
| 云端API后端 | 否 | 域名无法解析 | 没有可部署服务端代码 |
| 公共开发者API | 历史内部接口 | 无现行文档 | 不应作为可用API接入 |
| 官方SDK | 未发现 | 无 | GitHub Action不是通用语言SDK |
| 完整产品开源 | 否 | 仅客户端开源 | 不能私有化部署完整Codeball |
基本信息
| 字段 | 内容 |
|---|---|
| 工具名称 | Codeball |
| 开发团队 | Sturdy |
| 创始人 | Kiril Videlov、Gustav Westling |
| 成立时间 | 2020年 |
| Y Combinator批次 | Winter 2021 |
| 公司状态 | Inactive |
| 工具类型 | GitHub Pull Request AI代码审查 |
| 主要输出 | 0到1评分、风险标签、批准和CI状态 |
| 最新Action版本 | v2.6.0 |
| 主要平台 | GitHub Actions和GitHub Pull Request |
| 当前服务可用性 | 不可确认,默认API域名无法解析 |
| 当前价格 | 无法核验 |
| 中文支持 | 未提供中文产品界面 |
| 官方GitHub | 有,sturdy-dev/codeball-action |
| Action许可证 | Apache 2.0 |
| 模型开源 | 否 |
| 完整产品开源 | 否,仅Action客户端开源 |
推荐指数
推荐指数为1.3分,满分5分。Codeball的分数、标签、自动批准和CI阻断设计对研究早期AI代码审查流程仍有价值,Action源码也便于了解其GitHub权限与远程调用。
但公司已Inactive,原官网用途改变,默认API域名无法解析,仓库也多年没有实质维护。它不适合新部署,更不应继续接触私有代码或保留仓库写权限。
常见问题
Codeball现在还能用吗?
不能把它视为可用服务。Action条目仍在GitHub Marketplace,但创建任务所需的远程API域名当前无法解析。
Codeball官网为什么不是代码审查工具?
原域名现在显示AI BallCode内容站,并出现博彩相关文章,说明域名内容和控制状态已经改变。不要通过该网站登录、下载或授权仓库。
Codeball免费吗?
当前没有可验证的官方价格或购买入口。Action源码可按Apache 2.0免费获取,但远程模型后端不可用,不能理解为存在可用的免费云服务。
它会自动批准PR吗?
历史上可以,高于默认0.935阈值时可提交批准审查。现在远程评分服务不可用,不应继续依赖该自动批准流程。
Action需要哪些权限?
历史配置需要读取仓库内容,并写入Issue和Pull Request。自动批准还要求仓库允许GitHub Actions创建和批准PR。
为什么要删除旧Token?
客户端会把GitHub访问令牌发送给远程Codeball API,专用机器人方案还可能保存长期Token。服务停用后,这些凭据不再有保留必要。
Codeball开源吗?
只有GitHub Action客户端开源,采用Apache 2.0许可证。评分模型、训练管线和服务后端没有开源,因此完整产品不是开源方案。
可以自行部署Codeball吗?
不能仅凭公开仓库部署完整服务。仓库不包含原评分模型和API后端,客户端仍需要远程任务接口。
旧工作流如何移除?
先从分支保护中取消Codeball必需检查,再删除工作流、应用和Secrets。最后撤销机器人Token并确认新PR不再等待旧状态。
GitHub的Verified标识代表什么?
它表示GitHub曾人工验证Action创建者为官方合作组织,不代表GitHub认证其AI结果,也不保证当前远程服务仍在线。
可以把Codeball源码改造成新工具吗?
可以在Apache 2.0条件下研究或修改客户端代码,但需要自行实现新的评分后端、权限设计和数据政策。不能继续假设原API协议或模型可用。
总结
Codeball曾提供一种清晰的AI代码审查思路:为PR计算置信度,再用标签、批准或CI状态把模型判断接入团队流程。公开Action仍保留了这套客户端设计和配置示例。
当前真正重要的是停运后的安全处理,而不是继续安装。团队应移除必需检查、工作流、GitHub App和旧Token,并迁移到仍在维护、数据条款清晰且可以先以只评论模式验证的审查方案。
桂公网安备45132202000164号