apifox-workspace-mcp 2.0.7 → 2.1.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 (45) hide show
  1. package/dist/core/cache/unified-cache-manager.d.ts +60 -2
  2. package/dist/core/cache/unified-cache-manager.d.ts.map +1 -1
  3. package/dist/core/cache/unified-cache-manager.js +167 -2
  4. package/dist/core/cache/unified-cache-manager.js.map +1 -1
  5. package/dist/core/config/manager.d.ts +23 -0
  6. package/dist/core/config/manager.d.ts.map +1 -1
  7. package/dist/core/config/manager.js +90 -1
  8. package/dist/core/config/manager.js.map +1 -1
  9. package/dist/core/parser/index.d.ts +1 -1
  10. package/dist/core/parser/index.d.ts.map +1 -1
  11. package/dist/core/parser/index.js +1 -1
  12. package/dist/core/parser/index.js.map +1 -1
  13. package/dist/core/parser/llms.d.ts +12 -0
  14. package/dist/core/parser/llms.d.ts.map +1 -1
  15. package/dist/core/parser/llms.js +24 -0
  16. package/dist/core/parser/llms.js.map +1 -1
  17. package/dist/lib/env.d.ts.map +1 -1
  18. package/dist/lib/env.js.map +1 -1
  19. package/dist/lib/project-root.d.ts +5 -5
  20. package/dist/lib/project-root.d.ts.map +1 -1
  21. package/dist/lib/project-root.js +82 -42
  22. package/dist/lib/project-root.js.map +1 -1
  23. package/dist/server/handlers/get-interface-detail.d.ts.map +1 -1
  24. package/dist/server/handlers/get-interface-detail.js +14 -5
  25. package/dist/server/handlers/get-interface-detail.js.map +1 -1
  26. package/dist/server/handlers/index.d.ts +1 -0
  27. package/dist/server/handlers/index.d.ts.map +1 -1
  28. package/dist/server/handlers/index.js +1 -0
  29. package/dist/server/handlers/index.js.map +1 -1
  30. package/dist/server/handlers/list-project-interfaces.d.ts.map +1 -1
  31. package/dist/server/handlers/list-project-interfaces.js +23 -13
  32. package/dist/server/handlers/list-project-interfaces.js.map +1 -1
  33. package/dist/server/handlers/parse-and-add-project.d.ts.map +1 -1
  34. package/dist/server/handlers/parse-and-add-project.js +9 -9
  35. package/dist/server/handlers/parse-and-add-project.js.map +1 -1
  36. package/dist/server/handlers/query-interfaces.d.ts.map +1 -1
  37. package/dist/server/handlers/query-interfaces.js +12 -0
  38. package/dist/server/handlers/query-interfaces.js.map +1 -1
  39. package/dist/server/handlers/refresh-project-cache.d.ts +22 -0
  40. package/dist/server/handlers/refresh-project-cache.d.ts.map +1 -0
  41. package/dist/server/handlers/refresh-project-cache.js +45 -0
  42. package/dist/server/handlers/refresh-project-cache.js.map +1 -0
  43. package/dist/server/index.js +32 -4
  44. package/dist/server/index.js.map +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"llms.d.ts","sourceRoot":"","sources":["../../../src/core/parser/llms.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CA8DnE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAWnF"}
