@lmcc-dev/mult-fetch-mcp-server 1.1.0 → 1.2.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 (216) hide show
  1. package/README.md +8 -8
  2. package/README.zh.md +16 -8
  3. package/dist/i18n-test-report.json +8 -0
  4. package/dist/i18n-unused-keys-report.json +8 -0
  5. package/dist/src/client.js +50 -35
  6. package/dist/src/index.js +0 -0
  7. package/dist/src/lib/BrowserFetcher.js +12 -12
  8. package/dist/src/lib/NodeFetcher.js +22 -22
  9. package/dist/src/lib/fetch.js +40 -0
  10. package/dist/src/lib/fetchers/FetcherFactory.js +43 -0
  11. package/dist/src/lib/fetchers/browser/BrowserFetcher.js +381 -0
  12. package/dist/src/lib/fetchers/browser/BrowserInstance.js +180 -0
  13. package/dist/src/lib/fetchers/browser/PageOperations.js +168 -0
  14. package/dist/src/lib/fetchers/common/types.js +41 -0
  15. package/dist/src/lib/fetchers/common/utils.js +141 -0
  16. package/dist/src/lib/fetchers/index.js +62 -0
  17. package/dist/src/lib/fetchers/node/HttpClient.js +239 -0
  18. package/dist/src/lib/fetchers/node/NodeFetcher.js +180 -0
  19. package/dist/src/lib/i18n/index.js +105 -17
  20. package/dist/src/lib/i18n/keys/base.js +41 -0
  21. package/dist/src/lib/i18n/keys/browser.js +91 -0
  22. package/dist/src/lib/i18n/keys/client.js +68 -0
  23. package/dist/src/lib/i18n/keys/errors.js +49 -0
  24. package/dist/src/lib/i18n/keys/factory.js +46 -0
  25. package/dist/src/lib/i18n/keys/fetcher.js +87 -0
  26. package/dist/src/lib/i18n/keys/index.js +16 -0
  27. package/dist/src/lib/i18n/keys/node.js +69 -0
  28. package/dist/src/lib/i18n/keys/prompts.js +79 -0
  29. package/dist/src/lib/i18n/keys/resources.js +53 -0
  30. package/dist/src/lib/i18n/keys/server.js +67 -0
  31. package/dist/src/lib/i18n/keys/tools.js +39 -0
  32. package/dist/src/lib/i18n/keys.js +488 -119
  33. package/dist/src/lib/i18n/locales/en/browser.js +67 -57
  34. package/dist/src/lib/i18n/locales/en/client.js +57 -33
  35. package/dist/src/lib/i18n/locales/en/errors.js +36 -12
  36. package/dist/src/lib/i18n/locales/en/factory.js +38 -0
  37. package/dist/src/lib/i18n/locales/en/fetcher.js +8 -2
  38. package/dist/src/lib/i18n/locales/en/index.js +10 -8
  39. package/dist/src/lib/i18n/locales/en/node.js +57 -35
  40. package/dist/src/lib/i18n/locales/en/prompts.js +42 -65
  41. package/dist/src/lib/i18n/locales/en/resources.js +52 -55
  42. package/dist/src/lib/i18n/locales/en/server.js +49 -24
  43. package/dist/src/lib/i18n/locales/en/tools.js +27 -19
  44. package/dist/src/lib/i18n/locales/zh/browser.js +71 -62
  45. package/dist/src/lib/i18n/locales/zh/client.js +57 -32
  46. package/dist/src/lib/i18n/locales/zh/errors.js +36 -12
  47. package/dist/src/lib/i18n/locales/zh/factory.js +38 -0
  48. package/dist/src/lib/i18n/locales/zh/fetcher.js +36 -30
  49. package/dist/src/lib/i18n/locales/zh/index.js +10 -8
  50. package/dist/src/lib/i18n/locales/zh/node.js +61 -36
  51. package/dist/src/lib/i18n/locales/zh/prompts.js +35 -57
  52. package/dist/src/lib/i18n/locales/zh/resources.js +52 -55
  53. package/dist/src/lib/i18n/locales/zh/server.js +51 -25
  54. package/dist/src/lib/i18n/locales/zh/tools.js +27 -19
  55. package/dist/src/lib/i18n/logger.js +90 -19
  56. package/dist/src/lib/logger.js +135 -14
  57. package/dist/src/lib/server/browser.js +2 -2
  58. package/dist/src/lib/server/fetcher.js +13 -34
  59. package/dist/src/lib/server/index.js +2 -2
  60. package/dist/src/lib/server/prompts.js +1 -1
  61. package/dist/src/lib/server/resources.js +1 -1
  62. package/dist/src/lib/server/tools.js +46 -10
  63. package/dist/src/lib/utils/ErrorHandler.js +125 -0
  64. package/dist/src/mcp-server.js +0 -0
  65. package/dist/src/test-i18n.js +139 -0
  66. package/dist/tests/BrowserFetcher.test.js +0 -0
  67. package/dist/tests/NodeFetcher.test.js +0 -0
  68. package/dist/tests/client.test.js +42 -81
  69. package/dist/tests/fetch.test.js +70 -0
  70. package/dist/tests/fetchers/Fetcher.test.js +108 -0
  71. package/dist/tests/fetchers/browser/BrowserFetcher.test.js +195 -0
  72. package/dist/tests/fetchers/browser/BrowserInstance.test.js +163 -0
  73. package/dist/tests/fetchers/node/NodeFetcher.test.js +211 -0
  74. package/dist/tests/i18n-missing-keys.js +364 -0
  75. package/dist/tests/i18n-remove-unused-keys.js +236 -0
  76. package/dist/tests/i18n-test-report.json +2004 -0
  77. package/dist/tests/i18n-unused-keys.js +425 -0
  78. package/dist/tests/i18n.test.js +6 -7
  79. package/dist/tests/logger.test.js +14 -13
  80. package/dist/tests/mcp-server.test.js +7 -7
  81. package/dist/tests/server/browser.test.js +25 -21
  82. package/dist/tests/server/fetcher.test.js +58 -101
  83. package/dist/tests/server/index.test.js +30 -30
  84. package/dist/tests/server/prompts.test.js +36 -33
  85. package/dist/tests/server/resources.test.js +120 -84
  86. package/dist/tests/server/tools.test.js +7 -6
  87. package/dist/tests/setup.js +36 -0
  88. package/dist/tests/src/lib/i18n/index.js +108 -0
  89. package/dist/tests/src/lib/i18n/keys/base.js +47 -0
  90. package/dist/tests/src/lib/i18n/keys/browser.js +93 -0
  91. package/dist/tests/src/lib/i18n/keys/client.js +70 -0
  92. package/dist/tests/src/lib/i18n/keys/errors.js +34 -0
  93. package/dist/tests/src/lib/i18n/keys/fetcher.js +84 -0
  94. package/dist/tests/src/lib/i18n/keys/index.js +31 -0
  95. package/dist/tests/src/lib/i18n/keys/node.js +56 -0
  96. package/dist/tests/src/lib/i18n/keys/prompts.js +82 -0
  97. package/dist/tests/src/lib/i18n/keys/resources.js +50 -0
  98. package/dist/tests/src/lib/i18n/keys/server.js +64 -0
  99. package/dist/tests/src/lib/i18n/keys/tools.js +34 -0
  100. package/dist/tests/src/lib/i18n/locales/en/browser.js +88 -0
  101. package/dist/tests/src/lib/i18n/locales/en/client.js +66 -0
  102. package/dist/tests/src/lib/i18n/locales/en/errors.js +28 -0
  103. package/dist/tests/src/lib/i18n/locales/en/fetcher.js +71 -0
  104. package/dist/tests/src/lib/i18n/locales/en/index.js +29 -0
  105. package/dist/tests/src/lib/i18n/locales/en/node.js +51 -0
  106. package/dist/tests/src/lib/i18n/locales/en/prompts.js +52 -0
  107. package/dist/tests/src/lib/i18n/locales/en/resources.js +50 -0
  108. package/dist/tests/src/lib/i18n/locales/en/server.js +56 -0
  109. package/dist/tests/src/lib/i18n/locales/en/tools.js +28 -0
  110. package/dist/tests/src/lib/i18n/locales/zh/browser.js +87 -0
  111. package/dist/tests/src/lib/i18n/locales/zh/client.js +66 -0
  112. package/dist/tests/src/lib/i18n/locales/zh/errors.js +28 -0
  113. package/dist/tests/src/lib/i18n/locales/zh/fetcher.js +71 -0
  114. package/dist/tests/src/lib/i18n/locales/zh/index.js +29 -0
  115. package/dist/tests/src/lib/i18n/locales/zh/node.js +51 -0
  116. package/dist/tests/src/lib/i18n/locales/zh/prompts.js +53 -0
  117. package/dist/tests/src/lib/i18n/locales/zh/resources.js +50 -0
  118. package/dist/tests/src/lib/i18n/locales/zh/server.js +57 -0
  119. package/dist/tests/src/lib/i18n/locales/zh/tools.js +28 -0
  120. package/dist/tests/src/lib/i18n/logger.js +114 -0
  121. package/dist/tests/src/lib/logger.js +181 -0
  122. package/dist/tests/test-direct-client.js +0 -0
  123. package/dist/tests/test-i18n.js +530 -0
  124. package/dist/tests/test-mcp-methods.js +1 -1
  125. package/dist/tests/test-mcp.js +0 -0
  126. package/dist/tests/test-mini4k.js +0 -0
  127. package/dist/tests/tests/test-i18n.js +588 -0
  128. package/dist/tests/types.test.js +1 -1
  129. package/dist/tests/utils/ErrorHandler.test.js +144 -0
  130. package/dist/vitest.config.js +29 -0
  131. package/package.json +31 -27
  132. package/dist/src/cli-language.js +0 -78
  133. package/dist/src/client.d.ts +0 -6
  134. package/dist/src/client.js.map +0 -1
  135. package/dist/src/index.d.ts +0 -15
  136. package/dist/src/index.js.map +0 -1
  137. package/dist/src/lib/BrowserFetcher.d.ts +0 -175
  138. package/dist/src/lib/BrowserFetcher.js.map +0 -1
  139. package/dist/src/lib/NodeFetcher.d.ts +0 -92
  140. package/dist/src/lib/NodeFetcher.js.map +0 -1
  141. package/dist/src/lib/example.js +0 -93
  142. package/dist/src/lib/i18n/index.js.map +0 -1
  143. package/dist/src/lib/i18n/locales/en/browser.d.ts +0 -61
  144. package/dist/src/lib/i18n/locales/en/browser.js.map +0 -1
  145. package/dist/src/lib/i18n/locales/en/client.d.ts +0 -39
  146. package/dist/src/lib/i18n/locales/en/client.js.map +0 -1
  147. package/dist/src/lib/i18n/locales/en/errors.d.ts +0 -17
  148. package/dist/src/lib/i18n/locales/en/errors.js.map +0 -1
  149. package/dist/src/lib/i18n/locales/en/fetcher.d.ts +0 -66
  150. package/dist/src/lib/i18n/locales/en/fetcher.js.map +0 -1
  151. package/dist/src/lib/i18n/locales/en/index.d.ts +0 -344
  152. package/dist/src/lib/i18n/locales/en/index.js.map +0 -1
  153. package/dist/src/lib/i18n/locales/en/node.d.ts +0 -41
  154. package/dist/src/lib/i18n/locales/en/node.js.map +0 -1
  155. package/dist/src/lib/i18n/locales/en/prompts.d.ts +0 -65
  156. package/dist/src/lib/i18n/locales/en/prompts.js.map +0 -1
  157. package/dist/src/lib/i18n/locales/en/resources.d.ts +0 -41
  158. package/dist/src/lib/i18n/locales/en/resources.js.map +0 -1
  159. package/dist/src/lib/i18n/locales/en/server.d.ts +0 -30
  160. package/dist/src/lib/i18n/locales/en/server.js.map +0 -1
  161. package/dist/src/lib/i18n/locales/en/tools.d.ts +0 -24
  162. package/dist/src/lib/i18n/locales/en/tools.js.map +0 -1
  163. package/dist/src/lib/i18n/locales/zh/browser.d.ts +0 -61
  164. package/dist/src/lib/i18n/locales/zh/browser.js.map +0 -1
  165. package/dist/src/lib/i18n/locales/zh/client.d.ts +0 -38
  166. package/dist/src/lib/i18n/locales/zh/client.js.map +0 -1
  167. package/dist/src/lib/i18n/locales/zh/errors.d.ts +0 -17
  168. package/dist/src/lib/i18n/locales/zh/errors.js.map +0 -1
  169. package/dist/src/lib/i18n/locales/zh/fetcher.d.ts +0 -66
  170. package/dist/src/lib/i18n/locales/zh/fetcher.js.map +0 -1
  171. package/dist/src/lib/i18n/locales/zh/index.d.ts +0 -343
  172. package/dist/src/lib/i18n/locales/zh/index.js.map +0 -1
  173. package/dist/src/lib/i18n/locales/zh/node.d.ts +0 -41
  174. package/dist/src/lib/i18n/locales/zh/node.js.map +0 -1
  175. package/dist/src/lib/i18n/locales/zh/prompts.d.ts +0 -65
  176. package/dist/src/lib/i18n/locales/zh/prompts.js.map +0 -1
  177. package/dist/src/lib/i18n/locales/zh/resources.d.ts +0 -41
  178. package/dist/src/lib/i18n/locales/zh/resources.js.map +0 -1
  179. package/dist/src/lib/i18n/locales/zh/server.d.ts +0 -30
  180. package/dist/src/lib/i18n/locales/zh/server.js.map +0 -1
  181. package/dist/src/lib/i18n/locales/zh/tools.d.ts +0 -24
  182. package/dist/src/lib/i18n/locales/zh/tools.js.map +0 -1
  183. package/dist/src/lib/i18n/logger.d.ts +0 -38
  184. package/dist/src/lib/i18n/logger.js.map +0 -1
  185. package/dist/src/lib/logger.d.ts +0 -32
  186. package/dist/src/lib/logger.js.map +0 -1
  187. package/dist/src/lib/server/browser.d.ts +0 -34
  188. package/dist/src/lib/server/browser.js.map +0 -1
  189. package/dist/src/lib/server/fetcher.d.ts +0 -20
  190. package/dist/src/lib/server/fetcher.js.map +0 -1
  191. package/dist/src/lib/server/index.d.ts +0 -10
  192. package/dist/src/lib/server/index.js.map +0 -1
  193. package/dist/src/lib/server/logger.js +0 -23
  194. package/dist/src/lib/server/prompts.d.ts +0 -11
  195. package/dist/src/lib/server/prompts.js.map +0 -1
  196. package/dist/src/lib/server/resources.d.ts +0 -11
  197. package/dist/src/lib/server/resources.js.map +0 -1
  198. package/dist/src/lib/server/tools.d.ts +0 -12
  199. package/dist/src/lib/server/tools.js.map +0 -1
  200. package/dist/src/lib/server/types.d.ts +0 -71
  201. package/dist/src/lib/server/types.js.map +0 -1
  202. package/dist/src/lib/types.d.ts +0 -119
  203. package/dist/src/lib/types.js.map +0 -1
  204. package/dist/src/mcp-server.d.ts +0 -6
  205. package/dist/src/mcp-server.js.map +0 -1
  206. package/dist/tests/jest.setup.d.ts +0 -6
  207. package/dist/tests/jest.setup.js +0 -30
  208. package/dist/tests/jest.setup.js.map +0 -1
  209. package/dist/tests/test-direct-client.d.ts +0 -6
  210. package/dist/tests/test-direct-client.js.map +0 -1
  211. package/dist/tests/test-mcp-methods.d.ts +0 -6
  212. package/dist/tests/test-mcp-methods.js.map +0 -1
  213. package/dist/tests/test-mcp.d.ts +0 -6
  214. package/dist/tests/test-mcp.js.map +0 -1
  215. package/dist/tests/test-mini4k.d.ts +0 -6
  216. package/dist/tests/test-mini4k.js.map +0 -1
