@yeepay/coderocket-mcp 1.2.9 → 1.2.11
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/bin/coderocket-mcp +33 -15
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +10 -6
- package/dist/logger.js.map +1 -1
- package/package.json +1 -1
- package/test_mcp_stderr.txt +0 -0
- package/test_mcp_stdout.txt +1 -0
- package/review_logs/review-0f82c90f.md +0 -58
- package/review_logs/review-report-9a2e75ce.md +0 -43
package/bin/coderocket-mcp
CHANGED
@@ -151,12 +151,18 @@ else if (!command || command === 'start') {
|
|
151
151
|
case 'help':
|
152
152
|
case '--help':
|
153
153
|
case '-h':
|
154
|
-
//
|
154
|
+
// 只在 DEBUG 模式下显示 banner,避免 IDE 兼容性问题
|
155
155
|
try {
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
156
|
+
if (process.env.DEBUG === 'true') {
|
157
|
+
const bannerPath = resolve(__dirname, '../dist/banner.js');
|
158
|
+
const { showMiniBanner } = await import(bannerPath);
|
159
|
+
showMiniBanner();
|
160
|
+
console.log('');
|
161
|
+
} else {
|
162
|
+
// 生产模式下显示简洁的标题
|
163
|
+
console.log('CodeRocket MCP - 独立的AI驱动代码审查服务器');
|
164
|
+
console.log('');
|
165
|
+
}
|
160
166
|
} catch (error) {
|
161
167
|
// 如果 banner 加载失败,继续显示帮助信息
|
162
168
|
console.log('CodeRocket MCP - 独立的AI驱动代码审查服务器');
|
@@ -198,14 +204,16 @@ else if (!command || command === 'start') {
|
|
198
204
|
case 'version':
|
199
205
|
case '--version':
|
200
206
|
case '-v':
|
201
|
-
//
|
207
|
+
// 只在 DEBUG 模式下显示 banner,避免 IDE 兼容性问题
|
202
208
|
try {
|
203
|
-
|
204
|
-
|
205
|
-
|
209
|
+
if (process.env.DEBUG === 'true') {
|
210
|
+
// 动态导入 banner 模块
|
211
|
+
const bannerPath = resolve(__dirname, '../dist/banner.js');
|
212
|
+
const { showMiniBanner } = await import(bannerPath);
|
206
213
|
|
207
|
-
|
208
|
-
|
214
|
+
showMiniBanner();
|
215
|
+
console.log('');
|
216
|
+
}
|
209
217
|
|
210
218
|
// 读取package.json获取详细版本信息
|
211
219
|
const packagePath = resolve(__dirname, '../package.json');
|
@@ -213,10 +221,20 @@ else if (!command || command === 'start') {
|
|
213
221
|
readFileSync(packagePath, 'utf-8')
|
214
222
|
);
|
215
223
|
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
224
|
+
if (process.env.DEBUG === 'true') {
|
225
|
+
console.log(`📦 版本: v${packageJson.version}`);
|
226
|
+
console.log(`🏠 安装路径: ${resolve(__dirname, '..')}`);
|
227
|
+
console.log(`🔗 NPM包: @yeepay/coderocket-mcp`);
|
228
|
+
console.log(`📚 文档: https://github.com/im47cn/coderocket-mcp`);
|
229
|
+
} else {
|
230
|
+
// 生产模式下只输出简洁的版本信息
|
231
|
+
console.log(`CodeRocket MCP v${packageJson.version} 🚀 - AI 驱动的代码审查服务器`);
|
232
|
+
console.log('');
|
233
|
+
console.log(`📦 版本: v${packageJson.version}`);
|
234
|
+
console.log(`🏠 安装路径: ${resolve(__dirname, '..')}`);
|
235
|
+
console.log(`🔗 NPM包: @yeepay/coderocket-mcp`);
|
236
|
+
console.log(`📚 文档: https://github.com/im47cn/coderocket-mcp`);
|
237
|
+
}
|
220
238
|
|
221
239
|
} catch (error) {
|
222
240
|
console.error('⚠️ 无法读取版本信息:', error.message);
|
package/dist/index.js
CHANGED
@@ -183,12 +183,19 @@ class CodeRocketMCPServer {
|
|
183
183
|
// 预先初始化配置系统
|
184
184
|
const { ConfigManager, CodeRocketService } = await import('./coderocket.js');
|
185
185
|
await ConfigManager.initialize();
|
186
|
-
|
186
|
+
// 在 MCP 服务器模式下,禁用 banner 输出以避免 IDE 误认为启动失败
|
187
|
+
// 只有在 DEBUG 模式下才显示启动信息
|
188
|
+
if (process.env.DEBUG === 'true') {
|
189
|
+
showSuccessBanner('配置系统初始化完成');
|
190
|
+
}
|
187
191
|
// 现在可以安全地初始化 CodeRocketService
|
188
192
|
this.codeRocketService = new CodeRocketService();
|
189
193
|
const transport = new StdioServerTransport();
|
190
194
|
await this.server.connect(transport);
|
191
|
-
|
195
|
+
// 在 MCP 服务器模式下,禁用启动信息输出
|
196
|
+
if (process.env.DEBUG === 'true') {
|
197
|
+
showStartupInfo();
|
198
|
+
}
|
192
199
|
}
|
193
200
|
catch (error) {
|
194
201
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAaD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,KAAK,GAAE,QAAwB,EAAE,OAAO,CAAC,EAAE,MAAM;IAU7D;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIpD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAInD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAInD;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAInE;;OAEG;YACW,GAAG;
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAaD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,KAAK,GAAE,QAAwB,EAAE,OAAO,CAAC,EAAE,MAAM;IAU7D;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIpD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAInD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAInD;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAInE;;OAEG;YACW,GAAG;IAyDjB;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ;CAGzB;AAGD,eAAO,MAAM,MAAM,QAElB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK;IAqBpD;;OAEG;IACH,SAAS,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAC1B,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,GACf,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;IAU7B;;OAEG;IACH,uBAAuB,CACrB,KAAK,EAAE,KAAK,EACZ,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;CAoDF;AAGD,eAAO,MAAM,YAAY,cAA2B,CAAC"}
|
package/dist/logger.js
CHANGED
@@ -63,12 +63,16 @@ export class Logger {
|
|
63
63
|
context,
|
64
64
|
error,
|
65
65
|
};
|
66
|
-
//
|
67
|
-
|
68
|
-
const
|
69
|
-
|
70
|
-
|
71
|
-
|
66
|
+
// 在 MCP 服务器模式下,只有在 DEBUG 模式或 WARN/ERROR 级别时才输出到控制台
|
67
|
+
// 这避免了 IDE 误认为 INFO 级别的日志是错误信息
|
68
|
+
const shouldOutputToConsole = process.env.DEBUG === 'true' || level >= LogLevel.WARN;
|
69
|
+
if (shouldOutputToConsole) {
|
70
|
+
const levelName = LogLevel[level];
|
71
|
+
const contextStr = context ? ` ${JSON.stringify(context)}` : '';
|
72
|
+
const errorStr = error ? ` Error: ${error.message}` : '';
|
73
|
+
// 所有控制台输出都使用 stderr 以避免污染 MCP 协议的 stdout
|
74
|
+
console.error(`[${entry.timestamp}] ${levelName}: ${message}${contextStr}${errorStr}`);
|
75
|
+
}
|
72
76
|
// 写入日志文件
|
73
77
|
if (this.logFile) {
|
74
78
|
try {
|
package/dist/logger.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAS,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAaD;;GAEG;AACH,MAAM,OAAO,MAAM;IACT,QAAQ,CAAW;IACnB,OAAO,CAAU;IAEzB,YAAY,QAAkB,QAAQ,CAAC,IAAI,EAAE,OAAgB;QAC3D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAe,EAAE,OAA6B;QAClD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAe,EAAE,OAA6B;QACjD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAe,EAAE,OAA6B;QACjD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,OAA6B;QACjE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,GAAG,CACf,KAAe,EACf,OAAe,EACf,OAA6B,EAC7B,KAAa;QAEb,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,KAAK;YACL,OAAO;YACP,OAAO;YACP,KAAK;SACN,CAAC;QAEF,+
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
{"result":{"tools":[{"name":"review_code","description":"🔍 **代码片段智能审查工具**\n\n**功能**: 对提供的代码片段进行深度质量分析,提供专业的改进建议和最佳实践指导。\n\n**适用场景**:\n- 代码重构前的质量评估\n- 新功能开发的代码审查\n- 学习和改进编程技能\n- 代码规范性检查\n\n**AI分析维度**:\n- 代码逻辑和算法效率\n- 安全漏洞和潜在风险\n- 可读性和维护性\n- 性能优化建议\n- 最佳实践合规性\n\n**输出格式**: 结构化的审查报告,包含状态评级、摘要和详细分析","inputSchema":{"$ref":"#/definitions/reviewCode","definitions":{"reviewCode":{"type":"object","properties":{"code":{"type":"string","description":"要审查的代码内容"},"language":{"type":"string","description":"代码语言(可选,用于更好的分析)"},"context":{"type":"string","description":"代码上下文信息(可选)"},"ai_service":{"type":"string","enum":["gemini","claudecode"],"description":"指定使用的AI服务(可选)"},"custom_prompt":{"type":"string","description":"自定义审查提示词(可选)"}},"required":["code"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"review_changes","description":"🚀 **Git变更自动审查工具**\n\n**功能**: 自动检测并审查当前Git仓库中所有未提交的代码变更,无需手动传递代码内容。\n\n**适用场景**:\n- 提交前的自动化代码质量检查\n- 开发过程中的实时代码审查\n- CI/CD流程中的质量门禁\n- 团队协作中的代码规范检查\n\n**AI分析维度**:\n- 变更逻辑的合理性和完整性\n- 代码质量和最佳实践遵循\n- 潜在的安全风险和性能问题\n- 与现有代码的一致性检查\n- 测试覆盖和文档更新建议\n\n**自动化特性**:\n- 零参数调用,自动检测Git变更\n- 支持已暂存和未暂存变更的分别审查\n- 智能识别文件类型和编程语言\n- 提供上下文相关的改进建议\n\n**输出格式**: 详细的变更审查报告,包含文件级和整体级分析","inputSchema":{"$ref":"#/definitions/reviewChanges","definitions":{"reviewChanges":{"type":"object","properties":{"repository_path":{"type":"string","description":"Git仓库路径(可选,默认为当前目录)"},"ai_service":{"type":"string","enum":["gemini","claudecode"],"description":"指定使用的AI服务(可选)"},"custom_prompt":{"type":"string","description":"自定义审查提示词(可选)"},"include_staged":{"type":"boolean","default":true,"description":"是否包含已暂存的变更"},"include_unstaged":{"type":"boolean","default":true,"description":"是否包含未暂存的变更"}},"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"review_commit","description":"📝 **Git提交智能审查工具**\n\n**功能**: 分析Git提交的代码变更,评估变更的质量、影响范围和潜在风险。\n\n**适用场景**:\n- 代码合并前的质量把关\n- 提交历史的质量回顾\n- 团队代码审查流程\n- 持续集成质量检查\n\n**AI分析维度**:\n- 变更逻辑的合理性\n- 代码风格一致性\n- 潜在的破坏性变更\n- 测试覆盖率影响\n- 文档更新需求\n\n**输出格式**: 详细的提交审查报告,包含变更摘要和风险评估","inputSchema":{"$ref":"#/definitions/reviewCommit","definitions":{"reviewCommit":{"type":"object","properties":{"commit_hash":{"type":"string","description":"提交哈希(可选,默认为最新提交)"},"repository_path":{"type":"string","description":"Git仓库路径(可选,默认为当前目录)"},"ai_service":{"type":"string","enum":["gemini","claudecode"],"description":"指定使用的AI服务(可选)"},"custom_prompt":{"type":"string","description":"自定义审查提示词(可选)"}},"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"review_files","description":"📁 **多文件批量审查工具**\n\n**功能**: 对指定的多个文件进行批量代码质量审查,提供整体项目质量评估。\n\n**适用场景**:\n- 项目整体质量评估\n- 重构前的现状分析\n- 新团队成员代码熟悉\n- 技术债务识别\n\n**AI分析维度**:\n- 文件间依赖关系分析\n- 架构设计合理性\n- 代码重复度检测\n- 模块化程度评估\n- 整体代码健康度\n\n**输出格式**: 综合性的多文件审查报告,包含文件级和项目级分析","inputSchema":{"$ref":"#/definitions/reviewFiles","definitions":{"reviewFiles":{"type":"object","properties":{"files":{"type":"array","items":{"type":"string"},"description":"要审查的文件路径列表"},"repository_path":{"type":"string","description":"Git仓库路径(可选,默认为当前目录)"},"ai_service":{"type":"string","enum":["gemini","claudecode"],"description":"指定使用的AI服务(可选)"},"custom_prompt":{"type":"string","description":"自定义审查提示词(可选)"}},"required":["files"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"configure_ai_service","description":"⚙️ **AI服务配置管理工具**\n\n**功能**: 配置和管理CodeRocket使用的AI服务,包括API密钥设置、服务选择和参数调优。\n\n**支持的AI服务**:\n- **Gemini**: Google的先进AI模型,擅长代码分析和建议\n- **ClaudeCode**: Anthropic的专业代码审查模型\n\n**配置选项**:\n- API密钥管理(项目级/全局级)\n- 服务优先级设置\n- 超时和重试参数\n- 自动故障转移配置\n\n**安全性**: API密钥加密存储,支持环境变量配置\n\n**输出格式**: 配置操作结果和当前配置状态","inputSchema":{"$ref":"#/definitions/configureAiService","definitions":{"configureAiService":{"type":"object","properties":{"service":{"type":"string","enum":["gemini","claudecode"],"description":"要配置的AI服务"},"scope":{"type":"string","enum":["project","global"],"default":"project","description":"配置范围"},"api_key":{"type":"string","description":"API密钥(可选)"},"language":{"type":"string","description":"AI服务语言设置(如:zh-CN, en-US)"},"timeout":{"type":"number","description":"超时时间(秒)"},"max_retries":{"type":"number","description":"最大重试次数"}},"required":["service"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_ai_service_status","description":"📊 **AI服务状态监控工具**\n\n**功能**: 获取所有已配置AI服务的实时状态信息,包括可用性、配置状态和性能指标。\n\n**监控信息**:\n- 服务连接状态\n- API配额使用情况\n- 响应时间统计\n- 错误率监控\n- 配置完整性检查\n\n**故障诊断**:\n- 自动检测配置问题\n- 提供修复建议\n- 显示详细错误信息\n\n**输出格式**: 完整的服务状态报告,包含所有服务的健康状况","inputSchema":{"$ref":"#/definitions/getAiServiceStatus","definitions":{"getAiServiceStatus":{"type":"object","properties":{},"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"}}]},"jsonrpc":"2.0","id":1}
|
@@ -1,58 +0,0 @@
|
|
1
|
-
# Code Review Report for Commit `0f82c90f`
|
2
|
-
|
3
|
-
**Commit Author:** im47cn <dremabt@gmail.com>
|
4
|
-
**Commit Date:** Fri Aug 1 20:07:50 2025 +0800
|
5
|
-
**Commit Message:**
|
6
|
-
```
|
7
|
-
fix: 修复Logger输出到stdout的问题
|
8
|
-
|
9
|
-
- 将Logger的所有输出改为stderr,避免污染MCP协议的stdout
|
10
|
-
- 确保stdout只包含JSON-RPC协议消息
|
11
|
-
- 完全解决MCP Client无法正常启动的问题
|
12
|
-
```
|
13
|
-
|
14
|
-
---
|
15
|
-
|
16
|
-
## 审查摘要 (Review Summary)
|
17
|
-
|
18
|
-
这是一个高质量的修复提交。变更目标明确,成功地将所有日志输出重定向到 `stderr`,解决了因日志污染 `stdout` 而导致的 MCP 客户端启动失败的核心问题。代码修改简洁、注释清晰,并且提交包含了测试输出的验证结果,整体质量很高。
|
19
|
-
|
20
|
-
**评级: A (优秀)**
|
21
|
-
|
22
|
-
---
|
23
|
-
|
24
|
-
## 详细分析 (Detailed Analysis)
|
25
|
-
|
26
|
-
### 1. `src/logger.ts`
|
27
|
-
|
28
|
-
- **变更内容**: 将原先根据日志级别(`WARN` 及以上到 `console.error`,其他到 `console.log`)的逻辑,统一修改为所有级别的日志均使用 `console.error` 输出。
|
29
|
-
- **优点**:
|
30
|
-
- **问题解决**: 此项改动从根本上解决了问题。在 MCP 协议中,`stdout` 被用作标准的数据传输通道,必须保持“干净”,只包含 JSON-RPC 消息。将所有非协议日志(如启动信息、调试信息、错误信息)输出到 `stderr` 是正确的做法。
|
31
|
-
- **代码清晰**: 删除了条件判断逻辑,使代码更简单、意图更明确。
|
32
|
-
- **注释优秀**: 开发者同步更新了代码注释,明确解释了“所有日志都输出到 stderr 以避免污染 MCP 协议的 stdout”的原因,这对于后续维护者非常有帮助。
|
33
|
-
|
34
|
-
### 2. `package.json`
|
35
|
-
|
36
|
-
- **变更内容**: 版本号从 `1.2.8` 升级到 `1.2.9`。
|
37
|
-
- **评价**: 这是一个 `patch` 版本的升级,完全符合 `semver` 规范对于向后兼容的 bug 修复的定义。操作正确。
|
38
|
-
|
39
|
-
### 3. 测试输出文件 (`stderr.txt`, `stdout.txt`, etc.)
|
40
|
-
|
41
|
-
- **变更内容**: 新增和更新了用于记录标准输出和标准错误输出的文本文件。
|
42
|
-
- **评价**:
|
43
|
-
- **有效验证**: 这些文件是本次修复有效性的直接证据。可以看到 `stdout.txt` 和 `stdout_test.txt` 中只包含了纯净的 JSON-RPC 消息,而 `stderr.txt` 和 `stderr_test.txt` 则包含了所有之前会污染 `stdout` 的日志信息。
|
44
|
-
- **良好实践**: 将测试的输出结果包含在提交中(尤其是在这种场景下),是一种非常好的实践,它让审查者可以直观地看到变更带来的效果。
|
45
|
-
|
46
|
-
---
|
47
|
-
|
48
|
-
## 结论与建议 (Conclusion & Recommendations)
|
49
|
-
|
50
|
-
此次提交堪称一次小而美的修复典范。
|
51
|
-
|
52
|
-
- **优点**:
|
53
|
-
- **目标明确**: 准确地定位并修复了一个关键问题。
|
54
|
-
- **实现优雅**: 用最小的改动解决了问题。
|
55
|
-
- **验证充分**: 提供了清晰的验证结果。
|
56
|
-
- **文档清晰**: 提交信息和代码注释都非常到位。
|
57
|
-
|
58
|
-
**建议**: 无。此提交无需任何修改,可以直接合入。
|
@@ -1,43 +0,0 @@
|
|
1
|
-
### 代码审查报告
|
2
|
-
|
3
|
-
**Commit:** `9a2e75ce87c6b4ea357f381e46b3db5da9c1d409`
|
4
|
-
**作者:** im47cn
|
5
|
-
**日期:** 2025-08-01
|
6
|
-
|
7
|
-
**摘要:**
|
8
|
-
该提交旨在修复日志记录器(Logger)将输出写入 `stdout` 的问题。为了确保 `stdout` 只用于 MCP (Model Context Protocol) 的 JSON-RPC 消息,所有日志输出都被重定向到了 `stderr`。此更改还包括 `package.json` 中版本号的提升。
|
9
|
-
|
10
|
-
---
|
11
|
-
|
12
|
-
#### 审查详情
|
13
|
-
|
14
|
-
**1. 变更分析:**
|
15
|
-
|
16
|
-
* **`package.json`**:
|
17
|
-
* 版本从 `1.2.8` 更新为 `1.2.9`。
|
18
|
-
* **评估**: 合理。版本提升符合 `fix` 类型提交的语义。
|
19
|
-
|
20
|
-
* **`src/logger.ts`**:
|
21
|
-
* 移除了根据日志级别(`LogLevel`)选择 `console.log` 或 `console.error` 的逻辑。
|
22
|
-
* 所有日志现在统一使用 `console.error` 输出。
|
23
|
-
* **评估**: 正确且必要。根据提交信息,`stdout` 被用于协议通信,因此任何日志记录都可能污染输出流,导致客户端解析失败。将所有日志(包括 `INFO` 和 `DEBUG` 级别)重定向到 `stderr` 是解决此问题的标准做法。这大大增强了工具的稳定性和互操作性。
|
24
|
-
|
25
|
-
**2. `CRUSH.md` 指南遵从情况:**
|
26
|
-
|
27
|
-
* **代码风格与格式化**: 变更部分的代码风格与项目现有风格保持一致。
|
28
|
-
* **错误处理**: 此更改是对日志记录和错误处理机制的改进,完全符合 `CRUSH.md` 中关于健壮错误处理的要求。
|
29
|
-
* **总体原则**: 变更目标明确,代码修改范围小,精准地解决了一个关键问题,符合“保持函数小而专注”的原则。
|
30
|
-
|
31
|
-
**3. 结论:**
|
32
|
-
|
33
|
-
这是一个高质量的修复。
|
34
|
-
|
35
|
-
* **清晰度**: 提交信息清晰地解释了问题的原因和解决方案。
|
36
|
-
* **正确性**: 代码变更直接有效地解决了所述问题。
|
37
|
-
* **最佳实践**: 将应用程序日志与标准数据输出分离(`stderr` vs `stdout`)是命令行工具和后台服务的最佳实践,尤其是在需要进行进程间通信(IPC)的场景下。
|
38
|
-
|
39
|
-
**总体评价: :+1: 批准**
|
40
|
-
|
41
|
-
此提交解决了 MCP 客户端集成的关键障碍,代码质量高,建议合并。
|
42
|
-
|
43
|
-
---
|