mcp-probe-kit 1.8.1 → 1.10.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.
Files changed (59) hide show
  1. package/build/index.js +123 -578
  2. package/build/tools/add_feature.d.ts +0 -11
  3. package/build/tools/add_feature.js +19 -10
  4. package/build/tools/analyze_project.js +76 -61
  5. package/build/tools/check_deps.d.ts +1 -1
  6. package/build/tools/check_deps.js +2 -2
  7. package/build/tools/code_review.js +15 -2
  8. package/build/tools/convert.js +18 -3
  9. package/build/tools/css_order.js +55 -55
  10. package/build/tools/debug.js +14 -2
  11. package/build/tools/design2code.d.ts +2 -11
  12. package/build/tools/design2code.js +21 -4
  13. package/build/tools/detect_shell.js +15 -2
  14. package/build/tools/estimate.js +21 -4
  15. package/build/tools/explain.js +15 -2
  16. package/build/tools/fix.js +15 -2
  17. package/build/tools/fix_bug.js +24 -5
  18. package/build/tools/gen_mock.js +24 -5
  19. package/build/tools/gen_skill.d.ts +0 -3
  20. package/build/tools/gen_skill.js +21 -4
  21. package/build/tools/genapi.js +15 -2
  22. package/build/tools/genchangelog.js +18 -3
  23. package/build/tools/gencommit.js +24 -2
  24. package/build/tools/gendoc.js +18 -3
  25. package/build/tools/genpr.js +15 -2
  26. package/build/tools/genreadme.js +15 -2
  27. package/build/tools/gensql.js +15 -2
  28. package/build/tools/gentest.js +15 -2
  29. package/build/tools/genui.js +15 -2
  30. package/build/tools/init_project.js +15 -2
  31. package/build/tools/init_project_context.d.ts +0 -6
  32. package/build/tools/init_project_context.js +12 -2
  33. package/build/tools/perf.js +15 -2
  34. package/build/tools/refactor.js +15 -2
  35. package/build/tools/resolve_conflict.js +12 -1
  36. package/build/tools/security_scan.js +18 -3
  37. package/build/tools/split.js +15 -2
  38. package/build/tools/start_api.d.ts +0 -6
  39. package/build/tools/start_api.js +18 -3
  40. package/build/tools/start_bugfix.d.ts +0 -6
  41. package/build/tools/start_bugfix.js +15 -2
  42. package/build/tools/start_doc.d.ts +0 -6
  43. package/build/tools/start_doc.js +20 -3
  44. package/build/tools/start_feature.d.ts +0 -6
  45. package/build/tools/start_feature.js +18 -3
  46. package/build/tools/start_onboard.d.ts +0 -6
  47. package/build/tools/start_onboard.js +15 -2
  48. package/build/tools/start_refactor.d.ts +0 -6
  49. package/build/tools/start_refactor.js +15 -2
  50. package/build/tools/start_release.d.ts +0 -6
  51. package/build/tools/start_release.js +18 -3
  52. package/build/tools/start_review.d.ts +0 -6
  53. package/build/tools/start_review.js +15 -2
  54. package/build/utils/parseArgs.d.ts +39 -0
  55. package/build/utils/parseArgs.js +153 -0
  56. package/docs/HOW_TO_TRIGGER.html +56 -0
  57. package/docs/MCP-Probe-Kit-/344/275/277/347/224/250/346/211/213/345/206/214.html +449 -0
  58. package/docs/MCP-Probe-Kit-/344/275/277/347/224/250/346/211/213/345/206/214.md +609 -0
  59. package/package.json +1 -1
