开源 AI 代码审查工具,可用任意大模型对 GitHub PR 和本地分支改动进行审查。
winnin/farol
在 AI 代码审查之后运行的 CLI 与 GitHub Action,为 PR 评估合并风险,并列出受影响的文件与接口。
- Star
- 174
- Fork
- 5
- 未关闭 Issue
- 6
- 最近提交
- 3天前
这是什么?
farol 是一款免费开源的 CLI 与 GitHub Action,面向审批 Pull Request 的人。在 AI 审查代理对 diff 做出评论之后,它通过静态分析展示改动代码会影响哪些页面、API 接口、RPC 方法、任务和脚本,并给出合并结论(快速通过、快速审查或仔细审查)以及 0 到 100 的风险分。
报告综合了影响范围、diff 覆盖率、安全问题、接口兼容性破坏和依赖变化,按风险从高到低列出文件,并附带行内 diff、未覆盖的代码行和手动测试清单。它借助 TypeScript 编译器、go/types 和 Python 的 ast 读取代码,不执行被分析的代码,也不将代码发送到网络。可在本地或 CI 中运行,在 PR 中发表评论,且不会阻止合并。
支持的技术栈包括 React Router、Next.js 和 TanStack Router 前端,TypeScript 的 GraphQL 与 REST 后端,Go 服务,以及 FastAPI、Flask、Django 等 Python 服务。可选的 Datadog 集成可补充流量与错误数据。
核心功能
- 01按风险对改动文件排序,并展示每个文件影响的页面和接口。
- 02给出合并结论与 0 到 100 的风险分,并说明评分依据。
- 03识别 GraphQL、FastAPI、Go 和 gRPC 接口的破坏性变更。
- 04在行内 diff 中标出未覆盖的代码行,并导入 CI 中的覆盖率、lint 与审计报告。
- 05生成单文件 HTML 报告和 Markdown 审查记录。
适用场景
- 在批准大型 PR 前判断需要投入多少审查时间。
- 合并前发现破坏性接口变更及其下游调用方。
- 在 GitHub PR 中与现有 AI 审查工具并行加入风险分诊步骤。
- 查看共享组件改动会影响哪些前端页面。
快速上手
- 1
在项目根目录创建 farol.config.json,描述你的技术栈
- 2
列出 farol 找到的页面、接口、任务和脚本
npx @winninjs/farol routes - 3
将分支与目标分支进行分析
npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json - 4
生成 HTML 报告并打开
npx @winninjs/farol html --in farol.json --out farol.html && open farol.html
使用前须知
- 需要 Node.js 22+ 和 git;分析 Go 项目还需要 go,分析 Python 项目还需要 python3 3.11+。
- 仅支持 TypeScript、Go 和 Python 代码库。
收录于专题
标签
常见问题
- farol 是什么?
- 在 AI 代码审查之后运行的 CLI 与 GitHub Action,为 PR 评估合并风险,并列出受影响的文件与接口。 farol 是一款免费开源的 CLI 与 GitHub Action,面向审批 Pull Request 的人。在 AI 审查代理对 diff 做出评论之后,它通过静态分析展示改动代码会影响哪些页面、API 接口、RPC 方法、任务和脚本,并给出合并结论(快速通过、快速审查或仔细审查)以及 0 到 100 的风险分。
- farol 可以免费使用吗?用的什么许可证?
- farol 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- farol 还在维护吗?
- 活跃维护中。farol 最近一次提交是在 2026年11月4日。
- farol 适合用来做什么?
- 在批准大型 PR 前判断需要投入多少审查时间。 合并前发现破坏性接口变更及其下游调用方。 在 GitHub PR 中与现有 AI 审查工具并行加入风险分诊步骤。 查看共享组件改动会影响哪些前端页面。
- farol 怎么安装和运行?
- 在项目根目录创建 farol.config.json,描述你的技术栈 列出 farol 找到的页面、接口、任务和脚本: npx @winninjs/farol routes 将分支与目标分支进行分析: npx @winninjs/farol analyze --base origin/main --head HEAD --out farol.json 生成 HTML 报告并打开: npx @winninjs/farol html --in farol.json --out farol.html && open farol.html
- 在哪里获取 farol?
- 源代码和安装说明在 GitHub 上:https://github.com/winnin/farol
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源的 AI 代码评审工具,可自托管,并可自选大模型服务商。
开源 AI 代码审查工具,在推送前用独立审查器检查编码代理写的改动,支持 Claude Code、Codex、Cursor 和 Cline。
Danger JS 在 CI 之后运行,用代码自动检查 Pull Request 的评审规范,如 CHANGELOG 和描述要求。
一个 GitHub Action,用大模型审查 Pull Request 代码差异,并发布少量高优先级的行内评论。
在每次 git commit 前对暂存的代码变更运行 AI 代码审查,并通过浏览器界面查看行内评论。