shipmyagent 1.0.108 → 1.0.112

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 (40) hide show
  1. package/bin/agent/context/agent.d.ts.map +1 -1
  2. package/bin/agent/context/agent.js +96 -32
  3. package/bin/agent/context/agent.js.map +1 -1
  4. package/bin/agent/mcp/manager.js +2 -2
  5. package/bin/agent/mcp/manager.js.map +1 -1
  6. package/bin/chat/context-compressor.d.ts.map +1 -0
  7. package/bin/chat/context-compressor.js +243 -0
  8. package/bin/chat/context-compressor.js.map +1 -0
  9. package/bin/chat/context-indexer.d.ts.map +1 -0
  10. package/bin/chat/context-indexer.js +183 -0
  11. package/bin/chat/context-indexer.js.map +1 -0
  12. package/bin/chat/context-search.d.ts.map +1 -0
  13. package/bin/chat/context-search.js +285 -0
  14. package/bin/chat/context-search.js.map +1 -0
  15. package/bin/chat/importance-scorer.d.ts.map +1 -0
  16. package/bin/chat/importance-scorer.js +144 -0
  17. package/bin/chat/importance-scorer.js.map +1 -0
  18. package/bin/chat/memory-extractor.d.ts.map +1 -0
  19. package/bin/chat/memory-extractor.js +200 -0
  20. package/bin/chat/memory-extractor.js.map +1 -0
  21. package/bin/chat/memory-store.d.ts.map +1 -0
  22. package/bin/chat/memory-store.js +241 -0
  23. package/bin/chat/memory-store.js.map +1 -0
  24. package/bin/chat/metadata-extractor.d.ts.map +1 -0
  25. package/bin/chat/metadata-extractor.js +255 -0
  26. package/bin/chat/metadata-extractor.js.map +1 -0
  27. package/bin/chat/relevance-ranker.d.ts.map +1 -0
  28. package/bin/chat/relevance-ranker.js +256 -0
  29. package/bin/chat/relevance-ranker.js.map +1 -0
  30. package/bin/chat/summarizer.d.ts.map +1 -0
  31. package/bin/chat/summarizer.js +198 -0
  32. package/bin/chat/summarizer.js.map +1 -0
  33. package/bin/commands/run.js +1 -1
  34. package/bin/commands/run.js.map +1 -1
  35. package/bin/types/agent.d.ts.map +1 -1
  36. package/bin/types/context-compression.d.ts.map +1 -0
  37. package/bin/types/context-compression.js +5 -0
  38. package/bin/types/context-compression.js.map +1 -0
  39. package/bin/types/contexts.d.ts.map +1 -1
  40. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/agent/context/agent.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAiClE,qBAAa,KAAK;IAEhB,OAAO,CAAC,OAAO,CAAsB;IAErC,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO,CAAC,KAAK,CAAoC;IAEjD,OAAO,CAAC,KAAK,CAA4B;IACzC;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,eAAe,CAAkB;gBAE7B,OAAO,EAAE,mBAAmB;IAIxC,SAAS,IAAI,MAAM;IAIb,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAsCrD,OAAO,CAAC,WAAW;YAaL,0BAA0B;YAmB1B,0BAA0B;YA8B1B,oBAAoB;IA8flC,aAAa,IAAI,OAAO;CAGzB"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/agent/context/agent.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAiClE,qBAAa,KAAK;IAEhB,OAAO,CAAC,OAAO,CAAsB;IAErC,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO,CAAC,KAAK,CAAoC;IAEjD,OAAO,CAAC,KAAK,CAA4B;IACzC;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,eAAe,CAAkB;gBAE7B,OAAO,EAAE,mBAAmB;IAIxC,SAAS,IAAI,MAAM;IAIb,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAsCrD,OAAO,CAAC,WAAW;YAaL,0BAA0B;YAmB1B,0BAA0B;YA8B1B,oBAAoB;IAyjBlC,aAAa,IAAI,OAAO;CAGzB"}
