项目成果演示
[图片:代码审查结果示例]
1. 方案摘要
本方案旨在解决手动代码审查(Code Review)耗时耗力、标准不一的问题。通过利用 GitLab 自带的 CI/CD 功能,在开发者创建合并请求(Merge Request, MR)时自动触发一个流水线任务。该任务会提取 MR 中的代码变更,调用 DeepSeek API 模型进行分析,并将 AI 生成的审查意见以评论的形式自动发布回 MR 页面,从而为人工审查提供有价值的参考,提升代码质量和团队效率。
1.1 核心目标
- 自动化:MR 创建或更新时,自动触发代码审查,无需人工干预。
- 智能化:利用大语言模型的代码理解能力,发现潜在的 Bug、性能问题、不规范写法和安全漏洞。
- 效率化:AI 优先进行第一轮审查,帮助人类审查者快速抓住重点,缩短整体审查周期。
- 低成本:方案初期采用免费 API 配额,无需支付额外费用即可验证其价值。
1.2 技术选型
- 代码托管与 CI/CD:GitLab
- AI 模型服务:DeepSeek API (使用 deepseek-coder 模型,兼具速度与性能)
- 需要确保 GitLab 的服务器能访问到 DeepSeek 的服务
- 执行环境:GitLab Runner 上的 Docker 环境 (使用官方 python:3.9-slim 镜像)
- 核心脚本:Python 3
1.3 方案架构与流程
- 开发者提交代码到特性分支,并向主分支发起一个 Merge Request。
- GitLab 收到 MR 事件,根据 .gitlab-ci.yml 的配置,触发 CI/CD 流水线。
- GitLab Runner 启动一个名为 ai_code_review 的 Job。
- Job 内部执行 Python 脚本,脚本通过 GitLab API 获取该 MR 的代码变更(Diff)。
- 脚本将代码变更与预设的 Prompt(指令)结合,向 DeepSeek API 发起请求。
- DeepSeek API 返回分析结果(审查意见)。
- 脚本接收结果,并再次调用 GitLab API,将审查意见作为一条 Comment 发布到原始 MR 中。
- 开发者和审查者在 MR 页面直接看到 AI 的反馈。
2. 实施步骤
阶段一:准备工作
1. 获取 DeepSeek API 密钥:
- 访问 DeepSeek 官网控制台。
- 使用账号登录。
- 点击 'Create API Key' -> 'Create new key'。
- 立即复制并妥善保管生成的 API 密钥。
2. 获取 GitLab Access Token:
- 登录 GitLab 账号。
- 进入 右上角头像 -> Preferences -> Access Tokens。
- Token name: ai_code_reviewer (或任何其他名字)。
- Expiration date: 建议设置一个有效期。
- Select scopes: 勾选 api 权限。api 权限已包含读取仓库和写入评论所需的所有权限。
- 点击 'Create personal access token'。
- 立即复制并妥善保管生成的 Token。
阶段二:GitLab 项目配置
进入需要集成此功能的 GitLab 项目:
- 导航到 Settings -> CI/CD。
- 展开 Variables 部分。
- 点击 'Add variable' 添加以下两个变量,用于安全地存储密钥:
- Key: DEEPSEEK_API_KEY


