Files
ST-Amily2-Chat-Optimisation/core/rag-processor.js
2025-10-10 22:04:54 +08:00

2 lines
53 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'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[','<mark\x20class=\x22search-highlight\x22>$1</mark>','[翰林院]\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)]||[];}