@aalis/plugin-memory-summary 0.10.0 → 0.10.2

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":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAsBzD,eAAO,MAAM,IAAI,iCAAiC,CAAC;AACnD,eAAO,MAAM,WAAW,6BAAS,CAAC;AAClC,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,YAiD1B,CAAC;AAoGF,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0fxF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAgEzD,eAAO,MAAM,IAAI,iCAAiC,CAAC;AACnD,eAAO,MAAM,WAAW,6BAAS,CAAC;AAClC,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,YAiD1B,CAAC;AA4FF,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA+gBxF"}
package/dist/index.js CHANGED
@@ -7,11 +7,50 @@ import { truncateChars } from '@aalis/util-text-normalize';
7
7
  * 配置的摘要覆盖面会成倍缩水。
8
8
  */
9
9
  const DEFAULT_PROBE_FLOOR = 200;
10
+ /** 工具相关条目进摘要输入时的每条硬截断(参数/结果各自适用),工具名不参与截断 */
11
+ const TOOL_ENTRY_MAX_CHARS = 200;
12
+ /**
13
+ * toolCallId → 工具名映射。tool 消息的 `name` 是可选字段,由上游适配器决定是否回填,
14
+ * 多数来源只带 `toolCallId`;工具名的唯一可靠来源是同一段历史里 assistant 的
15
+ * `toolCalls[].function.name`。不反查就只剩「工具结果: …」,摘要模型看不出做了什么。
16
+ */
17
+ function buildToolNameMap(messages) {
18
+ const map = new Map();
19
+ for (const m of messages) {
20
+ if (m.role !== 'assistant')
21
+ continue;
22
+ for (const tc of m.toolCalls ?? []) {
23
+ if (tc.id && tc.function?.name)
24
+ map.set(tc.id, tc.function.name);
25
+ }
26
+ }
27
+ return map;
28
+ }
10
29
  /**
11
30
  * 摘要用消息格式化:content 已含 [昵称(ID)] 前缀,故不再叠加 m.name(否则双重身份 用户[123]: [Alice(123)]:)。
12
31
  * generateSummary 与 session:compress 两条路径共用,避免格式漂移。
32
+ *
33
+ * 工具回合必须留痕:带 toolCalls 的 assistant 行 content 常为空,直译成「助手: (空)」
34
+ * 等于告诉摘要模型「这一轮什么也没发生」;tool 结果整条丢掉则连做了什么都看不见。
35
+ * 故两者都渲染成可读一行,名字优先保住、正文按 TOOL_ENTRY_MAX_CHARS 硬截断。
36
+ *
37
+ * 工具名按 toolCallId 从 `nameByToolCallId` 反查(见 {@link buildToolNameMap}),
38
+ * 查不到才回落消息自带的 `name`。形参必填,避免误写成 `.map(formatMsgForSummary)`
39
+ * 把数组下标当成映射传进来。
13
40
  */
