job51-gitlab-cr-node-jt-1 2.6.9 → 2.7.0
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/.claude/rules/code-review-rules.md +16 -16
- package/.claude/skills/simple-code-review/SKILL.md +6 -6
- package/docs/GITLAB_CR_NODE_TECHNICAL_DOCS.md +18 -8
- package/index.js +4 -0
- package/package.json +1 -1
- package/log.txt +0 -1509
|
@@ -204,31 +204,31 @@
|
|
|
204
204
|
# New Start: 29 <-- 元数据行,忽略,直接跳过
|
|
205
205
|
# Diff Content Below
|
|
206
206
|
@@ -28,8 +29,10 @@ <-- @@ 行,不编号!从下一行开始行号=29(new_start)
|
|
207
|
-
|
|
208
|
-
+
|
|
209
|
-
+
|
|
210
|
-
|
|
207
|
+
[代码行 1] <-- 空格开头,行号 = 29(new_start)
|
|
208
|
+
+ [代码行 2] <-- + 开头,行号 = 30(29+1)← 问题在这,new_line=30
|
|
209
|
+
+ [代码行 3] <-- + 开头,行号 = 31(30+1)← 问题在这,new_line=31
|
|
210
|
+
[代码行 4] <-- 空格开头,行号 = 32(31+1)
|
|
211
211
|
```
|
|
212
212
|
> - **示例 1:新增文件** `@@ -0,0 +1,58 @@`(new_start=1)
|
|
213
213
|
```
|
|
214
214
|
@@ -0,0 +1,58 @@
|
|
215
|
-
+
|
|
216
|
-
+
|
|
217
|
-
+
|
|
215
|
+
+ [代码行 1] // 行号 = 1(new_start)
|
|
216
|
+
+ [代码行 2] // 行号 = 2
|
|
217
|
+
+ [代码行 3] // 行号 = 3
|
|
218
218
|
...
|
|
219
|
-
+
|
|
220
|
-
+
|
|
221
|
-
+
|
|
222
|
-
+
|
|
223
|
-
+
|
|
219
|
+
+ [代码行 17] // 行号 = 17
|
|
220
|
+
+ [代码行 27] // 行号 = 27
|
|
221
|
+
+ [代码行 28] // 行号 = 28
|
|
222
|
+
+ [代码行 30] // 行号 = 30 ← 问题在这,new_line = 30
|
|
223
|
+
+ [代码行 38] // 行号 = 38 ← 问题在这,new_line = 38
|
|
224
224
|
```
|
|
225
225
|
> - **示例 2:已有文件修改** `@@ -42,3 +43,5 @@`(new_start=43)
|
|
226
226
|
```
|
|
227
227
|
@@ -42,3 +43,5 @@
|
|
228
|
-
|
|
229
|
-
+
|
|
230
|
-
+
|
|
231
|
-
|
|
228
|
+
[代码行 1] // 行号 = 43(new_start)
|
|
229
|
+
+ [代码行 2] // 行号 = 44(43+1)
|
|
230
|
+
+ [代码行 3] // 行号 = 45(44+1)← 问题在这,new_line = 45
|
|
231
|
+
[代码行 4] // 行号 = 46(45+1)
|
|
232
232
|
```
|
|
233
233
|
> - **⚠️ 验证方法**(强制执行,输出前必须检查):
|
|
234
234
|
> 1. **查看 diff 头的 new_start 和 new_count 值**:
|
|
@@ -36,10 +36,10 @@ description: 代码审查技能,审查变更代码并输出 REPORT 和 LINE_IN
|
|
|
36
36
|
# New Start: 29 <-- 元数据行,忽略,不编号
|
|
37
37
|
# Diff Content Below
|
|
38
38
|
@@ -28,8 +29,10 @@ <-- @@ 行,不编号!从下一行才开始计数
|
|
39
|
-
|
|
40
|
-
+
|
|
41
|
-
+
|
|
42
|
-
|
|
39
|
+
[代码行 1] <-- 空格开头,行号 = 29(new_start)
|
|
40
|
+
+ [代码行 2] <-- + 开头,行号 = 30(29+1)
|
|
41
|
+
+ [代码行 3] <-- + 开头,行号 = 31(30+1)
|
|
42
|
+
[代码行 4] <-- 空格开头,行号 = 32(31+1)
|
|
43
43
|
```
|
|
44
44
|
- **⚠️ 强制验证步骤**(输出前必须执行):
|
|
45
45
|
1. 从 diff 头提取 `new_start` 和 `new_count`,计算行号范围:`[new_start, new_start + new_count - 1]`
|
|
@@ -97,8 +97,8 @@ description: 代码审查技能,审查变更代码并输出 REPORT 和 LINE_IN
|
|
|
97
97
|
\`\`\`
|
|
98
98
|
**修改建议**:添加空值检查
|
|
99
99
|
\`\`\`java
|
|
100
|
-
if (
|
|
101
|
-
|
|
100
|
+
if ([变量] != null) {
|
|
101
|
+
[方法调用];
|
|
102
102
|
}
|
|
103
103
|
\`\`\`
|
|
104
104
|
\`\`\`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GitLab Code Review AI Tool 技术文档
|
|
2
2
|
|
|
3
3
|
**项目名称**: job51-gitlab-cr-node
|
|
4
|
-
**当前版本**: 2.6.
|
|
4
|
+
**当前版本**: 2.6.10
|
|
5
5
|
**作者**: tao.jing
|
|
6
6
|
**最后更新**: 2026-04-16
|
|
7
7
|
**项目地址**: https://gitdev.51job.com/51jobweb/ai-agent
|
|
@@ -27,16 +27,26 @@
|
|
|
27
27
|
|
|
28
28
|
## 版本历史
|
|
29
29
|
|
|
30
|
-
### v2.6.
|
|
30
|
+
### v2.6.10 (2026-04-16)
|
|
31
|
+
|
|
32
|
+
**优化**:
|
|
33
|
+
- **添加临时文件格式调试日志**:输出临时文件前 10 行预览,用于确认元数据格式是否正确
|
|
34
|
+
- 可以在日志中看到临时文件的实际格式,确认 AI 是否正确忽略元数据行
|
|
35
|
+
- 帮助诊断行号计算偏移问题
|
|
36
|
+
|
|
37
|
+
### v2.6.9 (2026-04-16)
|
|
31
38
|
|
|
32
39
|
**Bug 修复**:
|
|
33
|
-
-
|
|
34
|
-
- 问题现象:
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
|
|
40
|
+
- **优化行号计算规则说明**:改用更直观的「直接从 new_start 开始递增」方法
|
|
41
|
+
- 问题现象:AI 仍不能正确计算行号,偏移 8 行
|
|
42
|
+
- 根本原因:之前的规则使用「先编号再转换」方法(编号 + new_start - 1),容易出错
|
|
43
|
+
- 修复方案:
|
|
44
|
+
- 改用「直接从 new_start 开始递增」方法:从 @@ 之后第一行开始,行号=new_start,每往下一行行号 +1
|
|
45
|
+
- 更新示例中的行号标注,直接使用「行号 = X」而非「编号=X → 绝对行号=...」
|
|
46
|
+
- 移除容易引起误解的「编号」概念,直接用行号递增加示例
|
|
47
|
+
- 修复文件:`.claude/skills/simple-code-review/SKILL.md`、`.claude/rules/code-review-rules.md`
|
|
38
48
|
|
|
39
|
-
### v2.6.
|
|
49
|
+
### v2.6.8 (2026-04-16)
|
|
40
50
|
|
|
41
51
|
**Bug 修复**:
|
|
42
52
|
- **修复行号计算偏移问题**:修改临时文件格式,元数据行改为以 `# ` 开头,方便 AI 识别并忽略
|
package/index.js
CHANGED
|
@@ -98,6 +98,10 @@ ${diffObject.diff}`;
|
|
|
98
98
|
// 将diff内容写入临时文件
|
|
99
99
|
fs.writeFileSync(tmpFileName, diffContentWithMetadata);
|
|
100
100
|
|
|
101
|
+
// 输出临时文件前 10 行用于调试(确认元数据格式)
|
|
102
|
+
const tmpFileLines = diffContentWithMetadata.split('\n').slice(0, 10).join('\n');
|
|
103
|
+
debugLog(`临时文件前 10 行预览:\n${tmpFileLines}`);
|
|
104
|
+
|
|
101
105
|
// 审核当前块(传入临时的文件而不是直接的diff内容)
|
|
102
106
|
const blockStartTime = Date.now();
|
|
103
107
|
const review_result = await this.reviewDiffWithClaudeUsingFile(tmpFileName);
|