@opensumi/ide-ai-native 3.9.1-next-1749171169.0 → 3.9.1-next-1749175927.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.
@@ -1 +1 @@
1
- {"version":3,"file":"chat-model.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/chat-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-model.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/chat-model.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAEV,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,WAAW,EACX,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,EAC1B,gBAAgB,EAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,MAAM,4BAA4B,GACpC,oBAAoB,GACpB,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,cAAc,CAAC;AAEnB,qBAAa,iBAAkB,SAAQ,UAAU;;aAgD7B,OAAO,EAAE,UAAU;aACnB,OAAO,EAAE,MAAM;IA/CjC,IAAI,aAAa,mCAEhB;IAGD,IAAI,gBAAgB,mCAEnB;IAGD,IAAI,UAAU,YAEb;IAGD,IAAI,UAAU,YAEb;IAGD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAGD,IAAI,YAAY,WAEf;IAGD,IAAI,YAAY,IAAI,yBAAyB,GAAG,SAAS,CAExD;IAGD,IAAI,SAAS,IAAI,aAAa,EAAE,GAAG,SAAS,CAE3C;IAGD,IAAI,WAAW,oDAEd;gBAGC,SAAS,EAAE,MAAM,EACD,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,MAAM,EAC/B,UAAU,CAAC,EAAE;QACX,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;QACjD,aAAa,EAAE,4BAA4B,EAAE,CAAC;QAC9C,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,yBAAyB,GAAG,SAAS,CAAC;QACpD,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;KACxC;IAeH,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAkH7D,QAAQ,IAAI,IAAI;IAKhB,MAAM,IAAI,IAAI;IAMd,KAAK;IAWL,eAAe,CAAC,YAAY,EAAE,yBAAyB,GAAG,IAAI;IAK9D,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI;IAK9C,MAAM;;;;;;;;CAUP;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;;aAQtC,OAAO,EAAE,UAAU;aACnB,OAAO,EAAE,mBAAmB;aAC5B,QAAQ,EAAE,iBAAiB;IAR7C,IAAW,SAAS,IAAI,MAAM,CAE7B;gBAGC,SAAS,EAAE,MAAM,EACD,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,iBAAiB;IAK7C,MAAM;;;;;CAOP;AAED,qBAAa,SAAU,SAAQ,UAAW,YAAW,UAAU;;IAI3D,OAAO,CAAC,mBAAmB;IAH7B,OAAO,CAAC,aAAa,CAAK;gBAGhB,mBAAmB,EAAE,mBAAmB,EAChD,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IASpF,IAAI,SAAS,IAAI,MAAM,CAEtB;IAGD,IAAI,QAAQ,IAAI,gBAAgB,EAAE,CAEjC;IAED,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAKnD,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAIpC,IAAW,kBAAkB,WAE5B;IAID,IAAW,OAAO,IAAI,MAAM,GAAG,SAAS,CAEvC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAEtC;IAED,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,eAAe;IA0CvB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,WAAW;IAoBnB,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE;IAOxD,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,gBAAgB;IAW1D,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAgBjG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIlD,OAAO,IAAI,IAAI;IAKxB,MAAM;;;;;;CAQP;AAED,qBACa,uBAAwB,SAAQ,UAAU;aASnC,OAAO,EAAE,0BAA0B;aACnC,eAAe,EAAE,gBAAgB,EAAE;IATrD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAK;IAE1B,OAAO,CAAC,GAAG,CAAS;IACpB,IAAW,EAAE,IAAI,MAAM,CAEtB;gBAGiB,OAAO,EAAE,0BAA0B,EACnC,eAAe,EAAE,gBAAgB,EAAE;CAMtD;AAED,qBACa,yBAA0B,SAAQ,UAAW,YAAW,qBAAqB;IAEtF,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,OAAO,CAAC,EAAE,MAAM;aAChB,OAAO,CAAC,EAAE,MAAM;gBAFf,WAAW,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,OAAO,CAAC,EAAE,MAAM,YAAA;IAKlC,IAAI,IAAI,WAEP;IAED,IAAI,UAAU,YAEb;IAED,IAAI,IAAI,uBAEP;IAED,IAAI,WAAW,uBAEd;IAED,IAAI,OAAO,uBAEV;IAED,IAAI,aAAa,WAEhB;CACF"}
@@ -348,30 +348,29 @@ class ChatModel extends ide_core_common_1.Disposable {
348
348
  }
