fix(ci): 修复AI代码审查脚本缺失build_review_prompt函数 #473

Merged
xiaoxia merged 1 commits from ci/fix-build-review-prompt into develop 2026-07-17 17:05:31 +08:00
+60
View File
@@ -392,6 +392,66 @@ def call_llm_coze(
return None
def build_review_prompt(diff_text: str, pr_number: int, file_list: list) -> str:
"""
构建代码审查的 Prompt。
包含:PR 基本信息、修改文件列表、diff 内容、审查要求。
"""
# 提取文件名列表
file_names = [f.get("filename", "") for f in file_list] if file_list else []
file_list_str = "\n".join(f" - {fn}" for fn in file_names) if file_names else " (未获取到文件列表)"
prompt = f"""请作为资深代码审查专家,对以下 Pull Request 的代码变更进行严格审查。
## PR 基本信息
- PR 编号: #{pr_number}
- 修改文件数: {len(file_list) if file_list else '未知'}
## 修改文件列表
{file_list_str}
## 代码变更(diff
```diff
{diff_text}
```
## 审查要求
请从以下维度进行审查,重点关注严重问题:
1. **逻辑正确性**:是否有明显的逻辑错误、边界条件遗漏、空指针/None引用风险
2. **异常处理**:异常捕获是否合理,是否有裸except,错误处理是否完善
3. **参数校验**:函数入参、返回值是否有必要的校验
4. **代码质量**:是否有重复代码、命名不清晰、过于复杂的函数
5. **性能问题**:是否有明显的性能隐患(如循环内重复计算、不必要的数据库查询)
6. **安全问题**:是否有注入风险、敏感信息泄露、权限控制问题
## 输出格式
请使用以下格式输出,语言为中文:
### 📊 审查概览
- 整体评价:(通过 / 有建议 / 需修改)
- 严重问题数量:X 个
- 一般建议数量:X 个
### ❌ 需修改的问题(严重)
(如果没有严重问题,写""
1. **[文件: 行号] 问题标题**
- 问题描述:...
- 修改建议:...
### 💡 改进建议(一般)
(如果没有建议,写""
1. **[文件: 行号] 建议标题**
- 具体内容:...
### ✅ 良好实践
(可选,列出值得肯定的地方)
请务必基于代码实际内容审查,不要编造不存在的问题。如果代码质量良好,直接给出通过结论即可。
"""
return prompt
def call_llm_for_review(
diff_text: str,
pr_number: int,