欢迎关注:
你是否经历过这些场景
深夜提交代码后,因低级错误被晨会公开处刑
Merge Request堆积成山,人工审查效率堪比「肉眼找针」
线上事故追溯发现,竟是未被察觉的代码异味埋下隐患
今天,我们带来「Git提交即审查」全自动解决方案——
无需等待人工介入,AI自动扫描每次提交,风险代码无处遁形!
搭建AI审查机器人
1️⃣ 环境部署(Python 3.10+)
# 创建虚拟环境(避免依赖冲突)
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# 一键安装依赖
pip install -r requirements.txt
2️⃣ gitlab Webhook配置
1、 进入GitLab项目 → 设置 → Webhooks
2、 填写关键参数:
URL: http://你的服务器IP:5001/review/webhook
触发来源: 精准勾选 推送事件
和合并请求事件

3、 进入GitLab项目 → 设置 → 项目访问令牌 4、 令牌名称:随便输入,选择角色:Reporter, 选择范围:api, read_api, read_repository, write_repository 5、 创建项目令牌后,复制令牌(记得复制下来,后面会看不到)

3️⃣ 飞书机器人配置
1、 进入飞书消息群 → 设置 → 群机器人 → 添加机器人 → 自定义机器人 → 添加 2、 复制Webhook地址,后面会用

4️⃣ 配置项目.env文件
#服务端口
SERVER_PORT=5001
#大模型供应商配置,支持deepseek or ollama
LLM_PROVIDER=deepseek
#DeepSeek
DEEPSEEK_API_KEY=*****
OPENAI_API_BASE_URL=https://api.deepseek.com
DEEPSEEK_API_MODEL=deepseek-chat
#支持review的文件类型(未配置的文件类型不会被审查)
SUPPORTED_EXTENSIONS=.java,.py,.php,.yml
#提交给大模型的最长字符数,超出的部分会截断,防止大模型处理内容过长或Token消耗过多
REVIEW_MAX_LENGTH=20000
#飞书消息推送: 0不发送消息,1发送消息
FEISHU_ENABLED=1
FEISHU_WEBHOOK_URL=飞书机器人配置的webhook地址
#Gitlab配置
GITLAB_ACCESS_TOKEN=项目访问令牌
PUSH_REVIEW_ENABLED=1
5️⃣ 启动项目
# 启动审查API(端口5001)
python api.py
# 启动监控面板(端口5002)
streamlit run ui.py --server.port=5002 --server.address=0.0.0.0


6️⃣ 提交项目代码
合并和推送代码后,比对前后2次提交的差异性,代码有变化会提交代码给大模型审核,审核结果推送到gitlab和发送到飞书群消息中
飞书消息:
gitlab中提交:

代码审核统计:
发表评论 取消回复