14
- function formatMsgForSummary(m) {
41
+ function formatMsgForSummary(m, nameByToolCallId) {
42
+ if (m.role === 'tool') {
43
+ const body = truncateChars((m.content ?? '').trim(), TOOL_ENTRY_MAX_CHARS, '…');
44
+ const toolName = (m.toolCallId ? nameByToolCallId.get(m.toolCallId) : undefined) ?? m.name;
45
+ return `工具结果${toolName ? `(${toolName})` : ''}: ${body || '(空)'}`;
46
+ }
47
+ if (m.role === 'assistant' && m.toolCalls?.length) {
48
+ const calls = m.toolCalls
49
+ .map(tc => `${tc.function?.name ?? '未知工具'}(${truncateChars(tc.function?.arguments ?? '', TOOL_ENTRY_MAX_CHARS, '…')})`)
50
+ .join('、');
51
+ const preamble = m.content?.trim();
52
+ return `助手: ${preamble ? `${preamble} ` : ''}调用 ${calls}`;
53
+ }
15
54
  return `${m.role === 'user' ? '用户' : '助手'}: ${m.content ?? '(空)'}`;
16
55
  }
17
56
  // ===== 插件元数据 =====
@@ -93,7 +132,7 @@ const DEFAULT_SUMMARY_PROMPT = `你是一个对话摘要助手。请将以下对
93
132
  //
94
133
  // 通过 MemoryService 的 metadata API 持久化摘要,让摘要与对话历史共享同一存储后端
95
134
  // (sqlite/mongodb/inmemory)。namespace 固定为 'summary',key 为 sessionId。
96
- // metadata payload 形如 { summary, coveredUpTo, messageCount, updatedAt }。
135
+ // metadata payload 形如 { summary, updatedAt }。
97
136
  const SUMMARY_NAMESPACE = 'summary';
98
137
  class SummaryStore {
99
138
  ctx;
@@ -111,17 +150,11 @@ class SummaryStore {
111
150
  const data = await this.memory.getMetadata(SUMMARY_NAMESPACE, sessionId);
112
151
  if (!data)
113
152
  return null;
114
- return {
115
- summary: String(data.summary ?? ''),
116
- coveredUpTo: Number(data.coveredUpTo ?? 0),
117
- messageCount: Number(data.messageCount ?? 0),
118
- };
153
+ return { summary: String(data.summary ?? '') };
119
154
  }
120
- async upsertSummary(sessionId, summary, coveredUpTo, messageCount) {
155
+ async upsertSummary(sessionId, summary) {
121
156
  await this.memory.saveMetadata(SUMMARY_NAMESPACE, sessionId, {
122
157
  summary,
123
- coveredUpTo,
124
- messageCount,
125
158
  updatedAt: new Date().toISOString(),
126
159
  });
127
160
  }
@@ -163,9 +196,23 @@ export async function apply(ctx, config) {
163
196
  * - global:按默认优先级/preference 选首个 chat-capable entry
164
197
  * - custom:按 cfg.summaryLLM 精确匹配
165
198
  */
199
+ let warnedUnresolvedSummaryLLM = false;
166
200
  function resolveSummaryModel() {
167
201
  const ref = cfg.summaryModelMode === 'custom' ? cfg.summaryLLM : undefined;
168
- return resolveLLMModel(ctx, ref, ['chat'])?.instance;
202
+ const resolved = resolveLLMModel(ctx, ref, ['chat'])?.instance;
203
+ // custom 指定了模型却解析落空 → 自动压缩会静默不跑、上下文持续膨胀
204
+ //(2026-08「压缩静默死亡」事故的根因形态;手动路径已有报错,这里补自动路径)。
205
+ // 只警一次防刷屏,恢复后复位以便下次失效再警。
206
+ if (ref && !resolved) {
207
+ if (!warnedUnresolvedSummaryLLM) {
208
+ warnedUnresolvedSummaryLLM = true;
209
+ ctx.logger.warn(`摘要模型解析失败(${ref.provider}/${ref.model} 不存在或未激活),自动压缩将不运行`);
210
+ }
211
+ }
212
+ else if (resolved) {
213
+ warnedUnresolvedSummaryLLM = false;
214
+ }
215
+ return resolved;
169
216
  }
170
217
  /**
171
218
  * 根据实际使用的 LLMModel 计算摘要 token 上限。
@@ -232,9 +279,13 @@ export async function apply(ctx, config) {
232
279
  if (messagesToSummarize.length === 0)
233
280
  return;
234
281
  // 格式化消息用于摘要
282
+ // 映射建在 allHistory 上:比待摘要切片多扫几条,零成本。
283
+ // 工具名来源(assistant.toolCalls)恒早于 tool 结果,切片又是 allHistory 的前缀:只要 assistant 还在探测
284
+ // 窗口内就一定在切片内;窗口头部被截断的那组查不到,回落 m.name。
285
+ const nameByToolCallId = buildToolNameMap(allHistory);
235
286
  const formattedMessages = messagesToSummarize
236
- .filter(m => m.role === 'user' || m.role === 'assistant')
237
- .map(formatMsgForSummary)
287
+ .filter(m => m.role === 'user' || m.role === 'assistant' || m.role === 'tool')
288
+ .map(m => formatMsgForSummary(m, nameByToolCallId))
238
289
  .join('\n');
239
290
  // 构建摘要请求
240
291
  const summaryBudget = getSummaryTokenBudget();
@@ -296,12 +347,14 @@ export async function apply(ctx, config) {
296
347
  const finalSummary = summaryText.trim();
297
348
  const summaryTs = Date.now();
298
349
  if (finalSummary) {
299
- await store.upsertSummary(sessionId, finalSummary, messagesToSummarize.length, totalCount);
350
+ await store.upsertSummary(sessionId, finalSummary);
300
351
  }
301
352
  // 真正的压缩:将旧消息标记为 archived,只保留最近 keepRecent 条作为热上下文。
302
353
  // 摘要成功与失败共用这段——失败路径就是上述降级方案。
303
354
  // 安全调整:避免裁剪点落在 tool call 组中间(assistant(toolCalls) 被删但 tool 响应被保留)
304
- let safeKeepRecent = cfg.keepRecent;
355
+ // 下界 1:keepRecent=0 会让索引 allHistory.length - 0 越界、undefined.role 抛
356
+ // TypeError——异常被外层 catch 吞成一条 warn,摘要已花完却不裁切,之后每轮重摘全量历史
357
+ let safeKeepRecent = Math.max(1, Math.floor(cfg.keepRecent));
305
358
  while (safeKeepRecent < allHistory.length) {
306
359
  const firstKeptMsg = allHistory[allHistory.length - safeKeepRecent];
307
360
  if (firstKeptMsg.role === 'tool') {
@@ -401,165 +454,166 @@ export async function apply(ctx, config) {
401
454
  // === 监听手动/自动压缩事件 ===
402
455
  ctx.on('session:compress', async (...args) => {
403
456
  const data = args[0];
404
- ctx.logger.info(`收到压缩请求: session=${data.sessionId}, reason=${data.reason ?? 'unknown'}`);
405
- // 手动压缩时降低阈值要求:即使消息数不到 threshold 也强制执行
406
- if (data.reason === 'manual' || data.reason === 'auto') {
407
- if (summarizing.has(data.sessionId))
457
+ ctx.logger.info(`收到压缩请求: session=${data.sessionId}, reason=${data.reason}`);
458
+ // reason 必填且仅 manual|auto(api-memory 契约),两个发射方也只发这两种:
459
+ // 两者都走同一条压缩路径——手动/自动之别只体现在 taskHint 措辞上。
460
+ // 压缩不看 threshold:消息数不到阈值也强制执行。
461
+ if (summarizing.has(data.sessionId))
462
+ return;
463
+ summarizing.add(data.sessionId);
464
+ // 通知前端:压缩开始
465
+ ctx.emit('session:compressing', { sessionId: data.sessionId, status: 'start' }).catch(() => { });
466
+ try {
467
+ const memory = ctx.getService('memory');
468
+ const summaryModel = resolveSummaryModel();
469
+ if (!memory || !summaryModel) {
470
+ // 报 error 而非 done:报 done 会让前端插入"对话已压缩"的假成功分隔线。
471
+ // 常见触发:summaryModelMode=custom 指向的 provider 被卸载/重载中。
472
+ ctx.logger.warn(`压缩跳过: ${!memory ? 'memory 服务不可用' : '摘要模型解析失败(检查 summaryModelMode/summaryLLM 配置)'}`);
473
+ ctx.emit('session:compressing', { sessionId: data.sessionId, status: 'error' }).catch(() => { });
474
+ return;
475
+ }
476
+ const allHistory = await memory.getHistory(data.sessionId, getHistoryProbeLimit());
477
+ // 手动压缩:只要有 > keepRecent 条消息就压缩
478
+ if (allHistory.length <= cfg.keepRecent) {
479
+ ctx.logger.info(`会话消息数 ${allHistory.length} ≤ keepRecent(${cfg.keepRecent}),无需压缩`);
480
+ ctx.emit('session:compressing', { sessionId: data.sessionId, status: 'done' }).catch(() => { });
481
+ return;
482
+ }
483
+ const messagesToSummarize = allHistory.slice(0, allHistory.length - cfg.keepRecent);
484
+ if (messagesToSummarize.length === 0) {
485
+ ctx.emit('session:compressing', { sessionId: data.sessionId, status: 'done' }).catch(() => { });
408
486
  return;
409
- summarizing.add(data.sessionId);
410
- // 通知前端:压缩开始
411
- ctx.emit('session:compressing', { sessionId: data.sessionId, status: 'start' }).catch(() => { });
487
+ }
488
+ const existing = await store.getSummary(data.sessionId);
489
+ // 映射建在 allHistory 上:比待摘要切片多扫几条,零成本。
490
+ // 工具名来源(assistant.toolCalls)恒早于 tool 结果,切片又是 allHistory 的前缀:只要 assistant 还在探测
491
+ // 窗口内就一定在切片内;窗口头部被截断的那组查不到,回落 m.name。
492
+ const nameByToolCallId = buildToolNameMap(allHistory);
493
+ const formattedMessages = messagesToSummarize
494
+ .filter(m => m.role === 'user' || m.role === 'assistant' || m.role === 'tool')
495
+ .map(m => formatMsgForSummary(m, nameByToolCallId))
496
+ .join('\n');
497
+ // 从历史消息中提取最近的 todo-list 状态,注入到压缩上下文中
498
+ let todoContext = '';
412
499
  try {
413
- const memory = ctx.getService('memory');
414
- const summaryModel = resolveSummaryModel();
415
- if (!memory || !summaryModel) {
416
- // error 而非 done:报 done 会让前端插入"对话已压缩"的假成功分隔线。
417
- // 常见触发:summaryModelMode=custom 指向的 provider 被卸载/重载中。
418
- ctx.logger.warn(`压缩跳过: ${!memory ? 'memory 服务不可用' : '摘要模型解析失败(检查 summaryModelMode/summaryLLM 配置)'}`);
419
- ctx.emit('session:compressing', { sessionId: data.sessionId, status: 'error' }).catch(() => { });
420
- return;
421
- }
422
- const allHistory = await memory.getHistory(data.sessionId, getHistoryProbeLimit());
423
- // 手动压缩:只要有 > keepRecent 条消息就压缩
424
- if (allHistory.length <= cfg.keepRecent) {
425
- ctx.logger.info(`会话消息数 ${allHistory.length} ≤ keepRecent(${cfg.keepRecent}),无需压缩`);
426
- ctx.emit('session:compressing', { sessionId: data.sessionId, status: 'done' }).catch(() => { });
427
- return;
428
- }
429
- const messagesToSummarize = allHistory.slice(0, allHistory.length - cfg.keepRecent);
430
- if (messagesToSummarize.length === 0) {
431
- ctx.emit('session:compressing', { sessionId: data.sessionId, status: 'done' }).catch(() => { });
432
- return;
433
- }
434
- const existing = await store.getSummary(data.sessionId);
435
- const formattedMessages = messagesToSummarize
436
- .filter(m => m.role === 'user' || m.role === 'assistant')
437
- .map(formatMsgForSummary)
438
- .join('\n');
439
- // 从历史消息中提取最近的 todo-list 状态,注入到压缩上下文中
440
- let todoContext = '';
441
- try {
442
- const recentMessages = allHistory.slice(-cfg.keepRecent);
443
- const todoMsgs = recentMessages.filter(m => m.role === 'assistant' &&
444
- m.toolCalls?.some(tc => tc.function.name === 'manage_todo_list' || tc.function.name === 'todo_manage'));
445
- if (todoMsgs.length > 0) {
446
- const lastTodo = todoMsgs[todoMsgs.length - 1];
447
- const tc = lastTodo.toolCalls?.find(tc => tc.function.name === 'manage_todo_list' || tc.function.name === 'todo_manage');
448
- if (tc?.function.arguments) {
449
- todoContext = `\n\n当前任务列表状态:\n${tc.function.arguments}`;
450
- }
500
+ const recentMessages = allHistory.slice(-cfg.keepRecent);
501
+ const todoMsgs = recentMessages.filter(m => m.role === 'assistant' &&
502
+ m.toolCalls?.some(tc => tc.function.name === 'manage_todo_list' || tc.function.name === 'todo_manage'));
503
+ if (todoMsgs.length > 0) {
504
+ const lastTodo = todoMsgs[todoMsgs.length - 1];
505
+ const tc = lastTodo.toolCalls?.find(tc => tc.function.name === 'manage_todo_list' || tc.function.name === 'todo_manage');
506
+ if (tc?.function.arguments) {
507
+ todoContext = `\n\n当前任务列表状态:\n${tc.function.arguments}`;
451
508
  }
452
509
  }
453
- catch {
454
- /* ignore */
455
- }
456
- const summaryBudget = getSummaryTokenBudget();
457
- const budgetHint = `\n\n重要:你的摘要输出上限为 ${summaryBudget} tokens(约 ${summaryBudget * 4} 个英文字符,或约 ${Math.floor(summaryBudget / 1.5)} 个中文字符)。请合理分配篇幅,确保“【进行中的任务】”等关键结构能完整输出。`;
458
- const summaryMessages = [{ role: 'system', content: summarySystemPrompt + budgetHint }];
459
- const taskHint = data.reason === 'auto'
460
- ? '\n\n注意:此次压缩是在任务执行过程中自动触发的,助手可能正在进行多步骤工作。请特别注意保留所有未完成的任务状态和下一步计划。'
461
- : '';
462
- if (existing?.summary) {
463
- summaryMessages.push({
464
- role: 'user',
465
- content: `以下是之前的对话摘要:\n${existing.summary}\n\n以下是新增的对话内容,请在之前摘要的基础上整合生成更新的摘要:\n${formattedMessages}${todoContext}${taskHint}`,
466
- });
467
- }
468
- else {
469
- summaryMessages.push({
470
- role: 'user',
471
- content: `请为以下对话生成摘要:\n${formattedMessages}${todoContext}${taskHint}`,
472
- });
473
- }
474
- ctx.logger.debug(`正在压缩 session=${data.sessionId} (${messagesToSummarize.length} 条旧消息)`);
475
- let summaryText = '';
476
- try {
477
- const stream2 = summaryModel.chatStream?.({
510
+ }
511
+ catch {
512
+ /* ignore */
513
+ }
514
+ const summaryBudget = getSummaryTokenBudget();
515
+ const budgetHint = `\n\n重要:你的摘要输出上限为 ${summaryBudget} tokens(约 ${summaryBudget * 4} 个英文字符,或约 ${Math.floor(summaryBudget / 1.5)} 个中文字符)。请合理分配篇幅,确保“【进行中的任务】”等关键结构能完整输出。`;
516
+ const summaryMessages = [{ role: 'system', content: summarySystemPrompt + budgetHint }];
517
+ const taskHint = data.reason === 'auto'
518
+ ? '\n\n注意:此次压缩是在任务执行过程中自动触发的,助手可能正在进行多步骤工作。请特别注意保留所有未完成的任务状态和下一步计划。'
519
+ : '';
520
+ if (existing?.summary) {
521
+ summaryMessages.push({
522
+ role: 'user',
523
+ content: `以下是之前的对话摘要:\n${existing.summary}\n\n以下是新增的对话内容,请在之前摘要的基础上整合生成更新的摘要:\n${formattedMessages}${todoContext}${taskHint}`,
524
+ });
525
+ }
526
+ else {
527
+ summaryMessages.push({
528
+ role: 'user',
529
+ content: `请为以下对话生成摘要:\n${formattedMessages}${todoContext}${taskHint}`,
530
+ });
531
+ }
532
+ ctx.logger.debug(`正在压缩 session=${data.sessionId} (${messagesToSummarize.length} 条旧消息)`);
533
+ let summaryText = '';
534
+ try {
535
+ const stream2 = summaryModel.chatStream?.({
536
+ messages: summaryMessages,
537
+ temperature: 0.3,
538
+ maxTokens: summaryBudget,
539
+ think: false, // 同上:摘要不思考,取舍见自动压缩路径的注释
540
+ });
541
+ if (!stream2) {
542
+ const resp = await summaryModel.chat({
478
543
  messages: summaryMessages,
479
544
  temperature: 0.3,
480
545
  maxTokens: summaryBudget,
481
- think: false, // 同上:摘要不思考,取舍见自动压缩路径的注释
546
+ think: false,
482
547
  });
483
- if (!stream2) {
484
- const resp = await summaryModel.chat({
485
- messages: summaryMessages,
486
- temperature: 0.3,
487
- maxTokens: summaryBudget,
488
- think: false,
489
- });
490
- summaryText = resp.content ?? '';
491
- }
492
- else {
493
- for await (const chunk of stream2) {
494
- if (chunk.contentDelta) {
495
- summaryText += chunk.contentDelta;
496
- }
497
- }
498
- }
499
- }
500
- catch (err) {
501
- // 与 generateSummary 同则:半截流式输出丢弃,降级为纯裁切。
502
- // auto 触发(usageRatio 阈值)的失败若不裁切,会滞留在"每次 LLM 调用
503
- // 都再触发一次压缩→再烧一次超时"的循环里,条数触发路径救不了它。
504
- summaryText = '';
505
- ctx.logger.warn('压缩摘要生成失败,降级为纯裁切(该段历史无摘要):', err);
506
- }
507
- const finalSummary = summaryText.trim();
508
- const summaryTs = Date.now();
509
- if (finalSummary) {
510
- await store.upsertSummary(data.sessionId, finalSummary, messagesToSummarize.length, allHistory.length);
548
+ summaryText = resp.content ?? '';
511
549
  }
512
- // 裁切:成功与失败共用(失败路径 = owner 拍板的降级方案)
513
- // 安全调整:避免裁剪点落在 tool call 组中间
514
- let safeKeepRecent = cfg.keepRecent;
515
- while (safeKeepRecent < allHistory.length) {
516
- const firstKeptMsg = allHistory[allHistory.length - safeKeepRecent];
517
- if (firstKeptMsg.role === 'tool') {
518
- safeKeepRecent++;
519
- }
520
- else {
521
- break;
550
+ else {
551
+ for await (const chunk of stream2) {
552
+ if (chunk.contentDelta) {
553
+ summaryText += chunk.contentDelta;
554
+ }
522
555
  }
523
556
  }
524
- let trimmed = false;
525
- if (memory.trimHistory) {
526
- const deleted = await memory.trimHistory(data.sessionId, safeKeepRecent);
527
- trimmed = true;
528
- ctx.logger.info(finalSummary
529
- ? `压缩完成: session=${data.sessionId}, 归档 ${deleted} 条旧消息,保留 ${safeKeepRecent} 条`
530
- : `已裁切(无摘要): session=${data.sessionId}, 归档 ${deleted} 条旧消息,保留 ${safeKeepRecent} 条`);
557
+ }
558
+ catch (err) {
559
+ // generateSummary 同则:半截流式输出丢弃,降级为纯裁切。
560
+ // auto 触发(usageRatio 阈值)的失败若不裁切,会滞留在"每次 LLM 调用
561
+ // 都再触发一次压缩→再烧一次超时"的循环里,条数触发路径救不了它。
562
+ summaryText = '';
563
+ ctx.logger.warn('压缩摘要生成失败,降级为纯裁切(该段历史无摘要):', err);
564
+ }
565
+ const finalSummary = summaryText.trim();
566
+ const summaryTs = Date.now();
567
+ if (finalSummary) {
568
+ await store.upsertSummary(data.sessionId, finalSummary);
569
+ }
570
+ // 裁切:成功与失败共用(失败路径 = owner 拍板的降级方案)
571
+ // 安全调整:避免裁剪点落在 tool call 组中间
572
+ // 下界 1:同 generateSummary(keepRecent=0 时索引越界抛 TypeError)
573
+ let safeKeepRecent = Math.max(1, Math.floor(cfg.keepRecent));
574
+ while (safeKeepRecent < allHistory.length) {
575
+ const firstKeptMsg = allHistory[allHistory.length - safeKeepRecent];
576
+ if (firstKeptMsg.role === 'tool') {
577
+ safeKeepRecent++;
531
578
  }
532
579
  else {
533
- ctx.logger.warn('记忆服务不支持 trimHistory,旧消息未归档');
580
+ break;
534
581
  }
535
- // 保存系统事件消息,供前端持久化显示压缩分隔线(同 generateSummary:
536
- // 失败降级的"已裁切" marker 以真的裁切了为前提)
537
- const archive = ctx.getService('message-archive');
538
- if (archive && (finalSummary || trimmed))
539
- await archive.saveMessage(data.sessionId, {
540
- role: 'system',
541
- kind: WellKnownKinds.EventMarker,
542
- content: finalSummary ? '对话已压缩' : '对话已裁切(摘要生成失败,该段无摘要)',
543
- timestamp: summaryTs,
544
- });
545
- // 通知前端:成功报 done;降级报 error(摘要确实失败了,裁切结果经历史刷新可见)。
546
- // 空响应此前既不裁也不发事件,前端会永远停在 'start'——现在归入降级路径一并解决。
547
- ctx
548
- .emit('session:compressing', { sessionId: data.sessionId, status: finalSummary ? 'done' : 'error' })
549
- .catch(() => { });
550
582
  }
551
- catch (err) {
552
- ctx.logger.warn('压缩会话失败:', err);
553
- // 通知前端:压缩失败
554
- ctx.emit('session:compressing', { sessionId: data.sessionId, status: 'error' }).catch(() => { });
583
+ let trimmed = false;
584
+ if (memory.trimHistory) {
585
+ const deleted = await memory.trimHistory(data.sessionId, safeKeepRecent);
586
+ trimmed = true;
587
+ ctx.logger.info(finalSummary
588
+ ? `压缩完成: session=${data.sessionId}, 归档 ${deleted} 条旧消息,保留 ${safeKeepRecent} 条`
589
+ : `已裁切(无摘要): session=${data.sessionId}, 归档 ${deleted} 条旧消息,保留 ${safeKeepRecent} 条`);
555
590
  }
556
- finally {
557
- summarizing.delete(data.sessionId);
591
+ else {
592
+ ctx.logger.warn('记忆服务不支持 trimHistory,旧消息未归档');
558
593
  }
594
+ // 保存系统事件消息,供前端持久化显示压缩分隔线(同 generateSummary:
595
+ // 失败降级的"已裁切" marker 以真的裁切了为前提)
596
+ const archive = ctx.getService('message-archive');
597
+ if (archive && (finalSummary || trimmed))
598
+ await archive.saveMessage(data.sessionId, {
599
+ role: 'system',
600
+ kind: WellKnownKinds.EventMarker,
601
+ content: finalSummary ? '对话已压缩' : '对话已裁切(摘要生成失败,该段无摘要)',
602
+ timestamp: summaryTs,
603
+ });
604
+ // 通知前端:成功报 done;降级报 error(摘要确实失败了,裁切结果经历史刷新可见)。
605
+ // 空响应此前既不裁也不发事件,前端会永远停在 'start'——现在归入降级路径一并解决。
606
+ ctx
607
+ .emit('session:compressing', { sessionId: data.sessionId, status: finalSummary ? 'done' : 'error' })
608
+ .catch(() => { });
559
609
  }
560
- else {
561
- // 其他情况走标准流程
562
- await generateSummary(data.sessionId);
610
+ catch (err) {
611
+ ctx.logger.warn('压缩会话失败:', err);
612
+ // 通知前端:压缩失败
613
+ ctx.emit('session:compressing', { sessionId: data.sessionId, status: 'error' }).catch(() => { });
614
+ }
615
+ finally {
616
+ summarizing.delete(data.sessionId);
563
617
  }
564
618
  });
565
619
  // 统一记忆清除:通过 memory:clear hook 参与编排
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/plugin-memory-summary",
3
- "version": "0.10.0",
3
+ "version": "0.10.2",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -32,10 +32,10 @@
32
32
  "devDependencies": {
33
33
  "@types/node": "^22.0.0",
34
34
  "typescript": "^5.7.0",
35
- "@aalis/core": "0.11.0",
36
- "@aalis/api-memory": "0.5.0",
35
+ "@aalis/api-agent": "0.7.1",
36
+ "@aalis/core": "0.12.1",
37
37
  "@aalis/api-message-archive": "0.5.0",
38
- "@aalis/api-agent": "0.7.0"
38
+ "@aalis/api-memory": "0.5.1"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "@aalis/core": ">=0.11.0 <1.0.0"