speccore 5.4.1 → 5.4.3

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 (111) hide show
  1. package/README.en.md +5 -4
  2. package/README.md +6 -5
  3. package/package.json +1 -1
  4. package/dist/commands/audit.d.ts +0 -10
  5. package/dist/commands/audit.d.ts.map +0 -1
  6. package/dist/commands/audit.js +0 -278
  7. package/dist/commands/audit.js.map +0 -1
  8. package/dist/commands/baseline.d.ts +0 -13
  9. package/dist/commands/baseline.d.ts.map +0 -1
  10. package/dist/commands/baseline.js +0 -227
  11. package/dist/commands/baseline.js.map +0 -1
  12. package/dist/commands/bugfix.d.ts +0 -13
  13. package/dist/commands/bugfix.d.ts.map +0 -1
  14. package/dist/commands/bugfix.js +0 -181
  15. package/dist/commands/bugfix.js.map +0 -1
  16. package/dist/commands/change.d.ts +0 -14
  17. package/dist/commands/change.d.ts.map +0 -1
  18. package/dist/commands/change.js +0 -208
  19. package/dist/commands/change.js.map +0 -1
  20. package/dist/commands/context.d.ts +0 -8
  21. package/dist/commands/context.d.ts.map +0 -1
  22. package/dist/commands/context.js +0 -180
  23. package/dist/commands/context.js.map +0 -1
  24. package/dist/commands/dashboard.d.ts +0 -9
  25. package/dist/commands/dashboard.d.ts.map +0 -1
  26. package/dist/commands/dashboard.js +0 -209
  27. package/dist/commands/dashboard.js.map +0 -1
  28. package/dist/commands/demo.d.ts +0 -10
  29. package/dist/commands/demo.d.ts.map +0 -1
  30. package/dist/commands/demo.js +0 -151
  31. package/dist/commands/demo.js.map +0 -1
  32. package/dist/commands/global-status.d.ts +0 -9
  33. package/dist/commands/global-status.d.ts.map +0 -1
  34. package/dist/commands/global-status.js +0 -135
  35. package/dist/commands/global-status.js.map +0 -1
  36. package/dist/commands/goal.d.ts +0 -15
  37. package/dist/commands/goal.d.ts.map +0 -1
  38. package/dist/commands/goal.js +0 -232
  39. package/dist/commands/goal.js.map +0 -1
  40. package/dist/commands/handover.d.ts +0 -11
  41. package/dist/commands/handover.d.ts.map +0 -1
  42. package/dist/commands/handover.js +0 -169
  43. package/dist/commands/handover.js.map +0 -1
  44. package/dist/commands/help.d.ts +0 -10
  45. package/dist/commands/help.d.ts.map +0 -1
  46. package/dist/commands/help.js +0 -93
  47. package/dist/commands/help.js.map +0 -1
  48. package/dist/commands/history.d.ts +0 -9
  49. package/dist/commands/history.d.ts.map +0 -1
  50. package/dist/commands/history.js +0 -87
  51. package/dist/commands/history.js.map +0 -1
  52. package/dist/commands/impact.d.ts +0 -12
  53. package/dist/commands/impact.d.ts.map +0 -1
  54. package/dist/commands/impact.js +0 -238
  55. package/dist/commands/impact.js.map +0 -1
  56. package/dist/commands/index-update.d.ts +0 -8
  57. package/dist/commands/index-update.d.ts.map +0 -1
  58. package/dist/commands/index-update.js +0 -180
  59. package/dist/commands/index-update.js.map +0 -1
  60. package/dist/commands/iteration-from-global.d.ts +0 -11
  61. package/dist/commands/iteration-from-global.d.ts.map +0 -1
  62. package/dist/commands/iteration-from-global.js +0 -294
  63. package/dist/commands/iteration-from-global.js.map +0 -1
  64. package/dist/commands/new-task.d.ts +0 -15
  65. package/dist/commands/new-task.d.ts.map +0 -1
  66. package/dist/commands/new-task.js +0 -208
  67. package/dist/commands/new-task.js.map +0 -1
  68. package/dist/commands/platform-add.d.ts +0 -12
  69. package/dist/commands/platform-add.d.ts.map +0 -1
  70. package/dist/commands/platform-add.js +0 -111
  71. package/dist/commands/platform-add.js.map +0 -1
  72. package/dist/commands/rename.d.ts +0 -14
  73. package/dist/commands/rename.d.ts.map +0 -1
  74. package/dist/commands/rename.js +0 -298
  75. package/dist/commands/rename.js.map +0 -1
  76. package/dist/commands/research.d.ts +0 -14
  77. package/dist/commands/research.d.ts.map +0 -1
  78. package/dist/commands/research.js +0 -181
  79. package/dist/commands/research.js.map +0 -1
  80. package/dist/commands/retro.d.ts +0 -10
  81. package/dist/commands/retro.d.ts.map +0 -1
  82. package/dist/commands/retro.js +0 -130
  83. package/dist/commands/retro.js.map +0 -1
  84. package/dist/commands/spec.d.ts +0 -8
  85. package/dist/commands/spec.d.ts.map +0 -1
  86. package/dist/commands/spec.js +0 -155
  87. package/dist/commands/spec.js.map +0 -1
  88. package/dist/commands/sync-global.d.ts +0 -13
  89. package/dist/commands/sync-global.d.ts.map +0 -1
  90. package/dist/commands/sync-global.js +0 -218
  91. package/dist/commands/sync-global.js.map +0 -1
  92. package/dist/commands/sync.d.ts +0 -13
  93. package/dist/commands/sync.d.ts.map +0 -1
  94. package/dist/commands/sync.js +0 -216
  95. package/dist/commands/sync.js.map +0 -1
  96. package/dist/commands/template-add.d.ts +0 -12
  97. package/dist/commands/template-add.d.ts.map +0 -1
  98. package/dist/commands/template-add.js +0 -65
  99. package/dist/commands/template-add.js.map +0 -1
  100. package/dist/commands/welcome.d.ts +0 -9
  101. package/dist/commands/welcome.d.ts.map +0 -1
  102. package/dist/commands/welcome.js +0 -166
  103. package/dist/commands/welcome.js.map +0 -1
  104. package/dist/core/global-layer.d.ts +0 -124
  105. package/dist/core/global-layer.d.ts.map +0 -1
  106. package/dist/core/global-layer.js +0 -456
  107. package/dist/core/global-layer.js.map +0 -1
  108. package/dist/core/intent-recognition.d.ts +0 -48
  109. package/dist/core/intent-recognition.d.ts.map +0 -1
  110. package/dist/core/intent-recognition.js +0 -524
  111. package/dist/core/intent-recognition.js.map +0 -1
