Files
ST-Amily2-Chat-Optimisation/core/events.js
2025-07-22 07:39:53 +08:00

2 lines
5.3 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.
(function(_0x4134ea,_0x40288d){const _0x51a733=_0x2407,_0x293711=_0x4134ea();while(!![]){try{const _0x3aafc6=-parseInt(_0x51a733(0x130))/0x1*(parseInt(_0x51a733(0x13d))/0x2)+parseInt(_0x51a733(0x11b))/0x3+-parseInt(_0x51a733(0x125))/0x4+-parseInt(_0x51a733(0x136))/0x5*(parseInt(_0x51a733(0x113))/0x6)+parseInt(_0x51a733(0x11a))/0x7*(parseInt(_0x51a733(0x11e))/0x8)+-parseInt(_0x51a733(0x129))/0x9*(-parseInt(_0x51a733(0x126))/0xa)+parseInt(_0x51a733(0x117))/0xb*(parseInt(_0x51a733(0x120))/0xc);if(_0x3aafc6===_0x40288d)break;else _0x293711['push'](_0x293711['shift']());}catch(_0x5ea4a5){_0x293711['push'](_0x293711['shift']());}}}(_0x46b9,0x7468b));import{getContext,extension_settings}from'/scripts/extensions.js';import{characters,saveChatConditional,reloadCurrentChat}from'/script.js';import{extensionName}from'../utils/settings.js';import{checkAndFixWithAPI}from'./api.js';function _0x2407(_0x2e4548,_0x34c1e9){const _0x46b9e6=_0x46b9();return _0x2407=function(_0x2407d6,_0x39fd1b){_0x2407d6=_0x2407d6-0x111;let _0x4143fb=_0x46b9e6[_0x2407d6];return _0x4143fb;},_0x2407(_0x2e4548,_0x34c1e9);}import{writeSummaryToLorebook,getChatIdentifier}from'./lore.js';import{executeAutoHide}from'./autoHideManager.js';function _0x46b9(){const _0x3b7d96=['summary','send_date','showOptimizationToast','max','chat','679625UdmGsV','error','loreSettings','target','mes','settings','is_user','35566BVXdnV','contextMessages','summarizationEnabled','36nWpKVn','独立中央档案(','[Amily2号-遗忘哨兵]\x20裁决检测到AI回复已被陛下操作遵旨废黜过时总结。','未绑定的主世界书','19241651lvniBV','optimizedContent','isWaitingForUserInput','91qVbhWR','1615803gabGee','length','[Amily2号]\x20检测到消息并非AI对用户的直接回复已跳过优化总结。','3584fSxvYM','[大史官]\x20后台自动总结任务执行时发生错误:','12Swgqzw','character_main','refresh','optimizationEnabled','slice','2606508VKSymR','1808210YlkxHw','world','Amily2号','18Nsvtvp','”\x20备妥待写入\x20“','enabled','info','data','log','optimizationMode','40IuzTWI'];_0x46b9=function(){return _0x3b7d96;};return _0x46b9();}import{checkAndTriggerAutoSummary}from'./historiographer.js';const pendingWriteData={'summary':null,'targetLorebook':null,'settings':null,'chatIdentifier':null,'sourceAiMessageTimestamp':null};export async function onMessageReceived(_0x49c1a7){const _0x220bb2=_0x2407,_0x5910f5=getContext();if(_0x49c1a7&&_0x49c1a7[_0x220bb2(0x13c)]||_0x5910f5[_0x220bb2(0x119)])return;const _0x19e65b=extension_settings[extensionName],_0x3087cb=_0x5910f5[_0x220bb2(0x135)];if(!_0x3087cb||_0x3087cb[_0x220bb2(0x11c)]===0x0)return;const _0x326cbb=_0x3087cb[_0x3087cb[_0x220bb2(0x11c)]-0x1];if(_0x326cbb[_0x220bb2(0x13c)])return;await executeAutoHide();const _0x3689a3=_0x19e65b[_0x220bb2(0x12b)]&&(_0x19e65b['optimizationEnabled']||_0x19e65b['summarizationEnabled'])&&_0x19e65b['apiUrl'];if(_0x3689a3){console[_0x220bb2(0x12e)]('[Amily2号]\x20优化/摘要功能已启用,开始处理...');pendingWriteData[_0x220bb2(0x131)]&&pendingWriteData[_0x220bb2(0x13b)]&&(await writeSummaryToLorebook(pendingWriteData),pendingWriteData['summary']=null,pendingWriteData['settings']=null);if(_0x3087cb['length']>=0x2&&_0x3087cb[_0x3087cb['length']-0x2]['is_user']){const _0x2b27fd=_0x19e65b[_0x220bb2(0x111)]||0x2,_0x142e4e=Math[_0x220bb2(0x134)](0x0,_0x3087cb['length']-0x1-_0x2b27fd),_0x50f404=_0x3087cb[_0x220bb2(0x124)](_0x142e4e,_0x3087cb['length']-0x1),_0x106fcf=await checkAndFixWithAPI(_0x326cbb,_0x50f404);if(_0x106fcf){_0x106fcf[_0x220bb2(0x118)]&&_0x106fcf[_0x220bb2(0x118)]!==_0x326cbb[_0x220bb2(0x13a)]&&_0x19e65b[_0x220bb2(0x123)]&&(_0x326cbb[_0x220bb2(0x13a)]=_0x106fcf[_0x220bb2(0x118)],await saveChatConditional(),_0x19e65b[_0x220bb2(0x12f)]===_0x220bb2(0x122)&&await reloadCurrentChat());if(_0x106fcf['summary']&&_0x106fcf[_0x220bb2(0x138)]&&_0x19e65b[_0x220bb2(0x112)]){pendingWriteData['summary']=_0x106fcf[_0x220bb2(0x131)],pendingWriteData[_0x220bb2(0x13b)]=_0x106fcf['loreSettings'],pendingWriteData['sourceAiMessageTimestamp']=_0x326cbb[_0x220bb2(0x132)],pendingWriteData['chatIdentifier']=await getChatIdentifier();if(_0x19e65b[_0x220bb2(0x133)]){let _0x57e6a6=_0x220bb2(0x114)+_0x106fcf[_0x220bb2(0x138)][_0x220bb2(0x139)]+')';if(_0x106fcf[_0x220bb2(0x138)][_0x220bb2(0x139)]===_0x220bb2(0x121)){const _0x58a882=characters[_0x5910f5['characterId']];_0x57e6a6=_0x58a882?.[_0x220bb2(0x12d)]?.['extensions']?.[_0x220bb2(0x127)]||_0x220bb2(0x116);}toastr[_0x220bb2(0x12c)]('已优化并将总结:“'+_0x106fcf['summary']+_0x220bb2(0x12a)+_0x57e6a6+'”',_0x220bb2(0x128),{'timeOut':0x1b58});}}}}else console[_0x220bb2(0x12e)](_0x220bb2(0x11d));}((async()=>{const _0x4a15cb=_0x220bb2;try{await new Promise(_0x15217e=>setTimeout(_0x15217e,0x64)),await checkAndTriggerAutoSummary();}catch(_0x40f32b){console[_0x4a15cb(0x137)](_0x4a15cb(0x11f),_0x40f32b);}})());}export function onChatChanged(){const _0x2cc4fd=_0x2407,_0x210a2c=getContext(),_0xfd3309=_0x210a2c[_0x2cc4fd(0x135)];if(!_0xfd3309||_0xfd3309['length']===0x0){pendingWriteData[_0x2cc4fd(0x131)]=null,pendingWriteData[_0x2cc4fd(0x13b)]=null;return;}const _0x5f0f62=_0xfd3309[_0xfd3309[_0x2cc4fd(0x11c)]-0x1];_0x5f0f62[_0x2cc4fd(0x13c)]&&pendingWriteData[_0x2cc4fd(0x131)]&&(console['log'](_0x2cc4fd(0x115)),pendingWriteData['summary']=null,pendingWriteData[_0x2cc4fd(0x13b)]=null);}