1
+ {"version":3,"file":"llms.d.ts","sourceRoot":"","sources":["../../../src/core/parser/llms.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CA8DnE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAWnF;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACxE,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAeD"}
@@ -6,6 +6,7 @@
6
6
  * - Invoice > Info [Create Invoice Info](https://apifox.advai.net/apidoc/shared/3fe93a62-4f68-45ac-b263-e078e1928dfc/api-2406.md): v2.28
7
7
  */
8
8
  import axios from 'axios';
9
+ import { createHash } from 'crypto';
9
10
  /**
10
11
  * 解析 llms.txt 文件内容
11
12
  *
@@ -64,6 +65,12 @@ export function parseLlmsContent(content) {
64
65
  }
65
66
  return interfaces;
66
67
  }
68
+ /**
69
+ * 计算 llms.txt 内容的 Hash(16 位)
70
+ */
71
+ export function calculateLlmsHash(content) {
72
+ return createHash('sha256').update(content).digest('hex').substring(0, 16);
73
+ }
67
74
  /**
68
75
  * 从 llms.txt URL 获取并解析接口列表
69
76
  *
@@ -80,4 +87,21 @@ export async function fetchAndParseLlms(llmsUrl) {
80
87
  throw new Error(`获取或解析 llms.txt 失败: ${error instanceof Error ? error.message : String(error)}`);
81
88
  }
82
89
  }
90
+ /**
91
+ * 从 llms.txt 获取接口列表和 Hash
92
+ * 这是 fetchAndParseLlms 的扩展版本,同时返回 Hash
93
+ */
94
+ export async function fetchAndParseLlmsWithHash(llmsUrl) {
95
+ try {
96
+ const response = await axios.get(llmsUrl, { timeout: 30000 });
97
+ const content = typeof response.data === 'string' ? response.data : JSON.stringify(response.data);
98
+ return {
99
+ interfaces: parseLlmsContent(content),
100
+ contentHash: calculateLlmsHash(content),
101
+ };
102
+ }
103
+ catch (error) {
104
+ throw new Error(`获取或解析 llms.txt 失败: ${error instanceof Error ? error.message : String(error)}`);
105
+ }
106
+ }
83
107
  //# sourceMappingURL=llms.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"llms.js","sourceRoot":"","sources":["../../../src/core/parser/llms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llms.js","sourceRoot":"","sources":["../../../src/core/parser/llms.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,yBAAyB,CAAC;AAY1D,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,CAuDhF"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,yBAAyB,CAAC;AAmB1D,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,CAuDhF"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/lib/env.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  /**
2
2
  * 查找项目根目录
3
- * 通过查找 package.json、.git 等标识文件来确定项目根目录
3
+ * 查找当前使用 MCP Server 的业务项目根目录(不是 MCP Server 项目本身的根目录)
4
4
  *
5
5
  * 查找优先级:
6
6
  * 1. 环境变量 CURSOR_WORKSPACE_ROOT(如果 Cursor 传递了工作区路径)
7
- * 2. 从 .cursor/mcp.json 的位置推断(最可靠的方法)
8
- * 3. 从起始目录向上查找 package.json 或 .git
9
- * 4. 如果都找不到,返回起始目录
7
+ * 2. 从 .cursor/mcp.json 的位置推断(最可靠的方法,但排除 MCP Server 项目本身)
8
+ * 3. 从当前工作目录向上查找 package.json 或 .git(排除 MCP Server 项目本身)
9
+ * 4. 如果都找不到,使用当前工作目录(但会警告)
10
10
  *
11
11
  * @param startDir 起始目录,默认为当前工作目录
12
- * @returns 项目根目录路径,如果找不到则返回起始目录
12
+ * @returns 业务项目根目录路径
13
13
  */
14
14
  export declare function findProjectRoot(startDir?: string): string;
15
15
  //# sourceMappingURL=project-root.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../../src/lib/project-root.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAqFzD"}
1
+ {"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../../src/lib/project-root.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CA6GzD"}
@@ -1,76 +1,115 @@
1
- import { existsSync } from 'fs';
1
+ import { existsSync, readFileSync } from 'fs';
2
2
  import { dirname, join, resolve } from 'path';
3
3
  import { cwd, env } from 'process';
4
4
  import { logger } from './logger.js';
5
+ /**
6
+ * 检查指定目录是否是 MCP Server 项目本身
7
+ * 通过检查 package.json 中的 name 字段来判断
8
+ */
9
+ function isMcpServerProject(dir) {
10
+ try {
11
+ const packageJsonPath = join(dir, 'package.json');
12
+ if (existsSync(packageJsonPath)) {
13
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
14
+ return packageJson.name === 'apifox-workspace-mcp';
15
+ }
16
+ }
17
+ catch {
18
+ // 忽略错误,继续查找
19
+ }
20
+ return false;
21
+ }
5
22
  /**
6
23
  * 查找项目根目录
7
- * 通过查找 package.json、.git 等标识文件来确定项目根目录
24
+ * 查找当前使用 MCP Server 的业务项目根目录(不是 MCP Server 项目本身的根目录)
8
25
  *
9
26
  * 查找优先级:
10
27
  * 1. 环境变量 CURSOR_WORKSPACE_ROOT(如果 Cursor 传递了工作区路径)
11
- * 2. 从 .cursor/mcp.json 的位置推断(最可靠的方法)
12
- * 3. 从起始目录向上查找 package.json 或 .git
13
- * 4. 如果都找不到,返回起始目录
28
+ * 2. 从 .cursor/mcp.json 的位置推断(最可靠的方法,但排除 MCP Server 项目本身)
29
+ * 3. 从当前工作目录向上查找 package.json 或 .git(排除 MCP Server 项目本身)
30
+ * 4. 如果都找不到,使用当前工作目录(但会警告)
14
31
  *
15
32
  * @param startDir 起始目录,默认为当前工作目录
16
- * @returns 项目根目录路径,如果找不到则返回起始目录
33
+ * @returns 业务项目根目录路径
17
34
  */
18
35
  export function findProjectRoot(startDir) {
19
36
  // 优先级 1: 使用环境变量(如果 Cursor 传递了工作区路径)
20
37
  if (env.CURSOR_WORKSPACE_ROOT) {
21
38
  const workspaceRoot = resolve(env.CURSOR_WORKSPACE_ROOT);
22
- logger.info(`[findProjectRoot] 使用环境变量 CURSOR_WORKSPACE_ROOT: ${workspaceRoot}`);
23
- logger.debug(`[findProjectRoot] 缓存文件将位于: ${join(workspaceRoot, '.cursor', 'tmp', 'apifox-interfaces-cache.json')}`);
24
- return workspaceRoot;
39
+ // 检查是否是 MCP Server 项目本身,如果是则继续查找
40
+ if (!isMcpServerProject(workspaceRoot)) {
41
+ logger.info(`[findProjectRoot] 使用环境变量 CURSOR_WORKSPACE_ROOT: ${workspaceRoot}`);
42
+ logger.debug(`[findProjectRoot] 缓存文件将位于: ${join(workspaceRoot, '.cursor', 'tmp', 'apifox-interfaces-cache.json')}`);
43
+ return workspaceRoot;
44
+ }
45
+ else {
46
+ logger.debug(`[findProjectRoot] CURSOR_WORKSPACE_ROOT 指向 MCP Server 项目本身,继续查找业务项目`);
47
+ }
25
48
  }
49
+ // 确定起始目录
50
+ const searchStartDir = startDir ? resolve(startDir) : resolve(cwd());
51
+ logger.debug(`[findProjectRoot] 查找业务项目根目录,起始目录: ${searchStartDir}`);
52
+ logger.debug(`[findProjectRoot] 当前工作目录 (cwd): ${cwd()}`);
26
53
  // 优先级 2: 从 .cursor/mcp.json 的位置推断项目根目录
27
- // 如果项目中有 .cursor/mcp.json,说明该目录就是项目根目录
28
- if (!startDir) {
29
- let currentDir = resolve(cwd());
30
- const root = resolve('/');
31
- while (currentDir !== root) {
32
- const mcpConfigPath = join(currentDir, '.cursor', 'mcp.json');
33
- if (existsSync(mcpConfigPath)) {
34
- logger.info(`[findProjectRoot] .cursor/mcp.json 找到项目根目录: ${currentDir}`);
54
+ // 如果业务项目中有 .cursor/mcp.json,说明该目录就是项目根目录
55
+ // 但要排除 MCP Server 项目本身的 .cursor/mcp.json
56
+ let currentDir = searchStartDir;
57
+ const root = resolve('/');
58
+ while (currentDir !== root) {
59
+ const mcpConfigPath = join(currentDir, '.cursor', 'mcp.json');
60
+ if (existsSync(mcpConfigPath)) {
61
+ // 检查这个目录是否是 MCP Server 项目本身
62
+ if (!isMcpServerProject(currentDir)) {
63
+ logger.info(`[findProjectRoot] 从 .cursor/mcp.json 找到业务项目根目录: ${currentDir}`);
35
64
  logger.debug(`[findProjectRoot] 缓存文件将位于: ${join(currentDir, '.cursor', 'tmp', 'apifox-interfaces-cache.json')}`);
36
65
  return currentDir;
37
66
  }
38
- const parentDir = dirname(currentDir);
39
- if (parentDir === currentDir) {
40
- break;
67
+ else {
68
+ logger.debug(`[findProjectRoot] 跳过 MCP Server 项目本身的 .cursor/mcp.json,继续向上查找`);
41
69
  }
42
- currentDir = parentDir;
43
70
  }
44
- // 如果找不到 .cursor/mcp.json,使用 cwd() 作为起始目录
45
- startDir = cwd();
71
+ const parentDir = dirname(currentDir);
72
+ if (parentDir === currentDir) {
73
+ break;
74
+ }
75
+ currentDir = parentDir;
46
76
  }
47
77
  // 优先级 3: 从起始目录向上查找 package.json 或 .git
48
- let currentDir = resolve(startDir);
49
- const root = resolve('/');
50
- const startDirResolved = resolve(startDir);
51
- logger.debug(`[findProjectRoot] 查找项目根目录,起始目录: ${startDirResolved}`);
52
- logger.debug(`[findProjectRoot] 当前工作目录 (cwd): ${cwd()}`);
78
+ // 但要排除 MCP Server 项目本身的目录
79
+ currentDir = searchStartDir;
53
80
  while (currentDir !== root) {
54
81
  const packageJsonPath = join(currentDir, 'package.json');
55
82
  const gitPath = join(currentDir, '.git');
56
83
  const nodeModulesPath = join(currentDir, 'node_modules');
57
- // 如果存在 package.json 或 .git,认为是项目根目录
84
+ // 如果存在 package.json 或 .git,检查是否是 MCP Server 项目本身
58
85
  if (existsSync(packageJsonPath) || existsSync(gitPath)) {
59
- logger.info(`[findProjectRoot] 找到项目根目录: ${currentDir}`);
60
- if (existsSync(packageJsonPath)) {
61
- logger.debug(`[findProjectRoot] - 找到 package.json: ${packageJsonPath}`);
86
+ // 排除 MCP Server 项目本身
87
+ if (!isMcpServerProject(currentDir)) {
88
+ logger.info(`[findProjectRoot] 找到业务项目根目录: ${currentDir}`);
89
+ if (existsSync(packageJsonPath)) {
90
+ logger.debug(`[findProjectRoot] - 找到 package.json: ${packageJsonPath}`);
91
+ }
92
+ if (existsSync(gitPath)) {
93
+ logger.debug(`[findProjectRoot] - 找到 .git: ${gitPath}`);
94
+ }
95
+ logger.debug(`[findProjectRoot] 缓存文件将位于: ${join(currentDir, '.cursor', 'tmp', 'apifox-interfaces-cache.json')}`);
96
+ return currentDir;
62
97
  }
63
- if (existsSync(gitPath)) {
64
- logger.debug(`[findProjectRoot] - 找到 .git: ${gitPath}`);
98
+ else {
99
+ logger.debug(`[findProjectRoot] 跳过 MCP Server 项目本身,继续向上查找`);
65
100
  }
66
- logger.debug(`[findProjectRoot] 缓存文件将位于: ${join(currentDir, '.cursor', 'tmp', 'apifox-interfaces-cache.json')}`);
67
- return currentDir;
68
101
  }
69
- // 如果遇到 node_modules,返回其父目录
102
+ // 如果遇到 node_modules,检查其父目录
70
103
  if (existsSync(nodeModulesPath)) {
71
104
  const projectRoot = dirname(nodeModulesPath);
72
- logger.info(`找到项目根目录(通过 node_modules): ${projectRoot}`);
73
- return projectRoot;
105
+ if (!isMcpServerProject(projectRoot)) {
106
+ logger.info(`[findProjectRoot] 找到业务项目根目录(通过 node_modules): ${projectRoot}`);
107
+ logger.debug(`[findProjectRoot] 缓存文件将位于: ${join(projectRoot, '.cursor', 'tmp', 'apifox-interfaces-cache.json')}`);
108
+ return projectRoot;
109
+ }
110
+ else {
111
+ logger.debug(`[findProjectRoot] 跳过 MCP Server 项目本身的 node_modules,继续向上查找`);
112
+ }
74
113
  }
75
114
  const parentDir = dirname(currentDir);
76
115
  if (parentDir === currentDir) {
@@ -79,8 +118,9 @@ export function findProjectRoot(startDir) {
79
118
  currentDir = parentDir;
80
119
  }
81
120
  // 优先级 4: 如果都找不到,使用起始目录(但会警告)
82
- logger.warn(`[findProjectRoot] 未找到项目标识文件,使用起始目录: ${startDirResolved}`);
83
- logger.warn(`[findProjectRoot] 缓存文件将位于: ${join(startDirResolved, '.cursor', 'tmp', 'apifox-interfaces-cache.json')}`);
84
- return startDirResolved;
121
+ logger.warn(`[findProjectRoot] 未找到业务项目标识文件,使用起始目录: ${searchStartDir}`);
122
+ logger.warn(`[findProjectRoot] 缓存文件将位于: ${join(searchStartDir, '.cursor', 'tmp', 'apifox-interfaces-cache.json')}`);
123
+ logger.warn(`[findProjectRoot] 提示: 确保在业务项目目录中打开 Cursor,或设置 CURSOR_WORKSPACE_ROOT 环境变量`);
124
+ return searchStartDir;
85
125
  }
86
126
  //# sourceMappingURL=project-root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-root.js","sourceRoot":"","sources":["../../src/lib/project-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC/C,oCAAoC;IACpC,IAAI,GAAG,CAAC,qBAAqB,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,mDAAmD,aAAa,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CACV,8BAA8B,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,8BAA8B,CAAC,EAAE,CACtG,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,uCAAuC;IACvC,uCAAuC;IACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAE1B,OAAO,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,iDAAiD,UAAU,EAAE,CAAC,CAAC;gBAC3E,MAAM,CAAC,KAAK,CACV,8BAA8B,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,8BAA8B,CAAC,EAAE,CACnG,CAAC;gBACF,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAM;YACR,CAAC;YACD,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;QAED,yCAAyC;QACzC,QAAQ,GAAG,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,uCAAuC;IACvC,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,CAAC,KAAK,CAAC,mCAAmC,gBAAgB,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEzD,OAAO,UAAU,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAEzD,oCAAoC;QACpC,IAAI,UAAU,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;YACxD,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,0CAA0C,eAAe,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,CAAC,KAAK,CACV,8BAA8B,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,8BAA8B,CAAC,EAAE,CACnG,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,2BAA2B;QAC3B,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC;YACxD,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM;QACR,CAAC;QACD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,6BAA6B;IAC7B,MAAM,CAAC,IAAI,CAAC,uCAAuC,gBAAgB,EAAE,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,CACT,8BAA8B,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,8BAA8B,CAAC,EAAE,CACzG,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"project-root.js","sourceRoot":"","sources":["../../src/lib/project-root.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-interface-detail.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/get-interface-detail.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,YAAY,EAOb,MAAM,qBAAqB,CAAC;AAS7B,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,sBAAsB,EAC5B,GAAG,EAAE,yBAAyB;;;;;;;;;;;;GAuQ/B"}
1
+ {"version":3,"file":"get-interface-detail.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/get-interface-detail.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,YAAY,EAQb,MAAM,qBAAqB,CAAC;AAU7B,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,sBAAsB,EAC5B,GAAG,EAAE,yBAAyB;;;;;;;;;;;;GAsR/B"}
@@ -1,4 +1,5 @@
1
- import { generateArtifact, UnifiedCacheManager, parseApifoxUrl, isValidApifoxUrl, parseInterfaceFromMd, fetchAndParseLlms, } from '../../core/index.js';
1
+ import { generateArtifact, UnifiedCacheManager, parseApifoxUrl, isValidApifoxUrl, parseInterfaceFromMd, fetchAndParseLlmsWithHash, } from '../../core/index.js';
2
+ import { logger } from '../../lib/logger.js';
2
3
  import { resolveProjectInfo, buildTextResponse, buildMissingTokenResponse, buildCurlSnippet, buildFetchSnippet, } from './utils.js';
3
4
  /**
4
5
  * 处理获取接口详情请求
@@ -20,13 +21,13 @@ export async function handleGetInterfaceDetail(args, ctx) {
20
21
  if (!cachedProject && parsed.llmsUrl) {
21
22
  // 如果缓存中没有,从 llms.txt 解析并缓存
22
23
  try {
23
- const interfaces = await fetchAndParseLlms(parsed.llmsUrl);
24
+ const { interfaces, contentHash } = await fetchAndParseLlmsWithHash(parsed.llmsUrl);
24
25
  // 如果无法获取真实项目名称,使用 ${shareId}-${projectId} 作为后备
25
26
  const projectName = parsed.projectName ||
26
27
  (parsed.shareId ? `${parsed.shareId}-${parsed.projectId}` : parsed.projectId);
27
28
  // 保存项目元数据和接口列表
28
- cacheManager.upsertProjectMetadata(projectName, parsed.projectId, parsed.llmsUrl, parsed.shareId);
29
- cacheManager.updateInterfacesFromLlms(projectName, interfaces);
29
+ cacheManager.upsertProjectMetadata(projectName, parsed.projectId, parsed.llmsUrl, parsed.shareId, configManager);
30
+ cacheManager.updateInterfacesFromLlms(projectName, interfaces, contentHash);
30
31
  cachedProject = cacheManager.findProjectByShareId(parsed.shareId) || null;
31
32
  }
32
33
  catch (error) {
@@ -53,7 +54,15 @@ export async function handleGetInterfaceDetail(args, ctx) {
53
54
  if (!projectInfo) {
54
55
  return buildTextResponse('我需要知道项目名称或 ID 才能查看接口详情。');
55
56
  }
56
- // 优先从缓存的 md 文件读取接口详情
57
+ // 在读取缓存前,先检查并刷新(如果有配置管理器)
58
+ const project = cacheManager.findProjectByName(projectInfo.projectName);
59
+ if (project && configManager) {
60
+ const refreshResult = await cacheManager.refreshProjectCache(projectInfo.projectName, configManager, 'lazy');
61
+ if (refreshResult.refreshed) {
62
+ logger.info(`缓存已刷新: ${refreshResult.reason}`);
63
+ }
64
+ }
65
+ // 刷新后重新获取 cachedInterface(确保是最新的)
57
66
  const cachedInterface = cacheManager.findInterface(projectInfo.projectName, args.interfaceId, projectInfo.projectId);
58
67
  if (cachedInterface && cachedInterface.docUrl) {
59
68
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"get-interface-detail.js","sourceRoot":"","sources":["../../../src/server/handlers/get-interface-detail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-interface-detail.js","sourceRoot":"","sources":["../../../src/server/handlers/get-interface-detail.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EAEpB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAiBpB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAA4B,EAC5B,GAA8B;IAE9B,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;IACpE,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAE1D,IAAI,WAAW,GAAG,kBAAkB,CAClC,WAAW,EACX,YAAY,EACZ,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,CACb,CAAC;IAEF,2BAA2B;IAC3B,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,wBAAwB;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,iBAAiB,CACtB,qBAAqB,IAAI,CAAC,GAAG,yBAAyB,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YACtD,0BAA0B;YAC1B,IAAI,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE9F,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrC,2BAA2B;gBAC3B,IAAI,CAAC;oBACH,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACpF,+CAA+C;oBAC/C,MAAM,WAAW,GACf,MAAM,CAAC,WAAW;wBAClB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAEhF,eAAe;oBACf,YAAY,CAAC,qBAAqB,CAChC,WAAW,EACX,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,EACd,aAAa,CACd,CAAC;oBACF,YAAY,CAAC,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;oBAE5E,aAAa,GAAG,YAAY,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;gBAC5E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,iBAAiB,CACtB,aAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACrE,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,WAAW,GAAG;oBACZ,SAAS,EAAE,aAAa,CAAC,SAAS;oBAClC,WAAW,EAAE,aAAa,CAAC,WAAW;iBACvC,CAAC;YACJ,CAAC;iBAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC5B,+CAA+C;gBAC/C,MAAM,WAAW,GACf,MAAM,CAAC,WAAW;oBAClB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChF,WAAW,GAAG;oBACZ,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW;iBACZ,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;IACtD,CAAC;IAED,0BAA0B;IAC1B,MAAM,OAAO,GAAG,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAC1D,WAAW,CAAC,WAAW,EACvB,aAAa,EACb,MAAM,CACP,CAAC;QAEF,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,UAAU,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,MAAM,eAAe,GAAG,YAAY,CAAC,aAAa,CAChD,WAAW,CAAC,WAAW,EACvB,IAAI,CAAC,WAAW,EAChB,WAAW,CAAC,SAAS,CACtB,CAAC;IACF,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAClE,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;gBAE5E,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE;oBAC9C,eAAe,EAAE,MAAM;iBACxB,CAAC,CAAC;gBAEH,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC7C,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAE/C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE9E,cAAc;gBACd,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7E,YAAY,CAAC,IAAI,CACf,mCAAmC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAC7F,CAAC;oBACJ,CAAC;oBACD,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7E,YAAY,CAAC,IAAI,CACf,+BAA+B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CACzF,CAAC;oBACJ,CAAC;oBACD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzE,YAAY,CAAC,IAAI,CACf,kCAAkC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAC1F,CAAC;oBACJ,CAAC;oBACD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvE,YAAY,CAAC,IAAI,CACf,iCAAiC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CACxF,CAAC;oBACJ,CAAC;oBACD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC9D,YAAY,CAAC,IAAI,CAAC,gCAAgC,QAAQ,UAAU,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;gBAED,MAAM,cAAc,GAClB,YAAY,CAAC,MAAM,GAAG,CAAC;oBACrB,CAAC,CAAC,eAAe,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;oBAChD,CAAC,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC;gBAE3F,SAAS;gBACT,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACpE,MAAM,eAAe,GAAG,yBAAyB,YAAY,cAAc,CAAC;gBAE5E,MAAM,IAAI,GACR,KAAK,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM;oBACjC,YAAY;oBACZ,YAAY,MAAM,CAAC,EAAE,IAAI;oBACzB,WAAW,MAAM,CAAC,MAAM,IAAI,KAAK,IAAI;oBACrC,WAAW,MAAM,CAAC,IAAI,IAAI,KAAK,IAAI;oBACnC,GAAG,WAAW,MAAM;oBACpB,GAAG,cAAc,EAAE;oBACnB,GAAG,eAAe,EAAE;oBACpB,4BAA4B,WAAW,cAAc;oBACrD,2BAA2B,YAAY,cAAc;oBACrD,kCAAkC,UAAU,CAAC,OAAO,cAAc;oBAClE,8BAA8B,CAAC;gBAEjC,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI;yBACL;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,wBAAwB,CACrD,WAAW,EACX,WAAW,CAAC,WAAW,EACvB,WAAW,CAAC,SAAS,EACrB,IAAI,CAAC,WAAW,CACjB,CAAC;QAEF,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QAE5E,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE;YAC9C,eAAe,EAAE,MAAM;SACxB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9E,cAAc;QACd,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7E,YAAY,CAAC,IAAI,CACf,mCAAmC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAC7F,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7E,YAAY,CAAC,IAAI,CACf,+BAA+B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CACzF,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzE,YAAY,CAAC,IAAI,CACf,kCAAkC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAC1F,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvE,YAAY,CAAC,IAAI,CACf,iCAAiC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CACxF,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9D,YAAY,CAAC,IAAI,CAAC,gCAAgC,QAAQ,UAAU,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAClB,YAAY,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,eAAe,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YAChD,CAAC,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC;QAE3F,SAAS;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,eAAe,GAAG,yBAAyB,YAAY,cAAc,CAAC;QAE5E,MAAM,IAAI,GACR,KAAK,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM;YACjC,YAAY;YACZ,YAAY,MAAM,CAAC,EAAE,IAAI;YACzB,WAAW,MAAM,CAAC,MAAM,IAAI,KAAK,IAAI;YACrC,WAAW,MAAM,CAAC,IAAI,IAAI,KAAK,IAAI;YACnC,GAAG,WAAW,MAAM;YACpB,GAAG,cAAc,EAAE;YACnB,GAAG,eAAe,EAAE;YACpB,4BAA4B,WAAW,cAAc;YACrD,2BAA2B,YAAY,cAAc;YACrD,kCAAkC,UAAU,CAAC,OAAO,cAAc;YAClE,uBAAuB;YACvB,6DAA6D,WAAW,CAAC,WAAW,sBAAsB,MAAM,CAAC,EAAE,iCAAiC;YACpJ,0EAA0E;YAC1E,+EAA+E;YAC/E,yEAAyE,CAAC;QAE5E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI;iBACL;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,aAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBAC5E;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -9,4 +9,5 @@ export { handleQueryInterfaces, type QueryInterfacesArgs, type QueryInterfacesCo
9
9
  export { handleGetInterfaceDetail, type GetInterfaceDetailArgs, type GetInterfaceDetailContext, } from './get-interface-detail.js';
10
10
  export { handleGenerateArtifacts, type GenerateArtifactsArgs, type GenerateArtifactsContext, } from './generate-artifacts.js';
11
11
  export { handleSelectInterfaces, type SelectInterfacesArgs, type SelectInterfacesContext, } from './select-interfaces.js';
12
+ export { handleRefreshProjectCache, type RefreshProjectCacheArgs, type RefreshProjectCacheContext, } from './refresh-project-cache.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,GAClC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,GAClC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,yBAAyB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,GAChC,MAAM,4BAA4B,CAAC"}
@@ -11,4 +11,5 @@ export { handleQueryInterfaces, } from './query-interfaces.js';
11
11
  export { handleGetInterfaceDetail, } from './get-interface-detail.js';
12
12
  export { handleGenerateArtifacts, } from './generate-artifacts.js';
13
13
  export { handleSelectInterfaces, } from './select-interfaces.js';
14
+ export { handleRefreshProjectCache, } from './refresh-project-cache.js';
14
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO;AACP,cAAc,YAAY,CAAC;AAE3B,aAAa;AACb,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,2BAA2B,GAG5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wBAAwB,GAGzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,GAGzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,GAGxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,GAGvB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO;AACP,cAAc,YAAY,CAAC;AAE3B,aAAa;AACb,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,2BAA2B,GAG5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wBAAwB,GAGzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,GAGzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,GAGxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,GAGvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,yBAAyB,GAG1B,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-project-interfaces.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/list-project-interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,YAAY,EAMb,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,yBAAyB,EAC/B,GAAG,EAAE,4BAA4B;;;;;;;;;;;GA4OlC"}
1
+ {"version":3,"file":"list-project-interfaces.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/list-project-interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,YAAY,EAOb,MAAM,qBAAqB,CAAC;AAK7B,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,yBAAyB,EAC/B,GAAG,EAAE,4BAA4B;;;;;;;;;;;GAyPlC"}
@@ -1,4 +1,5 @@
1
- import { UnifiedCacheManager, parseApifoxUrl, isValidApifoxUrl, fetchAndParseLlms, parseInterfaceFromMd, } from '../../core/index.js';
1
+ import { UnifiedCacheManager, parseApifoxUrl, isValidApifoxUrl, fetchAndParseLlmsWithHash, parseInterfaceFromMd, } from '../../core/index.js';
2
+ import { logger } from '../../lib/logger.js';
2
3
  import { buildTextResponse } from './utils.js';
3
4
  import { handleMissingProjectError, handleCacheNotFoundError } from './error-handler.js';
4
5
  /**
@@ -24,17 +25,10 @@ export async function handleListProjectInterfaces(args, ctx) {
24
25
  // 检查缓存中是否有该 shareId 对应的项目
25
26
  let cachedProject = shareId ? cacheManager.findProjectByShareId(shareId) : null;
26
27
  let needsUpdate = false;
27
- // 如果缓存中没有,或者需要更新,从 llms.txt 解析并缓存
28
+ // 如果缓存中没有,直接添加
28
29
  if (!cachedProject && parsed.llmsUrl) {
29
- needsUpdate = true;
30
- }
31
- else if (cachedProject && parsed.llmsUrl) {
32
- // 即使缓存中有,也更新接口列表(确保数据最新)
33
- needsUpdate = true;
34
- }
35
- if (needsUpdate && parsed.llmsUrl) {
36
30
  try {
37
- const interfaces = await fetchAndParseLlms(parsed.llmsUrl);
31
+ const { interfaces, contentHash } = await fetchAndParseLlmsWithHash(parsed.llmsUrl);
38
32
  // 尝试获取真实项目名称
39
33
  let projectName = parsed.projectName;
40
34
  // 如果从 HTML 无法获取,尝试通过 MCP Server 获取
@@ -56,14 +50,30 @@ export async function handleListProjectInterfaces(args, ctx) {
56
50
  ? `${parsed.shareId}-${parsed.projectId}`
57
51
  : parsed.projectId;
58
52
  }
59
- cacheManager.upsertProjectMetadata(projectName, parsed.projectId, parsed.llmsUrl, parsed.shareId);
60
- cacheManager.updateInterfacesFromLlms(projectName, interfaces);
53
+ cacheManager.upsertProjectMetadata(projectName, parsed.projectId, parsed.llmsUrl, parsed.shareId, configManager);
54
+ cacheManager.updateInterfacesFromLlms(projectName, interfaces, contentHash);
61
55
  cachedProject = cacheManager.findProjectByShareId(shareId) || null;
62
56
  }
63
57
  catch (error) {
64
58
  return buildTextResponse(`解析项目信息失败: ${error instanceof Error ? error.message : String(error)}`, true);
65
59
  }
66
60
  }
61
+ else if (cachedProject && parsed.llmsUrl) {
62
+ // 项目已存在,使用智能刷新机制(而不是强制更新)
63
+ try {
64
+ const refreshResult = await cacheManager.refreshProjectCache(cachedProject.projectName, configManager, 'lazy' // 懒加载策略,只在需要时刷新
65
+ );
66
+ if (refreshResult.refreshed) {
67
+ logger.info(`缓存已刷新: ${refreshResult.reason}`);
68
+ // 刷新后重新获取项目信息
69
+ cachedProject = cacheManager.findProjectByShareId(shareId) || null;
70
+ }
71
+ }
72
+ catch (error) {
73
+ // 刷新失败不影响后续流程,继续使用现有缓存
74
+ logger.warn(`刷新缓存失败: ${error instanceof Error ? error.message : String(error)}`);
75
+ }
76
+ }
67
77
  if (cachedProject) {
68
78
  projectInfo = {
69
79
  projectId: cachedProject.projectId,
@@ -147,7 +157,7 @@ export async function handleListProjectInterfaces(args, ctx) {
147
157
  const mcpResult = await mcpBridge.getProjectInfoViaMcp(accessToken, projectInfo.projectId, cachedProject.shareId);
148
158
  if (mcpResult.name && !mcpResult.name.includes(cachedProject.shareId)) {
149
159
  // 获取到了真实项目名称,更新缓存和 projectInfo
150
- cacheManager.upsertProjectMetadata(mcpResult.name, projectInfo.projectId, cachedProject.llmsUrls, cachedProject.shareId);
160
+ cacheManager.upsertProjectMetadata(mcpResult.name, projectInfo.projectId, cachedProject.llmsUrls, cachedProject.shareId, configManager);
151
161
  projectInfo.projectName = mcpResult.name;
152
162
  }
153
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list-project-interfaces.js","sourceRoot":"","sources":["../../../src/server/handlers/list-project-interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-project-interfaces.js","sourceRoot":"","sources":["../../../src/server/handlers/list-project-interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-and-add-project.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/parse-and-add-project.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EAKT,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,sBAAsB,EAC5B,GAAG,EAAE,yBAAyB;;;;;;;;;;;;GA2P/B"}
1
+ {"version":3,"file":"parse-and-add-project.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/parse-and-add-project.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EAKT,YAAY,EAIb,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,sBAAsB,EAC5B,GAAG,EAAE,yBAAyB;;;;;;;;;;;;GA2P/B"}
@@ -1,4 +1,4 @@
1
- import { ApifoxClient, isValidApifoxUrl, parseApifoxUrl, ShareLinkType, UnifiedCacheManager, fetchAndParseLlms, } from '../../core/index.js';
1
+ import { ApifoxClient, isValidApifoxUrl, parseApifoxUrl, ShareLinkType, UnifiedCacheManager, fetchAndParseLlmsWithHash, } from '../../core/index.js';
2
2
  /**
3
3
  * 处理解析并添加项目请求
4
4
  */
@@ -137,17 +137,17 @@ export async function handleParseAndAddProject(args, ctx) {
137
137
  };
138
138
  }
139
139
  // 使用统一缓存管理器
140
- // 保存项目元数据(包含 shareId)
141
- cacheManager.upsertProjectMetadata(projectName, projectId, llmsUrl, shareId);
140
+ // 保存项目元数据(包含 shareId 和 TTL
141
+ cacheManager.upsertProjectMetadata(projectName, projectId, llmsUrl, shareId, configManager);
142
142
  steps.push(' ✅ 已保存项目元数据到统一缓存');
143
- // 从 llms.txt 解析接口列表
143
+ // 从 llms.txt 解析接口列表(同时计算 Hash)
144
144
  steps.push(' 🔄 正在从 llms.txt 解析接口列表...');
145
145
  try {
146
- const parsedInterfaces = await fetchAndParseLlms(llmsUrl);
147
- steps.push(` ✅ 从 llms.txt 解析到 ${parsedInterfaces.length} 个接口`);
148
- // 更新项目的接口列表
149
- cacheManager.updateInterfacesFromLlms(projectName, parsedInterfaces);
150
- steps.push(` ✅ 已更新接口列表到统一缓存(${parsedInterfaces.length} 个接口)`);
146
+ const { interfaces, contentHash } = await fetchAndParseLlmsWithHash(llmsUrl);
147
+ steps.push(` ✅ 从 llms.txt 解析到 ${interfaces.length} 个接口`);
148
+ // 更新项目的接口列表(同时保存 Hash)
149
+ cacheManager.updateInterfacesFromLlms(projectName, interfaces, contentHash);
150
+ steps.push(` ✅ 已更新接口列表到统一缓存(${interfaces.length} 个接口)`);
151
151
  }
152
152
  catch (error) {
153
153
  steps.push(` ⚠️ 解析 llms.txt 失败: ${error instanceof Error ? error.message : String(error)}`);