Skip to content

Releases: vfaner/jargus

百目 JArgus v2.0.0

Choose a tag to compare

@vfaner vfaner released this 24 Sep 13:32

百目 JArgus v2.0.0

品牌焕新:「AI Code Reviewer · AI 代码评审平台」正式更名为「百目 JArgus · Java 代码评审平台」。

百目,典出《礼记·大学》"十目所视,十手所指"——百目所视,代码无所遁形;JArgus = Jar + Argus,既是 Java 之 jar 的双关,也是希腊神话中永不闭目的百眼巨人。

本次更新

全新品牌

  • 产品名、界面标题、登录页、报告页头页脚、CI 回写文案全面切换为「百目 JArgus」
  • 全新眼睛母题图标(favicon 与页头 logo),延续靛蓝→粉渐变视觉
  • 代码包根迁移:com.aicodereview → com.qqmu.jargus;可执行包更名 jargus.jar
  • Docker 镜像更名 jargus,数据卷前缀 jargus-*
  • 仓库地址:github.com/vfaner/jargus 与 gitee.com/super_rgh/jargus

邮件管理(覆盖发布新增)

  • 新增「邮件管理」导航组:发件配置支持维护多个 SMTP 发件邮箱(同一时间仅启用一个),密码 AES 加密落库、掩码展示、可发测试邮件验证连通性
  • 收件人维护:姓名 + 邮箱增删改查,分页列表
  • 新建扫描与 CI/CD 触发器均可开启「邮件通知」,通过带搜索的下拉多选框按姓名或邮箱快速圈选收件人(支持全选,选中超过两人折叠为 +N 省略 chip)
  • 扫描完成后自动发送通知邮件:HTML 摘要正文(评分等级、五级问题计数、Top 问题清单)+ 完整 PDF 报告附件;失败任务同样通知
  • 历史列表新增「邮件」状态列(已发送 / 发送失败)

检测精度(自 v1.0.0 以来)

  • NULL_CHECK:框架注入参数白名单 + 全项目调用点非空论证后抑制,反射/SPI/死代码保守保留;误报裁决机制重写,并修复业务代码真实空指针
  • 重复代码检测改逐字对比,排除均匀数据链/参数表/条件分派并加控制流门禁;圈复杂度对均匀守卫表与谓词链整段折抵
  • 资源泄露经 import 解析剔除非资源包同名类型;魔法数字豁免位运算掩码与优先级秩;超长行豁免字面量致长;架构检查先跳第三方导入(本仓自扫问题 114 → 69)
  • MAGIC_NUMBER:豁免参与算术/位运算/取模分桶的字面量(单位换算、掩码等计算语义)
  • EMPTY_CATCH:仅报「空且无任何说明」的 catch,豁免 ignored/expected 命名约定与体内注释两种显式意图
  • SEC_HARDCODED_SECRET:豁免四类误报——__xxx__ 连通性哨兵假凭据、标识名自称 url/uri/endpoint 的公开端点 URL、值与变量名互证回显的公开标识常量、指纹/去重语境的 MD5/SHA-1;webhookSecret 型 URL 密钥、password="password" 整词弱口令、user:pass@ 内嵌凭据仍照报
  • 内置默认 AES 密钥启动时输出 WARN,提示生产环境覆盖

平台完善(覆盖发布补充)

  • 扫描问题落库接通评审规则元数据:命中自定义规则时回填规则名与默认级别
  • CI 触发器密钥遮罩展示:默认星号、眼睛按钮切换明文
  • CI 扫描记录改级联删除,记录页每行新增删除按钮
  • 修复 CI 扫描临时克隆目录泄漏(每次触发残留十几 MB)
  • 系统信息页项目区块改版;复杂度拆分收尾

升级须知(自 v1.x)

  • Cookie 与本地存储键全面更名(jargus_token 等),升级后需重新登录一次
  • 内嵌 H2 数据文件由 data/aicodereview 更名为 data/jargus:覆盖升级时将旧文件重命名(或复制)为 data/jargus.mv.db 即可完整保留任务与配置;「数据库配置」页中仍指向旧路径的连接行请同步更新
  • CI 触发器若配置了仓库范围(repo_scope)且仓库同步改名,请更新为新仓库名,否则 webhook 将因范围不匹配被跳过
  • 静态加密密钥(app.crypto-key)机制不变,已加密的 API Key / 数据库密码 / CI Token 不受影响
  • 邮件相关新表与新列(mail_sender / mail_recipient 及 scan_task / ci_trigger_config 增列)启动时自动迁移,无需手工执行 SQL

功能主体延续 v1.0.0:19 个内置检查器、五级评分与质量门禁、可选 AI 增强评审、双语 HTML/PDF 报告、动态多数据源、CI/Webhook 集成,并新增邮件通知能力。

AI Code Reviewer v1.0.0

Choose a tag to compare

@vfaner vfaner released this 21 Sep 01:39

AI Code Reviewer v1.0.0

首个公开版本:开箱即用的自动化 Java 代码评审平台。单 JAR / Docker 部署,数据不出内网。

本次更新

本地静态分析引擎

  • 内置 19 个检查器:空指针、资源泄漏、并发风险、异常处理、代码风格、重复代码、废弃方法、依赖漏洞等
  • JavaParser AST + 符号求解、ASM 字节码分析、调用图辅助降误报
  • 五级定级(阻断/严重/主要/次要/提示),规则级默认等级与技术债估算

扫描与集成

  • ZIP 上传、Git 仓库克隆、Webhook/CI 回调(兼容 GitHub / Gitee / Jenkins / GitLab)三种扫描来源
  • 同文件同规则问题自动合并;扫描快照支持原地重扫
  • 动态多数据源:默认内嵌 H2,运行期可接 MySQL / PostgreSQL / Oracle / 达梦 / 金仓 / openGauss(驱动上传至 ./lib/custom)

AI 增强评审

  • OpenAI 兼容 / Anthropic 双协议适配层,内置 12 类厂商模板
  • 逐问题 AI 增强建议(问题分析 / 修复方案 / 修复代码);不配置亦可纯离线跑基础静态扫描

报告与前端

  • HTML / 矢量中文 PDF 双报告,视觉统一,长报告可跨页拆分
  • Thymeleaf SSR + 原生 JavaScript,零 CDN 零构建链;中英双语、暗色模式
  • 质量门禁、评审规则、忽略规则、检查器参数全程界面可配

安全

  • JWT 认证 + 可选企业 OA / 统一登录远端认证角色映射
  • 数据库密码、API 密钥等敏感配置 AES 落盘加密;上传驱动按 uuid 隔离存放