AI审查工具Serge让维护者控制代码评论发布
Hugging Face 开源了一个叫 Serge 的代码审查工具,跑在 GitHub 上,用 OpenAI 兼容的模型来审拉取请求。
Serge 的核心设计是把控制权留在维护者手里。它不会自动贴评论,得有人在 PR 下写一句“@askserge please review”,AI 才会开始干活。审查完了,维护者再决定要不要把结果公开。
运行方式有三种。GitHub Action 模式最简单,适合单个仓库快速用起来。GitHub App Webhook 模式以托管服务跑,能同时处理多个仓库,还能避开分支拉取请求常见的密钥泄露问题。第三种是 Staged Web App,AI 的输出先变成草稿,人工可以编辑、丢弃或全部删除,满意了再发布。
审查策略不写死在代码里。每个仓库都能在默认分支的 .ai/review-rules.md 里定义自己的规则,比如只关注正确性、安全问题和缺失测试,忽略样式调整和生成文件。维护者按项目需求来。
模型也随便选。Serge 调用 OpenAI 兼容的聊天接口,所以支持 OpenAI、Hugging Face Router、本地部署的 vLLM、TGI、LM Studio 等等。团队可以挑自己信任或成本可控的,本地模型还能保护代码隐私。
安全方面有针对性设计。提示词明确告诉模型不要遵循 diff、评论、字符串或工具输出里的指令。内置工具只读,辅助工具跑时不带 shell,防止恶意 PR 攻击。
Serge 已在 Hugging Face 的 diffusers 和 transformers 项目里跑起来了,连它自己也在用——这不是实验室里的概念,是真实工作流的一部分。它还支持流式输出,审查运行时显示进度,维护者不用干等。
除了初次审查,团队成员还能在评论线程里回复“@askserge”,让 AI 针对特定问题回答,而不是从头审一遍。人机协作更自然。
代码以 Apache-2.0 许可证开源在 GitHub 上。默认审查者角色名就叫“Serge”。Web App 版额外提供 GitHub OAuth 登录、允许列表、持久化作业历史和提供商配置。
目前没有公开的准确率数据,也不清楚它对大型拉取请求的响应时间是否可接受。Serge 定位是辅助人工审查,不是替代。