Skip to content

Repository files navigation

CodeGuardian AI - 代码审查AI Agent

项目简介

CodeGuardian AI 是一个基于 Spring Boot 3.x 和 Java 21 的智能代码审查系统。它能够自动化地对代码进行深度审查,识别潜在的bug、安全漏洞、性能问题和代码异味,并生成详细的审查报告。

技术栈

  • Java: 21
  • Spring Boot: 3.2.0
  • 数据库: PostgreSQL
  • 构建工具: Maven
  • 其他: Lombok, Jackson, OkHttp, JavaParser, Thymeleaf

核心功能

  • ✅ 代码片段审查
  • ✅ 单个文件审查
  • ✅ 目录审查
  • ✅ 项目审查
  • ✅ Git项目审查
  • ✅ AI模型集成
  • ✅ 审查报告生成(HTML/Markdown)
  • ✅ 审查历史查询

快速开始

1. 环境要求

  • JDK 21+
  • Maven 3.6+

2. 配置AI服务(可选)

如果需要使用AI功能,需要配置AI服务:

# application.yml
ai:
  base-url: https://api.openai.com
  api-key: your-api-key
  model: gpt-3.5-turbo

或者通过环境变量:

export AI_BASE_URL=https://api.openai.com
export AI_API_KEY=your-api-key
export AI_MODEL=gpt-3.5-turbo

如果不配置AI服务,系统会返回模拟数据用于测试。

3. 配置数据库

确保 PostgreSQL 已安装并运行,然后配置数据库连接:

# 使用环境变量(推荐)
export DB_HOST=localhost
export DB_PORT=5432
export DB_NAME=codeguardian
export DB_USERNAME=postgres
export DB_PASSWORD=your_password

或者修改 src/main/resources/application.yml 中的数据库配置。

详细设置步骤请参考 数据库设置指南

4. 运行项目

# 编译项目
mvn clean compile

# 运行项目
mvn spring-boot:run

5. 访问应用

默认账号: admin / admin123

API文档

代码审查接口

1. 审查代码片段

POST /api/review/snippet
Content-Type: application/json

{
  "codeSnippet": "public class Test { ... }",
  "language": "java",
  "taskName": "测试代码片段"
}

2. 审查单个文件

POST /api/review/file
Content-Type: application/json

{
  "filePath": "/path/to/file.java",
  "taskName": "文件审查"
}

3. 审查目录

POST /api/review/directory
Content-Type: application/json

{
  "directoryPath": "/path/to/directory",
  "taskName": "目录审查"
}

4. 审查项目

POST /api/review/project
Content-Type: application/json

{
  "projectPath": "/path/to/project",
  "taskName": "项目审查"
}

5. 获取审查任务详情

GET /api/review/task/{taskId}

6. 获取审查发现的问题

GET /api/review/task/{taskId}/findings

7. 查询审查历史

GET /api/review/history?name=关键词&reviewType=FILE&page=0&size=20

报告接口

1. 生成报告

POST /api/report/{taskId}

2. 获取HTML报告

GET /api/report/{taskId}/html

3. 获取Markdown报告

GET /api/report/{taskId}/markdown

项目文档

数据库初始化

数据库脚本位于 database/ 目录:

# 1. 创建数据库
createdb -U postgres codeguardian

# 2. 执行建表脚本
psql -U postgres -d codeguardian -f database/schema.sql

# 3. (可选)插入示例数据
psql -U postgres -d codeguardian -f database/init_data.sql

详细说明请参考 database/README.md

项目结构

code-review-ai-agent/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/codeguardian/
│   │   │       ├── CodeReviewApplication.java    # 主启动类
│   │   │       ├── config/                       # 配置类
│   │   │       ├── constants/                    # 常量类
│   │   │       ├── controller/                   # 控制器
│   │   │       ├── dto/                          # 数据传输对象
│   │   │       ├── entity/                       # 实体类
│   │   │       ├── exception/                    # 异常处理
│   │   │       ├── repository/                  # 数据访问层
│   │   │       └── service/                      # 服务层
│   │   └── resources/
│   │       ├── application.yml                   # 主配置文件
│   │       ├── application-dev.yml               # 开发环境配置
│   │       └── application-prod.yml              # 生产环境配置
│   └── test/                                      # 测试代码
├── docs/                                          # 项目文档
│   ├── 系统设计文档.md                              # 系统设计文档
│   └── 架构设计图.md                                # 架构设计图
├── pom.xml                                        # Maven配置
└── README.md                                      # 项目说明

开发计划

  • 项目骨架搭建
  • 基础实体和DTO
  • 核心服务实现
  • REST API接口
  • 报告生成功能
  • Git集成
  • 异步任务处理
  • 规则引擎集成
  • RAG增强
  • Function Calling

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages