Files
ST-Amily2-Chat-Optimisation/core/events.js
2025-07-13 18:28:46 +08:00

2 lines
4.8 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(_0x3bed9f,_0x3cefa0){const _0x527113=_0x3fe4,_0x2da2a3=_0x3bed9f();while(!![]){try{const _0x409366=parseInt(_0x527113(0x16c))/0x1+-parseInt(_0x527113(0x16d))/0x2*(-parseInt(_0x527113(0x15f))/0x3)+-parseInt(_0x527113(0x150))/0x4+-parseInt(_0x527113(0x153))/0x5*(-parseInt(_0x527113(0x15a))/0x6)+-parseInt(_0x527113(0x159))/0x7*(-parseInt(_0x527113(0x173))/0x8)+parseInt(_0x527113(0x165))/0x9*(-parseInt(_0x527113(0x166))/0xa)+parseInt(_0x527113(0x16a))/0xb;if(_0x409366===_0x3cefa0)break;else _0x2da2a3['push'](_0x2da2a3['shift']());}catch(_0x9b4397){_0x2da2a3['push'](_0x2da2a3['shift']());}}}(_0x115f,0x5337e));function _0x3fe4(_0x29090c,_0x226d14){const _0x115fb2=_0x115f();return _0x3fe4=function(_0x3fe407,_0x169403){_0x3fe407=_0x3fe407-0x14f;let _0x2977bc=_0x115fb2[_0x3fe407];return _0x2977bc;},_0x3fe4(_0x29090c,_0x226d14);}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';import{writeSummaryToLorebook,getChatIdentifier}from'./lore.js';import{executeAutoHide}from'./autoHideManager.js';import{checkAndTriggerAutoSummary}from'./historiographer.js';function _0x115f(){const _0x1a293c=['slice','data','target','showOptimizationToast','114793qMsOlc','6594SpqKJl','未绑定的主世界书','contextMessages','optimizationEnabled','sourceAiMessageTimestamp','45HxuICN','is_user','chat','enabled','loreSettings','character_main','36xCdXus','709570zvyatp','characterId','settings','apiUrl','2270774CqFsKE','length','256465jQniFm','3622yWYbgx','独立中央档案(','max','chatIdentifier','summary','”\x20备妥待写入\x20“','40ZTgvpM','summarizationEnabled','extensions','[Amily2号]\x20检测到消息并非AI对用户的直接回复已跳过优化总结。','1583044TYPWGZ','已优化并将总结:“','optimizedContent','2040SHnGZY','mes'];_0x115f=function(){return _0x1a293c;};return _0x115f();}const pendingWriteData={'summary':null,'targetLorebook':null,'settings':null,'chatIdentifier':null,'sourceAiMessageTimestamp':null};export async function onMessageReceived(_0x5e43b2){const _0x936e24=_0x3fe4,_0xd1d84b=getContext();if(_0x5e43b2&&_0x5e43b2[_0x936e24(0x160)]||_0xd1d84b['isWaitingForUserInput'])return;const _0x1434a8=extension_settings[extensionName],_0x1bdf6e=_0xd1d84b['chat'];if(!_0x1bdf6e||_0x1bdf6e[_0x936e24(0x16b)]===0x0)return;const _0x5361a9=_0x1bdf6e[_0x1bdf6e[_0x936e24(0x16b)]-0x1];if(_0x5361a9[_0x936e24(0x160)])return;await executeAutoHide(),await checkAndTriggerAutoSummary();pendingWriteData[_0x936e24(0x171)]&&pendingWriteData['settings']&&(await writeSummaryToLorebook(pendingWriteData),pendingWriteData[_0x936e24(0x171)]=null,pendingWriteData[_0x936e24(0x168)]=null);if(!_0x1434a8[_0x936e24(0x162)]||!_0x1434a8[_0x936e24(0x15d)]&&!_0x1434a8[_0x936e24(0x174)]||!_0x1434a8[_0x936e24(0x169)])return;if(_0x1bdf6e['length']<0x2||!_0x1bdf6e[_0x1bdf6e[_0x936e24(0x16b)]-0x2]['is_user']){console['log'](_0x936e24(0x14f));return;}const _0x153363=_0x1434a8[_0x936e24(0x15c)]||0x2,_0x5d261f=Math[_0x936e24(0x16f)](0x0,_0x1bdf6e[_0x936e24(0x16b)]-0x1-_0x153363),_0x38dc03=_0x1bdf6e[_0x936e24(0x155)](_0x5d261f,_0x1bdf6e[_0x936e24(0x16b)]-0x1),_0xa795b5=await checkAndFixWithAPI(_0x5361a9,_0x38dc03);if(_0xa795b5){_0xa795b5[_0x936e24(0x152)]&&_0xa795b5['optimizedContent']!==_0x5361a9['mes']&&_0x1434a8[_0x936e24(0x15d)]&&(_0x5361a9[_0x936e24(0x154)]=_0xa795b5['optimizedContent'],await saveChatConditional(),_0x1434a8['optimizationMode']==='refresh'&&await reloadCurrentChat());if(_0xa795b5['summary']&&_0xa795b5['loreSettings']&&_0x1434a8[_0x936e24(0x174)]){pendingWriteData[_0x936e24(0x171)]=_0xa795b5[_0x936e24(0x171)],pendingWriteData[_0x936e24(0x168)]=_0xa795b5[_0x936e24(0x163)],pendingWriteData[_0x936e24(0x15e)]=_0x5361a9['send_date'],pendingWriteData[_0x936e24(0x170)]=await getChatIdentifier();if(_0x1434a8[_0x936e24(0x158)]){let _0xa6ebe1=_0x936e24(0x16e)+_0xa795b5['loreSettings'][_0x936e24(0x157)]+')';if(_0xa795b5['loreSettings'][_0x936e24(0x157)]===_0x936e24(0x164)){const _0xc951a1=characters[_0xd1d84b[_0x936e24(0x167)]];_0xa6ebe1=_0xc951a1?.[_0x936e24(0x156)]?.[_0x936e24(0x175)]?.['world']||_0x936e24(0x15b);}toastr['info'](_0x936e24(0x151)+_0xa795b5[_0x936e24(0x171)]+_0x936e24(0x172)+_0xa6ebe1+'”','Amily2号',{'timeOut':0x1b58});}}}}export function onChatChanged(){const _0x33018b=_0x3fe4,_0x419281=getContext(),_0xa80fe0=_0x419281[_0x33018b(0x161)];if(!_0xa80fe0||_0xa80fe0['length']===0x0){pendingWriteData[_0x33018b(0x171)]=null,pendingWriteData['settings']=null;return;}const _0x2092a2=_0xa80fe0[_0xa80fe0[_0x33018b(0x16b)]-0x1];_0x2092a2[_0x33018b(0x160)]&&pendingWriteData[_0x33018b(0x171)]&&(console['log']('[Amily2号-遗忘哨兵]\x20裁决检测到AI回复已被陛下操作遵旨废黜过时总结。'),pendingWriteData[_0x33018b(0x171)]=null,pendingWriteData['settings']=null);}