From 81d9c572907860d77a6c053cd81f7789d3b34fef Mon Sep 17 00:00:00 2001 From: Wx-2025 <351320169@qq.com> Date: Sun, 30 Nov 2025 23:04:26 +0800 Subject: [PATCH] Update injector.js --- core/table-system/injector.js | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/core/table-system/injector.js b/core/table-system/injector.js index 4808ce0..7d7af4e 100644 --- a/core/table-system/injector.js +++ b/core/table-system/injector.js @@ -90,15 +90,34 @@ export async function injectTableData(chat, contextSize, abort, type) { return; } - if (!settings.table_injection_enabled) { - setExtensionPrompt(INJECTION_KEY, '', 0, 0, false, 'SYSTEM'); - return; - } + try { - const injectionContent = generateTableContent(); + let injectionContent = generateTableContent(); - if (!injectionContent) { + const optimizationEnabled = settings.context_optimization_enabled !== false; // 默认为 true + + if (optimizationEnabled) { + // 宏 Amily2Flush 会检查缓冲区,如果有内容则输出合并后的表格,否则输出空字符串 + if (!injectionContent.includes('{{Amily2Flush}}')) { + // 确保有换行符分隔 + injectionContent += '\n{{Amily2Flush}}'; + } + } + + if (!settings.table_injection_enabled) { + if (optimizationEnabled) { + // 如果禁用了表格注入,但启用了上下文优化,则仅注入宏 + injectionContent = '{{Amily2Flush}}'; + } else { + // 如果都禁用了,则清空 Prompt + setExtensionPrompt(INJECTION_KEY, '', 0, 0, false, 'SYSTEM'); + return; + } + } + + if (!injectionContent || injectionContent.trim() === '') { + // 理论上不会走到这里,除非宏都没了 setExtensionPrompt(INJECTION_KEY, '', 0, 0, false, 'SYSTEM'); return; }