yuangs 5.57.0 → 5.59.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.
@@ -50,6 +50,7 @@ const governance_1 = require("./governance");
50
50
  const executor_1 = require("./executor");
51
51
  const smartContextManager_1 = require("./smartContextManager");
52
52
  const core_1 = require("./governance/core");
53
+ const errorTracker_1 = require("./errorTracker");
53
54
  const dynamicPrompt_1 = require("./dynamicPrompt");
54
55
  const renderer_1 = require("../utils/renderer");
55
56
  class AgentRuntime {
@@ -65,6 +66,8 @@ class AgentRuntime {
65
66
  let lastError;
66
67
  let shouldComplete = false; // 标记是否应该完成
67
68
  let lastToolCall = null; // 跟踪上次工具调用及重复次数
69
+ let writeModeFileRead = null; // 跟踪 Write Mode 下已读取的文件
70
+ let writeModeFileContent = null; // 缓存 Write Mode 下已读取的文件内容
68
71
  // 构建初始动态上下文
69
72
  const initialDynamicContext = await (0, dynamicPrompt_1.buildDynamicContext)();
70
73
  if (userInput) {
@@ -263,13 +266,59 @@ class AgentRuntime {
263
266
  console.warn(chalk_1.default.yellow(`[KG] Warning: Failed to record causal edge: ${error.message}`));
264
267
  }
265
268
  }
269
+ // === 执行前错误检查 ===
270
+ // 检查是否应该阻止执行(防止重复错误)
271
+ let cachedResult = null;
272
+ if (action.type === 'tool_call') {
273
+ const toolName = action.payload.tool_name;
274
+ // Write Mode 阻止重复 read_file 调用,但返回缓存的内容
275
+ if (writeModeFileRead && toolName === 'read_file') {
276
+ const filePath = action.payload.parameters.path;
277
+ if (filePath === writeModeFileRead && writeModeFileContent) {
278
+ console.log(chalk_1.default.yellow(`[CACHED] 📋 文件 ${filePath} 内容已缓存,直接返回(避免重复读取)`));
279
+ // 使用缓存的结果,跳过实际执行
280
+ cachedResult = {
281
+ success: true,
282
+ output: writeModeFileContent,
283
+ artifacts: [filePath]
284
+ };
285
+ }
286
+ }
287
+ if (!cachedResult) {
288
+ const blockCheck = errorTracker_1.ErrorTracker.shouldBlockExecution(toolName, action.payload.parameters);
289
+ if (blockCheck.blocked) {
290
+ console.log(chalk_1.default.red(`[BLOCKED] 🚫 ${blockCheck.reason}`));
291
+ // 显示错误历史
292
+ if (blockCheck.existingError) {
293
+ console.log(chalk_1.default.yellow(`[Error History] 此错误已发生 ${blockCheck.existingError.attemptCount} 次`));
294
+ console.log(chalk_1.default.gray(`上次错误: ${blockCheck.existingError.errorMessage}`));
295
+ }
296
+ this.context.addMessage("system", `BLOCKED: ${blockCheck.reason}. 建议尝试不同的方法。`);
297
+ continue;
298
+ }
299
+ }
300
+ }
266
301
  // === 执行 ===
267
- console.log(chalk_1.default.yellow(`[EXECUTING] ⚙️ ${action.type}...`));
268
- const result = await executor_1.ToolExecutor.execute(action);
302
+ let result;
303
+ if (cachedResult) {
304
+ result = cachedResult;
305
+ // 添加到上下文
306
+ this.context.addToolResult('read_file', result.output);
307
+ const preview = result.output.length > 300
308
+ ? result.output.substring(0, 300) + '...'
309
+ : result.output;
310
+ console.log(chalk_1.default.green(`[SUCCESS] Result (cached):\n${preview}`));
311
+ }
312
+ else {
313
+ console.log(chalk_1.default.yellow(`[EXECUTING] ⚙️ ${action.type}...`));
314
+ result = await executor_1.ToolExecutor.execute(action);
315
+ }
269
316
  if (result.success) {
270
317
  // 成功时清除错误状态
271
318
  lastError = undefined;
272
- this.context.addToolResult(action.type, result.output);
319
+ // 使用实际工具名称而不是 action.type,这样 LLM 知道调用了哪个工具
320
+ const actualToolName = action.payload?.tool_name || action.type;
321
+ this.context.addToolResult(actualToolName, result.output);
273
322
  const preview = result.output.length > 300
274
323
  ? result.output.substring(0, 300) + '...'
275
324
  : result.output;
@@ -313,6 +362,9 @@ class AgentRuntime {
313
362
  console.log(chalk_1.default.gray('[Auto-Complete] 文件写入成功,自动完成任务'));
314
363
  console.log(chalk_1.default.green(`✓ 已创建文件: ${action.payload.parameters.path}\n`));
315
364
  this.context.addMessage("assistant", `已成功创建文件 ${action.payload.parameters.path}`);
365
+ // 清除 Write Mode 标记,因为写入已完成
366
+ writeModeFileRead = null;
367
+ writeModeFileContent = null;
316
368
  if (agentRenderer) {
317
369
  agentRenderer.buffer = '';
318
370
  agentRenderer.quietMode = true;
@@ -321,11 +373,15 @@ class AgentRuntime {
321
373
  break;
322
374
  }
323
375
  // 只读工具处理
324
- const readOnlyTools = ['read_file', 'list_files'];
376
+ const readOnlyTools = ['read_file', 'list_files', 'read_file_lines', 'read_file_lines_from_end', 'file_info', 'git_status', 'git_log', 'git_diff', 'list_directory_tree', 'search_in_files', 'search_symbol', 'continue_reading', 'analyze_dependencies'];
325
377
  if (readOnlyTools.includes(toolName)) {
326
- // 检测用户意图:如果要求"分析"、"解释"等,则不自动完成
327
- const requiresAnalysis = /分析|解释|说明|总结|review|explain/i.test(userInput);
328
- if (!requiresAnalysis) {
378
+ // 检测用户意图:
379
+ // 1. 如果要求"分析"、"解释"等,则不自动完成(继续分析)
380
+ // 2. 如果涉及写入操作(替换、修改、添加等),则不自动完成(继续执行写入)
381
+ // 使用更精确的匹配,避免文件名中的关键词(如 git_reviews.md 中的 review)误触发
382
+ const requiresAnalysis = /^(.*?)(帮我|请)?(分析|解释|说明|总结)|\b(review|explain)\s+(this|the|it)\b/i.test(userInput);
383
+ const requiresWrite = /替换|replace|修改|modify|添加|append|插入|insert|删除|delete|移除|remove|更新|update|改成|改成|改为/i.test(userInput);
384
+ if (!requiresAnalysis && !requiresWrite) {
329
385
  // 简单读取请求,直接返回结果
330
386
  console.log(chalk_1.default.gray('[Auto-Complete] 只读工具执行成功,自动完成任务'));
331
387
  console.log(chalk_1.default.cyan(`\n📄 ${toolName} 结果:\n`));
@@ -338,6 +394,16 @@ class AgentRuntime {
338
394
  }
339
395
  break;
340
396
  }
397
+ else if (requiresWrite) {
398
+ // 写入请求,继续循环让 AI 执行写入操作
399
+ console.log(chalk_1.default.gray('[Write Mode] 文件已读取,继续执行写入操作...'));
400
+ // 标记此文件已在 Write Mode 下读取,防止重复读取
401
+ writeModeFileRead = action.payload.parameters.path;
402
+ // 缓存文件内容,避免重复读取
403
+ writeModeFileContent = result.output;
404
+ // 添加系统消息明确指导 AI 下一步操作
405
+ this.context.addMessage('system', `文件 ${action.payload.parameters.path} 已成功读取。请根据用户要求修改内容后,调用 write_file 工具写入文件。不要重复调用 read_file!`);
406
+ }
341
407
  else {
342
408
  // 分析请求,继续循环让 AI 分析内容
343
409
  console.log(chalk_1.default.gray('[Analysis Mode] 文件已读取,继续分析...'));
@@ -370,10 +436,61 @@ class AgentRuntime {
370
436
  }
371
437
  }
372
438
  else {
373
- // 失败时记录错误,下次循环会注入错误恢复指导
439
+ // 失败时记录错误,尝试自动修复
374
440
  lastError = result.error;
375
- this.context.addToolResult(action.type, `Error: ${result.error}`);
441
+ const actualToolName = action.payload?.tool_name || action.type;
442
+ this.context.addToolResult(actualToolName, `Error: ${result.error}`);
376
443
  console.log(chalk_1.default.red(`[ERROR] ${result.error}`));
444
+ // 记录到错误追踪器
445
+ if (action.type === 'tool_call') {
446
+ errorTracker_1.ErrorTracker.recordError(action.payload.tool_name, action.payload.parameters, result.error || 'Unknown error', { mode, model: thought.modelName, userInput });
447
+ }
448
+ else if (action.type === 'shell_cmd') {
449
+ errorTracker_1.ErrorTracker.recordError('shell_cmd', { command: action.payload.command }, result.error || 'Unknown error', { mode, model: thought.modelName, userInput });
450
+ }
451
+ // 尝试自动修复(仅针对 shell_cmd 失败)
452
+ if (action.type === 'shell_cmd' && result.error) {
453
+ console.log(chalk_1.default.yellow('[AutoFix] 尝试自动修复命令...'));
454
+ try {
455
+ const { autoFixCommand } = await Promise.resolve().then(() => __importStar(require('../core/autofix')));
456
+ const { getOSProfile } = await Promise.resolve().then(() => __importStar(require('../core/os')));
457
+ const os = getOSProfile();
458
+ const fixPlan = await autoFixCommand(action.payload.command, result.error || result.output || '', os, thought.modelName);
459
+ if (fixPlan && fixPlan.command) {
460
+ console.log(chalk_1.default.cyan(`[AutoFix] 建议修复命令: ${fixPlan.command}`));
461
+ console.log(chalk_1.default.gray(`[AutoFix] 说明: ${fixPlan.plan || '无'}`));
462
+ // 将修复建议添加到上下文
463
+ this.context.addMessage('system', `自动修复建议:${fixPlan.command}\n原因:${fixPlan.plan || '无'}`);
464
+ // 如果修复方案风险低,直接执行
465
+ if (fixPlan.risk === 'low') {
466
+ console.log(chalk_1.default.yellow('[AutoFix] 修复方案风险低,自动执行...'));
467
+ const fixedAction = {
468
+ id: (0, crypto_1.randomUUID)(),
469
+ type: 'shell_cmd',
470
+ payload: { command: fixPlan.command },
471
+ riskLevel: 'low',
472
+ reasoning: `AutoFix from failed command: ${action.payload.command}`
473
+ };
474
+ const fixedResult = await executor_1.ToolExecutor.execute(fixedAction);
475
+ if (fixedResult.success) {
476
+ console.log(chalk_1.default.green('[AutoFix] 修复成功!'));
477
+ lastError = undefined;
478
+ this.context.addToolResult('shell_cmd', fixedResult.output);
479
+ continue;
480
+ }
481
+ else {
482
+ console.log(chalk_1.default.red('[AutoFix] 修复失败,继续原始错误处理'));
483
+ }
484
+ }
485
+ }
486
+ else {
487
+ console.log(chalk_1.default.gray('[AutoFix] 无法生成修复建议'));
488
+ }
489
+ }
490
+ catch (fixError) {
491
+ console.warn(chalk_1.default.yellow(`[AutoFix] 修复过程出错: ${fixError.message}`));
492
+ }
493
+ }
377
494
  }
378
495
  }
379
496
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntime.js","sourceRoot":"","sources":["../../src/agent/AgentRuntime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,mCAAoC;AACpC,+CAAiC;AACjC,sEAA+C;AAE/C,yCAAyC;AACzC,MAAM,gBAAgB,GAAG,IAAI,yBAAgB,EAAE,CAAC;AAChD,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAElD,6CAA0C;AAC1C,+BAAgC;AAChC,6CAAiD;AACjD,yCAA0C;AAE1C,+DAA4D;AAC5D,4CAAqD;AAErD,mDAIyB;AACzB,gDAA2D;AAE3D,MAAa,YAAY;IACf,OAAO,CAAsB;IAC7B,WAAW,CAAS;IAE5B,YAAY,cAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,yCAAmB,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,IAAA,mBAAU,GAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CACP,SAAiB,EACjB,OAA2B,MAAM,EACjC,OAAiC,EACjC,KAAc,EACd,QAAiC;QAEjC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,SAA6B,CAAC;QAClC,IAAI,cAAc,GAAG,KAAK,CAAC,CAAC,WAAW;QACvC,IAAI,YAAY,GAAwD,IAAI,CAAC,CAAC,gBAAgB;QAE9F,YAAY;QACZ,MAAM,qBAAqB,GAAG,MAAM,IAAA,mCAAmB,GAAE,CAAC;QAE1D,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,SAAS,GAAG,QAAQ,EAAE,CAAC;YAC5B,sBAAsB;YACtB,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBACjD,MAAM;YACR,CAAC;YAED,MAAM,WAAW,GAAG,EAAE,SAAS,CAAC;YAChC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,WAAW,MAAM,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,4DAA4D;YAC5D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBAC5D,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,GAAG;gBACjB,SAAS,EAAE,IAAI;gBACf,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAU,EAAE,CAAC;YAE3B,yCAAyC;YACzC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,eAAe,CAAC,OAAO;iBACjC,CAAC,CAAC;YACL,CAAC;YAED,2BAA2B;YAC3B,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC;gBAC/C,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE;iBAC7G,CAAC,CAAC;YACL,CAAC;YAED,iBAAiB;YACjB,IAAI,SAAS,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS;iBACnB,CAAC,CAAC;YACL,CAAC;YAED,qDAAqD;YACrD,MAAM,cAAc,GAAG,MAAM,IAAA,mCAAmB,EAAC,SAAS,CAAC,CAAC;YAE5D,qBAAqB;YACrB,MAAM,UAAU,GAAG,8BAAiB,CAAC,eAAe,EAAE,CAAC;YAEvD,UAAU;YACV,MAAM,cAAc,GAAG,IAAA,oCAAoB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAExE,2DAA2D;YAC3D,IAAI,aAAa,GAAG,QAAQ,CAAC;YAC7B,IAAI,YAAY,GAAG,OAAO,CAAC;YAE3B,IAAI,CAAC,aAAa,IAAI,YAAY,EAAE,CAAC;gBACnC,aAAa,GAAG,IAAI,iCAAsB,CACxC,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,EACrD,SAAS,EACT,EAAE,UAAU,EAAE,KAAK,EAAE,CACtB,CAAC;gBACF,YAAY,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;YAC/C,CAAC;YAED,IAAI,OAAO,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,uBAAU,CAAC,KAAK,CAC9B,QAAQ,EACR,IAAW,EACX,YAAY,EACZ,KAAK,EACL,cAAc,EACd,IAAI,CAAC,OAAO,CACb,CAAC;gBAEF,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBACvD,MAAM;gBACR,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,YAAY,GAAG,QAAQ,CAAC;gBAC5B,IAAI,UAAU,GAAG,CAAC,CAAC;gBAEnB,IAAI,KAAK,YAAY,aAAO,EAAE,CAAC;oBAC7B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC7B,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;gBAChC,CAAC;qBAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAClC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC7B,UAAU,GAAI,KAAa,CAAC,UAAU,IAAI,CAAC,CAAC;gBAC9C,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrC,YAAY,GAAG,KAAK,CAAC;gBACvB,CAAC;gBAED,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,YAAY,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;gBAExE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,UAAU,KAAK,YAAY,EAAE,CAAC,CAAC;gBAE7E,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7G,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;oBACvD,MAAM;gBACR,CAAC;gBAED,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBACpD,CAAC;gBAED,MAAM;YACR,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAmB;oBAC7B,EAAE,EAAE,IAAA,mBAAU,GAAE;oBAChB,IAAI,EAAG,OAAO,CAAC,IAAY,IAAI,QAAQ;oBACvC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;oBACjD,SAAS,EAAE,KAAK;oBAChB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;iBACnC,CAAC;gBAEF,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACjE,CAAC;gBAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACrE,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC/C,MAAM,MAAM,GAAG,MAAM,uBAAY,CAAC,OAAO,CAAC,MAAa,CAAC,CAAC;oBACzD,wBAAwB;oBAE1B,wBAAwB;oBACxB,IAAI,CAAC,QAAQ,IAAI,aAAa,EAAE,CAAC;wBAC/B,gDAAgD;wBAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;4BAClD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;4BAC7C,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC/B,CAAC;wBACD,aAAa,CAAC,MAAM,EAAE,CAAC;oBACzB,CAAC;yBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACrB,oCAAoC;wBACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC;oBACpD,CAAC;oBACD,kCAAkC;oBAElC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBAEpD,6BAA6B;oBAC7B,IAAI,CAAC;wBACH,MAAM,EAAE,qBAAqB,EAAE,GAAG,wDAAa,yBAAyB,GAAC,CAAC;wBAC1E,MAAM,EAAE,0BAA0B,EAAE,GAAG,wDAAa,6BAA6B,GAAC,CAAC;wBACnF,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAAa,wBAAwB,GAAC,CAAC;wBAEvE,MAAM,MAAM,GAAG,qBAAqB,CAClC,YAAY,EACZ,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAS,EACtC;4BACE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;4BAC7C,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;4BAC/C,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE;yBAC5C,EACR,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAC3D,EAAE,OAAO,EAAE,IAAI,EAAE,EACjB,SAAS,EACT,SAAS,EACT,MAAM,CACP,CAAC;wBAED,MAAc,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;wBACxD,MAAc,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;wBAEhD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;wBAClD,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAAa,wBAAwB,GAAC,CAAC;wBACvE,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;wBAEvD,IAAI,WAAW,EAAE,CAAC;4BAChB,MAAM,EAAE,oBAAoB,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;4BAC1D,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC,CAAC;oBAClE,CAAC;oBAED,MAAM;gBACR,CAAC;gBAED,iCAAiC;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;gBACzD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,wBAAwB,CAAC;gBAE7D,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;oBAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;oBAEpC,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;wBACnC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAC5C,CAAC;wBACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,eAAe,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC5E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC3E,IAAI,CAAC,OAAO,CAAC,UAAU,CACrB,QAAQ,EACR,sGAAsG,CACvG,CAAC;wBACF,SAAS;oBACX,CAAC;oBAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBAED,0BAA0B;gBAC1B,MAAM,QAAQ,GAAG,IAAA,uBAAgB,EAC/B,MAAM,EACN,8BAAiB,CAAC,QAAQ,EAAE,EAC5B,8BAAiB,CAAC,iBAAiB,EAAE,CACtC,CAAC;gBACF,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,oCAAoC,QAAQ,CAAC,MAAM,EAAE,CAAC,CACjE,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,UAAU,CACrB,QAAQ,EACR,kBAAkB,QAAQ,CAAC,MAAM,yBAAyB,CAC3D,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,8BAA8B;gBAC9B,MAAM,QAAQ,GAAG,MAAM,8BAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,4BAA4B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;oBACtE,IAAI,CAAC,OAAO,CAAC,UAAU,CACrB,QAAQ,EACR,2BAA2B,QAAQ,CAAC,MAAM,EAAE,CAC7C,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,oBAAoB;gBACpB,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;oBACxE,IAAI,CAAC;wBACH,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,gCAAgC,GAAC,CAAC;wBACtE,UAAU,CAAC;4BACT,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;4BAC5B,EAAE,EAAE,MAAM,CAAC,EAAE;4BACb,IAAI,EAAE,iBAAwB;4BAC9B,QAAQ,EAAE;gCACR,QAAQ,EAAE,IAAI;gCACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;6BACtB;yBACF,CAAC,CAAC;wBACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;oBACzD,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,+CAA+C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC7F,CAAC;gBACH,CAAC;gBAED,aAAa;gBACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kBAAkB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;gBAC9D,MAAM,MAAM,GAAG,MAAM,uBAAY,CAAC,OAAO,CAAC,MAAa,CAAC,CAAC;gBAEzD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,YAAY;oBACZ,SAAS,GAAG,SAAS,CAAC;oBACtB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBACvD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG;wBACxC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;wBACzC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC,CAAC;oBAE1D,cAAc;oBACd,MAAM,eAAe,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAE/H,oCAAoC;oBACpC,IAAI,cAAc,GAAG,CAAC,CAAC;oBACvB,MAAM,WAAW,GAAG,YAAY;wBAC9B,YAAY,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI;wBAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBAEjF,IAAI,WAAW,EAAE,CAAC;wBAChB,cAAc,GAAI,YAAoB,CAAC,KAAK,IAAI,CAAC,CAAC;wBAElD,4BAA4B;wBAC5B,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;4BACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;4BAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;4BAEhF,IAAI,aAAa,EAAE,CAAC;gCACjB,aAAqB,CAAC,MAAM,GAAG,EAAE,CAAC;gCAClC,aAAqB,CAAC,SAAS,GAAG,IAAI,CAAC;gCACxC,aAAa,CAAC,MAAM,EAAE,CAAC;4BACzB,CAAC;4BAED,MAAM;wBACR,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,cAAc,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;wBACrF,CAAC;oBACH,CAAC;oBAED,mBAAmB;oBACnB,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;wBAC/B,YAAoB,CAAC,KAAK,GAAG,cAAc,GAAG,CAAC,CAAC;oBACnD,CAAC;yBAAM,CAAC;wBACN,YAAY,GAAG,EAAE,GAAG,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;oBAClD,CAAC;oBAED,2BAA2B;oBAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;wBAE1C,cAAc;wBACd,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;4BAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;4BACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;4BAEzE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;4BAElF,IAAI,aAAa,EAAE,CAAC;gCACjB,aAAqB,CAAC,MAAM,GAAG,EAAE,CAAC;gCAClC,aAAqB,CAAC,SAAS,GAAG,IAAI,CAAC;gCACxC,aAAa,CAAC,MAAM,EAAE,CAAC;4BACzB,CAAC;4BAED,MAAM;wBACR,CAAC;wBAED,SAAS;wBACT,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;wBAClD,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACrC,+BAA+B;4BAC/B,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAEvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gCACtB,gBAAgB;gCAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;gCAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,QAAQ,CAAC,CAAC,CAAC;gCAClD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gCAE3B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gCAEhF,IAAI,aAAa,EAAE,CAAC;oCACjB,aAAqB,CAAC,MAAM,GAAG,EAAE,CAAC;oCAClC,aAAqB,CAAC,SAAS,GAAG,IAAI,CAAC;oCACxC,aAAa,CAAC,MAAM,EAAE,CAAC;gCACzB,CAAC;gCAED,MAAM;4BACR,CAAC;iCAAM,CAAC;gCACN,qBAAqB;gCACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;4BAC3D,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,uCAAuC;oBACvC,IAAI,CAAC;wBACH,MAAM,EAAE,qBAAqB,EAAE,GAAG,wDAAa,yBAAyB,GAAC,CAAC;wBAC1E,MAAM,EAAE,0BAA0B,EAAE,GAAG,wDAAa,6BAA6B,GAAC,CAAC;wBACnF,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAAa,wBAAwB,GAAC,CAAC;wBAEvE,MAAM,MAAM,GAAG,qBAAqB,CAClC,SAAS,IAAI,EAAE,EACf,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAS,EACtC;4BACE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;4BAC7C,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;4BAC/C,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE;yBAC5C,EACR,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAC3D,EAAE,OAAO,EAAE,IAAI,EAAE,EACjB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;wBAEF,8CAA8C;wBAC7C,MAAc,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;wBACxD,MAAc,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;wBAEhD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;wBAClD,MAAM,EAAE,mBAAmB,EAAE,GAAG,wDAAa,wBAAwB,GAAC,CAAC;wBACvE,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;wBAEvD,IAAI,WAAW,EAAE,CAAC;4BAChB,MAAM,EAAE,oBAAoB,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;4BAC1D,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,wBAAwB;oBACxB,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;oBACzB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpD,CAAC;YACD,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,YAAY,GAAG,QAAQ,CAAC;gBAC5B,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAC3B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC/B,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrC,YAAY,GAAG,KAAK,CAAC;gBACvB,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,uBAAuB,OAAO,EAAE,IAAI,MAAM,YAAY,EAAE,CAAC,CAAC,CAAC;gBACjF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,mBAAmB,OAAO,EAAE,IAAI,MAAM,YAAY,EAAE,CAAC,CAAC;gBACxF,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,QAAQ,YAAY,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;CACF;AAjcD,oCAicC"}
1
+ {"version":3,"file":"AgentRuntime.js","sourceRoot":"","sources":["../../src/agent/AgentRuntime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * 错误追踪器 (Error Tracker)
3
+ * -----------------------
4
+ * 跟踪工具执行过程中的错误,防止重复尝试相同的失败操作
5
+ *
6
+ * 功能:
7
+ * 1. 记录工具执行失败的详细信息
8
+ * 2. 检测重复的失败模式
9
+ * 3. 提供错误历史查询
10
+ * 4. 生成错误报告和建议
11
+ */
12
+ /**
13
+ * 错误记录接口
14
+ */
15
+ export interface ErrorRecord {
16
+ id: string;
17
+ timestamp: number;
18
+ toolName: string;
19
+ parameters: any;
20
+ errorType: string;
21
+ errorMessage: string;
22
+ attemptCount: number;
23
+ lastAttempt: number;
24
+ similarErrors: string[];
25
+ context?: {
26
+ mode: string;
27
+ model?: string;
28
+ userInput?: string;
29
+ };
30
+ }
31
+ /**
32
+ * 错误模式接口
33
+ */
34
+ export interface ErrorPattern {
35
+ pattern: string;
36
+ count: number;
37
+ firstOccurrence: number;
38
+ lastOccurrence: number;
39
+ errorIds: string[];
40
+ suggestedFix?: string;
41
+ }
42
+ /**
43
+ * 错误追踪器类
44
+ */
45
+ export declare class ErrorTracker {
46
+ private static errors;
47
+ private static errorPatterns;
48
+ private static maxHistorySize;
49
+ /**
50
+ * 记录工具执行错误
51
+ */
52
+ static recordError(toolName: string, parameters: any, errorMessage: string, context?: {
53
+ mode: string;
54
+ model?: string;
55
+ userInput?: string;
56
+ }): ErrorRecord;
57
+ /**
58
+ * 检查是否应该阻止执行(防止重复错误)
59
+ */
60
+ static shouldBlockExecution(toolName: string, parameters: any, maxRetries?: number): {
61
+ blocked: boolean;
62
+ reason?: string;
63
+ existingError?: ErrorRecord;
64
+ };
65
+ /**
66
+ * 查找相似错误
67
+ */
68
+ private static findSimilarError;
69
+ /**
70
+ * 生成错误指纹
71
+ */
72
+ private static generateFingerprint;
73
+ /**
74
+ * 分类错误类型
75
+ */
76
+ private static classifyError;
77
+ /**
78
+ * 更新错误模式
79
+ */
80
+ private static updateErrorPatterns;
81
+ /**
82
+ * 根据错误类型建议修复方案
83
+ */
84
+ private static suggestFix;
85
+ /**
86
+ * 清理旧记录
87
+ */
88
+ private static cleanupOldRecords;
89
+ /**
90
+ * 获取错误统计
91
+ */
92
+ static getErrorStats(): {
93
+ totalErrors: number;
94
+ errorsByTool: Record<string, number>;
95
+ errorsByType: Record<string, number>;
96
+ commonPatterns: Array<{
97
+ pattern: string;
98
+ count: string;
99
+ suggestedFix: string;
100
+ }>;
101
+ };
102
+ /**
103
+ * 清除所有错误记录
104
+ */
105
+ static clear(): void;
106
+ /**
107
+ * 获取特定工具的错误历史
108
+ */
109
+ static getToolHistory(toolName: string): ErrorRecord[];
110
+ }
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ /**
3
+ * 错误追踪器 (Error Tracker)
4
+ * -----------------------
5
+ * 跟踪工具执行过程中的错误,防止重复尝试相同的失败操作
6
+ *
7
+ * 功能:
8
+ * 1. 记录工具执行失败的详细信息
9
+ * 2. 检测重复的失败模式
10
+ * 3. 提供错误历史查询
11
+ * 4. 生成错误报告和建议
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.ErrorTracker = void 0;
15
+ const crypto_1 = require("crypto");
16
+ /**
17
+ * 错误追踪器类
18
+ */
19
+ class ErrorTracker {
20
+ static errors = new Map();
21
+ static errorPatterns = new Map();
22
+ static maxHistorySize = 1000;
23
+ /**
24
+ * 记录工具执行错误
25
+ */
26
+ static recordError(toolName, parameters, errorMessage, context) {
27
+ // 生成错误指纹(用于检测重复)
28
+ const fingerprint = this.generateFingerprint(toolName, parameters, errorMessage);
29
+ // 检查是否已存在相同错误
30
+ const existing = this.findSimilarError(toolName, parameters, errorMessage);
31
+ let record;
32
+ if (existing) {
33
+ // 更新现有记录
34
+ existing.attemptCount++;
35
+ existing.lastAttempt = Date.now();
36
+ existing.similarErrors.push(fingerprint);
37
+ record = existing;
38
+ }
39
+ else {
40
+ // 创建新记录
41
+ record = {
42
+ id: (0, crypto_1.randomUUID)(),
43
+ timestamp: Date.now(),
44
+ toolName,
45
+ parameters: JSON.parse(JSON.stringify(parameters)), // 深拷贝
46
+ errorType: this.classifyError(errorMessage),
47
+ errorMessage,
48
+ attemptCount: 1,
49
+ lastAttempt: Date.now(),
50
+ similarErrors: [fingerprint],
51
+ context
52
+ };
53
+ this.errors.set(record.id, record);
54
+ // 清理旧记录
55
+ if (this.errors.size > this.maxHistorySize) {
56
+ this.cleanupOldRecords();
57
+ }
58
+ }
59
+ // 更新错误模式
60
+ this.updateErrorPatterns(record);
61
+ return record;
62
+ }
63
+ /**
64
+ * 检查是否应该阻止执行(防止重复错误)
65
+ */
66
+ static shouldBlockExecution(toolName, parameters, maxRetries = 3) {
67
+ const existing = this.findSimilarError(toolName, parameters, '');
68
+ if (existing) {
69
+ // 对于 BUFFER_OVERFLOW 错误,立即阻止(重试不会有效)
70
+ if (existing.errorType === 'BUFFER_OVERFLOW') {
71
+ return {
72
+ blocked: true,
73
+ reason: `工具 ${toolName} 遇到输出过大错误(BUFFER_OVERFLOW)。重试不会有效。建议:\n1. 使用更具体的搜索模式\n2. 限制搜索范围(使用 file_pattern)\n3. 增大 max_results 参数`,
74
+ existingError: existing
75
+ };
76
+ }
77
+ // 对于其他错误,达到重试次数后阻止
78
+ if (existing.attemptCount >= maxRetries) {
79
+ return {
80
+ blocked: true,
81
+ reason: `工具 ${toolName} 已连续失败 ${existing.attemptCount} 次。建议:\n1. 检查参数是否正确\n2. 尝试不同的工具\n3. 修改任务策略`,
82
+ existingError: existing
83
+ };
84
+ }
85
+ }
86
+ return { blocked: false };
87
+ }
88
+ /**
89
+ * 查找相似错误
90
+ */
91
+ static findSimilarError(toolName, parameters, errorMessage) {
92
+ for (const record of this.errors.values()) {
93
+ if (record.toolName === toolName) {
94
+ // 对于 search_in_files,比较关键参数
95
+ if (toolName === 'search_in_files') {
96
+ const currentPattern = parameters.pattern || '';
97
+ const recordPattern = record.parameters.pattern || '';
98
+ const currentFilePattern = parameters.file_pattern || parameters.path || '';
99
+ const recordFilePattern = record.parameters.file_pattern || record.parameters.path || '';
100
+ // 如果搜索模式相同,认为是相似错误
101
+ if (currentPattern === recordPattern && currentFilePattern === recordFilePattern) {
102
+ return record;
103
+ }
104
+ }
105
+ else {
106
+ // 其他工具使用精确参数匹配
107
+ const paramFingerprint = JSON.stringify(parameters);
108
+ const recordParamFingerprint = JSON.stringify(record.parameters);
109
+ if (paramFingerprint === recordParamFingerprint) {
110
+ return record;
111
+ }
112
+ }
113
+ }
114
+ }
115
+ return undefined;
116
+ }
117
+ /**
118
+ * 生成错误指纹
119
+ */
120
+ static generateFingerprint(toolName, parameters, errorMessage) {
121
+ const normalizedMessage = errorMessage
122
+ .replace(/\d+/g, 'N') // 替换数字
123
+ .replace(/['"][^'"]*['"]/g, 'STR') // 替换字符串
124
+ .toLowerCase();
125
+ return `${toolName}:${normalizedMessage}`;
126
+ }
127
+ /**
128
+ * 分类错误类型
129
+ */
130
+ static classifyError(errorMessage) {
131
+ const lower = errorMessage.toLowerCase();
132
+ if (lower.includes('enoent') || lower.includes('no such file'))
133
+ return 'FILE_NOT_FOUND';
134
+ if (lower.includes('eacces') || lower.includes('permission'))
135
+ return 'PERMISSION_DENIED';
136
+ if (lower.includes('syntax') || lower.includes('parse'))
137
+ return 'SYNTAX_ERROR';
138
+ if (lower.includes('network') || lower.includes('econn'))
139
+ return 'NETWORK_ERROR';
140
+ if (lower.includes('timeout') || lower.includes('etimed'))
141
+ return 'TIMEOUT';
142
+ if (lower.includes('unknown tool'))
143
+ return 'UNKNOWN_TOOL';
144
+ if (lower.includes('capability') || lower.includes('requires'))
145
+ return 'CAPABILITY_ERROR';
146
+ if (lower.includes('maxbuffer') || lower.includes('max_buffer') || lower.includes('buffer'))
147
+ return 'BUFFER_OVERFLOW';
148
+ return 'UNKNOWN';
149
+ }
150
+ /**
151
+ * 更新错误模式
152
+ */
153
+ static updateErrorPatterns(record) {
154
+ const patternKey = `${record.toolName}:${record.errorType}`;
155
+ const pattern = this.errorPatterns.get(patternKey);
156
+ if (pattern) {
157
+ pattern.count++;
158
+ pattern.lastOccurrence = record.timestamp;
159
+ pattern.errorIds.push(record.id);
160
+ }
161
+ else {
162
+ this.errorPatterns.set(patternKey, {
163
+ pattern: patternKey,
164
+ count: 1,
165
+ firstOccurrence: record.timestamp,
166
+ lastOccurrence: record.timestamp,
167
+ errorIds: [record.id],
168
+ suggestedFix: this.suggestFix(record.errorType)
169
+ });
170
+ }
171
+ }
172
+ /**
173
+ * 根据错误类型建议修复方案
174
+ */
175
+ static suggestFix(errorType) {
176
+ const fixes = {
177
+ FILE_NOT_FOUND: '检查文件路径是否正确,或使用 list_files 确认文件存在',
178
+ PERMISSION_DENIED: '检查文件权限,或尝试使用不同的工具/方式',
179
+ SYNTAX_ERROR: '检查命令语法,参考工具文档',
180
+ NETWORK_ERROR: '检查网络连接,稍后重试',
181
+ TIMEOUT: '增加超时时间,或简化请求',
182
+ UNKNOWN_TOOL: '使用 list_files 查看可用工具列表',
183
+ CAPABILITY_ERROR: '当前模型能力不足,尝试使用更基础的工具',
184
+ BUFFER_OVERFLOW: '搜索结果过多,建议:1. 使用更具体的搜索模式 2. 限制搜索范围(使用 file_pattern)3. 增大 max_results 参数'
185
+ };
186
+ return fixes[errorType] || '检查输入参数和执行环境';
187
+ }
188
+ /**
189
+ * 清理旧记录
190
+ */
191
+ static cleanupOldRecords() {
192
+ const now = Date.now();
193
+ const maxAge = 24 * 60 * 60 * 1000; // 24小时
194
+ for (const [id, record] of this.errors.entries()) {
195
+ if (now - record.timestamp > maxAge) {
196
+ this.errors.delete(id);
197
+ }
198
+ }
199
+ }
200
+ /**
201
+ * 获取错误统计
202
+ */
203
+ static getErrorStats() {
204
+ const errorsByTool = {};
205
+ const errorsByType = {};
206
+ for (const record of this.errors.values()) {
207
+ errorsByTool[record.toolName] = (errorsByTool[record.toolName] || 0) + 1;
208
+ errorsByType[record.errorType] = (errorsByType[record.errorType] || 0) + 1;
209
+ }
210
+ // 获取最常见的错误模式
211
+ const commonPatterns = Array.from(this.errorPatterns.entries())
212
+ .sort((a, b) => b[1].count - a[1].count)
213
+ .slice(0, 5)
214
+ .map(([key, pattern]) => ({
215
+ pattern: key,
216
+ count: pattern.count.toString(),
217
+ suggestedFix: pattern.suggestedFix || '无建议'
218
+ }));
219
+ return {
220
+ totalErrors: this.errors.size,
221
+ errorsByTool,
222
+ errorsByType,
223
+ commonPatterns
224
+ };
225
+ }
226
+ /**
227
+ * 清除所有错误记录
228
+ */
229
+ static clear() {
230
+ this.errors.clear();
231
+ this.errorPatterns.clear();
232
+ }
233
+ /**
234
+ * 获取特定工具的错误历史
235
+ */
236
+ static getToolHistory(toolName) {
237
+ return Array.from(this.errors.values())
238
+ .filter(record => record.toolName === toolName)
239
+ .sort((a, b) => b.timestamp - a.timestamp);
240
+ }
241
+ }
242
+ exports.ErrorTracker = ErrorTracker;
243
+ //# sourceMappingURL=errorTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorTracker.js","sourceRoot":"","sources":["../../src/agent/errorTracker.ts"],"names":[],"mappings":"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"}