@@ -202,19 +202,38 @@ interface Config {
202
202
  *指南版本: 1.0.0*
203
203
  *工具: MCP Probe Kit - gen_mock*
204
204
  `;
205
+ import { parseArgs, getString, getNumber } from "../utils/parseArgs.js";
205
206
  /**
206
207
  * gen_mock 工具实现
207
208
  */
208
209
  export async function genMock(args) {
209
210
  try {
210
- const schema = args?.schema;
211
+ // 智能参数解析,支持自然语言输入
212
+ const parsedArgs = parseArgs(args, {
213
+ defaultValues: {
214
+ schema: "",
215
+ count: 1,
216
+ format: "json",
217
+ locale: "zh-CN",
218
+ seed: 0,
219
+ },
220
+ primaryField: "schema", // 纯文本输入默认映射到 schema 字段
221
+ fieldAliases: {
222
+ schema: ["type", "interface", "structure", "类型", "数据结构"],
223
+ count: ["num", "amount", "number", "数量"],
224
+ format: ["output", "type", "格式", "输出格式"],
225
+ locale: ["lang", "language", "语言", "区域"],
226
+ seed: ["random_seed", "种子"],
227
+ },
228
+ });
229
+ const schema = getString(parsedArgs.schema);
230
+ const count = getNumber(parsedArgs.count, 1);
231
+ const format = getString(parsedArgs.format) || "json";
232
+ const locale = getString(parsedArgs.locale) || "zh-CN";
233
+ const seed = getNumber(parsedArgs.seed, 0);
211
234
  if (!schema) {
212
235
  throw new Error("缺少必填参数: schema(数据结构定义)");
213
236
  }
214
- const count = args?.count || 1;
215
- const format = args?.format || "json";
216
- const locale = args?.locale || "zh-CN";
217
- const seed = args?.seed;
218
237
  if (count < 1 || count > 1000) {
219
238
  throw new Error("count 参数必须在 1-1000 之间");
220
239
  }
@@ -1,6 +1,3 @@
1
- /**
2
- * gen_skill - 生成 Agent Skills 文档
3
- */
4
1
  export declare function genSkill(args: any): Promise<{
5
2
  content: {
6
3
  type: string;
@@ -1,3 +1,4 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  /**
2
3
  * gen_skill - 生成 Agent Skills 文档
3
4
  */
@@ -446,10 +447,26 @@ function generateReadme(tools, lang) {
446
447
  }
447
448
  export async function genSkill(args) {
448
449
  try {
449
- const scope = args?.scope || "all";
450
- const toolName = args?.tool_name;
451
- const outputDir = args?.output_dir || "skills";
452
- const lang = args?.lang || "zh";
450
+ // 智能参数解析,支持自然语言输入
451
+ const parsedArgs = parseArgs(args, {
452
+ defaultValues: {
453
+ scope: "all",
454
+ tool_name: "",
455
+ output_dir: "skills",
456
+ lang: "zh",
457
+ },
458
+ primaryField: "scope", // 纯文本输入默认映射到 scope 字段
459
+ fieldAliases: {
460
+ scope: ["range", "category", "范围", "类别"],
461
+ tool_name: ["tool", "name", "工具", "工具名"],
462
+ output_dir: ["dir", "output", "目录", "输出目录"],
463
+ lang: ["language", "语言"],
464
+ },
465
+ });
466
+ const scope = getString(parsedArgs.scope) || "all";
467
+ const toolName = getString(parsedArgs.tool_name);
468
+ const outputDir = getString(parsedArgs.output_dir) || "skills";
469
+ const lang = getString(parsedArgs.lang) || "zh";
453
470
  const isZh = lang === "zh";
454
471
  let toolsToGenerate = [];
455
472
  if (toolName) {
@@ -1,8 +1,21 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // genapi 工具实现
2
3
  export async function genapi(args) {
3
4
  try {
4
- const code = args?.code || "";
5
- const format = args?.format || "markdown"; // markdown, openapi, jsdoc
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ code: "",
9
+ format: "markdown",
10
+ },
11
+ primaryField: "code", // 纯文本输入默认映射到 code 字段
12
+ fieldAliases: {
13
+ code: ["source", "api", "代码", "endpoint"],
14
+ format: ["output_format", "type", "格式", "输出格式"],
15
+ },
16
+ });
17
+ const code = getString(parsedArgs.code);
18
+ const format = getString(parsedArgs.format) || "markdown"; // markdown, openapi, jsdoc
6
19
  const message = `请为以下代码生成 API 文档:
7
20
 
8
21
  📝 **代码**:
@@ -1,9 +1,24 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // genchangelog 工具实现
2
3
  export async function genchangelog(args) {
3
4
  try {
4
- const version = args?.version || "";
5
- const from = args?.from || "";
6
- const to = args?.to || "HEAD";
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ version: "",
9
+ from: "",
10
+ to: "HEAD",
11
+ },
12
+ primaryField: "version", // 纯文本输入默认映射到 version 字段
13
+ fieldAliases: {
14
+ version: ["ver", "v", "版本", "版本号"],
15
+ from: ["from_tag", "start", "起始", "起始版本"],
16
+ to: ["to_tag", "end", "结束", "结束版本"],
17
+ },
18
+ });
19
+ const version = getString(parsedArgs.version);
20
+ const from = getString(parsedArgs.from);
21
+ const to = getString(parsedArgs.to) || "HEAD";
7
22
  const message = `请生成项目的 CHANGELOG(变更日志):
8
23
 
9
24
  📝 **版本信息**:
@@ -1,8 +1,30 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // gencommit 工具实现
2
3
  export async function gencommit(args) {
3
4
  try {
4
- const changes = args?.changes || "";
5
- const type = args?.type || ""; // fixed, fix, feat, docs, style, chore, refactor, test
5
+ // 使用智能参数解析,支持自然语言输入
6
+ // 用户可以直接说 "帮我生成 commit 消息" 或传递 JSON 对象
7
+ const parsedArgs = parseArgs(args, {
8
+ defaultValues: {
9
+ input: "",
10
+ changes: "",
11
+ type: "",
12
+ },
13
+ primaryField: "input", // 纯文本输入默认映射到 input 字段
14
+ fieldAliases: {
15
+ input: ["输入"],
16
+ changes: ["change", "diff", "code", "修改", "变更"],
17
+ type: ["commit_type", "类型"],
18
+ },
19
+ });
20
+ // 优先使用 input 参数(自然语言输入)
21
+ const input = getString(parsedArgs.input);
22
+ let changes = getString(parsedArgs.changes);
23
+ const type = getString(parsedArgs.type); // fixed, fix, feat, docs, style, chore, refactor, test
24
+ // 如果提供了 input,将其作为 changes
25
+ if (input) {
26
+ changes = input;
27
+ }
6
28
  const message = `请按以下步骤生成规范的 Git commit 消息:
