Files
ai-code-review/README.md
2025-04-30 11:54:09 +08:00

152 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AI 代码审查服务
这是一个基于 AI 的代码审查服务,支持多种 Git 平台和 AI 服务。
## 功能特点
- 支持多种 Git 平台GitLab、Gitea
- 支持多种 AI 服务OpenAI、Ollama
- 自动代码审查
- 详细的审查报告
- 可配置的审查规则
- 支持自定义提示词
## 快速开始
### 环境要求
- JDK 17+
- Maven 3.8+
- Git 平台GitLab/Gitea
- AI 服务OpenAI/Ollama
### 配置
1. 复制配置文件模板:
```bash
cp src/main/resources/application.yml.template src/main/resources/application.yml
```
2. 编辑配置文件:
```yaml
server:
port: 53321
logging:
level:
com.codereview: DEBUG
admin:
token: your-admin-token
ai:
services:
- type: openai
enabled: true
api-key: your-openai-api-key
model: gpt-3.5-turbo
temperature: 0.7
system-msg: 你是一个代码审查助手
- type: ollama
enabled: false
url: http://localhost:11434
model: codellama
temperature: 0.7
system-msg: 你是一个代码审查助手
git:
platforms:
- name: gitlab
type: gitlab
api-base: https://gitlab.com/api/v4
token: your-gitlab-token
webhook-secret: your-webhook-secret
- name: gitea
type: gitea
api-base: https://gitea.example.com/api/v1
token: your-gitea-token
webhook-secret: your-webhook-secret
```
### 构建
```bash
mvn clean package
```
### 运行
```bash
java -jar target/ai-code-review.jar
```
## 使用指南
### 配置 Git 平台 Webhook
1. GitLab:
- 进入项目设置 -> Webhooks
- URL: `http://your-server:53321/webhook/gitlab`
- Secret Token: 配置文件中设置的 webhook-secret
- 触发事件: Push events
2. Gitea:
- 进入仓库设置 -> Webhooks
- URL: `http://your-server:53321/webhook/gitea`
- Secret: 配置文件中设置的 webhook-secret
- 触发事件: Push events
### 访问管理界面
- URL: `http://your-server:53321/admin`
- 使用配置文件中设置的 admin-token 进行认证
## 开发指南
### 项目结构
```
src/main/java/com/codereview/
├── config/ # 配置类
├── controller/ # 控制器
├── service/ # 服务接口
├── service/impl/ # 服务实现
└── util/ # 工具类
```
### 添加新的 Git 平台支持
1. 创建新的 WebhookEvent 实现类
2. 在 WebhookController 中添加处理逻辑
3. 更新配置文件结构
### 添加新的 AI 服务支持
1. 创建新的 AIService 实现类
2. 在配置文件中添加服务配置
3. 更新 AIServiceFactory
## 常见问题
1. Webhook 验证失败
- 检查 webhook-secret 配置
- 确认请求头中的签名
2. AI 服务调用失败
- 检查 API 密钥配置
- 确认服务是否可用
- 查看日志获取详细信息
## 贡献指南
1. Fork 项目
2. 创建特性分支
3. 提交更改
4. 推送到分支
5. 创建 Pull Request
## 许可证
MIT License