sourcery
用 AI 做代码审查的 GitHub App,支持 PR 自动 review 和 IDE 实时辅助
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用 AI 做代码审查的 GitHub App,支持 PR 自动 review 和 IDE 实时辅助
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
每一个工程师都有过这样的经历——提交了一个 PR,满心期待地等待 review,结果等来的是 48 小时后的一个「LGTM」,没有任何有价值的反馈。更糟糕的是,你是那个写代码的人,每天在写代码和审代码之间疲于奔命,review 的质量永远赶不上 PR 的数量。
Sourcery 就是为解决这个问题而生的。它不是一个简单的静态分析工具,也不是一个只会说「变量命名不规范」的呆板 linter。它是一个真正用 AI 理解你代码意图的审查机器人——能读懂你为什么要这样写,然后告诉你这样写有什么问题,或者有什么更好的写法。

图1:Sourcery 在 GitHub PR 中的实际审查效果,左侧为 AI 审查意见,右侧为代码 Diff
Sourcery 由同名初创公司 sourcery.ai 开发维护,成立于 2020 年代初期,专注于 AI 辅助编程工具领域。公司创始团队拥有深厚的编译器工程背景,选择以 LSP(Language Server Protocol)为核心协议构建产品,使得 Sourcery 能够以极低的集成成本接入任何主流代码编辑器。
该项目的 GitHub 仓库目前拥有超过 1800 颗 stars、98 个 forks,持续活跃维护。项目采用 MIT 许可证,完全开源(公开仓库可见核心代码),对开源项目免费开放使用。企业私有仓库则需要付费订阅,提供 14 天免费试用。
Sourcery 项目的技术选型极具匠心:它没有选择做一个专属于某个编辑器的插件,而是严格遵循 LSP 规范,实现了一个完整的 Language Server。LSP 是微软主导的代码编辑器与语言服务器之间的通信协议标准,几乎所有主流 IDE(VS Code、PyCharm、Sublime、Vim/Neovim)都有成熟的 LSP 客户端库。
这意味着,只需要porting 一份服务端实现,就能在几十种编辑器上获得一致的体验。Sourcery 官方提供了 VS Code 和 PyCharm 的深度集成插件,同时通过 LSP 接口支持 Sublime、Vim、Neovim 等更多编辑器。
根据官方 Privacy & Security 文档,Sourcery 的代码审查能力由 OpenAI GPT 系列和 Anthropic Claude 系列双后端驱动。审查时,系统会将 PR 的代码差异(diff)片段发送给 LLM,由模型理解代码逻辑后生成审查意见。
一个值得关注的细节是:代码片段在处理完成后不会被长期存储,Sourcery 明确承诺代码在 30 天后自动删除,且不会用于任何 AI 模型的训练。这一隐私承诺对于企业用户尤为重要——工程师们通常不愿意将自己的生产代码发送给第三方服务。
Sourcery 采用二进制分发策略,直接在 GitHub Releases 页面提供多平台预编译包:
tar.gz):~133MBtar.gz):分别约 107MB 和 93MBzip):~89MB同时提供 pip 包(sourcery_nightly-*.whl),支持 pip install sourcery 一键安装。这种分发策略使得工具本身没有任何容器化需求——开箱即用,不需要 Docker,也不需要复杂的依赖管理。
Sourcery 提供两套核心使用场景:
通过安装 GitHub App 并授权目标仓库,Sourcery 可以自动监听所有新开的 Pull Request。在 PR 创建或更新时,Sourcery 自动运行审查,生成三类反馈:
这个流程完全自动化,无需人工介入——就像有一个永不疲倦的高级工程师 7×24 小时守在 PR 旁边等你提交代码。
除了 PR review,Sourcery 还能作为 IDE 内的实时编程助手。安装 VS Code 或 PyCharm 插件后,可以直接在编辑器中调用以下能力:
IDE 内交互的关键在于实时性——不需要切换到浏览器,不需要提交代码到 GitHub,直接在本地编辑器中完成。
项目还提供了 .pre-commit-hooks.yaml 配置,支持在 git commit 阶段运行 Sourcery 检查:
- id: sourcery
name: sourcery
description: Magically refactor Python
language: python
additional_dependencies: [sourcery==1.43.0]
entry: sourcery review --check
types: [python]
这把「提交前检查」变成了一个自动化的 gate,可以防止低质量代码进入代码库。
从部署角度看,Sourcery 的设计哲学是「最小化用户摩擦」:
安装方式(三选一):
pip install sourcery(最推荐,Python 用户首选)硬件需求几乎为零:不需要 GPU,不需要大容量存储,512MB RAM + 200MB 磁盘空间即可运行。Sourcery 的核心推理能力由云端 API 提供,本地只负责 LSP 通信和代码解析。
部署难度评分为 1/5(极简单),整个安装过程不超过 2 分钟。唯一的门槛是需要一个 GitHub 账号来授权 App,或者注册 Sourcery 账号获取 API token。
没有任何工具是完美的,Sourcery 也不例外:
审查深度的局限性:Sourcery 生成的审查意见质量高度依赖 LLM 对特定代码上下文的理解。对于业务逻辑复杂、涉及多模块协调的 PR,AI 的建议可能流于表面——它能发现明显的代码异味(code smell),但可能无法理解「这个实现方式背后是为了兼容某个遗留系统的约束」。
隐私顾虑:虽然官方承诺代码不长期存储、不用于训练,但将生产代码发送给第三方 LLM 服务这一事实本身,在某些高度合规的行业(如金融、医疗)中仍然是一个审批障碍。
仅支持 Python:截至目前,Sourcery 仅支持 Python 语言审查。对于多语言项目,还需要等待其他语言的适配。
Beta 版本迭代较快:从 GitHub Releases 可以看到,项目目前处于频繁的 beta 迭代中(版本号如 v1.44.0b42),API 和行为可能随版本变化,企业使用时需要注意锁定版本。
Sourcery 代表的不仅仅是一个工具,更是一种软件开发工作流的范式转变:从人工审查向 AI 辅助的渐进式迁移。
随着 GitHub Copilot、Cursor、Devin 等 AI 编程工具的普及,「用 AI 写代码」已经不再新鲜。但「用 AI 审代码」的市场成熟度相对更低——代码审查需要理解上下文、权衡利弊、给出可操作的建议,比代码补全难度更高。Sourcery 正是瞄准了这个细分领域。
从增长趋势看,Sourcery 的 growth_trend_score 高达 32.1,远高于同类型项目平均水平。其 topics 标签(code-review-bot、refactoring、code-quality)精准命中了工程团队的核心痛点——代码审查是所有团队都需要做但普遍做得不够好的事情。
一句话总结:如果你受够了 PR 永远无人 review,或者你想在提交代码之前就得到一个「资深同事」的即时反馈,Sourcery 值得一试。