7
29
 
8
30
  **第一步:获取变更信息**
@@ -1,9 +1,24 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // gendoc 工具实现
2
3
  export async function gendoc(args) {
3
4
  try {
4
- const code = args?.code || "";
5
- const style = args?.style || "jsdoc"; // jsdoc, tsdoc, javadoc
6
- const lang = args?.lang || "zh"; // zh, en
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ code: "",
9
+ style: "jsdoc",
10
+ lang: "zh",
11
+ },
12
+ primaryField: "code", // 纯文本输入默认映射到 code 字段
13
+ fieldAliases: {
14
+ code: ["source", "src", "代码", "function"],
15
+ style: ["format", "type", "风格", "注释风格"],
16
+ lang: ["language", "语言"],
17
+ },
18
+ });
19
+ const code = getString(parsedArgs.code);
20
+ const style = getString(parsedArgs.style) || "jsdoc"; // jsdoc, tsdoc, javadoc
21
+ const lang = getString(parsedArgs.lang) || "zh"; // zh, en
7
22
  const message = `请为以下代码生成详细的注释文档:
8
23
 
9
24
  📝 **代码内容**:
@@ -1,8 +1,21 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // genpr 工具实现
2
3
  export async function genpr(args) {
3
4
  try {
4
- const branch = args?.branch || "";
5
- const commits = args?.commits || "";
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ branch: "",
9
+ commits: "",
10
+ },
11
+ primaryField: "commits", // 纯文本输入默认映射到 commits 字段
12
+ fieldAliases: {
13
+ branch: ["分支", "branch_name"],
14
+ commits: ["commit_history", "log", "提交", "提交历史"],
15
+ },
16
+ });
17
+ const branch = getString(parsedArgs.branch);
18
+ const commits = getString(parsedArgs.commits);
6
19
  const message = `请生成规范的 Pull Request 描述:
