From 1f13e8ea7b1e7c12240149efbea3fd40b68f7c32 Mon Sep 17 00:00:00 2001
From: Wx-2025 <351320169@qq.com>
Date: Fri, 10 Oct 2025 22:04:54 +0800
Subject: [PATCH] Update rag-processor.js
---
core/rag-processor.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/rag-processor.js b/core/rag-processor.js
index b1724b4..0d1db69 100644
--- a/core/rag-processor.js
+++ b/core/rag-processor.js
@@ -1 +1 @@
-'use strict';const _0x4826de=_0x2dc8;(function(_0x5275b7,_0x2624d9){const _0x46f463=_0x2dc8,_0x53a934=_0x5275b7();while(!![]){try{const _0x5209ee=-parseInt(_0x46f463(0x156))/0x1*(-parseInt(_0x46f463(0x16a))/0x2)+parseInt(_0x46f463(0xfe))/0x3*(parseInt(_0x46f463(0x18e))/0x4)+parseInt(_0x46f463(0x1a8))/0x5*(-parseInt(_0x46f463(0x13b))/0x6)+parseInt(_0x46f463(0x151))/0x7*(parseInt(_0x46f463(0x113))/0x8)+-parseInt(_0x46f463(0x1d0))/0x9*(-parseInt(_0x46f463(0x1b8))/0xa)+-parseInt(_0x46f463(0x106))/0xb*(parseInt(_0x46f463(0x1b2))/0xc)+parseInt(_0x46f463(0x143))/0xd;if(_0x5209ee===_0x2624d9)break;else _0x53a934['push'](_0x53a934['shift']());}catch(_0x427fd4){_0x53a934['push'](_0x53a934['shift']());}}}(_0x4d15,0xb0da3));import{extension_prompt_roles,setExtensionPrompt}from'/script.js';import*as _0xfd5dee from'./utils/context-utils.js';import{getCollectionIdInfo,getCharacterId,getCharacterStableId}from'./utils/context-utils.js';import{defaultSettings as _0xd3e1e}from'./rag-settings.js';import*as _0x9fe58b from'./ingestion-manager.js';import{getEmbeddings,fetchEmbeddingModels as _0x3f19f5,fetchRerankModels as _0x40ae91,executeRerank,testApiConnection as _0x23d63}from'./rag-api.js';import{superSort}from'./super-sorter.js';const MODULE_NAME='hanlinyuan-rag-core',OFFICIAL_REARRANGE_CHAT_FUNCTION_NAME='vectors_rearrangeChat',GLOBAL_SCOPE_ID='_global';let context=null,settings=null,lockedCollectionId=null;function filterWorldbooks(_0x4f92a8,_0x2ffda8){const _0x4552c1=_0x2dc8;if(!_0x4f92a8||!_0x4f92a8['trim']())return _0x2ffda8;const _0x500500=_0x4f92a8[_0x4552c1(0x163)]()['trim']();return _0x2ffda8[_0x4552c1(0x150)](_0x13cad5=>{const _0x35cb1a=_0x4552c1;return _0x13cad5[_0x35cb1a(0x163)]()[_0x35cb1a(0x10e)](_0x500500)||containsPinyinMatch(_0x13cad5,_0x500500);});}function filterWorldbookEntries(_0x5ab25f,_0x4962d8){const _0x521ad9=_0x2dc8;if(!_0x5ab25f||!_0x5ab25f[_0x521ad9(0x1e5)]())return _0x4962d8;const _0xae5ff6=_0x5ab25f[_0x521ad9(0x163)]()[_0x521ad9(0x1e5)]();return _0x4962d8['filter'](_0x49ad8c=>{const _0x2bb3d7=_0x521ad9,_0x41bfea=[_0x49ad8c[_0x2bb3d7(0x102)]||'',_0x49ad8c[_0x2bb3d7(0x1bf)]||'',_0x49ad8c[_0x2bb3d7(0x1aa)]||''][_0x2bb3d7(0x161)]('\x20')[_0x2bb3d7(0x163)]();return _0x41bfea['includes'](_0xae5ff6)||containsPinyinMatch(_0x49ad8c[_0x2bb3d7(0x102)]||'',_0xae5ff6);});}function containsPinyinMatch(_0x1df0fa,_0xe9309c){const _0x450b8f=_0x2dc8,_0x11cf2e={'世界书':_0x450b8f(0x15b),'条目':_0x450b8f(0x18b),'编纂':_0x450b8f(0x169),'搜索':'sousuo'},_0x1eac1d=_0x11cf2e[_0x1df0fa];return _0x1eac1d&&_0x1eac1d[_0x450b8f(0x10e)](_0xe9309c);}function highlightSearchMatch(_0x53a086,_0x33348d){const _0x49b6ab=_0x2dc8;if(!_0x33348d||!_0x33348d[_0x49b6ab(0x1e5)]())return _0x53a086;const _0xdc935d=new RegExp('('+_0x33348d[_0x49b6ab(0x14e)](/[.*+?^${}()|[\]\\]/g,'\x5c$&')+')','gi');return _0x53a086['replace'](_0xdc935d,_0x49b6ab(0x1da));}function debounce(_0x3c23c9,_0x154f00){let _0xb42760;return function _0xea990c(..._0x1529c7){const _0x218c70=()=>{clearTimeout(_0xb42760),_0x3c23c9(..._0x1529c7);};clearTimeout(_0xb42760),_0xb42760=setTimeout(_0x218c70,_0x154f00);};}export{initialize,getSettings,saveSettings,resetSettings,_0x23d63 as testApiConnection,_0x3f19f5 as fetchEmbeddingModels,_0x40ae91 as fetchRerankModels,getVectorCount,purgeStorage,getMessagesForCondensation,processCondensation,ingestTextToHanlinyuan,getCollectionId,toggleSessionLock,isSessionLocked,getLockedSessionInfo,addKnowledgeBase,removeKnowledgeBase,getLocalKnowledgeBases,getGlobalKnowledgeBases,toggleKnowledgeBase,moveKnowledgeBase,filterWorldbooks,filterWorldbookEntries,highlightSearchMatch,debounce};function initialize(){const _0x3a75b4=_0x2dc8;context=SillyTavern[_0x3a75b4(0x1c7)]();if(!context){console['error'](_0x3a75b4(0xf4));return;}settings=getSettings(),!window['hanlinyuanRagProcessor']&&(window['hanlinyuanRagProcessor']={}),window[_0x3a75b4(0x1a6)][_0x3a75b4(0x1ec)]=rearrangeChat,window[_0x3a75b4(0x1a6)][_0x3a75b4(0x1c6)]=!![],console[_0x3a75b4(0xff)]('翰林院忆识核心已启动\x20(V5.2-集成版),已注册到全局\x20hanlinyuanRagProcessor\x20对象。');}async function ingestTextToHanlinyuan(_0x779204,_0x1164b6='manual',_0x16568b={},_0x13daed=()=>{},_0x455cbd=null,_0x43464a=()=>{},_0x3645e7=()=>{},_0x2d9e5f=null,_0x35b44a=0x0){const _0x516d7a=_0x2dc8;if(!_0x779204||!_0x779204[_0x516d7a(0x1e5)]())return{'success':![],'error':_0x516d7a(0xe8)};if(!settings)return{'success':![],'error':'核心未初始化'};try{const _0x3b1c71=getCollectionIdInfo(),_0x5ccff3=await _0x47c456();if(_0x3b1c71[_0x516d7a(0xf2)]&&_0x3b1c71[_0x516d7a(0xf2)]===_0x5ccff3&&_0x3b1c71[_0x516d7a(0xf2)]!==_0x3b1c71[_0x516d7a(0x12d)]){const _0x36e697=confirm(_0x516d7a(0x10d));if(_0x36e697)_0x43464a(_0x516d7a(0x168)+_0x3b1c71[_0x516d7a(0xf2)],_0x516d7a(0x1ae)),await purgeStorage(_0x3b1c71['oldId']),_0x43464a(_0x516d7a(0x182),_0x516d7a(0x148));else return _0x43464a(_0x516d7a(0x14a),_0x516d7a(0x196)),toastr[_0x516d7a(0x196)](_0x516d7a(0x15f)),{'success':![],'error':_0x516d7a(0x1ef)};}let _0x39ebab,_0x5eddb2;const _0x2667f4=new Date()[_0x516d7a(0x153)](_0x516d7a(0x176),{'hour12':![]}),_0x1a310f=getCharacterName()||_0x516d7a(0x10f);switch(_0x1164b6){case _0x516d7a(0x1c3):const _0x51be02=_0x16568b[_0x516d7a(0x12e)]||{},_0x26ccfa=_0x51be02[_0x516d7a(0x1c5)]??'?',_0x254943=_0x51be02[_0x516d7a(0x1f0)]===0x0?'末':_0x51be02[_0x516d7a(0x1f0)]??'?';_0x39ebab=_0x1a310f+':\x20'+_0x26ccfa+'楼-'+_0x254943+'楼';break;case'lorebook':const _0x5ee52f=_0x16568b[_0x516d7a(0xed)]||_0x516d7a(0x1d8);if(_0x16568b[_0x516d7a(0x178)]&&_0x16568b['entryName']['includes'](_0x516d7a(0x139)))_0x16568b[_0x516d7a(0x178)]=_0x516d7a(0x1a9);else _0x16568b['entryName']&&_0x16568b[_0x516d7a(0x178)][_0x516d7a(0x10e)](_0x516d7a(0x19b))&&(_0x16568b[_0x516d7a(0x178)]=_0x516d7a(0x117));const _0x34b684=_0x16568b[_0x516d7a(0x178)]||'未知条目';_0x39ebab=_0x5ee52f+':\x20'+_0x34b684;break;case'novel':_0x39ebab=_0x516d7a(0x137)+(_0x16568b[_0x516d7a(0x1a4)]||'未知小说');break;case'manual':default:_0x39ebab=_0x516d7a(0x14f)+_0x2667f4;break;}const _0x5eb899=Object[_0x516d7a(0x18f)](getKnowledgeBases()),_0x40313c=_0x5eb899[_0x516d7a(0x107)](_0xf0885d=>_0xf0885d[_0x516d7a(0x185)]===_0x39ebab);if(_0x40313c)_0x5eddb2=_0x40313c['id'],_0x43464a(_0x516d7a(0x154)+_0x39ebab+_0x516d7a(0x13f),'info');else{_0x43464a(_0x516d7a(0x1e9)+_0x39ebab+_0x516d7a(0x183),_0x516d7a(0x196));const _0x2af7be=addKnowledgeBase(_0x39ebab);_0x5eddb2=_0x2af7be['id'];}const _0x156fbf=getCharacterStableId(),_0x1d9667=_0x156fbf+'_'+_0x5eddb2;_0x43464a(_0x516d7a(0x13c)+_0x39ebab+_0x516d7a(0x155)+_0x1d9667+')',_0x516d7a(0x148)),_0x43464a(_0x516d7a(0x131)+_0x1d9667,'info'),_0x13daed({'message':'正在智能分块...','processed':0x0,'total':0x1});const _0x57a68e=splitIntoChunks(_0x779204,_0x1164b6,_0x16568b),_0x32a3ad=_0x57a68e['length'];if(_0x455cbd?.[_0x516d7a(0x127)])throw new Error(_0x516d7a(0x11a));_0x43464a('[翰林院-核心]\x20将来源\x27'+_0x39ebab+_0x516d7a(0xee)+_0x32a3ad+_0x516d7a(0xf0),'info');if(_0x32a3ad===0x0)return{'success':!![],'count':0x0};const _0x592c75=settings[_0x516d7a(0x16f)][_0x516d7a(0x1b1)]||0x5;let _0x30bb50=_0x35b44a;for(let _0x3ffcb1=_0x35b44a;_0x3ffcb1<_0x32a3ad;_0x3ffcb1+=_0x592c75){if(_0x455cbd?.[_0x516d7a(0x127)])throw new Error(_0x516d7a(0x11a));const _0xe82546=_0x57a68e[_0x516d7a(0x1d6)](_0x3ffcb1,_0x3ffcb1+_0x592c75);_0x13daed({'message':'正在处理\x20'+(_0x3ffcb1+0x1)+'-'+(_0x3ffcb1+_0xe82546['length'])+'\x20块','processed':_0x3ffcb1,'total':_0x32a3ad});const _0x597f47=_0xe82546['map'](_0x3fbd4b=>_0x3fbd4b['text']),_0x32b5dc=await getEmbeddings(_0x597f47,_0x455cbd);if(_0x455cbd?.[_0x516d7a(0x127)])throw new Error('AbortError');if(_0xe82546['length']!==_0x32b5dc[_0x516d7a(0x145)])throw new Error('文本块和向量数量不匹配');const _0x37c03d=_0xe82546[_0x516d7a(0x19f)]((_0x44a5ac,_0x48cfef)=>({..._0x44a5ac,'vector':_0x32b5dc[_0x48cfef]}));await insertVectors(_0x37c03d,_0x455cbd,_0x1d9667),_0x30bb50+=_0xe82546[_0x516d7a(0x145)],_0x2d9e5f&&_0x9fe58b[_0x516d7a(0x1ac)](_0x2d9e5f,_0x30bb50,_0x32a3ad),await _0x3645e7();}return _0x2d9e5f&&_0x9fe58b[_0x516d7a(0x1e7)](_0x2d9e5f),_0x43464a('[翰林院-核心]\x20成功插入\x20'+_0x30bb50+_0x516d7a(0x1eb),_0x516d7a(0x148)),{'success':!![],'count':_0x30bb50};}catch(_0x64f4ac){if(_0x64f4ac['name']===_0x516d7a(0x11a)){_0x43464a(_0x516d7a(0x19e),_0x516d7a(0x1ae));throw _0x64f4ac;}return console[_0x516d7a(0x135)]('[翰林院-核心]\x20ingestTextToHanlinyuan\x20失败:',_0x64f4ac),_0x43464a(_0x516d7a(0x1cd)+_0x64f4ac[_0x516d7a(0x181)],_0x516d7a(0x135)),{'success':![],'error':_0x64f4ac[_0x516d7a(0x181)]};}}function getSettings(){const _0x26fe37=_0x2dc8;if(!context||!context[_0x26fe37(0x1e8)])return structuredClone(_0xd3e1e);let _0x4322d3=context[_0x26fe37(0x1e8)][MODULE_NAME];!_0x4322d3&&(_0x4322d3={},context['extensionSettings'][MODULE_NAME]=_0x4322d3);_0x4322d3[_0x26fe37(0xf5)]===undefined&&(_0x4322d3[_0x26fe37(0xf5)]={});_0x4322d3['knowledgeBases']===undefined&&(_0x4322d3[_0x26fe37(0x11c)]={});for(const _0x44cd2c in _0xd3e1e){if(_0x4322d3[_0x44cd2c]===undefined)_0x4322d3[_0x44cd2c]=structuredClone(_0xd3e1e[_0x44cd2c]);else{if(typeof _0xd3e1e[_0x44cd2c]===_0x26fe37(0x12b)&&!Array[_0x26fe37(0x1d3)](_0xd3e1e[_0x44cd2c])&&_0xd3e1e[_0x44cd2c]!==null)for(const _0x5cdf63 in _0xd3e1e[_0x44cd2c]){_0x4322d3[_0x44cd2c][_0x5cdf63]===undefined&&(_0x4322d3[_0x44cd2c][_0x5cdf63]=_0xd3e1e[_0x44cd2c][_0x5cdf63]);}}}return _0x4322d3;}function saveSettings(){const _0x44c042=_0x2dc8;if(context)context[_0x44c042(0x16c)]();}function resetSettings(){const _0x482d6a=_0x2dc8;context&&(context[_0x482d6a(0x1e8)][MODULE_NAME]=structuredClone(_0xd3e1e),saveSettings());}function showNotification(_0x1e95cd,_0x504f21=_0x4826de(0x196)){toastr[_0x504f21](_0x1e95cd);}function getTagForSource(_0x2a97e1){const _0x37997b=_0x4826de;switch(_0x2a97e1){case _0x37997b(0x1c3):return _0x37997b(0x125);case _0x37997b(0x103):return _0x37997b(0x1ba);case _0x37997b(0x1d4):return _0x37997b(0x18c);case _0x37997b(0xfd):return _0x37997b(0x1a7);default:return'资料';}}function splitIntoChunks(_0x5ea746,_0x24f062,_0x174e30={}){const _0x4b02ca=_0x4826de;switch(_0x24f062){case _0x4b02ca(0xfd):return _chunkForNovel(_0x5ea746,_0x174e30);case _0x4b02ca(0x1c3):return _chunkForChatHistory(_0x5ea746,_0x174e30);case'lorebook':return _chunkForLorebook(_0x5ea746,_0x174e30);case _0x4b02ca(0x1d4):return _chunkForManual(_0x5ea746,_0x174e30);default:console[_0x4b02ca(0x1ae)]('[翰林院-分块]\x20未知的来源类型\x20\x27'+_0x24f062+_0x4b02ca(0x15c));return _chunkForManual(_0x5ea746,{..._0x174e30,'sourceName':_0x174e30['sourceName']||'未知来源'});}}function _chunkForNovel(_0x116afb,_0x337863){const _0x2c4d67=_0x4826de,{chunkSize:_0x1712c7,overlap:_0x4be31a}=settings['advanced'],{sourceName:sourceName='小说'}=_0x337863,_0x318296=[];if(!_0x116afb||_0x1712c7<=0x0)return _0x318296;const _0xd97e9a=/(第\s*[一二三四五六七八九十百千万零\d]+\s*卷)/gim,_0xbd20e9=/(第\s*[一二三四五六七八九十百千万零\d]+\s*[章回节部])|^(Chapter\s+\d+)/gim;let _0x6ce44=0x0;const _0x5ddb70=_0x116afb['split']('\x0a');let _0x20c2c4=_0x2c4d67(0x1ca),_0x2d4d2b=_0x2c4d67(0x141),_0x63d565=[];function _0x238c65(){const _0x363591=_0x2c4d67;if(_0x63d565[_0x363591(0x145)]===0x0)return;const _0x546835=_0x63d565[_0x363591(0x161)]('\x0a');let _0x2556e4=0x0,_0x32e358=0x1;while(_0x2556e4<_0x546835['length']){const _0x50d006=Math[_0x363591(0x1cc)](_0x2556e4+_0x1712c7,_0x546835[_0x363591(0x145)]),_0xc09843=_0x546835[_0x363591(0x1bd)](_0x2556e4,_0x50d006);if(_0xc09843[_0x363591(0x1e5)]()['length']>0x0){const _0x41e955={'source':_0x363591(0xfd),'sourceName':sourceName,'timestamp':new Date()['toISOString'](),'globalIndex':_0x6ce44++,'volume':_0x20c2c4,'chapter':_0x2d4d2b,'section':_0x32e358},_0x37611e=getTagForSource(_0x363591(0xfd)),_0x5f0844=_0x363591(0x149)+sourceName+',\x20'+_0x20c2c4+',\x20'+_0x2d4d2b+_0x363591(0x115)+_0x32e358+'节]',_0x397cf3='<'+_0x37611e+'>\x0a'+_0x5f0844+'\x0a'+_0xc09843+_0x363591(0x114)+_0x37611e+'>';_0x318296[_0x363591(0x16e)]({'text':_0x397cf3,'metadata':_0x41e955}),_0x32e358++;}_0x2556e4+=_0x1712c7-_0x4be31a;if(_0x2556e4>=_0x546835[_0x363591(0x145)])break;}_0x63d565=[];}for(const _0xf751f1 of _0x5ddb70){const _0x541642=_0xf751f1[_0x2c4d67(0x1e5)]();if(_0xd97e9a[_0x2c4d67(0x126)](_0x541642))_0x238c65(),_0x20c2c4=_0x541642,_0x2d4d2b=_0x2c4d67(0x141);else _0xbd20e9[_0x2c4d67(0x126)](_0x541642)?(_0x238c65(),_0x2d4d2b=_0x541642):_0x63d565['push'](_0xf751f1);}_0x238c65();if(_0x318296[_0x2c4d67(0x145)]===0x0&&_0x116afb[_0x2c4d67(0x145)]>0x0){let _0x3445be=0x0,_0x449fab=0x1;while(_0x3445be<_0x116afb[_0x2c4d67(0x145)]){const _0x38dc7c=Math[_0x2c4d67(0x1cc)](_0x3445be+_0x1712c7,_0x116afb['length']),_0x406b19=_0x116afb[_0x2c4d67(0x1bd)](_0x3445be,_0x38dc7c),_0x516aa7={'source':_0x2c4d67(0xfd),'sourceName':sourceName,'timestamp':new Date()[_0x2c4d67(0x17a)](),'globalIndex':_0x318296[_0x2c4d67(0x145)],'volume':_0x2c4d67(0x1ca),'chapter':_0x2c4d67(0x141),'section':_0x449fab},_0x2eca9d=getTagForSource(_0x2c4d67(0xfd)),_0x5223c9=_0x2c4d67(0x149)+sourceName+_0x2c4d67(0x1e6)+_0x449fab+'节]',_0x33e8e3='<'+_0x2eca9d+'>\x0a'+_0x5223c9+'\x0a'+_0x406b19+_0x2c4d67(0x114)+_0x2eca9d+'>';_0x318296[_0x2c4d67(0x16e)]({'text':_0x33e8e3,'metadata':_0x516aa7}),_0x449fab++,_0x3445be+=_0x1712c7-_0x4be31a;}}return _0x318296;}function _chunkForChatHistory(_0x2dec30,_0x18ae7e){const _0x5413ca=_0x4826de,{chunkSize:_0x1078c6,overlap:_0x502e29}=settings[_0x5413ca(0x1a1)],{floor:_0x1432ca,is_user:_0x2862a4,timestamp:_0x5c556b}=_0x18ae7e,_0x5752e3=[];if(!_0x2dec30||_0x1078c6<=0x0)return _0x5752e3;let _0x30a474=0x1,_0x22b9df=0x0;while(_0x22b9df<_0x2dec30[_0x5413ca(0x145)]){const _0x219e31=Math['min'](_0x22b9df+_0x1078c6,_0x2dec30[_0x5413ca(0x145)]),_0x4062c7=_0x2dec30['substring'](_0x22b9df,_0x219e31),_0x3a7129=_0x5413ca(0x1bc)+_0x1432ca+_0x5413ca(0x115)+_0x30a474+_0x5413ca(0x1d1),_0x2c61b6=getTagForSource(_0x5413ca(0x1c3)),_0x5109ec='<'+_0x2c61b6+'>\x0a'+_0x3a7129+'\x0a'+_0x4062c7+_0x5413ca(0x114)+_0x2c61b6+'>';_0x5752e3['push']({'text':_0x5109ec,'metadata':{'source':_0x5413ca(0x1c3),'sourceName':'聊天记录\x20#'+_0x1432ca,'floor':_0x1432ca,'part':_0x30a474,'is_user':_0x2862a4,'timestamp':_0x5c556b}}),_0x30a474++,_0x22b9df+=_0x1078c6-_0x502e29;if(_0x22b9df>=_0x2dec30[_0x5413ca(0x145)])break;}return _0x5752e3;}function _chunkForLorebook(_0x9ba664,_0x143dc5){const _0x5c1696=_0x4826de,{chunkSize:_0x4014e6,overlap:_0x395489}=settings[_0x5c1696(0x1a1)],{bookName:bookName=_0x5c1696(0x1ba),entryName:entryName='世界书条目'}=_0x143dc5,_0x2a0157=[];if(!_0x9ba664||_0x4014e6<=0x0)return _0x2a0157;let _0x28d924=0x1,_0x35fbac=0x0;while(_0x35fbac<_0x9ba664[_0x5c1696(0x145)]){const _0x3edf42=Math[_0x5c1696(0x1cc)](_0x35fbac+_0x4014e6,_0x9ba664[_0x5c1696(0x145)]),_0xaf4bdd=_0x9ba664[_0x5c1696(0x1bd)](_0x35fbac,_0x3edf42),_0x3b5eb4=_0x5c1696(0x149)+bookName+_0x5c1696(0x120)+entryName+',\x20第'+_0x28d924+_0x5c1696(0x1d1),_0xbf97f8=getTagForSource(_0x5c1696(0x103)),_0x12e7e4='<'+_0xbf97f8+'>\x0a'+_0x3b5eb4+'\x0a'+_0xaf4bdd+'\x0a'+_0xbf97f8+'>';_0x2a0157[_0x5c1696(0x16e)]({'text':_0x12e7e4,'metadata':{'source':_0x5c1696(0x103),'sourceName':bookName+':\x20'+entryName,'bookName':bookName,'entryName':entryName,'part':_0x28d924,'timestamp':new Date()[_0x5c1696(0x17a)]()}}),_0x28d924++,_0x35fbac+=_0x4014e6-_0x395489;if(_0x35fbac>=_0x9ba664[_0x5c1696(0x145)])break;}return _0x2a0157;}function _chunkForManual(_0x8f09a2,_0x2777ea){const _0x32f87d=_0x4826de,{chunkSize:_0x38279f,overlap:_0x1c8136}=settings[_0x32f87d(0x1a1)],{sourceName:sourceName=_0x32f87d(0x18c)}=_0x2777ea,_0x598850=[];if(!_0x8f09a2||_0x38279f<=0x0)return _0x598850;const _0xdf5bd6=new Date(),_0x13df61=_0xdf5bd6[_0x32f87d(0x153)](_0x32f87d(0x176));let _0x1a3459=0x1,_0x1b5ecb=0x0;while(_0x1b5ecb<_0x8f09a2['length']){const _0x430a5b=Math[_0x32f87d(0x1cc)](_0x1b5ecb+_0x38279f,_0x8f09a2[_0x32f87d(0x145)]),_0x2b31eb=_0x8f09a2[_0x32f87d(0x1bd)](_0x1b5ecb,_0x430a5b),_0x559e8b=_0x32f87d(0x149)+sourceName+_0x32f87d(0x12a)+_0x13df61+_0x32f87d(0x115)+_0x1a3459+'部分]',_0x3b3a7b=getTagForSource(_0x32f87d(0x1d4)),_0x1c8d9f='<'+_0x3b3a7b+'>\x0a'+_0x559e8b+'\x0a'+_0x2b31eb+_0x32f87d(0x114)+_0x3b3a7b+'>';_0x598850[_0x32f87d(0x16e)]({'text':_0x1c8d9f,'metadata':{'source':'manual','sourceName':sourceName,'part':_0x1a3459,'timestamp':_0xdf5bd6[_0x32f87d(0x17a)]()}}),_0x1a3459++,_0x1b5ecb+=_0x38279f-_0x1c8136;if(_0x1b5ecb>=_0x8f09a2['length'])break;}return _0x598850;}import{getCollectionId as _0x47c456,getCharacterName}from'./utils/context-utils.js';async function getCollectionId(){return lockedCollectionId||await _0x47c456();}function _0x4d15(){const _0x4115d6=['notify','volume','[翰林院-迁移]\x20用户确认迁移,正在处理旧宝库:\x20','bianzhuan','4hxCNQs',')\x20的状态已切换为:\x20','saveSettingsDebounced','catch','push','retrieval','chapter','[翰林院-日志]\x20获取集合\x20','\x20补充所有者ID:\x20','\x27\x20中未找到ID为\x20','getRequestHeaders','[翰林院-日志]\x20开始获取所有知识库的向量总数...','zh-CN','[翰林院-核心]\x20清空向量集合\x20','entryName','\x20条结果。','toISOString','[翰林院-日志]\x20查询知识库\x20','results','[翰林院-日志]\x20/api/vector/purge\x20响应状态:\x20','depth','rerank','聊天记录\x20#','message','[翰林院-迁移]\x20旧宝库已清空。','\x22\x20创建专属知识库...','injection_','name','[翰林院-日志]\x20清空目标集合ID:\x20','floor','final_score','getTime','score','tiaomu','手动录入','quiet','8UTInGs','values','[翰林院-Rerank]\x20元数据加权排序完成。','[翰林院-日志]\x20所有知识库查询完毕,共获得\x20','No\x20messages\x20to\x20process.','...)','[翰林院-Rerank]\x20开始外部API重排序...','stringify','info','[翰林院-日志]\x20开始多知识库向量查询...','[翰林院-配置]\x20为旧版知识库\x20','\x20-\x20楼层\x20#','condensation','宏史卷总结','[翰林院-调试]\x20步骤2\x20-\x20rerankResults返回的最终结果:','\x20个条目。','[翰林院-核心]\x20文本录入任务被用户中止。','map','hashes','advanced','legacy','[翰林院-核心]\x20已为角色\x20','sourceName','template','hanlinyuanRagProcessor','小说录入','6450965gvVPAK','对话记录小总结','content','queryMessageCount','saveProgress','hasOwnProperty','warn','外部Rerank完成','global','batchSize','36QOIaJF','add','is_user','findIndex','messageTypes','\x20时发生网络错误:','1390DIFWHh','webllm','世界书','index','[来源:\x20聊天记录,\x20楼层:\x20#','substring','旧版宝库\x20(Legacy)','key','无法确定要清空的目标宝库。','[翰林院]\x20检索或注入时发生错误:','\x20及其向量数据。','chat_history','[翰林院-核心]\x20尝试删除一个不存在的知识库:\x20','start','initialized','getContext','[翰林院-日志]\x20发送到\x20/api/vector/purge\x20的请求体:','enabled','第1卷','text','min','[翰林院-核心]\x20文本录入失败:\x20','[翰林院-日志]\x20清空宝库API错误:','删除知识库失败,未能清空后端数据。','25065nrNUjT','部分]',']\x20的消息已成功凝识。','isArray','manual','[翰林院-核心]\x20processCondensation\x20失败:','slice','position','未分类世界书','\x20失败:\x20','$1','[翰林院]\x20已为来源\x20\x27','凝识之权未开启','[翰林院-核心]\x20成功删除知识库\x20','[翰林院-日志]\x20所有知识库统计完成,总向量数:\x20','user','_text}}','[翰林院-配置]\x20','[翰林院-日志]\x20清空宝库API调用成功。','[翰林院-Rerank]\x20外部Rerank失败,将仅使用内部加权。','\x20失败:','trim',',\x20第1卷,\x20第1章,\x20第','clearJob','extensionSettings','[翰林院-核心]\x20准备为任务\x20\x22','查询集合\x20','\x20个向量条目。','rearrangeChat','has','\x22\x20已删除。','用户取消了迁移操作','end','random','[翰林院-日志]\x20统计目标集合ID:\x20','忆识存入API错误\x20','输入文本为空','[翰林院-核心]\x20准备删除知识库\x20','[翰林院-修复]\x20最终返回数组样本:','\x20条消息分解为\x20','original_index','bookName','\x27的文本分割成\x20','reduce','\x20个块。','part','oldId','metadata','[翰林院]\x20未能获取SillyTavern上下文,初始化失败。','condensationHistory','status','source','depth_role','\x20添加新知识库:\x20','/api/vector/query','HANLINYUAN_RAG_LOREBOOK','\x20(ID:\x20','novel','892767YLSOxL','log','HANLINYUAN_RAG_CHAT','(已锁定:\x20','comment','lorebook','sort','[翰林院-核心]\x20聊天记录凝识完成,成功插入\x20','4187095TYAZfM','find','\x20列表API时出现问题\x20(状态:\x20','chat','[翰林院-日志]\x20没有启用的新知识库,尝试查询旧版单体宝库...','json','文本块和向量数量不匹配','检测到旧版数据。此操作将把旧数据迁移到新格式,过程不可逆,是否继续?','includes','未知角色','\x20(范围:\x20','scope','\x20不存在,计为\x200。','966128gpyZqs','\x0a',',\x20第','在源作用域\x20\x27','对话记录大总结','[翰林院-迁移]\x20集合\x20','\x20的知识库。','AbortError','[翰林院-核心]\x20凝识任务已锁定知识库:\x20','knowledgeBases','unknown','_history','移动失败:没有当前角色,无法移入局部知识库。',',\x20条目:\x20','now','HANLINYUAN_RAG_MANUAL','top_n','忆识检索失败:\x20','聊天记录','test','aborted','abs','section',',\x20向量化录入时间:\x20','object','\x20条内容。','newId','range','rerank_score','mes','[翰林院-核心]\x20已锁定忆识宝库ID:\x20','[翰林院-日志]\x20统计集合\x20','\x20个知识块,准备入库。','/api/vector/list','error','Rerank失败:\x20','小说:\x20','then','微言录总结','HANLINYUAN_RAG_NOVEL','6NaXgCQ','[翰林院-核心]\x20已创建并锁定知识库:\x20','toString','[翰林院-调试]\x20步骤1\x20-\x20queryVectors返回的原始结果:','\x22,将数据合并入库。','match','第1章','all','11682034pmkAhS','max','length','[翰林院-核心]\x20聊天记录凝识失败:\x20','forEach','success','[来源:\x20','[翰林院-迁移]\x20用户取消了迁移操作。','string','data','[翰林院-核心]\x20已为宝库\x20','replace','手动录入:\x20','filter','21QnpNuG','聊天记录:\x20','toLocaleString','[翰林院-核心]\x20检测到同名知识库\x20\x22','\x20(集合ID:\x20','456653vMENbA','[翰林院-核心]\x20已将\x20',',将清空集合:\x20','POST','[翰林院]\x20未找到来源\x20\x27','sjshu','\x27,使用通用分块逻辑。','[翰林院-日志]\x20忆识存入API错误:','owner','操作已取消。','warning','join','[翰林院-调试]\x20步骤3\x20-\x20按来源分组后的结果:','toLowerCase','[翰林院-Rerank]\x20开始元数据加权最终排序...','local'];_0x4d15=function(){return _0x4115d6;};return _0x4d15();}async function toggleSessionLock(){return lockedCollectionId?(lockedCollectionId=null,![]):(lockedCollectionId=await _0x47c456(),!![]);}function isSessionLocked(){return lockedCollectionId!==null;}function getLockedSessionInfo(){const _0x17dc6f=_0x4826de;if(!lockedCollectionId)return null;return{'id':lockedCollectionId,'name':_0x17dc6f(0x101)+lockedCollectionId[_0x17dc6f(0x1bd)](0x0,0x8)+_0x17dc6f(0x193)};}function getLocalKnowledgeBases(){const _0xa6048a=_0x4826de,_0x587aa7=getCharacterStableId();return!settings[_0xa6048a(0x11c)][_0x587aa7]&&(settings[_0xa6048a(0x11c)][_0x587aa7]={}),settings['knowledgeBases'][_0x587aa7];}function getGlobalKnowledgeBases(){const _0x10765d=_0x4826de;return!settings[_0x10765d(0x11c)][GLOBAL_SCOPE_ID]&&(settings[_0x10765d(0x11c)][GLOBAL_SCOPE_ID]={}),settings[_0x10765d(0x11c)][GLOBAL_SCOPE_ID];}function getKnowledgeBases(){const _0x1fd31=getLocalKnowledgeBases(),_0x51e62d=getGlobalKnowledgeBases();return{..._0x51e62d,..._0x1fd31};}function addKnowledgeBase(_0x4e78c6){const _0x559c1c=_0x4826de;if(!_0x4e78c6||!_0x4e78c6[_0x559c1c(0x1e5)]())throw new Error('知识库名称不能为空');const _0x1cff5b=getCharacterStableId(),_0x10a247=getLocalKnowledgeBases(),_0x53691e='task_'+Date[_0x559c1c(0x121)]()+'_'+Math[_0x559c1c(0xe5)]()[_0x559c1c(0x13d)](0x24)[_0x559c1c(0x1bd)](0x2,0x9),_0x3d1350={'id':_0x53691e,'name':_0x4e78c6[_0x559c1c(0x1e5)](),'enabled':!![],'createdAt':new Date()[_0x559c1c(0x17a)](),'owner':_0x1cff5b};return _0x10a247[_0x53691e]=_0x3d1350,saveSettings(),console[_0x559c1c(0xff)](_0x559c1c(0x1a3)+_0x1cff5b+_0x559c1c(0xf9)+_0x4e78c6+'\x20(ID:\x20'+_0x53691e+')'),_0x3d1350;}async function removeKnowledgeBase(_0x23d4ce,_0x3a50fb){const _0x3c5789=_0x4826de,_0xedef4d=getCharacterStableId(),_0x485f43=_0x3a50fb===_0x3c5789(0x1b0)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x4e658e=_0x485f43[_0x23d4ce],_0x396a4c=_0x4e658e?.[_0x3c5789(0x185)]||_0x23d4ce;if(!_0x4e658e){console[_0x3c5789(0x1ae)](_0x3c5789(0x1c4)+_0x23d4ce+_0x3c5789(0x110)+_0x3a50fb+')');return;}const _0x4413f2=_0x3a50fb==='global'?_0x4e658e[_0x3c5789(0x15e)]||GLOBAL_SCOPE_ID:_0xedef4d,_0x452033=_0x4413f2+'_'+_0x23d4ce;console[_0x3c5789(0xff)](_0x3c5789(0xe9)+_0x23d4ce+_0x3c5789(0x158)+_0x452033);const _0x48dd0f=await purgeStorage(_0x452033);_0x48dd0f?(delete _0x485f43[_0x23d4ce],saveSettings(),console[_0x3c5789(0xff)](_0x3c5789(0x1dd)+_0x23d4ce+_0x3c5789(0x1c2)),toastr[_0x3c5789(0x148)]('知识库\x20\x22'+_0x396a4c+_0x3c5789(0x1ee))):(console[_0x3c5789(0x135)](_0x3c5789(0x177)+_0x452033+'\x20失败,删除操作中止。'),toastr[_0x3c5789(0x135)](_0x3c5789(0x1cf)));}function toggleKnowledgeBase(_0x5b965b,_0x46ed45){const _0x137706=_0x4826de,_0x4445fd=_0x46ed45===_0x137706(0x1b0)?getGlobalKnowledgeBases():getLocalKnowledgeBases();_0x4445fd[_0x5b965b]&&(_0x4445fd[_0x5b965b][_0x137706(0x1c9)]=!_0x4445fd[_0x5b965b][_0x137706(0x1c9)],saveSettings(),console[_0x137706(0xff)]('[翰林院-核心]\x20知识库\x20'+_0x5b965b+'\x20(范围:\x20'+_0x46ed45+_0x137706(0x16b)+(_0x4445fd[_0x5b965b][_0x137706(0x1c9)]?'启用':'禁用')));}function generateHash(_0x564c2c){const _0x59f97c=_0x4826de;let _0x9a5a54=0x0;for(let _0x1c8f44=0x0;_0x1c8f44<_0x564c2c['length'];_0x1c8f44++){const _0x303da6=_0x564c2c['charCodeAt'](_0x1c8f44);_0x9a5a54=(_0x9a5a54<<0x5)-_0x9a5a54+_0x303da6,_0x9a5a54=_0x9a5a54&_0x9a5a54;}return Math[_0x59f97c(0x128)](_0x9a5a54)['toString'](0x24);}async function queryVectors(_0x2af60e){const _0x590775=_0x4826de;console[_0x590775(0xff)](_0x590775(0x197));const _0x34f5d2=getCharacterStableId(),_0x25873b=getLocalKnowledgeBases(),_0x536258=getGlobalKnowledgeBases(),_0x2faffa=Object[_0x590775(0x18f)](_0x25873b)[_0x590775(0x150)](_0x55b056=>_0x55b056[_0x590775(0x1c9)]),_0xb84638=Object[_0x590775(0x18f)](_0x536258)[_0x590775(0x150)](_0x426cbd=>_0x426cbd[_0x590775(0x1c9)]),_0xee5ecd=[..._0x2faffa[_0x590775(0x19f)](_0x505f83=>({..._0x505f83,'scope':_0x590775(0x165)})),..._0xb84638[_0x590775(0x19f)](_0x5e4565=>({..._0x5e4565,'scope':'global'}))];if(_0xee5ecd['length']===0x0){console[_0x590775(0xff)](_0x590775(0x10a));const _0x24ccf0=await _0x47c456();if(!_0x24ccf0)return[];_0xee5ecd[_0x590775(0x16e)]({'id':null,'name':_0x590775(0x1be),'scope':_0x590775(0x1a2)});}const _0x1f8f11=(await getEmbeddings([_0x2af60e]))[0x0];let _0x7c9a0b=[];const _0x53e941=_0xee5ecd[_0x590775(0x19f)](_0x421cb1=>{const _0x2e354b=_0x590775;let _0x5a2717;if(_0x421cb1[_0x2e354b(0x111)]==='legacy')_0x5a2717=_0x47c456();else{const _0x472c53=_0x421cb1[_0x2e354b(0x111)]===_0x2e354b(0x1b0)?_0x421cb1[_0x2e354b(0x15e)]||GLOBAL_SCOPE_ID:_0x34f5d2;_0x5a2717=Promise['resolve'](_0x472c53+'_'+_0x421cb1['id']);}return _0x5a2717[_0x2e354b(0x138)](_0x3437e1=>{const _0x2dfadc=_0x2e354b;if(!_0x3437e1)return[];console[_0x2dfadc(0xff)]('[翰林院-日志]\x20正在查询知识库:\x20'+_0x421cb1[_0x2dfadc(0x185)]+_0x2dfadc(0xfc)+_0x3437e1+')');const _0x24ec07={'collectionId':_0x3437e1,'searchText':_0x2af60e,'topK':settings[_0x2dfadc(0x1a1)]['maxResults'],'threshold':settings[_0x2dfadc(0x1a1)]['matchThreshold'],'source':_0x2dfadc(0x1b9),'embeddings':{[_0x2af60e]:_0x1f8f11}};return fetch(_0x2dfadc(0xfa),{'method':'POST','headers':context[_0x2dfadc(0x174)](),'body':JSON[_0x2dfadc(0x195)](_0x24ec07)})[_0x2dfadc(0x138)](async _0x50ad6d=>{const _0x277db0=_0x2dfadc;if(!_0x50ad6d['ok']){const _0x31d289=await _0x50ad6d[_0x277db0(0x1cb)]();return console[_0x277db0(0x135)](_0x277db0(0x17b)+_0x3437e1+_0x277db0(0x1e4),_0x31d289),[];}const _0x3eb946=await _0x50ad6d[_0x277db0(0x10b)]();let _0x547776=[];if(Array[_0x277db0(0x1d3)](_0x3eb946))_0x547776=_0x3eb946;else{if(_0x3eb946&&_0x3eb946['metadata']&&Array[_0x277db0(0x1d3)](_0x3eb946[_0x277db0(0xf3)]))_0x547776=_0x3eb946['metadata'];else{if(_0x3eb946&&_0x3eb946[_0x277db0(0x17c)]&&Array['isArray'](_0x3eb946[_0x277db0(0x17c)]))_0x547776=_0x3eb946[_0x277db0(0x17c)];else _0x3eb946&&_0x3eb946[_0x277db0(0x14c)]&&Array[_0x277db0(0x1d3)](_0x3eb946[_0x277db0(0x14c)])&&(_0x547776=_0x3eb946[_0x277db0(0x14c)]);}}const _0x597b33=_0x547776['map'](_0x503486=>{const _0x4bea31=_0x277db0;if(!_0x503486||typeof _0x503486[_0x4bea31(0x1cb)]!==_0x4bea31(0x14b))return null;const _0x4a19b0={'source':_0x4bea31(0x11d),'sourceName':'未知'},_0x1e26f2=_0x503486[_0x4bea31(0x1cb)]['match'](/^<([^>]+)>/),_0x5b2372=_0x1e26f2?_0x1e26f2[0x1]:'';switch(_0x5b2372){case _0x4bea31(0x125):_0x4a19b0['source']=_0x4bea31(0x1c3);const _0x537e55=_0x503486[_0x4bea31(0x1cb)][_0x4bea31(0x140)](/楼层:\s*#(\d+),\s*第(\d+)部分/);_0x537e55&&_0x537e55[0x1]&&_0x537e55[0x2]&&(_0x4a19b0[_0x4bea31(0x187)]=parseInt(_0x537e55[0x1],0xa),_0x4a19b0[_0x4bea31(0xf1)]=parseInt(_0x537e55[0x2],0xa),_0x4a19b0[_0x4bea31(0x1a4)]=_0x4bea31(0x180)+_0x4a19b0[_0x4bea31(0x187)]);break;case'世界书':_0x4a19b0[_0x4bea31(0xf7)]=_0x4bea31(0x103);const _0x5a107e=_0x503486['text'][_0x4bea31(0x140)](/\[来源:\s*([^,]+),\s*条目:\s*([^,]+),\s*第(\d+)部分\]/);_0x5a107e&&_0x5a107e[0x1]&&_0x5a107e[0x2]&&_0x5a107e[0x3]&&(_0x4a19b0[_0x4bea31(0xed)]=_0x5a107e[0x1]['trim'](),_0x4a19b0[_0x4bea31(0x178)]=_0x5a107e[0x2][_0x4bea31(0x1e5)](),_0x4a19b0[_0x4bea31(0xf1)]=parseInt(_0x5a107e[0x3],0xa),_0x4a19b0[_0x4bea31(0x1a4)]=_0x4a19b0[_0x4bea31(0xed)]+':\x20'+_0x4a19b0[_0x4bea31(0x178)]);break;case _0x4bea31(0x18c):_0x4a19b0[_0x4bea31(0xf7)]=_0x4bea31(0x1d4);const _0x97199f=_0x503486[_0x4bea31(0x1cb)]['match'](/\[来源:\s*([^,]+),.*第(\d+)部分\]/);_0x97199f&&_0x97199f[0x1]&&_0x97199f[0x2]&&(_0x4a19b0['sourceName']=_0x97199f[0x1]['trim'](),_0x4a19b0[_0x4bea31(0xf1)]=parseInt(_0x97199f[0x2],0xa));break;case _0x4bea31(0x1a7):_0x4a19b0[_0x4bea31(0xf7)]=_0x4bea31(0xfd);const _0x31e01b=_0x503486[_0x4bea31(0x1cb)][_0x4bea31(0x140)](/\[来源:\s*([^,]+),\s*([^,]+),\s*([^,]+),\s*([^\]]+)\]/);_0x31e01b&&(_0x4a19b0[_0x4bea31(0x1a4)]=_0x31e01b[0x1][_0x4bea31(0x1e5)](),_0x4a19b0[_0x4bea31(0x167)]=_0x31e01b[0x2]['trim'](),_0x4a19b0[_0x4bea31(0x170)]=_0x31e01b[0x3][_0x4bea31(0x1e5)](),_0x4a19b0[_0x4bea31(0x129)]=_0x31e01b[0x4][_0x4bea31(0x1e5)]());break;}return{..._0x503486,'score':_0x503486[_0x4bea31(0x18a)]||0x1,'metadata':_0x4a19b0};})['filter'](Boolean);return console[_0x277db0(0xff)]('[翰林院-V13\x20修复]\x20重建元数据后,知识库\x20'+_0x421cb1[_0x277db0(0x185)]+'\x20返回\x20'+_0x597b33[_0x277db0(0x145)]+_0x277db0(0x179)),_0x597b33;})[_0x2dfadc(0x16d)](_0x3e6c2c=>{const _0x508190=_0x2dfadc;return console[_0x508190(0x135)](_0x508190(0x17b)+_0x3437e1+_0x508190(0x1b7),_0x3e6c2c),[];});});}),_0x1f20c4=await Promise[_0x590775(0x142)](_0x53e941);_0x7c9a0b=_0x1f20c4['flat'](),console['log'](_0x590775(0x191)+_0x7c9a0b['length']+'\x20条初步结果。');const _0x4fb4cb=[],_0x2efd6c=new Set();for(const _0x4b8d99 of _0x7c9a0b){if(_0x4b8d99&&typeof _0x4b8d99===_0x590775(0x12b)&&_0x4b8d99['text']&&typeof _0x4b8d99[_0x590775(0x1cb)]==='string'){const _0x4c376b=_0x4b8d99[_0x590775(0x1cb)][_0x590775(0x1e5)]();_0x4c376b[_0x590775(0x145)]>0x0&&!_0x2efd6c[_0x590775(0x1ed)](_0x4c376b)&&(_0x2efd6c[_0x590775(0x1b3)](_0x4c376b),_0x4fb4cb[_0x590775(0x16e)](_0x4b8d99));}}console['log']('[翰林院-日志]\x20去重后剩余\x20'+_0x4fb4cb[_0x590775(0x145)]+_0x590775(0x179)),_0x4fb4cb[_0x590775(0x104)]((_0x80f89e,_0x1c725b)=>(_0x1c725b[_0x590775(0x18a)]||0x0)-(_0x80f89e[_0x590775(0x18a)]||0x0));const _0x4ae32c=[..._0x4fb4cb];return console[_0x590775(0xff)]('[翰林院-修复]\x20最终返回数组长度:\x20'+_0x4ae32c[_0x590775(0x145)]),console[_0x590775(0xff)](_0x590775(0xea),JSON[_0x590775(0x195)](_0x4ae32c[_0x590775(0x1d6)](0x0,0x1),null,0x2)),_0x4ae32c;}async function insertVectors(_0x5967fa,_0x4ff723=null,_0x28568e){const _0x38df19=_0x4826de;if(!_0x28568e)throw new Error('insertVectors\x20必须接收一个有效的\x20collectionId\x20参数。');if(_0x5967fa[_0x38df19(0x145)]===0x0)return{'success':!![],'count':0x0};const _0xe14954=_0x5967fa[_0x38df19(0x19f)]((_0x2213d1,_0x3285fd)=>({'hash':generateHash(_0x2213d1['text']+Date[_0x38df19(0x121)]()+_0x3285fd),'text':_0x2213d1[_0x38df19(0x1cb)],'metadata':_0x2213d1[_0x38df19(0xf3)]||{'source':_0x38df19(0x11d),'timestamp':new Date()['toISOString']()}})),_0x4cb514=_0xe14954[_0x38df19(0xef)]((_0x18aec1,_0x598ff6,_0xa0bf9a)=>{return _0x18aec1[_0x598ff6['text']]=_0x5967fa[_0xa0bf9a]['vector'],_0x18aec1;},{}),_0x4bf5ee={'collectionId':_0x28568e,'items':_0xe14954,'source':_0x38df19(0x1b9),'embeddings':_0x4cb514},_0x404074=await fetch('/api/vector/insert',{'method':'POST','headers':context[_0x38df19(0x174)](),'body':JSON[_0x38df19(0x195)](_0x4bf5ee),'signal':_0x4ff723});if(!_0x404074['ok']){const _0x51d7c2=await _0x404074[_0x38df19(0x1cb)]();console[_0x38df19(0x135)](_0x38df19(0x15d),_0x51d7c2);throw new Error(_0x38df19(0xe7)+_0x404074[_0x38df19(0xf6)]+':\x20'+_0x51d7c2);}return{'success':!![],'count':_0xe14954['length']};}async function getVectorCount(_0x42d290=null,_0x427ced='local'){const _0x4bdc16=_0x4826de,_0x27c604=getCharacterStableId();if(_0x42d290){const _0x4c93b5=_0x427ced===_0x4bdc16(0x1b0)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x2d375e=_0x4c93b5[_0x42d290];if(!_0x2d375e)return console[_0x4bdc16(0x1ae)]('[翰林院-计数]\x20在作用域\x20\x27'+_0x427ced+'\x27\x20中未找到ID为\x20'+_0x42d290+_0x4bdc16(0x119)),0x0;const _0x448347=_0x427ced===_0x4bdc16(0x1b0)?_0x2d375e[_0x4bdc16(0x15e)]||GLOBAL_SCOPE_ID:_0x27c604,_0x21aec5=_0x448347+'_'+_0x42d290;return await countVectorsInCollection(_0x21aec5);}else{console[_0x4bdc16(0xff)](_0x4bdc16(0x175));const _0x5a2cc7=Object[_0x4bdc16(0x18f)](getLocalKnowledgeBases()),_0x5864cf=Object[_0x4bdc16(0x18f)](getGlobalKnowledgeBases()),_0x4c58b0=[];_0x5a2cc7[_0x4bdc16(0x147)](_0xe3d99=>{const _0xace8d=_0x4bdc16,_0x258543=_0x27c604+'_'+_0xe3d99['id'];_0x4c58b0[_0xace8d(0x16e)](countVectorsInCollection(_0x258543));}),_0x5864cf[_0x4bdc16(0x147)](_0x5bd14d=>{const _0x152d3a=_0x4bdc16,_0x5625d5=_0x5bd14d[_0x152d3a(0x15e)]||GLOBAL_SCOPE_ID,_0x51a9d9=_0x5625d5+'_'+_0x5bd14d['id'];_0x4c58b0['push'](countVectorsInCollection(_0x51a9d9));});const _0x62acbc=await _0x47c456();_0x4c58b0['push'](countVectorsInCollection(_0x62acbc));const _0x678ebe=await Promise['all'](_0x4c58b0),_0x2ec326=_0x678ebe[_0x4bdc16(0xef)]((_0x471e5e,_0x13b710)=>_0x471e5e+_0x13b710,0x0);return console['log'](_0x4bdc16(0x1de)+_0x2ec326),_0x2ec326;}}async function countVectorsInCollection(_0x3363c3){const _0x3f1ecf=_0x4826de;if(!_0x3363c3)return 0x0;console[_0x3f1ecf(0xff)](_0x3f1ecf(0xe6)+_0x3363c3);const _0x1ece6c={'collectionId':_0x3363c3,'source':_0x3f1ecf(0x1b9),'embeddings':{}};try{const _0x1664f5=await fetch(_0x3f1ecf(0x134),{'method':_0x3f1ecf(0x159),'headers':context[_0x3f1ecf(0x174)](),'body':JSON['stringify'](_0x1ece6c)});if(!_0x1664f5['ok']){if(_0x1664f5[_0x3f1ecf(0xf6)]===0x194)console[_0x3f1ecf(0xff)]('[翰林院-日志]\x20集合\x20'+_0x3363c3+_0x3f1ecf(0x112));else{const _0x3df3e6=await _0x1664f5['text']();console[_0x3f1ecf(0x1ae)](_0x3f1ecf(0x171)+_0x3363c3+_0x3f1ecf(0x108)+_0x1664f5[_0x3f1ecf(0xf6)]+'):',_0x3df3e6);}return 0x0;}const _0x38bad8=await _0x1664f5[_0x3f1ecf(0x10b)]();let _0x12138a=0x0;if(Array['isArray'](_0x38bad8))_0x12138a=_0x38bad8['length'];else _0x38bad8&&_0x38bad8['hashes']&&(_0x12138a=_0x38bad8[_0x3f1ecf(0x1a0)]['length']);return _0x12138a;}catch(_0x3848d5){return console[_0x3f1ecf(0x135)](_0x3f1ecf(0x132)+_0x3363c3+'\x20时发生网络错误:',_0x3848d5),0x0;}}async function purgeStorage(_0x2fe537=null){const _0x4d699a=_0x4826de;console[_0x4d699a(0xff)]('[翰林院-日志]\x20开始清空宝库...');const _0x331b9f=_0x2fe537||await getCollectionId();if(!_0x331b9f)return console[_0x4d699a(0x135)]('[翰林院-日志]\x20无法确定要清空的目标集合ID。'),toastr[_0x4d699a(0x135)](_0x4d699a(0x1c0)),![];console[_0x4d699a(0xff)](_0x4d699a(0x186)+_0x331b9f);const _0x22c62d={'collectionId':_0x331b9f};console[_0x4d699a(0xff)](_0x4d699a(0x1c8),JSON[_0x4d699a(0x195)](_0x22c62d,null,0x2));const _0x47e85c=await fetch('/api/vector/purge',{'method':'POST','headers':context[_0x4d699a(0x174)](),'body':JSON[_0x4d699a(0x195)](_0x22c62d)});console[_0x4d699a(0xff)](_0x4d699a(0x17d)+_0x47e85c[_0x4d699a(0xf6)]);if(!_0x47e85c['ok']){const _0x33fe37=await _0x47e85c[_0x4d699a(0x1cb)]();console[_0x4d699a(0x135)](_0x4d699a(0x1ce),_0x33fe37);}else console[_0x4d699a(0xff)](_0x4d699a(0x1e2));return _0x47e85c['ok'];}function _0x2dc8(_0x3924ff,_0xce16df){const _0x4d15af=_0x4d15();return _0x2dc8=function(_0x2dc84a,_0x42e9b7){_0x2dc84a=_0x2dc84a-0xe5;let _0x4b1052=_0x4d15af[_0x2dc84a];return _0x4b1052;},_0x2dc8(_0x3924ff,_0xce16df);}function getMessagesForCondensation(_0x423fcb=null){const _0x354069=_0x4826de;if(!settings[_0x354069(0x19a)][_0x354069(0x1c9)])return showNotification(_0x354069(0x1dc),_0x354069(0x160)),[];const {layerStart:_0x8182ed,layerEnd:_0x3aeab3}=settings[_0x354069(0x19a)],_0x38012a=_0x423fcb||settings[_0x354069(0x19a)][_0x354069(0x1b6)],_0x35dffd=context[_0x354069(0x109)][_0x354069(0x145)],_0x3bb5b6=Math[_0x354069(0x144)](0x0,_0x8182ed-0x1),_0x1d0e57=_0x3aeab3===0x0||_0x3aeab3>_0x35dffd?_0x35dffd:Math[_0x354069(0x1cc)](_0x35dffd,_0x3aeab3),_0x5d3404=context[_0x354069(0x109)][_0x354069(0x1d6)](_0x3bb5b6,_0x1d0e57);return _0x5d3404[_0x354069(0x150)](_0xb823f1=>{const _0x1a450f=_0x354069,_0x1d003e=_0xb823f1['is_user']===!![],_0x5d323f=_0xb823f1[_0x1a450f(0x1b4)]===![];if(!_0xb823f1[_0x1a450f(0x130)]||!_0xb823f1[_0x1a450f(0x130)][_0x1a450f(0x1e5)]())return![];return _0x38012a[_0x1a450f(0x1df)]&&_0x1d003e||_0x38012a['ai']&&_0x5d323f;});}async function processCondensation(_0x5da8c7,_0xdcae52=()=>{},_0x3a5dff=null){const _0x5e3354=_0x4826de;if(!_0x5da8c7||_0x5da8c7[_0x5e3354(0x145)]===0x0)return{'success':![],'error':_0x5e3354(0x192)};try{let _0x268584,_0x52f2ce;const _0x40f6b8=getCharacterName()||_0x5e3354(0x10f);if(_0x3a5dff){const _0x4aec64=_0x3a5dff[_0x5e3354(0x1c5)]??'?',_0x51daf7=_0x3a5dff['end']===0x0?'末':_0x3a5dff[_0x5e3354(0x1f0)]??'?';_0x268584=_0x40f6b8+':\x20'+_0x4aec64+'楼-'+_0x51daf7+'楼';}else{const _0x41f38f=new Date()[_0x5e3354(0x153)](_0x5e3354(0x176),{'hour12':![]});_0x268584=_0x5e3354(0x152)+_0x41f38f;}const _0x185d8e=Object['values'](getLocalKnowledgeBases()),_0x9aff85=_0x185d8e[_0x5e3354(0x107)](_0x3dfc94=>_0x3dfc94['name']===_0x268584);if(_0x9aff85)_0x52f2ce=_0x9aff85['id'],_0xdcae52(_0x5e3354(0x154)+_0x268584+_0x5e3354(0x13f),'info');else{_0xdcae52(_0x5e3354(0x1e9)+_0x268584+'\x22\x20创建专属知识库...','info');const _0x5685b8=addKnowledgeBase(_0x268584);_0x52f2ce=_0x5685b8['id'];}const _0x34bb71=getCharacterStableId(),_0x34cd15=_0x34bb71+'_'+_0x52f2ce;_0xdcae52(_0x5e3354(0x11b)+_0x268584+_0x5e3354(0x155)+_0x34cd15+')','success');const _0x54ac98=[],_0x18eeb4=context[_0x5e3354(0x109)];for(const _0x5d8b8f of _0x5da8c7){const _0x2d775c=(_0x5d8b8f[_0x5e3354(0x130)]||'')[_0x5e3354(0x14e)](/<[^>]*>/g,'')[_0x5e3354(0x1e5)]();if(_0x2d775c[_0x5e3354(0x145)]===0x0)continue;let _0x3a8f0a;if(_0x5d8b8f[_0x5e3354(0x187)]!==undefined&&_0x5d8b8f[_0x5e3354(0x187)]!==null)_0x3a8f0a=_0x5d8b8f[_0x5e3354(0x187)];else{const _0x5e651b=_0x18eeb4[_0x5e3354(0x1b5)](_0xf17715=>_0xf17715===_0x5d8b8f);_0x3a8f0a=_0x5e651b!==-0x1?_0x5e651b+0x1:-0x1;}const _0x2738=new Date(_0x5d8b8f['send_date']),_0x21e2ba=isNaN(_0x2738[_0x5e3354(0x189)]())?new Date()['toISOString']():_0x2738[_0x5e3354(0x17a)](),_0x2c0651=splitIntoChunks(_0x2d775c,'chat_history',{'floor':_0x3a8f0a,'is_user':_0x5d8b8f[_0x5e3354(0x1b4)],'timestamp':_0x21e2ba});_0x54ac98[_0x5e3354(0x16e)](..._0x2c0651);}if(_0x54ac98[_0x5e3354(0x145)]===0x0)return{'success':!![],'count':0x0};_0xdcae52(_0x5e3354(0x157)+_0x5da8c7[_0x5e3354(0x145)]+_0x5e3354(0xeb)+_0x54ac98['length']+_0x5e3354(0x133),_0x5e3354(0x196));const _0x3bd26c=settings[_0x5e3354(0x16f)][_0x5e3354(0x1b1)]||0x5;let _0x56cf1d=0x0;for(let _0x7313b4=0x0;_0x7313b4<_0x54ac98['length'];_0x7313b4+=_0x3bd26c){const _0xd09ddd=_0x54ac98[_0x5e3354(0x1d6)](_0x7313b4,_0x7313b4+_0x3bd26c),_0x27e8a3=_0xd09ddd[_0x5e3354(0x19f)](_0x4920eb=>_0x4920eb['text']),_0x8216ab=await getEmbeddings(_0x27e8a3);if(_0xd09ddd[_0x5e3354(0x145)]!==_0x8216ab[_0x5e3354(0x145)])throw new Error(_0x5e3354(0x10c));const _0x2e23e7=_0xd09ddd[_0x5e3354(0x19f)]((_0x22b775,_0x3f9363)=>({..._0x22b775,'vector':_0x8216ab[_0x3f9363]}));await insertVectors(_0x2e23e7,null,_0x34cd15),_0x56cf1d+=_0xd09ddd[_0x5e3354(0x145)];}if(_0x3a5dff){const _0x3965e7=_0x3a5dff[_0x5e3354(0x1f0)]===0x0?context[_0x5e3354(0x109)][_0x5e3354(0x145)]:_0x3a5dff[_0x5e3354(0x1f0)],_0x329476=getCharacterStableId();!settings[_0x5e3354(0xf5)][_0x329476]&&(settings[_0x5e3354(0xf5)][_0x329476]={}),settings[_0x5e3354(0xf5)][_0x329476][_0x34cd15]={'start':_0x3a5dff[_0x5e3354(0x1c5)],'end':_0x3965e7,'timestamp':new Date()[_0x5e3354(0x17a)]()},saveSettings(),_0xdcae52(_0x5e3354(0x14d)+_0x34cd15+'\x20记录凝识范围:\x20'+_0x3a5dff[_0x5e3354(0x1c5)]+'-'+_0x3965e7,_0x5e3354(0x196));}_0xdcae52(_0x5e3354(0x105)+_0x56cf1d+_0x5e3354(0x19d),_0x5e3354(0x148));const _0x30d15b=_0x5da8c7[_0x5e3354(0x19f)](_0x20cfd6=>{const _0x4e74e1=_0x5e3354,_0x5514f3=_0x18eeb4[_0x4e74e1(0x1b5)](_0x467c63=>_0x467c63===_0x20cfd6),_0x36db24=_0x5514f3!==-0x1?_0x5514f3+0x1:-0x1,_0x124beb=_0x20cfd6['is_user']?'用户':getCharacterName()||'AI';return'['+_0x124beb+_0x4e74e1(0x199)+_0x36db24+_0x4e74e1(0x1d2);});return{'success':!![],'count':_0x56cf1d,'messages':_0x30d15b};}catch(_0x45f0e6){return console[_0x5e3354(0x135)](_0x5e3354(0x1d5),_0x45f0e6),_0xdcae52(_0x5e3354(0x146)+_0x45f0e6[_0x5e3354(0x181)],'error'),{'success':![],'error':_0x45f0e6['message']};}}async function rerankResults(_0x7a5ecc,_0x350b1a,_0x2c2577){const _0x4fc55a=_0x4826de;let _0xf4a4c8=_0x7a5ecc;if(_0x2c2577[_0x4fc55a(0x17f)][_0x4fc55a(0x1c9)]&&_0x7a5ecc['length']>0x0){console[_0x4fc55a(0xff)](_0x4fc55a(0x194));try{const _0x41c6ff=_0x7a5ecc[_0x4fc55a(0x19f)](_0x4858e4=>_0x4858e4['text']),_0x3a7a09=await executeRerank(_0x350b1a,_0x41c6ff,_0x2c2577[_0x4fc55a(0x17f)]),_0x56022b=_0x7a5ecc['map']((_0x36c910,_0x7e4ef3)=>({..._0x36c910,'original_index':_0x7e4ef3}));_0xf4a4c8=_0x56022b['map'](_0x24201c=>{const _0x4f4998=_0x4fc55a,_0x4c4613=_0x3a7a09[_0x4f4998(0x17c)][_0x4f4998(0x107)](_0x2e502b=>_0x2e502b[_0x4f4998(0x1bb)]===_0x24201c[_0x4f4998(0xec)]),_0x3203ba=_0x4c4613?_0x4c4613['relevance_score']:0x0;return{..._0x24201c,'rerank_score':_0x3203ba};});if(_0x2c2577[_0x4fc55a(0x17f)][_0x4fc55a(0x166)])showNotification(_0x4fc55a(0x1af),'success');}catch(_0x4291c5){console['error'](_0x4fc55a(0x1e3),_0x4291c5);if(_0x2c2577['rerank'][_0x4fc55a(0x166)])showNotification(_0x4fc55a(0x136)+_0x4291c5[_0x4fc55a(0x181)],_0x4fc55a(0x135));_0xf4a4c8[_0x4fc55a(0x147)](_0x30e7c6=>_0x30e7c6['rerank_score']=0x0);}}else _0xf4a4c8['forEach'](_0xf221d4=>_0xf221d4[_0x4fc55a(0x12f)]=0x0);console[_0x4fc55a(0xff)](_0x4fc55a(0x164));const _0x450699=context['chat'][_0x4fc55a(0x145)],_0x1e315e=_0x2c2577[_0x4fc55a(0x17f)]['hybrid_alpha'],_0x140e7f=_0xf4a4c8[_0x4fc55a(0x19f)](_0x1dfc8e=>{const _0x116f60=_0x4fc55a;let _0x26fe77=0x1;const _0x40745c=_0x1dfc8e[_0x116f60(0xf3)]||{};switch(_0x40745c['source']){case _0x116f60(0x103):_0x26fe77*=1.2;break;case _0x116f60(0x1d4):_0x26fe77*=1.1;break;case _0x116f60(0x1c3):if(_0x40745c[_0x116f60(0x187)]&&_0x450699>0x0){const _0x41d656=_0x40745c[_0x116f60(0x187)]/_0x450699;_0x26fe77*=0x1+_0x41d656;}break;}const _0x375459=_0x1dfc8e[_0x116f60(0x12f)]*_0x1e315e+(_0x1dfc8e[_0x116f60(0x18a)]||0x0)*(0x1-_0x1e315e),_0x462330=_0x375459*_0x26fe77;return{'text':_0x1dfc8e['text'],'score':_0x1dfc8e['score'],'rerank_score':_0x1dfc8e[_0x116f60(0x12f)],'final_score':_0x462330,'metadata':_0x1dfc8e[_0x116f60(0xf3)]};});_0x140e7f[_0x4fc55a(0x104)]((_0xe3eb67,_0x1ab90a)=>(_0x1ab90a[_0x4fc55a(0x188)]||0x0)-(_0xe3eb67[_0x4fc55a(0x188)]||0x0)),console[_0x4fc55a(0xff)](_0x4fc55a(0x190));if(_0x2c2577[_0x4fc55a(0x17f)]['superSortEnabled']){const _0x478c2d=superSort(_0x140e7f);return _0x478c2d[_0x4fc55a(0x1d6)](0x0,_0x2c2577[_0x4fc55a(0x17f)][_0x4fc55a(0x123)]);}return _0x140e7f[_0x4fc55a(0x1d6)](0x0,_0x2c2577[_0x4fc55a(0x17f)][_0x4fc55a(0x123)]);}async function rearrangeChat(_0x5811a4,_0x2f7ad4,_0x50e774,_0x516482){const _0x56c2e3=_0x4826de,_0x328789={'novel':_0x56c2e3(0x13a),'chat_history':_0x56c2e3(0x100),'lorebook':_0x56c2e3(0xfb),'manual':_0x56c2e3(0x122)};Object['values'](_0x328789)['forEach'](_0x596e56=>{setExtensionPrompt(_0x596e56,'',0x0,0x0,![],0x0);});if(_0x516482===_0x56c2e3(0x18d)||!settings[_0x56c2e3(0x16f)][_0x56c2e3(0x1c9)])return;const _0x12d70d=_0x5811a4[_0x56c2e3(0x1d6)](-settings[_0x56c2e3(0x1a1)][_0x56c2e3(0x1ab)]);if(_0x12d70d[_0x56c2e3(0x145)]===0x0)return;const _0x4fc7d6=_0x12d70d[_0x56c2e3(0x19f)](_0x109e31=>_0x109e31['mes'])[_0x56c2e3(0x161)]('\x20')[_0x56c2e3(0x14e)](/<[^>]*>/g,'')[_0x56c2e3(0x1e5)]();if(!_0x4fc7d6)return;try{const _0x4f9d29=await queryVectors(_0x4fc7d6);console[_0x56c2e3(0xff)](_0x56c2e3(0x13e),JSON['stringify'](_0x4f9d29[_0x56c2e3(0x19f)](_0x4cc4b7=>_0x4cc4b7[_0x56c2e3(0xf3)]),null,0x2));if(_0x4f9d29['length']===0x0)return;const _0x231a8a=await rerankResults(_0x4f9d29,_0x4fc7d6,settings);if(_0x231a8a['length']===0x0)return;console[_0x56c2e3(0xff)](_0x56c2e3(0x19c),JSON[_0x56c2e3(0x195)](_0x231a8a[_0x56c2e3(0x19f)](_0x38033d=>_0x38033d['metadata']),null,0x2));const _0x4b2530={'novel':[],'chat_history':[],'lorebook':[],'manual':[]};_0x231a8a['forEach'](_0x5dd174=>{const _0x1410a9=_0x56c2e3,_0x445d31=_0x5dd174[_0x1410a9(0xf3)]?.[_0x1410a9(0xf7)];_0x445d31&&_0x4b2530[_0x1410a9(0x1ad)](_0x445d31)&&_0x4b2530[_0x445d31][_0x1410a9(0x16e)](_0x5dd174);}),console[_0x56c2e3(0xff)](_0x56c2e3(0x162),JSON['stringify'](Object['keys'](_0x4b2530)[_0x56c2e3(0xef)]((_0x541bed,_0x1a21d4)=>{return _0x541bed[_0x1a21d4]=_0x4b2530[_0x1a21d4]['length'],_0x541bed;},{}),null,0x2));for(const _0x19c9c7 in _0x4b2530){const _0x10e456=_0x4b2530[_0x19c9c7];if(_0x10e456[_0x56c2e3(0x145)]===0x0)continue;const _0x301ff0=settings[_0x56c2e3(0x184)+_0x19c9c7[_0x56c2e3(0x14e)](_0x56c2e3(0x11e),'')];if(!_0x301ff0){console['warn'](_0x56c2e3(0x15a)+_0x19c9c7+'\x27\x20的注入设置,跳过处理。');continue;}const _0x3b799=_0x10e456[_0x56c2e3(0x19f)](_0x5c895d=>_0x5c895d['text'])[_0x56c2e3(0x161)]('\x0a\x0a'),_0xf4f780='{{'+_0x19c9c7[_0x56c2e3(0x14e)](_0x56c2e3(0x11e),'')+_0x56c2e3(0x1e0);let _0x1a4d36=_0x301ff0[_0x56c2e3(0x1a5)][_0x56c2e3(0x14e)](_0xf4f780,_0x3b799);_0x1a4d36[_0x56c2e3(0x1e5)]()&&(_0x1a4d36='%%'+_0x328789[_0x19c9c7]+'%%'+_0x1a4d36),setExtensionPrompt(_0x328789[_0x19c9c7],_0x1a4d36,_0x301ff0[_0x56c2e3(0x1d7)],_0x301ff0[_0x56c2e3(0x17e)],![],_0x301ff0[_0x56c2e3(0xf8)]),console['log'](_0x56c2e3(0x1db)+_0x19c9c7+'\x27\x20注入\x20'+_0x10e456['length']+_0x56c2e3(0x12c));}}catch(_0x36e86f){console[_0x56c2e3(0x135)](_0x56c2e3(0x1c1),_0x36e86f);if(settings[_0x56c2e3(0x16f)][_0x56c2e3(0x166)])showNotification(_0x56c2e3(0x124)+_0x36e86f[_0x56c2e3(0x181)],_0x56c2e3(0x135));}}async function moveKnowledgeBase(_0x4c26e3,_0xcaa511){const _0x4b8edb=_0x4826de,_0x55f9fc=_0xcaa511===_0x4b8edb(0x1b0)?_0x4b8edb(0x165):_0x4b8edb(0x1b0),_0x4b3ca5=getCharacterStableId();if(!_0x4b3ca5&&_0x55f9fc===_0x4b8edb(0x165)){toastr[_0x4b8edb(0x135)](_0x4b8edb(0x11f));return;}const _0x41dd26=_0xcaa511===_0x4b8edb(0x1b0)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x1d9a8e=_0x55f9fc==='global'?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x340815=_0x41dd26[_0x4c26e3];if(!_0x340815){const _0x3d6b4d=_0x4b8edb(0x116)+_0xcaa511+_0x4b8edb(0x173)+_0x4c26e3+'\x20的知识库。';console['error'](_0x4b8edb(0x1e1)+_0x3d6b4d),toastr[_0x4b8edb(0x135)]('移动失败:未找到源条目。');return;}_0xcaa511===_0x4b8edb(0x165)&&_0x55f9fc==='global'&&!_0x340815[_0x4b8edb(0x15e)]&&(console[_0x4b8edb(0xff)](_0x4b8edb(0x198)+_0x4c26e3+_0x4b8edb(0x172)+_0x4b3ca5),_0x340815[_0x4b8edb(0x15e)]=_0x4b3ca5);delete _0x41dd26[_0x4c26e3],_0x1d9a8e[_0x4c26e3]=_0x340815,saveSettings();const _0x1ca1a2='知识库【'+_0x340815[_0x4b8edb(0x185)]+'】已成功移动到'+(_0x55f9fc===_0x4b8edb(0x1b0)?'全局':'局部')+'。';console['log'](_0x4b8edb(0x1e1)+_0x1ca1a2);}async function getAllVectorsFromCollection(_0x5d84f4){const _0x583732=_0x4826de,_0x22a122='*',_0x9a317c={'collectionId':_0x5d84f4,'searchText':_0x22a122,'topK':0x2710,'threshold':0x0,'source':_0x583732(0x1b9),'embeddings':{}},_0x402da2=(await getEmbeddings([_0x22a122]))[0x0];_0x9a317c['embeddings']={[_0x22a122]:_0x402da2};const _0x5d7fdf=await fetch(_0x583732(0xfa),{'method':'POST','headers':context[_0x583732(0x174)](),'body':JSON[_0x583732(0x195)](_0x9a317c)});if(!_0x5d7fdf['ok']){if(_0x5d7fdf[_0x583732(0xf6)]===0x194)return console[_0x583732(0xff)](_0x583732(0x118)+_0x5d84f4+'\x20不存在,返回空数组。'),[];const _0x129f83=await _0x5d7fdf[_0x583732(0x1cb)]();throw new Error(_0x583732(0x1ea)+_0x5d84f4+_0x583732(0x1d9)+_0x129f83);}const _0x6f43d0=await _0x5d7fdf['json']();return _0x6f43d0[_0x583732(0xf3)]||_0x6f43d0[_0x583732(0x17c)]||_0x6f43d0[_0x583732(0x14c)]||[];}
+'use strict';const _0x1d2ea6=_0x292c;(function(_0xbc1e4f,_0x4d6bc8){const _0x280f6b=_0x292c,_0x152b1b=_0xbc1e4f();while(!![]){try{const _0x2ba4e6=parseInt(_0x280f6b(0x207))/0x1+-parseInt(_0x280f6b(0x29e))/0x2+-parseInt(_0x280f6b(0x2d0))/0x3+parseInt(_0x280f6b(0x1e5))/0x4*(parseInt(_0x280f6b(0x252))/0x5)+parseInt(_0x280f6b(0x1df))/0x6*(parseInt(_0x280f6b(0x274))/0x7)+parseInt(_0x280f6b(0x243))/0x8+-parseInt(_0x280f6b(0x242))/0x9*(parseInt(_0x280f6b(0x2cf))/0xa);if(_0x2ba4e6===_0x4d6bc8)break;else _0x152b1b['push'](_0x152b1b['shift']());}catch(_0x165e1a){_0x152b1b['push'](_0x152b1b['shift']());}}}(_0x255c,0x44e7d));function _0x255c(){const _0x117b49=['key','[翰林院-日志]\x20/api/vector/purge\x20响应状态:\x20','lorebook','未分类世界书','移动失败:没有当前角色,无法移入局部知识库。','manual','saveProgress','忆识检索失败:\x20','isArray','text','template','\x20及其向量数据。','[翰林院-日志]\x20清空目标集合ID:\x20','\x20池精确提取\x20','[翰林院-配置]\x20','在源作用域\x20\x27','/api/vector/query','[翰林院]\x20进入多路并行独立检索流程...','slice','end','message','results','[翰林院-迁移]\x20用户确认迁移,正在处理旧宝库:\x20','[翰林院-日志]\x20忆识存入API错误:','join','log','find','[翰林院-迁移]\x20集合\x20','vector','\x20-\x20楼层\x20#','length','AbortError','7zengPT','data','\x20个条目。','\x27的文本分割成\x20','[来源:\x20','global','insertVectors\x20必须接收一个有效的\x20collectionId\x20参数。','stringify','chapter','(已锁定:\x20','[翰林院-核心]\x20文本录入失败:\x20','status','第1章','对话记录大总结','metadata','[翰林院-户口普查]\x20知识库\x20\x22','),开始强制重分类所有知识库...','advanced','[翰林院]\x20检索或注入时发生错误:','map','substring','翰林院通告','error','local','小说录入','replace','[翰林院-核心]\x20尝试删除一个不存在的知识库:\x20','has','toString','[翰林院-核心]\x20已为宝库\x20','Rerank失败:\x20','bookName','\x0a','position','部分]','\x22\x20创建专属知识库...','settingsVersion','chat','queryMessageCount','add','getTime','\x20时发生网络错误:','1053220RDMFUY','操作已取消。','push','toLocaleString','hashes','未知来源','condensationHistory','score','[翰林院-户口普查]\x20普查完成,正在保存更新后的户籍...','includes','[翰林院-日志]\x20清空宝库API错误:','宏史卷总结','forEach','random','[翰林院-Rerank]\x20开始元数据加权最终排序...','comment','检测到旧版数据,正在进行一次性户口普查...','[翰林院-日志]\x20统计集合\x20','\x20(ID:\x20','[翰林院-日志]\x20所有知识库查询完毕,共获得\x20','floor','\x20失败:\x20','owner','\x20条结果。','[翰林院-核心]\x20已为角色\x20','第1卷','未知小说','翰林院忆识核心已启动\x20(V5.2-集成版),已注册到全局\x20hanlinyuanRagProcessor\x20对象。','用户取消了迁移操作','test','final_score','\x20不存在,计为\x200。','hybrid_alpha','_text}}','all','sourceName','\x20添加新知识库:\x20',',\x20条目:\x20','oldId','count','[翰林院-日志]\x20开始清空宝库...','\x22,将数据合并入库。','对话记录小总结','/api/vector/list','trim','\x20列表API时出现问题\x20(状态:\x20','hanlinyuanRagProcessor','charCodeAt','chat_history','420QireQo','116220lTCGxa','superSortEnabled','sort','initialized','[翰林院-核心]\x20processCondensation\x20失败:','hanlinyuan-rag-core','\x20(范围:\x20','volume','original_index','\x20记录凝识范围:\x20','\x20个知识块,准备入库。','content','[翰林院-迁移]\x20旧宝库已清空。','name','string','手动录入:\x20',',将清空集合:\x20','notify','[翰林院]\x20创建常规查询组\x20(','toLowerCase','/api/vector/insert','[翰林院-核心]\x20知识库\x20','task_','\x20条初步结果。','injection_','聊天记录','[翰林院-日志]\x20无法确定要清空的目标集合ID。','[翰林院]\x20常规池处理完毕,产出\x20','[翰林院-日志]\x20没有可供查询的知识库,查询中止。','HANLINYUAN_RAG_LOREBOOK','[翰林院-核心]\x20已锁定忆识宝库ID:\x20','[翰林院-日志]\x20开始获取所有知识库的向量总数...','正在智能分块...','novel','[翰林院-计数]\x20在作用域\x20\x27','warn','[翰林院-日志]\x20清空宝库API调用成功。','[翰林院-日志]\x20获取集合\x20','输入文本为空','核心未初始化','检测到旧版数据。此操作将把旧数据迁移到新格式,过程不可逆,是否继续?','toISOString','findIndex','\x22\x20已从\x20[','\x27\x20的注入设置,跳过处理。','1488306zlGceI','is_user','[翰林院-日志]\x20开始向量查询...\x20(目标:\x20','文本块和向量数量不匹配','filter','\x20个特定知识库。','416eFbGht','\x20不存在,返回空数组。','[翰林院]\x20进入传统处理流程...','entryName','aborted','abs','startsWith','rerank_score','condensation','未知角色','聊天记录\x20#','sources','未能生成查询向量。','[翰林院-配置]\x20为旧版知识库\x20','knowledgeBases','所有启用库','无法确定要清空的目标宝库。','match','values','[翰林院-核心]\x20已创建并锁定知识库:\x20','batchSize','...)','relevance_score','now','忆识存入API错误\x20','[翰林院-V13\x20修复]\x20重建元数据后,知识库\x20','getRequestHeaders','[翰林院]\x20优先组\x20','newId','[翰林院-日志]\x20正在查询知识库:\x20','\x20条消息分解为\x20','mes','split','[翰林院-日志]\x20查询白名单已提供,将查询\x20','327592OotYaO','\x20的知识库。','HANLINYUAN_RAG_MANUAL','[翰林院]\x20已为来源\x20\x27','POST','saveSettingsDebounced','webllm','查询集合\x20','移动失败:未找到源条目。','[翰林院]\x20最终准备注入\x20',',\x20向量化录入时间:\x20','object','info','_global','enabled','start','[翰林院-核心]\x20准备删除知识库\x20','success',')\x20的状态已切换为:\x20','[翰林院-日志]\x20查询知识库\x20','[翰林院-Rerank]\x20元数据加权排序完成。','min','\x20返回\x20','scope','HANLINYUAN_RAG_CHAT','part','外部Rerank完成','user','\x20补充所有者ID:\x20','[翰林院-核心]\x20检测到同名知识库\x20\x22','删除知识库失败,未能清空后端数据。','_history','zh-CN',',\x20第','[翰林院-日志]\x20所有知识库统计完成,总向量数:\x20','source','unknown','[翰林院]\x20已从\x20','聊天记录:\x20','max','[翰林院-日志]\x20统计目标集合ID:\x20','未知条目','then','[翰林院]\x20未能获取SillyTavern上下文,初始化失败。','[翰林院-日志]\x20发送到\x20/api/vector/purge\x20的请求体:','[翰林院-日志]\x20没有启用的新知识库,尝试查询旧版单体宝库...','手动录入','小说:\x20','\x20(集合ID:\x20','reduce','个库)','rearrangeChat','\x27,使用通用分块逻辑。','世界书','flat','legacy','depth','知识库\x20\x22','[翰林院-核心]\x20将来源\x27','100314bOgrGT','2052640bmWCGM',']\x20更正为\x20[','$1','[翰林院]\x20最终无可用结果,注入中止。','[翰林院-迁移]\x20用户取消了迁移操作。','tiaomu','\x22\x20已删除。','[翰林院]\x20创建优先查询组:\x20','[翰林院-核心]\x20聊天记录凝识失败:\x20','\x27\x20中未找到ID为\x20','json','rerank','hasOwnProperty','extensionSettings','top_n','23245iiSaxI','sousuo'];_0x255c=function(){return _0x117b49;};return _0x255c();}import{extension_prompt_roles,setExtensionPrompt}from'/script.js';import*as _0x274781 from'./utils/context-utils.js';import{getCollectionIdInfo,getCharacterId,getCharacterStableId}from'./utils/context-utils.js';import{defaultSettings as _0x1e824f}from'./rag-settings.js';import*as _0x249d4f from'./ingestion-manager.js';import{getEmbeddings,fetchEmbeddingModels as _0xc3e478,fetchRerankModels as _0x303e64,executeRerank,testApiConnection as _0x528b44}from'./rag-api.js';import{superSort}from'./super-sorter.js';const MODULE_NAME=_0x1d2ea6(0x2d5),OFFICIAL_REARRANGE_CHAT_FUNCTION_NAME='vectors_rearrangeChat',GLOBAL_SCOPE_ID=_0x1d2ea6(0x214);let context=null,settings=null,lockedCollectionId=null;function filterWorldbooks(_0x1d1706,_0x42b6b5){const _0x106c03=_0x1d2ea6;if(!_0x1d1706||!_0x1d1706[_0x106c03(0x2ca)]())return _0x42b6b5;const _0x32fea9=_0x1d1706[_0x106c03(0x2e3)]()['trim']();return _0x42b6b5['filter'](_0xf39df2=>{const _0x141186=_0x106c03;return _0xf39df2[_0x141186(0x2e3)]()[_0x141186(0x2a7)](_0x32fea9)||containsPinyinMatch(_0xf39df2,_0x32fea9);});}function filterWorldbookEntries(_0x32de80,_0x1a2817){const _0x46bf0f=_0x1d2ea6;if(!_0x32de80||!_0x32de80[_0x46bf0f(0x2ca)]())return _0x1a2817;const _0x4b8b62=_0x32de80['toLowerCase']()[_0x46bf0f(0x2ca)]();return _0x1a2817[_0x46bf0f(0x1e3)](_0x3e174e=>{const _0x37dbb4=_0x46bf0f,_0x15afad=[_0x3e174e[_0x37dbb4(0x2ad)]||'',_0x3e174e[_0x37dbb4(0x254)]||'',_0x3e174e[_0x37dbb4(0x2db)]||''][_0x37dbb4(0x26c)]('\x20')[_0x37dbb4(0x2e3)]();return _0x15afad[_0x37dbb4(0x2a7)](_0x4b8b62)||containsPinyinMatch(_0x3e174e[_0x37dbb4(0x2ad)]||'',_0x4b8b62);});}function containsPinyinMatch(_0x10600b,_0x137e2b){const _0x3e0b39=_0x1d2ea6,_0x3ade6b={'世界书':'sjshu','条目':_0x3e0b39(0x248),'编纂':'bianzhuan','搜索':_0x3e0b39(0x253)},_0x4dc3bd=_0x3ade6b[_0x10600b];return _0x4dc3bd&&_0x4dc3bd[_0x3e0b39(0x2a7)](_0x137e2b);}function highlightSearchMatch(_0x39e005,_0x14bf3c){const _0x25fafc=_0x1d2ea6;if(!_0x14bf3c||!_0x14bf3c['trim']())return _0x39e005;const _0x53b3c3=new RegExp('('+_0x14bf3c[_0x25fafc(0x28d)](/[.*+?^${}()|[\]\\]/g,'\x5c$&')+')','gi');return _0x39e005[_0x25fafc(0x28d)](_0x53b3c3,_0x25fafc(0x245));}function debounce(_0x464e5f,_0x58ebbf){let _0x54567c;return function _0x1f19dc(..._0x2e13a0){const _0x297501=()=>{clearTimeout(_0x54567c),_0x464e5f(..._0x2e13a0);};clearTimeout(_0x54567c),_0x54567c=setTimeout(_0x297501,_0x58ebbf);};}export{initialize,getSettings,saveSettings,resetSettings,_0x528b44 as testApiConnection,_0xc3e478 as fetchEmbeddingModels,_0x303e64 as fetchRerankModels,getVectorCount,purgeStorage,getMessagesForCondensation,processCondensation,ingestTextToHanlinyuan,getCollectionId,toggleSessionLock,isSessionLocked,getLockedSessionInfo,addKnowledgeBase,removeKnowledgeBase,getLocalKnowledgeBases,getGlobalKnowledgeBases,toggleKnowledgeBase,moveKnowledgeBase,filterWorldbooks,filterWorldbookEntries,highlightSearchMatch,debounce};function initialize(){const _0x594298=_0x1d2ea6;context=SillyTavern['getContext']();if(!context){console['error'](_0x594298(0x232));return;}settings=getSettings(),!window[_0x594298(0x2cc)]&&(window[_0x594298(0x2cc)]={}),window['hanlinyuanRagProcessor'][_0x594298(0x23a)]=rearrangeChat,window['hanlinyuanRagProcessor'][_0x594298(0x2d3)]=!![],console['log'](_0x594298(0x2b9));}async function ingestTextToHanlinyuan(_0x1f502f,_0x399b28='manual',_0x419d32={},_0x888350=()=>{},_0x48057f=null,_0x279698=()=>{},_0xf4d384=()=>{},_0x3ce809=null,_0x3619fc=0x0){const _0x4dace7=_0x1d2ea6;if(!_0x1f502f||!_0x1f502f['trim']())return{'success':![],'error':_0x4dace7(0x1d8)};if(!settings)return{'success':![],'error':_0x4dace7(0x1d9)};try{const _0x5ce1b3=getCollectionIdInfo(),_0x524ab9=await _0x2d61b9();if(_0x5ce1b3['oldId']&&_0x5ce1b3[_0x4dace7(0x2c4)]===_0x524ab9&&_0x5ce1b3['oldId']!==_0x5ce1b3[_0x4dace7(0x201)]){const _0x3302fb=confirm(_0x4dace7(0x1da));if(_0x3302fb)_0x279698(_0x4dace7(0x26a)+_0x5ce1b3[_0x4dace7(0x2c4)],_0x4dace7(0x1d5)),await purgeStorage(_0x5ce1b3['oldId']),_0x279698(_0x4dace7(0x2dc),_0x4dace7(0x218));else return _0x279698(_0x4dace7(0x247),_0x4dace7(0x213)),toastr[_0x4dace7(0x213)](_0x4dace7(0x29f)),{'success':![],'error':_0x4dace7(0x2ba)};}let _0x215b11,_0x3a34df;const _0x14c2cf=new Date()['toLocaleString'](_0x4dace7(0x227),{'hour12':![]}),_0x3a9161=getCharacterName()||_0x4dace7(0x1ee);switch(_0x399b28){case _0x4dace7(0x2ce):const _0x207241=_0x419d32['range']||{},_0x74be40=_0x207241['start']??'?',_0x37b3f4=_0x207241[_0x4dace7(0x267)]===0x0?'末':_0x207241[_0x4dace7(0x267)]??'?';_0x215b11=_0x3a9161+':\x20'+_0x74be40+'楼-'+_0x37b3f4+'楼';break;case _0x4dace7(0x256):const _0x865e9e=_0x419d32[_0x4dace7(0x293)]||_0x4dace7(0x257);if(_0x419d32[_0x4dace7(0x1e8)]&&_0x419d32[_0x4dace7(0x1e8)][_0x4dace7(0x2a7)]('微言录总结'))_0x419d32[_0x4dace7(0x1e8)]=_0x4dace7(0x2c8);else _0x419d32['entryName']&&_0x419d32[_0x4dace7(0x1e8)]['includes'](_0x4dace7(0x2a9))&&(_0x419d32[_0x4dace7(0x1e8)]=_0x4dace7(0x281));const _0x5a1545=_0x419d32[_0x4dace7(0x1e8)]||_0x4dace7(0x230);_0x215b11=_0x865e9e+':\x20'+_0x5a1545;break;case _0x4dace7(0x1d3):_0x215b11=_0x4dace7(0x236)+(_0x419d32[_0x4dace7(0x2c1)]||_0x4dace7(0x2b8));break;case _0x4dace7(0x259):default:_0x215b11=_0x4dace7(0x2df)+_0x14c2cf;break;}const _0x5e6eb6=Object[_0x4dace7(0x1f7)](getKnowledgeBases()),_0xca4c5d=_0x5e6eb6['find'](_0x4d2993=>_0x4d2993[_0x4dace7(0x2dd)]===_0x215b11);if(_0xca4c5d)_0x3a34df=_0xca4c5d['id'],_0x279698(_0x4dace7(0x224)+_0x215b11+'\x22,将数据合并入库。',_0x4dace7(0x213));else{_0x279698('[翰林院-核心]\x20准备为任务\x20\x22'+_0x215b11+_0x4dace7(0x297),_0x4dace7(0x213));const _0x9ffcbd=addKnowledgeBase(_0x215b11,_0x399b28);_0x3a34df=_0x9ffcbd['id'];}const _0xd6a3de=getCharacterStableId(),_0x2d15ee=_0xd6a3de+'_'+_0x3a34df;_0x279698(_0x4dace7(0x1f8)+_0x215b11+'\x20(集合ID:\x20'+_0x2d15ee+')',_0x4dace7(0x218)),_0x279698(_0x4dace7(0x1d0)+_0x2d15ee,_0x4dace7(0x213)),_0x888350({'message':_0x4dace7(0x1d2),'processed':0x0,'total':0x1});const _0x1d1326=splitIntoChunks(_0x1f502f,_0x399b28,_0x419d32),_0x4a03ba=_0x1d1326['length'];if(_0x48057f?.[_0x4dace7(0x1e9)])throw new Error(_0x4dace7(0x273));_0x279698(_0x4dace7(0x241)+_0x215b11+_0x4dace7(0x277)+_0x4a03ba+'\x20个块。','info');if(_0x4a03ba===0x0)return{'success':!![],'count':0x0};const _0x4892e1=settings['retrieval'][_0x4dace7(0x1f9)]||0x5;let _0x572369=_0x3619fc;for(let _0x3a9246=_0x3619fc;_0x3a9246<_0x4a03ba;_0x3a9246+=_0x4892e1){if(_0x48057f?.[_0x4dace7(0x1e9)])throw new Error('AbortError');const _0x28efdf=_0x1d1326[_0x4dace7(0x266)](_0x3a9246,_0x3a9246+_0x4892e1);_0x888350({'message':'正在处理\x20'+(_0x3a9246+0x1)+'-'+(_0x3a9246+_0x28efdf[_0x4dace7(0x272)])+'\x20块','processed':_0x3a9246,'total':_0x4a03ba});const _0x48b59f=_0x28efdf['map'](_0x4eb6db=>_0x4eb6db[_0x4dace7(0x25d)]),_0x48ff1d=await getEmbeddings(_0x48b59f,_0x48057f);if(_0x48057f?.['aborted'])throw new Error(_0x4dace7(0x273));if(_0x28efdf['length']!==_0x48ff1d[_0x4dace7(0x272)])throw new Error(_0x4dace7(0x1e2));const _0x26546f=_0x28efdf[_0x4dace7(0x287)]((_0x5c2fc0,_0x5eff83)=>({..._0x5c2fc0,'vector':_0x48ff1d[_0x5eff83]}));await insertVectors(_0x26546f,_0x48057f,_0x2d15ee),_0x572369+=_0x28efdf[_0x4dace7(0x272)],_0x3ce809&&_0x249d4f[_0x4dace7(0x25a)](_0x3ce809,_0x572369,_0x4a03ba),await _0xf4d384();}return _0x3ce809&&_0x249d4f['clearJob'](_0x3ce809),_0x279698('[翰林院-核心]\x20成功插入\x20'+_0x572369+'\x20个向量条目。',_0x4dace7(0x218)),{'success':!![],'count':_0x572369};}catch(_0x9f6acd){if(_0x9f6acd[_0x4dace7(0x2dd)]===_0x4dace7(0x273)){_0x279698('[翰林院-核心]\x20文本录入任务被用户中止。',_0x4dace7(0x1d5));throw _0x9f6acd;}return console[_0x4dace7(0x28a)]('[翰林院-核心]\x20ingestTextToHanlinyuan\x20失败:',_0x9f6acd),_0x279698(_0x4dace7(0x27e)+_0x9f6acd['message'],_0x4dace7(0x28a)),{'success':![],'error':_0x9f6acd[_0x4dace7(0x268)]};}}function getSettings(){const _0x2c78b0=_0x1d2ea6;if(!context||!context[_0x2c78b0(0x250)])return structuredClone(_0x1e824f);let _0x295228=context[_0x2c78b0(0x250)][MODULE_NAME];!_0x295228&&(_0x295228={},context[_0x2c78b0(0x250)][MODULE_NAME]=_0x295228);_0x295228[_0x2c78b0(0x2a4)]===undefined&&(_0x295228[_0x2c78b0(0x2a4)]={});_0x295228[_0x2c78b0(0x1f3)]===undefined&&(_0x295228[_0x2c78b0(0x1f3)]={});for(const _0x3f3b7b in _0x1e824f){if(_0x295228[_0x3f3b7b]===undefined)_0x295228[_0x3f3b7b]=structuredClone(_0x1e824f[_0x3f3b7b]);else{if(typeof _0x1e824f[_0x3f3b7b]===_0x2c78b0(0x212)&&!Array[_0x2c78b0(0x25c)](_0x1e824f[_0x3f3b7b])&&_0x1e824f[_0x3f3b7b]!==null)for(const _0x15c7b1 in _0x1e824f[_0x3f3b7b]){_0x295228[_0x3f3b7b][_0x15c7b1]===undefined&&(_0x295228[_0x3f3b7b][_0x15c7b1]=_0x1e824f[_0x3f3b7b][_0x15c7b1]);}}}return _0x295228;}function saveSettings(){const _0x22dc18=_0x1d2ea6;if(context)context[_0x22dc18(0x20c)]();}function resetSettings(){const _0x5dca40=_0x1d2ea6;context&&(context[_0x5dca40(0x250)][MODULE_NAME]=structuredClone(_0x1e824f),saveSettings());}function showNotification(_0x15c667,_0x2051d2=_0x1d2ea6(0x213)){toastr[_0x2051d2](_0x15c667);}function getTagForSource(_0x9cda1d){const _0x2ce6aa=_0x1d2ea6;switch(_0x9cda1d){case _0x2ce6aa(0x2ce):return _0x2ce6aa(0x1cb);case _0x2ce6aa(0x256):return'世界书';case _0x2ce6aa(0x259):return _0x2ce6aa(0x235);case _0x2ce6aa(0x1d3):return'小说录入';default:return'资料';}}function _0x292c(_0x4584ba,_0x107353){const _0x255cb2=_0x255c();return _0x292c=function(_0x292cd7,_0x3e519c){_0x292cd7=_0x292cd7-0x1ca;let _0x1c7d4c=_0x255cb2[_0x292cd7];return _0x1c7d4c;},_0x292c(_0x4584ba,_0x107353);}function splitIntoChunks(_0x427b59,_0x45965a,_0x33ef7e={}){const _0x3c4fa6=_0x1d2ea6;switch(_0x45965a){case _0x3c4fa6(0x1d3):return _chunkForNovel(_0x427b59,_0x33ef7e);case _0x3c4fa6(0x2ce):return _chunkForChatHistory(_0x427b59,_0x33ef7e);case _0x3c4fa6(0x256):return _chunkForLorebook(_0x427b59,_0x33ef7e);case'manual':return _chunkForManual(_0x427b59,_0x33ef7e);default:console[_0x3c4fa6(0x1d5)]('[翰林院-分块]\x20未知的来源类型\x20\x27'+_0x45965a+_0x3c4fa6(0x23b));return _chunkForManual(_0x427b59,{..._0x33ef7e,'sourceName':_0x33ef7e['sourceName']||_0x3c4fa6(0x2a3)});}}function _chunkForNovel(_0x336b46,_0x44efd3){const _0x56b8ba=_0x1d2ea6,{chunkSize:_0xa7e873,overlap:_0x21de6d}=settings['advanced'],{sourceName:sourceName='小说'}=_0x44efd3,_0x37e116=[];if(!_0x336b46||_0xa7e873<=0x0)return _0x37e116;const _0x1504ce=/(第\s*[一二三四五六七八九十百千万零\d]+\s*卷)/gim,_0x4e7897=/(第\s*[一二三四五六七八九十百千万零\d]+\s*[章回节部])|^(Chapter\s+\d+)/gim;let _0x30bbb5=0x0;const _0x2cc32e=_0x336b46[_0x56b8ba(0x205)]('\x0a');let _0x1fb716=_0x56b8ba(0x2b7),_0x4d71aa='第1章',_0x5bc12f=[];function _0x5421e7(){const _0x52dd14=_0x56b8ba;if(_0x5bc12f[_0x52dd14(0x272)]===0x0)return;const _0x449103=_0x5bc12f[_0x52dd14(0x26c)]('\x0a');let _0x360ca8=0x0,_0x281736=0x1;while(_0x360ca8<_0x449103[_0x52dd14(0x272)]){const _0x44f186=Math[_0x52dd14(0x21c)](_0x360ca8+_0xa7e873,_0x449103['length']),_0x2348a9=_0x449103[_0x52dd14(0x288)](_0x360ca8,_0x44f186);if(_0x2348a9[_0x52dd14(0x2ca)]()[_0x52dd14(0x272)]>0x0){const _0x4c702d={'source':_0x52dd14(0x1d3),'sourceName':sourceName,'timestamp':new Date()['toISOString'](),'globalIndex':_0x30bbb5++,'volume':_0x1fb716,'chapter':_0x4d71aa,'section':_0x281736},_0x3cdcab=getTagForSource('novel'),_0x4ab5e6=_0x52dd14(0x278)+sourceName+',\x20'+_0x1fb716+',\x20'+_0x4d71aa+',\x20第'+_0x281736+'节]',_0x916ffa='<'+_0x3cdcab+'>\x0a'+_0x4ab5e6+'\x0a'+_0x2348a9+_0x52dd14(0x294)+_0x3cdcab+'>';_0x37e116['push']({'text':_0x916ffa,'metadata':_0x4c702d}),_0x281736++;}_0x360ca8+=_0xa7e873-_0x21de6d;if(_0x360ca8>=_0x449103[_0x52dd14(0x272)])break;}_0x5bc12f=[];}for(const _0x10bead of _0x2cc32e){const _0x83b522=_0x10bead['trim']();if(_0x1504ce[_0x56b8ba(0x2bb)](_0x83b522))_0x5421e7(),_0x1fb716=_0x83b522,_0x4d71aa='第1章';else _0x4e7897[_0x56b8ba(0x2bb)](_0x83b522)?(_0x5421e7(),_0x4d71aa=_0x83b522):_0x5bc12f[_0x56b8ba(0x2a0)](_0x10bead);}_0x5421e7();if(_0x37e116[_0x56b8ba(0x272)]===0x0&&_0x336b46[_0x56b8ba(0x272)]>0x0){let _0x6b6989=0x0,_0x2be45c=0x1;while(_0x6b6989<_0x336b46['length']){const _0x4cc944=Math[_0x56b8ba(0x21c)](_0x6b6989+_0xa7e873,_0x336b46[_0x56b8ba(0x272)]),_0x5a84=_0x336b46[_0x56b8ba(0x288)](_0x6b6989,_0x4cc944),_0x18e123={'source':_0x56b8ba(0x1d3),'sourceName':sourceName,'timestamp':new Date()['toISOString'](),'globalIndex':_0x37e116['length'],'volume':_0x56b8ba(0x2b7),'chapter':_0x56b8ba(0x280),'section':_0x2be45c},_0x5a8662=getTagForSource(_0x56b8ba(0x1d3)),_0x59f77c='[来源:\x20'+sourceName+',\x20第1卷,\x20第1章,\x20第'+_0x2be45c+'节]',_0x255917='<'+_0x5a8662+'>\x0a'+_0x59f77c+'\x0a'+_0x5a84+_0x56b8ba(0x294)+_0x5a8662+'>';_0x37e116[_0x56b8ba(0x2a0)]({'text':_0x255917,'metadata':_0x18e123}),_0x2be45c++,_0x6b6989+=_0xa7e873-_0x21de6d;}}return _0x37e116;}function _chunkForChatHistory(_0x47f013,_0x478bb5){const _0x388564=_0x1d2ea6,{chunkSize:_0xfd2ee1,overlap:_0x1c5321}=settings['advanced'],{floor:_0x4af717,is_user:_0x2863c2,timestamp:_0x14ee10}=_0x478bb5,_0x4b21b0=[];if(!_0x47f013||_0xfd2ee1<=0x0)return _0x4b21b0;let _0x5d66d4=0x1,_0x2c7b2a=0x0;while(_0x2c7b2a<_0x47f013[_0x388564(0x272)]){const _0x4f3682=Math[_0x388564(0x21c)](_0x2c7b2a+_0xfd2ee1,_0x47f013[_0x388564(0x272)]),_0x5b98a0=_0x47f013[_0x388564(0x288)](_0x2c7b2a,_0x4f3682),_0x47ca9e='[来源:\x20聊天记录,\x20楼层:\x20#'+_0x4af717+_0x388564(0x228)+_0x5d66d4+_0x388564(0x296),_0x4de1f9=getTagForSource(_0x388564(0x2ce)),_0x3c3b4e='<'+_0x4de1f9+'>\x0a'+_0x47ca9e+'\x0a'+_0x5b98a0+'\x0a'+_0x4de1f9+'>';_0x4b21b0[_0x388564(0x2a0)]({'text':_0x3c3b4e,'metadata':{'source':_0x388564(0x2ce),'sourceName':'聊天记录\x20#'+_0x4af717,'floor':_0x4af717,'part':_0x5d66d4,'is_user':_0x2863c2,'timestamp':_0x14ee10}}),_0x5d66d4++,_0x2c7b2a+=_0xfd2ee1-_0x1c5321;if(_0x2c7b2a>=_0x47f013[_0x388564(0x272)])break;}return _0x4b21b0;}function _chunkForLorebook(_0x2dc47e,_0x3c4926){const _0x4903e0=_0x1d2ea6,{chunkSize:_0x10e0bc,overlap:_0x3ba63c}=settings['advanced'],{bookName:bookName=_0x4903e0(0x23c),entryName:entryName='世界书条目'}=_0x3c4926,_0x3519fc=[];if(!_0x2dc47e||_0x10e0bc<=0x0)return _0x3519fc;let _0x2aac49=0x1,_0x15b95d=0x0;while(_0x15b95d<_0x2dc47e['length']){const _0x2435dc=Math[_0x4903e0(0x21c)](_0x15b95d+_0x10e0bc,_0x2dc47e[_0x4903e0(0x272)]),_0x381cdc=_0x2dc47e['substring'](_0x15b95d,_0x2435dc),_0x491afe=_0x4903e0(0x278)+bookName+_0x4903e0(0x2c3)+entryName+_0x4903e0(0x228)+_0x2aac49+_0x4903e0(0x296),_0x740191=getTagForSource(_0x4903e0(0x256)),_0x479623='<'+_0x740191+'>\x0a'+_0x491afe+'\x0a'+_0x381cdc+_0x4903e0(0x294)+_0x740191+'>';_0x3519fc['push']({'text':_0x479623,'metadata':{'source':'lorebook','sourceName':bookName+':\x20'+entryName,'bookName':bookName,'entryName':entryName,'part':_0x2aac49,'timestamp':new Date()[_0x4903e0(0x1db)]()}}),_0x2aac49++,_0x15b95d+=_0x10e0bc-_0x3ba63c;if(_0x15b95d>=_0x2dc47e[_0x4903e0(0x272)])break;}return _0x3519fc;}function _chunkForManual(_0x4e85b9,_0x4ccd32){const _0x47a778=_0x1d2ea6,{chunkSize:_0x4bbbd7,overlap:_0x6a4fa1}=settings[_0x47a778(0x285)],{sourceName:sourceName=_0x47a778(0x235)}=_0x4ccd32,_0x5a42ba=[];if(!_0x4e85b9||_0x4bbbd7<=0x0)return _0x5a42ba;const _0x4bb6fe=new Date(),_0x5ade21=_0x4bb6fe[_0x47a778(0x2a1)](_0x47a778(0x227));let _0x25b539=0x1,_0x1fd54d=0x0;while(_0x1fd54d<_0x4e85b9['length']){const _0x4a8786=Math['min'](_0x1fd54d+_0x4bbbd7,_0x4e85b9[_0x47a778(0x272)]),_0x4a596b=_0x4e85b9[_0x47a778(0x288)](_0x1fd54d,_0x4a8786),_0x247112=_0x47a778(0x278)+sourceName+_0x47a778(0x211)+_0x5ade21+_0x47a778(0x228)+_0x25b539+_0x47a778(0x296),_0x4f27a5=getTagForSource(_0x47a778(0x259)),_0x2012d3='<'+_0x4f27a5+'>\x0a'+_0x247112+'\x0a'+_0x4a596b+_0x47a778(0x294)+_0x4f27a5+'>';_0x5a42ba[_0x47a778(0x2a0)]({'text':_0x2012d3,'metadata':{'source':_0x47a778(0x259),'sourceName':sourceName,'part':_0x25b539,'timestamp':_0x4bb6fe['toISOString']()}}),_0x25b539++,_0x1fd54d+=_0x4bbbd7-_0x6a4fa1;if(_0x1fd54d>=_0x4e85b9[_0x47a778(0x272)])break;}return _0x5a42ba;}import{getCollectionId as _0x2d61b9,getCharacterName}from'./utils/context-utils.js';async function getCollectionId(){return lockedCollectionId||await _0x2d61b9();}async function toggleSessionLock(){return lockedCollectionId?(lockedCollectionId=null,![]):(lockedCollectionId=await _0x2d61b9(),!![]);}function isSessionLocked(){return lockedCollectionId!==null;}function getLockedSessionInfo(){const _0x32d6bd=_0x1d2ea6;if(!lockedCollectionId)return null;return{'id':lockedCollectionId,'name':_0x32d6bd(0x27d)+lockedCollectionId[_0x32d6bd(0x288)](0x0,0x8)+_0x32d6bd(0x1fa)};}function getLocalKnowledgeBases(){const _0x63eb6c=_0x1d2ea6,_0x202a99=getCharacterStableId();return!settings[_0x63eb6c(0x1f3)][_0x202a99]&&(settings[_0x63eb6c(0x1f3)][_0x202a99]={}),settings['knowledgeBases'][_0x202a99];}function getGlobalKnowledgeBases(){const _0x1ec62b=_0x1d2ea6;return!settings[_0x1ec62b(0x1f3)][GLOBAL_SCOPE_ID]&&(settings[_0x1ec62b(0x1f3)][GLOBAL_SCOPE_ID]={}),settings['knowledgeBases'][GLOBAL_SCOPE_ID];}function getKnowledgeBases(){const _0x1687e3=getLocalKnowledgeBases(),_0x1f6184=getGlobalKnowledgeBases();return{..._0x1f6184,..._0x1687e3};}function addKnowledgeBase(_0x2956dd,_0x125333='manual'){const _0x460b44=_0x1d2ea6;if(!_0x2956dd||!_0x2956dd[_0x460b44(0x2ca)]())throw new Error('知识库名称不能为空');const _0x2509dd=getCharacterStableId(),_0x29233d=getLocalKnowledgeBases(),_0x272144=_0x460b44(0x2e6)+Date[_0x460b44(0x1fc)]()+'_'+Math[_0x460b44(0x2ab)]()[_0x460b44(0x290)](0x24)['substring'](0x2,0x9),_0x19b731={'id':_0x272144,'name':_0x2956dd[_0x460b44(0x2ca)](),'enabled':!![],'createdAt':new Date()['toISOString'](),'owner':_0x2509dd,'source':_0x125333};return _0x29233d[_0x272144]=_0x19b731,saveSettings(),console[_0x460b44(0x26d)](_0x460b44(0x2b6)+_0x2509dd+_0x460b44(0x2c2)+_0x2956dd+'\x20(ID:\x20'+_0x272144+')'),_0x19b731;}async function removeKnowledgeBase(_0x11b78e,_0x2a77cb){const _0x564298=_0x1d2ea6,_0x523a79=getCharacterStableId(),_0x34de17=_0x2a77cb==='global'?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x4a192f=_0x34de17[_0x11b78e],_0x39d93b=_0x4a192f?.[_0x564298(0x2dd)]||_0x11b78e;if(!_0x4a192f){console[_0x564298(0x1d5)](_0x564298(0x28e)+_0x11b78e+_0x564298(0x2d6)+_0x2a77cb+')');return;}const _0x2dc988=_0x2a77cb===_0x564298(0x279)?_0x4a192f[_0x564298(0x2b4)]||GLOBAL_SCOPE_ID:_0x523a79,_0x4d2e36=_0x2dc988+'_'+_0x11b78e;console[_0x564298(0x26d)](_0x564298(0x217)+_0x11b78e+_0x564298(0x2e0)+_0x4d2e36);const _0xbf11f=await purgeStorage(_0x4d2e36);_0xbf11f?(delete _0x34de17[_0x11b78e],saveSettings(),console[_0x564298(0x26d)]('[翰林院-核心]\x20成功删除知识库\x20'+_0x11b78e+_0x564298(0x25f)),toastr[_0x564298(0x218)](_0x564298(0x240)+_0x39d93b+_0x564298(0x249))):(console[_0x564298(0x28a)]('[翰林院-核心]\x20清空向量集合\x20'+_0x4d2e36+'\x20失败,删除操作中止。'),toastr[_0x564298(0x28a)](_0x564298(0x225)));}function toggleKnowledgeBase(_0x5f5d12,_0x4d6734){const _0x25ec83=_0x1d2ea6,_0x48e158=_0x4d6734===_0x25ec83(0x279)?getGlobalKnowledgeBases():getLocalKnowledgeBases();_0x48e158[_0x5f5d12]&&(_0x48e158[_0x5f5d12]['enabled']=!_0x48e158[_0x5f5d12]['enabled'],saveSettings(),console[_0x25ec83(0x26d)](_0x25ec83(0x2e5)+_0x5f5d12+_0x25ec83(0x2d6)+_0x4d6734+_0x25ec83(0x219)+(_0x48e158[_0x5f5d12]['enabled']?'启用':'禁用')));}function generateHash(_0x20dcc3){const _0x13112a=_0x1d2ea6;let _0x242d78=0x0;for(let _0x5b3318=0x0;_0x5b3318<_0x20dcc3[_0x13112a(0x272)];_0x5b3318++){const _0x2ee60e=_0x20dcc3[_0x13112a(0x2cd)](_0x5b3318);_0x242d78=(_0x242d78<<0x5)-_0x242d78+_0x2ee60e,_0x242d78=_0x242d78&_0x242d78;}return Math[_0x13112a(0x1ea)](_0x242d78)[_0x13112a(0x290)](0x24);}async function queryVectors(_0x1a8c54,_0x396b03={}){const _0x3777ba=_0x1d2ea6,{includeBases:includeBases=null}=_0x396b03;console['log'](_0x3777ba(0x1e1)+(includeBases?'指定知识库':_0x3777ba(0x1f4))+')');const _0x523527=getCharacterStableId();let _0x1778bf;if(includeBases)_0x1778bf=includeBases,console[_0x3777ba(0x26d)](_0x3777ba(0x206)+_0x1778bf[_0x3777ba(0x272)]+_0x3777ba(0x1e4));else{const _0x2a9fbb=getLocalKnowledgeBases(),_0x16a505=getGlobalKnowledgeBases(),_0x52202a=Object['values'](_0x2a9fbb)[_0x3777ba(0x1e3)](_0x957a69=>_0x957a69['enabled']),_0x266d07=Object[_0x3777ba(0x1f7)](_0x16a505)[_0x3777ba(0x1e3)](_0xaa1caa=>_0xaa1caa[_0x3777ba(0x215)]);_0x1778bf=[..._0x52202a[_0x3777ba(0x287)](_0x2efa24=>({..._0x2efa24,'scope':'local'})),..._0x266d07[_0x3777ba(0x287)](_0x575a4d=>({..._0x575a4d,'scope':_0x3777ba(0x279)}))];}if(_0x1778bf[_0x3777ba(0x272)]===0x0&&!includeBases){console['log'](_0x3777ba(0x234));const _0x5385c2=await _0x2d61b9();if(!_0x5385c2)return[];_0x1778bf[_0x3777ba(0x2a0)]({'id':null,'name':'旧版宝库\x20(Legacy)','scope':_0x3777ba(0x23e)});}if(_0x1778bf[_0x3777ba(0x272)]===0x0)return console[_0x3777ba(0x26d)](_0x3777ba(0x1ce)),[];const _0x3d9ce9=(await getEmbeddings([_0x1a8c54]))[0x0];if(!_0x3d9ce9)throw new Error(_0x3777ba(0x1f1));let _0x42775f=[];const _0x41598e=_0x1778bf[_0x3777ba(0x287)](_0x5f315c=>{const _0x2d08e5=_0x3777ba;let _0x110adb;if(_0x5f315c[_0x2d08e5(0x21e)]===_0x2d08e5(0x23e))_0x110adb=_0x2d61b9();else{const _0x39e64f=_0x5f315c[_0x2d08e5(0x21e)]===_0x2d08e5(0x279)?_0x5f315c['owner']||GLOBAL_SCOPE_ID:_0x523527;_0x110adb=Promise['resolve'](_0x39e64f+'_'+_0x5f315c['id']);}return _0x110adb[_0x2d08e5(0x231)](_0x34a6fa=>{const _0x18dbed=_0x2d08e5;if(!_0x34a6fa)return[];console['log'](_0x18dbed(0x202)+_0x5f315c[_0x18dbed(0x2dd)]+_0x18dbed(0x2b0)+_0x34a6fa+')');const _0x143836={'collectionId':_0x34a6fa,'searchText':_0x1a8c54,'topK':settings['advanced']['maxResults'],'threshold':settings[_0x18dbed(0x285)]['matchThreshold'],'source':_0x18dbed(0x20d),'embeddings':{[_0x1a8c54]:_0x3d9ce9}};return fetch(_0x18dbed(0x264),{'method':'POST','headers':context['getRequestHeaders'](),'body':JSON[_0x18dbed(0x27b)](_0x143836)})[_0x18dbed(0x231)](async _0x52bb78=>{const _0x579880=_0x18dbed;if(!_0x52bb78['ok']){const _0xecc60=await _0x52bb78[_0x579880(0x25d)]();return console[_0x579880(0x28a)]('[翰林院-日志]\x20查询知识库\x20'+_0x34a6fa+'\x20失败:',_0xecc60),[];}const _0x4b2039=await _0x52bb78[_0x579880(0x24d)]();let _0x293383=[];if(Array[_0x579880(0x25c)](_0x4b2039))_0x293383=_0x4b2039;else{if(_0x4b2039&&_0x4b2039['metadata']&&Array[_0x579880(0x25c)](_0x4b2039[_0x579880(0x282)]))_0x293383=_0x4b2039[_0x579880(0x282)];else{if(_0x4b2039&&_0x4b2039[_0x579880(0x269)]&&Array[_0x579880(0x25c)](_0x4b2039['results']))_0x293383=_0x4b2039[_0x579880(0x269)];else _0x4b2039&&_0x4b2039['data']&&Array['isArray'](_0x4b2039[_0x579880(0x275)])&&(_0x293383=_0x4b2039['data']);}}const _0x10e337=_0x293383[_0x579880(0x287)](_0x1de2ba=>{const _0x228993=_0x579880;if(!_0x1de2ba||typeof _0x1de2ba['text']!==_0x228993(0x2de))return null;const _0x5ef717={'source':_0x228993(0x22b),'sourceName':'未知'},_0x2bb6ce=_0x1de2ba['text']['match'](/^<([^>]+)>/),_0x4a7c62=_0x2bb6ce?_0x2bb6ce[0x1]:'';switch(_0x4a7c62){case _0x228993(0x1cb):_0x5ef717[_0x228993(0x22a)]='chat_history';const _0xb1e583=_0x1de2ba[_0x228993(0x25d)][_0x228993(0x1f6)](/楼层:\s*#(\d+),\s*第(\d+)部分/);_0xb1e583&&_0xb1e583[0x1]&&_0xb1e583[0x2]&&(_0x5ef717[_0x228993(0x2b2)]=parseInt(_0xb1e583[0x1],0xa),_0x5ef717[_0x228993(0x220)]=parseInt(_0xb1e583[0x2],0xa),_0x5ef717[_0x228993(0x2c1)]=_0x228993(0x1ef)+_0x5ef717['floor']);break;case _0x228993(0x23c):_0x5ef717['source']=_0x228993(0x256);const _0x44c9f9=_0x1de2ba[_0x228993(0x25d)][_0x228993(0x1f6)](/\[来源:\s*([^,]+),\s*条目:\s*([^,]+),\s*第(\d+)部分\]/);_0x44c9f9&&_0x44c9f9[0x1]&&_0x44c9f9[0x2]&&_0x44c9f9[0x3]&&(_0x5ef717[_0x228993(0x293)]=_0x44c9f9[0x1][_0x228993(0x2ca)](),_0x5ef717['entryName']=_0x44c9f9[0x2][_0x228993(0x2ca)](),_0x5ef717[_0x228993(0x220)]=parseInt(_0x44c9f9[0x3],0xa),_0x5ef717['sourceName']=_0x5ef717[_0x228993(0x293)]+':\x20'+_0x5ef717[_0x228993(0x1e8)]);break;case _0x228993(0x235):_0x5ef717[_0x228993(0x22a)]=_0x228993(0x259);const _0x5a3b05=_0x1de2ba[_0x228993(0x25d)]['match'](/\[来源:\s*([^,]+),.*第(\d+)部分\]/);_0x5a3b05&&_0x5a3b05[0x1]&&_0x5a3b05[0x2]&&(_0x5ef717[_0x228993(0x2c1)]=_0x5a3b05[0x1][_0x228993(0x2ca)](),_0x5ef717['part']=parseInt(_0x5a3b05[0x2],0xa));break;case _0x228993(0x28c):_0x5ef717[_0x228993(0x22a)]='novel';const _0x397f91=_0x1de2ba[_0x228993(0x25d)]['match'](/\[来源:\s*([^,]+),\s*([^,]+),\s*([^,]+),\s*([^\]]+)\]/);_0x397f91&&(_0x5ef717['sourceName']=_0x397f91[0x1][_0x228993(0x2ca)](),_0x5ef717[_0x228993(0x2d7)]=_0x397f91[0x2][_0x228993(0x2ca)](),_0x5ef717[_0x228993(0x27c)]=_0x397f91[0x3]['trim'](),_0x5ef717['section']=_0x397f91[0x4][_0x228993(0x2ca)]());break;}return{..._0x1de2ba,'score':_0x1de2ba['score']||0x1,'metadata':_0x5ef717};})[_0x579880(0x1e3)](Boolean);return console[_0x579880(0x26d)](_0x579880(0x1fe)+_0x5f315c[_0x579880(0x2dd)]+_0x579880(0x21d)+_0x10e337[_0x579880(0x272)]+_0x579880(0x2b5)),_0x10e337;})['catch'](_0x525b72=>{const _0x29f9c9=_0x18dbed;return console[_0x29f9c9(0x28a)](_0x29f9c9(0x21a)+_0x34a6fa+_0x29f9c9(0x29d),_0x525b72),[];});});}),_0x202a94=await Promise[_0x3777ba(0x2c0)](_0x41598e);_0x42775f=_0x202a94[_0x3777ba(0x23d)](),console[_0x3777ba(0x26d)](_0x3777ba(0x2b1)+_0x42775f['length']+_0x3777ba(0x2e7));const _0x284c42=[],_0xb11fa3=new Set();for(const _0x5d6b5d of _0x42775f){if(_0x5d6b5d&&typeof _0x5d6b5d==='object'&&_0x5d6b5d[_0x3777ba(0x25d)]&&typeof _0x5d6b5d[_0x3777ba(0x25d)]==='string'){const _0x21b048=_0x5d6b5d[_0x3777ba(0x25d)]['trim']();_0x21b048[_0x3777ba(0x272)]>0x0&&!_0xb11fa3[_0x3777ba(0x28f)](_0x21b048)&&(_0xb11fa3[_0x3777ba(0x29b)](_0x21b048),_0x284c42[_0x3777ba(0x2a0)](_0x5d6b5d));}}console[_0x3777ba(0x26d)]('[翰林院-日志]\x20去重后剩余\x20'+_0x284c42['length']+_0x3777ba(0x2b5)),_0x284c42[_0x3777ba(0x2d2)]((_0x2281ea,_0x13b49c)=>(_0x13b49c[_0x3777ba(0x2a5)]||0x0)-(_0x2281ea[_0x3777ba(0x2a5)]||0x0));const _0x42148e=[..._0x284c42];return console[_0x3777ba(0x26d)]('[翰林院-修复]\x20最终返回数组长度:\x20'+_0x42148e[_0x3777ba(0x272)]),console[_0x3777ba(0x26d)]('[翰林院-修复]\x20最终返回数组样本:',JSON[_0x3777ba(0x27b)](_0x42148e[_0x3777ba(0x266)](0x0,0x1),null,0x2)),_0x42148e;}async function insertVectors(_0x1b4fb7,_0x18ee5c=null,_0x5c5170){const _0x24d3b0=_0x1d2ea6;if(!_0x5c5170)throw new Error(_0x24d3b0(0x27a));if(_0x1b4fb7[_0x24d3b0(0x272)]===0x0)return{'success':!![],'count':0x0};const _0x560a9a=_0x1b4fb7['map']((_0x1dfb73,_0x250312)=>({'hash':generateHash(_0x1dfb73[_0x24d3b0(0x25d)]+Date[_0x24d3b0(0x1fc)]()+_0x250312),'text':_0x1dfb73[_0x24d3b0(0x25d)],'metadata':_0x1dfb73['metadata']||{'source':'unknown','timestamp':new Date()[_0x24d3b0(0x1db)]()}})),_0x4e378f=_0x560a9a[_0x24d3b0(0x238)]((_0x1cc9b2,_0x8f6b3a,_0x57a11a)=>{const _0x5190d8=_0x24d3b0;return _0x1cc9b2[_0x8f6b3a[_0x5190d8(0x25d)]]=_0x1b4fb7[_0x57a11a][_0x5190d8(0x270)],_0x1cc9b2;},{}),_0x14c277={'collectionId':_0x5c5170,'items':_0x560a9a,'source':_0x24d3b0(0x20d),'embeddings':_0x4e378f},_0xebab35=await fetch(_0x24d3b0(0x2e4),{'method':_0x24d3b0(0x20b),'headers':context[_0x24d3b0(0x1ff)](),'body':JSON['stringify'](_0x14c277),'signal':_0x18ee5c});if(!_0xebab35['ok']){const _0x849de5=await _0xebab35['text']();console['error'](_0x24d3b0(0x26b),_0x849de5);throw new Error(_0x24d3b0(0x1fd)+_0xebab35['status']+':\x20'+_0x849de5);}return{'success':!![],'count':_0x560a9a[_0x24d3b0(0x272)]};}async function getVectorCount(_0x3caec2=null,_0x4e78f0=_0x1d2ea6(0x28b)){const _0xe56a29=_0x1d2ea6,_0x3f1f35=getCharacterStableId();if(_0x3caec2){const _0x5c8a17=_0x4e78f0===_0xe56a29(0x279)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x5446e8=_0x5c8a17[_0x3caec2];if(!_0x5446e8)return console[_0xe56a29(0x1d5)](_0xe56a29(0x1d4)+_0x4e78f0+'\x27\x20中未找到ID为\x20'+_0x3caec2+_0xe56a29(0x208)),0x0;const _0x384cfe=_0x4e78f0==='global'?_0x5446e8[_0xe56a29(0x2b4)]||GLOBAL_SCOPE_ID:_0x3f1f35,_0x57828f=_0x384cfe+'_'+_0x3caec2;return await countVectorsInCollection(_0x57828f);}else{console['log'](_0xe56a29(0x1d1));const _0x1f902d=Object[_0xe56a29(0x1f7)](getLocalKnowledgeBases()),_0x8b2306=Object['values'](getGlobalKnowledgeBases()),_0x3cf4ea=[];_0x1f902d[_0xe56a29(0x2aa)](_0x112299=>{const _0x267ff8=_0xe56a29,_0x244d10=_0x3f1f35+'_'+_0x112299['id'];_0x3cf4ea[_0x267ff8(0x2a0)](countVectorsInCollection(_0x244d10));}),_0x8b2306[_0xe56a29(0x2aa)](_0x541048=>{const _0x2a27af=_0xe56a29,_0x456389=_0x541048[_0x2a27af(0x2b4)]||GLOBAL_SCOPE_ID,_0x495c06=_0x456389+'_'+_0x541048['id'];_0x3cf4ea[_0x2a27af(0x2a0)](countVectorsInCollection(_0x495c06));});const _0x3b7d1b=await _0x2d61b9();_0x3cf4ea[_0xe56a29(0x2a0)](countVectorsInCollection(_0x3b7d1b));const _0x49d003=await Promise[_0xe56a29(0x2c0)](_0x3cf4ea),_0x1ac37e=_0x49d003[_0xe56a29(0x238)]((_0x2dbca5,_0x7b1228)=>_0x2dbca5+_0x7b1228,0x0);return console[_0xe56a29(0x26d)](_0xe56a29(0x229)+_0x1ac37e),_0x1ac37e;}}async function countVectorsInCollection(_0x3ed987){const _0x54bd94=_0x1d2ea6;if(!_0x3ed987)return 0x0;console[_0x54bd94(0x26d)](_0x54bd94(0x22f)+_0x3ed987);const _0x50e689={'collectionId':_0x3ed987,'source':'webllm','embeddings':{}};try{const _0x2b3bf1=await fetch(_0x54bd94(0x2c9),{'method':'POST','headers':context[_0x54bd94(0x1ff)](),'body':JSON['stringify'](_0x50e689)});if(!_0x2b3bf1['ok']){if(_0x2b3bf1['status']===0x194)console['log']('[翰林院-日志]\x20集合\x20'+_0x3ed987+_0x54bd94(0x2bd));else{const _0x5a9c48=await _0x2b3bf1['text']();console[_0x54bd94(0x1d5)](_0x54bd94(0x1d7)+_0x3ed987+_0x54bd94(0x2cb)+_0x2b3bf1[_0x54bd94(0x27f)]+'):',_0x5a9c48);}return 0x0;}const _0x5af5af=await _0x2b3bf1[_0x54bd94(0x24d)]();let _0x47354a=0x0;if(Array[_0x54bd94(0x25c)](_0x5af5af))_0x47354a=_0x5af5af[_0x54bd94(0x272)];else _0x5af5af&&_0x5af5af[_0x54bd94(0x2a2)]&&(_0x47354a=_0x5af5af[_0x54bd94(0x2a2)][_0x54bd94(0x272)]);return _0x47354a;}catch(_0x3efe8b){return console[_0x54bd94(0x28a)](_0x54bd94(0x2af)+_0x3ed987+_0x54bd94(0x29d),_0x3efe8b),0x0;}}async function purgeStorage(_0x3cbc6a=null){const _0x47ff85=_0x1d2ea6;console[_0x47ff85(0x26d)](_0x47ff85(0x2c6));const _0x56db91=_0x3cbc6a||await getCollectionId();if(!_0x56db91)return console['error'](_0x47ff85(0x1cc)),toastr[_0x47ff85(0x28a)](_0x47ff85(0x1f5)),![];console[_0x47ff85(0x26d)](_0x47ff85(0x260)+_0x56db91);const _0x278444={'collectionId':_0x56db91};console[_0x47ff85(0x26d)](_0x47ff85(0x233),JSON[_0x47ff85(0x27b)](_0x278444,null,0x2));const _0x17e953=await fetch('/api/vector/purge',{'method':_0x47ff85(0x20b),'headers':context[_0x47ff85(0x1ff)](),'body':JSON[_0x47ff85(0x27b)](_0x278444)});console['log'](_0x47ff85(0x255)+_0x17e953[_0x47ff85(0x27f)]);if(!_0x17e953['ok']){const _0x491f72=await _0x17e953[_0x47ff85(0x25d)]();console[_0x47ff85(0x28a)](_0x47ff85(0x2a8),_0x491f72);}else console[_0x47ff85(0x26d)](_0x47ff85(0x1d6));return _0x17e953['ok'];}function getMessagesForCondensation(_0xd332cd=null){const _0x21ef87=_0x1d2ea6;if(!settings[_0x21ef87(0x1ed)]['enabled'])return showNotification('凝识之权未开启','warning'),[];const {layerStart:_0x2680fd,layerEnd:_0x5b01ab}=settings[_0x21ef87(0x1ed)],_0x2fb15a=_0xd332cd||settings[_0x21ef87(0x1ed)]['messageTypes'],_0x4f0d1d=context[_0x21ef87(0x299)][_0x21ef87(0x272)],_0x403c7d=Math[_0x21ef87(0x22e)](0x0,_0x2680fd-0x1),_0x18f480=_0x5b01ab===0x0||_0x5b01ab>_0x4f0d1d?_0x4f0d1d:Math[_0x21ef87(0x21c)](_0x4f0d1d,_0x5b01ab),_0x9cab7b=context[_0x21ef87(0x299)]['slice'](_0x403c7d,_0x18f480);return _0x9cab7b[_0x21ef87(0x1e3)](_0x3a0988=>{const _0x2cddda=_0x21ef87,_0x1b7b51=_0x3a0988[_0x2cddda(0x1e0)]===!![],_0x4e1c53=_0x3a0988[_0x2cddda(0x1e0)]===![];if(!_0x3a0988[_0x2cddda(0x204)]||!_0x3a0988[_0x2cddda(0x204)][_0x2cddda(0x2ca)]())return![];return _0x2fb15a[_0x2cddda(0x222)]&&_0x1b7b51||_0x2fb15a['ai']&&_0x4e1c53;});}async function processCondensation(_0x582019,_0x1be7bd=()=>{},_0x5a6f6f=null){const _0x1a4d5a=_0x1d2ea6;if(!_0x582019||_0x582019[_0x1a4d5a(0x272)]===0x0)return{'success':![],'error':'No\x20messages\x20to\x20process.'};try{let _0x507caf,_0x4c65df;const _0x174a4c=getCharacterName()||_0x1a4d5a(0x1ee);if(_0x5a6f6f){const _0x1d5824=_0x5a6f6f[_0x1a4d5a(0x216)]??'?',_0x830c09=_0x5a6f6f[_0x1a4d5a(0x267)]===0x0?'末':_0x5a6f6f['end']??'?';_0x507caf=_0x174a4c+':\x20'+_0x1d5824+'楼-'+_0x830c09+'楼';}else{const _0x314bf6=new Date()['toLocaleString'](_0x1a4d5a(0x227),{'hour12':![]});_0x507caf=_0x1a4d5a(0x22d)+_0x314bf6;}const _0x28a1e0=Object[_0x1a4d5a(0x1f7)](getLocalKnowledgeBases()),_0x1a17d6=_0x28a1e0['find'](_0x19fc81=>_0x19fc81['name']===_0x507caf);if(_0x1a17d6)_0x4c65df=_0x1a17d6['id'],_0x1be7bd(_0x1a4d5a(0x224)+_0x507caf+_0x1a4d5a(0x2c7),_0x1a4d5a(0x213));else{_0x1be7bd('[翰林院-核心]\x20准备为任务\x20\x22'+_0x507caf+_0x1a4d5a(0x297),_0x1a4d5a(0x213));const _0x215a13=addKnowledgeBase(_0x507caf,_0x1a4d5a(0x2ce));_0x4c65df=_0x215a13['id'];}const _0x5137c6=getCharacterStableId(),_0xcad96b=_0x5137c6+'_'+_0x4c65df;_0x1be7bd('[翰林院-核心]\x20凝识任务已锁定知识库:\x20'+_0x507caf+_0x1a4d5a(0x237)+_0xcad96b+')',_0x1a4d5a(0x218));const _0x52da1d=[],_0xa13e5b=context[_0x1a4d5a(0x299)];for(const _0x1c4b32 of _0x582019){const _0xe6d3e4=(_0x1c4b32['mes']||'')[_0x1a4d5a(0x28d)](/<[^>]*>/g,'')[_0x1a4d5a(0x2ca)]();if(_0xe6d3e4[_0x1a4d5a(0x272)]===0x0)continue;let _0x59f5e6;if(_0x1c4b32[_0x1a4d5a(0x2b2)]!==undefined&&_0x1c4b32[_0x1a4d5a(0x2b2)]!==null)_0x59f5e6=_0x1c4b32[_0x1a4d5a(0x2b2)];else{const _0x59f9f3=_0xa13e5b[_0x1a4d5a(0x1dc)](_0x33d54a=>_0x33d54a===_0x1c4b32);_0x59f5e6=_0x59f9f3!==-0x1?_0x59f9f3+0x1:-0x1;}const _0x484a09=new Date(_0x1c4b32['send_date']),_0x161ee9=isNaN(_0x484a09[_0x1a4d5a(0x29c)]())?new Date()[_0x1a4d5a(0x1db)]():_0x484a09[_0x1a4d5a(0x1db)](),_0x1a726e=splitIntoChunks(_0xe6d3e4,'chat_history',{'floor':_0x59f5e6,'is_user':_0x1c4b32['is_user'],'timestamp':_0x161ee9});_0x52da1d[_0x1a4d5a(0x2a0)](..._0x1a726e);}if(_0x52da1d[_0x1a4d5a(0x272)]===0x0)return{'success':!![],'count':0x0};_0x1be7bd('[翰林院-核心]\x20已将\x20'+_0x582019[_0x1a4d5a(0x272)]+_0x1a4d5a(0x203)+_0x52da1d['length']+_0x1a4d5a(0x2da),_0x1a4d5a(0x213));const _0x102715=settings['retrieval']['batchSize']||0x5;let _0x1ccb2a=0x0;for(let _0x4f56d8=0x0;_0x4f56d8<_0x52da1d['length'];_0x4f56d8+=_0x102715){const _0x3323ba=_0x52da1d[_0x1a4d5a(0x266)](_0x4f56d8,_0x4f56d8+_0x102715),_0x139e6a=_0x3323ba['map'](_0x4a34ec=>_0x4a34ec[_0x1a4d5a(0x25d)]),_0x17336f=await getEmbeddings(_0x139e6a);if(_0x3323ba['length']!==_0x17336f[_0x1a4d5a(0x272)])throw new Error(_0x1a4d5a(0x1e2));const _0x3acee9=_0x3323ba[_0x1a4d5a(0x287)]((_0x59ae7f,_0x55c2cd)=>({..._0x59ae7f,'vector':_0x17336f[_0x55c2cd]}));await insertVectors(_0x3acee9,null,_0xcad96b),_0x1ccb2a+=_0x3323ba[_0x1a4d5a(0x272)];}if(_0x5a6f6f){const _0x5bcfbb=_0x5a6f6f[_0x1a4d5a(0x267)]===0x0?context['chat']['length']:_0x5a6f6f['end'],_0x216bb7=getCharacterStableId();!settings[_0x1a4d5a(0x2a4)][_0x216bb7]&&(settings[_0x1a4d5a(0x2a4)][_0x216bb7]={}),settings[_0x1a4d5a(0x2a4)][_0x216bb7][_0xcad96b]={'start':_0x5a6f6f[_0x1a4d5a(0x216)],'end':_0x5bcfbb,'timestamp':new Date()[_0x1a4d5a(0x1db)]()},saveSettings(),_0x1be7bd(_0x1a4d5a(0x291)+_0xcad96b+_0x1a4d5a(0x2d9)+_0x5a6f6f['start']+'-'+_0x5bcfbb,_0x1a4d5a(0x213));}_0x1be7bd('[翰林院-核心]\x20聊天记录凝识完成,成功插入\x20'+_0x1ccb2a+_0x1a4d5a(0x276),_0x1a4d5a(0x218));const _0x47a8ff=_0x582019[_0x1a4d5a(0x287)](_0x14ce26=>{const _0xd5e032=_0x1a4d5a,_0x3cd7e5=_0xa13e5b[_0xd5e032(0x1dc)](_0x4f94ef=>_0x4f94ef===_0x14ce26),_0x1950a3=_0x3cd7e5!==-0x1?_0x3cd7e5+0x1:-0x1,_0xb55544=_0x14ce26[_0xd5e032(0x1e0)]?'用户':getCharacterName()||'AI';return'['+_0xb55544+_0xd5e032(0x271)+_0x1950a3+']\x20的消息已成功凝识。';});return{'success':!![],'count':_0x1ccb2a,'messages':_0x47a8ff};}catch(_0x27b2a8){return console['error'](_0x1a4d5a(0x2d4),_0x27b2a8),_0x1be7bd(_0x1a4d5a(0x24b)+_0x27b2a8[_0x1a4d5a(0x268)],_0x1a4d5a(0x28a)),{'success':![],'error':_0x27b2a8[_0x1a4d5a(0x268)]};}}async function rerankResults(_0x5af45f,_0x54ab5b,_0x3921e9){const _0x5f5954=_0x1d2ea6;let _0x118dfa=_0x5af45f;if(_0x3921e9['rerank'][_0x5f5954(0x215)]&&_0x5af45f[_0x5f5954(0x272)]>0x0){console[_0x5f5954(0x26d)]('[翰林院-Rerank]\x20开始外部API重排序...');try{const _0x11d658=_0x5af45f['map'](_0x360899=>_0x360899[_0x5f5954(0x25d)]),_0x3879b9=await executeRerank(_0x54ab5b,_0x11d658,_0x3921e9[_0x5f5954(0x24e)]),_0x21d292=_0x5af45f['map']((_0x47bf47,_0x563d5e)=>({..._0x47bf47,'original_index':_0x563d5e}));_0x118dfa=_0x21d292['map'](_0x368577=>{const _0x1e5ac0=_0x5f5954,_0x4c277c=_0x3879b9[_0x1e5ac0(0x269)][_0x1e5ac0(0x26e)](_0x4790b2=>_0x4790b2['index']===_0x368577[_0x1e5ac0(0x2d8)]),_0x50fb04=_0x4c277c?_0x4c277c[_0x1e5ac0(0x1fb)]:0x0;return{..._0x368577,'rerank_score':_0x50fb04};});if(_0x3921e9['rerank'][_0x5f5954(0x2e1)])showNotification(_0x5f5954(0x221),_0x5f5954(0x218));}catch(_0x41313d){console[_0x5f5954(0x28a)]('[翰林院-Rerank]\x20外部Rerank失败,将仅使用内部加权。',_0x41313d);if(_0x3921e9[_0x5f5954(0x24e)][_0x5f5954(0x2e1)])showNotification(_0x5f5954(0x292)+_0x41313d['message'],_0x5f5954(0x28a));_0x118dfa[_0x5f5954(0x2aa)](_0x42862c=>_0x42862c[_0x5f5954(0x1ec)]=0x0);}}else _0x118dfa[_0x5f5954(0x2aa)](_0x2702c4=>_0x2702c4['rerank_score']=0x0);console[_0x5f5954(0x26d)](_0x5f5954(0x2ac));const _0x1643e2=context[_0x5f5954(0x299)][_0x5f5954(0x272)],_0x2743bb=_0x3921e9[_0x5f5954(0x24e)][_0x5f5954(0x2be)],_0x73b4e0=_0x118dfa['map'](_0x28a1b6=>{const _0x513aab=_0x5f5954;let _0x25d7f4=0x1;const _0x5ad71c=_0x28a1b6[_0x513aab(0x282)]||{};switch(_0x5ad71c[_0x513aab(0x22a)]){case _0x513aab(0x256):_0x25d7f4*=1.2;break;case _0x513aab(0x259):_0x25d7f4*=1.1;break;case _0x513aab(0x2ce):if(_0x5ad71c['floor']&&_0x1643e2>0x0){const _0x525c56=_0x5ad71c[_0x513aab(0x2b2)]/_0x1643e2;_0x25d7f4*=0x1+_0x525c56;}break;}const _0x4d7d45=_0x28a1b6[_0x513aab(0x1ec)]*_0x2743bb+(_0x28a1b6[_0x513aab(0x2a5)]||0x0)*(0x1-_0x2743bb),_0x2dd2ba=_0x4d7d45*_0x25d7f4;return{'text':_0x28a1b6['text'],'score':_0x28a1b6[_0x513aab(0x2a5)],'rerank_score':_0x28a1b6['rerank_score'],'final_score':_0x2dd2ba,'metadata':_0x28a1b6['metadata']};});_0x73b4e0[_0x5f5954(0x2d2)]((_0x331b25,_0x30c1e8)=>(_0x30c1e8[_0x5f5954(0x2bc)]||0x0)-(_0x331b25[_0x5f5954(0x2bc)]||0x0)),console[_0x5f5954(0x26d)](_0x5f5954(0x21b));if(_0x3921e9[_0x5f5954(0x24e)][_0x5f5954(0x2d1)]){const _0x1da9d7=superSort(_0x73b4e0);return _0x1da9d7[_0x5f5954(0x266)](0x0,_0x3921e9['rerank']['top_n']);}return _0x73b4e0['slice'](0x0,_0x3921e9[_0x5f5954(0x24e)][_0x5f5954(0x251)]);}async function rearrangeChat(_0x2acfa8,_0x17cad4,_0x2cd366,_0x446282){const _0x1ec60f=_0x1d2ea6,_0x2fd192={'novel':'HANLINYUAN_RAG_NOVEL','chat_history':_0x1ec60f(0x21f),'lorebook':_0x1ec60f(0x1cf),'manual':_0x1ec60f(0x209)};Object[_0x1ec60f(0x1f7)](_0x2fd192)[_0x1ec60f(0x2aa)](_0x3ab711=>setExtensionPrompt(_0x3ab711,'',0x0,0x0,![],0x0));if(_0x446282==='quiet'||!settings['retrieval'][_0x1ec60f(0x215)])return;const _0x2e869d=_0x2acfa8[_0x1ec60f(0x266)](-settings[_0x1ec60f(0x285)][_0x1ec60f(0x29a)]);if(_0x2e869d[_0x1ec60f(0x272)]===0x0)return;const _0x28955b=_0x2e869d[_0x1ec60f(0x287)](_0x3b1265=>_0x3b1265[_0x1ec60f(0x204)])[_0x1ec60f(0x26c)]('\x20')['replace'](/<[^>]*>/g,'')[_0x1ec60f(0x2ca)]();if(!_0x28955b)return;try{const _0x2692a2=0x2,_0x4b8531=settings['settingsVersion']||0x1;let _0x5a5e67=![];if(_0x4b8531<_0x2692a2){console['log']('[翰林院-户口普查]\x20检测到旧版设置\x20(V'+_0x4b8531+_0x1ec60f(0x284)),toastr[_0x1ec60f(0x213)](_0x1ec60f(0x2ae),_0x1ec60f(0x289));const _0x1b177d=getKnowledgeBases();for(const _0x1edbdb of Object[_0x1ec60f(0x1f7)](_0x1b177d)){const _0x56547e=_0x1edbdb[_0x1ec60f(0x2dd)],_0x3ccc8b=_0x1edbdb[_0x1ec60f(0x22a)];if(_0x56547e[_0x1ec60f(0x1eb)](_0x1ec60f(0x2df)))_0x1edbdb[_0x1ec60f(0x22a)]=_0x1ec60f(0x259);else{if(_0x56547e[_0x1ec60f(0x1eb)]('小说:'))_0x1edbdb[_0x1ec60f(0x22a)]=_0x1ec60f(0x1d3);else _0x56547e['includes']('楼-')&&_0x56547e[_0x1ec60f(0x2a7)]('楼')&&_0x56547e[_0x1ec60f(0x2a7)](':')?_0x1edbdb[_0x1ec60f(0x22a)]=_0x1ec60f(0x2ce):_0x1edbdb['source']=_0x1ec60f(0x256);}_0x3ccc8b!==_0x1edbdb['source']&&console[_0x1ec60f(0x26d)](_0x1ec60f(0x283)+_0x56547e+_0x1ec60f(0x1dd)+(_0x3ccc8b||'无')+_0x1ec60f(0x244)+_0x1edbdb[_0x1ec60f(0x22a)]+']');}settings[_0x1ec60f(0x298)]=_0x2692a2,_0x5a5e67=!![];}_0x5a5e67&&(console['log'](_0x1ec60f(0x2a6)),saveSettings());let _0x2e87da=[];const _0x2becf2=settings[_0x1ec60f(0x24e)]['priorityRetrieval'];if(_0x2becf2[_0x1ec60f(0x215)]){console['log'](_0x1ec60f(0x265));const _0x53add5=Object['values'](getKnowledgeBases())[_0x1ec60f(0x1e3)](_0x6a522=>_0x6a522[_0x1ec60f(0x215)]),_0x3aab4e=Object['keys'](_0x2becf2[_0x1ec60f(0x1f0)])[_0x1ec60f(0x1e3)](_0x363c58=>_0x2becf2[_0x1ec60f(0x1f0)][_0x363c58]&&_0x2becf2['sources'][_0x363c58][_0x1ec60f(0x215)]),_0x81811d=[];let _0x25a0eb=[..._0x53add5];for(const _0x47b4d2 of _0x3aab4e){const _0x3c53bf=_0x2becf2[_0x1ec60f(0x1f0)][_0x47b4d2],_0x3ad4f9=_0x25a0eb[_0x1ec60f(0x1e3)](_0x145ec2=>_0x145ec2['source']===_0x47b4d2);_0x25a0eb=_0x25a0eb[_0x1ec60f(0x1e3)](_0x1b1ef1=>!_0x3ad4f9[_0x1ec60f(0x2a7)](_0x1b1ef1));if(_0x3ad4f9[_0x1ec60f(0x272)]>0x0){console[_0x1ec60f(0x26d)](_0x1ec60f(0x24a)+_0x47b4d2+'\x20('+_0x3ad4f9[_0x1ec60f(0x272)]+'个库)');const _0x34b2fb=queryVectors(_0x28955b,{'includeBases':_0x3ad4f9})[_0x1ec60f(0x231)](_0x3c6966=>{const _0x13a5a2=_0x1ec60f;console[_0x13a5a2(0x26d)](_0x13a5a2(0x200)+_0x47b4d2+_0x13a5a2(0x21d)+_0x3c6966[_0x13a5a2(0x272)]+'\x20条结果。');let _0x177c60=_0x3c6966[_0x13a5a2(0x1e3)](_0xae513f=>_0xae513f[_0x13a5a2(0x282)]?.['source']===_0x47b4d2);return _0x177c60=_0x177c60[_0x13a5a2(0x266)](0x0,_0x3c53bf[_0x13a5a2(0x2c5)]),console[_0x13a5a2(0x26d)](_0x13a5a2(0x22c)+_0x47b4d2+_0x13a5a2(0x261)+_0x177c60[_0x13a5a2(0x272)]+'\x20条结果。'),settings[_0x13a5a2(0x24e)][_0x13a5a2(0x2d1)]&&(_0x177c60=superSort(_0x177c60)),_0x177c60;});_0x81811d[_0x1ec60f(0x2a0)](_0x34b2fb);}}const _0x24827d=_0x25a0eb;if(_0x24827d[_0x1ec60f(0x272)]>0x0){console['log'](_0x1ec60f(0x2e2)+_0x24827d[_0x1ec60f(0x272)]+_0x1ec60f(0x239));const _0x5d10bb=queryVectors(_0x28955b,{'includeBases':_0x24827d})[_0x1ec60f(0x231)](async _0x155aad=>{const _0x2bcf50=_0x1ec60f;console[_0x2bcf50(0x26d)]('[翰林院]\x20常规组返回\x20'+_0x155aad[_0x2bcf50(0x272)]+_0x2bcf50(0x2b5)),console['log']('[翰林院]\x20开始处理常规池...');const _0x57309b=await rerankResults(_0x155aad,_0x28955b,settings);return console[_0x2bcf50(0x26d)](_0x2bcf50(0x1cd)+(_0x57309b||[])[_0x2bcf50(0x272)]+_0x2bcf50(0x2b5)),_0x57309b;});_0x81811d[_0x1ec60f(0x2a0)](_0x5d10bb);}const _0x5cae65=await Promise[_0x1ec60f(0x2c0)](_0x81811d);_0x2e87da=_0x5cae65[_0x1ec60f(0x23d)]();}else{console[_0x1ec60f(0x26d)](_0x1ec60f(0x1e7));const _0x6c67e0=await queryVectors(_0x28955b);_0x2e87da=await rerankResults(_0x6c67e0,_0x28955b,settings);}if(!_0x2e87da||_0x2e87da['length']===0x0){console[_0x1ec60f(0x26d)](_0x1ec60f(0x246));return;}console[_0x1ec60f(0x26d)](_0x1ec60f(0x210)+_0x2e87da[_0x1ec60f(0x272)]+_0x1ec60f(0x2b5));const _0x1dc8ab={'novel':[],'chat_history':[],'lorebook':[],'manual':[]};_0x2e87da['forEach'](_0x4d8e2d=>{const _0x214f1c=_0x1ec60f,_0x4e8990=_0x4d8e2d['metadata']?.[_0x214f1c(0x22a)];_0x4e8990&&_0x1dc8ab[_0x214f1c(0x24f)](_0x4e8990)&&_0x1dc8ab[_0x4e8990]['push'](_0x4d8e2d);});for(const _0x3d02ee in _0x1dc8ab){const _0xb14c05=_0x1dc8ab[_0x3d02ee];if(_0xb14c05[_0x1ec60f(0x272)]===0x0)continue;const _0x3a4865=settings[_0x1ec60f(0x1ca)+_0x3d02ee[_0x1ec60f(0x28d)]('_history','')];if(!_0x3a4865){console[_0x1ec60f(0x1d5)]('[翰林院]\x20未找到来源\x20\x27'+_0x3d02ee+_0x1ec60f(0x1de));continue;}const _0x583754=_0xb14c05[_0x1ec60f(0x287)](_0x35a5c5=>_0x35a5c5[_0x1ec60f(0x25d)])[_0x1ec60f(0x26c)]('\x0a\x0a'),_0x2ec5e1='{{'+_0x3d02ee[_0x1ec60f(0x28d)](_0x1ec60f(0x226),'')+_0x1ec60f(0x2bf);let _0x535ecd=_0x3a4865[_0x1ec60f(0x25e)][_0x1ec60f(0x28d)](_0x2ec5e1,_0x583754);_0x535ecd['trim']()&&(_0x535ecd='%%'+_0x2fd192[_0x3d02ee]+'%%'+_0x535ecd),setExtensionPrompt(_0x2fd192[_0x3d02ee],_0x535ecd,_0x3a4865[_0x1ec60f(0x295)],_0x3a4865[_0x1ec60f(0x23f)],![],_0x3a4865['depth_role']),console['log'](_0x1ec60f(0x20a)+_0x3d02ee+'\x27\x20注入\x20'+_0xb14c05['length']+'\x20条内容。');}}catch(_0xf07536){console[_0x1ec60f(0x28a)](_0x1ec60f(0x286),_0xf07536);if(settings['retrieval'][_0x1ec60f(0x2e1)])showNotification(_0x1ec60f(0x25b)+_0xf07536[_0x1ec60f(0x268)],_0x1ec60f(0x28a));}}async function moveKnowledgeBase(_0x5135c3,_0x45bf7a){const _0x589612=_0x1d2ea6,_0x52e2bf=_0x45bf7a===_0x589612(0x279)?_0x589612(0x28b):_0x589612(0x279),_0x16bc8e=getCharacterStableId();if(!_0x16bc8e&&_0x52e2bf==='local'){toastr[_0x589612(0x28a)](_0x589612(0x258));return;}const _0x33a72e=_0x45bf7a==='global'?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0xe68761=_0x52e2bf===_0x589612(0x279)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x263437=_0x33a72e[_0x5135c3];if(!_0x263437){const _0x9a5408=_0x589612(0x263)+_0x45bf7a+_0x589612(0x24c)+_0x5135c3+_0x589612(0x208);console['error'](_0x589612(0x262)+_0x9a5408),toastr[_0x589612(0x28a)](_0x589612(0x20f));return;}_0x45bf7a===_0x589612(0x28b)&&_0x52e2bf===_0x589612(0x279)&&!_0x263437['owner']&&(console[_0x589612(0x26d)](_0x589612(0x1f2)+_0x5135c3+_0x589612(0x223)+_0x16bc8e),_0x263437[_0x589612(0x2b4)]=_0x16bc8e);delete _0x33a72e[_0x5135c3],_0xe68761[_0x5135c3]=_0x263437,saveSettings();const _0x17b106='知识库【'+_0x263437[_0x589612(0x2dd)]+'】已成功移动到'+(_0x52e2bf===_0x589612(0x279)?'全局':'局部')+'。';console[_0x589612(0x26d)](_0x589612(0x262)+_0x17b106);}async function getAllVectorsFromCollection(_0x45d2a9){const _0x36d2c1=_0x1d2ea6,_0x3574b1='*',_0x52a280={'collectionId':_0x45d2a9,'searchText':_0x3574b1,'topK':0x2710,'threshold':0x0,'source':_0x36d2c1(0x20d),'embeddings':{}},_0x2d9eec=(await getEmbeddings([_0x3574b1]))[0x0];_0x52a280['embeddings']={[_0x3574b1]:_0x2d9eec};const _0x2411f9=await fetch(_0x36d2c1(0x264),{'method':_0x36d2c1(0x20b),'headers':context[_0x36d2c1(0x1ff)](),'body':JSON[_0x36d2c1(0x27b)](_0x52a280)});if(!_0x2411f9['ok']){if(_0x2411f9[_0x36d2c1(0x27f)]===0x194)return console[_0x36d2c1(0x26d)](_0x36d2c1(0x26f)+_0x45d2a9+_0x36d2c1(0x1e6)),[];const _0x121922=await _0x2411f9['text']();throw new Error(_0x36d2c1(0x20e)+_0x45d2a9+_0x36d2c1(0x2b3)+_0x121922);}const _0x3f46e2=await _0x2411f9['json']();return _0x3f46e2[_0x36d2c1(0x282)]||_0x3f46e2[_0x36d2c1(0x269)]||_0x3f46e2[_0x36d2c1(0x275)]||[];}