Proval 是一款以隐私为中心的自托管工具,它与 GitLab、Forgejo 和 GitHub 集成,通过用户自定义的 AI 模型实现代码审查自动化。
想象一下,如果开发者在将辛苦编写的代码展示给同事之前,先由 AI 进行细致的审查会怎样?它就像一位友好的 AI 助手,会提醒你:“这里有个错别字”或者“这段代码可以优化得更高效”。但是,如果你担心企业核心源代码被发送到外部怎么办?最近,一款旨在解决这些顾虑的有趣工具面世了,它就是“Proval”。
为什么这很重要?
在软件开发中,“代码审查(Code Review,即审查同事代码以发现错误并提升质量的过程)”是必不可少的。然而,由人工逐一审查所有代码是一项耗时且耗力的工作。虽然现在有越来越多的 AI 服务可以代劳,但关于企业核心代码会被传输到外部 AI 服务器的安全担忧依然存在。
Proval 正是切中了这一痛点。它通过“自托管(Self-hosted,即不依赖外部服务,而是将软件安装在自己的服务器上运行)”的方式设计,确保代码数据不会流向外部,从而为注重安全的企业和个人开发者提供了极大的保障。参考资料 1
简单来说,如果现有的 AI 代码审查工具是在“云端”这个公共厨房里制作并输出菜肴,那么 Proval 就相当于在公司厨房里直接聘请了一位专属大厨。由于数据不会离开公司服务器,因此无需担心机密外泄。
它是如何工作的?
Proval 的核心优势在于你可以自由选择“最合口味的大厨”。
- 自由选择模型:Proval 的最大亮点在于其“自带模型(Bring your own model)”策略。用户可以通过 Ollama 或 llama.cpp 等工具,将自己青睐的 AI 模型直接连接到本地服务器。参考资料 1 参考资料 8
- 安装简便:为了降低技术准入门槛,仅需一个“Docker 镜像(Docker Image,即打包了软件运行所需环境的包)”即可完成安装。参考资料 6
- 广泛集成:目前已支持与 GitLab、Forgejo 以及 GitHub 等主流开发平台的顺畅集成。参考资料 2 参考资料 8
目前状况如何?
Proval 目前仍处于起步阶段。该项目是由开发者为了在自托管环境下实现代码审查自动化而亲自创建的,部分功能可能还比较粗糙,有待完善。参考资料 2 参考资料 3
它特别适合以下场景:在家庭实验室(Homelab,即在家中或办公室构建和运营个人服务器)环境下亲自管理服务器的用户、需要在互联网连接受限的封闭网络环境中工作的团队,以及将安全视为首要任务的基础设施团队。参考资料 4
未来展望
展望未来,Proval 有望支持用户更自由地连接各类 AI 模型,并不断优化,以确保其在复杂环境下安装和运营更加轻量便捷。它让在内网环境下利用先进 AI 技术提升开发效率成为可能,对于重视安全的各类企业而言,无疑将成为一个强大的选择。
不过,鉴于目前仍处于初期版本,建议持续关注项目的更新动态后再考虑引入。如果你是一位自行运营服务器的开发者,何不立即在测试环境中安装试用,建立属于你自己的“AI 安全官”呢?
参考资料
- Proval-Self-hostedAIcodereviewinfrastructure: https://proval.app/
- GitHub- seoes/proval:Self-HostedLLMCodeReviewAgentwith…: https://github.com/seoes/proval
- ShowHN:Proval–Self-hostedcodereviewagentforGitLab…: https://hn.today/s/show-hn-proval-self-hosted-code-review-agent-for-gitlab-forgejo-and
- ShowHN:Proval–Self-hostedcodereviewagentforGitLab…: https://modernorange.io/item/49465821
-
seoes/proval—GitHubtrending stats & insights Trendshift: https://trendshift.io/repositories/95306 -
Show HN: Proval – Self-hosted code review agent for GitLab, Forgejo, and GitHub Hacker News: https://news.ycombinator.com/item?id=49465821
- 所有审查均在外部云端执行
- 用户可以自行选择并安装 AI 模型
- 必须购买付费计划才能使用
- GitLab、Forgejo、GitHub
- 仅支持 GitHub
- GitLab 和 Slack
- 必须连接互联网的环境
- 运行内网或本地基础设施的团队
- 只希望使用云服务的团队