Files
ST-Amily2-Chat-Optimisation…/core/events.js
2025-07-19 16:46:53 +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(_0x38cd0c,_0x1ea093){const _0x30b34a=_0xdb4e,_0x3c6668=_0x38cd0c();while(!![]){try{const _0x47a857=parseInt(_0x30b34a(0x1fc))/0x1+-parseInt(_0x30b34a(0x202))/0x2+-parseInt(_0x30b34a(0x1fd))/0x3*(-parseInt(_0x30b34a(0x1fa))/0x4)+parseInt(_0x30b34a(0x206))/0x5+-parseInt(_0x30b34a(0x20d))/0x6+parseInt(_0x30b34a(0x20f))/0x7+-parseInt(_0x30b34a(0x204))/0x8;if(_0x47a857===_0x1ea093)break;else _0x3c6668['push'](_0x3c6668['shift']());}catch(_0x1170d4){_0x3c6668['push'](_0x3c6668['shift']());}}}(_0x24c7,0xc87ab));import{getContext,extension_settings}from'/scripts/extensions.js';import{characters,saveChatConditional,reloadCurrentChat}from'/script.js';function _0xdb4e(_0x1ea007,_0x165009){const _0x24c744=_0x24c7();return _0xdb4e=function(_0xdb4e7c,_0x48da07){_0xdb4e7c=_0xdb4e7c-0x1f3;let _0xc023f1=_0x24c744[_0xdb4e7c];return _0xc023f1;},_0xdb4e(_0x1ea007,_0x165009);}import{extensionName}from'../utils/settings.js';import{checkAndFixWithAPI}from'./api.js';function _0x24c7(){const _0x57c86f=['data','max','sourceAiMessageTimestamp','mes','world','isWaitingForUserInput','[Amily2号-遗忘哨兵]\x20裁决检测到AI回复已被陛下操作遵旨废黜过时总结。','showOptimizationToast','enabled','chat','apiUrl','summarizationEnabled','Amily2号','length','target','is_user','独立中央档案(','1108FwsKGx','log','1475161KrFFSp','14082jiRagS','optimizedContent','slice','chatIdentifier','send_date','337966tvBuji','未绑定的主世界书','14671784yxFMMN','loreSettings','5078305qQUWSk','characterId','summary','optimizationMode','settings','contextMessages','optimizationEnabled','9840612oyJZfE','info','4712127ADjXmz'];_0x24c7=function(){return _0x57c86f;};return _0x24c7();}import{writeSummaryToLorebook,getChatIdentifier}from'./lore.js';import{executeAutoHide}from'./autoHideManager.js';import{checkAndTriggerAutoSummary}from'./historiographer.js';const pendingWriteData={'summary':null,'targetLorebook':null,'settings':null,'chatIdentifier':null,'sourceAiMessageTimestamp':null};export async function onMessageReceived(_0x38b233){const _0x1c02fe=_0xdb4e,_0x3650c4=getContext();if(_0x38b233&&_0x38b233[_0x1c02fe(0x1f8)]||_0x3650c4[_0x1c02fe(0x215)])return;const _0x2833a3=extension_settings[extensionName],_0x1b09c9=_0x3650c4[_0x1c02fe(0x219)];if(!_0x1b09c9||_0x1b09c9['length']===0x0)return;const _0xa86b74=_0x1b09c9[_0x1b09c9[_0x1c02fe(0x1f6)]-0x1];if(_0xa86b74[_0x1c02fe(0x1f8)])return;await executeAutoHide(),await checkAndTriggerAutoSummary();pendingWriteData[_0x1c02fe(0x208)]&&pendingWriteData[_0x1c02fe(0x20a)]&&(await writeSummaryToLorebook(pendingWriteData),pendingWriteData['summary']=null,pendingWriteData[_0x1c02fe(0x20a)]=null);if(!_0x2833a3[_0x1c02fe(0x218)]||!_0x2833a3[_0x1c02fe(0x20c)]&&!_0x2833a3[_0x1c02fe(0x1f4)]||!_0x2833a3[_0x1c02fe(0x1f3)])return;if(_0x1b09c9['length']<0x2||!_0x1b09c9[_0x1b09c9['length']-0x2]['is_user']){console[_0x1c02fe(0x1fb)]('[Amily2号]\x20检测到消息并非AI对用户的直接回复已跳过优化总结。');return;}const _0xe43a=_0x2833a3[_0x1c02fe(0x20b)]||0x2,_0x2f20db=Math[_0x1c02fe(0x211)](0x0,_0x1b09c9[_0x1c02fe(0x1f6)]-0x1-_0xe43a),_0x566d37=_0x1b09c9[_0x1c02fe(0x1ff)](_0x2f20db,_0x1b09c9['length']-0x1),_0x54b9a0=await checkAndFixWithAPI(_0xa86b74,_0x566d37);if(_0x54b9a0){_0x54b9a0[_0x1c02fe(0x1fe)]&&_0x54b9a0[_0x1c02fe(0x1fe)]!==_0xa86b74[_0x1c02fe(0x213)]&&_0x2833a3[_0x1c02fe(0x20c)]&&(_0xa86b74[_0x1c02fe(0x213)]=_0x54b9a0[_0x1c02fe(0x1fe)],await saveChatConditional(),_0x2833a3[_0x1c02fe(0x209)]==='refresh'&&await reloadCurrentChat());if(_0x54b9a0[_0x1c02fe(0x208)]&&_0x54b9a0[_0x1c02fe(0x205)]&&_0x2833a3['summarizationEnabled']){pendingWriteData[_0x1c02fe(0x208)]=_0x54b9a0['summary'],pendingWriteData[_0x1c02fe(0x20a)]=_0x54b9a0['loreSettings'],pendingWriteData[_0x1c02fe(0x212)]=_0xa86b74[_0x1c02fe(0x201)],pendingWriteData[_0x1c02fe(0x200)]=await getChatIdentifier();if(_0x2833a3[_0x1c02fe(0x217)]){let _0x5b7124=_0x1c02fe(0x1f9)+_0x54b9a0[_0x1c02fe(0x205)][_0x1c02fe(0x1f7)]+')';if(_0x54b9a0['loreSettings']['target']==='character_main'){const _0x147a95=characters[_0x3650c4[_0x1c02fe(0x207)]];_0x5b7124=_0x147a95?.[_0x1c02fe(0x210)]?.['extensions']?.[_0x1c02fe(0x214)]||_0x1c02fe(0x203);}toastr[_0x1c02fe(0x20e)]('已优化并将总结:“'+_0x54b9a0['summary']+'”\x20备妥待写入\x20“'+_0x5b7124+'”',_0x1c02fe(0x1f5),{'timeOut':0x1b58});}}}}export function onChatChanged(){const _0x214939=_0xdb4e,_0x4e9882=getContext(),_0x415673=_0x4e9882[_0x214939(0x219)];if(!_0x415673||_0x415673[_0x214939(0x1f6)]===0x0){pendingWriteData[_0x214939(0x208)]=null,pendingWriteData[_0x214939(0x20a)]=null;return;}const _0x188c78=_0x415673[_0x415673[_0x214939(0x1f6)]-0x1];_0x188c78['is_user']&&pendingWriteData[_0x214939(0x208)]&&(console[_0x214939(0x1fb)](_0x214939(0x216)),pendingWriteData[_0x214939(0x208)]=null,pendingWriteData[_0x214939(0x20a)]=null);}