7
20
 
8
21
  📝 **分支信息**:
@@ -1,8 +1,21 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // genreadme 工具实现
2
3
  export async function genreadme(args) {
3
4
  try {
4
- const projectInfo = args?.project_info || "";
5
- const style = args?.style || "standard"; // standard, minimal, detailed
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ project_info: "",
9
+ style: "standard",
10
+ },
11
+ primaryField: "project_info", // 纯文本输入默认映射到 project_info 字段
12
+ fieldAliases: {
13
+ project_info: ["info", "description", "project", "项目信息", "项目描述"],
14
+ style: ["format", "type", "风格", "模板"],
15
+ },
16
+ });
17
+ const projectInfo = getString(parsedArgs.project_info);
18
+ const style = getString(parsedArgs.style) || "standard"; // standard, minimal, detailed
6
19
  const message = `请生成项目的 README.md 文档:
7
20
 
8
21
  📝 **项目信息**:
@@ -1,8 +1,21 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // gensql 工具实现
2
3
  export async function gensql(args) {
3
4
  try {
4
- const description = args?.description || "";
5
- const dialect = args?.dialect || "postgres"; // postgres, mysql, sqlite
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ description: "",
9
+ dialect: "postgres",
10
+ },
11
+ primaryField: "description", // 纯文本输入默认映射到 description 字段
12
+ fieldAliases: {
13
+ description: ["query", "requirement", "需求", "查询需求"],
14
+ dialect: ["database", "db", "type", "数据库", "数据库类型"],
15
+ },
16
+ });
17
+ const description = getString(parsedArgs.description);
18
+ const dialect = getString(parsedArgs.dialect) || "postgres"; // postgres, mysql, sqlite
6
19
  const message = `请根据以下需求生成 SQL:
7
20
 
8
21
  📝 **需求描述**:
@@ -1,8 +1,21 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // gentest 工具实现
2
3
  export async function gentest(args) {
3
4
  try {
4
- const code = args?.code || "";
5
- const framework = args?.framework || "jest"; // jest, vitest, mocha
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ code: "",
9
+ framework: "jest",
10
+ },
11
+ primaryField: "code", // 纯文本输入默认映射到 code 字段
12
+ fieldAliases: {
13
+ code: ["source", "src", "代码", "function"],
14
+ framework: ["test_framework", "lib", "框架", "测试框架"],
15
+ },
16
+ });
17
+ const code = getString(parsedArgs.code);
18
+ const framework = getString(parsedArgs.framework) || "jest"; // jest, vitest, mocha
6
19
  const message = `请为以下代码生成完整的测试用例:
7
20
 
8
21
  📝 **代码内容**:
@@ -1,8 +1,21 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // genui 工具实现
2
3
  export async function genui(args) {
3
4
  try {
4
- const description = args?.description || "";
5
- const framework = args?.framework || "react"; // react, vue, html
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ description: "",
9
+ framework: "react",
10
+ },
11
+ primaryField: "description", // 纯文本输入默认映射到 description 字段
12
+ fieldAliases: {
13
+ description: ["requirement", "spec", "需求", "组件描述"],
14
+ framework: ["lib", "library", "框架", "前端框架"],
15
+ },
16
+ });
17
+ const description = getString(parsedArgs.description);
18
+ const framework = getString(parsedArgs.framework) || "react"; // react, vue, html
6
19
  const message = `请生成以下 UI 组件:
