AperturePrism — 光圈与三棱镜组合 Logo

GITHUB ISSUE ANALYSIS · PR REVIEW · AI

把「AI 代码审查」
做成一条可落地的产品链路

不是单个模型调用,而是一整套生产级链路:多模型路由驱动 Issue 结构化分级与 PR 多专家审查,幂等发布评论 · 重复检测 · 仓库记忆 · 深色 Web 控制台 · QQ 机器人 · Docker 一键部署。

TypeScript PostgreSQL + pgvector Redis Docker ★ …

入口 → 调度 → 分析 → 增强 → 发布 → 运营, 一条完整闭环

从 GitHub Webhook / OAuth 接入,到持久任务引擎、多模型路由与增强能力(重复检测 · 仓库记忆 · 专家团队),再到幂等发布与运维——AperturePrism 让每次审查都稳定、可追溯、可运营。

核心能力

围绕审查全生命周期编排,能力可整合、可独立开关。

Issue 结构化分析

Webhook 幂等入库 → 上下文预算化 → 结构化分级(S0–S3 / P0–P3 / 完整度),自动识别广告垃圾,幂等评论 + 自动打标。

PR 多专家审查

diff 解析与行映射、大小 / 预算降级、行级 finding + 服务端严重度策略,编制 Check Runs,幂等发布 Review。

重复 Issue 检测

模板清洗 + 信号抽取(错误码 / 路径 / 堆栈)+ 全文 GIN + pgvector 向量召回 → 服务端模型裁决,精准识别重复。

仓库记忆

每次分析 / 审查自动沉淀「反思」,Scheduler 定期用模型合并为规则 / 知识,下次分析时上下文热回灌。

Agent Skills / 专家团队

6 个内置技能(triage / security / dependency / performance / docs / test)+ 多专家并行审查 + 主编合并。

QQ 机器人渠道

NTQQ 第三方协议(OneBot 11 / Satori / Milky)与官方开放平台 api-v2,把审查能力带到 IM 触手可及之处。

深色 Web 控制台

概览 / 日志 / Issue / PR / 队列 / 仓库 / 向量存储 / 记忆 / 配置 …… 实时 SSE 事件流 + 断线回放,单页全覆盖。

多模型路由

OpenAI 兼容 Provider,密钥 AES-GCM 加密;统一 deadline、重试与故障转移,角色级策略按需路由。

Docker 一键部署 + 在线更新

api / 各 worker / web 全栈打包,迁移备份脚本齐全;WebUI 一键检查更新,失败自动回滚。

一条完整的工作链路

审查不止是一个「生成回复」的模型调用,而是六个清晰阶段。

  1. 01

    入口

    GitHub Webhook(验签 + 幂等入库)、WebUI 手动触发、QQ 机器人指令。

  2. 02

    调度

    持久化任务引擎(状态机 / 租约 / 重试 / 幂等),Scheduler 回收租约与到期重试。

  3. 03

    分析

    多模型路由在统一 deadline 下调用:Issue 输出结构化分级,PR 输出行级 finding。

  4. 04

    增强

    重复检测、仓库记忆、Agent Skills + 多专家并行审查,让结论更聪明。

  5. 05

    发布

    幂等发布 GitHub 评论 / Review(head SHA 绑定),标签规则自动打标。

  6. 06

    运营

    SSE 实时事件 + 断线回放、审计、备份、速率限制、在线更新,全程可运维。

系统架构

事件入口与 API 统一接入,任务被有韧性地调度到各 worker 并行执行。查看交互式架构与流程图 ↗

GitHub App / Webhook GitHub OAuth 登录 QQ 机器人 (NTQQ / 官方) WebUI (React + nginx) apps/api · Webhook / 认证 / 任务 / 结果 / SSE / 配置 / 审计
任务入队 / 结果回写
PostgreSQL (pgvector) Redis
领取 / 心跳 / 完成
analysis-worker
Issue / PR 分析 · 多模型路由 · 专家团队
index-worker
索引 + RAG embedding
scheduler
租约回收 · 重试 · 记忆合并
scan-worker
仓库定期扫描
qq-bot
QQ 渠道适配
模型 OpenAI 兼容多模型路由

AES-GCM 加密密钥 · 角色级策略 · 统一 deadline / 故障转移

向量 nemotron-3-embed-1b · 2048 维

pgvector 召回 + 全文 GIN,召回与裁决分离

真实时 SSE 事件流

实时增量 + 断线回放,审查进度尽在掌握

深色 Web 控制台

浅色 / 深色双主题,同一源码。概览、日志、任务队列一目了然。

AperturePrism 概览仪表盘(深色主题)
概览仪表盘 · 深色
AperturePrism 概览仪表盘(浅色主题)
概览仪表盘 · 浅色
AperturePrism 任务队列
任务队列 · 分段筛选
AperturePrism 日志总览
日志总览 · 断点续传

快速开始

一行命令,Docker 全栈拉起;也可以用源码方式在本地开发。

方式 A · Docker 一键部署

curl -fsSL https://raw.githubusercontent.com/AperturePrism/AperturePrism-AI-Review/main/scripts/bootstrap.sh | bash

方式 B · 本地开发

npm install && npm run build && node scripts/migrate.mjs

验证就绪

curl http://<host>/health/ready # 200 = DB + Redis 均就绪

WebUI 内提供一键在线更新 · 失败自动回滚 · 参考 环境变量模板

三步跑通配置

接入只需三类东西:GitHub App、一个自配的 OpenAI 兼容接口、一份环境文件。完整步骤看配置教程 ↗。

01

环境文件

复制 .env.example 为 .env.production,填好数据库 / Redis / 主密钥。

cp .env.example .env.production
02

GitHub + 模型

配置 GitHub App 与 OAuth;在「模型路由」填一个 OpenAI 兼容 Provider,再用主密钥加密 Key。

MODEL_PROVIDER_BASE_URLS={"gw":"https://gateway.example.com/v1"}
03

起服务 · 验证

跑迁移 → 拉起全栈 → 手动触发一次分析,任务 completed 即链路全通。

node scripts/migrate.mjs && curl http://<host>/health/ready

现在就把 AI 代码审查接入你的仓库

开源 · 自托管 · 模型自由配置。开始探索 AperturePrism。