@@ -259,7 +259,9 @@ export class Agent {
259
259
  if (retryAttempts === 0) {
260
260
  contextMessages.push({ role: "user", content: userText });
261
261
  }
262
- const currentUserMessageRef = contextMessages[contextMessages.length - 1] || { role: "user", content: userText };
262
+ const currentUserMessageRef = contextMessages[contextMessages.length - 1] ||
263
+ { role: "user", content: userText };
264
+ const baseCurrentUserContent = String(currentUserMessageRef?.content ?? "");
263
265
  // in-flight messages = system(独立传入) + contextMessages(同一数组复用)
264
266
  const inFlightMessages = contextMessages;
265
267
  await logger.log("debug", "Context injection selected", {
@@ -270,7 +272,6 @@ export class Agent {
270
272
  // system messages 需要保持聚合在 messages 开头,工具注入 system 指令时应插到它们之后。
271
273
  // 注意:contextMessages 不包含 system,因此 systemMessageInsertIndex 固定为 0
272
274
  let systemMessageInsertIndex = 0;
273
- const currentUserMessageIndex = Math.max(0, inFlightMessages.length - 1);
274
275
  // 关键点(中文):system prompt 不再放入 context messages(避免污染跨轮复用的数组),
275
276
  // 统一通过 `system` 参数注入(runtime + 配置 + tools 追加)。
276
277
  const runtimeSystemMessages = systemExtras
@@ -281,8 +282,74 @@ export class Agent {
281
282
  ...transformPromptsIntoSystemMessages([...this.configs.systems]),
282
283
  ];
283
284
  const allToolNames = Object.keys(this.tools);
284
- // lane “快速矫正”追加内容:仅影响 prepareStep 的 step 输入,不改写 messages。
285
+ /**
286
+ * lane “快速矫正”合并。
287
+ *
288
+ * 关键点(中文)
289
+ * - 关键约束:本次 run 只维护“1 条 user message”(本轮 query 对应的那条),lane 合并内容只追加到它的末尾。
290
+ * - 可见性:我们会在每次 tool 结束后 drain 一次,并在每个 `prepareStep` 前再 drain 一次;
291
+ * 同时在 `prepareStep` 返回的 messages 里强制把合并块写入当前 user,避免 SDK 内部复制导致丢失更新。
292
+ */
285
293
  let laneMergedAppendBlock = "";
294
+ const appendLaneMergedBlockToCurrentUser = (mergedText, trigger) => {
295
+ const trimmed = String(mergedText ?? "").trim();
296
+ if (!trimmed)
297
+ return;
298
+ laneMergedAppendBlock += `\n\n---\n\n${trimmed}\n`;
299
+ const last = currentUserMessageRef;
300
+ if (last && last.role === "user") {
301
+ last.content = baseCurrentUserContent + laneMergedAppendBlock;
302
+ }
303
+ void logger.log("debug", "Lane merged text appended to current user message", {
304
+ chatKey,
305
+ requestId,
306
+ trigger,
307
+ mergedChars: trimmed.length,
308
+ });
309
+ };
310
+ const drainAndAppendLaneMergedTextIfNeeded = async (trigger) => {
311
+ if (typeof drainLaneMergedText !== "function")
312
+ return { merged: false };
313
+ try {
314
+ const mergedText = await drainLaneMergedText();
315
+ if (!mergedText || !mergedText.trim())
316
+ return { merged: false };
317
+ appendLaneMergedBlockToCurrentUser(mergedText, trigger);
318
+ return { merged: true, mergedText: mergedText.trim() };
319
+ }
320
+ catch {
321
+ // ignore
322
+ return { merged: false };
323
+ }
324
+ };
325
+ const toolsWithLaneMerge = {};
326
+ for (const [toolName, tool] of Object.entries(this.tools)) {
327
+ const exec = tool?.execute;
328
+ if (typeof exec !== "function") {
329
+ toolsWithLaneMerge[toolName] = tool;
330
+ continue;
331
+ }
332
+ toolsWithLaneMerge[toolName] = {
333
+ ...tool,
334
+ execute: async (...args) => {
335
+ try {
336
+ return await exec.apply(tool, args);
337
+ }
338
+ finally {
339
+ // 关键点(中文):工具结束后立即 drain,一旦有新消息就并入当前 user message。
340
+ const merged = await drainAndAppendLaneMergedTextIfNeeded(`after_tool:${toolName}`);
341
+ if (merged.merged && onStep) {
342
+ try {
343
+ await emitStep("lane_merge", merged.mergedText || "", { requestId, chatKey });
344
+ }
345
+ catch {
346
+ // ignore
347
+ }
348
+ }
349
+ }
350
+ },
351
+ };
352
+ }
286
353
  const buildLoadedSkillsSystemText = (loaded) => {
287
354
  if (!loaded || loaded.size === 0)
288
355
  return null;
@@ -336,7 +403,7 @@ export class Agent {
336
403
  const result = await withToolExecutionContext({
337
404
  systemMessageInsertIndex,
338
405
  messages: inFlightMessages,
339
- currentUserMessageIndex,
406
+ currentUserMessageIndex: Math.max(0, inFlightMessages.length - 1),
340
407
  injectedFingerprints: new Set(),
341
408
  maxInjectedMessages: 120,
342
409
  toolCallCounts: new Map(),
@@ -350,12 +417,10 @@ export class Agent {
350
417
  prepareStep: async ({ messages }) => {
351
418
  const execCtx = toolExecutionContext.getStore();
352
419
  // 1) 在每个 step 前先检查 lane 是否有新消息,合并做快速矫正。
353
- if (typeof drainLaneMergedText === "function") {
420
+ const merged = await drainAndAppendLaneMergedTextIfNeeded("before_step");
421
+ if (merged.merged && onStep) {
354
422
  try {
355
- const mergedText = await drainLaneMergedText();
356
- if (mergedText && mergedText.trim()) {
357
- laneMergedAppendBlock += `\n\n---\n\n${mergedText.trim()}\n`;
358
- }
423
+ await emitStep("lane_merge", merged.mergedText || "", { requestId, chatKey });
359
424
  }
360
425
  catch {
361
426
  // ignore
@@ -398,7 +463,7 @@ export class Agent {
398
463
  ]
399
464
  : baseSystemMessages;
400
465
  // 3) messages:把“预备注入 assistant messages”插到当前 user message 之前;
401
- // 同时把 lane 合并文本追加到当前 user message(不改写原 messages 对象)。
466
+ // 并且把 lane 合并块强制写入当前 user(避免 SDK 内部复制导致丢失更新)。
402
467
  let outMessages = messages;
403
468
  if (execCtx?.preparedAssistantMessages?.length) {
404
469
  const insertAt = outMessages.findIndex((m) => m === currentUserMessageRef);
@@ -416,14 +481,27 @@ export class Agent {
416
481
  }
417
482
  }
418
483
  if (laneMergedAppendBlock.trim()) {
419
- const idx = outMessages.findIndex((m) => m === currentUserMessageRef);
484
+ const idx = (() => {
485
+ // 优先按引用匹配;若 SDK 内部复制导致引用不一致,则兜底取最后一条 user。
486
+ const byRef = outMessages.findIndex((m) => m === currentUserMessageRef);
487
+ if (byRef >= 0)
488
+ return byRef;
489
+ for (let i = outMessages.length - 1; i >= 0; i -= 1) {
490
+ const m = outMessages[i];
491
+ if (m && m.role === "user")
492
+ return i;
493
+ }
494
+ return -1;
495
+ })();
420
496
  if (idx >= 0) {
421
- const baseUserContent = String(currentUserMessageRef?.content ?? "");
422
- const mergedUserContent = baseUserContent + laneMergedAppendBlock;
423
497
  const old = outMessages[idx];
424
498
  outMessages = [
425
499
  ...outMessages.slice(0, idx),
426
- { ...old, role: "user", content: mergedUserContent },
500
+ {
501
+ ...old,
502
+ role: "user",
503
+ content: baseCurrentUserContent + laneMergedAppendBlock,
504
+ },
427
505
  ...outMessages.slice(idx + 1),
428
506
  ];
429
507
  }
@@ -436,18 +514,14 @@ export class Agent {
436
514
  };
437
515
  },
438
516
  messages: inFlightMessages,
439
- tools: this.tools,
517
+ tools: toolsWithLaneMerge,
440
518
  stopWhen: [stepCountIs(30)],
441
519
  onStepFinish: async (step) => {
442
520
  try {
443
521
  const userTextFromStep = extractUserFacingTextFromStep(step);
444
- if (userTextFromStep &&
445
- userTextFromStep !== lastEmittedAssistant) {
522
+ if (userTextFromStep && userTextFromStep !== lastEmittedAssistant) {
446
523
  lastEmittedAssistant = userTextFromStep;
447
- await emitStep("assistant", userTextFromStep, {
448
- requestId,
449
- chatKey,
450
- });
524
+ await emitStep("assistant", userTextFromStep, { requestId, chatKey });
451
525
  }
452
526
  }
453
527
  catch {
@@ -456,10 +530,7 @@ export class Agent {
456
530
  if (!onStep)
457
531
  return;
458
532
  try {
459
- await emitToolSummariesFromStep(step, emitStep, {
460
- requestId,
461
- chatKey,
462
- });
533
+ await emitToolSummariesFromStep(step, emitStep, { requestId, chatKey });
463
534
  }
464
535
  catch {
465
536
  // ignore
@@ -513,13 +584,6 @@ export class Agent {
513
584
  // run 结束:把 assistant 追加到进程内 context;然后 flush 全量到 active.jsonl(用于进程重启恢复)
514
585
  try {
515
586
  const assistantText = pickLastSuccessfulChatSendText(toolCalls) || String(result.text || "").trim();
516
- if (laneMergedAppendBlock.trim()) {
517
- // 关键点(中文):把 lane 合并块补写回当前 user message,保证下一轮复用的 context 与模型看到的一致
518
- const last = inFlightMessages[inFlightMessages.length - 1];
519
- if (last && last.role === "user") {
520
- last.content = String(last.content ?? "") + laneMergedAppendBlock;
521
- }
522
- }
523
587
  if (assistantText)
524
588
  inFlightMessages.push({ role: "assistant", content: assistantText });
525
589
  await this.flushContextMessagesToDisk({ chatKey, messages: inFlightMessages });
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/context/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/context/agent.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
4
4
  import fs from "fs-extra";
5
5
  import { HttpTransport } from "./http-transport.js";
6
6
  import { resolveEnvVar, resolveEnvVarsInRecord } from "./env.js";
7
- import { logger } from "@/telemetry/logging/logger.js";
8
- import { getShipMcpConfigPath } from "@/utils.js";
7
+ import { logger } from "../../telemetry/logging/logger.js";
8
+ import { getShipMcpConfigPath } from "../../utils.js";
9
9
  export class McpManager {
10
10
  clients = new Map();
11
11
  projectRoot;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/agent/mcp/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/agent/mcp/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-compressor.d.ts","sourceRoot":"","sources":["../../src/chat/context-compressor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AAIzC;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,mBAK1C,CAAC;AAoCF;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,iBAAiB,EAAE,EAC1B,QAAQ,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CA2F5B;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,iBAAiB,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CAgD5B;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,iBAAiB,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAWT;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,iBAAiB,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf;IACD,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAkCA"}
@@ -0,0 +1,243 @@
1
+ /**
2
+ * 智能上下文压缩器
3
+ *
4
+ * 核心功能:
5
+ * 1. 保留最近 N 轮完整对话
6
+ * 2. 对更早的对话进行摘要
7
+ * 3. 提取关键事实
8
+ * 4. 基于重要性评分保留关键对话
9
+ */
10
+ import { filterByImportance } from "./importance-scorer.js";
11
+ import { summarizeTurns } from "./summarizer.js";
12
+ /**
13
+ * 默认压缩策略
14
+ */
15
+ export const DEFAULT_COMPRESSION_STRATEGY = {
16
+ recentTurnsToKeep: 10,
17
+ summarizeOlderTurns: true,
18
+ extractKeyFacts: true,
19
+ useImportanceScoring: true,
20
+ };
21
+ /**
22
+ * 计算文本总字符数
23
+ */
24
+ function countTotalChars(turns) {
25
+ return turns.reduce((sum, turn) => sum + String(turn.text || "").length, 0);
26
+ }
27
+ /**
28
+ * 创建摘要轮次
29
+ */
30
+ function createSummaryTurn(summary, timestamp) {
31
+ return {
32
+ v: 1,
33
+ ts: timestamp,
34
+ role: "assistant",
35
+ text: `[历史对话摘要]\n${summary}`,
36
+ meta: { type: "summary", generated: true },
37
+ };
38
+ }
39
+ /**
40
+ * 创建关键事实轮次
41
+ */
42
+ function createKeyFactsTurn(facts, timestamp) {
43
+ const factsText = facts.map((fact, i) => `${i + 1}. ${fact}`).join("\n");
44
+ return {
45
+ v: 1,
46
+ ts: timestamp,
47
+ role: "assistant",
48
+ text: `[提取的关键信息]\n${factsText}`,
49
+ meta: { type: "key_facts", generated: true },
50
+ };
51
+ }
52
+ /**
53
+ * 智能压缩对话上下文
54
+ *
55
+ * @param turns 原始对话轮次
56
+ * @param strategy 压缩策略
57
+ * @returns 压缩结果
58
+ */
59
+ export async function compressContext(turns, strategy = {}) {
60
+ const config = { ...DEFAULT_COMPRESSION_STRATEGY, ...strategy };
61
+ const originalTurns = turns.length;
62
+ const originalChars = countTotalChars(turns);
63
+ // 如果对话很短,不需要压缩
64
+ if (turns.length <= config.recentTurnsToKeep) {
65
+ return {
66
+ compressed: turns,
67
+ stats: {
68
+ originalTurns,
69
+ compressedTurns: turns.length,
70
+ originalChars,
71
+ compressedChars: originalChars,
72
+ compressionRatio: 1,
73
+ },
74
+ };
75
+ }
76
+ // 1. 分离最近的对话和旧对话
77
+ const recentTurns = turns.slice(-config.recentTurnsToKeep);
78
+ const olderTurns = turns.slice(0, -config.recentTurnsToKeep);
79
+ const compressed = [];
80
+ let summary;
81
+ let keyFacts;
82
+ // 2. 处理旧对话
83
+ if (olderTurns.length > 0) {
84
+ // 2.1 使用重要性评分筛选关键对话
85
+ if (config.useImportanceScoring) {
86
+ const importantTurns = filterByImportance(olderTurns, Math.min(5, Math.floor(olderTurns.length * 0.3)), // 保留最多 30% 的重要对话
87
+ 0.5 // 最低评分阈值
88
+ );
89
+ if (importantTurns.length > 0) {
90
+ compressed.push(...importantTurns);
91
+ }
92
+ }
93
+ // 2.2 生成摘要
94
+ if (config.summarizeOlderTurns) {
95
+ const summaryResult = await summarizeTurns(olderTurns, {
96
+ maxLength: 500,
97
+ extractKeyFacts: config.extractKeyFacts,
98
+ });
99
+ summary = summaryResult.summary;
100
+ keyFacts = summaryResult.keyFacts;
101
+ // 将摘要作为一个特殊的 turn 插入
102
+ if (summary) {
103
+ const summaryTurn = createSummaryTurn(summary, olderTurns[0]?.ts || Date.now());
104
+ compressed.unshift(summaryTurn);
105
+ }
106
+ // 将关键事实作为一个特殊的 turn 插入
107
+ if (keyFacts && keyFacts.length > 0) {
108
+ const factsTurn = createKeyFactsTurn(keyFacts, olderTurns[0]?.ts || Date.now());
109
+ compressed.push(factsTurn);
110
+ }
111
+ }
112
+ }
113
+ // 3. 添加最近的完整对话
114
+ compressed.push(...recentTurns);
115
+ // 4. 计算压缩统计
116
+ const compressedChars = countTotalChars(compressed);
117
+ const compressionRatio = originalChars > 0 ? compressedChars / originalChars : 1;
118
+ return {
119
+ compressed,
120
+ summary,
121
+ keyFacts,
122
+ stats: {
123
+ originalTurns,
124
+ compressedTurns: compressed.length,
125
+ originalChars,
126
+ compressedChars,
127
+ compressionRatio,
128
+ },
129
+ };
130
+ }
131
+ /**
132
+ * 智能压缩并限制字符数
133
+ *
134
+ * 在压缩的基础上,进一步确保不超过字符限制
135
+ *
136
+ * @param turns 原始对话轮次
137
+ * @param maxChars 最大字符数
138
+ * @param strategy 压缩策略
139
+ * @returns 压缩结果
140
+ */
141
+ export async function compressContextWithLimit(turns, maxChars, strategy = {}) {
142
+ // 首先进行智能压缩
143
+ const result = await compressContext(turns, strategy);
144
+ // 如果压缩后仍然超过限制,进一步裁剪
145
+ if (result.stats.compressedChars > maxChars) {
146
+ const trimmed = [];
147
+ let currentChars = 0;
148
+ // 从后往前添加(优先保留最近的对话)
149
+ for (let i = result.compressed.length - 1; i >= 0; i--) {
150
+ const turn = result.compressed[i];
151
+ const turnChars = String(turn.text || "").length;
152
+ if (currentChars + turnChars <= maxChars) {
153
+ trimmed.unshift(turn);
154
+ currentChars += turnChars;
155
+ }
156
+ else {
157
+ // 如果是摘要或关键事实,尝试保留
158
+ if (turn.meta?.type === "summary" || turn.meta?.type === "key_facts") {
159
+ // 截断文本以适应限制
160
+ const availableChars = maxChars - currentChars;
161
+ if (availableChars > 100) {
162
+ const truncatedText = String(turn.text || "").slice(0, availableChars - 20) + "\n...(已截断)";
163
+ trimmed.unshift({
164
+ ...turn,
165
+ text: truncatedText,
166
+ });
167
+ currentChars += truncatedText.length;
168
+ }
169
+ }
170
+ break;
171
+ }
172
+ }
173
+ return {
174
+ ...result,
175
+ compressed: trimmed,
176
+ stats: {
177
+ ...result.stats,
178
+ compressedTurns: trimmed.length,
179
+ compressedChars: currentChars,
180
+ compressionRatio: result.stats.originalChars > 0 ? currentChars / result.stats.originalChars : 1,
181
+ },
182
+ };
183
+ }
184
+ return result;
185
+ }
186
+ /**
187
+ * 检查是否需要压缩
188
+ *
189
+ * @param turns 对话轮次
190
+ * @param maxTurns 最大轮次数
191
+ * @param maxChars 最大字符数
192
+ * @returns 是否需要压缩
193
+ */
194
+ export function shouldCompress(turns, maxTurns, maxChars) {
195
+ if (turns.length > maxTurns) {
196
+ return true;
197
+ }
198
+ const totalChars = countTotalChars(turns);
199
+ if (totalChars > maxChars) {
200
+ return true;
201
+ }
202
+ return false;
203
+ }
204
+ /**
205
+ * 获取压缩建议
206
+ *
207
+ * @param turns 对话轮次
208
+ * @param maxTurns 最大轮次数
209
+ * @param maxChars 最大字符数
210
+ * @returns 压缩建议信息
211
+ */
212
+ export function getCompressionAdvice(turns, maxTurns, maxChars) {
213
+ const totalChars = countTotalChars(turns);
214
+ const turnsOverLimit = turns.length - maxTurns;
215
+ const charsOverLimit = totalChars - maxChars;
216
+ if (turnsOverLimit > 0 && charsOverLimit > 0) {
217
+ return {
218
+ shouldCompress: true,
219
+ reason: `对话轮次超出 ${turnsOverLimit} 轮,字符数超出 ${charsOverLimit} 个`,
220
+ estimatedSavings: Math.max(turnsOverLimit, Math.floor(charsOverLimit * 0.5)),
221
+ };
222
+ }
223
+ if (turnsOverLimit > 0) {
224
+ return {
225
+ shouldCompress: true,
226
+ reason: `对话轮次超出 ${turnsOverLimit} 轮`,
227
+ estimatedSavings: turnsOverLimit,
228
+ };
229
+ }
230
+ if (charsOverLimit > 0) {
231
+ return {
232
+ shouldCompress: true,
233
+ reason: `字符数超出 ${charsOverLimit} 个`,
234
+ estimatedSavings: Math.floor(charsOverLimit * 0.5),
235
+ };
236
+ }
237
+ return {
238
+ shouldCompress: false,
239
+ reason: "对话在限制范围内,无需压缩",
240
+ estimatedSavings: 0,
241
+ };
242
+ }
243
+ //# sourceMappingURL=context-compressor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-compressor.js","sourceRoot":"","sources":["../../src/chat/context-compressor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-indexer.d.ts","sourceRoot":"","sources":["../../src/chat/context-indexer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AA0EnE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iBAAiB,EAAE,EAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,WAAW,CAqBb;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,WAAW,EAC1B,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,WAAW,CAuBb;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAgBhE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAe7D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAe1D"}