gitlab-ai-review 3.2.1 → 3.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/prompt-tools.js +38 -10
- package/package.json +1 -1
package/lib/prompt-tools.js
CHANGED
|
@@ -92,7 +92,7 @@ export function buildFileReviewPrompt(fileName, meaningfulChanges) {
|
|
|
92
92
|
{
|
|
93
93
|
"lineNumber": 15,
|
|
94
94
|
"hasIssue": true,
|
|
95
|
-
"comment": "
|
|
95
|
+
"comment": "请按照项目审查规则中定义的格式填写审查意见"
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
98
|
"lineNumber": 20,
|
|
@@ -102,9 +102,14 @@ export function buildFileReviewPrompt(fileName, meaningfulChanges) {
|
|
|
102
102
|
}
|
|
103
103
|
\`\`\`
|
|
104
104
|
|
|
105
|
+
**JSON 格式要求:**
|
|
106
|
+
- lineNumber 必须是数字
|
|
107
|
+
- hasIssue 必须是布尔值
|
|
108
|
+
- **comment 字段的内容格式:请严格遵循"项目特定的审查规则"中定义的格式**
|
|
109
|
+
- 如果项目规则中没有定义特殊格式,使用中文简洁描述即可
|
|
110
|
+
|
|
105
111
|
6. 如果所有代码都没有问题,返回空的 reviews 数组:\`{"reviews": []}\`
|
|
106
112
|
7. 只返回 JSON,不要包含其他文字说明
|
|
107
|
-
8. comment 字段必须使用中文,要简洁明了
|
|
108
113
|
|
|
109
114
|
**再次强调:**
|
|
110
115
|
- 看到 "类型: 删除" 和 "-" → 代码被移除了
|
|
@@ -278,14 +283,36 @@ export function buildFileReviewWithImpactPrompt(fileName, meaningfulChanges, imp
|
|
|
278
283
|
1. **"类型: 删除"** + 代码以 **"-"** 开头 = **代码已被移除**(不存在了)
|
|
279
284
|
2. **"类型: 新增"** + 代码以 **"+"** 开头 = **代码是新加的**(新存在的)
|
|
280
285
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
286
|
+
**🔥 关于代码修改的重要理解:**
|
|
287
|
+
|
|
288
|
+
如果在**同一位置**看到以下情况(删除旧代码,添加新代码):
|
|
289
|
+
- 第一行以 "-" 开头(删除)
|
|
290
|
+
- 第二行以 "+" 开头(新增)
|
|
291
|
+
- 修改的是同一个变量/属性/函数
|
|
292
|
+
|
|
293
|
+
这是**修改(替换)**,不是"重复定义"或"两次定义"!
|
|
294
|
+
|
|
295
|
+
**常见错误理解:**
|
|
296
|
+
|
|
297
|
+
❌ 错误示例 1:
|
|
298
|
+
看到:
|
|
299
|
+
- const name = 'old';
|
|
300
|
+
+ const name = 'new';
|
|
301
|
+
错误理解:❌ "代码中定义了两次 name 变量,违反唯一性"
|
|
302
|
+
正确理解:✅ "将 name 的值从 'old' 修改为 'new',这是正常的代码变更"
|
|
303
|
+
|
|
304
|
+
❌ 错误示例 2:
|
|
305
|
+
看到:
|
|
306
|
+
- all: [...addedSymbols, ...deletedSymbols],
|
|
307
|
+
+ all: [...addedSymbols, ...allDeleted],
|
|
308
|
+
错误理解:❌ "返回对象中存在两个 all 属性"
|
|
309
|
+
正确理解:✅ "修改了 all 属性的值,从 deletedSymbols 改为 allDeleted"
|
|
285
310
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
311
|
+
**核心原则:**
|
|
312
|
+
- **"-"** 的代码已经**不存在**了(被删除)
|
|
313
|
+
- **"+"** 的代码是**新存在**的(被添加)
|
|
314
|
+
- 如果同一个变量/属性有 "-" 又有 "+",这是**修改**,不是重复定义
|
|
315
|
+
- 在最终代码中,只有 "+" 的版本会保留
|
|
289
316
|
|
|
290
317
|
## 审查要求
|
|
291
318
|
|
|
@@ -309,7 +336,7 @@ export function buildFileReviewWithImpactPrompt(fileName, meaningfulChanges, imp
|
|
|
309
336
|
{
|
|
310
337
|
"lineNumber": 15,
|
|
311
338
|
"hasIssue": true,
|
|
312
|
-
"comment": "
|
|
339
|
+
"comment": "请按照项目审查规则中定义的格式填写审查意见"
|
|
313
340
|
},
|
|
314
341
|
{
|
|
315
342
|
"lineNumber": 20,
|
|
@@ -325,6 +352,7 @@ export function buildFileReviewWithImpactPrompt(fileName, meaningfulChanges, imp
|
|
|
325
352
|
- 如果发现其他文件受影响,在当前变更行的 comment 中说明影响范围
|
|
326
353
|
- lineNumber 必须是数字,不能是 null、undefined 或其他值
|
|
327
354
|
- 如果某个变更没有问题,可以不在 reviews 中包含它
|
|
355
|
+
- **comment 字段的内容格式:请严格遵循"项目特定的审查规则"中定义的格式**(如果有定义)
|
|
328
356
|
|
|
329
357
|
**示例:**
|
|
330
358
|
如果删除了第 15 行的函数,且发现其他文件在使用:
|