mcp-probe-kit 1.15.0 → 2.0.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/README.md +113 -1642
- package/build/index.js +75 -42
- package/build/lib/elicitation-helper.d.ts +73 -0
- package/build/lib/elicitation-helper.js +130 -0
- package/build/lib/response.d.ts +32 -0
- package/build/lib/response.js +28 -0
- package/build/lib/tasks-manager.d.ts +116 -0
- package/build/lib/tasks-manager.js +217 -0
- package/build/lib/toolset-manager.d.ts +48 -0
- package/build/lib/toolset-manager.js +112 -0
- package/build/schemas/basic-tools.d.ts +0 -32
- package/build/schemas/basic-tools.js +0 -34
- package/build/schemas/code-analysis-tools.d.ts +0 -36
- package/build/schemas/code-analysis-tools.js +0 -38
- package/build/schemas/code-gen-tools.d.ts +0 -44
- package/build/schemas/code-gen-tools.js +0 -46
- package/build/schemas/doc-util-tools.d.ts +0 -54
- package/build/schemas/doc-util-tools.js +0 -58
- package/build/schemas/index.d.ts +0 -188
- package/build/schemas/orchestration-tools.d.ts +0 -22
- package/build/schemas/orchestration-tools.js +0 -23
- package/build/schemas/output/core-tools.d.ts +817 -0
- package/build/schemas/output/core-tools.js +421 -0
- package/build/schemas/output/generation-tools.d.ts +936 -0
- package/build/schemas/output/generation-tools.js +446 -0
- package/build/schemas/output/helper-tools.d.ts +243 -0
- package/build/schemas/output/helper-tools.js +138 -0
- package/build/schemas/output/index.d.ts +76 -0
- package/build/schemas/output/index.js +96 -0
- package/build/schemas/output/project-tools.d.ts +702 -0
- package/build/schemas/output/project-tools.js +339 -0
- package/build/schemas/output/ui-ux-tools.d.ts +469 -0
- package/build/schemas/output/ui-ux-tools.js +218 -0
- package/build/schemas/output/workflow-tools.d.ts +267 -0
- package/build/schemas/output/workflow-tools.js +179 -0
- package/build/schemas/structured-output.d.ts +1317 -0
- package/build/schemas/structured-output.js +1017 -0
- package/build/tools/__tests__/start_ui.integration.test.js +5 -5
- package/build/tools/__tests__/start_ui.property.test.js +11 -11
- package/build/tools/add_feature.d.ts +1 -13
- package/build/tools/add_feature.js +48 -13
- package/build/tools/analyze_project.js +57 -18
- package/build/tools/check_deps.d.ts +1 -13
- package/build/tools/check_deps.js +24 -15
- package/build/tools/code_review.d.ts +1 -13
- package/build/tools/code_review.js +19 -16
- package/build/tools/css_order.js +55 -55
- package/build/tools/debug.d.ts +1 -13
- package/build/tools/debug.js +18 -16
- package/build/tools/estimate.d.ts +1 -19
- package/build/tools/estimate.js +36 -6
- package/build/tools/fix_bug.d.ts +1 -13
- package/build/tools/fix_bug.js +24 -6
- package/build/tools/gen_mock.d.ts +1 -19
- package/build/tools/gen_mock.js +42 -227
- package/build/tools/genapi.d.ts +1 -13
- package/build/tools/genapi.js +18 -15
- package/build/tools/genchangelog.d.ts +1 -13
- package/build/tools/genchangelog.js +36 -212
- package/build/tools/gencommit.d.ts +1 -7
- package/build/tools/gencommit.js +21 -13
- package/build/tools/gendoc.d.ts +1 -13
- package/build/tools/gendoc.js +18 -15
- package/build/tools/genpr.d.ts +1 -13
- package/build/tools/genpr.js +28 -157
- package/build/tools/genreadme.d.ts +1 -13
- package/build/tools/genreadme.js +22 -587
- package/build/tools/gensql.d.ts +1 -13
- package/build/tools/gensql.js +24 -283
- package/build/tools/gentest.d.ts +1 -13
- package/build/tools/gentest.js +49 -16
- package/build/tools/index.d.ts +0 -10
- package/build/tools/index.js +0 -10
- package/build/tools/init_component_catalog.d.ts +3 -20
- package/build/tools/init_component_catalog.js +141 -786
- package/build/tools/init_project.d.ts +7 -13
- package/build/tools/init_project.js +54 -16
- package/build/tools/init_project_context.d.ts +1 -13
- package/build/tools/init_project_context.js +41 -14
- package/build/tools/perf.d.ts +1 -13
- package/build/tools/perf.js +18 -15
- package/build/tools/refactor.d.ts +1 -13
- package/build/tools/refactor.js +54 -15
- package/build/tools/render_ui.d.ts +2 -19
- package/build/tools/render_ui.js +201 -347
- package/build/tools/resolve_conflict.d.ts +1 -13
- package/build/tools/resolve_conflict.js +18 -15
- package/build/tools/security_scan.d.ts +1 -13
- package/build/tools/security_scan.js +16 -5
- package/build/tools/start_api.d.ts +7 -13
- package/build/tools/start_api.js +69 -157
- package/build/tools/start_bugfix.d.ts +1 -7
- package/build/tools/start_bugfix.js +38 -2
- package/build/tools/start_doc.d.ts +7 -13
- package/build/tools/start_doc.js +76 -169
- package/build/tools/start_feature.d.ts +1 -7
- package/build/tools/start_feature.js +54 -2
- package/build/tools/start_onboard.d.ts +1 -7
- package/build/tools/start_onboard.js +40 -2
- package/build/tools/start_ralph.d.ts +1 -7
- package/build/tools/start_ralph.js +88 -2
- package/build/tools/start_refactor.d.ts +7 -13
- package/build/tools/start_refactor.js +75 -148
- package/build/tools/start_release.d.ts +7 -13
- package/build/tools/start_release.js +56 -131
- package/build/tools/start_review.d.ts +7 -13
- package/build/tools/start_review.js +70 -142
- package/build/tools/start_ui.d.ts +1 -7
- package/build/tools/start_ui.js +98 -8
- package/build/tools/ui-ux-tools.d.ts +3 -39
- package/build/tools/ui-ux-tools.js +201 -125
- package/docs/data/tools.js +864 -0
- package/docs/index.html +594 -0
- package/docs/pages/all-tools.html +649 -0
- package/docs/pages/examples.html +564 -0
- package/docs/pages/getting-started.html +529 -0
- package/docs/pages/migration.html +308 -0
- package/docs/specs/algorithm-enhancement/roadmap.md +619 -0
- package/docs/specs/vnext-upgrade/00-OVERVIEW.md +258 -0
- package/docs/specs/vnext-upgrade/BETA_RELEASE_GUIDE.md +328 -0
- package/docs/specs/vnext-upgrade/GITHUB_DISCUSSION_TEMPLATE.md +236 -0
- package/docs/specs/vnext-upgrade/M8.9-PROGRESS-UPDATE.md +248 -0
- package/docs/specs/vnext-upgrade/PROGRESS-SUMMARY.md +195 -0
- package/docs/specs/vnext-upgrade/QUICK_REFERENCE.md +338 -0
- package/docs/specs/vnext-upgrade/README.md +125 -0
- package/docs/specs/vnext-upgrade/STATUS-UPDATE-2026-01-26.md +230 -0
- package/docs/specs/vnext-upgrade/TOOL_CLEANUP.md +343 -0
- package/docs/specs/vnext-upgrade/completed/M1-M2-SUMMARY.md +27 -0
- package/docs/specs/vnext-upgrade/completed/M3_COMPLETION_SUMMARY.md +273 -0
- package/docs/specs/vnext-upgrade/completed/M4-SUMMARY.md +19 -0
- package/docs/specs/vnext-upgrade/completed/M5_COMPLETION_SUMMARY.md +0 -0
- package/docs/specs/vnext-upgrade/completed/M8.1-SUMMARY.md +247 -0
- package/docs/specs/vnext-upgrade/completed/M8.2-SUMMARY.md +296 -0
- package/docs/specs/vnext-upgrade/completed/M8.3-SUMMARY.md +241 -0
- package/docs/specs/vnext-upgrade/completed/M8.3-TEST-SUMMARY.md +216 -0
- package/docs/specs/vnext-upgrade/completed/M8.4-SUMMARY.md +217 -0
- package/docs/specs/vnext-upgrade/completed/M8.4-TEST-SUMMARY.md +198 -0
- package/docs/specs/vnext-upgrade/completed/M8.5-SUMMARY.md +202 -0
- package/docs/specs/vnext-upgrade/completed/M8.5-TEST-SUMMARY.md +223 -0
- package/docs/specs/vnext-upgrade/completed/M8.6-SUMMARY.md +299 -0
- package/docs/specs/vnext-upgrade/completed/M8.8-TEST-SUMMARY.md +216 -0
- package/docs/specs/vnext-upgrade/completed/TOOL-CLEANUP-SUMMARY.md +210 -0
- package/docs/specs/vnext-upgrade/design.md +848 -0
- package/docs/specs/vnext-upgrade/requirements.md +221 -0
- package/docs/specs/vnext-upgrade/tasks/00-INDEX.md +335 -0
- package/docs/specs/vnext-upgrade/tasks/M8.1-SCHEMA-DEFINITION.md +300 -0
- package/docs/specs/vnext-upgrade/tasks/M8.2-P1-TOOLS.md +249 -0
- package/docs/specs/vnext-upgrade/tasks/M8.3-GENERATION-TOOLS.md +49 -0
- package/docs/specs/vnext-upgrade/tasks/M8.4-ORCHESTRATION-TOOLS.md +28 -0
- package/docs/specs/vnext-upgrade/tasks/M8.5-PROJECT-TOOLS.md +29 -0
- package/docs/specs/vnext-upgrade/tasks/M8.6-UI-TOOLS.md +66 -0
- package/docs/specs/vnext-upgrade/tasks/M8.7-HELPER-TOOLS.md +24 -0
- package/docs/specs/vnext-upgrade/tasks/M8.8-INTEGRATION-TESTS.md +90 -0
- package/docs/specs/vnext-upgrade/tasks/M8.9-DOCUMENTATION.md +103 -0
- package/docs/styles/docs.css +556 -0
- package/docs/styles/page.css +815 -0
- package/docs/vnext/MCP_2025-11-25_GUIDE.md +276 -0
- package/docs/vnext/vNext-PRD.md +488 -0
- package/package.json +4 -4
- package/build/utils/design-docs-generator.d.ts +0 -1
- package/build/utils/design-docs-generator.js +0 -1
- package/docs/BEST_PRACTICES.md +0 -1185
- package/docs/HOW_TO_TRIGGER.md +0 -1141
- package/docs/MCP-Probe-Kit-/344/275/277/347/224/250/346/211/213/345/206/214.html +0 -544
- package/docs/MCP-Probe-Kit-/344/275/277/347/224/250/346/211/213/345/206/214.md +0 -1447
|
@@ -1,131 +1,11 @@
|
|
|
1
1
|
import { parseArgs, getString } from "../utils/parseArgs.js";
|
|
2
|
+
import { okStructured } from "../lib/response.js";
|
|
2
3
|
/**
|
|
3
4
|
* start_release 智能编排工具
|
|
4
5
|
*
|
|
5
6
|
* 场景:发布准备
|
|
6
7
|
* 编排:[检查上下文] → genchangelog → genpr
|
|
7
8
|
*/
|
|
8
|
-
const PROMPT_TEMPLATE = `# 📦 发布准备编排指南
|
|
9
|
-
|
|
10
|
-
## 🎯 目标
|
|
11
|
-
|
|
12
|
-
准备发布版本:**{version}**
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## 📋 步骤 0: 项目上下文(自动处理)
|
|
17
|
-
|
|
18
|
-
**操作**:
|
|
19
|
-
1. 检查 \`docs/project-context.md\` 是否存在
|
|
20
|
-
2. **如果不存在**:
|
|
21
|
-
- 调用 \`init_project_context\` 工具
|
|
22
|
-
- 等待生成完成
|
|
23
|
-
3. **读取** \`docs/project-context.md\` 内容
|
|
24
|
-
4. 了解项目的版本管理方式、发布流程
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## 📝 步骤 1: 生成 Changelog
|
|
29
|
-
|
|
30
|
-
**调用工具**: \`genchangelog\`
|
|
31
|
-
|
|
32
|
-
**参数**:
|
|
33
|
-
\`\`\`json
|
|
34
|
-
{
|
|
35
|
-
"version": "{version}",
|
|
36
|
-
"from": "{from_tag}",
|
|
37
|
-
"to": "HEAD"
|
|
38
|
-
}
|
|
39
|
-
\`\`\`
|
|
40
|
-
|
|
41
|
-
**执行要点**:
|
|
42
|
-
1. 分析从上个版本到现在的所有 commit
|
|
43
|
-
2. 按类型分类(feat/fix/docs/refactor 等)
|
|
44
|
-
3. 生成结构化的变更日志
|
|
45
|
-
|
|
46
|
-
**产出**: CHANGELOG.md 内容
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## 📋 步骤 2: 生成 PR 描述
|
|
51
|
-
|
|
52
|
-
**调用工具**: \`genpr\`
|
|
53
|
-
|
|
54
|
-
**参数**:
|
|
55
|
-
\`\`\`json
|
|
56
|
-
{
|
|
57
|
-
"branch": "{branch}",
|
|
58
|
-
"commits": "[从 genchangelog 获取的 commit 信息]"
|
|
59
|
-
}
|
|
60
|
-
\`\`\`
|
|
61
|
-
|
|
62
|
-
**执行要点**:
|
|
63
|
-
1. 总结本次发布的主要变更
|
|
64
|
-
2. 列出新功能、Bug 修复、破坏性变更
|
|
65
|
-
3. 生成规范的 PR 描述
|
|
66
|
-
|
|
67
|
-
**产出**: PR 描述
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## ✅ 完成检查
|
|
72
|
-
|
|
73
|
-
- [ ] 项目上下文已读取
|
|
74
|
-
- [ ] Changelog 已生成
|
|
75
|
-
- [ ] PR 描述已生成
|
|
76
|
-
- [ ] 版本号已确认
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## 📝 输出汇总
|
|
81
|
-
|
|
82
|
-
完成后,向用户提供:
|
|
83
|
-
|
|
84
|
-
### 1. CHANGELOG 内容
|
|
85
|
-
|
|
86
|
-
\`\`\`markdown
|
|
87
|
-
## [{version}] - {date}
|
|
88
|
-
|
|
89
|
-
### ✨ 新功能
|
|
90
|
-
- ...
|
|
91
|
-
|
|
92
|
-
### 🐛 Bug 修复
|
|
93
|
-
- ...
|
|
94
|
-
|
|
95
|
-
### 📝 文档
|
|
96
|
-
- ...
|
|
97
|
-
|
|
98
|
-
### ♻️ 重构
|
|
99
|
-
- ...
|
|
100
|
-
\`\`\`
|
|
101
|
-
|
|
102
|
-
### 2. PR 描述
|
|
103
|
-
|
|
104
|
-
\`\`\`markdown
|
|
105
|
-
## 发布 {version}
|
|
106
|
-
|
|
107
|
-
### 变更摘要
|
|
108
|
-
...
|
|
109
|
-
|
|
110
|
-
### 详细变更
|
|
111
|
-
...
|
|
112
|
-
|
|
113
|
-
### 测试情况
|
|
114
|
-
...
|
|
115
|
-
\`\`\`
|
|
116
|
-
|
|
117
|
-
### 3. 发布检查清单
|
|
118
|
-
|
|
119
|
-
- [ ] 版本号已更新(package.json 等)
|
|
120
|
-
- [ ] CHANGELOG.md 已更新
|
|
121
|
-
- [ ] 测试全部通过
|
|
122
|
-
- [ ] 文档已更新
|
|
123
|
-
- [ ] PR 已创建
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
*编排工具: MCP Probe Kit - start_release*
|
|
128
|
-
`;
|
|
129
9
|
export async function startRelease(args) {
|
|
130
10
|
try {
|
|
131
11
|
// 智能参数解析,支持自然语言输入
|
|
@@ -148,20 +28,65 @@ export async function startRelease(args) {
|
|
|
148
28
|
if (!version) {
|
|
149
29
|
throw new Error("缺少必填参数: version(版本号,如 v1.2.0)");
|
|
150
30
|
}
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
31
|
+
const message = `# 📦 发布准备编排
|
|
32
|
+
|
|
33
|
+
准备发布版本:**${version}**
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 📋 执行步骤
|
|
38
|
+
|
|
39
|
+
### 步骤 1: 生成 Changelog
|
|
40
|
+
调用 \`genchangelog\` 工具,分析从 ${fromTag} 到现在的所有 commit,按类型分类生成变更日志。
|
|
41
|
+
|
|
42
|
+
### 步骤 2: 生成 PR 描述
|
|
43
|
+
调用 \`genpr\` 工具,总结本次发布的主要变更,生成规范的 PR 描述。
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 📝 输出内容
|
|
48
|
+
|
|
49
|
+
完成后,提供:
|
|
50
|
+
1. CHANGELOG.md 内容
|
|
51
|
+
2. PR 描述
|
|
52
|
+
3. 发布检查清单
|
|
53
|
+
|
|
54
|
+
**重要**: 请使用结构化输出格式返回结果。`;
|
|
55
|
+
// 创建结构化数据对象
|
|
56
|
+
const structuredData = {
|
|
57
|
+
summary: `发布 ${version} 准备`,
|
|
58
|
+
status: "pending",
|
|
59
|
+
steps: [
|
|
60
|
+
{
|
|
61
|
+
name: "genchangelog",
|
|
62
|
+
description: "生成 Changelog",
|
|
63
|
+
status: "pending",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "genpr",
|
|
67
|
+
description: "生成 PR 描述",
|
|
68
|
+
status: "pending",
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
version: version,
|
|
72
|
+
changelog: {}, // AI 将填充实际的 Changelog
|
|
158
73
|
};
|
|
74
|
+
return okStructured(message, structuredData, {
|
|
75
|
+
schema: (await import("../schemas/output/workflow-tools.js")).ReleaseWorkflowSchema,
|
|
76
|
+
});
|
|
159
77
|
}
|
|
160
78
|
catch (error) {
|
|
161
79
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
80
|
+
const errorData = {
|
|
81
|
+
summary: "发布准备失败",
|
|
82
|
+
status: "failed",
|
|
83
|
+
steps: [],
|
|
84
|
+
version: "",
|
|
85
|
+
changelog: {},
|
|
86
|
+
warnings: [errorMsg],
|
|
165
87
|
};
|
|
88
|
+
return okStructured(`❌ 编排执行失败: ${errorMsg}`, errorData, {
|
|
89
|
+
schema: (await import("../schemas/output/workflow-tools.js")).ReleaseWorkflowSchema,
|
|
90
|
+
});
|
|
166
91
|
}
|
|
167
92
|
}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
content: {
|
|
9
|
-
type: string;
|
|
10
|
-
text: string;
|
|
11
|
-
}[];
|
|
12
|
-
isError: boolean;
|
|
13
|
-
}>;
|
|
1
|
+
/**
|
|
2
|
+
* start_review 智能编排工具
|
|
3
|
+
*
|
|
4
|
+
* 场景:代码体检
|
|
5
|
+
* 编排:[检查上下文] → code_review → security_scan → perf
|
|
6
|
+
*/
|
|
7
|
+
export declare function startReview(args: any): Promise<import("../lib/response.js").ToolResponse>;
|
|
@@ -1,144 +1,11 @@
|
|
|
1
1
|
import { parseArgs, getString } from "../utils/parseArgs.js";
|
|
2
|
+
import { okStructured } from "../lib/response.js";
|
|
2
3
|
/**
|
|
3
4
|
* start_review 智能编排工具
|
|
4
5
|
*
|
|
5
6
|
* 场景:代码体检
|
|
6
7
|
* 编排:[检查上下文] → code_review → security_scan → perf
|
|
7
8
|
*/
|
|
8
|
-
const PROMPT_TEMPLATE = `# 🔍 代码体检编排指南
|
|
9
|
-
|
|
10
|
-
## 🎯 目标
|
|
11
|
-
|
|
12
|
-
对以下代码进行全面体检:
|
|
13
|
-
|
|
14
|
-
\`\`\`{language}
|
|
15
|
-
{code}
|
|
16
|
-
\`\`\`
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## 📋 步骤 0: 项目上下文(自动处理)
|
|
21
|
-
|
|
22
|
-
**操作**:
|
|
23
|
-
1. 检查 \`docs/project-context.md\` 是否存在
|
|
24
|
-
2. **如果不存在**:
|
|
25
|
-
- 调用 \`init_project_context\` 工具
|
|
26
|
-
- 等待生成完成
|
|
27
|
-
3. **读取** \`docs/project-context.md\` 内容
|
|
28
|
-
4. 了解项目的编码规范、技术栈
|
|
29
|
-
5. 后续审查要参考项目规范
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## 📝 步骤 1: 代码质量审查
|
|
34
|
-
|
|
35
|
-
**调用工具**: \`code_review\`
|
|
36
|
-
|
|
37
|
-
**参数**:
|
|
38
|
-
\`\`\`json
|
|
39
|
-
{
|
|
40
|
-
"code": "[待审查代码]",
|
|
41
|
-
"focus": "quality"
|
|
42
|
-
}
|
|
43
|
-
\`\`\`
|
|
44
|
-
|
|
45
|
-
**审查要点**:
|
|
46
|
-
- 代码可读性
|
|
47
|
-
- 命名规范
|
|
48
|
-
- 代码结构
|
|
49
|
-
- 最佳实践
|
|
50
|
-
- 潜在 Bug
|
|
51
|
-
|
|
52
|
-
**产出**: 质量问题清单
|
|
53
|
-
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
## 🔒 步骤 2: 安全漏洞扫描
|
|
57
|
-
|
|
58
|
-
**调用工具**: \`security_scan\`
|
|
59
|
-
|
|
60
|
-
**参数**:
|
|
61
|
-
\`\`\`json
|
|
62
|
-
{
|
|
63
|
-
"code": "[待审查代码]",
|
|
64
|
-
"scan_type": "all"
|
|
65
|
-
}
|
|
66
|
-
\`\`\`
|
|
67
|
-
|
|
68
|
-
**扫描要点**:
|
|
69
|
-
- 注入漏洞(SQL/XSS/命令注入)
|
|
70
|
-
- 认证授权问题
|
|
71
|
-
- 加密安全
|
|
72
|
-
- 敏感数据泄露
|
|
73
|
-
|
|
74
|
-
**产出**: 安全漏洞报告
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## ⚡ 步骤 3: 性能分析
|
|
79
|
-
|
|
80
|
-
**调用工具**: \`perf\`
|
|
81
|
-
|
|
82
|
-
**参数**:
|
|
83
|
-
\`\`\`json
|
|
84
|
-
{
|
|
85
|
-
"code": "[待审查代码]",
|
|
86
|
-
"type": "all"
|
|
87
|
-
}
|
|
88
|
-
\`\`\`
|
|
89
|
-
|
|
90
|
-
**分析要点**:
|
|
91
|
-
- 算法复杂度
|
|
92
|
-
- 内存使用
|
|
93
|
-
- 数据库查询
|
|
94
|
-
- 渲染性能(如适用)
|
|
95
|
-
|
|
96
|
-
**产出**: 性能优化建议
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## ✅ 完成检查
|
|
101
|
-
|
|
102
|
-
- [ ] 项目上下文已读取
|
|
103
|
-
- [ ] 代码质量已审查
|
|
104
|
-
- [ ] 安全漏洞已扫描
|
|
105
|
-
- [ ] 性能已分析
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
## 📊 综合报告模板
|
|
110
|
-
|
|
111
|
-
完成后,生成综合报告:
|
|
112
|
-
|
|
113
|
-
### 代码体检报告
|
|
114
|
-
|
|
115
|
-
#### 📈 总体评分
|
|
116
|
-
|
|
117
|
-
| 维度 | 评分 | 问题数 |
|
|
118
|
-
|------|------|--------|
|
|
119
|
-
| 代码质量 | ?/10 | X 个 |
|
|
120
|
-
| 安全性 | ?/10 | X 个 |
|
|
121
|
-
| 性能 | ?/10 | X 个 |
|
|
122
|
-
| **综合** | ?/10 | |
|
|
123
|
-
|
|
124
|
-
#### 🔴 严重问题(需立即修复)
|
|
125
|
-
[列出严重问题]
|
|
126
|
-
|
|
127
|
-
#### 🟡 一般问题(建议修复)
|
|
128
|
-
[列出一般问题]
|
|
129
|
-
|
|
130
|
-
#### 🟢 优化建议
|
|
131
|
-
[列出优化建议]
|
|
132
|
-
|
|
133
|
-
#### 📋 修复优先级
|
|
134
|
-
1. [最高优先级问题]
|
|
135
|
-
2. [次优先级问题]
|
|
136
|
-
...
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
*编排工具: MCP Probe Kit - start_review*
|
|
141
|
-
`;
|
|
142
9
|
export async function startReview(args) {
|
|
143
10
|
try {
|
|
144
11
|
// 智能参数解析,支持自然语言输入
|
|
@@ -158,18 +25,79 @@ export async function startReview(args) {
|
|
|
158
25
|
if (!code) {
|
|
159
26
|
throw new Error("缺少必填参数: code(需要审查的代码)");
|
|
160
27
|
}
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
28
|
+
const message = `# 🔍 代码体检编排
|
|
29
|
+
|
|
30
|
+
对以下代码进行全面体检:
|
|
31
|
+
|
|
32
|
+
\`\`\`${language}
|
|
33
|
+
${code}
|
|
34
|
+
\`\`\`
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 📋 执行步骤
|
|
39
|
+
|
|
40
|
+
### 步骤 1: 代码质量审查
|
|
41
|
+
调用 \`code_review\` 工具,审查代码可读性、命名规范、代码结构、最佳实践和潜在 Bug。
|
|
42
|
+
|
|
43
|
+
### 步骤 2: 安全漏洞扫描
|
|
44
|
+
调用 \`security_scan\` 工具,扫描注入漏洞、认证授权问题、加密安全和敏感数据泄露。
|
|
45
|
+
|
|
46
|
+
### 步骤 3: 性能分析
|
|
47
|
+
调用 \`perf\` 工具,分析算法复杂度、内存使用、数据库查询和渲染性能。
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 📊 综合报告
|
|
52
|
+
|
|
53
|
+
完成后,生成包含以下内容的综合报告:
|
|
54
|
+
- 总体评分(代码质量、安全性、性能)
|
|
55
|
+
- 严重问题清单(需立即修复)
|
|
56
|
+
- 一般问题清单(建议修复)
|
|
57
|
+
- 优化建议
|
|
58
|
+
- 修复优先级
|
|
59
|
+
|
|
60
|
+
**重要**: 请使用结构化输出格式返回结果。`;
|
|
61
|
+
// 创建结构化数据对象
|
|
62
|
+
const structuredData = {
|
|
63
|
+
summary: "代码体检编排",
|
|
64
|
+
status: "pending",
|
|
65
|
+
steps: [
|
|
66
|
+
{
|
|
67
|
+
name: "code_review",
|
|
68
|
+
description: "代码质量审查",
|
|
69
|
+
status: "pending",
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name: "security_scan",
|
|
73
|
+
description: "安全漏洞扫描",
|
|
74
|
+
status: "pending",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: "perf",
|
|
78
|
+
description: "性能分析",
|
|
79
|
+
status: "pending",
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
reviewResults: {},
|
|
83
|
+
overallScore: 0, // AI 将填充实际评分
|
|
166
84
|
};
|
|
85
|
+
return okStructured(message, structuredData, {
|
|
86
|
+
schema: (await import("../schemas/output/workflow-tools.js")).ReviewWorkflowSchema,
|
|
87
|
+
});
|
|
167
88
|
}
|
|
168
89
|
catch (error) {
|
|
169
90
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
91
|
+
const errorData = {
|
|
92
|
+
summary: "代码体检失败",
|
|
93
|
+
status: "failed",
|
|
94
|
+
steps: [],
|
|
95
|
+
reviewResults: {},
|
|
96
|
+
overallScore: 0,
|
|
97
|
+
warnings: [errorMsg],
|
|
173
98
|
};
|
|
99
|
+
return okStructured(`❌ 编排执行失败: ${errorMsg}`, errorData, {
|
|
100
|
+
schema: (await import("../schemas/output/workflow-tools.js")).ReviewWorkflowSchema,
|
|
101
|
+
});
|
|
174
102
|
}
|
|
175
103
|
}
|
|
@@ -10,16 +10,10 @@
|
|
|
10
10
|
/**
|
|
11
11
|
* 统一 UI 开发编排工具
|
|
12
12
|
*/
|
|
13
|
-
export declare function startUi(args: any): Promise<{
|
|
13
|
+
export declare function startUi(args: any): Promise<import("../lib/response.js").ToolResponse | {
|
|
14
14
|
content: {
|
|
15
15
|
type: string;
|
|
16
16
|
text: string;
|
|
17
17
|
}[];
|
|
18
18
|
isError: boolean;
|
|
19
|
-
} | {
|
|
20
|
-
content: {
|
|
21
|
-
type: string;
|
|
22
|
-
text: string;
|
|
23
|
-
}[];
|
|
24
|
-
isError?: undefined;
|
|
25
19
|
}>;
|
package/build/tools/start_ui.js
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { parseArgs, getString } from "../utils/parseArgs.js";
|
|
11
11
|
import { getReasoningEngine } from "./ui-ux-tools.js";
|
|
12
|
+
import { okStructured } from "../lib/response.js";
|
|
13
|
+
import { UIReportSchema } from "../schemas/structured-output.js";
|
|
12
14
|
const PROMPT_TEMPLATE = `# 快速开始
|
|
13
15
|
|
|
14
16
|
**职责说明**: 本工具仅提供执行指导,不执行实际操作。请按顺序调用以下 MCP 工具。
|
|
@@ -209,14 +211,58 @@ render_ui docs/ui/${templateName || 'template'}.json --framework="${inferredStac
|
|
|
209
211
|
|
|
210
212
|
${recommendation.reasoning}
|
|
211
213
|
`;
|
|
212
|
-
|
|
213
|
-
|
|
214
|
+
// Create structured UI report for auto mode
|
|
215
|
+
const uiReport = {
|
|
216
|
+
summary: `智能 UI 开发:${description}`,
|
|
217
|
+
status: 'pending',
|
|
218
|
+
steps: [
|
|
214
219
|
{
|
|
215
|
-
|
|
216
|
-
|
|
220
|
+
name: '生成设计系统',
|
|
221
|
+
status: 'pending',
|
|
222
|
+
description: `调用 ui_design_system 生成设计规范`,
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: '生成组件目录',
|
|
226
|
+
status: 'pending',
|
|
227
|
+
description: '调用 init_component_catalog 生成组件目录',
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
name: '搜索 UI 模板',
|
|
231
|
+
status: 'pending',
|
|
232
|
+
description: '调用 ui_search 搜索匹配的模板',
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: '渲染最终代码',
|
|
236
|
+
status: 'pending',
|
|
237
|
+
description: '调用 render_ui 生成组件代码',
|
|
217
238
|
},
|
|
218
239
|
],
|
|
240
|
+
artifacts: [],
|
|
241
|
+
nextSteps: [
|
|
242
|
+
`调用 ui_design_system --product_type="${inferredProductType}" --stack="${inferredStack}"`,
|
|
243
|
+
'调用 init_component_catalog',
|
|
244
|
+
`调用 ui_search --mode=template --query="${description}"`,
|
|
245
|
+
`调用 render_ui --framework="${inferredStack}"`,
|
|
246
|
+
],
|
|
247
|
+
designSystem: {
|
|
248
|
+
colors: {},
|
|
249
|
+
typography: {},
|
|
250
|
+
spacing: {},
|
|
251
|
+
},
|
|
252
|
+
renderedCode: {
|
|
253
|
+
framework: inferredStack,
|
|
254
|
+
code: '待生成',
|
|
255
|
+
},
|
|
256
|
+
consistencyRules: [
|
|
257
|
+
'所有组件使用设计系统中定义的颜色',
|
|
258
|
+
'所有组件使用设计系统中定义的字体',
|
|
259
|
+
'所有组件使用设计系统中定义的间距',
|
|
260
|
+
],
|
|
219
261
|
};
|
|
262
|
+
return okStructured(smartPlan, uiReport, {
|
|
263
|
+
schema: UIReportSchema,
|
|
264
|
+
note: 'AI 应该按照智能计划执行步骤,并在每个步骤完成后更新 structuredContent',
|
|
265
|
+
});
|
|
220
266
|
}
|
|
221
267
|
// 如果没有提供模板名,从描述中生成
|
|
222
268
|
if (!templateName && description) {
|
|
@@ -275,14 +321,58 @@ start_ui "设置页面" --framework=react
|
|
|
275
321
|
guide = safeReplace(guide, '{description}', escapeJson(description));
|
|
276
322
|
guide = safeReplace(guide, '{framework}', framework);
|
|
277
323
|
guide = safeReplace(guide, '{templateName}', templateName || 'ui-template');
|
|
278
|
-
|
|
279
|
-
|
|
324
|
+
// Create structured UI report for manual mode
|
|
325
|
+
const uiReport = {
|
|
326
|
+
summary: `UI 开发工作流:${description}`,
|
|
327
|
+
status: 'pending',
|
|
328
|
+
steps: [
|
|
280
329
|
{
|
|
281
|
-
|
|
282
|
-
|
|
330
|
+
name: '检查设计系统',
|
|
331
|
+
status: 'pending',
|
|
332
|
+
description: '检查 docs/design-system.md 是否存在',
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
name: '检查组件目录',
|
|
336
|
+
status: 'pending',
|
|
337
|
+
description: '检查 docs/component-catalog.json 是否存在',
|
|
283
338
|
},
|
|
339
|
+
{
|
|
340
|
+
name: '搜索 UI 模板',
|
|
341
|
+
status: 'pending',
|
|
342
|
+
description: '调用 ui_search 搜索匹配的模板',
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
name: '渲染最终代码',
|
|
346
|
+
status: 'pending',
|
|
347
|
+
description: '调用 render_ui 生成组件代码',
|
|
348
|
+
},
|
|
349
|
+
],
|
|
350
|
+
artifacts: [],
|
|
351
|
+
nextSteps: [
|
|
352
|
+
'检查设计系统文件,如不存在则调用 ui_design_system',
|
|
353
|
+
'检查组件目录,如不存在则调用 init_component_catalog',
|
|
354
|
+
`调用 ui_search --mode=template --query="${description}"`,
|
|
355
|
+
`调用 render_ui --framework="${framework}"`,
|
|
356
|
+
],
|
|
357
|
+
designSystem: {
|
|
358
|
+
colors: {},
|
|
359
|
+
typography: {},
|
|
360
|
+
spacing: {},
|
|
361
|
+
},
|
|
362
|
+
renderedCode: {
|
|
363
|
+
framework: framework,
|
|
364
|
+
code: '待生成',
|
|
365
|
+
},
|
|
366
|
+
consistencyRules: [
|
|
367
|
+
'所有组件使用设计系统中定义的颜色',
|
|
368
|
+
'所有组件使用设计系统中定义的字体',
|
|
369
|
+
'所有组件使用设计系统中定义的间距',
|
|
284
370
|
],
|
|
285
371
|
};
|
|
372
|
+
return okStructured(guide, uiReport, {
|
|
373
|
+
schema: UIReportSchema,
|
|
374
|
+
note: 'AI 应该按照指南执行步骤,并在每个步骤完成后更新 structuredContent',
|
|
375
|
+
});
|
|
286
376
|
}
|
|
287
377
|
catch (error) {
|
|
288
378
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -69,48 +69,12 @@ export declare function getReasoningEngine(): Promise<DesignReasoningEngine>;
|
|
|
69
69
|
*
|
|
70
70
|
* Requirements: 1.1, 1.2, 1.3, 1.4, 2.1, 2.2, 2.3, 2.5, 6.1-6.6
|
|
71
71
|
*/
|
|
72
|
-
export declare function uiDesignSystem(args: any): Promise<
|
|
73
|
-
content: {
|
|
74
|
-
type: string;
|
|
75
|
-
text: string;
|
|
76
|
-
}[];
|
|
77
|
-
isError?: undefined;
|
|
78
|
-
} | {
|
|
79
|
-
content: {
|
|
80
|
-
type: string;
|
|
81
|
-
text: string;
|
|
82
|
-
}[];
|
|
83
|
-
isError: boolean;
|
|
84
|
-
}>;
|
|
72
|
+
export declare function uiDesignSystem(args: any): Promise<import("../lib/response.js").ToolResponse>;
|
|
85
73
|
/**
|
|
86
74
|
* UI 搜索工具(增强版)
|
|
87
75
|
*/
|
|
88
|
-
export declare function uiSearch(args: any): Promise<
|
|
89
|
-
content: {
|
|
90
|
-
type: string;
|
|
91
|
-
text: string;
|
|
92
|
-
}[];
|
|
93
|
-
isError?: undefined;
|
|
94
|
-
} | {
|
|
95
|
-
content: {
|
|
96
|
-
type: string;
|
|
97
|
-
text: string;
|
|
98
|
-
}[];
|
|
99
|
-
isError: boolean;
|
|
100
|
-
}>;
|
|
76
|
+
export declare function uiSearch(args: any): Promise<import("../lib/response.js").ToolResponse>;
|
|
101
77
|
/**
|
|
102
78
|
* UI 数据同步工具
|
|
103
79
|
*/
|
|
104
|
-
export declare function syncUiData(args: any): Promise<
|
|
105
|
-
content: {
|
|
106
|
-
type: string;
|
|
107
|
-
text: string;
|
|
108
|
-
}[];
|
|
109
|
-
isError?: undefined;
|
|
110
|
-
} | {
|
|
111
|
-
content: {
|
|
112
|
-
type: string;
|
|
113
|
-
text: string;
|
|
114
|
-
}[];
|
|
115
|
-
isError: boolean;
|
|
116
|
-
}>;
|
|
80
|
+
export declare function syncUiData(args: any): Promise<import("../lib/response.js").ToolResponse>;
|