@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.
- package/lib/browser/chat/chat-model.d.ts.map +1 -1
- package/lib/browser/chat/chat-model.js +15 -16
- package/lib/browser/chat/chat-model.js.map +1 -1
- package/lib/browser/model/msg-history-manager.d.ts +8 -2
- package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
- package/lib/browser/model/msg-history-manager.js +37 -15
- package/lib/browser/model/msg-history-manager.js.map +1 -1
- package/package.json +25 -25
- package/src/browser/chat/chat-model.ts +20 -23
- package/src/browser/model/msg-history-manager.ts +53 -17
|
@@ -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":"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"}
|
|
@@ -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 =
|
|
353
|
-
.
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
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:
|
|
359
|
+
content: message.content,
|
|
361
360
|
});
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
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
|
-
|
|
368
|
+
else {
|
|
367
369
|
history.push({
|
|
368
370
|
role: 'assistant',
|
|
369
|
-
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
|
|
32
|
-
|
|
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":"AAAA,OAAO,EAAE,UAAU,EAAW,KAAK,EAAQ,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAmB,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAErG,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,KAAK,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;AAEjE,UAAU,aAAa;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,CAAC;CACb;AAED,qBAAa,iBAAkB,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"msg-history-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/model/msg-history-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,KAAK,EAAQ,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAmB,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAErG,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,KAAK,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;AAEjE,UAAU,aAAa;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACxC,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,MAAM,CAAC;CAChB;AAsBD,qBAAa,iBAAkB,SAAQ,UAAU;IAqB7C,OAAO,CAAC,mBAAmB;IApB7B,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,oBAAoB,CAA+C;IAC3E,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwC;IACzE,SAAgB,eAAe,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAA+B;IAE5F,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAsC;IACjF,SAAgB,yBAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAyC;IAE9G,OAAO,CAAC,aAAa,CAAuB;IAE5C,YAAY,EAAE,aAAa,CAGzB;gBAGQ,mBAAmB,EAAE,mBAAmB,EAChD,IAAI,CAAC,EAAE;QACL,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;QAChC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1C,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;KACpC;IAgBM,OAAO,IAAI,IAAI;IAKxB,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,aAAa;IAOpB;;;;;;OAMG;YACW,cAAc;IAmErB,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI1C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAKzD,OAAO,CAAC,YAAY;IAwBpB,OAAO,KAAK,WAAW,GAGtB;IAED,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAG7C;IAEM,WAAW,IAAI,mBAAmB,EAAE;IAIpC,kBAAkB,IAAI,cAAc,EAAE;IAItC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC;IAO9C,cAAc,CACnB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC,CAAC,GACzG,MAAM;IAOF,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,MAAM;IAOnE,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IAazE,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAehE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI5D,IAAW,kBAAkB,qCAE5B;IAED,MAAM;;;;;;;;;;CASP"}
|
|
@@ -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
|
|
6
|
-
|
|
7
|
-
|
|
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,
|
|
23
|
-
bufferSize: 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
|
-
//
|
|
78
|
+
// 只有当消息总数超过短期记忆限制时才进行压缩
|
|
64
79
|
if (messages.length <= this.memoryConfig.shortTermSize) {
|
|
65
80
|
return;
|
|
66
81
|
}
|
|
67
82
|
try {
|
|
68
83
|
this.isCompressing = true;
|
|
69
|
-
// 1.
|
|
70
|
-
const
|
|
71
|
-
//
|
|
72
|
-
if (
|
|
73
|
-
|
|
74
|
-
|
|
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
|
|
82
|
-
if (
|
|
101
|
+
const memorize = await summaryProvider.generateMemorizedMessage(messageContents);
|
|
102
|
+
if (memorize) {
|
|
83
103
|
// 添加新的记忆总结
|
|
84
104
|
this.memorySummaries.push({
|
|
85
|
-
content:
|
|
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":";;;AAAA,+DAA6E;
|
|
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-
|
|
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-
|
|
28
|
-
"@opensumi/ide-components": "3.9.1-next-
|
|
29
|
-
"@opensumi/ide-connection": "3.9.1-next-
|
|
30
|
-
"@opensumi/ide-core-common": "3.9.1-next-
|
|
31
|
-
"@opensumi/ide-core-node": "3.9.1-next-
|
|
32
|
-
"@opensumi/ide-debug": "3.9.1-next-
|
|
33
|
-
"@opensumi/ide-design": "3.9.1-next-
|
|
34
|
-
"@opensumi/ide-editor": "3.9.1-next-
|
|
35
|
-
"@opensumi/ide-file-search": "3.9.1-next-
|
|
36
|
-
"@opensumi/ide-file-service": "3.9.1-next-
|
|
37
|
-
"@opensumi/ide-main-layout": "3.9.1-next-
|
|
38
|
-
"@opensumi/ide-markers": "3.9.1-next-
|
|
39
|
-
"@opensumi/ide-monaco": "3.9.1-next-
|
|
40
|
-
"@opensumi/ide-outline": "3.9.1-next-
|
|
41
|
-
"@opensumi/ide-overlay": "3.9.1-next-
|
|
42
|
-
"@opensumi/ide-preferences": "3.9.1-next-
|
|
43
|
-
"@opensumi/ide-quick-open": "3.9.1-next-
|
|
44
|
-
"@opensumi/ide-search": "3.9.1-next-
|
|
45
|
-
"@opensumi/ide-terminal-next": "3.9.1-next-
|
|
46
|
-
"@opensumi/ide-theme": "3.9.1-next-
|
|
47
|
-
"@opensumi/ide-utils": "3.9.1-next-
|
|
48
|
-
"@opensumi/ide-workspace": "3.9.1-next-
|
|
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-
|
|
65
|
+
"@opensumi/ide-core-browser": "3.9.1-next-1749175927.0"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
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
|
-
|
|
364
|
-
|
|
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 =
|
|
425
|
-
.
|
|
426
|
-
|
|
427
|
-
|
|
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:
|
|
432
|
+
content: message.content,
|
|
435
433
|
});
|
|
436
434
|
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
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:
|
|
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
|
|
40
|
-
shortTermSize: 10, // 保留最近10条消息
|
|
41
|
-
bufferSize: 5, // 缓冲区大小5条(作为最近10条中最早的5条)
|
|
42
|
-
};
|
|
66
|
+
private messageBuffer: MessageBufferManager;
|
|
43
67
|
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
//
|
|
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.
|
|
109
|
-
const
|
|
134
|
+
// 1. 获取超出短期记忆限制的最新一条消息
|
|
135
|
+
const latestExcessMessage = messages[messages.length - this.memoryConfig.shortTermSize - 1];
|
|
110
136
|
|
|
111
|
-
//
|
|
112
|
-
if (
|
|
113
|
-
|
|
114
|
-
|
|
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
|
|
124
|
-
if (
|
|
156
|
+
const memorize = await summaryProvider.generateMemorizedMessage(messageContents);
|
|
157
|
+
if (memorize) {
|
|
125
158
|
// 添加新的记忆总结
|
|
126
159
|
this.memorySummaries.push({
|
|
127
|
-
content:
|
|
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
|
}
|