@@ -1,524 +0,0 @@
1
- "use strict";
2
- /**
3
- * 意图识别引擎
4
- * 基于 SpecCore v4.0 的自然语言意图识别引擎
5
- * 支持 31 种意图类型、200+ 关键词匹配、置信度计算、上下文感知增强
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.recognizeIntent = recognizeIntent;
9
- exports.getConfidenceLevel = getConfidenceLevel;
10
- exports.getAllCommandMappings = getAllCommandMappings;
11
- exports.getCommandMapping = getCommandMapping;
12
- exports.getCommandsByIntent = getCommandsByIntent;
13
- const context_1 = require("./context");
14
- // ============================================================
15
- // 命令映射表(12 种意图,按优先级排序)
16
- // ============================================================
17
- const COMMAND_MAPPINGS = [
18
- // 变更层 - 优先级最高("改成"不应被"做"匹配)
19
- {
20
- id: 'change',
21
- intent: 'change',
22
- priority: 100,
23
- triggers: ['改成', '改为', '调整', '修改', '更新', '变更', '升级', '换成', '替换'],
24
- patterns: ['把(.+)改成(.+)', '将(.+)调整为(.+)', '修改(.+)', '升级(.+)', '换成(.+)'],
25
- description: '需求变更联动 — 修改需求时自动更新关联 Spec 文件',
26
- },
27
- // 执行层
28
- {
29
- id: 'execute',
30
- intent: 'execute',
31
- priority: 90,
32
- triggers: ['开始', '执行', '干活', '继续', '开发', '做', '跑', '开工', '跑一下'],
33
- patterns: ['开始(.+)', '继续(.+)', '开发(.+)', '做(.+)', '执行(.+)'],
34
- description: '执行控制中心 — 按过滤条件执行开发任务,支持断点续传',
35
- },
36
- // Bug 修复
37
- {
38
- id: 'bugfix',
39
- intent: 'bugfix',
40
- priority: 88,
41
- triggers: ['修复', '解决', 'bug', '报错', '错误', '超时', '出问题了'],
42
- patterns: ['修复(.+)问题', '修复(.+)bug', '解决(.+)', '(.+)报错'],
43
- description: '快速 Bug 修复 — 创建修复任务并关联变更联动',
44
- },
45
- // 创建层
46
- {
47
- id: 'goal',
48
- intent: 'create',
49
- priority: 85,
50
- triggers: ['创建一个', '新增一个', '做一个', '实现', '添加一个', '新建', '创建', '新增'],
51
- patterns: ['创建(.+)', '新增(.+)', '做一个(.+)', '开发(.+)功能', '实现(.+)功能'],
52
- description: '完整需求交付 — 从需求到代码的全流程自动化',
53
- args: '"<name>" --desc="<description>"',
54
- },
55
- // 初始化
56
- {
57
- id: 'init',
58
- intent: 'init',
59
- priority: 85,
60
- triggers: ['初始化', '建立项目', '创建项目', '新建项目', '迁移项目'],
61
- patterns: ['初始化(.+)项目', '建立(.+)项目', '创建(.+)项目'],
62
- description: '项目初始化 — 创建 .speccore 配置目录和基础文件',
63
- },
64
- // 导入
65
- {
66
- id: 'import',
67
- intent: 'import',
68
- priority: 82,
69
- triggers: ['导入', '迁移', '转换', '从代码导入', '从需求导入'],
70
- patterns: ['导入(.+)代码', '从(.+)导入', '迁移(.+)项目'],
71
- description: '存量项目导入 — 从代码/PRD/原型自动生成 Spec 配置',
72
- },
73
- // 审查层
74
- {
75
- id: 'review',
76
- intent: 'review',
77
- priority: 80,
78
- triggers: ['审查', '检查', 'review', '查看产出', '核对', '校验'],
79
- patterns: ['审查(.+)', '检查(.+)', '查看(.+)产出', 'review(.+)'],
80
- description: '审查产出 — 检查任务产出物和验收标准是否符合规范',
81
- },
82
- // 调研
83
- {
84
- id: 'research',
85
- intent: 'research',
86
- priority: 80,
87
- triggers: ['调研', '评估', '选型', '对比'],
88
- patterns: ['调研(.+)方案', '调研(.+)技术', '评估(.+)技术', '对比(.+)'],
89
- description: '技术调研 — 评估技术方案、对比工具选项',
90
- },
91
- // 计划层
92
- {
93
- id: 'plan',
94
- intent: 'plan',
95
- priority: 78,
96
- triggers: ['方案', '计划', '怎么做', '怎么实现', '技术方案', '评估', '估算'],
97
- patterns: ['(.+)怎么做', '(.+)怎么实现', '需要(.+)时间', '评估(.+)'],
98
- description: '智能调度 — 分析依赖关系,生成并行执行方案',
99
- },
100
- // 归档层
101
- {
102
- id: 'archive',
103
- intent: 'archive',
104
- priority: 75,
105
- triggers: ['归档', '存档', '清理', '整理'],
106
- patterns: ['归档(.+)', '清理(.+)', '整理(.+)'],
107
- description: '归档任务 — 将已完成任务移动到归档目录',
108
- },
109
- // 参考层
110
- {
111
- id: 'reference',
112
- intent: 'reference',
113
- priority: 75,
114
- triggers: ['参考', '借鉴', '类似', '有没有', '之前', '以前'],
115
- patterns: ['参考(.+)', '借鉴(.+)', '有没有(.+)示例'],
116
- description: '模式搜索 — 在 PATTERNS 中搜索相关技术参考',
117
- },
118
- // 同步
119
- {
120
- id: 'sync',
121
- intent: 'sync',
122
- priority: 70,
123
- triggers: ['同步', '反向同步', '更新Spec', '对齐'],
124
- patterns: ['同步(.+)', '更新(.+)Spec', '对齐(.+)'],
125
- description: '反向同步 — 检测代码与 Spec 的差异并同步更新',
126
- },
127
- // 进度层
128
- {
129
- id: 'progress',
130
- intent: 'query_progress',
131
- priority: 70,
132
- triggers: ['进度', '进展', '完成多少', '还差', '多少'],
133
- patterns: ['进度(.+)', '进展(.+)', '完成(.+)'],
134
- description: '进度总览 — 多维度统计任务完成情况',
135
- },
136
- {
137
- id: 'status',
138
- intent: 'query_progress',
139
- priority: 68,
140
- triggers: ['状态', '情况', '怎么样了'],
141
- patterns: ['状态(.+)', '情况(.+)', '(.+)怎么样了'],
142
- description: '状态看板 — 简洁版任务状态总览',
143
- },
144
- // 交接
145
- {
146
- id: 'handover',
147
- intent: 'handover',
148
- priority: 65,
149
- triggers: ['交接', '转交', '移交', '交付'],
150
- patterns: ['交接(.+)', '转交(.+)', '生成交接文档'],
151
- description: '生成交接文档 — 汇总期次关键信息和待办事项',
152
- },
153
- // 健康度
154
- {
155
- id: 'health',
156
- intent: 'health',
157
- priority: 65,
158
- triggers: ['健康', '质量', '评分'],
159
- patterns: ['健康度(.+)', '质量(.+)', '评分(.+)'],
160
- description: '项目健康度 — 4 维度质量评估与风险预警',
161
- },
162
- // 回顾
163
- {
164
- id: 'retro',
165
- intent: 'retro',
166
- priority: 60,
167
- triggers: ['回顾', '总结', '复盘', '反思'],
168
- patterns: ['回顾(.+)', '总结(.+)', '复盘(.+)'],
169
- description: '期次回顾 — 总结经验和改进建议',
170
- },
171
- // 配置
172
- {
173
- id: 'config',
174
- intent: 'config',
175
- priority: 60,
176
- triggers: ['配置', '设置'],
177
- patterns: ['配置(.+)', '设置(.+)'],
178
- description: '配置管理 — 查看和修改框架功能开关',
179
- },
180
- // 模板
181
- {
182
- id: 'template-add',
183
- intent: 'template_add',
184
- priority: 55,
185
- triggers: ['添加模板', '新增模板', '保存模板'],
186
- patterns: ['添加(.+)模板', '新增(.+)模板', '保存(.+)模板'],
187
- description: '添加代码模板 — 将现有代码保存为可复用模板',
188
- },
189
- // 帮助
190
- {
191
- id: 'help',
192
- intent: 'help',
193
- priority: 50,
194
- triggers: ['帮助', '怎么用', '教程', '不会用', '如何使用'],
195
- patterns: ['帮助(.+)', '怎么用(.+)', '教程(.+)'],
196
- description: '命令帮助 — 查看所有可用命令和参数说明',
197
- },
198
- // 体验
199
- {
200
- id: 'demo',
201
- intent: 'demo',
202
- priority: 45,
203
- triggers: ['示例', '体验', '试一下', 'demo'],
204
- patterns: ['示例(.+)', '体验(.+)', '试一下(.+)'],
205
- description: '快速体验 — 5 分钟体验 SpecCore 完整流程',
206
- },
207
- // 引导
208
- {
209
- id: 'welcome',
210
- intent: 'welcome',
211
- priority: 40,
212
- triggers: ['引导', '第一次', '新手', '入门'],
213
- patterns: ['引导(.+)', '第一次使用', '新手入门', '入门(.+)'],
214
- description: '首次使用引导 — 交互式引导完成第一个功能开发',
215
- },
216
- // ============================================================
217
- // 全量层命令
218
- // ============================================================
219
- // 导入到全量层
220
- {
221
- id: 'import-to-global',
222
- intent: 'import_to_global',
223
- priority: 83,
224
- triggers: ['导入项目', '导入到全量层', '添加项目到全量'],
225
- patterns: ['导入(.+)项目到全量', '添加(.+)到全量层', '导入(.+)作为(.+)项目'],
226
- description: '导入到全量层 — 扫描项目代码并填充 GLOBAL/ 目录',
227
- },
228
- // 从全量生成期次
229
- {
230
- id: 'iteration-from-global',
231
- intent: 'iteration_from_global',
232
- priority: 80,
233
- triggers: ['从全量生成', '基于全局创建', '选择需求生成期次'],
234
- patterns: ['从全量(.*)生成期次', '基于全局(.*)创建期次', '选择(.*)需求生成期次'],
235
- description: '从全量层生成期次 — 按需求 ID 选择并生成新的期次',
236
- },
237
- // 同步全量
238
- {
239
- id: 'sync-global',
240
- intent: 'sync_to_global',
241
- priority: 70,
242
- triggers: ['同步全量', '同步全局', '更新全量层', '同步到全量'],
243
- patterns: ['同步(.*)到全量层', '更新全量层', '同步全量'],
244
- description: '全量层双向同步 — 期次与全量层之间的双向同步',
245
- },
246
- // 全量状态
247
- {
248
- id: 'global-status',
249
- intent: 'global_status',
250
- priority: 65,
251
- triggers: ['全量状态', '全局状态', '全量层', '查看全量'],
252
- patterns: ['全量状态', '全局状态', '查看全量层'],
253
- description: '查看全量层状态 — 所有项目、需求、架构总览',
254
- },
255
- // 历史
256
- {
257
- id: 'history',
258
- intent: 'history',
259
- priority: 55,
260
- triggers: ['历史', '变更记录', '谁改的', '什么时候'],
261
- patterns: ['查看(.*)历史', '(.*)变更记录', '谁改了(.*)', '(.*)的变更历史'],
262
- description: '查看需求历史 — 变更历史和版本演进',
263
- },
264
- // ============================================================
265
- // P0/P1/P2 新增命令
266
- // ============================================================
267
- // 影响分析 (P0)
268
- {
269
- id: 'impact',
270
- intent: 'impact',
271
- priority: 80,
272
- triggers: ['影响', '依赖', '波及', '影响分析', '变更影响', '会影响谁'],
273
- patterns: ['(.*)影响(.*)', '变更(.*)影响', '分析(.*)依赖', '(.*)会影响谁'],
274
- description: '变更影响分析 — 分析需求变更对上下游的影响范围',
275
- },
276
- // 版本基线 (P1)
277
- {
278
- id: 'baseline',
279
- intent: 'baseline',
280
- priority: 60,
281
- triggers: ['基线', '快照', '版本', '回滚'],
282
- patterns: ['创建基线', '打快照', '回滚', '(.*)基线'],
283
- description: '版本基线管理 — 创建需求快照、对比和回滚',
284
- },
285
- // 仪表盘 (P1)
286
- {
287
- id: 'dashboard',
288
- intent: 'dashboard',
289
- priority: 55,
290
- triggers: ['仪表盘', '看板', '可视化', '总览图'],
291
- patterns: ['仪表盘', '看板', '可视化', '生成.*总览'],
292
- description: '可视化仪表盘 — 生成 Chart.js 图表看板',
293
- },
294
- // 智能审计 (P2)
295
- {
296
- id: 'audit',
297
- intent: 'audit',
298
- priority: 50,
299
- triggers: ['审计', '扫描', '检查', '重复', '歧义'],
300
- patterns: ['智能审计', '扫描全量层', '检查重复需求'],
301
- description: 'AI 智能审计 — 发现重复需求、歧义描述、孤立需求',
302
- },
303
- // 重命名
304
- {
305
- id: 'rename',
306
- intent: 'rename',
307
- priority: 78,
308
- triggers: ['重命名', '改名', '修改名称', '更换名称', '改成', '改名为', '更名为'],
309
- patterns: ['把(.*)改成(.*)', '重命名(.*)为(.*)', '修改(.*)名称为(.*)', '(.*)改名为(.*)'],
310
- description: '重命名期次/任务 — 自动更新所有关联引用',
311
- },
312
- // ============================================================
313
- // v4.0.0 新增命令
314
- // ============================================================
315
- // 新建多平台 Task (v4.0)
316
- {
317
- id: 'new-task',
318
- intent: 'new_task',
319
- priority: 84,
320
- triggers: ['新建任务', '创建任务', '多端任务', '全平台任务'],
321
- patterns: ['新建(.*)任务', '创建(.*)任务', '做一个(.*)任务', '为(.*)创建任务'],
322
- description: '创建多平台任务 — 支持 --platforms 指定前端平台',
323
- },
324
- // 添加平台 (v4.0)
325
- {
326
- id: 'platform-add',
327
- intent: 'platform_add',
328
- priority: 62,
329
- triggers: ['添加平台', '新增平台', '增加端', '新平台'],
330
- patterns: ['添加(.*)平台', '新增(.*)端', '增加(.*)平台'],
331
- description: '动态添加平台 — 自动同步到 platforms.yaml 和现有 Task',
332
- },
333
- // 更新索引 (v4.0)
334
- {
335
- id: 'index-update',
336
- intent: 'index_update',
337
- priority: 58,
338
- triggers: ['更新索引', '重建索引', '刷新索引'],
339
- patterns: ['更新索引', '重建索引', '刷新索引'],
340
- description: '索引更新 — 扫描需求文档自动重建 GLOBAL/INDEX.md',
341
- },
342
- // 查看上下文 (v4.0)
343
- {
344
- id: 'context',
345
- intent: 'context',
346
- priority: 60,
347
- triggers: ['上下文', '上下文状态', '加载状态', '当前状态', '查看上下文'],
348
- patterns: ['查看上下文', '上下文状态', '加载状态'],
349
- description: '上下文查看 — 查看 Task 的 Spec 文件加载状态和平台覆盖',
350
- },
351
- ];
352
- const CONTEXT_RULES = {
353
- execute: {
354
- intent: 'execute',
355
- noContextMessage: '当前无活跃期次,请先创建期次',
356
- withContextEnhancement: (ctx) => `当前期次: ${ctx.currentIteration},准备执行待开发任务`,
357
- },
358
- query_progress: {
359
- intent: 'query_progress',
360
- noContextMessage: '当前无活跃期次,无法查看进度',
361
- withContextEnhancement: (ctx) => `当前期次: ${ctx.currentIteration}`,
362
- },
363
- review: {
364
- intent: 'review',
365
- noContextMessage: '请指定要审查的 Task',
366
- withContextEnhancement: (ctx) => ctx.currentTask
367
- ? `审查当前 Task: ${ctx.currentTask}`
368
- : `审查当前期次: ${ctx.currentIteration}`,
369
- },
370
- change: {
371
- intent: 'change',
372
- noContextMessage: '请指定要变更的 Task',
373
- withContextEnhancement: (ctx) => ctx.currentTask
374
- ? `变更当前 Task: ${ctx.currentTask}`
375
- : `变更当前期次: ${ctx.currentIteration}`,
376
- },
377
- };
378
- // ============================================================
379
- // 意图识别引擎
380
- // ============================================================
381
- /**
382
- * 从用户自然语言输入中识别意图
383
- */
384
- async function recognizeIntent(input) {
385
- const context = await (0, context_1.loadContext)();
386
- const activeIteration = await (0, context_1.detectActiveIteration)();
387
- if (activeIteration) {
388
- context.currentIteration = activeIteration;
389
- }
390
- const results = [];
391
- const inputLower = input.toLowerCase();
392
- for (const mapping of COMMAND_MAPPINGS) {
393
- let totalScore = 0;
394
- const matched = [];
395
- // 1. 关键词直接匹配
396
- for (const trigger of mapping.triggers) {
397
- if (input.includes(trigger) || inputLower.includes(trigger.toLowerCase())) {
398
- totalScore += 20;
399
- matched.push(`关键词: "${trigger}"`);
400
- }
401
- }
402
- // 2. 正则模式匹配
403
- for (const pattern of mapping.patterns) {
404
- try {
405
- const regex = new RegExp(pattern);
406
- const match = input.match(regex);
407
- if (match) {
408
- totalScore += 30;
409
- matched.push(`模式: "${pattern}"`);
410
- }
411
- }
412
- catch {
413
- // 忽略无效正则
414
- }
415
- }
416
- if (totalScore > 0) {
417
- // 3. 优先级加成
418
- totalScore += mapping.priority * 0.3;
419
- // 4. 上下文感知增强
420
- let contextAware = false;
421
- const contextRule = CONTEXT_RULES[mapping.id];
422
- if (contextRule) {
423
- if (activeIteration) {
424
- totalScore += 15;
425
- contextAware = true;
426
- matched.push('上下文感知: 有活跃期次');
427
- }
428
- else if (mapping.intent === 'execute' ||
429
- mapping.intent === 'query_progress') {
430
- totalScore -= 20; // 无上下文降权
431
- matched.push('上下文感知: 无活跃期次');
432
- }
433
- }
434
- // 5. 计算置信度百分比 (0-100)
435
- const confidence = Math.min(100, Math.round(totalScore));
436
- // 6. 提取参数
437
- const extractedParams = extractParams(input, mapping);
438
- results.push({
439
- intent: mapping.intent,
440
- command: mapping.id,
441
- confidence,
442
- priority: mapping.priority,
443
- matchedTriggers: matched,
444
- extractedParams,
445
- contextAware,
446
- });
447
- }
448
- }
449
- // 按置信度降序排列
450
- return results.sort((a, b) => {
451
- if (b.confidence !== a.confidence)
452
- return b.confidence - a.confidence;
453
- return b.priority - a.priority;
454
- });
455
- }
456
- /**
457
- * 从输入中提取参数
458
- */
459
- function extractParams(input, mapping) {
460
- const params = {};
461
- // 提取任务名称(引号内容)
462
- const quoted = input.match(/[""]([^""]+)[""]/);
463
- if (quoted) {
464
- params.name = quoted[1];
465
- }
466
- // 提取描述(冒号后或"支持"后内容)
467
- const descMatch = input.match(/[::]\s*(.+)$/);
468
- if (descMatch) {
469
- params.desc = descMatch[1].trim();
470
- }
471
- // 从模式中提取参数
472
- for (const pattern of mapping.patterns) {
473
- try {
474
- const regex = new RegExp(pattern);
475
- const match = input.match(regex);
476
- if (match && match[1]) {
477
- if (!params.name) {
478
- params.name = match[1].trim();
479
- }
480
- if (match[2]) {
481
- params.target = match[2].trim();
482
- }
483
- }
484
- }
485
- catch {
486
- // 忽略
487
- }
488
- }
489
- // 检测是否指定了期次
490
- const iterMatch = input.match(/期次[::]*\s*(\S+)/);
491
- if (iterMatch) {
492
- params.iteration = iterMatch[1];
493
- }
494
- return params;
495
- }
496
- /**
497
- * 根据置信度分级获取行为建议
498
- */
499
- function getConfidenceLevel(confidence) {
500
- if (confidence >= 80)
501
- return 'high';
502
- if (confidence >= 50)
503
- return 'medium';
504
- return 'low';
505
- }
506
- /**
507
- * 获取所有命令映射(用于 help 命令)
508
- */
509
- function getAllCommandMappings() {
510
- return [...COMMAND_MAPPINGS];
511
- }
512
- /**
513
- * 根据命令 ID 获取映射
514
- */
515
- function getCommandMapping(commandId) {
516
- return COMMAND_MAPPINGS.find((m) => m.id === commandId);
517
- }
518
- /**
519
- * 根据意图类型获取相关命令
520
- */
521
- function getCommandsByIntent(intent) {
522
- return COMMAND_MAPPINGS.filter((m) => m.intent === intent);
523
- }
524
- //# sourceMappingURL=intent-recognition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intent-recognition.js","sourceRoot":"","sources":["../../src/core/intent-recognition.ts"],"names":[],"mappings":"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"}