@@ -3,37 +3,62 @@
3
3
  * Co-Author: AI Assistant (Claude)
4
4
  * Description: This code was collaboratively developed by Martin and AI Assistant.
5
5
  */
6
+ import { CLIENT_KEYS } from '../../keys/client.js';
6
7
  // 客户端相关消息 (Client related messages)
7
- export const client = {
8
- connecting: "正在连接 MCP 服务器...",
9
- connected: "已连接到 MCP 服务器",
10
- disconnecting: "正在断开与 MCP 服务器的连接...",
11
- disconnected: "已断开与 MCP 服务器的连接",
12
- error: "客户端错误: {{error}}",
13
- callTool: "调用工具: {{tool}}",
14
- callToolSuccess: "工具调用成功: {{tool}}",
15
- callToolError: "工具调用失败: {{tool}}, 错误: {{error}}",
16
- statusCodeDetected: "检测到HTTP状态码: {{code}}",
17
- usageInfo: "用法: node client.js <method> <params_json> [proxy]",
18
- exampleUsage: "示例: node client.js fetch_html '{\"url\": \"https://example.com\", \"debug\": true}' http://127.0.0.1:7890",
19
- invalidJson: "参数解析错误,请提供有效的JSON字符串",
20
- usingCommandLineProxy: "使用命令行指定的代理: {{proxy}}",
21
- invalidProxyFormat: "代理格式无效,应以 http:// 或 https:// 开头: {{proxy}}",
22
- usingEnvProxy: "使用环境变量中的代理: {{proxy}}",
23
- usingShellProxy: "使用 shell 中的代理: {{proxy}}",
24
- noShellProxy: "无法从 shell 获取代理设置",
25
- systemProxyDisabled: "系统代理检测已禁用 (useSystemProxy=false)",
26
- proxySet: "已设置代理: {{proxy}}, 禁用系统代理自动检测",
27
- requestFailed: "请求失败: {{error}}",
28
- fatalError: "致命错误: {{error}}",
29
- startingServer: "启动服务器: {{path}}",
30
- fetchingUrl: "正在获取 URL: {{url}}",
31
- usingMode: "使用 {{mode}} 模式获取: {{url}}",
32
- fetchFailed: "获取失败: {{error}}",
33
- fetchSuccess: "获取成功: 内容长度 {{length}} 字节",
34
- browserModeNeeded: "需要浏览器模式, 切换: {{url}}",
35
- retryingWithBrowser: "使用浏览器模式重试: {{url}}",
36
- browserModeFetchFailed: "浏览器模式获取失败: {{error}}",
37
- browserModeFetchSuccess: "浏览器模式获取成功: 内容长度 {{length}} 字节",
38
- serverClosed: "服务器已关闭"
8
+ export default {
9
+ // 连接相关 (Connection related)
10
+ [CLIENT_KEYS.connecting]: '正在连接 MCP 服务器...',
11
+ [CLIENT_KEYS.connected]: '已连接到 MCP 服务器',
12
+ [CLIENT_KEYS.connectionFailed]: '连接 MCP 服务器失败: {{error}}',
13
+ [CLIENT_KEYS.disconnected]: '已断开与 MCP 服务器的连接',
14
+ [CLIENT_KEYS.reconnecting]: '正在重新连接 MCP 服务器...',
15
+ // 错误相关 (Error related)
16
+ [CLIENT_KEYS.clientError]: '客户端错误: {{error}}',
17
+ [CLIENT_KEYS.transportError]: '传输错误: {{error}}',
18
+ [CLIENT_KEYS.requestError]: '请求错误: {{error}}',
19
+ [CLIENT_KEYS.fetchError]: '获取错误: {{error}}',
20
+ // 请求相关 (Request related)
21
+ [CLIENT_KEYS.requestStarted]: '请求已开始: {{id}}',
22
+ [CLIENT_KEYS.requestCompleted]: '请求已完成: {{id}}',
23
+ [CLIENT_KEYS.requestCancelled]: '请求已取消: {{id}}',
24
+ // 内容相关 (Content related)
25
+ [CLIENT_KEYS.fetchingHtml]: '正在获取 HTML: {{url}}',
26
+ [CLIENT_KEYS.fetchingJson]: '正在获取 JSON: {{url}}',
27
+ [CLIENT_KEYS.fetchingText]: '正在获取文本: {{url}}',
28
+ [CLIENT_KEYS.fetchingMarkdown]: '正在获取 Markdown: {{url}}',
29
+ [CLIENT_KEYS.fetchSuccessful]: '获取成功',
30
+ [CLIENT_KEYS.contentLength]: '内容长度: {{length}} 字节',
31
+ // 调试相关 (Debug related)
32
+ [CLIENT_KEYS.debugMode]: '调试模式: {{enabled}}',
33
+ [CLIENT_KEYS.debugInfo]: '调试信息: {{info}}',
34
+ // 原有键 (Original keys)
35
+ [CLIENT_KEYS.error]: '错误: {{error}}',
36
+ [CLIENT_KEYS.callTool]: '调用工具: {{name}}',
37
+ [CLIENT_KEYS.callToolSuccess]: '工具调用成功: {{name}}',
38
+ [CLIENT_KEYS.callToolError]: '工具调用错误: {{name}} - {{error}}',
39
+ [CLIENT_KEYS.statusCodeDetected]: '检测到状态码: {{code}}',
40
+ [CLIENT_KEYS.usageInfo]: '使用信息: {{info}}',
41
+ [CLIENT_KEYS.exampleUsage]: '使用示例: {{example}}',
42
+ [CLIENT_KEYS.invalidJson]: '无效的 JSON: {{error}}',
43
+ [CLIENT_KEYS.usingCommandLineProxy]: '使用命令行代理: {{proxy}}',
44
+ [CLIENT_KEYS.invalidProxyFormat]: '无效的代理格式: {{proxy}}',
45
+ [CLIENT_KEYS.usingEnvProxy]: '使用环境代理: {{proxy}}',
46
+ [CLIENT_KEYS.usingShellProxy]: '使用 Shell 代理: {{proxy}}',
47
+ [CLIENT_KEYS.noShellProxy]: '未找到 Shell 代理',
48
+ [CLIENT_KEYS.systemProxyDisabled]: '系统代理已禁用',
49
+ [CLIENT_KEYS.usingSystemProxy]: '使用系统代理: {{proxy}}',
50
+ [CLIENT_KEYS.noSystemProxy]: '未找到系统代理',
51
+ [CLIENT_KEYS.requestFailed]: '请求失败: {{error}}',
52
+ [CLIENT_KEYS.fatalError]: '致命错误: {{error}}',
53
+ [CLIENT_KEYS.startingServer]: '正在启动服务器...',
54
+ [CLIENT_KEYS.fetchingUrl]: '正在获取 URL: {{url}}',
55
+ [CLIENT_KEYS.usingMode]: '使用 {{mode}} 模式',
56
+ [CLIENT_KEYS.fetchFailed]: '获取失败: {{error}}',
57
+ [CLIENT_KEYS.fetchSuccess]: '获取成功',
58
+ [CLIENT_KEYS.browserModeNeeded]: '需要浏览器模式: {{url}}',
59
+ [CLIENT_KEYS.retryingWithBrowser]: '使用浏览器模式重试',
60
+ [CLIENT_KEYS.browserModeFetchFailed]: '浏览器模式获取失败: {{error}}',
61
+ [CLIENT_KEYS.browserModeFetchSuccess]: '浏览器模式获取成功',
62
+ [CLIENT_KEYS.serverClosed]: '服务器已关闭',
63
+ [CLIENT_KEYS.proxySet]: '代理已设置: {{proxy}}'
39
64
  };
@@ -3,16 +3,40 @@
3
3
  * Co-Author: AI Assistant (Claude)
4
4
  * Description: This code was collaboratively developed by Martin and AI Assistant.
5
5
  */
6
- // 通用错误消息 (Common error messages)
7
- export const errors = {
8
- missingUrl: "缺少必需参数: url",
9
- invalidUrl: "无效的 URL: {{url}}",
10
- timeout: "请求超时,已经过 {{timeout}}ms",
11
- networkError: "网络错误: {{error}}",
12
- browserError: "浏览器错误: {{error}}",
13
- unexpectedError: "意外错误: {{error}}",
14
- forbidden: "原因: 访问被禁止 (403 Forbidden)",
15
- cloudflareProtection: "原因: Cloudflare 保护",
16
- captchaRequired: "原因: 需要验证码",
17
- connectionProblem: "原因: 连接问题"
6
+ import { ERROR_KEYS } from '../../keys/errors.js';
7
+ export default {
8
+ // 通用错误日志 (Generic error logging)
9
+ [ERROR_KEYS.occurred]: '发生错误: 类型={{type}}, 消息={{message}}',
10
+ // 参数错误 (Parameter errors)
11
+ [ERROR_KEYS.missingRequiredParam]: '缺少必需参数: {{param}}',
12
+ [ERROR_KEYS.invalidUrl]: '无效的URL: {{url}}',
13
+ // 请求错误 (Request errors)
14
+ [ERROR_KEYS.requestTimeout]: '请求超时,已经过 {{timeout}}ms',
15
+ [ERROR_KEYS.maxRedirectsExceeded]: '超过最大重定向次数 ({{max}})',
16
+ [ERROR_KEYS.requestFailed]: '请求失败,状态码 {{status}}: {{message}}',
17
+ [ERROR_KEYS.networkError]: '网络错误: {{message}}',
18
+ // 响应错误 (Response errors)
19
+ [ERROR_KEYS.invalidResponse]: '无效的响应: {{message}}',
20
+ [ERROR_KEYS.invalidContentType]: '无效的内容类型: {{contentType}}',
21
+ [ERROR_KEYS.invalidJson]: '无效的JSON响应',
22
+ // 浏览器错误 (Browser errors)
23
+ [ERROR_KEYS.browserInitFailed]: '浏览器初始化失败: {{message}}',
24
+ [ERROR_KEYS.pageLoadFailed]: '页面加载失败: {{message}}',
25
+ // 访问限制错误 (Access restriction errors)
26
+ [ERROR_KEYS.forbidden]: '访问被禁止 (403)',
27
+ [ERROR_KEYS.cloudflareProtection]: '检测到Cloudflare保护',
28
+ [ERROR_KEYS.captchaRequired]: '需要验证码验证',
29
+ // 连接错误 (Connection errors)
30
+ [ERROR_KEYS.timeout]: '连接超时,已经过 {{timeout}}',
31
+ [ERROR_KEYS.connectionProblem]: '检测到连接问题',
32
+ // 通用错误 (Generic errors)
33
+ [ERROR_KEYS.unknownError]: '未知错误: {{message}}',
34
+ // 错误类型键 (Error type keys)
35
+ [ERROR_KEYS.network_error]: '网络错误: {{error}}',
36
+ [ERROR_KEYS.access_denied_error]: '访问被拒绝: {{error}}',
37
+ [ERROR_KEYS.timeout_error]: '超时错误: {{error}}',
38
+ [ERROR_KEYS.parse_error]: '解析错误: {{error}}',
39
+ [ERROR_KEYS.validation_error]: '验证错误: {{error}}',
40
+ [ERROR_KEYS.browser_error]: '浏览器错误: {{error}}',
41
+ [ERROR_KEYS.unknown_error]: '未知错误: {{error}}'
18
42
  };
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Author: Martin <lmccc.dev@gmail.com>
3
+ * Co-Author: AI Assistant (Claude)
4
+ * Description: This code was collaboratively developed by Martin and AI Assistant.
5
+ */
6
+ import { FACTORY_KEYS } from '../../keys/factory.js';
7
+ export default {
8
+ // 日志消息 (Log messages)
9
+ [FACTORY_KEYS.creating_fetcher]: '正在创建 {{type}} 类型的抓取器',
10
+ [FACTORY_KEYS.fetcher_created]: '{{type}} 抓取器创建成功',
11
+ [FACTORY_KEYS.fetcher_creation_failed]: '创建 {{type}} 抓取器失败: {{error}}',
12
+ [FACTORY_KEYS.invalid_fetcher_type]: '无效的抓取器类型: {{type}}',
13
+ [FACTORY_KEYS.browser_mode_enabled]: '浏览器模式已启用',
14
+ [FACTORY_KEYS.browser_mode_disabled]: '浏览器模式已禁用',
15
+ [FACTORY_KEYS.using_default_mode]: '使用默认模式: {{mode}}',
16
+ [FACTORY_KEYS.initializing]: '正在初始化抓取器工厂',
17
+ [FACTORY_KEYS.initialization_complete]: '抓取器工厂初始化完成',
18
+ [FACTORY_KEYS.initialization_failed]: '抓取器工厂初始化失败: {{error}}',
19
+ [FACTORY_KEYS.auto_detecting_mode]: '正在自动检测模式',
20
+ [FACTORY_KEYS.using_browser_mode]: '使用浏览器模式',
21
+ [FACTORY_KEYS.using_node_mode]: '使用Node模式',
22
+ [FACTORY_KEYS.defaultingToNodeMode]: '默认使用Node模式',
23
+ // 为了向后兼容,保留旧的键 (For backward compatibility, keep the old keys)
24
+ creating_fetcher: '正在创建 {{type}} 类型的抓取器',
25
+ fetcher_created: '{{type}} 抓取器创建成功',
26
+ fetcher_creation_failed: '创建 {{type}} 抓取器失败: {{error}}',
27
+ invalid_fetcher_type: '无效的抓取器类型: {{type}}',
28
+ browser_mode_enabled: '浏览器模式已启用',
29
+ browser_mode_disabled: '浏览器模式已禁用',
30
+ using_default_mode: '使用默认模式: {{mode}}',
31
+ initializing: '正在初始化抓取器工厂',
32
+ initialization_complete: '抓取器工厂初始化完成',
33
+ initialization_failed: '抓取器工厂初始化失败: {{error}}',
34
+ auto_detecting_mode: '正在自动检测模式',
35
+ using_browser_mode: '使用浏览器模式',
36
+ using_node_mode: '使用Node模式',
37
+ defaulting_to_node_mode: '默认使用Node模式'
38
+ };
@@ -3,9 +3,9 @@
3
3
  * Co-Author: AI Assistant (Claude)
4
4
  * Description: This code was collaboratively developed by Martin and AI Assistant.
5
5
  */
6
- import { FETCHER_KEYS } from '../../keys.js';
6
+ import { FETCHER_KEYS } from '../../keys/fetcher.js';
7
7
  // 获取器相关消息 (Fetcher related messages)
8
- export const fetcher = {
8
+ export default {
9
9
  [FETCHER_KEYS.addingDelay]: "添加随机延迟",
10
10
  [FETCHER_KEYS.delayCompleted]: "延迟完成,耗时 {{delay}}ms",
11
11
  [FETCHER_KEYS.usingProxy]: "使用代理: {{proxy}}",
@@ -14,52 +14,58 @@ export const fetcher = {
14
14
  [FETCHER_KEYS.notUsingProxy]: "不使用任何代理",
15
15
  [FETCHER_KEYS.finalProxyUsed]: "最终使用的代理: {{proxy}}",
16
16
  [FETCHER_KEYS.noProxy]: "不使用代理",
17
- [FETCHER_KEYS.fetchingUrl]: "获取URL: {{url}} (重定向: {{redirect}})",
18
- [FETCHER_KEYS.usingUserAgent]: "使用User-Agent: {{userAgent}}",
19
- [FETCHER_KEYS.usingHttpsProxy]: "使用HTTPS代理",
20
- [FETCHER_KEYS.usingHttpProxy]: "使用HTTP代理",
17
+ [FETCHER_KEYS.foundNoProxy]: "未找到代理: {{noProxy}}",
18
+ [FETCHER_KEYS.systemProxyDisabled]: "系统代理已禁用",
19
+ [FETCHER_KEYS.fetchingUrl]: "获取 URL: {{url}} (重定向: {{redirect}})",
20
+ [FETCHER_KEYS.usingUserAgent]: "使用 User-Agent: {{userAgent}}",
21
+ [FETCHER_KEYS.usingHttpsProxy]: "使用 HTTPS 代理",
22
+ [FETCHER_KEYS.usingHttpProxy]: "使用 HTTP 代理",
21
23
  [FETCHER_KEYS.requestOptions]: "请求选项: {{options}}",
22
24
  [FETCHER_KEYS.startingFetch]: "开始获取",
23
25
  [FETCHER_KEYS.fetchCompleted]: "获取完成,耗时 {{duration}}ms",
24
26
  [FETCHER_KEYS.responseStatus]: "响应状态: {{status}} {{statusText}}",
25
27
  [FETCHER_KEYS.redirectingTo]: "重定向到: {{location}}",
26
- [FETCHER_KEYS.constructedFullRedirectUrl]: "构建完整重定向URL: {{redirectUrl}}",
28
+ [FETCHER_KEYS.constructedFullRedirectUrl]: "构建完整重定向 URL: {{redirectUrl}}",
27
29
  [FETCHER_KEYS.requestSuccess]: "请求成功",
28
30
  [FETCHER_KEYS.errorResponse]: "错误响应: {{status}} {{statusText}}",
29
- [FETCHER_KEYS.errorResponseBody]: "错误响应内容(前200字符): {{body}}",
30
- [FETCHER_KEYS.errorReadingBody]: "读取响应内容时出错: {{error}}",
31
+ [FETCHER_KEYS.errorResponseBody]: "错误响应内容 (前 200 字符): {{body}}",
32
+ [FETCHER_KEYS.errorReadingBody]: "读取响应内容错误: {{error}}",
31
33
  [FETCHER_KEYS.fetchError]: "获取错误: {{error}}",
32
34
  [FETCHER_KEYS.requestAborted]: "请求中止,耗时 {{duration}}ms",
33
- [FETCHER_KEYS.networkError]: "网络错误 ({{code}}),可能需要使用浏览器模式重试",
35
+ [FETCHER_KEYS.networkError]: "网络错误 ({{code}}),可能会使用浏览器模式重试",
34
36
  [FETCHER_KEYS.requestTimeout]: "请求超时,耗时 {{duration}}ms",
35
37
  [FETCHER_KEYS.fetchFailed]: "获取失败: {{error}}",
36
38
  [FETCHER_KEYS.tooManyRedirects]: "重定向次数过多 ({{redirects}})",
37
- [FETCHER_KEYS.startingHtmlFetch]: "开始HTML获取",
38
- [FETCHER_KEYS.readingText]: "获得响应,正在读取文本",
39
- [FETCHER_KEYS.htmlContentLength]: "HTML内容长度: {{length}} 字节",
40
- [FETCHER_KEYS.startingJsonFetch]: "开始JSON获取",
41
- [FETCHER_KEYS.parsingJson]: "解析JSON",
42
- [FETCHER_KEYS.jsonParsed]: "JSON解析成功",
43
- [FETCHER_KEYS.jsonParseError]: "JSON解析错误: {{error}}。文本预览: \"{{textPreview}}\", 长度: {{textLength}} 字节",
44
- [FETCHER_KEYS.startingTxtFetch]: "开始文本获取",
39
+ [FETCHER_KEYS.startingHtmlFetch]: "开始获取 HTML",
40
+ [FETCHER_KEYS.fetchingHtml]: "正在获取HTML",
41
+ [FETCHER_KEYS.fetchingJson]: "正在获取JSON",
42
+ [FETCHER_KEYS.fetchingTxt]: "正在获取文本",
43
+ [FETCHER_KEYS.fetchingMarkdown]: "正在获取Markdown",
44
+ [FETCHER_KEYS.readingText]: "读取文本内容",
45
+ [FETCHER_KEYS.htmlContentLength]: "HTML 内容长度: {{length}} 字节",
46
+ [FETCHER_KEYS.startingJsonFetch]: "开始获取 JSON",
47
+ [FETCHER_KEYS.parsingJson]: "解析 JSON",
48
+ [FETCHER_KEYS.jsonParsed]: "JSON 解析成功",
49
+ [FETCHER_KEYS.jsonParseError]: "JSON 解析错误: {{error}}。文本预览: \"{{textPreview}}\",长度: {{textLength}} 字节",
50
+ [FETCHER_KEYS.startingTxtFetch]: "开始获取文本",
45
51
  [FETCHER_KEYS.textContentLength]: "文本内容长度: {{length}} 字节",
46
- [FETCHER_KEYS.startingMarkdownFetch]: "开始Markdown获取",
47
- [FETCHER_KEYS.creatingTurndown]: "创建Turndown服务",
48
- [FETCHER_KEYS.convertingToMarkdown]: "转换为Markdown",
49
- [FETCHER_KEYS.markdownContentLength]: "Markdown内容长度: {{length}} 字节",
52
+ [FETCHER_KEYS.startingMarkdownFetch]: "开始获取 Markdown",
53
+ [FETCHER_KEYS.creatingTurndown]: "创建 Turndown 服务",
54
+ [FETCHER_KEYS.convertingToMarkdown]: "转换为 Markdown",
55
+ [FETCHER_KEYS.markdownContentLength]: "Markdown 内容长度: {{length}} 字节",
50
56
  [FETCHER_KEYS.checkingProxyEnv]: "检查代理环境变量",
51
- [FETCHER_KEYS.envVarValue]: "环境变量 {{envVar}} 的值: {{value}}",
57
+ [FETCHER_KEYS.envVarValue]: "环境变量 {{envVar}} 值: {{value}}",
52
58
  [FETCHER_KEYS.foundSystemProxy]: "找到系统代理: {{proxy}}",
53
59
  [FETCHER_KEYS.systemCommandProxySettings]: "系统命令代理设置: {{output}}",
54
60
  [FETCHER_KEYS.foundProxyFromCommand]: "从命令中找到代理: {{proxy}}",
55
61
  [FETCHER_KEYS.errorGettingProxyFromCommand]: "从命令获取代理时出错: {{error}}",
56
- [FETCHER_KEYS.checkingSystemEnvVars]: "在平台 {{platform}} 上检查系统环境变量以获取代理设置",
57
- [FETCHER_KEYS.windowsEnvVars]: "Windows环境变量输出: {{output}}",
58
- [FETCHER_KEYS.foundWindowsEnvProxy]: "找到Windows环境代理: {{proxy}}",
59
- [FETCHER_KEYS.errorGettingWindowsEnvVars]: "获取Windows环境变量时出错: {{error}}",
60
- [FETCHER_KEYS.unixEnvVars]: "Unix环境变量输出: {{output}}",
61
- [FETCHER_KEYS.foundUnixEnvProxy]: "找到Unix环境代理: {{proxy}}",
62
- [FETCHER_KEYS.errorGettingUnixEnvVars]: "获取Unix环境变量时出错: {{error}}",
62
+ [FETCHER_KEYS.checkingSystemEnvVars]: "检查平台 {{platform}} 的系统环境变量代理设置",
63
+ [FETCHER_KEYS.windowsEnvVars]: "Windows 环境变量输出: {{output}}",
64
+ [FETCHER_KEYS.foundWindowsEnvProxy]: "找到 Windows 环境代理: {{proxy}}",
65
+ [FETCHER_KEYS.errorGettingWindowsEnvVars]: "获取 Windows 环境变量时出错: {{error}}",
66
+ [FETCHER_KEYS.unixEnvVars]: "Unix 环境变量输出: {{output}}",
67
+ [FETCHER_KEYS.foundUnixEnvProxy]: "找到 Unix 环境代理: {{proxy}}",
68
+ [FETCHER_KEYS.errorGettingUnixEnvVars]: "获取 Unix 环境变量时出错: {{error}}",
63
69
  [FETCHER_KEYS.errorGettingSystemEnvVars]: "获取系统环境变量时出错: {{error}}",
64
70
  [FETCHER_KEYS.noSystemProxyFound]: "未找到系统代理",
65
71
  [FETCHER_KEYS.notSet]: "未设置",
@@ -3,20 +3,22 @@
3
3
  * Co-Author: AI Assistant (Claude)
4
4
  * Description: This code was collaboratively developed by Martin and AI Assistant.
5
5
  */
6
- import { server } from './server.js';
7
- import { client } from './client.js';
8
- import { fetcher } from './fetcher.js';
9
- import { browser } from './browser.js';
10
- import { node } from './node.js';
11
- import { tools } from './tools.js';
12
- import { errors } from './errors.js';
13
- import { resources } from './resources.js';
6
+ import server from './server.js';
7
+ import client from './client.js';
8
+ import fetcher from './fetcher.js';
9
+ import factory from './factory.js';
10
+ import browser from './browser.js';
11
+ import node from './node.js';
12
+ import tools from './tools.js';
13
+ import errors from './errors.js';
14
+ import resources from './resources.js';
14
15
  import prompts from './prompts.js';
15
16
  // 中文翻译资源 (Chinese translation resources)
16
17
  export const zhTranslation = {
17
18
  server,
18
19
  client,
19
20
  fetcher,
21
+ factory,
20
22
  browser,
21
23
  node,
22
24
  tools,
@@ -3,40 +3,65 @@
3
3
  * Co-Author: AI Assistant (Claude)
4
4
  * Description: This code was collaboratively developed by Martin and AI Assistant.
5
5
  */
6
- // Node获取器相关消息 (Node fetcher related messages)
7
- export const node = {
8
- addingDelay: "添加随机延迟...",
9
- noProxy: "不使用代理",
10
- usingProxy: "使用代理: {{proxy}}",
11
- usingHttpsProxy: "使用HTTPS代理代理",
12
- usingHttpProxy: "使用HTTP代理代理",
13
- usingUserAgent: "使用User-Agent: {{userAgent}}",
14
- requestDetails: "请求详情: URL={{url}}, 方法={{method}}, 代理={{proxy}}",
15
- requestOptions: "请求选项: {{options}}",
16
- startingFetch: "开始获取请求...",
17
- fetchingUrl: "获取URL: {{url}}",
18
- responseStatus: "响应状态: {{status}} {{statusText}}",
19
- redirectingTo: "重定向到: {{location}}",
20
- constructedFullRedirectUrl: "构建完整重定向URL: {{redirectUrl}}",
21
- requestSuccess: "请求成功",
22
- errorResponse: "错误响应: {{status}} {{statusText}}",
23
- errorResponseBody: "错误响应内容(前200字符): {{body}}",
24
- errorReadingBody: "读取错误响应体失败: {{error}}",
25
- fetchError: "获取错误: {{error}}",
26
- requestAborted: "请求中止,耗时 {{duration}}ms",
27
- networkError: "网络错误 ({{code}}),可能需要使用浏览器模式重试",
28
- tooManyRedirects: "重定向次数过多 ({{redirects}})",
29
- startingHtmlFetch: "开始HTML获取",
30
- readingText: "获得响应,正在读取文本",
31
- htmlContentLength: "HTML内容长度: {{length}} 字节",
32
- htmlFetchError: "HTML获取错误: {{error}}",
33
- startingJsonFetch: "开始JSON获取",
34
- parsingJson: "获得响应,正在解析JSON",
35
- jsonParsed: "JSON解析成功",
36
- jsonParseError: "JSON解析错误: {{error}}",
37
- jsonFetchError: "JSON获取错误: {{error}}",
38
- startingTxtFetch: "开始TXT获取",
39
- startingMarkdownFetch: "开始Markdown获取",
40
- creatingTurndown: "创建TurndownService实例",
41
- convertingToMarkdown: "将HTML转换为Markdown"
6
+ import { NODE_KEYS } from '../../keys/node.js';
7
+ // Node 相关消息 (Node related messages)
8
+ export default {
9
+ // 延迟和代理相关 (Delay and proxy related)
10
+ [NODE_KEYS.addingDelay]: '添加延迟: {{delay}}ms',
11
+ [NODE_KEYS.noProxy]: '无代理',
12
+ [NODE_KEYS.usingProxy]: '使用代理: {{proxy}}',
13
+ [NODE_KEYS.usingHttpsProxy]: '使用HTTPS代理',
14
+ [NODE_KEYS.usingHttpProxy]: '使用HTTP代理',
15
+ // 系统代理相关 (System proxy related)
16
+ [NODE_KEYS.checkingProxyEnv]: '检查代理环境变量',
17
+ [NODE_KEYS.envVarValue]: '环境变量 {{envVar}} = {{value}}',
18
+ [NODE_KEYS.foundSystemProxy]: '找到系统代理: {{proxy}}',
19
+ [NODE_KEYS.checkingSystemEnvVars]: '检查系统环境变量,平台: {{platform}}',
20
+ [NODE_KEYS.windowsEnvVars]: 'Windows环境变量: {{output}}',
21
+ [NODE_KEYS.foundWindowsEnvProxy]: '找到Windows环境代理: {{proxy}}',
22
+ [NODE_KEYS.errorGettingWindowsEnvVars]: '获取Windows环境变量时出错: {{error}}',
23
+ [NODE_KEYS.unixEnvVars]: 'Unix环境变量: {{output}}',
24
+ [NODE_KEYS.foundUnixEnvProxy]: '找到Unix环境代理: {{proxy}}',
25
+ [NODE_KEYS.errorGettingUnixEnvVars]: '获取Unix环境变量时出错: {{error}}',
26
+ [NODE_KEYS.noSystemProxyFound]: '未找到系统代理',
27
+ [NODE_KEYS.errorGettingSystemEnvVars]: '获取系统环境变量时出错: {{error}}',
28
+ [NODE_KEYS.foundNoProxy]: '找到NO_PROXY设置: {{noProxy}}',
29
+ // 请求相关 (Request related)
30
+ [NODE_KEYS.usingUserAgent]: "使用 User-Agent: {{userAgent}}",
31
+ [NODE_KEYS.requestDetails]: "请求详情: 方法={{method}}, URL={{url}}",
32
+ [NODE_KEYS.requestOptions]: "请求选项: {{options}}",
33
+ [NODE_KEYS.startingFetch]: "开始获取: {{url}}",
34
+ [NODE_KEYS.fetchingUrl]: "正在获取 URL: {{url}}",
35
+ [NODE_KEYS.responseStatus]: "响应状态: {{status}}",
36
+ [NODE_KEYS.redirectingTo]: "重定向到: {{url}}",
37
+ [NODE_KEYS.constructedFullRedirectUrl]: "构建完整重定向 URL: {{url}}",
38
+ // 响应相关 (Response related)
39
+ [NODE_KEYS.requestSuccess]: "请求成功",
40
+ [NODE_KEYS.errorResponse]: "错误响应: {{status}}",
41
+ [NODE_KEYS.errorResponseBody]: "错误响应内容: {{body}}",
42
+ [NODE_KEYS.errorReadingBody]: "读取响应内容出错: {{error}}",
43
+ // 错误相关 (Error related)
44
+ [NODE_KEYS.fetchError]: "获取错误: {{error}}",
45
+ [NODE_KEYS.requestAborted]: "请求中止",
46
+ [NODE_KEYS.networkError]: "网络错误: {{code}}",
47
+ [NODE_KEYS.tooManyRedirects]: "重定向次数过多",
48
+ // HTML 获取相关 (HTML fetch related)
49
+ [NODE_KEYS.startingHtmlFetch]: "开始获取HTML",
50
+ [NODE_KEYS.readingText]: "读取文本内容",
51
+ [NODE_KEYS.htmlContentLength]: "HTML内容长度: {{length}}字节",
52
+ [NODE_KEYS.htmlFetchError]: "获取HTML时出错: {{error}}",
53
+ // JSON 获取相关 (JSON fetch related)
54
+ [NODE_KEYS.startingJsonFetch]: "开始获取JSON",
55
+ [NODE_KEYS.parsingJson]: "解析JSON",
56
+ [NODE_KEYS.jsonParsed]: "JSON解析完成",
57
+ [NODE_KEYS.jsonParseError]: "JSON解析错误: {{error}}",
58
+ [NODE_KEYS.jsonFetchError]: "获取JSON时出错: {{error}}",
59
+ // 文本获取相关 (Text fetch related)
60
+ [NODE_KEYS.startingTxtFetch]: "开始获取纯文本",
61
+ [NODE_KEYS.textContentLength]: "文本内容长度: {{length}}字节",
62
+ // Markdown 获取相关 (Markdown fetch related)
63
+ [NODE_KEYS.startingMarkdownFetch]: "开始获取Markdown",
64
+ [NODE_KEYS.creatingTurndown]: "创建Turndown服务",
65
+ [NODE_KEYS.convertingToMarkdown]: "将HTML转换为Markdown",
66
+ [NODE_KEYS.markdownContentLength]: "Markdown内容长度: {{length}}字节"
42
67
  };
@@ -3,70 +3,48 @@
3
3
  * Co-Author: AI Assistant (Claude)
4
4
  * Description: This code was collaboratively developed by Martin and AI Assistant.
5
5
  */
6
+ import { PROMPTS_KEYS } from '../../keys/prompts.js';
7
+ // 提示相关消息 (Prompts related messages)
6
8
  export default {
7
9
  // 提示列表和获取 (Prompt list and get)
8
- list: {
9
- request: "收到提示列表请求: {params}"
10
- },
11
- get: {
12
- request: "收到提示获取请求: {promptName}, {args}"
13
- },
10
+ [PROMPTS_KEYS.list.request]: "收到提示列表请求: {{params}}",
11
+ [PROMPTS_KEYS.get.request]: "收到提示获取请求: {{promptName}}, {{args}}",
14
12
  // 错误消息 (Error messages)
15
- notFound: "提示模板未找到",
16
- missingRequiredArg: "缺少必需参数",
17
- useBrowserValue: "处理浏览器模式参数: 原始值={original}, 解析后={parsed}",
13
+ [PROMPTS_KEYS.notFound]: "未找到提示模板",
14
+ [PROMPTS_KEYS.missingRequiredArg]: "缺少必需参数",
15
+ [PROMPTS_KEYS.useBrowserValue]: "处理 useBrowser 参数: 原始值={{original}}, 解析值={{parsed}}",
18
16
  // 通用提示 (Generic prompt)
19
- generic: {
20
- result: "执行通用提示",
21
- message: "执行提示模板",
22
- args: "参数"
23
- },
17
+ [PROMPTS_KEYS.generic.result]: "执行通用提示",
18
+ [PROMPTS_KEYS.generic.message]: "执行提示模板",
19
+ [PROMPTS_KEYS.generic.args]: "参数",
24
20
  // 是/否 (Yes/No)
25
- yes: "是",
26
- no: "否",
21
+ [PROMPTS_KEYS.yes]: "是",
22
+ [PROMPTS_KEYS.no]: "否",
27
23
  // 提示描述和参数 (Prompt descriptions and parameters)
28
- url: {
29
- description: "网站URL"
30
- },
31
- format: {
32
- description: "返回格式,可选值: html, json, text, markdown"
33
- },
34
- useBrowser: {
35
- description: "是否使用浏览器模式获取内容"
36
- },
37
- selector: {
38
- description: "CSS选择器,用于提取特定内容"
39
- },
40
- dataType: {
41
- description: "要提取的数据类型,如表格、列表、联系信息等"
42
- },
43
- error: {
44
- description: "获取过程中遇到的错误信息"
45
- },
24
+ [PROMPTS_KEYS.url.description]: "网站 URL",
25
+ [PROMPTS_KEYS.format.description]: "返回格式,选项: html, json, text, markdown",
26
+ [PROMPTS_KEYS.useBrowser.description]: "是否使用浏览器模式获取内容",
27
+ [PROMPTS_KEYS.selector.description]: "用于提取特定内容的 CSS 选择器",
28
+ [PROMPTS_KEYS.dataType.description]: "要提取的数据类型,如表格、列表、联系信息等",
29
+ [PROMPTS_KEYS.error.description]: "获取过程中遇到的错误信息",
46
30
  // 获取网站提示 (Fetch website prompt)
47
- fetchWebsite: {
48
- description: "获取网站内容",
49
- result: "网站内容获取结果",
50
- message: "我想获取一个网站的内容",
51
- response: "我可以帮你获取网站内容。请提供网站URL和所需的格式。",
52
- instruction: "请获取以下网站的内容",
53
- formatInstruction: "请以以下格式返回内容",
54
- browserInstruction: "是否使用浏览器模式"
55
- },
31
+ [PROMPTS_KEYS.fetchWebsite.description]: "获取网站内容",
32
+ [PROMPTS_KEYS.fetchWebsite.result]: "网站内容获取结果",
33
+ [PROMPTS_KEYS.fetchWebsite.message]: "我想获取网站的内容",
34
+ [PROMPTS_KEYS.fetchWebsite.response]: "我可以帮您获取网站内容。请提供网站 URL 和所需格式。",
35
+ [PROMPTS_KEYS.fetchWebsite.instruction]: "请获取以下网站的内容",
36
+ [PROMPTS_KEYS.fetchWebsite.formatInstruction]: "请以以下格式返回内容",
37
+ [PROMPTS_KEYS.fetchWebsite.browserInstruction]: "使用浏览器模式",
56
38
  // 提取内容提示 (Extract content prompt)
57
- extractContent: {
58
- description: "从网站提取特定内容",
59
- result: "内容提取结果",
60
- message: "请从以下网站提取内容",
61
- selectorInstruction: "使用以下CSS选择器提取内容",
62
- dataTypeInstruction: "提取以下类型的数据"
63
- },
39
+ [PROMPTS_KEYS.extractContent.description]: "从网站提取特定内容",
40
+ [PROMPTS_KEYS.extractContent.result]: "内容提取结果",
41
+ [PROMPTS_KEYS.extractContent.message]: "请从以下网站提取内容",
42
+ [PROMPTS_KEYS.extractContent.selectorInstruction]: "使用以下 CSS 选择器提取内容",
43
+ [PROMPTS_KEYS.extractContent.dataTypeInstruction]: "提取以下类型的数据",
64
44
  // 调试获取提示 (Debug fetch prompt)
65
- debugFetch: {
66
- description: "调试网站获取问题",
67
- result: "获取问题调试结果",
68
- message: "我在获取以下网站时遇到问题",
69
- errorDetails: "错误详情",
70
- instruction: "请分析可能的原因并提供解决方案。考虑以下几点:\n1. 网站是否有反爬虫措施\n2. 是否需要使用浏览器模式\n3. 是否需要设置特定的请求头\n4. 是否需要处理重定向或cookie\n5. 网站是否需要JavaScript渲染"
71
- }
45
+ [PROMPTS_KEYS.debugFetch.description]: "调试网站获取问题",
46
+ [PROMPTS_KEYS.debugFetch.result]: "获取问题调试结果",
47
+ [PROMPTS_KEYS.debugFetch.message]: "我在获取以下网站时遇到问题",
48
+ [PROMPTS_KEYS.debugFetch.errorDetails]: "错误详情",
49
+ [PROMPTS_KEYS.debugFetch.instruction]: "请分析可能的原因并提供解决方案。考虑以下几点:\n1. 网站是否有反爬虫措施\n2. 是否需要浏览器模式\n3. 是否需要特定的请求头\n4. 是否需要处理重定向或 Cookie\n5. 网站是否需要 JavaScript 渲染"
72
50
  };