speccore 7.1.0 → 7.2.1
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/.agents/skills/spec-ask/SKILL.md +10 -5
- package/README.md +24 -0
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts +6 -0
- package/dist/commands/analyze.d.ts.map +1 -1
- package/dist/commands/analyze.js +607 -56
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/ask.d.ts +1 -1
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +2 -2
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/config.js +2 -2
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/dev.js +30 -8
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/init.js +16 -276
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/iteration-from-global.js +2 -2
- package/dist/commands/prompts.d.ts +7 -0
- package/dist/commands/prompts.d.ts.map +1 -1
- package/dist/commands/prompts.js +650 -52
- package/dist/commands/prompts.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +149 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/core/ask-engine.d.ts.map +1 -1
- package/dist/core/ask-engine.js +58 -3
- package/dist/core/ask-engine.js.map +1 -1
- package/dist/core/change-impact-global.d.ts +20 -0
- package/dist/core/change-impact-global.d.ts.map +1 -0
- package/dist/core/change-impact-global.js +130 -0
- package/dist/core/change-impact-global.js.map +1 -0
- package/dist/core/dev-llm.d.ts +10 -0
- package/dist/core/dev-llm.d.ts.map +1 -1
- package/dist/core/dev-llm.js.map +1 -1
- package/dist/core/doc-cross-reference.d.ts +10 -0
- package/dist/core/doc-cross-reference.d.ts.map +1 -0
- package/dist/core/doc-cross-reference.js +108 -0
- package/dist/core/doc-cross-reference.js.map +1 -0
- package/dist/core/doc-quality-gate.d.ts +28 -0
- package/dist/core/doc-quality-gate.d.ts.map +1 -0
- package/dist/core/doc-quality-gate.js +209 -0
- package/dist/core/doc-quality-gate.js.map +1 -0
- package/dist/core/incremental-analyzer.js +1 -1
- package/dist/core/incremental-analyzer.js.map +1 -1
- package/dist/core/intent-recognition.d.ts.map +1 -1
- package/dist/core/intent-recognition.js +61 -2
- package/dist/core/intent-recognition.js.map +1 -1
- package/dist/core/iteration-cache.d.ts +48 -0
- package/dist/core/iteration-cache.d.ts.map +1 -0
- package/dist/core/iteration-cache.js +148 -0
- package/dist/core/iteration-cache.js.map +1 -0
- package/dist/core/platform-addition.js +3 -3
- package/dist/core/platform-addition.js.map +1 -1
- package/dist/core/semantic-locator.d.ts +42 -0
- package/dist/core/semantic-locator.d.ts.map +1 -0
- package/dist/core/semantic-locator.js +290 -0
- package/dist/core/semantic-locator.js.map +1 -0
- package/dist/core/structured-extractor.d.ts +89 -0
- package/dist/core/structured-extractor.d.ts.map +1 -0
- package/dist/core/structured-extractor.js +428 -0
- package/dist/core/structured-extractor.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/commands/prompts.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/commands/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCzE"}
|
package/dist/commands/status.js
CHANGED
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.statusCommand = statusCommand;
|
|
4
37
|
const logger_1 = require("../utils/logger");
|
|
@@ -7,6 +40,8 @@ const state_1 = require("../core/state");
|
|
|
7
40
|
const lock_manager_1 = require("../core/lock-manager");
|
|
8
41
|
const notification_1 = require("../core/notification");
|
|
9
42
|
const smart_recommend_1 = require("../core/smart-recommend");
|
|
43
|
+
const fs_extra_1 = require("fs-extra");
|
|
44
|
+
const path_1 = require("path");
|
|
10
45
|
async function statusCommand(options) {
|
|
11
46
|
const spinner = new logger_1.Spinner('Checking status');
|
|
12
47
|
spinner.start();
|
|
@@ -20,6 +55,15 @@ async function statusCommand(options) {
|
|
|
20
55
|
const tasks = graph.tasks.length > 0 ? graph.tasks : await (0, state_1.scanTasks)(iteration);
|
|
21
56
|
spinner.stop('Status loaded');
|
|
22
57
|
printStatus(iteration, tasks, options);
|
|
58
|
+
// v7.2.0+: 显示全局分析进度
|
|
59
|
+
await printGlobalAnalysisStatus();
|
|
60
|
+
// v7.2.0+: 检测全局分析文档是否因源码变更而过期
|
|
61
|
+
try {
|
|
62
|
+
const { detectStaleGlobalDocs, printStaleDocReport } = await Promise.resolve().then(() => __importStar(require('../core/change-impact-global')));
|
|
63
|
+
const staleDocs = await detectStaleGlobalDocs(process.cwd());
|
|
64
|
+
printStaleDocReport(staleDocs);
|
|
65
|
+
}
|
|
66
|
+
catch { /* ignore */ }
|
|
23
67
|
await printLockAndNotifications();
|
|
24
68
|
// v6.96.0+: 智能推荐
|
|
25
69
|
const recommendations = await (0, smart_recommend_1.generateRecommendations)(process.cwd());
|
|
@@ -54,6 +98,111 @@ function printStatus(iteration, tasks, options) {
|
|
|
54
98
|
logger_1.logger.info(`${options.type} tasks: ${filtered.length}`);
|
|
55
99
|
}
|
|
56
100
|
}
|
|
101
|
+
// ── v7.2.0+: 全局分析进度面板 ──
|
|
102
|
+
async function printGlobalAnalysisStatus() {
|
|
103
|
+
const globalDir = (0, path_1.join)(process.cwd(), '.speccore', 'GLOBAL');
|
|
104
|
+
if (!(await (0, fs_extra_1.pathExists)(globalDir)))
|
|
105
|
+
return;
|
|
106
|
+
logger_1.logger.info('');
|
|
107
|
+
logger_1.logger.info('🌍 全局分析进度');
|
|
108
|
+
logger_1.logger.info('');
|
|
109
|
+
// Layer 1: 检查各端 _INDEX.md
|
|
110
|
+
let layer1Done = false;
|
|
111
|
+
let layer2Done = false;
|
|
112
|
+
let layer3Done = false;
|
|
113
|
+
let layer4Done = false;
|
|
114
|
+
let layer4SubCompleted = [];
|
|
115
|
+
try {
|
|
116
|
+
const platformsDir = (0, path_1.join)(globalDir, 'platforms');
|
|
117
|
+
if (await (0, fs_extra_1.pathExists)(platformsDir)) {
|
|
118
|
+
const entries = await (0, fs_extra_1.readdir)(platformsDir, { withFileTypes: true });
|
|
119
|
+
const platformDirs = entries.filter(e => e.isDirectory() && e.name !== '_shared').map(e => e.name);
|
|
120
|
+
const hasIndex = platformDirs.length > 0 && (await Promise.all(platformDirs.map(async (d) => (0, fs_extra_1.pathExists)((0, path_1.join)(platformsDir, d, '_INDEX.md'))))).some(Boolean);
|
|
121
|
+
layer1Done = hasIndex;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch { /* ignore */ }
|
|
125
|
+
// Layer 2: _ASSOCIATION.md
|
|
126
|
+
if (layer1Done) {
|
|
127
|
+
layer2Done = await (0, fs_extra_1.pathExists)((0, path_1.join)(globalDir, 'platforms', '_shared', '_ASSOCIATION.md'));
|
|
128
|
+
}
|
|
129
|
+
// Layer 3: _MODULES.md
|
|
130
|
+
if (layer2Done) {
|
|
131
|
+
layer3Done = await (0, fs_extra_1.pathExists)((0, path_1.join)(globalDir, 'platforms', '_shared', '_MODULES.md'));
|
|
132
|
+
}
|
|
133
|
+
// Layer 4: 子层检测
|
|
134
|
+
if (layer3Done) {
|
|
135
|
+
const overviewDir = (0, path_1.join)(globalDir, 'overview');
|
|
136
|
+
const requirementsDir = (0, path_1.join)(globalDir, 'requirements');
|
|
137
|
+
if (await (0, fs_extra_1.pathExists)((0, path_1.join)(requirementsDir, 'REQUIREMENT.md')))
|
|
138
|
+
layer4SubCompleted.push('4a');
|
|
139
|
+
if (await (0, fs_extra_1.pathExists)((0, path_1.join)(overviewDir, 'ARCHITECTURE.md')) && await (0, fs_extra_1.pathExists)((0, path_1.join)(overviewDir, 'FUNCTION_MAP.md')))
|
|
140
|
+
layer4SubCompleted.push('4b');
|
|
141
|
+
if (await (0, fs_extra_1.pathExists)((0, path_1.join)(overviewDir, 'SECURITY_AUDIT.md')) || await (0, fs_extra_1.pathExists)((0, path_1.join)(overviewDir, 'DATA_FLOW.md')))
|
|
142
|
+
layer4SubCompleted.push('4c');
|
|
143
|
+
try {
|
|
144
|
+
const platformsDir = (0, path_1.join)(globalDir, 'platforms');
|
|
145
|
+
const entries = await (0, fs_extra_1.readdir)(platformsDir, { withFileTypes: true });
|
|
146
|
+
const platformDirs = entries.filter(e => e.isDirectory() && e.name !== '_shared').map(e => e.name);
|
|
147
|
+
const hasPlatformDoc = platformDirs.length > 0 && (await Promise.all(platformDirs.map(async (d) => (0, fs_extra_1.pathExists)((0, path_1.join)(platformsDir, d, 'API_INVENTORY.md')) || (0, fs_extra_1.pathExists)((0, path_1.join)(platformsDir, d, 'UI_FLOW.md'))))).some(Boolean);
|
|
148
|
+
if (hasPlatformDoc)
|
|
149
|
+
layer4SubCompleted.push('4d');
|
|
150
|
+
}
|
|
151
|
+
catch { /* ignore */ }
|
|
152
|
+
layer4Done = layer4SubCompleted.length === 4;
|
|
153
|
+
}
|
|
154
|
+
const layers = [
|
|
155
|
+
{ name: 'Layer 1 索引扫描', done: layer1Done },
|
|
156
|
+
{ name: 'Layer 2 跨端关联', done: layer2Done },
|
|
157
|
+
{ name: 'Layer 3 模块深入', done: layer3Done },
|
|
158
|
+
{ name: 'Layer 4 全局汇总', done: layer4Done },
|
|
159
|
+
];
|
|
160
|
+
for (const layer of layers) {
|
|
161
|
+
const status = layer.done ? '✅' : '⬜';
|
|
162
|
+
logger_1.logger.info(` ${status} ${layer.name}`);
|
|
163
|
+
}
|
|
164
|
+
// Layer 4 子层详情
|
|
165
|
+
if (layer3Done && !layer4Done) {
|
|
166
|
+
logger_1.logger.info('');
|
|
167
|
+
logger_1.logger.info(' Layer 4 子层:');
|
|
168
|
+
const subNames = {
|
|
169
|
+
'4a': '产品视角(requirements/)',
|
|
170
|
+
'4b': '技术核心(overview/)',
|
|
171
|
+
'4c': '技术扩展(overview/)',
|
|
172
|
+
'4d': '各端技术(platforms/)',
|
|
173
|
+
};
|
|
174
|
+
for (const sub of ['4a', '4b', '4c', '4d']) {
|
|
175
|
+
const done = layer4SubCompleted.includes(sub);
|
|
176
|
+
logger_1.logger.info(` ${done ? '✅' : '⬜'} ${subNames[sub]}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// 下一步提示
|
|
180
|
+
if (!layer4Done) {
|
|
181
|
+
logger_1.logger.info('');
|
|
182
|
+
const nextLayer = layer1Done ? (layer2Done ? (layer3Done ? 4 : 3) : 2) : 1;
|
|
183
|
+
logger_1.logger.info(` ➡️ 下一步: speccore analyze --scope global --layer ${nextLayer}`);
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
logger_1.logger.info('');
|
|
187
|
+
logger_1.logger.info(' 🎉 全局分析全部完成');
|
|
188
|
+
}
|
|
189
|
+
// 统计文档数量
|
|
190
|
+
try {
|
|
191
|
+
let docCount = 0;
|
|
192
|
+
const overviewDir = (0, path_1.join)(globalDir, 'overview');
|
|
193
|
+
const requirementsDir = (0, path_1.join)(globalDir, 'requirements');
|
|
194
|
+
if (await (0, fs_extra_1.pathExists)(overviewDir)) {
|
|
195
|
+
const files = await (0, fs_extra_1.readdir)(overviewDir);
|
|
196
|
+
docCount += files.filter(f => f.endsWith('.md') || f.endsWith('.yaml') || f.endsWith('.yml')).length;
|
|
197
|
+
}
|
|
198
|
+
if (await (0, fs_extra_1.pathExists)(requirementsDir)) {
|
|
199
|
+
const files = await (0, fs_extra_1.readdir)(requirementsDir);
|
|
200
|
+
docCount += files.filter(f => f.endsWith('.md')).length;
|
|
201
|
+
}
|
|
202
|
+
logger_1.logger.info(` 📄 已生成文档: ${docCount} 份`);
|
|
203
|
+
}
|
|
204
|
+
catch { /* ignore */ }
|
|
205
|
+
}
|
|
57
206
|
async function printLockAndNotifications() {
|
|
58
207
|
// 锁状态
|
|
59
208
|
const lock = await (0, lock_manager_1.checkLock)(process.cwd(), 'iteration');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-engine.d.ts","sourceRoot":"","sources":["../../src/core/ask-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ask-engine.d.ts","sourceRoot":"","sources":["../../src/core/ask-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/core/ask-engine.js
CHANGED
|
@@ -63,8 +63,8 @@ const COMMAND_KB = [
|
|
|
63
63
|
usage: 'speccore spec2doc [-i <iteration>] [-t <task>] [-f <format>] [-o <output>]', examples: ['speccore spec2doc -i Q3 -o 需求.docx', 'speccore spec2doc -t T-01 -f html'], related: ['doc2spec'], triggers: ['导出', 'spec2doc', '生成文档', '导出word', '导出pdf'] },
|
|
64
64
|
{ name: 'dashboard', aliases: ['db', 'sp'], description: '项目仪表盘:迭代状态/进度/健康度,--scope global 全量视图',
|
|
65
65
|
usage: 'speccore dashboard [--scope global|iteration] [--export html] [--health] [--lifecycle]', examples: ['speccore dashboard', 'speccore dashboard --scope global --export html'], related: ['analyze', 'health'], triggers: ['看板', '仪表盘', 'dashboard', '进度', '状态'] },
|
|
66
|
-
{ name: 'analyze', aliases: ['al'], description: '统一分析:需求文档+源码→分析报告。支持 --full
|
|
67
|
-
usage: 'speccore analyze [--task <id>] [--iteration <name>] [--full] [--phase <n>] [--feature <module>] [--doc <type/slug>] [--
|
|
66
|
+
{ name: 'analyze', aliases: ['al'], description: '统一分析:需求文档+源码→分析报告。支持 --full 三阶段合成,--deep 单文档深度分析(字数/图表翻倍),--iterative 迭代式生成(大纲→逐节填充),--filter 按需分析指定模块,--with-code 注入代码结构化数据,--phase 单阶段合成,--feature 局部分析功能模块,--doc 局部分析类型文档,--sync 任务分析后局部回写 020-specs/,--no-source 跳过源码,--supplement 追加源码',
|
|
67
|
+
usage: 'speccore analyze [--task <id>] [--iteration <name>] [--full] [--deep <doc>] [--iterative] [--filter <keywords>] [--with-code] [--phase <n>] [--feature <module>] [--doc <type/slug>] [--no-source] [--source-scope <dirs>] [--supplement] [--sync] [--scope global] [--dev-guide]', examples: ['speccore analyze', 'speccore analyze --full -i Q2', 'speccore analyze --deep ARCHITECTURE.md --iterative', 'speccore analyze --filter "订单,支付" --with-code', 'speccore analyze --phase 1 -i Q2', 'speccore analyze --feature 支付模块', 'speccore analyze --doc bugs/login-timeout', 'speccore analyze --with-code', 'speccore analyze --supplement --source-scope src/core', 'speccore analyze --task Task-001 --apply "..." --sync'], related: ['dashboard', 'validate', 'code-index', 'refresh', 'synthesize'], triggers: ['分析', 'analyze', '审计', 'audit', '检查', '结合源码', '连代码', '带代码', '源码分析', '迭代分析', '分析迭代', '倒推需求', '反推', '从代码生成', '分析代码', '不读源码', '不读代码', '跳过源码', '指定目录分析', '只扫描', '补充分析', '追加分析', '补充源码', '追加源码', '遗漏', '没分析到', '没覆盖', '漏掉', '再分析', '多读几个', '局部分析', '单个模块', '单独分析', 'bug分析', '重构分析', '局部回写', '回写spec', '同步spec', '合成需求', '合并需求', '需求合成', '智能合成', '需求合并', '多端合成', '全量分析', '跨端综合', '全量合成', '开发指南', '生成开发指南', '带开发指南', '深度分析', '深入分析', '详细分析', '迭代生成', '逐节分析', '大纲分析', '按需分析', '只分析', '过滤分析', '聚焦分析'] },
|
|
68
68
|
{ name: 'code-index', aliases: ['ci', 'idx'], description: '源码索引:扫描项目代码,自动识别多端/模块/依赖,生成 Markdown 索引',
|
|
69
69
|
usage: 'speccore code-index [--full] [--scope <dirs>] [--show]', examples: ['speccore code-index', 'speccore code-index --full', 'speccore code-index --scope src/commands,src/core', 'speccore code-index --show'], related: ['analyze', 'dev'], triggers: ['代码索引', '源码索引', 'code-index', '索引', '建索引', '更新索引', '扫描代码', '代码结构', '模块索引', '项目结构'] },
|
|
70
70
|
{ name: 'execute', aliases: ['ex'], description: '执行开发任务:依赖排序+分批+交互引导+计划联动',
|
|
@@ -965,6 +965,38 @@ async function synthesizeIntent(input) {
|
|
|
965
965
|
}
|
|
966
966
|
else
|
|
967
967
|
parsed.name = nameMatch[1];
|
|
968
|
+
// v7.2.0+: 分析深度参数提取
|
|
969
|
+
// --deep: 深度分析(指定文档名或泛化表述)
|
|
970
|
+
const deepDocMatch = input.match(/(?:深度分析|深入分析|详细分析|深度生成)\s*(?:文档?)?\s*([A-Z_\-]+\.md|[A-Z_\-]+)/i);
|
|
971
|
+
if (deepDocMatch) {
|
|
972
|
+
parsed.deep = deepDocMatch[1];
|
|
973
|
+
}
|
|
974
|
+
else if (/深度|深入|详细|逐节|慢慢|一步一步/.test(input)) {
|
|
975
|
+
parsed.deep = 'auto'; // 用户表达了深度意愿但未指定文档,后续由 analyze 逻辑决定
|
|
976
|
+
}
|
|
977
|
+
// --iterative: 迭代式生成
|
|
978
|
+
if (/迭代|逐节|分节|分段|大纲|先大纲|确认后再|一步一步/.test(input)) {
|
|
979
|
+
parsed.iterative = 'true';
|
|
980
|
+
}
|
|
981
|
+
// --filter: 按需分析关键词
|
|
982
|
+
const filterMatch = input.match(/(?:只分析|仅分析|过滤|只看|限定|聚焦|针对)\s*(?:模块?)?\s*["""]?([^""",,;;]+)["""]?/);
|
|
983
|
+
if (filterMatch) {
|
|
984
|
+
parsed.filter = filterMatch[1].replace(/[\s|]+/g, ',').trim();
|
|
985
|
+
}
|
|
986
|
+
else if (/只[看要]?(?:订单|支付|用户|登录|认证|权限|消息|通知|搜索|配置|监控|日志|统计|报表|报表|导入|导出|审批|工作流|定时|调度|缓存|队列|文件|图片|视频|音频|地图|定位|推送|邮件|短信|微信|支付宝|银行卡|优惠券|积分|会员|商品|库存|购物车|结算|退款|售后|客服|评价|收藏|关注|订阅|分享|邀请|注册|注销|修改密码|重置密码|绑定|解绑|实名|认证|授权|委托|代理|分销|团购|秒杀|预售|拍卖|抽奖|签到|打卡|排行|等级|勋章|成就|任务|活动|运营|广告|banner|弹窗|引导|教程|帮助|反馈|投诉|举报|禁言|封号|解封|白名单|黑名单|灰度|AB测试|埋点|性能|安全|备份|恢复|迁移|升级|降级|回滚|扩容|缩容|集群|负载均衡|网关|代理|CDN|DNS|SSL|HTTPS|OAuth|JWT|SSO|LDAP|AD|RBAC|ACL|审计|加密|解密|签名|验签|哈希|压缩|解压|编码|解码|序列化|反序列化|模板|引擎|解析器|编译器|解释器|虚拟机|容器|镜像|编排|调度|服务发现|配置中心|注册中心|熔断|限流|降级|重试|超时|幂等|事务|锁|并发|并行|异步|同步|阻塞|非阻塞|轮询|长连接|WebSocket|SSE|MQTT|gRPC|GraphQL|REST|RPC|SOAP|消息队列|事件总线|发布订阅|观察者|责任链|策略|工厂|单例|代理|装饰器|适配器|桥接|组合|享元|外观|模板方法|访问者|中介者|备忘录|迭代器|命令|解释器|状态|备忘录|访问者|中介者|迭代器|命令|解释器|状态)/i.test(input)) {
|
|
987
|
+
// 如果输入中包含明显的业务模块关键词但没有显式"只分析",也尝试提取作为 filter
|
|
988
|
+
const bizMatch = input.match(/(?:订单|支付|用户|登录|认证|权限|消息|通知|搜索|配置|监控|日志|统计|报表|导入|导出|审批|工作流|定时|调度|缓存|队列|文件|图片|视频|音频|地图|定位|推送|邮件|短信|微信|支付宝|银行卡|优惠券|积分|会员|商品|库存|购物车|结算|退款|售后|客服|评价|收藏|关注|订阅|分享|邀请|注册|注销|修改密码|重置密码|绑定|解绑|实名|授权|委托|代理|分销|团购|秒杀|预售|拍卖|抽奖|签到|打卡|排行|等级|勋章|成就|任务|活动|运营|广告|banner|弹窗|引导|教程|帮助|反馈|投诉|举报|禁言|封号|解封|白名单|黑名单|灰度|AB测试|埋点|性能|安全|备份|恢复|迁移|升级|降级|回滚|扩容|缩容|集群|负载均衡|网关|代理|CDN|DNS|SSL|HTTPS|OAuth|JWT|SSO|LDAP|AD|RBAC|ACL|审计|加密|解密|签名|验签|哈希|压缩|解压|编码|解码|序列化|反序列化|模板|引擎|解析器|编译器|解释器|虚拟机|容器|镜像|编排|调度|服务发现|配置中心|注册中心|熔断|限流|降级|重试|超时|幂等|事务|锁|并发|并行|异步|同步|阻塞|非阻塞|轮询|长连接|WebSocket|SSE|MQTT|gRPC|GraphQL|REST|RPC|SOAP|消息队列|事件总线|发布订阅|观察者|责任链|策略|工厂|单例|代理|装饰器|适配器|桥接|组合|享元|外观|模板方法|访问者|中介者|备忘录|迭代器|命令|解释器|状态)/i);
|
|
989
|
+
if (bizMatch)
|
|
990
|
+
parsed.filter = bizMatch[0];
|
|
991
|
+
}
|
|
992
|
+
// --with-code: 关联代码分析
|
|
993
|
+
if (/代码|源码|结构化|AST|接口|实体|组件|路由|带代码|连代码/.test(input)) {
|
|
994
|
+
parsed.withCode = 'true';
|
|
995
|
+
}
|
|
996
|
+
// --scope global: 全局分析
|
|
997
|
+
if (/全局|全量|整体|项目级|架构级|跨端/.test(input) && !parsed.iteration) {
|
|
998
|
+
parsed.scope = 'global';
|
|
999
|
+
}
|
|
968
1000
|
// ═══ 2. 上下文补全 ═══
|
|
969
1001
|
try {
|
|
970
1002
|
const { getDefaultIteration } = await Promise.resolve().then(() => __importStar(require('./context')));
|
|
@@ -1020,9 +1052,32 @@ async function synthesizeIntent(input) {
|
|
|
1020
1052
|
break;
|
|
1021
1053
|
case 'analyze':
|
|
1022
1054
|
args = parsed.iteration ? `-I ${parsed.iteration}` : '';
|
|
1055
|
+
if (parsed.scope === 'global') {
|
|
1056
|
+
args += ' --scope global';
|
|
1057
|
+
}
|
|
1058
|
+
if (parsed.deep && parsed.deep !== 'auto') {
|
|
1059
|
+
args += ` --deep ${parsed.deep}`;
|
|
1060
|
+
autoFilled.push({ field: 'deep', value: parsed.deep, reason: '从输入中识别深度分析目标文档' });
|
|
1061
|
+
}
|
|
1062
|
+
else if (parsed.deep === 'auto') {
|
|
1063
|
+
args += ' --deep';
|
|
1064
|
+
autoFilled.push({ field: 'deep', value: 'true', reason: '用户表达深度分析意愿' });
|
|
1065
|
+
}
|
|
1066
|
+
if (parsed.iterative) {
|
|
1067
|
+
args += ' --iterative';
|
|
1068
|
+
autoFilled.push({ field: 'iterative', value: 'true', reason: '用户要求迭代式生成' });
|
|
1069
|
+
}
|
|
1070
|
+
if (parsed.filter) {
|
|
1071
|
+
args += ` --filter "${parsed.filter}"`;
|
|
1072
|
+
autoFilled.push({ field: 'filter', value: parsed.filter, reason: '从输入中提取过滤关键词' });
|
|
1073
|
+
}
|
|
1074
|
+
if (parsed.withCode) {
|
|
1075
|
+
args += ' --with-code';
|
|
1076
|
+
autoFilled.push({ field: 'withCode', value: 'true', reason: '用户要求关联代码分析' });
|
|
1077
|
+
}
|
|
1023
1078
|
if (parsed.type)
|
|
1024
1079
|
args += ` --type ${parsed.type}`;
|
|
1025
|
-
explanation = parsed.
|
|
1080
|
+
explanation = parsed.deep ? `深度分析(${parsed.deep === 'auto' ? '全文档' : parsed.deep})` : (parsed.filter ? `按需分析(${parsed.filter})` : '分析');
|
|
1026
1081
|
break;
|
|
1027
1082
|
case 'validate':
|
|
1028
1083
|
args = parsed.iteration ? `--iteration=${parsed.iteration}` : '';
|