349
349
  processRecentMessages() {
350
350
  const history = [];
351
- // 只处理未被总结的消息
352
- const recentMessages = Array.from(this.requests)
353
- .slice(-this.history.config.shortTermSize);
354
- for (const request of recentMessages) {
355
- if (!request.response.isComplete) {
356
- continue;
357
- }
351
+ // 从 MsgHistoryManager 获取消息,并过滤掉已总结的消息
352
+ const recentMessages = this.history
353
+ .getMessages()
354
+ .filter((msg) => !msg.isSummarized)
355
+ .slice(-this.history.memoryConfig.shortTermSize);
356
+ for (const message of recentMessages) {
358
357
  history.push({
359
358
  role: 'user',
360
- content: request.message.prompt,
359
+ content: message.content,
361
360
  });
362
- for (const part of request.response.responseParts) {
363
- if (part.kind === 'treeData' || part.kind === 'component' || part.kind === 'reasoning') {
364
- continue;
361
+ // 如果有响应内容,添加响应
362
+ const additional = this.history.getMessageAdditional(message.id);
363
+ if (additional === null || additional === void 0 ? void 0 : additional.response) {
364
+ const response = additional.response;
365
+ if (response.kind === 'toolCall') {
366
+ this.processToolCall(response, history);
365
367
  }
366
- if (part.kind !== 'toolCall') {
368
+ else {
367
369
  history.push({
368
370
  role: 'assistant',
369
- content: part.kind === 'markdownContent' ? part.content.value : part.content,
371
+ content: response.kind === 'markdownContent' ? response.content.value : response.content,
370
372
  });
371
373
  }
372
- else {
373
- this.processToolCall(part, history);
374
- }
375
374
  }
376
375
  }
377
376
  return history;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-model.js","sourceRoot":"","sources":["../../../src/browser/chat/chat-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-model.js","sourceRoot":"","sources":["../../../src/browser/chat/chat-model.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ interface IToolCallInfo {
17
17
  args: Record<string, any>;
18
18
  result: any;
19
19
  }
20
+ export interface MessageBufferManager {
21
+ messages: IHistoryChatMessage[];
22
+ add(message: IHistoryChatMessage): void;
23
+ clear(): void;
24
+ size(): number;
25
+ }
20
26
  export declare class MsgHistoryManager extends Disposable {
21
27
  private chatFeatureRegistry;
22
28
  private messageMap;
@@ -28,8 +34,8 @@ export declare class MsgHistoryManager extends Disposable {
28
34
  readonly onMessageChange: Event<IHistoryChatMessage[]>;
29
35
  private readonly _onMessageAdditionalChange;
30
36
  readonly onMessageAdditionalChange: Event<Record<string, any>>;
31
- private memoryConfig;
32
- get config(): IMemoryConfig;
37
+ private messageBuffer;
38
+ memoryConfig: IMemoryConfig;
33
39
  constructor(chatFeatureRegistry: ChatFeatureRegistry, data?: {
34
40
  additional: Record<string, any>;
35
41
  messages: IHistoryChatMessage[];
@@ -1 +1 @@
1
- {"version":3,"file":"msg-history-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/model/msg-history-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"msg-history-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/model/msg-history-manager.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,24 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MsgHistoryManager = void 0;
4
4
  const ide_core_common_1 = require("@opensumi/ide-core-common");
5
- class MsgHistoryManager extends ide_core_common_1.Disposable {
6
- get config() {
7
- return { ...this.memoryConfig };
5
+ class SimpleMessageBuffer {
6
+ constructor() {
7
+ this._messages = [];
8
+ }
9
+ get messages() {
10
+ return this._messages;
11
+ }
12
+ add(message) {
13
+ this._messages.push(message);
14
+ }
15
+ clear() {
16
+ this._messages = [];
8
17
  }
18
+ size() {
19
+ return this._messages.length;
20
+ }
21
+ }
22
+ class MsgHistoryManager extends ide_core_common_1.Disposable {
9
23
  constructor(chatFeatureRegistry, data) {
10
24
  super();
11
25
  this.chatFeatureRegistry = chatFeatureRegistry;
@@ -19,9 +33,10 @@ class MsgHistoryManager extends ide_core_common_1.Disposable {
19
33
  this._onMessageAdditionalChange = new ide_core_common_1.Emitter();
20
34
  this.onMessageAdditionalChange = this._onMessageAdditionalChange.event;
21
35
  this.memoryConfig = {
22
- shortTermSize: 10, // 保留最近10条消息
23
- bufferSize: 5, // 缓冲区大小5条(作为最近10条中最早的5条)
36
+ shortTermSize: 10,
37
+ bufferSize: 5,
24
38
  };
39
+ this.messageBuffer = new SimpleMessageBuffer();
25
40
  if (data) {
26
41
  this.messageMap = new Map(data.messages.map((item) => [item.id, item]));
27
42
  this.messageAdditionalMap = new Map(Object.entries(data.additional));
@@ -60,29 +75,34 @@ class MsgHistoryManager extends ide_core_common_1.Disposable {
60
75
  return;
61
76
  }
62
77
  const messages = this.messageList;
63
- // 只有当消息总数超过10条时才进行压缩
78
+ // 只有当消息总数超过短期记忆限制时才进行压缩
64
79
  if (messages.length <= this.memoryConfig.shortTermSize) {
65
80
  return;
66
81
  }
67
82
  try {
68
83
  this.isCompressing = true;
69
- // 1. 计算超出10条限制的消息数量
70
- const excessCount = messages.length - this.memoryConfig.shortTermSize;
71
- // 当累积了5条或更多超出限制的消息时,进行总结
72
- if (excessCount >= this.memoryConfig.bufferSize) {
73
- // 2. 对最早的5条消息进行总结(取前5条,因为 messageList 是按从旧到新排序)
74
- const messagesToSummarize = messages.slice(0, this.memoryConfig.bufferSize);
84
+ // 1. 获取超出短期记忆限制的最新一条消息
85
+ const latestExcessMessage = messages[messages.length - this.memoryConfig.shortTermSize - 1];
86
+ // 如果这条消息已经被总结过,就不需要再处理
87
+ if (latestExcessMessage.isSummarized) {
88
+ return;
89
+ }
90
+ // 2. 将这条消息添加到缓冲区
91
+ this.messageBuffer.add(latestExcessMessage);
92
+ // 3. 当缓冲区达到指定大小时,进行总结
93
+ if (this.messageBuffer.size() >= this.memoryConfig.bufferSize) {
94
+ const messagesToSummarize = this.messageBuffer.messages;
75
95
  const summaryProvider = (_b = (_a = this.chatFeatureRegistry).getMessageSummaryProvider) === null || _b === void 0 ? void 0 : _b.call(_a);
76
96
  if (summaryProvider) {
77
97
  const messageContents = messagesToSummarize.map((msg) => ({
78
98
  role: msg.role,
79
99
  content: msg.content,
80
100
  }));
81
- const summary = await summaryProvider.generateMemorizedMessage(messageContents);
82
- if (summary) {
101
+ const memorize = await summaryProvider.generateMemorizedMessage(messageContents);
102
+ if (memorize) {
83
103
  // 添加新的记忆总结
84
104
  this.memorySummaries.push({
85
- content: summary,
105
+ content: memorize,
86
106
  timestamp: Date.now(),
87
107
  messageIds: messagesToSummarize.map((msg) => msg.id),
88
108
  });
@@ -96,6 +116,8 @@ class MsgHistoryManager extends ide_core_common_1.Disposable {
96
116
  });
97
117
  }
98
118
  }
119
+ // 清空缓冲区
120
+ this.messageBuffer.clear();
99
121
  }
100
122
  }
101
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"msg-history-manager.js","sourceRoot":"","sources":["../../../src/browser/model/msg-history-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"msg-history-manager.js","sourceRoot":"","sources":["../../../src/browser/model/msg-history-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-ai-native",
3
- "version": "3.9.1-next-1749171169.0",
3
+ "version": "3.9.1-next-1749175927.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -24,28 +24,28 @@
24
24
  "@ai-sdk/openai": "^1.1.9",
25
25
  "@ai-sdk/openai-compatible": "^0.1.11",
26
26
  "@modelcontextprotocol/sdk": "^1.3.1",
27
- "@opensumi/ide-addons": "3.9.1-next-1749171169.0",
28
- "@opensumi/ide-components": "3.9.1-next-1749171169.0",
29
- "@opensumi/ide-connection": "3.9.1-next-1749171169.0",
30
- "@opensumi/ide-core-common": "3.9.1-next-1749171169.0",
31
- "@opensumi/ide-core-node": "3.9.1-next-1749171169.0",
32
- "@opensumi/ide-debug": "3.9.1-next-1749171169.0",
33
- "@opensumi/ide-design": "3.9.1-next-1749171169.0",
34
- "@opensumi/ide-editor": "3.9.1-next-1749171169.0",
35
- "@opensumi/ide-file-search": "3.9.1-next-1749171169.0",
36
- "@opensumi/ide-file-service": "3.9.1-next-1749171169.0",
37
- "@opensumi/ide-main-layout": "3.9.1-next-1749171169.0",
38
- "@opensumi/ide-markers": "3.9.1-next-1749171169.0",
39
- "@opensumi/ide-monaco": "3.9.1-next-1749171169.0",
40
- "@opensumi/ide-outline": "3.9.1-next-1749171169.0",
41
- "@opensumi/ide-overlay": "3.9.1-next-1749171169.0",
42
- "@opensumi/ide-preferences": "3.9.1-next-1749171169.0",
43
- "@opensumi/ide-quick-open": "3.9.1-next-1749171169.0",
44
- "@opensumi/ide-search": "3.9.1-next-1749171169.0",
45
- "@opensumi/ide-terminal-next": "3.9.1-next-1749171169.0",
46
- "@opensumi/ide-theme": "3.9.1-next-1749171169.0",
47
- "@opensumi/ide-utils": "3.9.1-next-1749171169.0",
48
- "@opensumi/ide-workspace": "3.9.1-next-1749171169.0",
27
+ "@opensumi/ide-addons": "3.9.1-next-1749175927.0",
28
+ "@opensumi/ide-components": "3.9.1-next-1749175927.0",
29
+ "@opensumi/ide-connection": "3.9.1-next-1749175927.0",
30
+ "@opensumi/ide-core-common": "3.9.1-next-1749175927.0",
31
+ "@opensumi/ide-core-node": "3.9.1-next-1749175927.0",
32
+ "@opensumi/ide-debug": "3.9.1-next-1749175927.0",
33
+ "@opensumi/ide-design": "3.9.1-next-1749175927.0",
34
+ "@opensumi/ide-editor": "3.9.1-next-1749175927.0",
35
+ "@opensumi/ide-file-search": "3.9.1-next-1749175927.0",
36
+ "@opensumi/ide-file-service": "3.9.1-next-1749175927.0",
37
+ "@opensumi/ide-main-layout": "3.9.1-next-1749175927.0",
38
+ "@opensumi/ide-markers": "3.9.1-next-1749175927.0",
39
+ "@opensumi/ide-monaco": "3.9.1-next-1749175927.0",
40
+ "@opensumi/ide-outline": "3.9.1-next-1749175927.0",
41
+ "@opensumi/ide-overlay": "3.9.1-next-1749175927.0",
42
+ "@opensumi/ide-preferences": "3.9.1-next-1749175927.0",
43
+ "@opensumi/ide-quick-open": "3.9.1-next-1749175927.0",
44
+ "@opensumi/ide-search": "3.9.1-next-1749175927.0",
45
+ "@opensumi/ide-terminal-next": "3.9.1-next-1749175927.0",
46
+ "@opensumi/ide-theme": "3.9.1-next-1749175927.0",
47
+ "@opensumi/ide-utils": "3.9.1-next-1749175927.0",
48
+ "@opensumi/ide-workspace": "3.9.1-next-1749175927.0",
49
49
  "@xterm/xterm": "5.5.0",
50
50
  "ai": "^4.1.45",
51
51
  "ansi-regex": "^2.0.0",
@@ -62,7 +62,7 @@
62
62
  "zod-to-json-schema": "^3.24.1"
63
63
  },
64
64
  "devDependencies": {
65
- "@opensumi/ide-core-browser": "3.9.1-next-1749171169.0"
65
+ "@opensumi/ide-core-browser": "3.9.1-next-1749175927.0"
66
66
  },
67
- "gitHead": "a2dc724d2da7de10dd631a6c12994409c18e4269"
67
+ "gitHead": "c3be72c306e4c3b8ff04f505a6886625dc22927d"
68
68
  }
@@ -359,11 +359,11 @@ export class ChatModel extends Disposable implements IChatModel {
359
359
 
360
360
  return processedSummaries.length > 0
361
361
  ? [
362
- {
363
- role: 'system',
364
- content: '以下是之前对话的总结:\n' + processedSummaries.join('\n\n'),
365
- },
366
- ]
362
+ {
363
+ role: 'system',
364
+ content: '以下是之前对话的总结:\n' + processedSummaries.join('\n\n'),
365
+ },
366
+ ]
367
367
  : [];
368
368
  }
369
369
 
@@ -420,32 +420,29 @@ export class ChatModel extends Disposable implements IChatModel {
420
420
 
421
421
  private processRecentMessages(): CoreMessage[] {
422
422
  const history: CoreMessage[] = [];
423
- // 只处理未被总结的消息
424
- const recentMessages = Array.from(this.requests)
425
- .slice(-this.history.config.shortTermSize);
426
-
427
- for (const request of recentMessages) {
428
- if (!request.response.isComplete) {
429
- continue;
430
- }
423
+ // 从 MsgHistoryManager 获取消息,并过滤掉已总结的消息
424
+ const recentMessages = this.history
425
+ .getMessages()
426
+ .filter((msg) => !msg.isSummarized)
427
+ .slice(-this.history.memoryConfig.shortTermSize);
431
428
 
429
+ for (const message of recentMessages) {
432
430
  history.push({
433
431
  role: 'user',
434
- content: request.message.prompt,
432
+ content: message.content,
435
433
  });
436
434
 
437
- for (const part of request.response.responseParts) {
438
- if (part.kind === 'treeData' || part.kind === 'component' || part.kind === 'reasoning') {
439
- continue;
440
- }
441
-
442
- if (part.kind !== 'toolCall') {
435
+ // 如果有响应内容,添加响应
436
+ const additional = this.history.getMessageAdditional(message.id);
437
+ if (additional?.response) {
438
+ const response = additional.response;
439
+ if (response.kind === 'toolCall') {
440
+ this.processToolCall(response, history);
441
+ } else {
443
442
  history.push({
444
443
  role: 'assistant',
445
- content: part.kind === 'markdownContent' ? part.content.value : part.content,
444
+ content: response.kind === 'markdownContent' ? response.content.value : response.content,
446
445
  });
447
- } else {
448
- this.processToolCall(part, history);
449
446
  }
450
447
  }
451
448
  }
@@ -23,6 +23,33 @@ interface IToolCallInfo {
23
23
  result: any;
24
24
  }
25
25
 
26
+ export interface MessageBufferManager {
27
+ messages: IHistoryChatMessage[];
28
+ add(message: IHistoryChatMessage): void;
29
+ clear(): void;
30
+ size(): number;
31
+ }
32
+
33
+ class SimpleMessageBuffer implements MessageBufferManager {
34
+ private _messages: IHistoryChatMessage[] = [];
35
+
36
+ get messages(): IHistoryChatMessage[] {
37
+ return this._messages;
38
+ }
39
+
40
+ add(message: IHistoryChatMessage): void {
41
+ this._messages.push(message);
42
+ }
43
+
44
+ clear(): void {
45
+ this._messages = [];
46
+ }
47
+
48
+ size(): number {
49
+ return this._messages.length;
50
+ }
51
+ }
52
+
26
53
  export class MsgHistoryManager extends Disposable {
27
54
  private messageMap: Map<string, IHistoryChatMessage> = new Map();
28
55
  private messageAdditionalMap: Map<string, Record<string, any>> = new Map();
@@ -36,14 +63,12 @@ export class MsgHistoryManager extends Disposable {
36
63
  private readonly _onMessageAdditionalChange = new Emitter<Record<string, any>>();
37
64
  public readonly onMessageAdditionalChange: Event<Record<string, any>> = this._onMessageAdditionalChange.event;
38
65
 
39
- private memoryConfig: IMemoryConfig = {
40
- shortTermSize: 10, // 保留最近10条消息
41
- bufferSize: 5, // 缓冲区大小5条(作为最近10条中最早的5条)
42
- };
66
+ private messageBuffer: MessageBufferManager;
43
67
 
44
- public get config(): IMemoryConfig {
45
- return { ...this.memoryConfig };
46
- }
68
+ memoryConfig: IMemoryConfig = {
69
+ shortTermSize: 10,
70
+ bufferSize: 5,
71
+ };
47
72
 
48
73
  constructor(
49
74
  private chatFeatureRegistry: ChatFeatureRegistry,
@@ -55,6 +80,7 @@ export class MsgHistoryManager extends Disposable {
55
80
  },
56
81
  ) {
57
82
  super();
83
+ this.messageBuffer = new SimpleMessageBuffer();
58
84
  if (data) {
59
85
  this.messageMap = new Map(data.messages.map((item) => [item.id, item]));
60
86
  this.messageAdditionalMap = new Map(Object.entries(data.additional));
@@ -97,7 +123,7 @@ export class MsgHistoryManager extends Disposable {
97
123
  }
98
124
 
99
125
  const messages = this.messageList;
100
- // 只有当消息总数超过10条时才进行压缩
126
+ // 只有当消息总数超过短期记忆限制时才进行压缩
101
127
  if (messages.length <= this.memoryConfig.shortTermSize) {
102
128
  return;
103
129
  }
@@ -105,13 +131,20 @@ export class MsgHistoryManager extends Disposable {
105
131
  try {
106
132
  this.isCompressing = true;
107
133
 
108
- // 1. 计算超出10条限制的消息数量
109
- const excessCount = messages.length - this.memoryConfig.shortTermSize;
134
+ // 1. 获取超出短期记忆限制的最新一条消息
135
+ const latestExcessMessage = messages[messages.length - this.memoryConfig.shortTermSize - 1];
110
136
 
111
- // 当累积了5条或更多超出限制的消息时,进行总结
112
- if (excessCount >= this.memoryConfig.bufferSize) {
113
- // 2. 对最早的5条消息进行总结(取前5条,因为 messageList 是按从旧到新排序)
114
- const messagesToSummarize = messages.slice(0, this.memoryConfig.bufferSize);
137
+ // 如果这条消息已经被总结过,就不需要再处理
138
+ if (latestExcessMessage.isSummarized) {
139
+ return;
140
+ }
141
+
142
+ // 2. 将这条消息添加到缓冲区
143
+ this.messageBuffer.add(latestExcessMessage);
144
+
145
+ // 3. 当缓冲区达到指定大小时,进行总结
146
+ if (this.messageBuffer.size() >= this.memoryConfig.bufferSize) {
147
+ const messagesToSummarize = this.messageBuffer.messages;
115
148
 
116
149
  const summaryProvider = this.chatFeatureRegistry.getMessageSummaryProvider?.();
117
150
  if (summaryProvider) {
@@ -120,11 +153,11 @@ export class MsgHistoryManager extends Disposable {
120
153
  content: msg.content,
121
154
  }));
122
155
 
123
- const summary = await summaryProvider.generateMemorizedMessage(messageContents);
124
- if (summary) {
156
+ const memorize = await summaryProvider.generateMemorizedMessage(messageContents);
157
+ if (memorize) {
125
158
  // 添加新的记忆总结
126
159
  this.memorySummaries.push({
127
- content: summary,
160
+ content: memorize,
128
161
  timestamp: Date.now(),
129
162
  messageIds: messagesToSummarize.map((msg) => msg.id),
130
163
  });
@@ -139,6 +172,9 @@ export class MsgHistoryManager extends Disposable {
139
172
  });
140
173
  }
141
174
  }
175
+
176
+ // 清空缓冲区
177
+ this.messageBuffer.clear();
142
178
  }
143
179
  }
144
180
  }