7
20
 
8
21
  📝 **组件描述**:
@@ -1,8 +1,21 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // init_project 工具实现
2
3
  export async function initProject(args) {
3
4
  try {
4
- const input = args?.input || "";
5
- const projectName = args?.project_name || "新项目";
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ input: "",
9
+ project_name: "新项目",
10
+ },
11
+ primaryField: "input", // 纯文本输入默认映射到 input 字段
12
+ fieldAliases: {
13
+ input: ["requirement", "description", "需求", "项目需求"],
14
+ project_name: ["name", "project", "项目名", "项目名称"],
15
+ },
16
+ });
17
+ const input = getString(parsedArgs.input);
18
+ const projectName = getString(parsedArgs.project_name) || "新项目";
6
19
  const featureSlug = projectName.toLowerCase().replace(/\s+/g, '-');
7
20
  const message = `你需要按照 Spec-Driven Development(规范驱动开发)的方式初始化项目,参考 https://github.com/github/spec-kit 的工作流程。
8
21
 
@@ -1,9 +1,3 @@
1
- /**
2
- * init_project_context 工具
3
- *
4
- * 功能:生成项目上下文文档,帮助 AI 理解项目的技术栈、架构和规范
5
- * 模式:指令生成器模式 - 返回详细的分析指南,由 AI 执行实际操作
6
- */
7
1
  /**
8
2
  * init_project_context 工具实现
9
3
  *
@@ -1,3 +1,4 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  /**
2
3
  * init_project_context 工具
3
4
  *
@@ -302,8 +303,17 @@ project/
302
303
  */
303
304
  export async function initProjectContext(args) {
304
305
  try {
305
- // 解析参数
306
- const docsDir = args?.docs_dir || DEFAULT_DOCS_DIR;
306
+ // 智能参数解析,支持自然语言输入
307
+ const parsedArgs = parseArgs(args, {
308
+ defaultValues: {
309
+ docs_dir: DEFAULT_DOCS_DIR,
310
+ },
311
+ primaryField: "docs_dir", // 纯文本输入默认映射到 docs_dir 字段
312
+ fieldAliases: {
313
+ docs_dir: ["dir", "output", "directory", "目录", "文档目录"],
314
+ },
315
+ });
316
+ const docsDir = getString(parsedArgs.docs_dir) || DEFAULT_DOCS_DIR;
307
317
  // 构建指南文本(替换占位符)
308
318
  const guide = PROMPT_TEMPLATE.replace(/{docs_dir}/g, docsDir);
309
319
  // 返回结果
@@ -1,8 +1,21 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // perf 工具实现
2
3
  export async function perf(args) {
3
4
  try {
4
- const code = args?.code || "";
5
- const type = args?.type || "all"; // algorithm, memory, react, database
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ code: "",
9
+ type: "all",
10
+ },
11
+ primaryField: "code", // 纯文本输入默认映射到 code 字段
12
+ fieldAliases: {
13
+ code: ["source", "src", "代码", "function"],
14
+ type: ["analysis_type", "category", "类型", "分析类型"],
15
+ },
16
+ });
17
+ const code = getString(parsedArgs.code);
18
+ const type = getString(parsedArgs.type) || "all"; // algorithm, memory, react, database
6
19
  const message = `请分析以下代码的性能问题并提供优化建议:
7
20
 
8
21
  📝 **代码内容**:
@@ -1,8 +1,21 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // refactor 工具实现
2
3
  export async function refactor(args) {
3
4
  try {
4
- const code = args?.code || "";
5
- const goal = args?.goal || ""; // improve_readability, reduce_complexity, extract_function, etc.
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ code: "",
9
+ goal: "",
10
+ },
11
+ primaryField: "code", // 纯文本输入默认映射到 code 字段
12
+ fieldAliases: {
13
+ code: ["source", "src", "代码", "content"],
14
+ goal: ["target", "objective", "目标", "重构目标"],
15
+ },
16
+ });
17
+ const code = getString(parsedArgs.code);
18
+ const goal = getString(parsedArgs.goal); // improve_readability, reduce_complexity, extract_function, etc.
6
19
  const message = `请为以下代码提供重构建议:
7
20
 
8
21
  📝 **代码内容**:
@@ -1,7 +1,18 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // resolve_conflict 工具实现
2
3
  export async function resolveConflict(args) {
3
4
  try {
4
- const conflicts = args?.conflicts || "";
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ conflicts: "",
9
+ },
10
+ primaryField: "conflicts", // 纯文本输入默认映射到 conflicts 字段
11
+ fieldAliases: {
12
+ conflicts: ["conflict", "diff", "merge", "冲突", "合并冲突"],
13
+ },
14
+ });
15
+ const conflicts = getString(parsedArgs.conflicts);
5
16
  const message = `请分析并解决以下 Git 冲突:
6
17
 
7
18
  ⚔️ **冲突内容**:
@@ -272,17 +272,32 @@ logger.info("API call with token:", maskToken(apiToken))
272
272
  *指南版本: 1.0.0*
273
273
  *工具: MCP Probe Kit - security_scan*
274
274
  `;
275
+ import { parseArgs, getString } from "../utils/parseArgs.js";
275
276
  /**
276
277
  * security_scan 工具实现
277
278
  */
278
279
  export async function securityScan(args) {
279
280
  try {
280
- const code = args?.code;
281
+ // 智能参数解析,支持自然语言输入
282
+ const parsedArgs = parseArgs(args, {
283
+ defaultValues: {
284
+ code: "",
285
+ language: "auto",
286
+ scan_type: "all",
287
+ },
288
+ primaryField: "code", // 纯文本输入默认映射到 code 字段
289
+ fieldAliases: {
290
+ code: ["source", "src", "代码", "content"],
291
+ language: ["lang", "语言", "编程语言"],
292
+ scan_type: ["type", "category", "类型", "扫描类型"],
293
+ },
294
+ });
295
+ const code = getString(parsedArgs.code);
296
+ const language = getString(parsedArgs.language) || "auto";
297
+ const scanType = getString(parsedArgs.scan_type) || "all";
281
298
  if (!code) {
282
299
  throw new Error("缺少必填参数: code(需要扫描的代码)");
283
300
  }
284
- const language = args?.language || "auto";
285
- const scanType = args?.scan_type || "all";
286
301
  const scanTypeDesc = {
287
302
  all: "全面扫描(注入、认证、加密、敏感数据)",
288
303
  injection: "注入类漏洞(SQL注入、XSS、命令注入)",
@@ -1,8 +1,21 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  // split 工具实现
2
3
  export async function split(args) {
3
4
  try {
4
- const file = args?.file || "";
5
- const strategy = args?.strategy || "auto"; // auto, type, function, component, feature
5
+ // 智能参数解析,支持自然语言输入
6
+ const parsedArgs = parseArgs(args, {
7
+ defaultValues: {
8
+ file: "",
9
+ strategy: "auto",
10
+ },
11
+ primaryField: "file", // 纯文本输入默认映射到 file 字段
12
+ fieldAliases: {
13
+ file: ["code", "source", "content", "文件", "代码"],
14
+ strategy: ["method", "type", "策略", "拆分策略"],
15
+ },
16
+ });
17
+ const file = getString(parsedArgs.file);
18
+ const strategy = getString(parsedArgs.strategy) || "auto"; // auto, type, function, component, feature
6
19
  const message = `请拆分以下文件:
7
20
 
8
21
  📝 **文件内容**:
