AI 编程工具
Sentinel Review:基于LLM与Semgrep的自主GitHub PR代码审查代理
themanoj-025/Sentinel-Review · Sentinel Review is an autonomous AI-powered GitHub PR reviewer that analyzes code with LLM reasoning, Semgrep security scanning, and repo context awareness. It delivers severity-ranked inline feedback, tracks review quality through feedback metrics, and automates production-grade code review workflows.
ELI5:它是什么,解决什么问题
Sentinel Review 是一个自动化的 GitHub Pull Request 审查代理,结合 LLM 语义推理(Claude / GPT-4o)与 Semgrep 确定性静态安全扫描,在完整仓库上下文下读取 diff,生成按严重级别(blocking / warning / nit)分类的行级内联评论,并通过 👍/👎 反馈指标追踪审查质量。项目提供 Django + Celery + Redis + PostgreSQL 的完整服务架构(含仪表盘、API、Prometheus 指标、健康检查),也支持以 GitHub Action 形式在无服务器环境下运行。
核心能力与快速开始
★ 0 · Python
- 能做什么
- 核心能力包括:1)行级锚定的审查评论,通过 GitHub Create Review API 直接发布在 PR diff 上;2)按严重级别(blocking / warning / nit)排序并按类别(bug / style / security / suggestion)分类;3)Pydantic 严格 JSON 校验与纠正性重试,避免畸形 LLM 输出进入 PR;4)Semgrep 静态安全扫描与 LLM 结果合并,双重信号一致时标记为 high_confidence;5)7 阶段可测试流水线(Upsert / FetchDiff / FetchContext / LLMReview / Semgrep / Dedupe / PostComments);6)Redis + 内存 LLM 响应缓存(SHA256 diff 哈希);7)GitHub 与 LLM 双侧熔断器;8)HMAC-SHA256 webhook 校验与基于 delivery_id 的幂等去重;9)Celery 异步处理,webhook 10 秒内返回 202;10)反馈循环,通过 webhook 收集 👍/👎 反应统计有用性;11)多模型支持,通过环境变量在 Anthropic 与 OpenAI 之间切换;12).sentinel-ignore glob 排除规则;13)Prometheus 指标、结构化 JSON 日志、Sentry 集成、健康检查端点。
- 适用场景
- 适用于:1)在 GitHub PR 流程中自动执行生产级代码审查,减少人工评审瓶颈;2)捕获纯静态分析器难以发现的逻辑缺陷、安全上下文与设计问题;3)以零基础设施方式(GitHub Actions 模式)在 CI 步骤中运行代码审查;4)通过 LLM 与 Semgrep 双重信号提升安全发现的可信度;5)量化评估 AI 代码审查的实际有用性(反馈指标);6)在自托管服务模式下通过仪表盘与 API 查看仓库、审查与统计数据。
- 项目形态
- 可直接使用的工具
- 部署方式
- 提供两种方式:1)Docker Compose 自托管,包含 web(Django + gunicorn,端口 8000)、worker(Celery)、redis(7-alpine,6379)、db(postgres 16-alpine,5432)、flower(5555)五个服务,文档称首次构建约 30-60 秒;2)GitHub Actions 复合 Action 模式,无需服务器。README 未说明具体硬件要求与生产环境的资源规模。
- 主要依赖
- 需要 Docker 与 Docker Compose v2.20+;需要 GitHub App(含 private key、App ID、Client ID、Client Secret);需要 Anthropic 或 OpenAI API Key。必填环境变量包括 DJANGO_SECRET_KEY、WEBHOOK_SECRET、GITHUB_APP_ID、GITHUB_APP_PRIVATE_KEY_B64。GitHub App 权限需要仓库内容只读、Pull requests 读写、仓库元数据只读。技术栈为 Python 3.12、Django 5.1。本地开发可用 ngrok 暴露 webhook。
- 使用限制
- README 未说明 LLM API 调用费用、速率限制或成本规模;未说明高并发或多租户下的性能上限;缓存与幂等依赖 Redis,未说明 Redis 不可用时的降级行为细节;私有仓库需显式 opt-in 才审查;LLM 与 Semgrep 结果合并逻辑的具体准确率与误报率未给出量化数据;项目自述的 audit 评分与测试数量来自 README 徽章,未经独立验证。
- 许可证
- MIT
- 最近推送
- 2026-09-18 06:55
资料检查:2026-09-19 07:00 · 卡片整理:2026-09-21 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证 · 本次更新未完成,保留上次成功内容
职业应用
程序员
自动化 GitHub Pull Request 代码审查:结合 LLM 语义推理与 Semgrep 静态安全扫描,在完整仓库上下文下读取 diff,生成按严重级别(blocking / warning / nit)分类的行级内联评论,并通过 👍/👎 反馈指标追踪审查质量。
查看内容依据
Sentinel Review is an autonomous AI-powered GitHub PR reviewer that analyzes code with LLM reasoning, Semgrep security scanning, and repo context awareness. It delivers severity-ranked inline feedback, tracks review quality through feedback metrics, and automates production-grade code review workflows.
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。