@yeepay/coderocket-mcp 1.2.4 → 1.2.5

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/CHANGELOG.md CHANGED
@@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.2.5] - 2025-08-01
9
+
10
+ ### ✨ 统一提示词系统
11
+
12
+ #### Added
13
+ - **统一提示词系统**:所有代码审查功能现在使用统一的 `git-commit-review-prompt.md` 提示词
14
+ - **提示词自定义文档**:添加了完整的提示词自定义指南和使用说明
15
+ - **统一性测试**:新增专门的测试用例验证统一提示词的使用
16
+
17
+ #### Changed
18
+ - 移除了不再使用的 `code-review-prompt` 提示词,简化了提示词管理
19
+ - 更新了内置默认提示词,适配所有审查场景
20
+ - 优化了 PromptManager 的预加载逻辑,只加载必要的提示词
21
+
22
+ #### Documentation
23
+ - 更新了 README.md,添加了提示词自定义章节
24
+ - 说明了统一提示词的优势:一致性、维护性、可预测性
25
+ - 提供了项目级和全局级提示词自定义示例
26
+
8
27
  ## [1.2.4] - 2025-08-01
9
28
 
10
29
  ### 🎨 Enhanced User Experience: Banner Integration
@@ -143,7 +162,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
143
162
  #### 🔧 Enhanced
144
163
  - **Prompt Enhancement**: All prompts now explicitly request Chinese responses
145
164
  - Added language instructions to `git-commit-review-prompt`
146
- - Added language instructions to `code-review-prompt`
147
165
  - Enhanced `executeAIReview` method to dynamically add language requirements
148
166
 
149
167
  #### 📝 Configuration Updates
