sema-core 2.0.16 → 2.1.1
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/dist/conf/config.d.ts +2 -0
- package/dist/conf/config.d.ts.map +1 -1
- package/dist/conf/config.js +4 -1
- package/dist/conf/config.js.map +1 -1
- package/dist/core/Conversation.js +4 -4
- package/dist/core/Conversation.js.map +1 -1
- package/dist/core/RunTools.d.ts.map +1 -1
- package/dist/core/RunTools.js +43 -8
- package/dist/core/RunTools.js.map +1 -1
- package/dist/core/SemaCore.d.ts +7 -0
- package/dist/core/SemaCore.d.ts.map +1 -1
- package/dist/core/SemaCore.js +9 -0
- package/dist/core/SemaCore.js.map +1 -1
- package/dist/core/SemaEngine.d.ts.map +1 -1
- package/dist/core/SemaEngine.js +22 -10
- package/dist/core/SemaEngine.js.map +1 -1
- package/dist/core/SemaSession.d.ts +3 -11
- package/dist/core/SemaSession.d.ts.map +1 -1
- package/dist/core/SemaSession.js +2 -10
- package/dist/core/SemaSession.js.map +1 -1
- package/dist/core/SessionPool.d.ts.map +1 -1
- package/dist/core/SessionPool.js +3 -2
- package/dist/core/SessionPool.js.map +1 -1
- package/dist/events/types.d.ts +2 -0
- package/dist/events/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/manager/ConfManager.d.ts +9 -1
- package/dist/manager/ConfManager.d.ts.map +1 -1
- package/dist/manager/ConfManager.js +23 -6
- package/dist/manager/ConfManager.js.map +1 -1
- package/dist/manager/ModelManager.d.ts +30 -2
- package/dist/manager/ModelManager.d.ts.map +1 -1
- package/dist/manager/ModelManager.js +103 -32
- package/dist/manager/ModelManager.js.map +1 -1
- package/dist/manager/PermissionManager.d.ts.map +1 -1
- package/dist/manager/PermissionManager.js +50 -36
- package/dist/manager/PermissionManager.js.map +1 -1
- package/dist/manager/UsageStatsManager.d.ts +79 -0
- package/dist/manager/UsageStatsManager.d.ts.map +1 -0
- package/dist/manager/UsageStatsManager.js +402 -0
- package/dist/manager/UsageStatsManager.js.map +1 -0
- package/dist/prompt/compact.d.ts +17 -2
- package/dist/prompt/compact.d.ts.map +1 -1
- package/dist/prompt/compact.js +19 -3
- package/dist/prompt/compact.js.map +1 -1
- package/dist/prompt/inputPredict.d.ts +1 -1
- package/dist/prompt/inputPredict.d.ts.map +1 -1
- package/dist/prompt/inputPredict.js +9 -8
- package/dist/prompt/inputPredict.js.map +1 -1
- package/dist/prompt/permission.d.ts.map +1 -1
- package/dist/prompt/permission.js +11 -1
- package/dist/prompt/permission.js.map +1 -1
- package/dist/prompt/tools/fetchUrl.d.ts +1 -1
- package/dist/prompt/tools/fetchUrl.d.ts.map +1 -1
- package/dist/prompt/tools/fetchUrl.js +3 -0
- package/dist/prompt/tools/fetchUrl.js.map +1 -1
- package/dist/services/agents/agentsManager.d.ts.map +1 -1
- package/dist/services/agents/agentsManager.js +3 -2
- package/dist/services/agents/agentsManager.js.map +1 -1
- package/dist/services/api/adapt/openai.d.ts.map +1 -1
- package/dist/services/api/adapt/openai.js +25 -4
- package/dist/services/api/adapt/openai.js.map +1 -1
- package/dist/services/api/adapt/util.d.ts +15 -0
- package/dist/services/api/adapt/util.d.ts.map +1 -1
- package/dist/services/api/adapt/util.js +54 -2
- package/dist/services/api/adapt/util.js.map +1 -1
- package/dist/services/api/apiUtil.d.ts.map +1 -1
- package/dist/services/api/apiUtil.js +8 -7
- package/dist/services/api/apiUtil.js.map +1 -1
- package/dist/services/api/queryLLM.d.ts.map +1 -1
- package/dist/services/api/queryLLM.js +35 -16
- package/dist/services/api/queryLLM.js.map +1 -1
- package/dist/services/commands/commandsManager.d.ts.map +1 -1
- package/dist/services/commands/commandsManager.js +3 -2
- package/dist/services/commands/commandsManager.js.map +1 -1
- package/dist/services/commands/runCommand.d.ts.map +1 -1
- package/dist/services/commands/runCommand.js +4 -3
- package/dist/services/commands/runCommand.js.map +1 -1
- package/dist/services/hooks/hookTriggers.d.ts.map +1 -1
- package/dist/services/hooks/hookTriggers.js +3 -2
- package/dist/services/hooks/hookTriggers.js.map +1 -1
- package/dist/services/mcp/MCPClient.d.ts.map +1 -1
- package/dist/services/mcp/MCPClient.js +18 -8
- package/dist/services/mcp/MCPClient.js.map +1 -1
- package/dist/services/mcp/MCPManager.d.ts +8 -7
- package/dist/services/mcp/MCPManager.d.ts.map +1 -1
- package/dist/services/mcp/MCPManager.js +118 -53
- package/dist/services/mcp/MCPManager.js.map +1 -1
- package/dist/services/mcp/MCPToolAdapter.d.ts.map +1 -1
- package/dist/services/mcp/MCPToolAdapter.js +128 -22
- package/dist/services/mcp/MCPToolAdapter.js.map +1 -1
- package/dist/services/plugins/pluginsManager.d.ts.map +1 -1
- package/dist/services/plugins/pluginsManager.js +12 -11
- package/dist/services/plugins/pluginsManager.js.map +1 -1
- package/dist/tools/FetchUrl.d.ts.map +1 -1
- package/dist/tools/FetchUrl.js +10 -3
- package/dist/tools/FetchUrl.js.map +1 -1
- package/dist/tools/ListCrons.d.ts +1 -0
- package/dist/tools/ListCrons.d.ts.map +1 -1
- package/dist/tools/ListCrons.js +1 -0
- package/dist/tools/ListCrons.js.map +1 -1
- package/dist/tools/LoadTools.js +1 -1
- package/dist/tools/PeekBgJob.d.ts +2 -2
- package/dist/tools/PlanToAgent.d.ts.map +1 -1
- package/dist/tools/PlanToAgent.js +7 -4
- package/dist/tools/PlanToAgent.js.map +1 -1
- package/dist/tools/RunShell.d.ts.map +1 -1
- package/dist/tools/RunShell.js +4 -16
- package/dist/tools/RunShell.js.map +1 -1
- package/dist/tools/base/Tool.d.ts +1 -0
- package/dist/tools/base/Tool.d.ts.map +1 -1
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +7 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/mcp.d.ts +7 -0
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/model.d.ts +3 -0
- package/dist/types/model.d.ts.map +1 -1
- package/dist/types/session.d.ts +6 -2
- package/dist/types/session.d.ts.map +1 -1
- package/dist/util/compact.d.ts +11 -9
- package/dist/util/compact.d.ts.map +1 -1
- package/dist/util/compact.js +294 -65
- package/dist/util/compact.js.map +1 -1
- package/dist/util/fetchUrl.d.ts +1 -0
- package/dist/util/fetchUrl.d.ts.map +1 -1
- package/dist/util/fetchUrl.js +34 -4
- package/dist/util/fetchUrl.js.map +1 -1
- package/dist/util/i18n/de.d.ts +92 -0
- package/dist/util/i18n/de.d.ts.map +1 -0
- package/dist/util/i18n/de.js +104 -0
- package/dist/util/i18n/de.js.map +1 -0
- package/dist/util/i18n/en.d.ts +92 -0
- package/dist/util/i18n/en.d.ts.map +1 -0
- package/dist/util/i18n/en.js +104 -0
- package/dist/util/i18n/en.js.map +1 -0
- package/dist/util/i18n/fr.d.ts +92 -0
- package/dist/util/i18n/fr.d.ts.map +1 -0
- package/dist/util/i18n/fr.js +104 -0
- package/dist/util/i18n/fr.js.map +1 -0
- package/dist/util/i18n/index.d.ts +7 -0
- package/dist/util/i18n/index.d.ts.map +1 -0
- package/dist/util/i18n/index.js +36 -0
- package/dist/util/i18n/index.js.map +1 -0
- package/dist/util/i18n/it.d.ts +92 -0
- package/dist/util/i18n/it.d.ts.map +1 -0
- package/dist/util/i18n/it.js +104 -0
- package/dist/util/i18n/it.js.map +1 -0
- package/dist/util/i18n/zh.d.ts +96 -0
- package/dist/util/i18n/zh.d.ts.map +1 -0
- package/dist/util/i18n/zh.js +107 -0
- package/dist/util/i18n/zh.js.map +1 -0
- package/dist/util/i18n.d.ts +98 -0
- package/dist/util/i18n.d.ts.map +1 -0
- package/dist/util/i18n.js +228 -0
- package/dist/util/i18n.js.map +1 -0
- package/dist/util/message.d.ts.map +1 -1
- package/dist/util/message.js +3 -0
- package/dist/util/message.js.map +1 -1
- package/dist/util/model.d.ts.map +1 -1
- package/dist/util/model.js +9 -3
- package/dist/util/model.js.map +1 -1
- package/dist/util/shell.d.ts.map +1 -1
- package/dist/util/shell.js +6 -1
- package/dist/util/shell.js.map +1 -1
- package/dist/util/shellSafety.d.ts +14 -2
- package/dist/util/shellSafety.d.ts.map +1 -1
- package/dist/util/shellSafety.js +300 -3
- package/dist/util/shellSafety.js.map +1 -1
- package/dist/util/tokens.d.ts +10 -2
- package/dist/util/tokens.d.ts.map +1 -1
- package/dist/util/tokens.js +19 -15
- package/dist/util/tokens.js.map +1 -1
- package/package.json +3 -1
package/dist/util/compact.js
CHANGED
|
@@ -39,6 +39,13 @@ exports.__compactTestHooks = {
|
|
|
39
39
|
* 提前触发压缩以避免接近token限制时的API调用失败
|
|
40
40
|
*/
|
|
41
41
|
const AUTO_COMPACT_THRESHOLD_RATIO = 0.75;
|
|
42
|
+
/**
|
|
43
|
+
* 自动压缩时原样保留的最近工具轮次数(一个轮次 = assistant(tool_use) + 紧随的 tool_result user 消息)。
|
|
44
|
+
* 最后一条 assistant 之后的未消费批次另行无条件保留,不计入此数。
|
|
45
|
+
*/
|
|
46
|
+
const COMPACT_KEEP_RECENT_TOOL_ROUNDS = 4;
|
|
47
|
+
// 图片块固定估算,与 microcompact 口径一致(勿按 base64 长度折算)
|
|
48
|
+
const IMAGE_BLOCK_TOKEN_ESTIMATE = 1500;
|
|
42
49
|
function getContextLimit(sessionId) {
|
|
43
50
|
try {
|
|
44
51
|
return compactDependencies.getModelManager().getModel('main', sessionId)?.contextLength ?? 128_000;
|
|
@@ -98,8 +105,9 @@ function truncateMessages(messages, targetTokenLimit) {
|
|
|
98
105
|
if (message.type === 'assistant' && 'usage' in message.message) {
|
|
99
106
|
const inputTokens = getInputTokensFromUsage(message.message.usage);
|
|
100
107
|
if (inputTokens >= tokensToRemove) {
|
|
101
|
-
//
|
|
102
|
-
|
|
108
|
+
// 从这条 assistant 开始保留:它的 tool_use 与下一条 user 消息里的 tool_result 配对,
|
|
109
|
+
// 若从 i + 1 开始会留下孤儿 tool_result,API 会拒绝
|
|
110
|
+
cutIndex = i;
|
|
103
111
|
break;
|
|
104
112
|
}
|
|
105
113
|
}
|
|
@@ -121,7 +129,7 @@ function truncateMessages(messages, targetTokenLimit) {
|
|
|
121
129
|
}
|
|
122
130
|
// 在开头添加截断提示消息
|
|
123
131
|
if (result.length < messages.length) {
|
|
124
|
-
const truncatedMessage = (0, message_1.buildUserMsg)(
|
|
132
|
+
const truncatedMessage = (0, message_1.buildUserMsg)(`${compact_1.CONTEXT_TRUNCATED_NOTICE_LEAD} ${messages.length - result.length} earlier messages removed. Recent conversation preserved.`);
|
|
125
133
|
result.unshift(truncatedMessage);
|
|
126
134
|
}
|
|
127
135
|
(0, log_1.logDebug)(`[Compact] Truncation result: kept ${result.length} of ${messages.length} messages`);
|
|
@@ -187,18 +195,29 @@ function emitCompactUsage(messagesBefore, messagesAfter, sessionId, mode, reason
|
|
|
187
195
|
}
|
|
188
196
|
}
|
|
189
197
|
/**
|
|
190
|
-
*
|
|
191
|
-
*
|
|
198
|
+
* 估算当前上下文占用,口径为"即将发送的请求":
|
|
199
|
+
* 最近有效 usage 的 input(上次请求的上下文)+ 该次 output(本次响应已进入上下文)
|
|
200
|
+
* + 该 assistant 之后新增消息(工具结果、新用户输入)的估算。
|
|
201
|
+
* 只看 input 会滞后一轮,单轮新增多个大工具结果时可能撞限。
|
|
202
|
+
* 没有任何有效 usage 时(如全是合成消息的历史)按全部消息估算。
|
|
203
|
+
* 压缩判断与 compact:micro 事件统计共用此函数,保证口径一致。
|
|
204
|
+
*/
|
|
205
|
+
function estimateContextTokens(messages) {
|
|
206
|
+
const { inputTokens, outputTokens, index } = (0, tokens_1.countTokens)(messages);
|
|
207
|
+
return inputTokens + outputTokens + estimateMessagesTokens(messages.slice(index + 1));
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* 根据令牌使用量判断是否应触发自动压缩(口径见 estimateContextTokens)
|
|
192
211
|
*
|
|
193
|
-
* @param discountTokens 估算折扣:
|
|
194
|
-
* micro 清理的节省要到下一次响应才可见,期间用该折扣修正判断。默认 0
|
|
212
|
+
* @param discountTokens 估算折扣:usage 读的是上一次 API 响应,
|
|
213
|
+
* micro 清理的节省要到下一次响应才可见,期间用该折扣修正判断。默认 0。
|
|
214
|
+
* 传入的 messages 应是清理前的历史,否则 usage 下标之后被清理的块会在估算与折扣中重复扣减。
|
|
195
215
|
*/
|
|
196
216
|
function needsAutoCompact(messages, discountTokens = 0, sessionId) {
|
|
197
217
|
if (messages.length < 3)
|
|
198
218
|
return false;
|
|
199
|
-
const inputTokenCount = (0, tokens_1.countTokens)(messages).inputTokens;
|
|
200
219
|
const autoCompactThreshold = getContextLimit(sessionId) * AUTO_COMPACT_THRESHOLD_RATIO;
|
|
201
|
-
return (
|
|
220
|
+
return (estimateContextTokens(messages) - discountTokens) >= autoCompactThreshold;
|
|
202
221
|
}
|
|
203
222
|
/**
|
|
204
223
|
* Micro 压缩集成入口(全量摘要前的第一道防线)
|
|
@@ -215,10 +234,11 @@ function applyMicroCompact(messages, sessionId) {
|
|
|
215
234
|
if (!result.changed) {
|
|
216
235
|
return { messages, needFullCompact: true, changed: false };
|
|
217
236
|
}
|
|
218
|
-
|
|
219
|
-
//
|
|
220
|
-
|
|
221
|
-
|
|
237
|
+
// 在清理前的 messages 上判断再减本次节省:清理后的消息里 usage 下标之后的块已是占位符,
|
|
238
|
+
// 若在其上估算再减全部节省,这部分会被扣两次而低估占用
|
|
239
|
+
const stillOver = needsAutoCompact(messages, result.estimatedSavedTokens, sessionId);
|
|
240
|
+
// estimatedTokenAfter = 清理前的估算占用 − 估算节省,与 stillOver 的判断口径完全一致
|
|
241
|
+
const tokenBefore = estimateContextTokens(messages);
|
|
222
242
|
const microData = {
|
|
223
243
|
clearedCount: result.clearedCount,
|
|
224
244
|
estimatedSavedTokens: result.estimatedSavedTokens,
|
|
@@ -254,17 +274,28 @@ function applyMicroCompact(messages, sessionId) {
|
|
|
254
274
|
*/
|
|
255
275
|
async function compactMessages(messages, abortController, sessionId, options = {}) {
|
|
256
276
|
const allowTruncationFallback = options.allowTruncationFallback ?? true;
|
|
277
|
+
// 自动压缩路径只压历史的一段,事件口径需按整段上下文计算,由 autoCompact 自行发出
|
|
278
|
+
const emitUsageEvent = options.emitUsageEvent ?? true;
|
|
279
|
+
const emitUsage = (messagesAfter, mode, reason, error) => {
|
|
280
|
+
if (emitUsageEvent)
|
|
281
|
+
emitCompactUsage(messages, messagesAfter, sessionId, mode, reason, error);
|
|
282
|
+
};
|
|
257
283
|
if (messages.length < 2) {
|
|
258
284
|
return { kind: 'unchanged', messages };
|
|
259
285
|
}
|
|
260
286
|
try {
|
|
261
287
|
const summaryResult = await executeAutoCompact(messages, abortController, sessionId, options.customInstructions);
|
|
288
|
+
// 用户中断:适配层不抛错而是返回部分内容,不能当成摘要,也不能进有损的截断兜底
|
|
289
|
+
if (abortController.signal.aborted) {
|
|
290
|
+
(0, log_1.logInfo)('[Compact] Aborted by user, keeping messages unchanged');
|
|
291
|
+
return { kind: 'unchanged', messages };
|
|
292
|
+
}
|
|
262
293
|
if (summaryResult.kind === 'summary') {
|
|
263
|
-
|
|
294
|
+
emitUsage(summaryResult.messages, 'summary');
|
|
264
295
|
return summaryResult;
|
|
265
296
|
}
|
|
266
297
|
if (!allowTruncationFallback) {
|
|
267
|
-
|
|
298
|
+
emitUsage(null, 'failed', summaryResult.reason);
|
|
268
299
|
return {
|
|
269
300
|
kind: 'failed',
|
|
270
301
|
error: new Error(`Compact did not produce a valid summary: ${summaryResult.reason}`),
|
|
@@ -273,7 +304,7 @@ async function compactMessages(messages, abortController, sessionId, options = {
|
|
|
273
304
|
const contextLimit = getContextLimit(sessionId);
|
|
274
305
|
const targetLimit = contextLimit * 0.5; // 截断到50%容量
|
|
275
306
|
const truncatedMessages = truncateMessages(messages, targetLimit);
|
|
276
|
-
|
|
307
|
+
emitUsage(truncatedMessages, 'truncated', summaryResult.reason);
|
|
277
308
|
return {
|
|
278
309
|
kind: 'truncated',
|
|
279
310
|
messages: truncatedMessages,
|
|
@@ -281,8 +312,13 @@ async function compactMessages(messages, abortController, sessionId, options = {
|
|
|
281
312
|
};
|
|
282
313
|
}
|
|
283
314
|
catch (error) {
|
|
315
|
+
// 用户中断(SDK 层抛出中断异常的路径):同上,直接退出不降级
|
|
316
|
+
if (abortController.signal.aborted) {
|
|
317
|
+
(0, log_1.logInfo)('[Compact] Aborted by user, keeping messages unchanged');
|
|
318
|
+
return { kind: 'unchanged', messages };
|
|
319
|
+
}
|
|
284
320
|
if (!allowTruncationFallback) {
|
|
285
|
-
|
|
321
|
+
emitUsage(null, 'failed', 'COMPACT_ERROR', error);
|
|
286
322
|
return {
|
|
287
323
|
kind: 'failed',
|
|
288
324
|
error,
|
|
@@ -295,7 +331,7 @@ async function compactMessages(messages, abortController, sessionId, options = {
|
|
|
295
331
|
const targetLimit = contextLimit * 0.5; // 截断到50%容量
|
|
296
332
|
const truncatedMessages = truncateMessages(messages, targetLimit);
|
|
297
333
|
(0, log_1.logError)(`Successfully applied truncation fallback, reduced from ${messages.length} to ${truncatedMessages.length} messages`);
|
|
298
|
-
|
|
334
|
+
emitUsage(truncatedMessages, 'truncated', 'COMPACT_ERROR', error);
|
|
299
335
|
return {
|
|
300
336
|
kind: 'truncated',
|
|
301
337
|
messages: truncatedMessages,
|
|
@@ -305,7 +341,7 @@ async function compactMessages(messages, abortController, sessionId, options = {
|
|
|
305
341
|
catch (truncationError) {
|
|
306
342
|
// 如果连截断都失败,返回失败结果
|
|
307
343
|
(0, log_1.logError)(`Truncation fallback also failed: ${truncationError}`);
|
|
308
|
-
|
|
344
|
+
emitUsage(null, 'failed', 'COMPACT_ERROR', truncationError);
|
|
309
345
|
return {
|
|
310
346
|
kind: 'failed',
|
|
311
347
|
error: truncationError,
|
|
@@ -407,70 +443,262 @@ function prependBlocksToLeadingUserMsg(messages, blocks) {
|
|
|
407
443
|
return [nextFirst, ...messages.slice(1)];
|
|
408
444
|
}
|
|
409
445
|
/**
|
|
410
|
-
*
|
|
446
|
+
* 按文本长度估算一组消息的 token 数(口径与 microcompact 一致)。
|
|
447
|
+
* 用于 compact:exec 事件里被压区与新前缀的差值计算,以及 needsAutoCompact 对
|
|
448
|
+
* 最近 usage 之后新增消息的估算。
|
|
449
|
+
*/
|
|
450
|
+
function estimateMessagesTokens(messages) {
|
|
451
|
+
let total = 0;
|
|
452
|
+
for (const msg of messages) {
|
|
453
|
+
const content = msg.message.content;
|
|
454
|
+
if (typeof content === 'string') {
|
|
455
|
+
total += (0, microcompact_1.estimateTokensFromText)(content);
|
|
456
|
+
continue;
|
|
457
|
+
}
|
|
458
|
+
if (!Array.isArray(content))
|
|
459
|
+
continue;
|
|
460
|
+
for (const block of content) {
|
|
461
|
+
switch (block?.type) {
|
|
462
|
+
case 'text':
|
|
463
|
+
total += (0, microcompact_1.estimateTokensFromText)(block.text ?? '');
|
|
464
|
+
break;
|
|
465
|
+
case 'thinking':
|
|
466
|
+
total += (0, microcompact_1.estimateTokensFromText)(block.thinking ?? '');
|
|
467
|
+
break;
|
|
468
|
+
case 'tool_use':
|
|
469
|
+
total += (0, microcompact_1.estimateTokensFromText)(JSON.stringify(block.input ?? {}));
|
|
470
|
+
break;
|
|
471
|
+
case 'tool_result': {
|
|
472
|
+
const inner = block.content;
|
|
473
|
+
if (typeof inner === 'string') {
|
|
474
|
+
total += (0, microcompact_1.estimateTokensFromText)(inner);
|
|
475
|
+
}
|
|
476
|
+
else if (Array.isArray(inner)) {
|
|
477
|
+
for (const part of inner) {
|
|
478
|
+
if (part?.type === 'text')
|
|
479
|
+
total += (0, microcompact_1.estimateTokensFromText)(part.text ?? '');
|
|
480
|
+
else if (part?.type === 'image')
|
|
481
|
+
total += IMAGE_BLOCK_TOKEN_ESTIMATE;
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
break;
|
|
485
|
+
}
|
|
486
|
+
case 'image':
|
|
487
|
+
total += IMAGE_BLOCK_TOKEN_ESTIMATE;
|
|
488
|
+
break;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
return total;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* 计算自动压缩的切点:messages.slice(0, cutIdx) 为被压区,其余为保留区。
|
|
411
496
|
*
|
|
412
|
-
*
|
|
413
|
-
*
|
|
414
|
-
*
|
|
415
|
-
*
|
|
416
|
-
*
|
|
417
|
-
*
|
|
497
|
+
* 切点只落在两类位置,二者都保证 tool_use/tool_result 不被拆散,
|
|
498
|
+
* 也保证 skill 激活的 tool_use 与其 tool_result/全文块在同一侧(collectSkillActivations 按区域配对):
|
|
499
|
+
* - 某个工具轮次的 assistant 消息:保留最后一条 assistant 起的未消费尾部,
|
|
500
|
+
* 再往前保留 COMPACT_KEEP_RECENT_TOOL_ROUNDS 个已消费轮次,切在最老一个保留轮次的 assistant 上;
|
|
501
|
+
* - 最后一条真实用户消息:它落在保留窗口内或紧贴切点时(本轮很短、或最新消息就是新查询),
|
|
502
|
+
* 切到它,用户原话原样保留,等价于旧行为。
|
|
418
503
|
*
|
|
419
|
-
*
|
|
504
|
+
* 旧行为整轮豁免:agent 单轮跑几十次工具时可压区几乎为空,再触发只能对上一份摘要复摘,
|
|
505
|
+
* 摘要越压越大而真实上下文单调增长。
|
|
420
506
|
*/
|
|
421
|
-
|
|
422
|
-
//
|
|
507
|
+
function findCompactCut(messages) {
|
|
508
|
+
// 从后往前找最后一条真实用户消息(首块非 tool_result)
|
|
423
509
|
let lastRealUserIdx = -1;
|
|
424
510
|
for (let i = messages.length - 1; i >= 0; i--) {
|
|
425
|
-
if (messages[i].type
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
511
|
+
if (messages[i].type !== 'user')
|
|
512
|
+
continue;
|
|
513
|
+
const content = messages[i].message.content;
|
|
514
|
+
const isToolResult = Array.isArray(content) &&
|
|
515
|
+
content.length > 0 &&
|
|
516
|
+
content[0]?.type === 'tool_result';
|
|
517
|
+
if (!isToolResult) {
|
|
518
|
+
lastRealUserIdx = i;
|
|
519
|
+
break;
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
if (lastRealUserIdx === -1) {
|
|
523
|
+
return { cutIdx: 0, lastRealUserIdx };
|
|
524
|
+
}
|
|
525
|
+
let lastAssistantIdx = -1;
|
|
526
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
527
|
+
if (messages[i].type === 'assistant') {
|
|
528
|
+
lastAssistantIdx = i;
|
|
529
|
+
break;
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
// 未消费尾部(最后一条 assistant 起)无条件保留,再往前数 N 个 assistant 轮次
|
|
533
|
+
let cutIdx = lastAssistantIdx;
|
|
534
|
+
if (lastAssistantIdx > 0) {
|
|
535
|
+
let rounds = 0;
|
|
536
|
+
for (let i = lastAssistantIdx - 1; i >= 0 && rounds < COMPACT_KEEP_RECENT_TOOL_ROUNDS; i--) {
|
|
537
|
+
if (messages[i].type === 'assistant') {
|
|
538
|
+
rounds++;
|
|
539
|
+
cutIdx = i;
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
// 没有 assistant,或最后一条真实用户消息落在保留窗口内/紧贴切点:切到用户消息
|
|
544
|
+
if (lastAssistantIdx === -1 || lastRealUserIdx >= cutIdx - 1) {
|
|
545
|
+
cutIdx = lastRealUserIdx;
|
|
546
|
+
}
|
|
547
|
+
return { cutIdx, lastRealUserIdx };
|
|
548
|
+
}
|
|
549
|
+
// 回注用户指令原文的上限:超长粘贴不应抵消压缩收益
|
|
550
|
+
const MAX_VERBATIM_INSTRUCTION_CHARS = 4000;
|
|
551
|
+
/**
|
|
552
|
+
* 系统合成的 user 文本块,不是用户原话,不得当作指令回注:
|
|
553
|
+
* reminder-sys 注入、压缩摘要、截断通知、中断标记
|
|
554
|
+
*/
|
|
555
|
+
function isSyntheticUserText(text) {
|
|
556
|
+
return text.startsWith(define_1.REMINDER_SYS_OPEN) ||
|
|
557
|
+
text.startsWith(compact_1.COMPACT_SUMMARY_LEAD) ||
|
|
558
|
+
text.startsWith(compact_1.CONTEXT_TRUNCATED_NOTICE_LEAD) ||
|
|
559
|
+
text.trim() === message_1.REQ_INTERRUPT_MSG;
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* 提取真实用户消息的正文(跳过系统合成块与非文本块),用于压缩后原样回注。
|
|
563
|
+
* 被压区开头若是上一次压缩的前缀消息,其中回注过的指令块(LATEST_USER_INSTRUCTION_NOTICE 起始)
|
|
564
|
+
* 原样接力,保证用户指令可跨多次压缩存续;摘要块本身跳过,避免摘要被当作指令滚雪球。
|
|
565
|
+
*/
|
|
566
|
+
function extractUserInstructionText(msg) {
|
|
567
|
+
const content = msg.message.content;
|
|
568
|
+
let text = '';
|
|
569
|
+
if (typeof content === 'string') {
|
|
570
|
+
text = isSyntheticUserText(content) ? '' : content.trim();
|
|
571
|
+
}
|
|
572
|
+
else if (Array.isArray(content)) {
|
|
573
|
+
const parts = [];
|
|
574
|
+
for (const block of content) {
|
|
575
|
+
if (block.type !== 'text')
|
|
576
|
+
continue;
|
|
577
|
+
if (block.text.startsWith(compact_1.LATEST_USER_INSTRUCTION_NOTICE)) {
|
|
578
|
+
// 上一次压缩回注的指令块:直接接力,不再拼接其他块
|
|
579
|
+
return block.text.slice(compact_1.LATEST_USER_INSTRUCTION_NOTICE.length).trim();
|
|
433
580
|
}
|
|
581
|
+
if (isSyntheticUserText(block.text))
|
|
582
|
+
continue;
|
|
583
|
+
const trimmed = block.text.trim();
|
|
584
|
+
if (trimmed)
|
|
585
|
+
parts.push(trimmed);
|
|
586
|
+
}
|
|
587
|
+
text = parts.join('\n\n');
|
|
588
|
+
}
|
|
589
|
+
if (text.length > MAX_VERBATIM_INSTRUCTION_CHARS) {
|
|
590
|
+
text = `${text.slice(0, MAX_VERBATIM_INSTRUCTION_CHARS)}\n[... truncated]`;
|
|
591
|
+
}
|
|
592
|
+
return text;
|
|
593
|
+
}
|
|
594
|
+
/**
|
|
595
|
+
* 自动压缩路径的 compact:exec / conversation:usage 事件。
|
|
596
|
+
* 被压区只是整段上下文的一段,事件按整段口径计算:
|
|
597
|
+
* tokenBefore = 触发时的整段占用(含 system prompt 与工具定义,取自上次 API 响应的 usage),
|
|
598
|
+
* tokenCompact = tokenBefore − 被压区估算 + 新前缀估算。
|
|
599
|
+
*/
|
|
600
|
+
function emitAutoCompactUsage(tokenBefore, messagesToCompact, compactedMessages, sessionId, mode, reason) {
|
|
601
|
+
try {
|
|
602
|
+
const removed = estimateMessagesTokens(messagesToCompact);
|
|
603
|
+
const added = estimateMessagesTokens(compactedMessages);
|
|
604
|
+
const tokenCompact = Math.max(0, tokenBefore - removed + added);
|
|
605
|
+
if (added >= removed) {
|
|
606
|
+
(0, log_1.logWarn)(`[Compact] Compacted prefix (~${added} tokens) is not smaller than the compacted range (~${removed} tokens)`);
|
|
434
607
|
}
|
|
608
|
+
(0, log_1.logDebug)(`[Compact] Usage: before=${tokenBefore}, removed≈${removed}, added≈${added}, after≈${tokenCompact}`);
|
|
609
|
+
const compactExecData = {
|
|
610
|
+
tokenBefore,
|
|
611
|
+
tokenCompact,
|
|
612
|
+
compactRate: tokenBefore > 0 ? calculateCompactRate(tokenBefore, tokenCompact) : 0,
|
|
613
|
+
mode,
|
|
614
|
+
reason,
|
|
615
|
+
};
|
|
616
|
+
const eventBus = compactDependencies.getEventBus();
|
|
617
|
+
eventBus.emit('compact:exec', compactExecData, sessionId);
|
|
618
|
+
eventBus.emit('conversation:usage', {
|
|
619
|
+
usage: { useTokens: tokenCompact, maxTokens: getContextLimit(sessionId), promptTokens: tokenCompact },
|
|
620
|
+
}, sessionId);
|
|
435
621
|
}
|
|
622
|
+
catch (usageError) {
|
|
623
|
+
(0, log_1.logError)(`Failed to emit auto compact usage: ${usageError}`);
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* 自动上下文压缩的主要入口函数
|
|
628
|
+
*
|
|
629
|
+
* 该函数在每次查询前被调用,用于检查对话是否已超出容量需要压缩。
|
|
630
|
+
* 切点由 findCompactCut 决定:保留最近几个工具轮次与未消费尾部,其余历史(含本轮更早的工具轮次)
|
|
631
|
+
* 交给摘要。这样可以保证:
|
|
632
|
+
* 1. tool_use / tool_result 的配对关系不被破坏(切点只落在轮次边界的 assistant 或真实用户消息上)
|
|
633
|
+
* 2. 压缩后前缀是单条 user 消息(与手动 /compact 同形),保留区无论以 user 还是 assistant 开头,
|
|
634
|
+
* 角色交替都合法(连续 user 由 prepareMessagesForApi 合并)
|
|
635
|
+
* 3. 最后一条真实用户消息被压进摘要时,原文回注,模型不丢失用户措辞
|
|
636
|
+
*
|
|
637
|
+
* 执行自动压缩(调用前应先通过 needsAutoCompact 判断是否需要压缩)
|
|
638
|
+
*/
|
|
639
|
+
async function autoCompact(messages, abortController, sessionId, options = {}) {
|
|
640
|
+
const { cutIdx, lastRealUserIdx } = findCompactCut(messages);
|
|
436
641
|
if (lastRealUserIdx === -1) {
|
|
437
642
|
// 没有找到真实用户消息,跳过压缩
|
|
438
643
|
return { changed: false, messages };
|
|
439
644
|
}
|
|
440
|
-
|
|
441
|
-
const
|
|
442
|
-
// 保留当前对话轮次(最后一条真实用户消息及之后的所有内容)
|
|
443
|
-
const messagesToKeep = messages.slice(lastRealUserIdx);
|
|
645
|
+
const messagesToCompact = messages.slice(0, cutIdx);
|
|
646
|
+
const messagesToKeep = messages.slice(cutIdx);
|
|
444
647
|
if (messagesToCompact.length < 2) {
|
|
445
648
|
// 历史消息太少,不值得压缩
|
|
446
649
|
return { changed: false, messages };
|
|
447
650
|
}
|
|
651
|
+
// 最后一条真实用户消息落入被压区(长工具轮次场景):压缩后原样回注
|
|
652
|
+
const compactedUserMsg = lastRealUserIdx < cutIdx ? messages[lastRealUserIdx] : null;
|
|
448
653
|
// 收集将被压掉的 skill 激活;保留区仍有同名激活的不补(原文还在)
|
|
449
654
|
let compactedSkills = collectSkillActivations(messagesToCompact);
|
|
450
655
|
if (compactedSkills.length > 0) {
|
|
451
656
|
const keptNames = new Set(collectSkillActivations(messagesToKeep).map(a => a.name));
|
|
452
657
|
compactedSkills = compactedSkills.filter(a => !keptNames.has(a.name));
|
|
453
658
|
}
|
|
454
|
-
|
|
659
|
+
(0, log_1.logDebug)(`[Compact] Cut at ${cutIdx}/${messages.length} (lastRealUser=${lastRealUserIdx}, userMsgCompacted=${compactedUserMsg !== null}), ` +
|
|
660
|
+
`skills to re-inject: [${compactedSkills.map(a => a.name).join(', ')}]`);
|
|
661
|
+
// 触发时的整段上下文占用(上次 API 响应的 usage,含本次响应输出),作为事件基准
|
|
662
|
+
const tokensBefore = (0, tokens_1.countTokens)(messages);
|
|
663
|
+
const tokenBefore = tokensBefore.inputTokens + tokensBefore.outputTokens;
|
|
664
|
+
const compactResult = await compactMessages(messagesToCompact, abortController, sessionId, { emitUsageEvent: false });
|
|
455
665
|
if (compactResult.kind === 'summary' || compactResult.kind === 'truncated') {
|
|
456
|
-
//
|
|
457
|
-
|
|
666
|
+
// 截断兜底会保留部分历史:激活消息 / 用户消息幸存的不补注,避免重复
|
|
667
|
+
let userMsgSurvived = false;
|
|
668
|
+
if (compactResult.kind === 'truncated') {
|
|
458
669
|
const survivedUuids = new Set(compactResult.messages.map(m => m.uuid));
|
|
459
670
|
compactedSkills = compactedSkills.filter(a => !survivedUuids.has(a.uuid));
|
|
671
|
+
userMsgSurvived = compactedUserMsg !== null && survivedUuids.has(compactedUserMsg.uuid);
|
|
460
672
|
}
|
|
461
|
-
// 压缩后重新注入被压掉的 skill 原文与 skills/rules reminder
|
|
462
|
-
// 前置拼进首条通知 user 消息,不新增消息以避免连续 user 消息的顺序问题
|
|
673
|
+
// 压缩后重新注入被压掉的 skill 原文与 skills/rules reminder(原注入随历史被摘要替换而丢失)
|
|
463
674
|
const reminders = await (0, genSystemReminder_1.generatePostCompactReminders)(options.hasSkillTool ?? false, compactedSkills);
|
|
464
|
-
const
|
|
465
|
-
|
|
466
|
-
:
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
675
|
+
const instruction = compactedUserMsg && !userMsgSurvived ? extractUserInstructionText(compactedUserMsg) : '';
|
|
676
|
+
const instructionBlocks = instruction
|
|
677
|
+
? [{ type: 'text', text: `${compact_1.LATEST_USER_INSTRUCTION_NOTICE}\n\n${instruction}` }]
|
|
678
|
+
: [];
|
|
679
|
+
let compactedMessages;
|
|
680
|
+
if (compactResult.kind === 'summary') {
|
|
681
|
+
// 单条 user 前缀:[reminders..., 包装后的摘要, 用户指令原文]
|
|
682
|
+
compactedMessages = [(0, message_1.buildUserMsg)([
|
|
683
|
+
...reminders,
|
|
684
|
+
{ type: 'text', text: (0, compact_1.wrapCompactSummary)(compactResult.summary) },
|
|
685
|
+
...instructionBlocks,
|
|
686
|
+
])];
|
|
687
|
+
}
|
|
688
|
+
else {
|
|
689
|
+
// 截断兜底:前置拼进首条截断通知 user 消息,不新增消息
|
|
690
|
+
const extraBlocks = [...reminders, ...instructionBlocks];
|
|
691
|
+
compactedMessages = extraBlocks.length > 0
|
|
692
|
+
? prependBlocksToLeadingUserMsg(compactResult.messages, extraBlocks)
|
|
693
|
+
: compactResult.messages;
|
|
694
|
+
}
|
|
695
|
+
// 组合结果示例(长工具轮次场景):
|
|
696
|
+
// [prefix(user), assistant(tool_use), toolResult(user), ..., assistant(tool_use), toolResult(user)]
|
|
697
|
+
// 组合结果示例(短轮次 / 新查询场景):
|
|
698
|
+
// [prefix(user), lastRealUserMsg(user), ...] → 连续 user 由 prepareMessagesForApi 合并
|
|
472
699
|
const finalMessages = [...compactedMessages, ...messagesToKeep];
|
|
473
|
-
(0, log_1.logDebug)(`[Compact] Final messages count: ${finalMessages.length}, kept
|
|
700
|
+
(0, log_1.logDebug)(`[Compact] Final messages count: ${finalMessages.length}, kept: ${messagesToKeep.length} messages`);
|
|
701
|
+
emitAutoCompactUsage(tokenBefore, messagesToCompact, compactedMessages, sessionId, compactResult.kind, compactResult.kind === 'truncated' ? compactResult.reason : undefined);
|
|
474
702
|
return {
|
|
475
703
|
changed: true,
|
|
476
704
|
messages: finalMessages,
|
|
@@ -512,12 +740,13 @@ exports.NULL_TOOL = {
|
|
|
512
740
|
async function executeAutoCompact(messages, abortController, sessionId, customInstructions) {
|
|
513
741
|
// 使用 null tool 作为占位,避免模型调用任何工具
|
|
514
742
|
const tools = [exports.NULL_TOOL];
|
|
515
|
-
// 将压缩指令作为 user message
|
|
516
|
-
//
|
|
517
|
-
|
|
518
|
-
|
|
743
|
+
// 将压缩指令作为 user message 追加到要压缩的历史对话后,再统一规范化:
|
|
744
|
+
// 被压区可能以 user(tool_result) 结尾(自动压缩切在轮次边界),规范化会把连续 user 合并
|
|
745
|
+
// 无自定义指示时 buildCompressionPrompt 返回 COMPRESSION_PROMPT 原文
|
|
746
|
+
const messagesWithPrompt = (0, message_1.prepareMessagesForApi)([
|
|
747
|
+
...messages,
|
|
519
748
|
(0, message_1.buildUserMsg)((0, compact_1.buildCompressionPrompt)(customInstructions))
|
|
520
|
-
];
|
|
749
|
+
]);
|
|
521
750
|
const summaryResponse = await compactDependencies.queryLLM(messagesWithPrompt, [
|
|
522
751
|
{
|
|
523
752
|
type: 'text',
|
|
@@ -548,7 +777,8 @@ async function executeAutoCompact(messages, abortController, sessionId, customIn
|
|
|
548
777
|
// 需要修正为压缩后消息的实际 token 数(压缩通知 + 摘要)
|
|
549
778
|
const compactNoticeMessage = (0, message_1.buildUserMsg)(compact_1.COMPACT_RESUME_NOTICE);
|
|
550
779
|
// 修正 usage:压缩后的实际 token 数应该是压缩通知 + 摘要内容
|
|
551
|
-
// 估算:压缩通知约 30 tokens,摘要使用 completion_tokens
|
|
780
|
+
// 估算:压缩通知约 30 tokens,摘要使用 completion_tokens。
|
|
781
|
+
// countTokens 把 input + output 作为"该点的上下文占用",摘要只计入 input,output 置 0 避免双计
|
|
552
782
|
const originalUsage = summaryResponse.message.usage;
|
|
553
783
|
const estimatedNoticeTokens = 30;
|
|
554
784
|
const summaryTokens = originalUsage.completion_tokens || originalUsage.output_tokens || 0;
|
|
@@ -564,15 +794,14 @@ async function executeAutoCompact(messages, abortController, sessionId, customIn
|
|
|
564
794
|
...originalUsage,
|
|
565
795
|
// 修正 input_tokens:压缩通知 + 摘要内容
|
|
566
796
|
input_tokens: correctedInputTokens,
|
|
567
|
-
|
|
568
|
-
output_tokens: summaryTokens,
|
|
797
|
+
output_tokens: 0,
|
|
569
798
|
// 如果是 OpenAI 格式,也要修正
|
|
570
799
|
prompt_tokens: correctedInputTokens,
|
|
571
|
-
completion_tokens:
|
|
800
|
+
completion_tokens: 0,
|
|
572
801
|
}
|
|
573
802
|
}
|
|
574
803
|
};
|
|
575
|
-
(0, log_1.logDebug)(`[Compact] Corrected summary usage: originalInput=${originalInputTokens}, originalOutput=${originalOutputTokens}, correctedInput=${correctedInputTokens}, correctedOutput
|
|
804
|
+
(0, log_1.logDebug)(`[Compact] Corrected summary usage: originalInput=${originalInputTokens}, originalOutput=${originalOutputTokens}, correctedInput=${correctedInputTokens}, correctedOutput=0`);
|
|
576
805
|
// 构建压缩后的消息列表(只包含压缩通知和摘要,不包含新用户消息)
|
|
577
806
|
const compactedMessages = [compactNoticeMessage, correctedSummaryMessage];
|
|
578
807
|
return {
|
package/dist/util/compact.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/util/compact.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/util/compact.ts"],"names":[],"mappings":"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"}
|
package/dist/util/fetchUrl.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchUrl.d.ts","sourceRoot":"","sources":["../../src/util/fetchUrl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetchUrl.d.ts","sourceRoot":"","sources":["../../src/util/fetchUrl.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,0BAA0B,QAAS,CAAA;AAGhD,eAAO,MAAM,2BAA2B,OAAQ,CAAA;AAEhD,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAkBD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC,CAsE1C;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
|