From fc447d8655ba510a79586dad25a16ef116ab906c Mon Sep 17 00:00:00 2001 From: Wx-2025 <351320169@qq.com> Date: Wed, 17 Sep 2025 20:44: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 1954c64..c098264 100644 --- a/core/rag-processor.js +++ b/core/rag-processor.js @@ -1 +1 @@ -'use strict';const _0x42f4ac=_0x472d;(function(_0x4aac69,_0x185089){const _0x38e923=_0x472d,_0x58ea1a=_0x4aac69();while(!![]){try{const _0x237b70=parseInt(_0x38e923(0x194))/0x1+-parseInt(_0x38e923(0x210))/0x2*(parseInt(_0x38e923(0x1a2))/0x3)+parseInt(_0x38e923(0x173))/0x4+parseInt(_0x38e923(0x185))/0x5*(-parseInt(_0x38e923(0x1ca))/0x6)+parseInt(_0x38e923(0x152))/0x7+parseInt(_0x38e923(0x22a))/0x8+-parseInt(_0x38e923(0x170))/0x9;if(_0x237b70===_0x185089)break;else _0x58ea1a['push'](_0x58ea1a['shift']());}catch(_0x2c4a30){_0x58ea1a['push'](_0x58ea1a['shift']());}}}(_0x3c6b,0x62b1a));import{extension_prompt_roles,setExtensionPrompt}from'/script.js';import*as _0x321f31 from'./utils/context-utils.js';import{getCollectionIdInfo,getCharacterId,getCharacterStableId}from'./utils/context-utils.js';import{defaultSettings as _0xe1b12b}from'./rag-settings.js';import*as _0x43bee7 from'./ingestion-manager.js';import{getEmbeddings,fetchEmbeddingModels as _0x3358c5,fetchRerankModels as _0x31666d,executeRerank,testApiConnection as _0x1c56f3}from'./rag-api.js';function _0x3c6b(){const _0x2412ed=['[翰林院-日志]\x20集合\x20','filter','mes','114CvZUwT','[翰林院-日志]\x20知识库\x20','trim','substring','condensationHistory','[翰林院-日志]\x20所有知识库统计完成,总向量数:\x20','getContext','max','find','flat','[翰林院-核心]\x20将来源\x27','[翰林院-日志]\x20查询知识库\x20','json','is_user','\x27\x20中未找到ID为\x20','length','top_n','status','values','部分]','batchSize','reduce','未知来源','abs','AbortError','webllm','entryName','世界书条目','warning','original_index','join','[翰林院-配置]\x20为旧版知识库\x20','忆识存入API错误\x20','toLocaleString','\x20时发生网络错误:','insertVectors\x20必须接收一个有效的\x20collectionId\x20参数。','hanlinyuan-rag-core','Rerank失败:\x20','输入文本为空','[翰林院-日志]\x20没有启用的新知识库,尝试查询旧版单体宝库...','maxResults','advanced','删除知识库失败,未能清空后端数据。','操作已取消。','/api/vector/list','[翰林院-日志]\x20清空宝库API调用成功。','[翰林院-核心]\x20成功删除知识库\x20','getRequestHeaders','手动录入:\x20','[翰林院-核心]\x20文本录入失败:\x20','score',',将清空集合:\x20','\x27的文本分割成\x20','[来源:\x20聊天记录,\x20楼层:\x20#','legacy','第1章','extensionSettings','\x20失败:','info','local','min','\x20不存在,返回空数组。','enabled','查询集合\x20','移动失败:没有当前角色,无法移入局部知识库。','】已成功移动到','\x0a{},_0x2991a0=null,_0xb1c6de=()=>{},_0x3f4d9d=()=>{},_0x1126eb=null,_0x51460c=0x0){const _0x208928=_0x42f4ac;if(!_0x2377a5||!_0x2377a5[_0x208928(0x1cc)]())return{'success':![],'error':_0x208928(0x1f0)};if(!settings)return{'success':![],'error':_0x208928(0x214)};try{const _0x7d6ed2=getCollectionIdInfo(),_0x46cd12=await _0x445401();if(_0x7d6ed2[_0x208928(0x171)]&&_0x7d6ed2[_0x208928(0x171)]===_0x46cd12&&_0x7d6ed2[_0x208928(0x171)]!==_0x7d6ed2['newId']){const _0x2d69b1=confirm(_0x208928(0x1be));if(_0x2d69b1)_0xb1c6de(_0x208928(0x21b)+_0x7d6ed2['oldId'],_0x208928(0x211)),await purgeStorage(_0x7d6ed2[_0x208928(0x171)]),_0xb1c6de(_0x208928(0x236),_0x208928(0x187));else return _0xb1c6de(_0x208928(0x164),_0x208928(0x204)),toastr[_0x208928(0x204)](_0x208928(0x1f5)),{'success':![],'error':'用户取消了迁移操作'};}let _0x4bcb42,_0x2c9b2b;const _0x1ae426=new Date()[_0x208928(0x1eb)](_0x208928(0x224),{'hour12':![]}),_0x4f9b88=getCharacterName()||_0x208928(0x172);switch(_0x33acbb){case _0x208928(0x18f):const _0x170efb=_0x187b3c[_0x208928(0x167)]||{},_0x2f744f=_0x170efb[_0x208928(0x181)]??'?',_0x25b51a=_0x170efb[_0x208928(0x1b9)]===0x0?'末':_0x170efb[_0x208928(0x1b9)]??'?';_0x4bcb42=_0x4f9b88+':\x20'+_0x2f744f+'楼-'+_0x25b51a+'楼';break;case'lorebook':const _0x4ee35e=_0x187b3c['bookName']||_0x208928(0x225),_0x22065b=_0x187b3c[_0x208928(0x1e4)]||_0x208928(0x21a);_0x4bcb42=_0x4ee35e+':\x20'+_0x22065b;break;case _0x208928(0x15c):_0x4bcb42=_0x208928(0x19f)+(_0x187b3c[_0x208928(0x1bd)]||'未知小说');break;case _0x208928(0x197):default:_0x4bcb42=_0x208928(0x1fa)+_0x1ae426;break;}const _0x4c37eb=Object['values'](getKnowledgeBases()),_0x3505d2=_0x4c37eb[_0x208928(0x1d2)](_0x44ce73=>_0x44ce73[_0x208928(0x1a1)]===_0x4bcb42);if(_0x3505d2)_0x2c9b2b=_0x3505d2['id'],_0xb1c6de('[翰林院-核心]\x20检测到同名知识库\x20\x22'+_0x4bcb42+'\x22,将数据合并入库。',_0x208928(0x204));else{_0xb1c6de(_0x208928(0x213)+_0x4bcb42+_0x208928(0x21f),'info');const _0x19df7e=addKnowledgeBase(_0x4bcb42);_0x2c9b2b=_0x19df7e['id'];}const _0x4e508d=getCharacterStableId(),_0x74a20b=_0x4e508d+'_'+_0x2c9b2b;_0xb1c6de('[翰林院-核心]\x20已创建并锁定知识库:\x20'+_0x4bcb42+_0x208928(0x22c)+_0x74a20b+')',_0x208928(0x187)),_0xb1c6de('[翰林院-核心]\x20已锁定忆识宝库ID:\x20'+_0x74a20b,_0x208928(0x204)),_0x1239a3({'message':_0x208928(0x17e),'processed':0x0,'total':0x1});const _0x14feb7=splitIntoChunks(_0x2377a5,_0x33acbb,_0x187b3c),_0x123808=_0x14feb7[_0x208928(0x1d9)];if(_0x2991a0?.['aborted'])throw new Error('AbortError');_0xb1c6de(_0x208928(0x1d4)+_0x4bcb42+_0x208928(0x1fe)+_0x123808+_0x208928(0x189),_0x208928(0x204));if(_0x123808===0x0)return{'success':!![],'count':0x0};const _0x5c730a=settings['retrieval'][_0x208928(0x1de)]||0x5;let _0x1da336=_0x51460c;for(let _0xf1908d=_0x51460c;_0xf1908d<_0x123808;_0xf1908d+=_0x5c730a){if(_0x2991a0?.['aborted'])throw new Error(_0x208928(0x1e2));const _0x519cea=_0x14feb7['slice'](_0xf1908d,_0xf1908d+_0x5c730a);_0x1239a3({'message':'正在处理\x20'+(_0xf1908d+0x1)+'-'+(_0xf1908d+_0x519cea[_0x208928(0x1d9)])+'\x20块','processed':_0xf1908d,'total':_0x123808});const _0xed9806=_0x519cea['map'](_0x4b3715=>_0x4b3715['text']),_0x44e6b7=await getEmbeddings(_0xed9806,_0x2991a0);if(_0x2991a0?.[_0x208928(0x1aa)])throw new Error(_0x208928(0x1e2));if(_0x519cea[_0x208928(0x1d9)]!==_0x44e6b7['length'])throw new Error(_0x208928(0x21d));const _0xfd8625=_0x519cea[_0x208928(0x23b)]((_0x23a140,_0x5f0d9e)=>({..._0x23a140,'vector':_0x44e6b7[_0x5f0d9e]}));await insertVectors(_0xfd8625,_0x2991a0,_0x74a20b),_0x1da336+=_0x519cea['length'],_0x1126eb&&_0x43bee7[_0x208928(0x175)](_0x1126eb,_0x1da336,_0x123808),await _0x3f4d9d();}return _0x1126eb&&_0x43bee7['clearJob'](_0x1126eb),_0xb1c6de(_0x208928(0x235)+_0x1da336+_0x208928(0x195),_0x208928(0x187)),{'success':!![],'count':_0x1da336};}catch(_0x38888d){if(_0x38888d['name']==='AbortError'){_0xb1c6de('[翰林院-核心]\x20文本录入任务被用户中止。',_0x208928(0x211));throw _0x38888d;}return console['error'](_0x208928(0x14d),_0x38888d),_0xb1c6de(_0x208928(0x1fb)+_0x38888d[_0x208928(0x14e)],'error'),{'success':![],'error':_0x38888d[_0x208928(0x14e)]};}}function getSettings(){const _0x8e897e=_0x42f4ac;if(!context||!context[_0x8e897e(0x202)])return structuredClone(_0xe1b12b);let _0x30f9a4=context[_0x8e897e(0x202)][MODULE_NAME];!_0x30f9a4&&(_0x30f9a4={},context[_0x8e897e(0x202)][MODULE_NAME]=_0x30f9a4);_0x30f9a4['condensationHistory']===undefined&&(_0x30f9a4['condensationHistory']={});_0x30f9a4['knowledgeBases']===undefined&&(_0x30f9a4[_0x8e897e(0x1b4)]={});for(const _0x5ea2a8 in _0xe1b12b){if(_0x30f9a4[_0x5ea2a8]===undefined)_0x30f9a4[_0x5ea2a8]=structuredClone(_0xe1b12b[_0x5ea2a8]);else{if(typeof _0xe1b12b[_0x5ea2a8]===_0x8e897e(0x222)&&!Array[_0x8e897e(0x1a6)](_0xe1b12b[_0x5ea2a8])&&_0xe1b12b[_0x5ea2a8]!==null)for(const _0x3083d1 in _0xe1b12b[_0x5ea2a8]){_0x30f9a4[_0x5ea2a8][_0x3083d1]===undefined&&(_0x30f9a4[_0x5ea2a8][_0x3083d1]=_0xe1b12b[_0x5ea2a8][_0x3083d1]);}}}return _0x30f9a4;}function saveSettings(){const _0x1c1c66=_0x42f4ac;if(context)context[_0x1c1c66(0x19a)]();}function resetSettings(){const _0x8470f7=_0x42f4ac;context&&(context[_0x8470f7(0x202)][MODULE_NAME]=structuredClone(_0xe1b12b),saveSettings());}function showNotification(_0x41888b,_0x5e9856=_0x42f4ac(0x204)){toastr[_0x5e9856](_0x41888b);}function getTagForSource(_0xb6d6fc){const _0x26717b=_0x42f4ac;switch(_0xb6d6fc){case _0x26717b(0x18f):return _0x26717b(0x1a7);case _0x26717b(0x1bc):return _0x26717b(0x192);case'manual':return _0x26717b(0x169);case'novel':return'小说录入';default:return'资料';}}function splitIntoChunks(_0x4c8cf7,_0xc6a17,_0x448657={}){const _0xf9d6c3=_0x42f4ac;switch(_0xc6a17){case _0xf9d6c3(0x15c):return _chunkForNovel(_0x4c8cf7,_0x448657);case _0xf9d6c3(0x18f):return _chunkForChatHistory(_0x4c8cf7,_0x448657);case _0xf9d6c3(0x1bc):return _chunkForLorebook(_0x4c8cf7,_0x448657);case'manual':return _chunkForManual(_0x4c8cf7,_0x448657);default:console[_0xf9d6c3(0x211)](_0xf9d6c3(0x22e)+_0xc6a17+'\x27,使用通用分块逻辑。');return _chunkForManual(_0x4c8cf7,{..._0x448657,'sourceName':_0x448657['sourceName']||_0xf9d6c3(0x1e0)});}}function _chunkForNovel(_0x703559,_0x80a090){const _0x26e4f9=_0x42f4ac,{chunkSize:_0x25e952,overlap:_0x4a6833}=settings[_0x26e4f9(0x1f3)],{sourceName:sourceName='小说'}=_0x80a090,_0x565ce5=[];if(!_0x703559||_0x25e952<=0x0)return _0x565ce5;const _0xa16b72=/(第\s*[一二三四五六七八九十百千万零\d]+\s*卷)/gim,_0x554883=/(第\s*[一二三四五六七八九十百千万零\d]+\s*[章回节部])|^(Chapter\s+\d+)/gim;let _0xc928a5=0x0;const _0x119e12=_0x703559['split']('\x0a');let _0x3093c2=_0x26e4f9(0x19b),_0x595dda=_0x26e4f9(0x201),_0x1dfa5b=[];function _0x3005db(){const _0x4372ef=_0x26e4f9;if(_0x1dfa5b['length']===0x0)return;const _0x5ef900=_0x1dfa5b[_0x4372ef(0x1e8)]('\x0a');let _0x986f27=0x0,_0x53ffd1=0x1;while(_0x986f27<_0x5ef900[_0x4372ef(0x1d9)]){const _0x442f11=Math[_0x4372ef(0x206)](_0x986f27+_0x25e952,_0x5ef900[_0x4372ef(0x1d9)]),_0x7296ff=_0x5ef900[_0x4372ef(0x1cd)](_0x986f27,_0x442f11);if(_0x7296ff[_0x4372ef(0x1cc)]()[_0x4372ef(0x1d9)]>0x0){const _0x576bc8={'source':_0x4372ef(0x15c),'sourceName':sourceName,'timestamp':new Date()[_0x4372ef(0x1b5)](),'globalIndex':_0xc928a5++,'volume':_0x3093c2,'chapter':_0x595dda,'section':_0x53ffd1},_0x25c662=getTagForSource(_0x4372ef(0x15c)),_0xeb9c20='[来源:\x20'+sourceName+',\x20'+_0x3093c2+',\x20'+_0x595dda+_0x4372ef(0x14b)+_0x53ffd1+'节]',_0x20f144='<'+_0x25c662+'>\x0a'+_0xeb9c20+'\x0a'+_0x7296ff+_0x4372ef(0x20c)+_0x25c662+'>';_0x565ce5['push']({'text':_0x20f144,'metadata':_0x576bc8}),_0x53ffd1++;}_0x986f27+=_0x25e952-_0x4a6833;if(_0x986f27>=_0x5ef900[_0x4372ef(0x1d9)])break;}_0x1dfa5b=[];}for(const _0x449342 of _0x119e12){const _0x52c7f3=_0x449342['trim']();if(_0xa16b72[_0x26e4f9(0x17c)](_0x52c7f3))_0x3005db(),_0x3093c2=_0x52c7f3,_0x595dda=_0x26e4f9(0x201);else _0x554883['test'](_0x52c7f3)?(_0x3005db(),_0x595dda=_0x52c7f3):_0x1dfa5b[_0x26e4f9(0x216)](_0x449342);}_0x3005db();if(_0x565ce5[_0x26e4f9(0x1d9)]===0x0&&_0x703559[_0x26e4f9(0x1d9)]>0x0){let _0x2851cd=0x0,_0x710dc0=0x1;while(_0x2851cd<_0x703559[_0x26e4f9(0x1d9)]){const _0x4e7688=Math['min'](_0x2851cd+_0x25e952,_0x703559[_0x26e4f9(0x1d9)]),_0x9cc828=_0x703559[_0x26e4f9(0x1cd)](_0x2851cd,_0x4e7688),_0x59346f={'source':_0x26e4f9(0x15c),'sourceName':sourceName,'timestamp':new Date()[_0x26e4f9(0x1b5)](),'globalIndex':_0x565ce5['length'],'volume':_0x26e4f9(0x19b),'chapter':_0x26e4f9(0x201),'section':_0x710dc0},_0x359c4e=getTagForSource(_0x26e4f9(0x15c)),_0x3ded68=_0x26e4f9(0x18a)+sourceName+',\x20第1卷,\x20第1章,\x20第'+_0x710dc0+'节]',_0x15367a='<'+_0x359c4e+'>\x0a'+_0x3ded68+'\x0a'+_0x9cc828+'\x0a';_0x565ce5['push']({'text':_0x15367a,'metadata':_0x59346f}),_0x710dc0++,_0x2851cd+=_0x25e952-_0x4a6833;}}return _0x565ce5;}function _chunkForChatHistory(_0x6534d3,_0xbeb303){const _0x4cab2c=_0x42f4ac,{chunkSize:_0x1a0166,overlap:_0x2fc9cd}=settings[_0x4cab2c(0x1f3)],{floor:_0x62338a,is_user:_0x26cf1b,timestamp:_0x3153eb}=_0xbeb303,_0x564626=[];if(!_0x6534d3||_0x1a0166<=0x0)return _0x564626;let _0x32ce18=0x1,_0x52f2dc=0x0;while(_0x52f2dc<_0x6534d3[_0x4cab2c(0x1d9)]){const _0x39a281=Math[_0x4cab2c(0x206)](_0x52f2dc+_0x1a0166,_0x6534d3[_0x4cab2c(0x1d9)]),_0x5eac67=_0x6534d3[_0x4cab2c(0x1cd)](_0x52f2dc,_0x39a281),_0x129e79=_0x4cab2c(0x1ff)+_0x62338a+_0x4cab2c(0x14b)+_0x32ce18+_0x4cab2c(0x1dd),_0x188357=getTagForSource(_0x4cab2c(0x18f)),_0x38aa79='<'+_0x188357+'>\x0a'+_0x129e79+'\x0a'+_0x5eac67+_0x4cab2c(0x20c)+_0x188357+'>';_0x564626['push']({'text':_0x38aa79,'metadata':{'source':_0x4cab2c(0x18f),'sourceName':'聊天记录\x20#'+_0x62338a,'floor':_0x62338a,'part':_0x32ce18,'is_user':_0x26cf1b,'timestamp':_0x3153eb}}),_0x32ce18++,_0x52f2dc+=_0x1a0166-_0x2fc9cd;if(_0x52f2dc>=_0x6534d3[_0x4cab2c(0x1d9)])break;}return _0x564626;}function _chunkForLorebook(_0x364d12,_0x511a43){const _0x1927c9=_0x42f4ac,{chunkSize:_0x2bd93b,overlap:_0xb5c54f}=settings['advanced'],{sourceName:sourceName=_0x1927c9(0x1e5)}=_0x511a43,_0x26d9e6=[];if(!_0x364d12||_0x2bd93b<=0x0)return _0x26d9e6;let _0xb9a3f3=0x1,_0xf734ac=0x0;while(_0xf734ac<_0x364d12[_0x1927c9(0x1d9)]){const _0x5c5078=Math[_0x1927c9(0x206)](_0xf734ac+_0x2bd93b,_0x364d12['length']),_0x5e26e1=_0x364d12[_0x1927c9(0x1cd)](_0xf734ac,_0x5c5078),_0x269734=_0x1927c9(0x23a)+sourceName+_0x1927c9(0x14b)+_0xb9a3f3+_0x1927c9(0x1dd),_0x188282=getTagForSource('lorebook'),_0x5e446b='<'+_0x188282+'>\x0a'+_0x269734+'\x0a'+_0x5e26e1+_0x1927c9(0x20c)+_0x188282+'>';_0x26d9e6[_0x1927c9(0x216)]({'text':_0x5e446b,'metadata':{'source':_0x1927c9(0x1bc),'sourceName':sourceName,'part':_0xb9a3f3,'timestamp':new Date()[_0x1927c9(0x1b5)]()}}),_0xb9a3f3++,_0xf734ac+=_0x2bd93b-_0xb5c54f;if(_0xf734ac>=_0x364d12[_0x1927c9(0x1d9)])break;}return _0x26d9e6;}function _chunkForManual(_0x3ce81f,_0xc7f40b){const _0x5883ef=_0x42f4ac,{chunkSize:_0x530e70,overlap:_0x492f1c}=settings[_0x5883ef(0x1f3)],{sourceName:sourceName='手动录入'}=_0xc7f40b,_0xd03c45=[];if(!_0x3ce81f||_0x530e70<=0x0)return _0xd03c45;const _0x2f2e04=new Date(),_0x402179=_0x2f2e04[_0x5883ef(0x1eb)](_0x5883ef(0x224));let _0x38d9ce=0x1,_0x1705b8=0x0;while(_0x1705b8<_0x3ce81f[_0x5883ef(0x1d9)]){const _0x939882=Math[_0x5883ef(0x206)](_0x1705b8+_0x530e70,_0x3ce81f[_0x5883ef(0x1d9)]),_0x339659=_0x3ce81f[_0x5883ef(0x1cd)](_0x1705b8,_0x939882),_0x4e417c=_0x5883ef(0x18a)+sourceName+',\x20向量化录入时间:\x20'+_0x402179+_0x5883ef(0x14b)+_0x38d9ce+_0x5883ef(0x1dd),_0x321440=getTagForSource(_0x5883ef(0x197)),_0x2c0c06='<'+_0x321440+'>\x0a'+_0x4e417c+'\x0a'+_0x339659+_0x5883ef(0x20c)+_0x321440+'>';_0xd03c45[_0x5883ef(0x216)]({'text':_0x2c0c06,'metadata':{'source':_0x5883ef(0x197),'sourceName':sourceName,'part':_0x38d9ce,'timestamp':_0x2f2e04[_0x5883ef(0x1b5)]()}}),_0x38d9ce++,_0x1705b8+=_0x530e70-_0x492f1c;if(_0x1705b8>=_0x3ce81f[_0x5883ef(0x1d9)])break;}return _0xd03c45;}import{getCollectionId as _0x445401,getCharacterName}from'./utils/context-utils.js';async function getCollectionId(){return lockedCollectionId||await _0x445401();}async function toggleSessionLock(){return lockedCollectionId?(lockedCollectionId=null,![]):(lockedCollectionId=await _0x445401(),!![]);}function isSessionLocked(){return lockedCollectionId!==null;}function getLockedSessionInfo(){const _0x337dca=_0x42f4ac;if(!lockedCollectionId)return null;return{'id':lockedCollectionId,'name':'(已锁定:\x20'+lockedCollectionId[_0x337dca(0x1cd)](0x0,0x8)+'...)'};}function getLocalKnowledgeBases(){const _0x2d79d9=_0x42f4ac,_0x377f2a=getCharacterStableId();return!settings[_0x2d79d9(0x1b4)][_0x377f2a]&&(settings['knowledgeBases'][_0x377f2a]={}),settings[_0x2d79d9(0x1b4)][_0x377f2a];}function getGlobalKnowledgeBases(){const _0x351e5a=_0x42f4ac;return!settings[_0x351e5a(0x1b4)][GLOBAL_SCOPE_ID]&&(settings[_0x351e5a(0x1b4)][GLOBAL_SCOPE_ID]={}),settings[_0x351e5a(0x1b4)][GLOBAL_SCOPE_ID];}function getKnowledgeBases(){const _0x4dcab9=getLocalKnowledgeBases(),_0x24f671=getGlobalKnowledgeBases();return{..._0x24f671,..._0x4dcab9};}function addKnowledgeBase(_0x94e7a9){const _0x1423e3=_0x42f4ac;if(!_0x94e7a9||!_0x94e7a9[_0x1423e3(0x1cc)]())throw new Error(_0x1423e3(0x1a5));const _0x5153d6=getCharacterStableId(),_0x42ae3d=getLocalKnowledgeBases(),_0x219ee9=_0x1423e3(0x228)+Date[_0x1423e3(0x1c6)]()+'_'+Math['random']()[_0x1423e3(0x1a8)](0x24)[_0x1423e3(0x1cd)](0x2,0x9),_0x328eb5={'id':_0x219ee9,'name':_0x94e7a9[_0x1423e3(0x1cc)](),'enabled':!![],'createdAt':new Date()['toISOString'](),'owner':_0x5153d6};return _0x42ae3d[_0x219ee9]=_0x328eb5,saveSettings(),console[_0x1423e3(0x179)](_0x1423e3(0x1a0)+_0x5153d6+_0x1423e3(0x1a4)+_0x94e7a9+_0x1423e3(0x182)+_0x219ee9+')'),_0x328eb5;}async function removeKnowledgeBase(_0x103cc2,_0x280501){const _0x43dd3a=_0x42f4ac,_0x361b2e=getCharacterStableId(),_0x5df73c=_0x280501==='global'?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x2c0705=_0x5df73c[_0x103cc2],_0x20e1d3=_0x2c0705?.['name']||_0x103cc2;if(!_0x2c0705){console[_0x43dd3a(0x211)](_0x43dd3a(0x166)+_0x103cc2+_0x43dd3a(0x162)+_0x280501+')');return;}const _0x234954=_0x280501===_0x43dd3a(0x16f)?_0x2c0705[_0x43dd3a(0x17d)]||GLOBAL_SCOPE_ID:_0x361b2e,_0x35822e=_0x234954+'_'+_0x103cc2;console[_0x43dd3a(0x179)](_0x43dd3a(0x19e)+_0x103cc2+_0x43dd3a(0x1fd)+_0x35822e);const _0x463665=await purgeStorage(_0x35822e);_0x463665?(delete _0x5df73c[_0x103cc2],saveSettings(),console[_0x43dd3a(0x179)](_0x43dd3a(0x1f8)+_0x103cc2+'\x20及其向量数据。'),toastr[_0x43dd3a(0x187)](_0x43dd3a(0x1b1)+_0x20e1d3+_0x43dd3a(0x178))):(console[_0x43dd3a(0x238)](_0x43dd3a(0x186)+_0x35822e+_0x43dd3a(0x16d)),toastr['error'](_0x43dd3a(0x1f4)));}function toggleKnowledgeBase(_0x54540b,_0x570482){const _0x4c5547=_0x42f4ac,_0xc08b2a=_0x570482===_0x4c5547(0x16f)?getGlobalKnowledgeBases():getLocalKnowledgeBases();_0xc08b2a[_0x54540b]&&(_0xc08b2a[_0x54540b]['enabled']=!_0xc08b2a[_0x54540b][_0x4c5547(0x208)],saveSettings(),console[_0x4c5547(0x179)](_0x4c5547(0x212)+_0x54540b+_0x4c5547(0x162)+_0x570482+')\x20的状态已切换为:\x20'+(_0xc08b2a[_0x54540b][_0x4c5547(0x208)]?'启用':'禁用')));}function generateHash(_0x275e1b){const _0x297a52=_0x42f4ac;let _0x19c7b=0x0;for(let _0x3276ed=0x0;_0x3276ed<_0x275e1b[_0x297a52(0x1d9)];_0x3276ed++){const _0x533fc5=_0x275e1b['charCodeAt'](_0x3276ed);_0x19c7b=(_0x19c7b<<0x5)-_0x19c7b+_0x533fc5,_0x19c7b=_0x19c7b&_0x19c7b;}return Math[_0x297a52(0x1e1)](_0x19c7b)[_0x297a52(0x1a8)](0x24);}async function queryVectors(_0x5eb1c1){const _0x6ee656=_0x42f4ac;console[_0x6ee656(0x179)](_0x6ee656(0x160));const _0x215a7b=getCharacterStableId(),_0x175aa7=getLocalKnowledgeBases(),_0x51fab7=getGlobalKnowledgeBases(),_0x7b44c9=Object['values'](_0x175aa7)[_0x6ee656(0x1c8)](_0x346888=>_0x346888[_0x6ee656(0x208)]),_0xdce7b8=Object['values'](_0x51fab7)[_0x6ee656(0x1c8)](_0x61a4bb=>_0x61a4bb['enabled']),_0x4edda1=[..._0x7b44c9[_0x6ee656(0x23b)](_0x4c6df6=>({..._0x4c6df6,'scope':_0x6ee656(0x205)})),..._0xdce7b8[_0x6ee656(0x23b)](_0x2823e4=>({..._0x2823e4,'scope':_0x6ee656(0x16f)}))];if(_0x4edda1[_0x6ee656(0x1d9)]===0x0){console[_0x6ee656(0x179)](_0x6ee656(0x1f1));const _0xfc071d=await _0x445401();if(!_0xfc071d)return[];_0x4edda1['push']({'id':null,'name':'旧版宝库\x20(Legacy)','scope':_0x6ee656(0x200)});}const _0x176aeb=(await getEmbeddings([_0x5eb1c1]))[0x0];let _0x4a83a0=[];const _0x548b49=_0x4edda1['map'](_0x310537=>{const _0x4f5ab5=_0x6ee656;let _0x457a3b;if(_0x310537[_0x4f5ab5(0x221)]===_0x4f5ab5(0x200))_0x457a3b=_0x445401();else{const _0x6a5758=_0x310537[_0x4f5ab5(0x221)]===_0x4f5ab5(0x16f)?_0x310537[_0x4f5ab5(0x17d)]||GLOBAL_SCOPE_ID:_0x215a7b;_0x457a3b=Promise['resolve'](_0x6a5758+'_'+_0x310537['id']);}return _0x457a3b[_0x4f5ab5(0x237)](_0x4c8743=>{const _0x529ae8=_0x4f5ab5;if(!_0x4c8743)return[];console[_0x529ae8(0x179)](_0x529ae8(0x153)+_0x310537[_0x529ae8(0x1a1)]+_0x529ae8(0x182)+_0x4c8743+')');const _0x2d32a7={'collectionId':_0x4c8743,'searchText':_0x5eb1c1,'topK':settings['advanced'][_0x529ae8(0x1f2)],'threshold':settings[_0x529ae8(0x1f3)]['matchThreshold'],'source':_0x529ae8(0x1e3),'embeddings':{[_0x5eb1c1]:_0x176aeb}};return fetch('/api/vector/query',{'method':_0x529ae8(0x231),'headers':context[_0x529ae8(0x1f9)](),'body':JSON[_0x529ae8(0x174)](_0x2d32a7)})[_0x529ae8(0x237)](async _0x5a6a1a=>{const _0x5872e6=_0x529ae8;if(!_0x5a6a1a['ok']){const _0x2f1a8c=await _0x5a6a1a[_0x5872e6(0x1b3)]();return console[_0x5872e6(0x238)](_0x5872e6(0x1d5)+_0x4c8743+_0x5872e6(0x203),_0x2f1a8c),[];}const _0x46994b=await _0x5a6a1a[_0x5872e6(0x1d6)](),_0x53d7f9=_0x46994b[_0x5872e6(0x15d)]||_0x46994b[_0x5872e6(0x1c2)]||_0x46994b[_0x5872e6(0x150)]||[];return console[_0x5872e6(0x179)](_0x5872e6(0x1cb)+_0x310537[_0x5872e6(0x1a1)]+_0x5872e6(0x18e)+_0x53d7f9[_0x5872e6(0x1d9)]+'\x20条结果。'),_0x53d7f9;})[_0x529ae8(0x1c4)](_0x461323=>{const _0x7cf9d7=_0x529ae8;return console['error'](_0x7cf9d7(0x1d5)+_0x4c8743+_0x7cf9d7(0x1ec),_0x461323),[];});});}),_0x348bc1=await Promise['all'](_0x548b49);_0x4a83a0=_0x348bc1[_0x6ee656(0x1d3)](),console['log'](_0x6ee656(0x151)+_0x4a83a0[_0x6ee656(0x1d9)]+_0x6ee656(0x1ae));const _0x2b46fa=[],_0x4cf984=new Set();for(const _0x48949a of _0x4a83a0){_0x48949a&&_0x48949a[_0x6ee656(0x1b3)]&&!_0x4cf984[_0x6ee656(0x1c0)](_0x48949a[_0x6ee656(0x1b3)])&&(_0x4cf984['add'](_0x48949a['text']),_0x2b46fa['push'](_0x48949a));}return console[_0x6ee656(0x179)]('[翰林院-日志]\x20去重后剩余\x20'+_0x2b46fa[_0x6ee656(0x1d9)]+_0x6ee656(0x1bb)),_0x2b46fa[_0x6ee656(0x21c)]((_0x3acdf8,_0x27b6ce)=>(_0x27b6ce[_0x6ee656(0x1fc)]||0x0)-(_0x3acdf8[_0x6ee656(0x1fc)]||0x0)),_0x2b46fa;}async function insertVectors(_0x2a3578,_0x441a8b=null,_0x161a34){const _0x28cae4=_0x42f4ac;if(!_0x161a34)throw new Error(_0x28cae4(0x1ed));if(_0x2a3578[_0x28cae4(0x1d9)]===0x0)return{'success':!![],'count':0x0};const _0x5b8d50=_0x2a3578[_0x28cae4(0x23b)]((_0x426110,_0x2a0398)=>({'hash':generateHash(_0x426110['text']+Date[_0x28cae4(0x1c6)]()+_0x2a0398),'text':_0x426110['text'],'metadata':_0x426110[_0x28cae4(0x15d)]||{'source':_0x28cae4(0x1af),'timestamp':new Date()[_0x28cae4(0x1b5)]()}})),_0x19b3a6=_0x5b8d50[_0x28cae4(0x1df)]((_0x2f0fab,_0x3be9af,_0x3d31d8)=>{const _0x45d0e6=_0x28cae4;return _0x2f0fab[_0x3be9af['text']]=_0x2a3578[_0x3d31d8][_0x45d0e6(0x239)],_0x2f0fab;},{}),_0x4b75d2={'collectionId':_0x161a34,'items':_0x5b8d50,'source':_0x28cae4(0x1e3),'embeddings':_0x19b3a6},_0x1c8d83=await fetch('/api/vector/insert',{'method':'POST','headers':context[_0x28cae4(0x1f9)](),'body':JSON[_0x28cae4(0x174)](_0x4b75d2),'signal':_0x441a8b});if(!_0x1c8d83['ok']){const _0x42cc5e=await _0x1c8d83[_0x28cae4(0x1b3)]();console['error'](_0x28cae4(0x158),_0x42cc5e);throw new Error(_0x28cae4(0x1ea)+_0x1c8d83[_0x28cae4(0x1db)]+':\x20'+_0x42cc5e);}return{'success':!![],'count':_0x5b8d50[_0x28cae4(0x1d9)]};}async function getVectorCount(_0x3f0b24=null,_0x43a99f=_0x42f4ac(0x205)){const _0x525f12=_0x42f4ac,_0x1958d0=getCharacterStableId();if(_0x3f0b24){const _0x42700c=_0x43a99f===_0x525f12(0x16f)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x5aee97=_0x42700c[_0x3f0b24];if(!_0x5aee97)return console[_0x525f12(0x211)](_0x525f12(0x176)+_0x43a99f+'\x27\x20中未找到ID为\x20'+_0x3f0b24+'\x20的知识库。'),0x0;const _0xa02261=_0x43a99f==='global'?_0x5aee97[_0x525f12(0x17d)]||GLOBAL_SCOPE_ID:_0x1958d0,_0x56c8eb=_0xa02261+'_'+_0x3f0b24;return await countVectorsInCollection(_0x56c8eb);}else{console[_0x525f12(0x179)](_0x525f12(0x163));const _0x2cd7fc=Object[_0x525f12(0x1dc)](getLocalKnowledgeBases()),_0x54807c=Object[_0x525f12(0x1dc)](getGlobalKnowledgeBases()),_0x2eb27c=[];_0x2cd7fc[_0x525f12(0x1c3)](_0x1e69ff=>{const _0x3b4556=_0x525f12,_0x3b35f0=_0x1958d0+'_'+_0x1e69ff['id'];_0x2eb27c[_0x3b4556(0x216)](countVectorsInCollection(_0x3b35f0));}),_0x54807c[_0x525f12(0x1c3)](_0xe6aab9=>{const _0x3ad445=_0x525f12,_0x3be96b=_0xe6aab9[_0x3ad445(0x17d)]||GLOBAL_SCOPE_ID,_0x514f0a=_0x3be96b+'_'+_0xe6aab9['id'];_0x2eb27c[_0x3ad445(0x216)](countVectorsInCollection(_0x514f0a));});const _0x1ac6a0=await _0x445401();_0x2eb27c[_0x525f12(0x216)](countVectorsInCollection(_0x1ac6a0));const _0x4b312e=await Promise['all'](_0x2eb27c),_0x44af36=_0x4b312e[_0x525f12(0x1df)]((_0x445458,_0x600451)=>_0x445458+_0x600451,0x0);return console[_0x525f12(0x179)](_0x525f12(0x1cf)+_0x44af36),_0x44af36;}}async function countVectorsInCollection(_0x356d88){const _0x3c09f3=_0x42f4ac;if(!_0x356d88)return 0x0;console['log'](_0x3c09f3(0x1b7)+_0x356d88);const _0x380b05={'collectionId':_0x356d88,'source':_0x3c09f3(0x1e3),'embeddings':{}};try{const _0x57a8bd=await fetch(_0x3c09f3(0x1f6),{'method':_0x3c09f3(0x231),'headers':context[_0x3c09f3(0x1f9)](),'body':JSON[_0x3c09f3(0x174)](_0x380b05)});if(!_0x57a8bd['ok']){if(_0x57a8bd[_0x3c09f3(0x1db)]===0x194)console['log'](_0x3c09f3(0x1c7)+_0x356d88+'\x20不存在,计为\x200。');else{const _0x2d5f39=await _0x57a8bd[_0x3c09f3(0x1b3)]();console[_0x3c09f3(0x211)](_0x3c09f3(0x198)+_0x356d88+_0x3c09f3(0x20e)+_0x57a8bd[_0x3c09f3(0x1db)]+'):',_0x2d5f39);}return 0x0;}const _0x2dd760=await _0x57a8bd[_0x3c09f3(0x1d6)]();let _0x5abf0a=0x0;if(Array[_0x3c09f3(0x1a6)](_0x2dd760))_0x5abf0a=_0x2dd760[_0x3c09f3(0x1d9)];else _0x2dd760&&_0x2dd760[_0x3c09f3(0x17a)]&&(_0x5abf0a=_0x2dd760[_0x3c09f3(0x17a)][_0x3c09f3(0x1d9)]);return _0x5abf0a;}catch(_0x536223){return console[_0x3c09f3(0x238)](_0x3c09f3(0x20d)+_0x356d88+'\x20时发生网络错误:',_0x536223),0x0;}}async function purgeStorage(_0x2a3d75=null){const _0x11817f=_0x42f4ac;console[_0x11817f(0x179)]('[翰林院-日志]\x20开始清空宝库...');const _0x5a5108=_0x2a3d75||await getCollectionId();if(!_0x5a5108)return console[_0x11817f(0x238)](_0x11817f(0x233)),toastr[_0x11817f(0x238)](_0x11817f(0x14f)),![];console['log'](_0x11817f(0x1a9)+_0x5a5108);const _0x2d229b={'collectionId':_0x5a5108};console[_0x11817f(0x179)](_0x11817f(0x165),JSON[_0x11817f(0x174)](_0x2d229b,null,0x2));const _0x573028=await fetch(_0x11817f(0x234),{'method':_0x11817f(0x231),'headers':context['getRequestHeaders'](),'body':JSON[_0x11817f(0x174)](_0x2d229b)});console['log'](_0x11817f(0x20f)+_0x573028[_0x11817f(0x1db)]);if(!_0x573028['ok']){const _0x4c938a=await _0x573028[_0x11817f(0x1b3)]();console[_0x11817f(0x238)](_0x11817f(0x196),_0x4c938a);}else console['log'](_0x11817f(0x1f7));return _0x573028['ok'];}function _0x472d(_0x325186,_0x4b5f39){const _0x3c6beb=_0x3c6b();return _0x472d=function(_0x472d1d,_0x19f0a9){_0x472d1d=_0x472d1d-0x14b;let _0x5a6285=_0x3c6beb[_0x472d1d];return _0x5a6285;},_0x472d(_0x325186,_0x4b5f39);}function getMessagesForCondensation(_0x5c2a93=null){const _0x1d2f4a=_0x42f4ac;if(!settings[_0x1d2f4a(0x219)][_0x1d2f4a(0x208)])return showNotification(_0x1d2f4a(0x19d),_0x1d2f4a(0x1e6)),[];const {layerStart:_0x10148e,layerEnd:_0x582010}=settings[_0x1d2f4a(0x219)],_0x16eb9f=_0x5c2a93||settings[_0x1d2f4a(0x219)][_0x1d2f4a(0x157)],_0x30081b=context[_0x1d2f4a(0x1a3)][_0x1d2f4a(0x1d9)],_0x19c144=Math[_0x1d2f4a(0x1d1)](0x0,_0x10148e-0x1),_0x460a5e=_0x582010===0x0||_0x582010>_0x30081b?_0x30081b:Math[_0x1d2f4a(0x206)](_0x30081b,_0x582010),_0xad890e=context[_0x1d2f4a(0x1a3)][_0x1d2f4a(0x230)](_0x19c144,_0x460a5e);return _0xad890e[_0x1d2f4a(0x1c8)](_0x34125b=>{const _0x3b40d0=_0x1d2f4a,_0x566d0b=_0x34125b[_0x3b40d0(0x1d7)]===!![],_0x5bbb0d=_0x34125b[_0x3b40d0(0x1d7)]===![];if(!_0x34125b[_0x3b40d0(0x1c9)]||!_0x34125b['mes'][_0x3b40d0(0x1cc)]())return![];return _0x16eb9f[_0x3b40d0(0x1ac)]&&_0x566d0b||_0x16eb9f['ai']&&_0x5bbb0d;});}async function processCondensation(_0x57be32,_0x3993d5=()=>{},_0xeaa323=null){const _0x187597=_0x42f4ac;if(!_0x57be32||_0x57be32[_0x187597(0x1d9)]===0x0)return{'success':![],'error':_0x187597(0x16a)};try{let _0x537b9a,_0x5329d6;const _0x992fac=getCharacterName()||'未知角色';if(_0xeaa323){const _0x2d1b4c=_0xeaa323[_0x187597(0x181)]??'?',_0x1b7724=_0xeaa323[_0x187597(0x1b9)]===0x0?'末':_0xeaa323['end']??'?';_0x537b9a=_0x992fac+':\x20'+_0x2d1b4c+'楼-'+_0x1b7724+'楼';}else{const _0x374f67=new Date()[_0x187597(0x1eb)]('zh-CN',{'hour12':![]});_0x537b9a='聊天记录:\x20'+_0x374f67;}const _0x3fdeeb=Object[_0x187597(0x1dc)](getLocalKnowledgeBases()),_0x1c7033=_0x3fdeeb[_0x187597(0x1d2)](_0x15331e=>_0x15331e[_0x187597(0x1a1)]===_0x537b9a);if(_0x1c7033)_0x5329d6=_0x1c7033['id'],_0x3993d5(_0x187597(0x18c)+_0x537b9a+_0x187597(0x193),_0x187597(0x204));else{_0x3993d5(_0x187597(0x213)+_0x537b9a+_0x187597(0x21f),_0x187597(0x204));const _0x22c5ef=addKnowledgeBase(_0x537b9a);_0x5329d6=_0x22c5ef['id'];}const _0x1ed4ee=getCharacterStableId(),_0x59032b=_0x1ed4ee+'_'+_0x5329d6;_0x3993d5(_0x187597(0x1b0)+_0x537b9a+'\x20(集合ID:\x20'+_0x59032b+')',_0x187597(0x187));const _0x4ef83a=[],_0x3b0efa=context[_0x187597(0x1a3)];for(const _0xe4e11b of _0x57be32){const _0x11d7c3=(_0xe4e11b[_0x187597(0x1c9)]||'')[_0x187597(0x227)](/<[^>]*>/g,'')[_0x187597(0x1cc)]();if(_0x11d7c3['length']===0x0)continue;let _0x3fd542;if(_0xe4e11b[_0x187597(0x223)]!==undefined&&_0xe4e11b[_0x187597(0x223)]!==null)_0x3fd542=_0xe4e11b[_0x187597(0x223)];else{const _0x5216c0=_0x3b0efa[_0x187597(0x177)](_0x505bf4=>_0x505bf4===_0xe4e11b);_0x3fd542=_0x5216c0!==-0x1?_0x5216c0+0x1:-0x1;}const _0x5b1fbc=new Date(_0xe4e11b[_0x187597(0x1ad)]),_0x14d5b3=isNaN(_0x5b1fbc[_0x187597(0x22f)]())?new Date()[_0x187597(0x1b5)]():_0x5b1fbc[_0x187597(0x1b5)](),_0x3c518a=splitIntoChunks(_0x11d7c3,_0x187597(0x18f),{'floor':_0x3fd542,'is_user':_0xe4e11b['is_user'],'timestamp':_0x14d5b3});_0x4ef83a[_0x187597(0x216)](..._0x3c518a);}if(_0x4ef83a['length']===0x0)return{'success':!![],'count':0x0};_0x3993d5(_0x187597(0x1ba)+_0x57be32[_0x187597(0x1d9)]+_0x187597(0x168)+_0x4ef83a[_0x187597(0x1d9)]+_0x187597(0x1c1),'info');const _0x36f0cf=settings[_0x187597(0x22b)][_0x187597(0x1de)]||0x5;let _0x51dd22=0x0;for(let _0x4ecce5=0x0;_0x4ecce5<_0x4ef83a[_0x187597(0x1d9)];_0x4ecce5+=_0x36f0cf){const _0x48bec7=_0x4ef83a[_0x187597(0x230)](_0x4ecce5,_0x4ecce5+_0x36f0cf),_0x3814ed=_0x48bec7[_0x187597(0x23b)](_0x376681=>_0x376681[_0x187597(0x1b3)]),_0x35115a=await getEmbeddings(_0x3814ed);if(_0x48bec7['length']!==_0x35115a[_0x187597(0x1d9)])throw new Error(_0x187597(0x21d));const _0x1627c8=_0x48bec7[_0x187597(0x23b)]((_0x36d28d,_0x2471b5)=>({..._0x36d28d,'vector':_0x35115a[_0x2471b5]}));await insertVectors(_0x1627c8,null,_0x59032b),_0x51dd22+=_0x48bec7[_0x187597(0x1d9)];}if(_0xeaa323){const _0x4510d7=_0xeaa323['end']===0x0?context[_0x187597(0x1a3)][_0x187597(0x1d9)]:_0xeaa323[_0x187597(0x1b9)],_0x121252=getCharacterStableId();!settings[_0x187597(0x1ce)][_0x121252]&&(settings[_0x187597(0x1ce)][_0x121252]={}),settings[_0x187597(0x1ce)][_0x121252][_0x59032b]={'start':_0xeaa323[_0x187597(0x181)],'end':_0x4510d7,'timestamp':new Date()[_0x187597(0x1b5)]()},saveSettings(),_0x3993d5(_0x187597(0x17f)+_0x59032b+'\x20记录凝识范围:\x20'+_0xeaa323[_0x187597(0x181)]+'-'+_0x4510d7,_0x187597(0x204));}_0x3993d5('[翰林院-核心]\x20聊天记录凝识完成,成功插入\x20'+_0x51dd22+'\x20个条目。','success');const _0x49a32e=_0x57be32[_0x187597(0x23b)](_0xfb74f8=>{const _0x110dcb=_0x187597,_0x2d08f8=_0x3b0efa[_0x110dcb(0x177)](_0x19d934=>_0x19d934===_0xfb74f8),_0x48b4ab=_0x2d08f8!==-0x1?_0x2d08f8+0x1:-0x1,_0xdfb442=_0xfb74f8['is_user']?'用户':getCharacterName()||'AI';return'['+_0xdfb442+_0x110dcb(0x156)+_0x48b4ab+_0x110dcb(0x199);});return{'success':!![],'count':_0x51dd22,'messages':_0x49a32e};}catch(_0x40bc99){return console['error'](_0x187597(0x161),_0x40bc99),_0x3993d5('[翰林院-核心]\x20聊天记录凝识失败:\x20'+_0x40bc99[_0x187597(0x14e)],'error'),{'success':![],'error':_0x40bc99['message']};}}async function rerankResults(_0x3c1d95,_0x113c92,_0x20cb93){const _0x500ded=_0x42f4ac;let _0x5a4fbc=_0x3c1d95;if(_0x20cb93[_0x500ded(0x183)][_0x500ded(0x208)]&&_0x3c1d95[_0x500ded(0x1d9)]>0x0){console[_0x500ded(0x179)]('[翰林院-Rerank]\x20开始外部API重排序...');try{const _0x1ca0fd=_0x3c1d95['map'](_0x2c8064=>_0x2c8064[_0x500ded(0x1b3)]),_0x2c7358=await executeRerank(_0x113c92,_0x1ca0fd,_0x20cb93[_0x500ded(0x183)]),_0x1757fe=_0x3c1d95[_0x500ded(0x23b)]((_0x40c44c,_0x56bfc5)=>({..._0x40c44c,'original_index':_0x56bfc5}));_0x5a4fbc=_0x1757fe[_0x500ded(0x23b)](_0x166930=>{const _0x26557a=_0x500ded,_0x4c93ce=_0x2c7358[_0x26557a(0x1c2)][_0x26557a(0x1d2)](_0x2905a8=>_0x2905a8[_0x26557a(0x226)]===_0x166930[_0x26557a(0x1e7)]),_0x4c02a2=_0x4c93ce?_0x4c93ce[_0x26557a(0x1c5)]:0x0;return{..._0x166930,'rerank_score':_0x4c02a2};});if(_0x20cb93[_0x500ded(0x183)][_0x500ded(0x22d)])showNotification(_0x500ded(0x191),_0x500ded(0x187));}catch(_0x51e7ae){console[_0x500ded(0x238)](_0x500ded(0x19c),_0x51e7ae);if(_0x20cb93[_0x500ded(0x183)][_0x500ded(0x22d)])showNotification(_0x500ded(0x1ef)+_0x51e7ae[_0x500ded(0x14e)],_0x500ded(0x238));_0x5a4fbc[_0x500ded(0x1c3)](_0x2dceda=>_0x2dceda[_0x500ded(0x1ab)]=0x0);}}else _0x5a4fbc[_0x500ded(0x1c3)](_0xead488=>_0xead488['rerank_score']=0x0);console['log'](_0x500ded(0x15b));const _0x7e8e35=context['chat'][_0x500ded(0x1d9)],_0x16f9d3=_0x20cb93[_0x500ded(0x183)]['hybrid_alpha'],_0x2c1093=_0x5a4fbc[_0x500ded(0x23b)](_0x155c68=>{const _0x319da=_0x500ded;let _0x3b5b77=0x1;const _0x10b322=_0x155c68[_0x319da(0x15d)]||{};switch(_0x10b322[_0x319da(0x15e)]){case _0x319da(0x1bc):_0x3b5b77*=1.2;break;case'manual':_0x3b5b77*=1.1;break;case _0x319da(0x18f):if(_0x10b322[_0x319da(0x223)]&&_0x7e8e35>0x0){const _0x445f5c=_0x10b322[_0x319da(0x223)]/_0x7e8e35;_0x3b5b77*=0x1+_0x445f5c;}break;}const _0x297a24=_0x155c68[_0x319da(0x1ab)]*_0x16f9d3+(_0x155c68['score']||0x0)*(0x1-_0x16f9d3),_0x475841=_0x297a24*_0x3b5b77;return{..._0x155c68,'final_score':_0x475841};});return _0x2c1093[_0x500ded(0x21c)]((_0x22b359,_0x467335)=>(_0x467335[_0x500ded(0x220)]||0x0)-(_0x22b359[_0x500ded(0x220)]||0x0)),console[_0x500ded(0x179)](_0x500ded(0x1b8)),_0x2c1093['slice'](0x0,_0x20cb93[_0x500ded(0x183)][_0x500ded(0x1da)]);}async function rearrangeChat(_0x306200,_0x36b6c7,_0x3465e1,_0x19c92c){const _0x517272=_0x42f4ac;setExtensionPrompt(_0x517272(0x217),'',settings['injection'][_0x517272(0x1bf)],settings[_0x517272(0x16c)]['depth'],![],settings[_0x517272(0x16c)][_0x517272(0x190)]);if(_0x19c92c===_0x517272(0x16e)||!settings['retrieval'][_0x517272(0x208)])return;const _0x5604c4=_0x306200['slice'](-settings[_0x517272(0x1f3)][_0x517272(0x18d)]);if(_0x5604c4[_0x517272(0x1d9)]===0x0)return;const _0xa9879f=_0x5604c4[_0x517272(0x23b)](_0x638be9=>_0x638be9['mes'])['join']('\x20')[_0x517272(0x227)](/<[^>]*>/g,'')[_0x517272(0x1cc)]();if(!_0xa9879f)return;try{const _0x3adcf6=await queryVectors(_0xa9879f);if(_0x3adcf6[_0x517272(0x1d9)]===0x0)return;const _0x562e9c=await rerankResults(_0x3adcf6,_0xa9879f,settings);if(_0x562e9c[_0x517272(0x1d9)]===0x0)return;const _0x12dd60=_0x562e9c[_0x517272(0x23b)](_0x390b23=>_0x390b23[_0x517272(0x1b3)])[_0x517272(0x1e8)]('\x0a\x0a');let _0x17b2ef=settings['injection'][_0x517272(0x218)][_0x517272(0x227)](_0x517272(0x159),_0x12dd60);_0x17b2ef[_0x517272(0x1cc)]()&&(_0x17b2ef=_0x517272(0x1b2)+_0x17b2ef),setExtensionPrompt(_0x517272(0x217),_0x17b2ef,settings[_0x517272(0x16c)][_0x517272(0x1bf)],settings[_0x517272(0x16c)][_0x517272(0x1b6)],![],settings['injection'][_0x517272(0x190)]);}catch(_0x47bf14){console['error'](_0x517272(0x154),_0x47bf14);if(settings[_0x517272(0x22b)][_0x517272(0x22d)])showNotification('忆识检索失败:\x20'+_0x47bf14[_0x517272(0x14e)],'error');}}async function moveKnowledgeBase(_0x463824,_0x3d832b){const _0x2b2268=_0x42f4ac,_0x430e4a=_0x3d832b==='global'?_0x2b2268(0x205):_0x2b2268(0x16f),_0x1d1e0d=getCharacterStableId();if(!_0x1d1e0d&&_0x430e4a===_0x2b2268(0x205)){toastr[_0x2b2268(0x238)](_0x2b2268(0x20a));return;}const _0xab090c=_0x3d832b==='global'?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x21bf5a=_0x430e4a===_0x2b2268(0x16f)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x28d5cf=_0xab090c[_0x463824];if(!_0x28d5cf){const _0x546a70='在源作用域\x20\x27'+_0x3d832b+_0x2b2268(0x1d8)+_0x463824+'\x20的知识库。';console[_0x2b2268(0x238)]('[翰林院-配置]\x20'+_0x546a70),toastr[_0x2b2268(0x238)](_0x2b2268(0x17b));return;}_0x3d832b===_0x2b2268(0x205)&&_0x430e4a===_0x2b2268(0x16f)&&!_0x28d5cf[_0x2b2268(0x17d)]&&(console[_0x2b2268(0x179)](_0x2b2268(0x1e9)+_0x463824+_0x2b2268(0x16b)+_0x1d1e0d),_0x28d5cf['owner']=_0x1d1e0d);delete _0xab090c[_0x463824],_0x21bf5a[_0x463824]=_0x28d5cf,saveSettings();const _0x41e8a5=_0x2b2268(0x15f)+_0x28d5cf[_0x2b2268(0x1a1)]+_0x2b2268(0x20b)+(_0x430e4a===_0x2b2268(0x16f)?'全局':'局部')+'。';console[_0x2b2268(0x179)](_0x2b2268(0x229)+_0x41e8a5),toastr['success'](_0x41e8a5,'配置更新');}async function getAllVectorsFromCollection(_0x53e8aa){const _0x577dd0=_0x42f4ac,_0x567c7b='*',_0x464606={'collectionId':_0x53e8aa,'searchText':_0x567c7b,'topK':0x2710,'threshold':0x0,'source':'webllm','embeddings':{}},_0x3c6179=(await getEmbeddings([_0x567c7b]))[0x0];_0x464606[_0x577dd0(0x188)]={[_0x567c7b]:_0x3c6179};const _0x66c977=await fetch(_0x577dd0(0x184),{'method':_0x577dd0(0x231),'headers':context['getRequestHeaders'](),'body':JSON[_0x577dd0(0x174)](_0x464606)});if(!_0x66c977['ok']){if(_0x66c977[_0x577dd0(0x1db)]===0x194)return console[_0x577dd0(0x179)]('[翰林院-迁移]\x20集合\x20'+_0x53e8aa+_0x577dd0(0x207)),[];const _0x58fe26=await _0x66c977['text']();throw new Error(_0x577dd0(0x209)+_0x53e8aa+_0x577dd0(0x155)+_0x58fe26);}const _0x27f6e9=await _0x66c977[_0x577dd0(0x1d6)]();return _0x27f6e9[_0x577dd0(0x15d)]||_0x27f6e9[_0x577dd0(0x1c2)]||_0x27f6e9[_0x577dd0(0x150)]||[];} +'use strict';const _0x468c3a=_0x5109;(function(_0x4cafd9,_0x5b8e51){const _0x3c5930=_0x5109,_0x3967f6=_0x4cafd9();while(!![]){try{const _0x5c9a38=-parseInt(_0x3c5930(0x17d))/0x1+-parseInt(_0x3c5930(0x167))/0x2+-parseInt(_0x3c5930(0x126))/0x3+-parseInt(_0x3c5930(0x159))/0x4*(parseInt(_0x3c5930(0x1ee))/0x5)+-parseInt(_0x3c5930(0x184))/0x6*(-parseInt(_0x3c5930(0x1b0))/0x7)+parseInt(_0x3c5930(0x121))/0x8*(-parseInt(_0x3c5930(0x1b9))/0x9)+parseInt(_0x3c5930(0x142))/0xa*(parseInt(_0x3c5930(0x160))/0xb);if(_0x5c9a38===_0x5b8e51)break;else _0x3967f6['push'](_0x3967f6['shift']());}catch(_0xc8b8df){_0x3967f6['push'](_0x3967f6['shift']());}}}(_0x5abd,0xf1a11));function _0x5109(_0x12e9f5,_0x11e87e){const _0x5abd46=_0x5abd();return _0x5109=function(_0x51095a,_0x67ba8){_0x51095a=_0x51095a-0x118;let _0x41c784=_0x5abd46[_0x51095a];return _0x41c784;},_0x5109(_0x12e9f5,_0x11e87e);}import{extension_prompt_roles,setExtensionPrompt}from'/script.js';import*as _0x36cde4 from'./utils/context-utils.js';import{getCollectionIdInfo,getCharacterId,getCharacterStableId}from'./utils/context-utils.js';import{defaultSettings as _0x12e010}from'./rag-settings.js';import*as _0x16fcfd from'./ingestion-manager.js';import{getEmbeddings,fetchEmbeddingModels as _0x270350,fetchRerankModels as _0xaf9e02,executeRerank,testApiConnection as _0x5397dd}from'./rag-api.js';const MODULE_NAME=_0x468c3a(0x13d),OFFICIAL_REARRANGE_CHAT_FUNCTION_NAME='vectors_rearrangeChat',GLOBAL_SCOPE_ID=_0x468c3a(0x175);let context=null,settings=null,lockedCollectionId=null;export{initialize,getSettings,saveSettings,resetSettings,_0x5397dd as testApiConnection,_0x270350 as fetchEmbeddingModels,_0xaf9e02 as fetchRerankModels,getVectorCount,purgeStorage,getMessagesForCondensation,processCondensation,ingestTextToHanlinyuan,getCollectionId,toggleSessionLock,isSessionLocked,getLockedSessionInfo,addKnowledgeBase,removeKnowledgeBase,getLocalKnowledgeBases,getGlobalKnowledgeBases,toggleKnowledgeBase,moveKnowledgeBase};function initialize(){const _0x27d9da=_0x468c3a;context=SillyTavern['getContext']();if(!context){console[_0x27d9da(0x173)](_0x27d9da(0x1f8));return;}settings=getSettings(),!window[_0x27d9da(0x171)]&&(window[_0x27d9da(0x171)]={}),window['hanlinyuanRagProcessor'][_0x27d9da(0x141)]=rearrangeChat,window[_0x27d9da(0x171)][_0x27d9da(0x165)]=!![],console[_0x27d9da(0x187)](_0x27d9da(0x11c));}async function ingestTextToHanlinyuan(_0x3ba7af,_0x578c53=_0x468c3a(0x130),_0x14e43f={},_0x24c022=()=>{},_0x2f2451=null,_0x233087=()=>{},_0x87f819=()=>{},_0xfd6cb8=null,_0x409ded=0x0){const _0x404fb5=_0x468c3a;if(!_0x3ba7af||!_0x3ba7af[_0x404fb5(0x1c9)]())return{'success':![],'error':_0x404fb5(0x1a6)};if(!settings)return{'success':![],'error':_0x404fb5(0x1df)};try{const _0x3b439e=getCollectionIdInfo(),_0x2f9711=await _0x2f878b();if(_0x3b439e[_0x404fb5(0x1ce)]&&_0x3b439e[_0x404fb5(0x1ce)]===_0x2f9711&&_0x3b439e[_0x404fb5(0x1ce)]!==_0x3b439e['newId']){const _0x4ad7c9=confirm(_0x404fb5(0x123));if(_0x4ad7c9)_0x233087(_0x404fb5(0x1f4)+_0x3b439e['oldId'],_0x404fb5(0x172)),await purgeStorage(_0x3b439e[_0x404fb5(0x1ce)]),_0x233087(_0x404fb5(0x197),_0x404fb5(0x185));else return _0x233087('[翰林院-迁移]\x20用户取消了迁移操作。',_0x404fb5(0x1bc)),toastr['info']('操作已取消。'),{'success':![],'error':_0x404fb5(0x161)};}let _0x87d125,_0x57070d;const _0xc9c683=new Date()['toLocaleString'](_0x404fb5(0x13a),{'hour12':![]}),_0x591ee8=getCharacterName()||'未知角色';switch(_0x578c53){case _0x404fb5(0x1e2):const _0x372dc0=_0x14e43f[_0x404fb5(0x1e7)]||{},_0x5b1d1c=_0x372dc0[_0x404fb5(0x1d4)]??'?',_0x870d6=_0x372dc0[_0x404fb5(0x139)]===0x0?'末':_0x372dc0[_0x404fb5(0x139)]??'?';_0x87d125=_0x591ee8+':\x20'+_0x5b1d1c+'楼-'+_0x870d6+'楼';break;case'lorebook':const _0x342262=_0x14e43f[_0x404fb5(0x1da)]||_0x404fb5(0x180),_0x24af59=_0x14e43f[_0x404fb5(0x145)]||_0x404fb5(0x1ea);_0x87d125=_0x342262+':\x20'+_0x24af59;break;case'novel':_0x87d125='小说:\x20'+(_0x14e43f['sourceName']||'未知小说');break;case _0x404fb5(0x130):default:_0x87d125='手动录入:\x20'+_0xc9c683;break;}const _0x1f71b9=Object[_0x404fb5(0x1b5)](getKnowledgeBases()),_0x2dbe49=_0x1f71b9[_0x404fb5(0x1a0)](_0x5e2d76=>_0x5e2d76[_0x404fb5(0x17f)]===_0x87d125);if(_0x2dbe49)_0x57070d=_0x2dbe49['id'],_0x233087(_0x404fb5(0x168)+_0x87d125+_0x404fb5(0x1a2),_0x404fb5(0x1bc));else{_0x233087(_0x404fb5(0x1ae)+_0x87d125+_0x404fb5(0x14c),_0x404fb5(0x1bc));const _0x557d84=addKnowledgeBase(_0x87d125);_0x57070d=_0x557d84['id'];}const _0x3750dd=getCharacterStableId(),_0x2f2d61=_0x3750dd+'_'+_0x57070d;_0x233087(_0x404fb5(0x194)+_0x87d125+'\x20(集合ID:\x20'+_0x2f2d61+')',_0x404fb5(0x185)),_0x233087(_0x404fb5(0x183)+_0x2f2d61,_0x404fb5(0x1bc)),_0x24c022({'message':'正在智能分块...','processed':0x0,'total':0x1});const _0x24cc7e=splitIntoChunks(_0x3ba7af,_0x578c53,_0x14e43f),_0x40b090=_0x24cc7e[_0x404fb5(0x1be)];if(_0x2f2451?.[_0x404fb5(0x19a)])throw new Error('AbortError');_0x233087(_0x404fb5(0x1f6)+_0x87d125+_0x404fb5(0x1cb)+_0x40b090+_0x404fb5(0x151),'info');if(_0x40b090===0x0)return{'success':!![],'count':0x0};const _0x31790b=settings[_0x404fb5(0x18e)][_0x404fb5(0x1fe)]||0x5;let _0xc69787=_0x409ded;for(let _0x373f3d=_0x409ded;_0x373f3d<_0x40b090;_0x373f3d+=_0x31790b){if(_0x2f2451?.['aborted'])throw new Error(_0x404fb5(0x11e));const _0x4f4641=_0x24cc7e[_0x404fb5(0x1e0)](_0x373f3d,_0x373f3d+_0x31790b);_0x24c022({'message':_0x404fb5(0x1de)+(_0x373f3d+0x1)+'-'+(_0x373f3d+_0x4f4641[_0x404fb5(0x1be)])+'\x20块','processed':_0x373f3d,'total':_0x40b090});const _0x141e3b=_0x4f4641[_0x404fb5(0x118)](_0x5a9e7b=>_0x5a9e7b[_0x404fb5(0x153)]),_0x40ff4d=await getEmbeddings(_0x141e3b,_0x2f2451);if(_0x2f2451?.[_0x404fb5(0x19a)])throw new Error(_0x404fb5(0x11e));if(_0x4f4641[_0x404fb5(0x1be)]!==_0x40ff4d['length'])throw new Error('文本块和向量数量不匹配');const _0x2c1d8a=_0x4f4641[_0x404fb5(0x118)]((_0x4a602c,_0x1fd2b0)=>({..._0x4a602c,'vector':_0x40ff4d[_0x1fd2b0]}));await insertVectors(_0x2c1d8a,_0x2f2451,_0x2f2d61),_0xc69787+=_0x4f4641['length'],_0xfd6cb8&&_0x16fcfd['saveProgress'](_0xfd6cb8,_0xc69787,_0x40b090),await _0x87f819();}return _0xfd6cb8&&_0x16fcfd['clearJob'](_0xfd6cb8),_0x233087(_0x404fb5(0x12b)+_0xc69787+_0x404fb5(0x208),'success'),{'success':!![],'count':_0xc69787};}catch(_0x34f2d6){if(_0x34f2d6[_0x404fb5(0x17f)]==='AbortError'){_0x233087(_0x404fb5(0x14a),_0x404fb5(0x172));throw _0x34f2d6;}return console[_0x404fb5(0x173)](_0x404fb5(0x1bf),_0x34f2d6),_0x233087(_0x404fb5(0x14e)+_0x34f2d6[_0x404fb5(0x1e4)],_0x404fb5(0x173)),{'success':![],'error':_0x34f2d6['message']};}}function getSettings(){const _0x215b6e=_0x468c3a;if(!context||!context[_0x215b6e(0x1cf)])return structuredClone(_0x12e010);let _0xbd416c=context['extensionSettings'][MODULE_NAME];!_0xbd416c&&(_0xbd416c={},context[_0x215b6e(0x1cf)][MODULE_NAME]=_0xbd416c);_0xbd416c[_0x215b6e(0x1a4)]===undefined&&(_0xbd416c[_0x215b6e(0x1a4)]={});_0xbd416c[_0x215b6e(0x1bd)]===undefined&&(_0xbd416c[_0x215b6e(0x1bd)]={});for(const _0x4a808f in _0x12e010){if(_0xbd416c[_0x4a808f]===undefined)_0xbd416c[_0x4a808f]=structuredClone(_0x12e010[_0x4a808f]);else{if(typeof _0x12e010[_0x4a808f]===_0x215b6e(0x19c)&&!Array[_0x215b6e(0x174)](_0x12e010[_0x4a808f])&&_0x12e010[_0x4a808f]!==null)for(const _0x2b9311 in _0x12e010[_0x4a808f]){_0xbd416c[_0x4a808f][_0x2b9311]===undefined&&(_0xbd416c[_0x4a808f][_0x2b9311]=_0x12e010[_0x4a808f][_0x2b9311]);}}}return _0xbd416c;}function saveSettings(){const _0x64237=_0x468c3a;if(context)context[_0x64237(0x1a3)]();}function _0x5abd(){const _0x2f31c6=['enabled','chat','[翰林院-日志]\x20统计目标集合ID:\x20','rerank','在源作用域\x20\x27','trim','删除知识库失败,未能清空后端数据。','\x27的文本分割成\x20','user','[翰林院-核心]\x20已为角色\x20','oldId','extensionSettings','[翰林院]\x20检索或注入时发生错误:','send_date','scope','[翰林院-核心]\x20清空向量集合\x20','start','第1章','reduce','[翰林院-核心]\x20准备删除知识库\x20',',将清空集合:\x20','外部Rerank完成','bookName','push','replace','substring','正在处理\x20','核心未初始化','slice','score','chat_history','is_user','message','手动录入','[翰林院-日志]\x20无法确定要清空的目标集合ID。','range','旧版宝库\x20(Legacy)','\x20及其向量数据。','未知条目','部分]','[翰林院-日志]\x20集合\x20','[翰林院-日志]\x20获取集合\x20','4179850niVWdG','[翰林院-核心]\x20已将\x20','\x20列表API时出现问题\x20(状态:\x20','owner','local','filter','[翰林院-迁移]\x20用户确认迁移,正在处理旧宝库:\x20','[翰林院-核心]\x20成功删除知识库\x20','[翰林院-核心]\x20将来源\x27','[来源:\x20聊天记录,\x20楼层:\x20#','[翰林院]\x20未能获取SillyTavern上下文,初始化失败。','injection','世界书条目','%%HANLINYUAN_RAG_INJECTION%%','random','[翰林院-日志]\x20开始获取所有知识库的向量总数...','batchSize','\x20(范围:\x20','toISOString','[翰林院-配置]\x20为旧版知识库\x20','[翰林院-Rerank]\x20开始元数据加权最终排序...','Rerank失败:\x20','notify','mes','移动失败:没有当前角色,无法移入局部知识库。','\x20的知识库。','\x20个向量条目。','map','top_n','[翰林院-日志]\x20清空目标集合ID:\x20','移动失败:未找到源条目。','翰林院忆识核心已启动\x20(V5.2-集成版),已注册到全局\x20hanlinyuanRagProcessor\x20对象。','\x20不存在,返回空数组。','AbortError','all','[翰林院-日志]\x20查询知识库\x20','482904aeFLUw','results','检测到旧版数据。此操作将把旧数据迁移到新格式,过程不可逆,是否继续?','[翰林院-日志]\x20没有启用的新知识库,尝试查询旧版单体宝库...','小说录入','538785TIHqyF','[翰林院-日志]\x20所有知识库查询完毕,共获得\x20','[翰林院-核心]\x20凝识任务已锁定知识库:\x20',',\x20第1卷,\x20第1章,\x20第','No\x20messages\x20to\x20process.','[翰林院-核心]\x20成功插入\x20','rerank_score','[翰林院-迁移]\x20集合\x20','sourceName','[翰林院-日志]\x20清空宝库API调用成功。','manual','messageTypes','\x20失败:\x20','{{text}}','/api/vector/insert','abs','未知角色','文本块和向量数量不匹配','[翰林院-配置]\x20','end','zh-CN','\x20个条目。','floor','hanlinyuan-rag-core','metadata','[翰林院-Rerank]\x20外部Rerank失败,将仅使用内部加权。','then','rearrangeChat','3753800RniVfW','unknown',',\x20第','entryName','凝识之权未开启','知识库【','/api/vector/query','vector','[翰林院-核心]\x20文本录入任务被用户中止。','now','\x22\x20创建专属知识库...','\x27,使用通用分块逻辑。','[翰林院-核心]\x20文本录入失败:\x20','forEach','[来源:\x20','\x20个块。','getTime','text','/api/vector/purge','[翰林院-Rerank]\x20元数据加权排序完成。','getRequestHeaders','json','聊天记录:\x20','8fydyzk','position','relevance_score','POST','\x20个知识块,准备入库。','\x27\x20中未找到ID为\x20',')\x20的状态已切换为:\x20','121FheHoN','用户取消了迁移操作','[翰林院-日志]\x20开始清空宝库...','\x20(集合ID:\x20','第1卷','initialized','original_index','2417238xTSDDq','[翰林院-核心]\x20检测到同名知识库\x20\x22','忆识存入API错误\x20','findIndex','legacy','webllm','source','\x20(ID:\x20','[翰林院-核心]\x20聊天记录凝识失败:\x20','聊天记录','hanlinyuanRagProcessor','warn','error','isArray','_global','global','[翰林院-核心]\x20已为宝库\x20','知识库\x20\x22','\x20时发生网络错误:','[翰林院-计数]\x20在作用域\x20\x27','(已锁定:\x20','min','1585011VOljWC','hashes','name','未分类世界书','无法确定要清空的目标宝库。','\x20失败,删除操作中止。','[翰林院-核心]\x20已锁定忆识宝库ID:\x20','10120722HUgyHZ','success','[翰林院-日志]\x20清空宝库API错误:','log','\x0a0x0){const _0x5ca35c={'source':_0x1853ae(0x1a9),'sourceName':sourceName,'timestamp':new Date()[_0x1853ae(0x200)](),'globalIndex':_0x2daa41++,'volume':_0x30c47a,'chapter':_0x382966,'section':_0xb1c047},_0x169c13=getTagForSource(_0x1853ae(0x1a9)),_0x162a67=_0x1853ae(0x150)+sourceName+',\x20'+_0x30c47a+',\x20'+_0x382966+_0x1853ae(0x144)+_0xb1c047+'节]',_0x524e43='<'+_0x169c13+'>\x0a'+_0x162a67+'\x0a'+_0x16e4e5+_0x1853ae(0x188)+_0x169c13+'>';_0x3e7c41[_0x1853ae(0x1db)]({'text':_0x524e43,'metadata':_0x5ca35c}),_0xb1c047++;}_0x595b44+=_0x52b605-_0x3bee5a;if(_0x595b44>=_0x472862[_0x1853ae(0x1be)])break;}_0x3e29ed=[];}for(const _0x1a6432 of _0x31df65){const _0x3df284=_0x1a6432[_0x3aa47a(0x1c9)]();if(_0x3d012e[_0x3aa47a(0x19e)](_0x3df284))_0xb86dc6(),_0x30c47a=_0x3df284,_0x382966=_0x3aa47a(0x1d5);else _0x2c1e0c[_0x3aa47a(0x19e)](_0x3df284)?(_0xb86dc6(),_0x382966=_0x3df284):_0x3e29ed['push'](_0x1a6432);}_0xb86dc6();if(_0x3e7c41[_0x3aa47a(0x1be)]===0x0&&_0x159b05[_0x3aa47a(0x1be)]>0x0){let _0x1c2e04=0x0,_0x694a72=0x1;while(_0x1c2e04<_0x159b05[_0x3aa47a(0x1be)]){const _0x4c2ee0=Math['min'](_0x1c2e04+_0x52b605,_0x159b05[_0x3aa47a(0x1be)]),_0x118160=_0x159b05[_0x3aa47a(0x1dd)](_0x1c2e04,_0x4c2ee0),_0x49469d={'source':_0x3aa47a(0x1a9),'sourceName':sourceName,'timestamp':new Date()[_0x3aa47a(0x200)](),'globalIndex':_0x3e7c41[_0x3aa47a(0x1be)],'volume':_0x3aa47a(0x164),'chapter':_0x3aa47a(0x1d5),'section':_0x694a72},_0x303960=getTagForSource(_0x3aa47a(0x1a9)),_0x4c245f='[来源:\x20'+sourceName+_0x3aa47a(0x129)+_0x694a72+'节]',_0x1afedf='<'+_0x303960+'>\x0a'+_0x4c245f+'\x0a'+_0x118160+'\x0a';_0x3e7c41[_0x3aa47a(0x1db)]({'text':_0x1afedf,'metadata':_0x49469d}),_0x694a72++,_0x1c2e04+=_0x52b605-_0x3bee5a;}}return _0x3e7c41;}function _chunkForChatHistory(_0x2b28a2,_0x3155d3){const _0x20648e=_0x468c3a,{chunkSize:_0x5a411c,overlap:_0x32cc59}=settings[_0x20648e(0x196)],{floor:_0x14715a,is_user:_0x2f6b17,timestamp:_0x37db92}=_0x3155d3,_0x277a6f=[];if(!_0x2b28a2||_0x5a411c<=0x0)return _0x277a6f;let _0x1204fb=0x1,_0x59669e=0x0;while(_0x59669e<_0x2b28a2['length']){const _0x2338e9=Math[_0x20648e(0x17c)](_0x59669e+_0x5a411c,_0x2b28a2['length']),_0x32aace=_0x2b28a2[_0x20648e(0x1dd)](_0x59669e,_0x2338e9),_0x491cae=_0x20648e(0x1f7)+_0x14715a+_0x20648e(0x144)+_0x1204fb+_0x20648e(0x1eb),_0x7016d5=getTagForSource(_0x20648e(0x1e2)),_0x222375='<'+_0x7016d5+'>\x0a'+_0x491cae+'\x0a'+_0x32aace+_0x20648e(0x188)+_0x7016d5+'>';_0x277a6f[_0x20648e(0x1db)]({'text':_0x222375,'metadata':{'source':_0x20648e(0x1e2),'sourceName':'聊天记录\x20#'+_0x14715a,'floor':_0x14715a,'part':_0x1204fb,'is_user':_0x2f6b17,'timestamp':_0x37db92}}),_0x1204fb++,_0x59669e+=_0x5a411c-_0x32cc59;if(_0x59669e>=_0x2b28a2['length'])break;}return _0x277a6f;}function _chunkForLorebook(_0x418b34,_0x39e2ea){const _0x207880=_0x468c3a,{chunkSize:_0x658110,overlap:_0xb6e86b}=settings['advanced'],{sourceName:sourceName=_0x207880(0x1fa)}=_0x39e2ea,_0x5f0fb7=[];if(!_0x418b34||_0x658110<=0x0)return _0x5f0fb7;let _0x4d76b9=0x1,_0x393840=0x0;while(_0x393840<_0x418b34[_0x207880(0x1be)]){const _0x5cf712=Math[_0x207880(0x17c)](_0x393840+_0x658110,_0x418b34['length']),_0x2e1d48=_0x418b34[_0x207880(0x1dd)](_0x393840,_0x5cf712),_0x2ffa50=_0x207880(0x1c2)+sourceName+_0x207880(0x144)+_0x4d76b9+_0x207880(0x1eb),_0x279f82=getTagForSource('lorebook'),_0x35ba04='<'+_0x279f82+'>\x0a'+_0x2ffa50+'\x0a'+_0x2e1d48+_0x207880(0x188)+_0x279f82+'>';_0x5f0fb7[_0x207880(0x1db)]({'text':_0x35ba04,'metadata':{'source':_0x207880(0x189),'sourceName':sourceName,'part':_0x4d76b9,'timestamp':new Date()[_0x207880(0x200)]()}}),_0x4d76b9++,_0x393840+=_0x658110-_0xb6e86b;if(_0x393840>=_0x418b34['length'])break;}return _0x5f0fb7;}function _chunkForManual(_0x201430,_0x735b5){const _0x68ec94=_0x468c3a,{chunkSize:_0x4a1534,overlap:_0x5ca975}=settings[_0x68ec94(0x196)],{sourceName:sourceName=_0x68ec94(0x1e5)}=_0x735b5,_0x1d631a=[];if(!_0x201430||_0x4a1534<=0x0)return _0x1d631a;const _0x27bbb8=new Date(),_0x2202d7=_0x27bbb8[_0x68ec94(0x1bb)](_0x68ec94(0x13a));let _0x5318c2=0x1,_0x2221f2=0x0;while(_0x2221f2<_0x201430[_0x68ec94(0x1be)]){const _0x3a0d80=Math[_0x68ec94(0x17c)](_0x2221f2+_0x4a1534,_0x201430[_0x68ec94(0x1be)]),_0x2439b9=_0x201430[_0x68ec94(0x1dd)](_0x2221f2,_0x3a0d80),_0x4595a6=_0x68ec94(0x150)+sourceName+',\x20向量化录入时间:\x20'+_0x2202d7+_0x68ec94(0x144)+_0x5318c2+_0x68ec94(0x1eb),_0x2db1a1=getTagForSource('manual'),_0x4394d3='<'+_0x2db1a1+'>\x0a'+_0x4595a6+'\x0a'+_0x2439b9+'\x0a';_0x1d631a[_0x68ec94(0x1db)]({'text':_0x4394d3,'metadata':{'source':'manual','sourceName':sourceName,'part':_0x5318c2,'timestamp':_0x27bbb8['toISOString']()}}),_0x5318c2++,_0x2221f2+=_0x4a1534-_0x5ca975;if(_0x2221f2>=_0x201430[_0x68ec94(0x1be)])break;}return _0x1d631a;}import{getCollectionId as _0x2f878b,getCharacterName}from'./utils/context-utils.js';async function getCollectionId(){return lockedCollectionId||await _0x2f878b();}async function toggleSessionLock(){return lockedCollectionId?(lockedCollectionId=null,![]):(lockedCollectionId=await _0x2f878b(),!![]);}function isSessionLocked(){return lockedCollectionId!==null;}function getLockedSessionInfo(){const _0x2437fb=_0x468c3a;if(!lockedCollectionId)return null;return{'id':lockedCollectionId,'name':_0x2437fb(0x17b)+lockedCollectionId['substring'](0x0,0x8)+'...)'};}function getLocalKnowledgeBases(){const _0x25b829=_0x468c3a,_0x2bc854=getCharacterStableId();return!settings[_0x25b829(0x1bd)][_0x2bc854]&&(settings[_0x25b829(0x1bd)][_0x2bc854]={}),settings[_0x25b829(0x1bd)][_0x2bc854];}function getGlobalKnowledgeBases(){const _0x43a896=_0x468c3a;return!settings[_0x43a896(0x1bd)][GLOBAL_SCOPE_ID]&&(settings['knowledgeBases'][GLOBAL_SCOPE_ID]={}),settings[_0x43a896(0x1bd)][GLOBAL_SCOPE_ID];}function getKnowledgeBases(){const _0x21680e=getLocalKnowledgeBases(),_0x227c95=getGlobalKnowledgeBases();return{..._0x227c95,..._0x21680e};}function addKnowledgeBase(_0x204ff7){const _0x44e7f5=_0x468c3a;if(!_0x204ff7||!_0x204ff7[_0x44e7f5(0x1c9)]())throw new Error('知识库名称不能为空');const _0x1fffbf=getCharacterStableId(),_0x2c55c8=getLocalKnowledgeBases(),_0x1964ef='task_'+Date['now']()+'_'+Math[_0x44e7f5(0x1fc)]()[_0x44e7f5(0x1b8)](0x24)[_0x44e7f5(0x1dd)](0x2,0x9),_0x5968e7={'id':_0x1964ef,'name':_0x204ff7[_0x44e7f5(0x1c9)](),'enabled':!![],'createdAt':new Date()[_0x44e7f5(0x200)](),'owner':_0x1fffbf};return _0x2c55c8[_0x1964ef]=_0x5968e7,saveSettings(),console['log'](_0x44e7f5(0x1cd)+_0x1fffbf+_0x44e7f5(0x1c1)+_0x204ff7+_0x44e7f5(0x16e)+_0x1964ef+')'),_0x5968e7;}async function removeKnowledgeBase(_0x5f36b8,_0x5b6f88){const _0x23f2cc=_0x468c3a,_0x12463f=getCharacterStableId(),_0x2f4602=_0x5b6f88===_0x23f2cc(0x176)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x1df496=_0x2f4602[_0x5f36b8],_0xb733bc=_0x1df496?.[_0x23f2cc(0x17f)]||_0x5f36b8;if(!_0x1df496){console[_0x23f2cc(0x172)]('[翰林院-核心]\x20尝试删除一个不存在的知识库:\x20'+_0x5f36b8+_0x23f2cc(0x1ff)+_0x5b6f88+')');return;}const _0x41a73=_0x5b6f88===_0x23f2cc(0x176)?_0x1df496[_0x23f2cc(0x1f1)]||GLOBAL_SCOPE_ID:_0x12463f,_0xb8a181=_0x41a73+'_'+_0x5f36b8;console[_0x23f2cc(0x187)](_0x23f2cc(0x1d7)+_0x5f36b8+_0x23f2cc(0x1d8)+_0xb8a181);const _0x4125fa=await purgeStorage(_0xb8a181);_0x4125fa?(delete _0x2f4602[_0x5f36b8],saveSettings(),console[_0x23f2cc(0x187)](_0x23f2cc(0x1f5)+_0x5f36b8+_0x23f2cc(0x1e9)),toastr[_0x23f2cc(0x185)](_0x23f2cc(0x178)+_0xb733bc+'\x22\x20已删除。')):(console[_0x23f2cc(0x173)](_0x23f2cc(0x1d3)+_0xb8a181+_0x23f2cc(0x182)),toastr[_0x23f2cc(0x173)](_0x23f2cc(0x1ca)));}function toggleKnowledgeBase(_0x53e845,_0x38abd8){const _0xd96320=_0x468c3a,_0x96fbd8=_0x38abd8==='global'?getGlobalKnowledgeBases():getLocalKnowledgeBases();_0x96fbd8[_0x53e845]&&(_0x96fbd8[_0x53e845][_0xd96320(0x1c4)]=!_0x96fbd8[_0x53e845][_0xd96320(0x1c4)],saveSettings(),console[_0xd96320(0x187)]('[翰林院-核心]\x20知识库\x20'+_0x53e845+_0xd96320(0x1ff)+_0x38abd8+_0xd96320(0x15f)+(_0x96fbd8[_0x53e845][_0xd96320(0x1c4)]?'启用':'禁用')));}function generateHash(_0xfb92ab){const _0x22355b=_0x468c3a;let _0x251288=0x0;for(let _0x2954e5=0x0;_0x2954e5<_0xfb92ab[_0x22355b(0x1be)];_0x2954e5++){const _0x1b8e60=_0xfb92ab[_0x22355b(0x19f)](_0x2954e5);_0x251288=(_0x251288<<0x5)-_0x251288+_0x1b8e60,_0x251288=_0x251288&_0x251288;}return Math[_0x22355b(0x135)](_0x251288)['toString'](0x24);}async function queryVectors(_0x5160d3){const _0x33b40d=_0x468c3a;console[_0x33b40d(0x187)]('[翰林院-日志]\x20开始多知识库向量查询...');const _0x45397b=getCharacterStableId(),_0x46b2d1=getLocalKnowledgeBases(),_0x7e21b7=getGlobalKnowledgeBases(),_0x407f9d=Object[_0x33b40d(0x1b5)](_0x46b2d1)[_0x33b40d(0x1f3)](_0x1b98c0=>_0x1b98c0[_0x33b40d(0x1c4)]),_0x51ef43=Object['values'](_0x7e21b7)['filter'](_0x11d9b8=>_0x11d9b8[_0x33b40d(0x1c4)]),_0x52f16b=[..._0x407f9d[_0x33b40d(0x118)](_0x44b79f=>({..._0x44b79f,'scope':'local'})),..._0x51ef43[_0x33b40d(0x118)](_0x4b16f6=>({..._0x4b16f6,'scope':_0x33b40d(0x176)}))];if(_0x52f16b[_0x33b40d(0x1be)]===0x0){console[_0x33b40d(0x187)](_0x33b40d(0x124));const _0x289e2a=await _0x2f878b();if(!_0x289e2a)return[];_0x52f16b[_0x33b40d(0x1db)]({'id':null,'name':_0x33b40d(0x1e8),'scope':'legacy'});}const _0x56c3aa=(await getEmbeddings([_0x5160d3]))[0x0];let _0x5b726c=[];const _0x2cd380=_0x52f16b[_0x33b40d(0x118)](_0x4472d6=>{const _0x1a9b52=_0x33b40d;let _0x108f09;if(_0x4472d6['scope']===_0x1a9b52(0x16b))_0x108f09=_0x2f878b();else{const _0x48a031=_0x4472d6[_0x1a9b52(0x1d2)]===_0x1a9b52(0x176)?_0x4472d6[_0x1a9b52(0x1f1)]||GLOBAL_SCOPE_ID:_0x45397b;_0x108f09=Promise['resolve'](_0x48a031+'_'+_0x4472d6['id']);}return _0x108f09[_0x1a9b52(0x140)](_0x2b7159=>{const _0x112830=_0x1a9b52;if(!_0x2b7159)return[];console[_0x112830(0x187)](_0x112830(0x1af)+_0x4472d6[_0x112830(0x17f)]+_0x112830(0x16e)+_0x2b7159+')');const _0x5d7b59={'collectionId':_0x2b7159,'searchText':_0x5160d3,'topK':settings[_0x112830(0x196)][_0x112830(0x1b4)],'threshold':settings[_0x112830(0x196)][_0x112830(0x19b)],'source':_0x112830(0x16c),'embeddings':{[_0x5160d3]:_0x56c3aa}};return fetch(_0x112830(0x148),{'method':_0x112830(0x15c),'headers':context[_0x112830(0x156)](),'body':JSON[_0x112830(0x1ba)](_0x5d7b59)})[_0x112830(0x140)](async _0x58e242=>{const _0x4ff87f=_0x112830;if(!_0x58e242['ok']){const _0x13b2e3=await _0x58e242['text']();return console[_0x4ff87f(0x173)](_0x4ff87f(0x120)+_0x2b7159+_0x4ff87f(0x195),_0x13b2e3),[];}const _0x4616be=await _0x58e242[_0x4ff87f(0x157)](),_0x197f4b=_0x4616be[_0x4ff87f(0x13e)]||_0x4616be[_0x4ff87f(0x122)]||_0x4616be['data']||[];return console[_0x4ff87f(0x187)]('[翰林院-日志]\x20知识库\x20'+_0x4472d6[_0x4ff87f(0x17f)]+'\x20返回\x20'+_0x197f4b['length']+_0x4ff87f(0x18b)),_0x197f4b;})['catch'](_0x1ae501=>{const _0x75d33b=_0x112830;return console[_0x75d33b(0x173)](_0x75d33b(0x120)+_0x2b7159+_0x75d33b(0x179),_0x1ae501),[];});});}),_0x34ab63=await Promise[_0x33b40d(0x11f)](_0x2cd380);_0x5b726c=_0x34ab63['flat'](),console[_0x33b40d(0x187)](_0x33b40d(0x127)+_0x5b726c[_0x33b40d(0x1be)]+_0x33b40d(0x1a5));const _0x23edf5=[],_0x3288b8=new Set();for(const _0x2f2e5b of _0x5b726c){_0x2f2e5b&&_0x2f2e5b['text']&&!_0x3288b8[_0x33b40d(0x18a)](_0x2f2e5b[_0x33b40d(0x153)])&&(_0x3288b8['add'](_0x2f2e5b[_0x33b40d(0x153)]),_0x23edf5[_0x33b40d(0x1db)](_0x2f2e5b));}return console['log'](_0x33b40d(0x1aa)+_0x23edf5[_0x33b40d(0x1be)]+_0x33b40d(0x18b)),_0x23edf5[_0x33b40d(0x1ad)]((_0x3f06bf,_0x56ac3a)=>(_0x56ac3a[_0x33b40d(0x1e1)]||0x0)-(_0x3f06bf['score']||0x0)),_0x23edf5;}async function insertVectors(_0x15fc9b,_0x399a99=null,_0x5e2133){const _0x3e921a=_0x468c3a;if(!_0x5e2133)throw new Error(_0x3e921a(0x18c));if(_0x15fc9b[_0x3e921a(0x1be)]===0x0)return{'success':!![],'count':0x0};const _0x1bc993=_0x15fc9b[_0x3e921a(0x118)]((_0xb2a934,_0x3c33d4)=>({'hash':generateHash(_0xb2a934['text']+Date[_0x3e921a(0x14b)]()+_0x3c33d4),'text':_0xb2a934[_0x3e921a(0x153)],'metadata':_0xb2a934[_0x3e921a(0x13e)]||{'source':_0x3e921a(0x143),'timestamp':new Date()[_0x3e921a(0x200)]()}})),_0x3c7fc0=_0x1bc993[_0x3e921a(0x1d6)]((_0x4ad07f,_0x2ef130,_0x49918d)=>{const _0x1643ec=_0x3e921a;return _0x4ad07f[_0x2ef130[_0x1643ec(0x153)]]=_0x15fc9b[_0x49918d][_0x1643ec(0x149)],_0x4ad07f;},{}),_0x206655={'collectionId':_0x5e2133,'items':_0x1bc993,'source':_0x3e921a(0x16c),'embeddings':_0x3c7fc0},_0x256240=await fetch(_0x3e921a(0x134),{'method':_0x3e921a(0x15c),'headers':context[_0x3e921a(0x156)](),'body':JSON['stringify'](_0x206655),'signal':_0x399a99});if(!_0x256240['ok']){const _0x57b3d8=await _0x256240[_0x3e921a(0x153)]();console[_0x3e921a(0x173)]('[翰林院-日志]\x20忆识存入API错误:',_0x57b3d8);throw new Error(_0x3e921a(0x169)+_0x256240['status']+':\x20'+_0x57b3d8);}return{'success':!![],'count':_0x1bc993[_0x3e921a(0x1be)]};}async function getVectorCount(_0x449b62=null,_0x3d2c50=_0x468c3a(0x1f2)){const _0x38e075=_0x468c3a,_0x56deba=getCharacterStableId();if(_0x449b62){const _0x5ecf65=_0x3d2c50===_0x38e075(0x176)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x4e551d=_0x5ecf65[_0x449b62];if(!_0x4e551d)return console[_0x38e075(0x172)](_0x38e075(0x17a)+_0x3d2c50+_0x38e075(0x15e)+_0x449b62+_0x38e075(0x207)),0x0;const _0x164f0c=_0x3d2c50===_0x38e075(0x176)?_0x4e551d[_0x38e075(0x1f1)]||GLOBAL_SCOPE_ID:_0x56deba,_0xa1773c=_0x164f0c+'_'+_0x449b62;return await countVectorsInCollection(_0xa1773c);}else{console[_0x38e075(0x187)](_0x38e075(0x1fd));const _0x4812b5=Object['values'](getLocalKnowledgeBases()),_0x4e4cd4=Object[_0x38e075(0x1b5)](getGlobalKnowledgeBases()),_0x51a4db=[];_0x4812b5[_0x38e075(0x14f)](_0xa55206=>{const _0x41bcf4=_0x56deba+'_'+_0xa55206['id'];_0x51a4db['push'](countVectorsInCollection(_0x41bcf4));}),_0x4e4cd4['forEach'](_0x18ae39=>{const _0x1ddd7d=_0x38e075,_0x43ed99=_0x18ae39[_0x1ddd7d(0x1f1)]||GLOBAL_SCOPE_ID,_0x319aba=_0x43ed99+'_'+_0x18ae39['id'];_0x51a4db[_0x1ddd7d(0x1db)](countVectorsInCollection(_0x319aba));});const _0x32c43c=await _0x2f878b();_0x51a4db['push'](countVectorsInCollection(_0x32c43c));const _0x2a20d3=await Promise[_0x38e075(0x11f)](_0x51a4db),_0x1d4eca=_0x2a20d3['reduce']((_0x1c90cb,_0x178efa)=>_0x1c90cb+_0x178efa,0x0);return console[_0x38e075(0x187)](_0x38e075(0x192)+_0x1d4eca),_0x1d4eca;}}async function countVectorsInCollection(_0x5a8a01){const _0xa564ec=_0x468c3a;if(!_0x5a8a01)return 0x0;console[_0xa564ec(0x187)](_0xa564ec(0x1c6)+_0x5a8a01);const _0x9e9c9f={'collectionId':_0x5a8a01,'source':_0xa564ec(0x16c),'embeddings':{}};try{const _0x20bd44=await fetch(_0xa564ec(0x1c0),{'method':_0xa564ec(0x15c),'headers':context[_0xa564ec(0x156)](),'body':JSON[_0xa564ec(0x1ba)](_0x9e9c9f)});if(!_0x20bd44['ok']){if(_0x20bd44[_0xa564ec(0x1ab)]===0x194)console[_0xa564ec(0x187)](_0xa564ec(0x1ec)+_0x5a8a01+_0xa564ec(0x1a8));else{const _0x34b8c0=await _0x20bd44[_0xa564ec(0x153)]();console[_0xa564ec(0x172)](_0xa564ec(0x1ed)+_0x5a8a01+_0xa564ec(0x1f0)+_0x20bd44[_0xa564ec(0x1ab)]+'):',_0x34b8c0);}return 0x0;}const _0x4437df=await _0x20bd44[_0xa564ec(0x157)]();let _0x4896a3=0x0;if(Array[_0xa564ec(0x174)](_0x4437df))_0x4896a3=_0x4437df[_0xa564ec(0x1be)];else _0x4437df&&_0x4437df['hashes']&&(_0x4896a3=_0x4437df[_0xa564ec(0x17e)][_0xa564ec(0x1be)]);return _0x4896a3;}catch(_0x1750f1){return console[_0xa564ec(0x173)](_0xa564ec(0x1c3)+_0x5a8a01+_0xa564ec(0x179),_0x1750f1),0x0;}}async function purgeStorage(_0xd68128=null){const _0x49ab8f=_0x468c3a;console[_0x49ab8f(0x187)](_0x49ab8f(0x162));const _0x507d41=_0xd68128||await getCollectionId();if(!_0x507d41)return console[_0x49ab8f(0x173)](_0x49ab8f(0x1e6)),toastr[_0x49ab8f(0x173)](_0x49ab8f(0x181)),![];console['log'](_0x49ab8f(0x11a)+_0x507d41);const _0x39eb0d={'collectionId':_0x507d41};console[_0x49ab8f(0x187)]('[翰林院-日志]\x20发送到\x20/api/vector/purge\x20的请求体:',JSON[_0x49ab8f(0x1ba)](_0x39eb0d,null,0x2));const _0x5bd96e=await fetch(_0x49ab8f(0x154),{'method':_0x49ab8f(0x15c),'headers':context[_0x49ab8f(0x156)](),'body':JSON[_0x49ab8f(0x1ba)](_0x39eb0d)});console[_0x49ab8f(0x187)]('[翰林院-日志]\x20/api/vector/purge\x20响应状态:\x20'+_0x5bd96e[_0x49ab8f(0x1ab)]);if(!_0x5bd96e['ok']){const _0x3eb24c=await _0x5bd96e[_0x49ab8f(0x153)]();console[_0x49ab8f(0x173)](_0x49ab8f(0x186),_0x3eb24c);}else console[_0x49ab8f(0x187)](_0x49ab8f(0x12f));return _0x5bd96e['ok'];}function getMessagesForCondensation(_0x29a0ff=null){const _0x3fba01=_0x468c3a;if(!settings['condensation'][_0x3fba01(0x1c4)])return showNotification(_0x3fba01(0x146),'warning'),[];const {layerStart:_0x31ec3d,layerEnd:_0x5bfe51}=settings['condensation'],_0x5b7c29=_0x29a0ff||settings[_0x3fba01(0x193)][_0x3fba01(0x131)],_0x34df2c=context['chat'][_0x3fba01(0x1be)],_0x50e4f1=Math[_0x3fba01(0x1b6)](0x0,_0x31ec3d-0x1),_0x47beec=_0x5bfe51===0x0||_0x5bfe51>_0x34df2c?_0x34df2c:Math[_0x3fba01(0x17c)](_0x34df2c,_0x5bfe51),_0x69e2f6=context[_0x3fba01(0x1c5)]['slice'](_0x50e4f1,_0x47beec);return _0x69e2f6['filter'](_0x3a3704=>{const _0x473669=_0x3fba01,_0x27ac6a=_0x3a3704[_0x473669(0x1e3)]===!![],_0x2ea104=_0x3a3704[_0x473669(0x1e3)]===![];if(!_0x3a3704[_0x473669(0x205)]||!_0x3a3704[_0x473669(0x205)][_0x473669(0x1c9)]())return![];return _0x5b7c29[_0x473669(0x1cc)]&&_0x27ac6a||_0x5b7c29['ai']&&_0x2ea104;});}async function processCondensation(_0x2a8ae9,_0x14f669=()=>{},_0x582bca=null){const _0x1afcf5=_0x468c3a;if(!_0x2a8ae9||_0x2a8ae9['length']===0x0)return{'success':![],'error':_0x1afcf5(0x12a)};try{let _0x1acf7e,_0x415da4;const _0x343811=getCharacterName()||_0x1afcf5(0x136);if(_0x582bca){const _0x4ba6b9=_0x582bca['start']??'?',_0x23ad1f=_0x582bca[_0x1afcf5(0x139)]===0x0?'末':_0x582bca[_0x1afcf5(0x139)]??'?';_0x1acf7e=_0x343811+':\x20'+_0x4ba6b9+'楼-'+_0x23ad1f+'楼';}else{const _0x1bf1b7=new Date()[_0x1afcf5(0x1bb)](_0x1afcf5(0x13a),{'hour12':![]});_0x1acf7e=_0x1afcf5(0x158)+_0x1bf1b7;}const _0x330590=Object[_0x1afcf5(0x1b5)](getLocalKnowledgeBases()),_0x4d85a8=_0x330590['find'](_0x2df4f6=>_0x2df4f6['name']===_0x1acf7e);if(_0x4d85a8)_0x415da4=_0x4d85a8['id'],_0x14f669(_0x1afcf5(0x168)+_0x1acf7e+_0x1afcf5(0x1a2),_0x1afcf5(0x1bc));else{_0x14f669(_0x1afcf5(0x1ae)+_0x1acf7e+_0x1afcf5(0x14c),_0x1afcf5(0x1bc));const _0x5b99d0=addKnowledgeBase(_0x1acf7e);_0x415da4=_0x5b99d0['id'];}const _0x2ff303=getCharacterStableId(),_0x255e21=_0x2ff303+'_'+_0x415da4;_0x14f669(_0x1afcf5(0x128)+_0x1acf7e+_0x1afcf5(0x163)+_0x255e21+')',_0x1afcf5(0x185));const _0x57542e=[],_0x21a2e0=context[_0x1afcf5(0x1c5)];for(const _0x497477 of _0x2a8ae9){const _0x363b5e=(_0x497477[_0x1afcf5(0x205)]||'')[_0x1afcf5(0x1dc)](/<[^>]*>/g,'')[_0x1afcf5(0x1c9)]();if(_0x363b5e[_0x1afcf5(0x1be)]===0x0)continue;let _0x3f56b0;if(_0x497477['floor']!==undefined&&_0x497477['floor']!==null)_0x3f56b0=_0x497477[_0x1afcf5(0x13c)];else{const _0x3a08de=_0x21a2e0[_0x1afcf5(0x16a)](_0x2e2cb5=>_0x2e2cb5===_0x497477);_0x3f56b0=_0x3a08de!==-0x1?_0x3a08de+0x1:-0x1;}const _0x239a41=new Date(_0x497477[_0x1afcf5(0x1d1)]),_0x204a66=isNaN(_0x239a41[_0x1afcf5(0x152)]())?new Date()[_0x1afcf5(0x200)]():_0x239a41[_0x1afcf5(0x200)](),_0x486adb=splitIntoChunks(_0x363b5e,_0x1afcf5(0x1e2),{'floor':_0x3f56b0,'is_user':_0x497477[_0x1afcf5(0x1e3)],'timestamp':_0x204a66});_0x57542e[_0x1afcf5(0x1db)](..._0x486adb);}if(_0x57542e['length']===0x0)return{'success':!![],'count':0x0};_0x14f669(_0x1afcf5(0x1ef)+_0x2a8ae9[_0x1afcf5(0x1be)]+'\x20条消息分解为\x20'+_0x57542e[_0x1afcf5(0x1be)]+_0x1afcf5(0x15d),_0x1afcf5(0x1bc));const _0x127b13=settings[_0x1afcf5(0x18e)][_0x1afcf5(0x1fe)]||0x5;let _0x521d19=0x0;for(let _0x313607=0x0;_0x313607<_0x57542e['length'];_0x313607+=_0x127b13){const _0x3a0e63=_0x57542e['slice'](_0x313607,_0x313607+_0x127b13),_0x13756e=_0x3a0e63[_0x1afcf5(0x118)](_0x1fbf12=>_0x1fbf12[_0x1afcf5(0x153)]),_0x375619=await getEmbeddings(_0x13756e);if(_0x3a0e63[_0x1afcf5(0x1be)]!==_0x375619['length'])throw new Error(_0x1afcf5(0x137));const _0x388118=_0x3a0e63[_0x1afcf5(0x118)]((_0x2b8b79,_0x54b07e)=>({..._0x2b8b79,'vector':_0x375619[_0x54b07e]}));await insertVectors(_0x388118,null,_0x255e21),_0x521d19+=_0x3a0e63[_0x1afcf5(0x1be)];}if(_0x582bca){const _0x184bf7=_0x582bca[_0x1afcf5(0x139)]===0x0?context['chat']['length']:_0x582bca[_0x1afcf5(0x139)],_0x407c38=getCharacterStableId();!settings[_0x1afcf5(0x1a4)][_0x407c38]&&(settings[_0x1afcf5(0x1a4)][_0x407c38]={}),settings['condensationHistory'][_0x407c38][_0x255e21]={'start':_0x582bca[_0x1afcf5(0x1d4)],'end':_0x184bf7,'timestamp':new Date()['toISOString']()},saveSettings(),_0x14f669(_0x1afcf5(0x177)+_0x255e21+_0x1afcf5(0x198)+_0x582bca[_0x1afcf5(0x1d4)]+'-'+_0x184bf7,'info');}_0x14f669(_0x1afcf5(0x1b7)+_0x521d19+_0x1afcf5(0x13b),_0x1afcf5(0x185));const _0x373840=_0x2a8ae9['map'](_0x22156a=>{const _0x5a2a42=_0x1afcf5,_0x335b3f=_0x21a2e0[_0x5a2a42(0x16a)](_0x28a46e=>_0x28a46e===_0x22156a),_0x33c836=_0x335b3f!==-0x1?_0x335b3f+0x1:-0x1,_0x134ae8=_0x22156a[_0x5a2a42(0x1e3)]?'用户':getCharacterName()||'AI';return'['+_0x134ae8+_0x5a2a42(0x191)+_0x33c836+']\x20的消息已成功凝识。';});return{'success':!![],'count':_0x521d19,'messages':_0x373840};}catch(_0x9803dd){return console[_0x1afcf5(0x173)]('[翰林院-核心]\x20processCondensation\x20失败:',_0x9803dd),_0x14f669(_0x1afcf5(0x16f)+_0x9803dd['message'],_0x1afcf5(0x173)),{'success':![],'error':_0x9803dd[_0x1afcf5(0x1e4)]};}}async function rerankResults(_0x5e3145,_0x380a9c,_0x3d27c7){const _0x4402b0=_0x468c3a;let _0x1eb84a=_0x5e3145;if(_0x3d27c7[_0x4402b0(0x1c7)][_0x4402b0(0x1c4)]&&_0x5e3145['length']>0x0){console[_0x4402b0(0x187)](_0x4402b0(0x1ac));try{const _0x451fa3=_0x5e3145['map'](_0x3b6c96=>_0x3b6c96[_0x4402b0(0x153)]),_0x113788=await executeRerank(_0x380a9c,_0x451fa3,_0x3d27c7[_0x4402b0(0x1c7)]),_0x1a2686=_0x5e3145['map']((_0x154c0a,_0x490e28)=>({..._0x154c0a,'original_index':_0x490e28}));_0x1eb84a=_0x1a2686['map'](_0x5ab493=>{const _0x140985=_0x4402b0,_0x44ae68=_0x113788[_0x140985(0x122)]['find'](_0x30e425=>_0x30e425[_0x140985(0x1b3)]===_0x5ab493[_0x140985(0x166)]),_0x5ae1b3=_0x44ae68?_0x44ae68[_0x140985(0x15b)]:0x0;return{..._0x5ab493,'rerank_score':_0x5ae1b3};});if(_0x3d27c7[_0x4402b0(0x1c7)][_0x4402b0(0x204)])showNotification(_0x4402b0(0x1d9),_0x4402b0(0x185));}catch(_0x25c4f2){console[_0x4402b0(0x173)](_0x4402b0(0x13f),_0x25c4f2);if(_0x3d27c7[_0x4402b0(0x1c7)]['notify'])showNotification(_0x4402b0(0x203)+_0x25c4f2[_0x4402b0(0x1e4)],_0x4402b0(0x173));_0x1eb84a[_0x4402b0(0x14f)](_0x4f0649=>_0x4f0649[_0x4402b0(0x12c)]=0x0);}}else _0x1eb84a[_0x4402b0(0x14f)](_0xb14f7b=>_0xb14f7b['rerank_score']=0x0);console['log'](_0x4402b0(0x202));const _0x5af8eb=context[_0x4402b0(0x1c5)][_0x4402b0(0x1be)],_0x15081a=_0x3d27c7[_0x4402b0(0x1c7)]['hybrid_alpha'],_0x197a20=_0x1eb84a['map'](_0x28b16a=>{const _0x4d2bb7=_0x4402b0;let _0x1f65e3=0x1;const _0x339672=_0x28b16a[_0x4d2bb7(0x13e)]||{};switch(_0x339672[_0x4d2bb7(0x16d)]){case _0x4d2bb7(0x189):_0x1f65e3*=1.2;break;case'manual':_0x1f65e3*=1.1;break;case _0x4d2bb7(0x1e2):if(_0x339672[_0x4d2bb7(0x13c)]&&_0x5af8eb>0x0){const _0x4bc5af=_0x339672[_0x4d2bb7(0x13c)]/_0x5af8eb;_0x1f65e3*=0x1+_0x4bc5af;}break;}const _0x5a11fd=_0x28b16a[_0x4d2bb7(0x12c)]*_0x15081a+(_0x28b16a['score']||0x0)*(0x1-_0x15081a),_0x3522a4=_0x5a11fd*_0x1f65e3;return{..._0x28b16a,'final_score':_0x3522a4};});return _0x197a20[_0x4402b0(0x1ad)]((_0x288202,_0x20cf6b)=>(_0x20cf6b[_0x4402b0(0x1b2)]||0x0)-(_0x288202[_0x4402b0(0x1b2)]||0x0)),console[_0x4402b0(0x187)](_0x4402b0(0x155)),_0x197a20['slice'](0x0,_0x3d27c7[_0x4402b0(0x1c7)][_0x4402b0(0x119)]);}async function rearrangeChat(_0x14e40b,_0x43ae59,_0x8739ea,_0x5b5a56){const _0x59af49=_0x468c3a;setExtensionPrompt('HANLINYUAN_RAG','',settings[_0x59af49(0x1f9)]['position'],settings[_0x59af49(0x1f9)]['depth'],![],settings[_0x59af49(0x1f9)][_0x59af49(0x1b1)]);if(_0x5b5a56==='quiet'||!settings[_0x59af49(0x18e)][_0x59af49(0x1c4)])return;const _0x2e1fa6=_0x14e40b['slice'](-settings['advanced']['queryMessageCount']);if(_0x2e1fa6['length']===0x0)return;const _0x259d42=_0x2e1fa6[_0x59af49(0x118)](_0x1f092c=>_0x1f092c[_0x59af49(0x205)])[_0x59af49(0x1a7)]('\x20')['replace'](/<[^>]*>/g,'')[_0x59af49(0x1c9)]();if(!_0x259d42)return;try{const _0x50c556=await queryVectors(_0x259d42);if(_0x50c556['length']===0x0)return;const _0x1c41c5=await rerankResults(_0x50c556,_0x259d42,settings);if(_0x1c41c5['length']===0x0)return;const _0x459ead=_0x1c41c5['map'](_0x1a93d4=>_0x1a93d4['text'])['join']('\x0a\x0a');let _0x10bfca=settings[_0x59af49(0x1f9)]['template']['replace'](_0x59af49(0x133),_0x459ead);_0x10bfca[_0x59af49(0x1c9)]()&&(_0x10bfca=_0x59af49(0x1fb)+_0x10bfca),setExtensionPrompt(_0x59af49(0x190),_0x10bfca,settings['injection'][_0x59af49(0x15a)],settings[_0x59af49(0x1f9)]['depth'],![],settings['injection']['depth_role']);}catch(_0x468cf7){console['error'](_0x59af49(0x1d0),_0x468cf7);if(settings[_0x59af49(0x18e)][_0x59af49(0x204)])showNotification(_0x59af49(0x199)+_0x468cf7['message'],_0x59af49(0x173));}}async function moveKnowledgeBase(_0x538516,_0x296b92){const _0x1855ec=_0x468c3a,_0x15bc55=_0x296b92===_0x1855ec(0x176)?_0x1855ec(0x1f2):_0x1855ec(0x176),_0x481d45=getCharacterStableId();if(!_0x481d45&&_0x15bc55===_0x1855ec(0x1f2)){toastr['error'](_0x1855ec(0x206));return;}const _0x221355=_0x296b92===_0x1855ec(0x176)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x14d962=_0x15bc55===_0x1855ec(0x176)?getGlobalKnowledgeBases():getLocalKnowledgeBases(),_0x84cacf=_0x221355[_0x538516];if(!_0x84cacf){const _0x2c76e4=_0x1855ec(0x1c8)+_0x296b92+'\x27\x20中未找到ID为\x20'+_0x538516+_0x1855ec(0x207);console[_0x1855ec(0x173)]('[翰林院-配置]\x20'+_0x2c76e4),toastr[_0x1855ec(0x173)](_0x1855ec(0x11b));return;}_0x296b92==='local'&&_0x15bc55===_0x1855ec(0x176)&&!_0x84cacf[_0x1855ec(0x1f1)]&&(console[_0x1855ec(0x187)](_0x1855ec(0x201)+_0x538516+_0x1855ec(0x18f)+_0x481d45),_0x84cacf[_0x1855ec(0x1f1)]=_0x481d45);delete _0x221355[_0x538516],_0x14d962[_0x538516]=_0x84cacf,saveSettings();const _0x17410a=_0x1855ec(0x147)+_0x84cacf[_0x1855ec(0x17f)]+'】已成功移动到'+(_0x15bc55===_0x1855ec(0x176)?'全局':'局部')+'。';console[_0x1855ec(0x187)](_0x1855ec(0x138)+_0x17410a);}async function getAllVectorsFromCollection(_0x11f259){const _0xda5df=_0x468c3a,_0x28c362='*',_0x318cd4={'collectionId':_0x11f259,'searchText':_0x28c362,'topK':0x2710,'threshold':0x0,'source':_0xda5df(0x16c),'embeddings':{}},_0x1bdd73=(await getEmbeddings([_0x28c362]))[0x0];_0x318cd4[_0xda5df(0x18d)]={[_0x28c362]:_0x1bdd73};const _0x5c2433=await fetch(_0xda5df(0x148),{'method':_0xda5df(0x15c),'headers':context['getRequestHeaders'](),'body':JSON[_0xda5df(0x1ba)](_0x318cd4)});if(!_0x5c2433['ok']){if(_0x5c2433[_0xda5df(0x1ab)]===0x194)return console[_0xda5df(0x187)](_0xda5df(0x12d)+_0x11f259+_0xda5df(0x11d)),[];const _0x4cfe95=await _0x5c2433[_0xda5df(0x153)]();throw new Error('查询集合\x20'+_0x11f259+_0xda5df(0x132)+_0x4cfe95);}const _0x5602f7=await _0x5c2433[_0xda5df(0x157)]();return _0x5602f7['metadata']||_0x5602f7[_0xda5df(0x122)]||_0x5602f7['data']||[];}