package/README.md CHANGED
@@ -27,6 +27,7 @@
27
27
  - [MCP工具](#-mcp工具)
28
28
  - [配置说明](#️-配置说明)
29
29
  - [使用示例](#-使用示例)
30
+ - [提示词自定义](#-提示词自定义)
30
31
  - [故障排除](#-故障排除)
31
32
  - [开发指南](#-开发指南)
32
33
 
@@ -109,9 +110,6 @@ npx @yeepay/coderocket-mcp review_changes
109
110
  # 配置Gemini(推荐)
110
111
  export GEMINI_API_KEY="your_gemini_api_key"
111
112
 
112
- # 或配置OpenCode
113
- export OPENCODE_API_KEY="your_opencode_api_key"
114
-
115
113
  # 或配置ClaudeCode
116
114
  export CLAUDECODE_API_KEY="your_claudecode_api_key"
117
115
  ```
@@ -198,7 +196,7 @@ CodeRocket MCP 提供以下工具:
198
196
  配置AI服务设置,包括服务选择、API密钥等。
199
197
 
200
198
  **参数:**
201
- - `service` (string): AI服务名称 (gemini/opencode/claudecode)
199
+ - `service` (string): AI服务名称 (gemini/claudecode)
202
200
  - `scope` (string, 可选): 配置范围 (project/global)
203
201
  - `api_key` (string, 可选): API密钥
204
202
  - `timeout` (number, 可选): 超时时间
@@ -222,7 +220,6 @@ AI_MAX_RETRIES=3 # 最大重试次数
222
220
 
223
221
  # API密钥
224
222
  GEMINI_API_KEY=your_gemini_key
225
- OPENCODE_API_KEY=your_opencode_key
226
223
  CLAUDECODE_API_KEY=your_claudecode_key
227
224
 
228
225
  # 日志配置
@@ -285,6 +282,43 @@ NODE_ENV=development # 开发模式启用详细日志
285
282
  }
286
283
  ```
287
284
 
285
+ ## 🎨 提示词自定义
286
+
287
+ CodeRocket MCP 使用统一的提示词系统,所有代码审查功能都使用同一个提示词模板:
288
+
289
+ ### 统一提示词
290
+
291
+ - **统一模板**:`git-commit-review-prompt.md` - 适用于所有代码审查场景
292
+ - **功能覆盖**:Git 提交审查、代码片段审查、文件审查、变更审查
293
+
294
+ ### 提示词优先级
295
+
296
+ 1. **项目级提示词**(最高优先级):`./prompts/git-commit-review-prompt.md`
297
+ 2. **全局提示词**:`~/.coderocket/prompts/git-commit-review-prompt.md`
298
+ 3. **内置默认提示词**(最低优先级)
299
+
300
+ ### 自定义示例
301
+
302
+ 创建项目级提示词:
303
+
304
+ ```bash
305
+ mkdir -p prompts
306
+ echo "# 自定义代码审查提示词..." > prompts/git-commit-review-prompt.md
307
+ ```
308
+
309
+ 创建全局提示词:
310
+
311
+ ```bash
312
+ mkdir -p ~/.coderocket/prompts
313
+ echo "# 全局代码审查提示词..." > ~/.coderocket/prompts/git-commit-review-prompt.md
314
+ ```
315
+
316
+ ### 统一性优势
317
+
318
+ - **一致性**:所有审查功能使用相同的评判标准
319
+ - **维护性**:只需维护一个提示词文件
320
+ - **可预测性**:审查结果风格和格式保持一致
321
+
288
322
  ## 🔍 故障排除
289
323
 
290
324
  ### 常见问题
@@ -308,7 +342,6 @@ npm run build
308
342
  # 检查API密钥配置
309
343
  echo $GEMINI_API_KEY
310
344
  echo $CLAUDECODE_API_KEY
311
- echo $OPENCODE_API_KEY
312
345
 
313
346
  # 检查配置文件
314
347
  cat ~/.coderocket/env
@@ -15,8 +15,104 @@ const __dirname = dirname(__filename);
15
15
 
16
16
  const command = process.argv[2];
17
17
 
18
+ // 处理工具调用命令(如 review_changes, review_commit 等)
19
+ if (command && ['review_changes', 'review_commit', 'review_code', 'review_files', 'get_ai_service_status', 'configure_ai_service'].includes(command)) {
20
+ const toolArgs = process.argv.slice(3);
21
+
22
+ async function runTool() {
23
+ try {
24
+ console.log('🔧 正在初始化服务...');
25
+ const coderocketModule = await import(resolve(__dirname, '../dist/coderocket.js'));
26
+ console.log('✅ 模块导入成功');
27
+
28
+ const { CodeRocketService, ConfigManager } = coderocketModule;
29
+ console.log('✅ 类导入成功');
30
+
31
+ // 初始化配置管理器
32
+ await ConfigManager.initialize();
33
+ console.log('✅ 配置管理器初始化完成');
34
+
35
+ const service = new CodeRocketService();
36
+ console.log(`🚀 正在执行工具: ${command}`);
37
+
38
+ let result;
39
+ switch (command) {
40
+ case 'review_changes':
41
+ result = await service.reviewChanges({
42
+ repository_path: toolArgs.find(arg => arg.startsWith('--path='))?.split('=')[1],
43
+ ai_service: toolArgs.find(arg => arg.startsWith('--ai-service='))?.split('=')[1],
44
+ custom_prompt: toolArgs.find(arg => arg.startsWith('--prompt='))?.split('=')[1],
45
+ include_staged: !toolArgs.includes('--no-staged'),
46
+ include_unstaged: !toolArgs.includes('--no-unstaged'),
47
+ });
48
+ break;
49
+ case 'review_commit':
50
+ result = await service.reviewCommit({
51
+ repository_path: toolArgs.find(arg => arg.startsWith('--path='))?.split('=')[1],
52
+ commit_hash: toolArgs.find(arg => arg.startsWith('--commit='))?.split('=')[1],
53
+ ai_service: toolArgs.find(arg => arg.startsWith('--ai-service='))?.split('=')[1],
54
+ custom_prompt: toolArgs.find(arg => arg.startsWith('--prompt='))?.split('=')[1],
55
+ });
56
+ break;
57
+ case 'review_code':
58
+ result = await service.reviewCode({
59
+ code: toolArgs.find(arg => arg.startsWith('--code='))?.split('=')[1] || '',
60
+ language: toolArgs.find(arg => arg.startsWith('--language='))?.split('=')[1],
61
+ context: toolArgs.find(arg => arg.startsWith('--context='))?.split('=')[1],
62
+ ai_service: toolArgs.find(arg => arg.startsWith('--ai-service='))?.split('=')[1],
63
+ custom_prompt: toolArgs.find(arg => arg.startsWith('--prompt='))?.split('=')[1],
64
+ });
65
+ break;
66
+ case 'review_files':
67
+ const filesArg = toolArgs.find(arg => arg.startsWith('--files='))?.split('=')[1];
68
+ const files = filesArg ? filesArg.split(',') : [];
69
+ result = await service.reviewFiles({
70
+ files,
71
+ repository_path: toolArgs.find(arg => arg.startsWith('--path='))?.split('=')[1],
72
+ ai_service: toolArgs.find(arg => arg.startsWith('--ai-service='))?.split('=')[1],
73
+ custom_prompt: toolArgs.find(arg => arg.startsWith('--prompt='))?.split('=')[1],
74
+ });
75
+ break;
76
+ case 'get_ai_service_status':
77
+ console.log('📊 正在获取AI服务状态...');
78
+ result = await service.getAIServiceStatus();
79
+ console.log('✅ AI服务状态获取完成');
80
+ break;
81
+ case 'configure_ai_service':
82
+ result = await service.configureAIService({
83
+ service: toolArgs.find(arg => arg.startsWith('--service='))?.split('=')[1] || 'gemini',
84
+ api_key: toolArgs.find(arg => arg.startsWith('--api-key='))?.split('=')[1],
85
+ scope: toolArgs.find(arg => arg.startsWith('--scope='))?.split('=')[1] || 'project',
86
+ language: toolArgs.find(arg => arg.startsWith('--language='))?.split('=')[1],
87
+ timeout: toolArgs.find(arg => arg.startsWith('--timeout='))?.split('=')[1] ?
88
+ parseInt(toolArgs.find(arg => arg.startsWith('--timeout='))?.split('=')[1], 10) : undefined,
89
+ max_retries: toolArgs.find(arg => arg.startsWith('--max-retries='))?.split('=')[1] ?
90
+ parseInt(toolArgs.find(arg => arg.startsWith('--max-retries='))?.split('=')[1], 10) : undefined,
91
+ });
92
+ break;
93
+ default:
94
+ throw new Error(`工具 ${command} 暂未实现`);
95
+ }
96
+
97
+ // 输出结果
98
+ if (typeof result === 'object') {
99
+ console.log(JSON.stringify(result, null, 2));
100
+ } else {
101
+ console.log(result);
102
+ }
103
+ } catch (error) {
104
+ console.error(`❌ 工具执行失败: ${error.message}`);
105
+ if (process.env.DEBUG === 'true') {
106
+ console.error('🔍 详细错误信息:', error);
107
+ }
108
+ process.exit(1);
109
+ }
110
+ }
111
+
112
+ runTool();
113
+ }
18
114
  // 如果没有命令或命令是 start,直接启动 MCP 服务器
19
- if (!command || command === 'start') {
115
+ else if (!command || command === 'start') {
20
116
  // 直接导入并启动 MCP 服务器(不使用 spawn)
21
117
  const serverPath = resolve(__dirname, '../dist/index.js');
22
118
 
@@ -1 +1 @@
1
- {"version":3,"file":"coderocket.d.ts","sourceRoot":"","sources":["../src/coderocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coderocket.d.ts","sourceRoot":"","sources":["../src/coderocket.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ export class ConfigManager {
89
89
  static loadEnvironmentVariables() {
90
90
  const envKeys = [
91
91
  'AI_SERVICE', 'AI_AUTO_SWITCH', 'AI_TIMEOUT', 'AI_MAX_RETRIES', 'AI_RETRY_DELAY',
92
- 'GEMINI_API_KEY', 'OPENCODE_API_KEY', 'CLAUDECODE_API_KEY',
92
+ 'GEMINI_API_KEY', 'CLAUDECODE_API_KEY',
93
93
  'NODE_ENV', 'DEBUG'
94
94
  ];
95
95
  envKeys.forEach(key => {
@@ -254,7 +254,7 @@ export class PromptManager {
254
254
 
255
255
  ## 角色定义
256
256
 
257
- 你是一名资深的代码审阅专家,拥有丰富的软件开发经验和架构设计能力。你的任务是针对**最新的 git commit** 进行专业、深入、自动化的代码审阅,并提供一份准确、实用、可操作的审阅报告。
257
+ 你是一名资深的代码审阅专家,拥有丰富的软件开发经验和架构设计能力。你的任务是进行专业、深入、自动化的代码审阅,并提供一份准确、实用、可操作的审阅报告。
258
258
 
259
259
  ## 执行模式
260
260
 
@@ -266,97 +266,49 @@ export class PromptManager {
266
266
 
267
267
  ## 审阅指令
268
268
 
269
- ### 1. 获取 Commit 信息
269
+ ### 1. 代码分析
270
270
 
271
- 首先执行 \`git --no-pager show\` 命令获取最新一次 commit 的详细信息,包括 Commit hash、作者、时间、Commit message 及具体的代码修改内容。
271
+ 对提供的代码内容进行全面分析,包括代码结构、逻辑实现、依赖关系等。
272
272
 
273
- ### 2. 全局代码搜索分析 (关键步骤)
273
+ ### 2. 上下文理解
274
274
 
275
- 在审阅具体代码前,**必须先进行全局代码搜索以获取完整上下文**。
276
-
277
- * **制定搜索策略**: 根据 commit message 的描述,制定关键词搜索策略(如:功能名、类名、修复的bug信息等)。
278
- * **全面搜索验证**: 在整个代码库中搜索相关的功能实现、依赖关系、配置和测试文件。
279
- * **完整性验证**: **对比搜索结果与实际修改内容**,检查是否存在应修改但未修改的**遗漏文件**。这是评估目标达成度的核心依据。
275
+ 根据代码内容和提供的上下文信息,理解代码的功能目标和实现意图。
280
276
 
281
277
  ### 3. 审阅维度与标准
282
278
 
283
279
  请从以下维度进行系统性审查:
284
280
 
285
- * **目标达成度**:
286
- * **功能完整性**: 是否完全实现了 commit message 中描述的目标? 是否有未完成的功能点?
287
- * **修改覆盖度**: (基于全局搜索) 是否遗漏了需要同步修改的相关文件(如测试、文档、配置)?
288
- * **代码质量与正确性**:
289
- * **正确性**: 代码逻辑是否正确?是否有效处理了边缘情况?
281
+ * **功能完整性与正确性**:
282
+ * **逻辑正确性**: 代码逻辑是否正确?是否有效处理了边缘情况?
283
+ * **功能实现**: 是否完整实现了预期的功能?是否有未完成的功能点?
284
+ * **错误处理**: 是否有适当的错误处理和异常捕获?
285
+ * **代码质量与规范**:
290
286
  * **代码规范**: 是否遵循项目既定标准(命名、格式、设计模式)?
291
- * **可读性与可维护性**: 代码是否清晰、结构合理、易于理解和修改? 注释是否充分且必要?
287
+ * **可读性与可维护性**: 代码是否清晰、结构合理、易于理解和修改?
288
+ * **注释质量**: 注释是否充分且必要?是否准确描述了代码意图?
292
289
  * **健壮性与风险**:
293
290
  * **安全性**: 是否存在潜在的安全漏洞(如SQL注入、密钥明文、不安全的依赖等)?
294
291
  * **性能**: 是否存在明显的性能瓶颈(如不合理的循环、N+1查询等)?
292
+ * **资源管理**: 是否正确管理内存、文件句柄等资源?
295
293
  * **测试与文档**:
296
- * **可测试性与覆盖率**: 代码是否易于测试?是否有足够的单元/集成测试来覆盖变更?
297
- * **文档同步**: 相关的内联文档(注释)或外部文档是否已更新?
294
+ * **可测试性**: 代码是否易于测试?是否有足够的单元测试覆盖?
295
+ * **文档完整性**: 相关的内联文档(注释)是否完整准确?
298
296
  * **架构与扩展性**:
299
297
  * **设计合理性**: 模块职责划分是否明确?耦合度是否合理?
300
298
  * **扩展性**: 设计是否考虑了未来的扩展需求?
299
+ * **重用性**: 代码是否具有良好的重用性?
301
300
 
302
301
  ### 4. 审阅结果输出
303
302
 
304
303
  请提供详细的审阅报告,包括:
305
304
  - 审阅状态(✅通过/⚠️警告/❌失败/🔍需调查)
306
- - 总体评价和目标达成度
305
+ - 总体评价和功能完成度
307
306
  - 具体问题和改进建议
308
307
  - 优先级排序的建议列表
308
+ - 优秀实践的识别
309
309
 
310
310
  请确保审阅报告专业、准确、可操作。
311
311
 
312
- **重要:请务必使用中文回复,所有审查结果、建议和评价都必须用中文表达。**`,
313
- 'code-review-prompt': `# 代码审查提示词
314
-
315
- ## 角色定义
316
-
317
- 你是一名专业的代码审查专家,具有丰富的软件开发经验。请对提供的代码进行全面、专业的审查。
318
-
319
- ## 审查维度
320
-
321
- 请从以下维度进行审查:
322
-
323
- ### 1. 代码质量
324
- - 代码结构是否清晰合理
325
- - 命名是否规范和有意义
326
- - 是否遵循编程最佳实践
327
-
328
- ### 2. 功能正确性
329
- - 代码逻辑是否正确
330
- - 是否处理了边缘情况
331
- - 是否有潜在的bug
332
-
333
- ### 3. 性能和安全
334
- - 是否存在性能问题
335
- - 是否有安全漏洞
336
- - 资源使用是否合理
337
-
338
- ### 4. 可维护性
339
- - 代码是否易于理解和修改
340
- - 是否有足够的注释
341
- - 模块化程度如何
342
-
343
- ## 输出格式
344
-
345
- 请按以下格式提供审查结果:
346
-
347
- **审查状态**: [✅优秀/⚠️需改进/❌有问题]
348
-
349
- **总体评价**: [简短的总体评价]
350
-
351
- **具体建议**:
352
- 1. [具体的改进建议]
353
- 2. [具体的改进建议]
354
- ...
355
-
356
- **优秀实践**: [值得称赞的地方]
357
-
358
- 请确保建议具体、可操作,并提供代码示例(如适用)。
359
-
360
312
  **重要:请务必使用中文回复,所有审查结果、建议和评价都必须用中文表达。**`
361
313
  };
362
314
  return defaultPrompts[name] || `# 默认提示词\n\n请提供专业的代码审查和分析。`;
@@ -372,8 +324,7 @@ export class PromptManager {
372
324
  */
373
325
  static async preloadCommonPrompts() {
374
326
  const commonPrompts = [
375
- 'git-commit-review-prompt',
376
- 'code-review-prompt'
327
+ 'git-commit-review-prompt'
377
328
  ];
378
329
  await Promise.all(commonPrompts.map(name => this.loadPrompt(name).catch(error => {
379
330
  logger.warn(`预加载提示词失败: ${name}`, error);
@@ -392,7 +343,7 @@ class GeminiService {
392
343
  async initialize() {
393
344
  // 检查 ConfigManager 是否已初始化
394
345
  if (!ConfigManager.initialized) {
395
- return; // 如果未初始化,跳过初始化
346
+ throw new Error('ConfigManager 未初始化,请先调用 ConfigManager.initialize()');
396
347
  }
397
348
  const apiKey = ConfigManager.getAPIKey('gemini');
398
349
  if (apiKey) {
@@ -806,7 +757,7 @@ ${request.custom_prompt ? `\n附加要求:\n${request.custom_prompt}` : ''}
806
757
  **重要:请务必使用中文回复,所有审查结果、建议和评价都必须用中文表达。**`;
807
758
  // 调用AI服务进行审查
808
759
  const aiService = request.ai_service || ConfigManager.getAIService();
809
- const result = await this.executeAIReview(aiService, 'code-review-prompt', reviewPrompt);
760
+ const result = await this.executeAIReview(aiService, 'git-commit-review-prompt', reviewPrompt);
810
761
  logger.info('代码审查完成', {
811
762
  status: result.status,
812
763
  aiService: result.ai_service_used,
@@ -1089,9 +1040,23 @@ ${request.custom_prompt ? `\n附加要求:\n${request.custom_prompt}` : ''}
1089
1040
  const fullPath = resolve(repoPath, filePath);
1090
1041
  const content = await readFile(fullPath, 'utf-8');
1091
1042
  // 限制单个文件内容长度,避免提示词过长
1092
- const truncatedContent = content.length > 5000
1093
- ? content.substring(0, 5000) + '\n... (内容已截断)'
1094
- : content;
1043
+ const FILE_CONTENT_CHAR_LIMIT = process.env.FILE_CONTENT_CHAR_LIMIT
1044
+ ? parseInt(process.env.FILE_CONTENT_CHAR_LIMIT, 10)
1045
+ : 5000;
1046
+ let truncatedContent;
1047
+ if (content.length > FILE_CONTENT_CHAR_LIMIT) {
1048
+ // 取前后各 100 字符作为摘要
1049
+ const head = content.substring(0, 100);
1050
+ const tail = content.substring(content.length - 100);
1051
+ const omittedLength = content.length - FILE_CONTENT_CHAR_LIMIT;
1052
+ truncatedContent =
1053
+ content.substring(0, FILE_CONTENT_CHAR_LIMIT) +
1054
+ `\n... (内容已截断, 共省略 ${omittedLength} 字符)\n` +
1055
+ `内容摘要: \n前100字符: ${head}\n后100字符: ${tail}`;
1056
+ }
1057
+ else {
1058
+ truncatedContent = content;
1059
+ }
1095
1060
  fileContents.push(`## 文件: ${filePath}\n\`\`\`\n${truncatedContent}\n\`\`\``);
1096
1061
  }
1097
1062
  catch (error) {
@@ -1117,7 +1082,7 @@ ${fileContents.join('\n\n')}
1117
1082
  ${request.custom_prompt ? `\n附加要求:\n${request.custom_prompt}` : ''}`;
1118
1083
  // 调用AI服务进行审查
1119
1084
  const aiService = request.ai_service || ConfigManager.getAIService();
1120
- const result = await this.executeAIReview(aiService, 'code-review-prompt', reviewPrompt);
1085
+ const result = await this.executeAIReview(aiService, 'git-commit-review-prompt', reviewPrompt);
1121
1086
  logger.info('文件审查完成', {
1122
1087
  status: result.status,
1123
1088
  aiService: result.ai_service_used,
@@ -1214,9 +1179,8 @@ ${request.custom_prompt ? `\n附加要求:\n${request.custom_prompt}` : ''}`;
1214
1179
  else {
1215
1180
  lines.push(configLine);
1216
1181
  }
1217
- // 写入配置文件
1218
- const newConfig = lines.filter(line => line.trim()).join('\n') + '\n';
1219
- await writeFile(configFile, newConfig, 'utf-8');
1182
+ // 写回文件
1183
+ await writeFile(configFile, lines.join('\n'), 'utf-8');
1220
1184
  logger.debug('配置已保存', { key, configFile, scope });
1221
1185
  }
1222
1186
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"coderocket.js","sourceRoot":"","sources":["../src/coderocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coderocket.js","sourceRoot":"","sources":["../src/coderocket.ts"],"names":[],"mappings":"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"}