@@ -1,9 +1,3 @@
1
- /**
2
- * start_api 智能编排工具
3
- *
4
- * 场景:API 开发
5
- * 编排:[检查上下文] → genapi → gen_mock → gentest
6
- */
7
1
  export declare function startApi(args: any): Promise<{
8
2
  content: {
9
3
  type: string;
@@ -1,3 +1,4 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  /**
2
3
  * start_api 智能编排工具
3
4
  *
@@ -154,12 +155,26 @@ const PROMPT_TEMPLATE = `# 🔌 API 开发编排指南
154
155
  `;
155
156
  export async function startApi(args) {
156
157
  try {
157
- const code = args?.code;
158
+ // 智能参数解析,支持自然语言输入
159
+ const parsedArgs = parseArgs(args, {
160
+ defaultValues: {
161
+ code: "",
162
+ language: "typescript",
163
+ format: "markdown",
164
+ },
165
+ primaryField: "code", // 纯文本输入默认映射到 code 字段
166
+ fieldAliases: {
167
+ code: ["source", "api", "代码", "endpoint"],
168
+ language: ["lang", "语言", "编程语言"],
169
+ format: ["output", "type", "格式", "输出格式"],
170
+ },
171
+ });
172
+ const code = getString(parsedArgs.code);
173
+ const language = getString(parsedArgs.language) || "typescript";
174
+ const format = getString(parsedArgs.format) || "markdown";
158
175
  if (!code) {
159
176
  throw new Error("缺少必填参数: code(API 代码)");
160
177
  }
161
- const language = args?.language || "typescript";
162
- const format = args?.format || "markdown";
163
178
  const guide = PROMPT_TEMPLATE
164
179
  .replace(/{code}/g, code)
165
180
  .replace(/{language}/g, language)
@@ -1,9 +1,3 @@
1
- /**
2
- * start_bugfix 智能编排工具
3
- *
4
- * 场景:修复 Bug
5
- * 编排:[检查上下文] → fix_bug → gentest
6
- */
7
1
  export declare function startBugfix(args: any): Promise<{
8
2
  content: {
9
3
  type: string;
@@ -1,3 +1,4 @@
1
+ import { parseArgs, getString } from "../utils/parseArgs.js";
1
2
  /**
2
3
  * start_bugfix 智能编排工具
3
4
  *
@@ -101,11 +102,23 @@ const PROMPT_TEMPLATE = `# 🐛 Bug 修复编排指南
101
102
  `;
102
103
  export async function startBugfix(args) {
103
104
  try {
104
- const errorMessage = args?.error_message;
105
+ // 智能参数解析,支持自然语言输入
106
+ const parsedArgs = parseArgs(args, {
107
+ defaultValues: {
108
+ error_message: "",
109
+ stack_trace: "",
110
+ },
111
+ primaryField: "error_message", // 纯文本输入默认映射到 error_message 字段
112
+ fieldAliases: {
113
+ error_message: ["error", "err", "message", "错误", "错误信息"],
114
+ stack_trace: ["stack", "trace", "堆栈", "调用栈"],
115
+ },
116
+ });
117
+ const errorMessage = getString(parsedArgs.error_message);
118
+ const stackTrace = getString(parsedArgs.stack_trace);
105
119
  if (!errorMessage) {
106
120
  throw new Error("缺少必填参数: error_message(错误信息)");
107
121
  }
108
- const stackTrace = args?.stack_trace || "";
109
122
  const stackTraceSection = stackTrace
110
123
  ? `**堆栈跟踪**:\n\`\`\`\n${stackTrace}\n\`\`\``
111
124
  : "";
@@ -1,9 +1,3 @@
1
- /**
2
- * start_doc 智能编排工具
3
- *
4
- * 场景:文档生成
5
- * 编排:[检查上下文] → gendoc → genreadme → genapi
6
- */
7
1
  export declare function startDoc(args: any): Promise<{
8
2
  content: {
9
3
  type: string;