diff --git a/core/historiographer.js b/core/historiographer.js index 5fd9853..9979fec 100644 --- a/core/historiographer.js +++ b/core/historiographer.js @@ -1 +1 @@ -const _0x243cb7=_0x3dba;(function(_0x53a914,_0x149947){const _0x4ac356=_0x3dba,_0x112b4b=_0x53a914();while(!![]){try{const _0x303b00=-parseInt(_0x4ac356(0x165))/0x1*(parseInt(_0x4ac356(0x1cc))/0x2)+parseInt(_0x4ac356(0x1c5))/0x3+-parseInt(_0x4ac356(0x19c))/0x4*(parseInt(_0x4ac356(0x171))/0x5)+-parseInt(_0x4ac356(0x1b0))/0x6+-parseInt(_0x4ac356(0x1ab))/0x7+-parseInt(_0x4ac356(0x1d8))/0x8+parseInt(_0x4ac356(0x1be))/0x9;if(_0x303b00===_0x149947)break;else _0x112b4b['push'](_0x112b4b['shift']());}catch(_0x47faf6){_0x112b4b['push'](_0x112b4b['shift']());}}}(_0xb173,0xf2e3e));import{getContext,extension_settings}from'/scripts/extensions.js';function _0xb173(){const _0x5d716c=['用户消息:','圣谕传达','character_main','text','国史馆','replace','远征军已在营中,无需下达停战敕令。','宏史卷重铸','【信函正文\x20(messages)】:','》天机时出错:','远征已遵从您的敕令暂停!随时可以【继续远征】。','table','\x20层历史,分\x20','\x20(宏史卷重铸)','未知的史册写入指令','world','historiographyLargeRefinePrompt','/chat/completions','1113732aUtINT','编年史已成功更新!','dedicated','鸣金收兵','historiographySmallAutoEnable','userName','dispatchEvent','groupCollapsed','[大史官-通讯失败]','请严格根据以下“对话记录”中的内容进行总结,不要添加任何额外信息。\x0a\x0a<对话记录>\x0a','loreInsertionPosition','mes','国史已是最新,远征军无需出动。','远征已在准备阶段遵令暂停!','json','8242073PXvBFf','status','log','模型B召唤失败:\x20','loreDepth','1496784vVDRLC','\x20层的对话历史...','史册已成功重铸,并保存于《','远征军已开拔!目标:','国库空虚','values','historiographySmallSummaryPrompt','[大史官]\x20阅览《','以下是依照顺序已发生剧情','length','name','stringify','楼总结已完成】否则后续总结无法进行。','split','36087318EaHsig','filter','assign','Bearer\x20','content','选定的楼层范围内无有效对话。','toLocaleTimeString','4498149bHuNrD','historiographySmallTriggerThreshold','宏史卷重铸完毕','》中的【微言录合集】...','comment','未知的史册写入目标,远征军无法开拔!','远征途中遭遇重大挫折,任务中止!您可以随时【继续远征】。','2mlMJZo','找不到指定的史册条目,重铸任务中止。','史册条目中无可供重铸的内容。','\x0a\x0a---\x0a\x0a【','choices','historiographyLargeJailbreakPrompt','user','远征开始','success','时发生错误。','entries','【信函参数】','8565200dMbiuC','characterId','微言录\x20(自动)','楼详细总结记录】\x0a','map','角色回复:','停战敕令已下达!远征军将在完成当前批次的任务后休整。','push','\x20至\x20','》时出错:','微言录\x20(手动)','当前角色未绑定主世界书,无法写入总结。','min','system','1738221OMmlyP','【敕史局】对话流水总帐','warning','find','[大史官]\x20重铸任务失败:','[大史官-通讯异常]','includes','disable','远征完毕','以下内容是【1楼-','error','\x0a\x0a本条勿动【前','5CazbsW','chat','凯旋!远征大捷!所有未载之史均已化为帝国永恒的记忆!','[大史官]\x20','写入失败:','amily2-expedition-state-change','is_user','slice','与模型B通讯时发生网络异常','data','Amily2-Lore-','通讯异常','遵旨!正在为您熔铸\x20','info','trim','圣谕有误','ceil','通讯中断','extensions','[大史官-远征失败]','lorebookTarget','遵旨!正在为您重铸《','\x20批次战役准备中...\x20(','圣谕悉知','[大史官]\x20检阅《'];_0xb173=function(){return _0x5d716c;};return _0xb173();}function _0x3dba(_0x5382e9,_0x196a75){const _0xb17308=_0xb173();return _0x3dba=function(_0x3dba4e,_0x19889f){_0x3dba4e=_0x3dba4e-0x160;let _0x14882e=_0xb17308[_0x3dba4e];return _0x14882e;},_0x3dba(_0x5382e9,_0x196a75);}import{characters}from'/script.js';import{world_names,loadWorldInfo,createNewWorldInfo,createWorldInfoEntry,saveWorldInfo}from'/scripts/world-info.js';import{extensionName}from'../utils/settings.js';import{getChatIdentifier}from'./lore.js';let isExpeditionRunning=![],manualStopRequested=![];async function callAmily2Model(_0x8831a7){const _0x15536e=_0x3dba,_0x4155e4=extension_settings[extensionName],{apiUrl:_0x545967,apiKey:_0x5d764a,model:_0xabc01,temperature:_0x195fdc,maxTokens:_0x53f092}=_0x4155e4;if(!_0x545967||!_0xabc01)return toastr[_0x15536e(0x16f)]('API\x20URL或模型未配置,无法召唤模型B。',_0x15536e(0x182)),null;console[_0x15536e(0x1a3)]('[Amily2-大史官]\x20准备向模型B发送机密信函...\x20@\x20'+new Date()[_0x15536e(0x1c4)]()),console[_0x15536e(0x1ad)](_0x15536e(0x1d7),{'model':_0xabc01,'temperature':_0x195fdc,'maxTokens':_0x53f092}),console[_0x15536e(0x1ad)](_0x15536e(0x192)),console[_0x15536e(0x195)](_0x8831a7),console['groupEnd']();try{const _0x55eac8=await fetch(_0x545967+_0x15536e(0x19b),{'method':'POST','headers':{'Content-Type':'application/json','Authorization':_0x15536e(0x1c1)+_0x5d764a},'body':JSON[_0x15536e(0x1bb)]({'model':_0xabc01,'messages':_0x8831a7,'temperature':_0x195fdc,'max_tokens':_0x53f092,'stream':![]})});if(!_0x55eac8['ok']){const _0x128b89=await _0x55eac8[_0x15536e(0x18d)]();return console['error'](_0x15536e(0x1a4),_0x55eac8[_0x15536e(0x1ac)],_0x128b89),toastr['error'](_0x15536e(0x1ae)+_0x55eac8['status'],'通讯失败'),null;}const _0x242800=await _0x55eac8[_0x15536e(0x1aa)]();return _0x242800[_0x15536e(0x1d0)][0x0]['message'][_0x15536e(0x1c2)];}catch(_0x172687){return console[_0x15536e(0x16f)](_0x15536e(0x16a),_0x172687),toastr[_0x15536e(0x16f)](_0x15536e(0x179),_0x15536e(0x17c)),null;}}const RUNNING_LOG_COMMENT=_0x243cb7(0x166),PROGRESS_SEAL_REGEX=/本条勿动【前(\d+)楼总结已完成】否则后续总结无法进行。$/;async function readGoldenLedgerProgress(_0x3268b1){const _0x592138=_0x243cb7;if(!_0x3268b1)return 0x0;try{const _0x232bdd=await loadWorldInfo(_0x3268b1);if(!_0x232bdd||!_0x232bdd[_0x592138(0x1d6)])return 0x0;const _0x3b50cf=Object[_0x592138(0x1b5)](_0x232bdd[_0x592138(0x1d6)])['find'](_0x2bc232=>_0x2bc232['comment']===RUNNING_LOG_COMMENT&&!_0x2bc232['disable']);if(!_0x3b50cf)return 0x0;const _0x5cba24=_0x3b50cf[_0x592138(0x1c2)]['match'](PROGRESS_SEAL_REGEX);return _0x5cba24?parseInt(_0x5cba24[0x1],0xa):0x0;}catch(_0x339105){return console[_0x592138(0x16f)](_0x592138(0x1b7)+_0x3268b1+_0x592138(0x193),_0x339105),0x0;}}export async function checkAndTriggerAutoSummary(){const _0x55a81f=_0x243cb7,_0x27324d=extension_settings[extensionName];if(!_0x27324d[_0x55a81f(0x1a0)])return;const _0x53b987=getContext();let _0x38172b=null;switch(_0x27324d['lorebookTarget']){case _0x55a81f(0x18c):_0x38172b=characters[_0x53b987[_0x55a81f(0x1d9)]]?.['data']?.[_0x55a81f(0x183)]?.['world'];break;case'dedicated':const _0x243e9e=await getChatIdentifier();_0x38172b='Amily2-Lore-'+_0x243e9e;break;default:return;}if(!_0x38172b)return;const _0x2d04bb=await readGoldenLedgerProgress(_0x38172b),_0x5e8a39=_0x53b987['chat'][_0x55a81f(0x1b9)],_0x1fa1de=_0x5e8a39-_0x2d04bb;if(_0x1fa1de>=_0x27324d[_0x55a81f(0x1c6)]){const _0x47dc82=_0x2d04bb+0x1,_0x227209=_0x5e8a39;await executeManualSummary(_0x47dc82,_0x227209,!![]);}}export async function getAvailableWorldbooks(){return[...world_names];}export async function getLoresForWorldbook(_0x50f9ff){const _0x27575b=_0x243cb7;if(!_0x50f9ff)return[];try{const _0x43507c=await loadWorldInfo(_0x50f9ff);if(!_0x43507c||!_0x43507c[_0x27575b(0x1d6)])return[];return Object['entries'](_0x43507c[_0x27575b(0x1d6)])[_0x27575b(0x1bf)](([,_0x1c44d9])=>!_0x1c44d9[_0x27575b(0x16c)])[_0x27575b(0x1dc)](([_0x11cf76,_0x257759])=>({'key':_0x11cf76,'comment':_0x257759[_0x27575b(0x1c9)]||'无标题条目'}));}catch(_0x436c49){return console[_0x27575b(0x16f)](_0x27575b(0x189)+_0x50f9ff+_0x27575b(0x160),_0x436c49),[];}}export async function executeManualSummary(_0x24f4cc,_0x4d0014,_0x14a7f1=![]){const _0xacad80=_0x243cb7,_0x117e57=_0x14a7f1?_0xacad80(0x1da):_0xacad80(0x161);toastr[_0xacad80(0x17e)](_0xacad80(0x17d)+_0x24f4cc+_0xacad80(0x1e0)+_0x4d0014+_0xacad80(0x1b1),_0x117e57);const _0x5c1329=getContext(),_0x12cc23=_0x5c1329[_0xacad80(0x172)],_0x39309e=extension_settings[extensionName],_0xd13f0e=_0x12cc23[_0xacad80(0x178)](_0x24f4cc,_0x4d0014+0x1);if(_0xd13f0e[_0xacad80(0x1b9)]===0x0){toastr[_0xacad80(0x167)](_0xacad80(0x1c3),_0xacad80(0x180));return;}const _0x3a6830=_0x5c1329[_0xacad80(0x1a1)]||'用户',_0x1b6949=characters[_0x5c1329[_0xacad80(0x1d9)]]?.[_0xacad80(0x1ba)]||'角色';let _0x50552c='';const _0x51c0c6=[];for(let _0x2d6441=0x0;_0x2d6441<_0xd13f0e['length'];_0x2d6441++){if(_0xd13f0e[_0x2d6441][_0xacad80(0x177)]){const _0x1497fa=_0xacad80(0x18a)+_0xd13f0e[_0x2d6441][_0xacad80(0x1a7)];if(_0x2d6441+0x1<_0xd13f0e[_0xacad80(0x1b9)]&&!_0xd13f0e[_0x2d6441+0x1]['is_user']){const _0x5f681a='角色回复:'+_0xd13f0e[_0x2d6441+0x1][_0xacad80(0x1a7)];_0x51c0c6[_0xacad80(0x1df)](_0x1497fa+'。'+_0x5f681a),_0x2d6441++;}else _0x51c0c6[_0xacad80(0x1df)](_0x1497fa);}else _0x51c0c6['push'](_0xacad80(0x1dd)+_0xd13f0e[_0x2d6441]['mes']);}_0x50552c=_0x51c0c6[_0xacad80(0x1dc)]((_0x5d380d,_0x19179c)=>_0x19179c+0x1+':'+_0x5d380d)['join']('\x0a');const _0x2afa97=[{'role':_0xacad80(0x164),'content':_0x39309e['historiographySmallJailbreakPrompt']},{'role':_0xacad80(0x164),'content':_0x39309e[_0xacad80(0x1b6)]},{'role':_0xacad80(0x1d2),'content':_0xacad80(0x1a5)+_0x50552c+'\x0a'}],_0x12cddc=await callAmily2Model(_0x2afa97);if(!_0x12cddc)return;try{let _0x3be460=null;switch(_0x39309e[_0xacad80(0x185)]){case _0xacad80(0x18c):_0x3be460=characters[_0x5c1329[_0xacad80(0x1d9)]]?.[_0xacad80(0x17a)]?.[_0xacad80(0x183)]?.['world'];if(!_0x3be460){toastr[_0xacad80(0x16f)](_0xacad80(0x162),_0xacad80(0x18e));return;}break;case'dedicated':const _0x1ccb40=await getChatIdentifier();_0x3be460=_0xacad80(0x17b)+_0x1ccb40;!world_names[_0xacad80(0x16b)](_0x3be460)&&await createNewWorldInfo(_0x3be460);break;default:toastr[_0xacad80(0x16f)](_0xacad80(0x198),'圣谕不明');return;}const _0xe2efd0=await loadWorldInfo(_0x3be460),_0x51859d=Object[_0xacad80(0x1b5)](_0xe2efd0['entries'])[_0xacad80(0x168)](_0x199e38=>_0x199e38['comment']===RUNNING_LOG_COMMENT&&!_0x199e38[_0xacad80(0x16c)]),_0x4cec77=_0xacad80(0x170)+_0x4d0014+_0xacad80(0x1bc),_0xcc164c=_0xacad80(0x1cf)+_0x24f4cc+'楼至'+_0x4d0014+_0xacad80(0x1db)+_0x12cddc;if(_0x51859d){const _0x4e1b27=_0x51859d['content']['replace'](PROGRESS_SEAL_REGEX,'')[_0xacad80(0x17f)]();_0x51859d[_0xacad80(0x1c2)]=_0x4e1b27+_0xcc164c+_0x4cec77;}else{const _0x737537=_0xacad80(0x1b8)+_0xcc164c,_0x51d8f2=createWorldInfoEntry(_0x3be460,_0xe2efd0),_0x3ed3b1=_0x39309e['loreKeywords'][_0xacad80(0x1bd)](',')[_0xacad80(0x1dc)](_0x4fe99a=>_0x4fe99a[_0xacad80(0x17f)]())[_0xacad80(0x1bf)](Boolean),_0x4111b6=_0x39309e['loreActivationMode']==='always',_0x301f79={'before_char':0x0,'after_char':0x1,'before_an':0x2,'after_an':0x3,'at_depth':0x4};Object[_0xacad80(0x1c0)](_0x51d8f2,{'comment':RUNNING_LOG_COMMENT,'content':_0x737537+_0x4cec77,'key':_0x3ed3b1,'constant':_0x4111b6,'position':_0x301f79[_0x39309e[_0xacad80(0x1a6)]]??0x4,'depth':_0x39309e[_0xacad80(0x1af)],'disable':![]});}await saveWorldInfo(_0x3be460,_0xe2efd0,!![]),toastr['success'](_0xacad80(0x19d),_0x117e57+'完毕');}catch(_0x599c31){console[_0xacad80(0x16f)](_0xacad80(0x174)+_0x117e57+_0xacad80(0x175),_0x599c31),toastr[_0xacad80(0x16f)]('写入'+_0x117e57+_0xacad80(0x1d5),_0xacad80(0x18e));}}export async function executeRefinement(_0x3bd521,_0x32a30b){const _0x19ee62=_0x243cb7;toastr[_0x19ee62(0x17e)](_0x19ee62(0x186)+_0x3bd521+_0x19ee62(0x1c8),_0x19ee62(0x191));try{const _0x2b22f8=await loadWorldInfo(_0x3bd521),_0x45b4ff=_0x2b22f8?.[_0x19ee62(0x1d6)][_0x32a30b];if(!_0x45b4ff){toastr[_0x19ee62(0x16f)](_0x19ee62(0x1cd),'圣谕有误');return;}const _0x18ad2e=_0x45b4ff[_0x19ee62(0x1c2)],_0x3b6e10=extension_settings[extensionName];let _0x3c0e85=_0x18ad2e,_0x335d2d='',_0x551248=0x0;const _0x5b8cf1=_0x18ad2e['match'](PROGRESS_SEAL_REGEX);_0x5b8cf1&&(_0x335d2d=_0x5b8cf1[0x0],_0x551248=parseInt(_0x5b8cf1[0x1],0xa),_0x3c0e85=_0x18ad2e[_0x19ee62(0x18f)](PROGRESS_SEAL_REGEX,'')[_0x19ee62(0x17f)]());if(!_0x3c0e85[_0x19ee62(0x17f)]()){toastr[_0x19ee62(0x167)](_0x19ee62(0x1ce),_0x19ee62(0x1b4));return;}const _0x277812=[{'role':_0x19ee62(0x164),'content':_0x3b6e10[_0x19ee62(0x1d1)]},{'role':_0x19ee62(0x164),'content':_0x3b6e10[_0x19ee62(0x19a)]},{'role':_0x19ee62(0x1d2),'content':'请将以下多个零散的“详细总结记录”提炼并融合成一段连贯的章节历史。原文如下:\x0a\x0a'+_0x3c0e85}],_0x2473ef=await callAmily2Model(_0x277812);if(!_0x2473ef)return;const _0x501c1d=_0x19ee62(0x16e)+_0x551248+'楼】已发生的剧情回顾。\x0a\x0a---\x0a\x0a',_0x4ec76c=_0x501c1d+_0x2473ef;_0x45b4ff[_0x19ee62(0x1c2)]=_0x4ec76c+('\x0a\x0a'+_0x335d2d),_0x45b4ff[_0x19ee62(0x1c9)]=_0x45b4ff[_0x19ee62(0x1c9)][_0x19ee62(0x18f)](/\s*\(已精炼\)|\s*\(宏史卷重铸\)/g,''),_0x45b4ff['comment']+=_0x19ee62(0x197),await saveWorldInfo(_0x3bd521,_0x2b22f8,!![]),toastr['success'](_0x19ee62(0x1b2)+_0x3bd521+'》!',_0x19ee62(0x1c7));}catch(_0x76c25f){console[_0x19ee62(0x16f)](_0x19ee62(0x169),_0x76c25f),toastr[_0x19ee62(0x16f)]('重铸史册时发生错误。','国史馆');}}export async function executeExpedition(){const _0x7588c=_0x243cb7;if(isExpeditionRunning){toastr['info']('远征军已在途中,无需重复下令。',_0x7588c(0x188));return;}isExpeditionRunning=!![],manualStopRequested=![],document[_0x7588c(0x1a2)](new CustomEvent(_0x7588c(0x176),{'detail':{'isRunning':!![]}}));try{const _0x42e74a=extension_settings[extensionName],_0xb51060=getContext();let _0x549888=null;switch(_0x42e74a['lorebookTarget']){case _0x7588c(0x18c):_0x549888=characters[_0xb51060[_0x7588c(0x1d9)]]?.[_0x7588c(0x17a)]?.['extensions']?.[_0x7588c(0x199)];if(!_0x549888){toastr[_0x7588c(0x16f)]('当前角色未绑定主世界书,远征军无法开拔!','圣谕不明'),isExpeditionRunning=![],document[_0x7588c(0x1a2)](new CustomEvent('amily2-expedition-state-change',{'detail':{'isRunning':![],'manualStop':![]}}));return;}break;case _0x7588c(0x19e):const _0x57d51b=await getChatIdentifier();_0x549888=_0x7588c(0x17b)+_0x57d51b;break;default:toastr[_0x7588c(0x16f)](_0x7588c(0x1ca),'圣谕不明'),isExpeditionRunning=![],document[_0x7588c(0x1a2)](new CustomEvent(_0x7588c(0x176),{'detail':{'isRunning':![],'manualStop':![]}}));return;}const _0x82d411=await readGoldenLedgerProgress(_0x549888),_0x1dba6d=_0xb51060['chat'][_0x7588c(0x1b9)],_0x36bee9=_0x1dba6d-_0x82d411;if(_0x36bee9<=0x0){toastr['info'](_0x7588c(0x1a8),'凯旋'),isExpeditionRunning=![],document[_0x7588c(0x1a2)](new CustomEvent(_0x7588c(0x176),{'detail':{'isRunning':![],'manualStop':![]}}));return;}const _0x23bc6=_0x42e74a['historiographySmallTriggerThreshold'],_0x1ea482=Math[_0x7588c(0x181)](_0x36bee9/_0x23bc6);toastr[_0x7588c(0x17e)](_0x7588c(0x1b3)+_0x36bee9+_0x7588c(0x196)+_0x1ea482+'\x20批次征服!',_0x7588c(0x1d3));let _0x2ec678=_0x82d411;for(let _0x213e64=0x0;_0x213e64<_0x1ea482;_0x213e64++){if(manualStopRequested){toastr[_0x7588c(0x167)](_0x7588c(0x194),_0x7588c(0x19f));break;}const _0x31f316=_0x2ec678+0x1,_0x231d7a=Math[_0x7588c(0x163)](_0x2ec678+_0x23bc6,_0x1dba6d),_0x4fe3b7='远征战役\x20('+(_0x213e64+0x1)+'/'+_0x1ea482+')',_0x420450=0x7d0;_0x213e64>0x0&&(toastr[_0x7588c(0x17e)]('第\x20'+(_0x213e64+0x1)+_0x7588c(0x187)+_0x420450/0x3e8+'秒后接敌)',_0x4fe3b7),await new Promise(_0x1fc047=>setTimeout(_0x1fc047,_0x420450)));if(manualStopRequested){toastr[_0x7588c(0x167)](_0x7588c(0x1a9),_0x7588c(0x19f));break;}await executeManualSummary(_0x31f316,_0x231d7a,!![]),_0x2ec678=_0x231d7a;}!manualStopRequested&&toastr[_0x7588c(0x1d4)](_0x7588c(0x173),_0x7588c(0x16d));}catch(_0x23a7ac){console[_0x7588c(0x16f)](_0x7588c(0x184),_0x23a7ac),toastr[_0x7588c(0x16f)](_0x7588c(0x1cb),'远征失败');}finally{isExpeditionRunning=![],document[_0x7588c(0x1a2)](new CustomEvent('amily2-expedition-state-change',{'detail':{'isRunning':![],'manualStop':manualStopRequested}}));}}export function stopExpedition(){const _0x16ac11=_0x243cb7;isExpeditionRunning?(manualStopRequested=!![],toastr[_0x16ac11(0x17e)](_0x16ac11(0x1de),_0x16ac11(0x18b))):toastr['warning'](_0x16ac11(0x190),_0x16ac11(0x188));} +const _0x246793=_0x474b;(function(_0xfdad77,_0x4bc066){const _0x306435=_0x474b,_0x372095=_0xfdad77();while(!![]){try{const _0x515e16=-parseInt(_0x306435(0xc1))/0x1+-parseInt(_0x306435(0x10c))/0x2*(parseInt(_0x306435(0xe0))/0x3)+-parseInt(_0x306435(0xe8))/0x4+-parseInt(_0x306435(0xf7))/0x5+-parseInt(_0x306435(0x10d))/0x6*(parseInt(_0x306435(0x11d))/0x7)+parseInt(_0x306435(0xc9))/0x8+parseInt(_0x306435(0xa2))/0x9;if(_0x515e16===_0x4bc066)break;else _0x372095['push'](_0x372095['shift']());}catch(_0xb77fb){_0x372095['push'](_0x372095['shift']());}}}(_0x3ea8,0x4c826));import{getContext,extension_settings}from'/scripts/extensions.js';import{characters}from'/script.js';import{world_names,loadWorldInfo,createNewWorldInfo,createWorldInfoEntry,saveWorldInfo}from'/scripts/world-info.js';import{extensionName}from'../utils/settings.js';import{getChatIdentifier}from'./lore.js';let isExpeditionRunning=![],manualStopRequested=![];async function callAmily2Model(_0x4378d3){const _0x4cf82f=_0x474b,_0x57d578=extension_settings[extensionName],{apiUrl:_0x29f12d,apiKey:_0x4a87d2,model:_0x4e2d5e,temperature:_0x42bf7d,maxTokens:_0x11166a}=_0x57d578;if(!_0x29f12d||!_0x4e2d5e)return toastr['error']('API\x20URL或模型未配置,大史官无法召唤模型B。',_0x4cf82f(0x9f)),null;let _0x2e65fe=_0x29f12d[_0x4cf82f(0xa0)]();try{const _0xa7f7e0=new URL(_0x2e65fe),_0x4ffeae=_0xa7f7e0['pathname'][_0x4cf82f(0xdb)](_0x4cf82f(0xa7))||_0xa7f7e0[_0x4cf82f(0x108)][_0x4cf82f(0xdb)]('/v1beta/openai');if(!_0x4ffeae){let _0x4d2d2a=_0xa7f7e0['pathname'];if(_0x4d2d2a[_0x4cf82f(0xdb)](_0x4cf82f(0xb8)))_0x4d2d2a=_0x4d2d2a[_0x4cf82f(0xad)](0x0,-0x1);else _0x4d2d2a[_0x4cf82f(0xdb)]('/v1')&&(_0x4d2d2a=_0x4d2d2a[_0x4cf82f(0xad)](0x0,-0x2));_0xa7f7e0[_0x4cf82f(0x108)]=_0x4d2d2a[_0x4cf82f(0xc2)](/\/$/,'')+_0x4cf82f(0xa7);}_0x2e65fe=_0xa7f7e0[_0x4cf82f(0xd6)];}catch(_0x5b6387){return console[_0x4cf82f(0xf0)](_0x4cf82f(0xc3),_0x5b6387),toastr[_0x4cf82f(0xf0)](_0x4cf82f(0xe9),_0x4cf82f(0x11f)),null;}console[_0x4cf82f(0x113)](_0x4cf82f(0xec)+new Date()['toLocaleTimeString']()),console[_0x4cf82f(0xf2)]('【目标地址】:\x20'+_0x2e65fe),console[_0x4cf82f(0xf2)]('【信函参数】',{'model':_0x4e2d5e,'temperature':_0x42bf7d,'maxTokens':_0x11166a}),console['log']('【信函正文\x20(messages)】:'),console[_0x4cf82f(0xcd)](_0x4378d3),console[_0x4cf82f(0x122)]();try{const _0x600e22=await fetch(_0x2e65fe,{'method':'POST','headers':{'Content-Type':_0x4cf82f(0xb1),'Authorization':_0x4cf82f(0x102)+_0x4a87d2},'body':JSON[_0x4cf82f(0xcc)]({'model':_0x4e2d5e,'messages':_0x4378d3,'temperature':_0x42bf7d,'max_tokens':_0x11166a,'stream':![]})});if(!_0x600e22['ok']){const _0x5cb74e=await _0x600e22[_0x4cf82f(0xa3)]();console['error'](_0x4cf82f(0xfa),_0x600e22[_0x4cf82f(0x118)],_0x5cb74e);throw new Error(_0x4cf82f(0xed)+_0x600e22[_0x4cf82f(0x118)]+_0x4cf82f(0xf1)+_0x5cb74e);}const _0x57cc62=await _0x600e22[_0x4cf82f(0xa4)]();return _0x57cc62[_0x4cf82f(0x116)][0x0]['message'][_0x4cf82f(0xa1)];}catch(_0x495bed){return console[_0x4cf82f(0xf0)](_0x4cf82f(0xaa),_0x495bed),toastr['error'](_0x4cf82f(0xe3)+_0x495bed[_0x4cf82f(0x10e)],_0x4cf82f(0xe4)),null;}}const RUNNING_LOG_COMMENT=_0x246793(0xe7),PROGRESS_SEAL_REGEX=/本条勿动【前(\d+)楼总结已完成】否则后续总结无法进行。$/;function _0x474b(_0x2cace1,_0x539d52){const _0x3ea814=_0x3ea8();return _0x474b=function(_0x474b6a,_0x385b51){_0x474b6a=_0x474b6a-0x9f;let _0x2aa9ab=_0x3ea814[_0x474b6a];return _0x2aa9ab;},_0x474b(_0x2cace1,_0x539d52);}async function readGoldenLedgerProgress(_0x384e55){const _0x438b3b=_0x246793;if(!_0x384e55)return 0x0;try{const _0x43eb57=await loadWorldInfo(_0x384e55);if(!_0x43eb57||!_0x43eb57[_0x438b3b(0x11c)])return 0x0;const _0x4e12e0=Object[_0x438b3b(0xeb)](_0x43eb57['entries'])[_0x438b3b(0xe1)](_0x2ea678=>_0x2ea678[_0x438b3b(0xd8)]===RUNNING_LOG_COMMENT&&!_0x2ea678[_0x438b3b(0x106)]);if(!_0x4e12e0)return 0x0;const _0x2dbee7=_0x4e12e0[_0x438b3b(0xa1)]['match'](PROGRESS_SEAL_REGEX);return _0x2dbee7?parseInt(_0x2dbee7[0x1],0xa):0x0;}catch(_0x376f80){return console[_0x438b3b(0xf0)](_0x438b3b(0xd1)+_0x384e55+_0x438b3b(0xdd),_0x376f80),0x0;}}export async function checkAndTriggerAutoSummary(){const _0x285901=_0x246793,_0x4d2581=extension_settings[extensionName];if(!_0x4d2581[_0x285901(0x105)])return;const _0x48912d=getContext();let _0x20b54e=null;switch(_0x4d2581['lorebookTarget']){case'character_main':_0x20b54e=characters[_0x48912d['characterId']]?.[_0x285901(0x121)]?.[_0x285901(0xd9)]?.[_0x285901(0xd5)];break;case _0x285901(0xb7):const _0x22c44c=await getChatIdentifier();_0x20b54e=_0x285901(0x100)+_0x22c44c;break;default:return;}if(!_0x20b54e)return;const _0x9ccd6d=await readGoldenLedgerProgress(_0x20b54e),_0x2e5290=_0x48912d[_0x285901(0xba)][_0x285901(0x10b)],_0x1fc8b3=_0x2e5290-_0x9ccd6d;if(_0x1fc8b3>=_0x4d2581['historiographySmallTriggerThreshold']){const _0x12636e=_0x9ccd6d+0x1,_0x4977c7=_0x2e5290;await executeManualSummary(_0x12636e,_0x4977c7,!![]);}}export async function getAvailableWorldbooks(){return[...world_names];}export async function getLoresForWorldbook(_0x4a2929){const _0x2c94be=_0x246793;if(!_0x4a2929)return[];try{const _0x3cbdb5=await loadWorldInfo(_0x4a2929);if(!_0x3cbdb5||!_0x3cbdb5[_0x2c94be(0x11c)])return[];return Object[_0x2c94be(0x11c)](_0x3cbdb5['entries'])[_0x2c94be(0xc5)](([,_0x3ae959])=>!_0x3ae959['disable'])[_0x2c94be(0xff)](([_0x59cdb3,_0x4eadac])=>({'key':_0x59cdb3,'comment':_0x4eadac[_0x2c94be(0xd8)]||_0x2c94be(0x10f)}));}catch(_0x1049c1){return console['error'](_0x2c94be(0x109)+_0x4a2929+_0x2c94be(0xd7),_0x1049c1),[];}}export async function executeManualSummary(_0x4daf44,_0x5d7ccf,_0x2eae69=![]){const _0x128c00=_0x246793,_0x500f9c=_0x2eae69?_0x128c00(0x111):_0x128c00(0xc8);toastr['info'](_0x128c00(0xe5)+_0x4daf44+_0x128c00(0xf9)+_0x5d7ccf+_0x128c00(0x110),_0x500f9c);const _0x10bdbf=getContext(),_0x2e0c8e=_0x10bdbf[_0x128c00(0xba)],_0x1376a0=extension_settings[extensionName],_0x2a90a9=_0x2e0c8e['slice'](_0x4daf44,_0x5d7ccf+0x1);if(_0x2a90a9[_0x128c00(0x10b)]===0x0){toastr['warning'](_0x128c00(0xef),_0x128c00(0x11f));return;}const _0xe57255=_0x10bdbf[_0x128c00(0xae)]||'用户',_0x24a47e=_0x10bdbf['name2']||'角色',_0x13b345=_0x2a90a9[_0x128c00(0xff)](_0x513968=>{const _0x277ae8=_0x128c00,_0x4e44d5=_0x513968['is_user']?_0xe57255:_0x24a47e;return _0x4e44d5+':\x20'+_0x513968[_0x277ae8(0xbb)][_0x277ae8(0xa0)]();})[_0x128c00(0xa5)]('\x0a'),_0x42acf0=[{'role':_0x128c00(0x11e),'content':_0x1376a0[_0x128c00(0xd2)]},{'role':_0x128c00(0x11e),'content':_0x1376a0[_0x128c00(0xac)]},{'role':'user','content':'请严格根据以下“对话记录”中的内容进行总结,不要添加任何额外信息。\x0a\x0a<对话记录>\x0a'+_0x13b345+_0x128c00(0xfb)}],_0x508bfc=await callAmily2Model(_0x42acf0);if(!_0x508bfc)return;try{let _0x488b1d=null;switch(_0x1376a0[_0x128c00(0x104)]){case _0x128c00(0xb0):_0x488b1d=characters[_0x10bdbf[_0x128c00(0x117)]]?.[_0x128c00(0x121)]?.[_0x128c00(0xd9)]?.[_0x128c00(0xd5)];if(!_0x488b1d){toastr[_0x128c00(0xf0)](_0x128c00(0xcb),_0x128c00(0xce));return;}break;case _0x128c00(0xb7):const _0x4b1880=await getChatIdentifier();_0x488b1d=_0x128c00(0x100)+_0x4b1880;!world_names[_0x128c00(0xde)](_0x488b1d)&&await createNewWorldInfo(_0x488b1d);break;default:toastr[_0x128c00(0xf0)](_0x128c00(0xaf),_0x128c00(0x10a));return;}const _0x5c703f=await loadWorldInfo(_0x488b1d),_0xf344ca=Object[_0x128c00(0xeb)](_0x5c703f[_0x128c00(0x11c)])['find'](_0xc74eeb=>_0xc74eeb[_0x128c00(0xd8)]===RUNNING_LOG_COMMENT&&!_0xc74eeb['disable']),_0xff3489=_0x128c00(0xd0)+_0x5d7ccf+_0x128c00(0xab),_0x994677=_0x128c00(0xb2)+_0x4daf44+'楼至'+_0x5d7ccf+'楼详细总结记录】\x0a'+_0x508bfc;if(_0xf344ca){const _0x51a454=_0xf344ca['content'][_0x128c00(0xc2)](PROGRESS_SEAL_REGEX,'')[_0x128c00(0xa0)]();_0xf344ca[_0x128c00(0xa1)]=_0x51a454+_0x994677+_0xff3489;}else{const _0x3b8b56='以下是依照顺序已发生剧情'+_0x994677,_0x275bb4=createWorldInfoEntry(_0x488b1d,_0x5c703f),_0x22eade=_0x1376a0[_0x128c00(0xe2)][_0x128c00(0xb4)](',')['map'](_0x521b7f=>_0x521b7f[_0x128c00(0xa0)]())[_0x128c00(0xc5)](Boolean),_0x415d40=_0x1376a0['loreActivationMode']===_0x128c00(0x101),_0x67087d={'before_char':0x0,'after_char':0x1,'before_an':0x2,'after_an':0x3,'at_depth':0x4};Object[_0x128c00(0xf4)](_0x275bb4,{'comment':RUNNING_LOG_COMMENT,'content':_0x3b8b56+_0xff3489,'key':_0x22eade,'constant':_0x415d40,'position':_0x67087d[_0x1376a0[_0x128c00(0xf8)]]??0x4,'depth':_0x1376a0[_0x128c00(0xf5)],'disable':![]});}await saveWorldInfo(_0x488b1d,_0x5c703f,!![]),toastr[_0x128c00(0xb5)](_0x128c00(0xf3),_0x500f9c+'完毕');}catch(_0x41f8b8){console[_0x128c00(0xf0)]('[大史官]\x20'+_0x500f9c+_0x128c00(0xe6),_0x41f8b8),toastr[_0x128c00(0xf0)]('写入'+_0x500f9c+'时发生错误。',_0x128c00(0xce));}}export async function executeRefinement(_0x61c44c,_0x4f3f6b){const _0x5866a1=_0x246793;toastr[_0x5866a1(0xb6)]('遵旨!正在为您重铸《'+_0x61c44c+_0x5866a1(0xbd),'宏史卷重铸');try{const _0x368166=await loadWorldInfo(_0x61c44c),_0x123024=_0x368166?.[_0x5866a1(0x11c)][_0x4f3f6b];if(!_0x123024){toastr[_0x5866a1(0xf0)](_0x5866a1(0xf6),_0x5866a1(0x11f));return;}const _0x29dd07=_0x123024[_0x5866a1(0xa1)],_0x2f8679=extension_settings[extensionName];let _0x44d445=_0x29dd07,_0x22b236='',_0x48b7d4=0x0;const _0x2b2d95=_0x29dd07[_0x5866a1(0xea)](PROGRESS_SEAL_REGEX);_0x2b2d95&&(_0x22b236=_0x2b2d95[0x0],_0x48b7d4=parseInt(_0x2b2d95[0x1],0xa),_0x44d445=_0x29dd07['replace'](PROGRESS_SEAL_REGEX,'')[_0x5866a1(0xa0)]());if(!_0x44d445[_0x5866a1(0xa0)]()){toastr[_0x5866a1(0x120)](_0x5866a1(0x114),_0x5866a1(0xbe));return;}const _0x184201=[{'role':_0x5866a1(0x11e),'content':_0x2f8679[_0x5866a1(0xca)]},{'role':_0x5866a1(0x11e),'content':_0x2f8679[_0x5866a1(0xa9)]},{'role':'user','content':_0x5866a1(0x11a)+_0x44d445}],_0x2f320d=await callAmily2Model(_0x184201);if(!_0x2f320d)return;const _0x27d8fd=_0x5866a1(0xbf)+_0x48b7d4+_0x5866a1(0xc7),_0x29a594=_0x27d8fd+_0x2f320d;_0x123024[_0x5866a1(0xa1)]=_0x29a594+('\x0a\x0a'+_0x22b236),_0x123024['comment']=_0x123024[_0x5866a1(0xd8)][_0x5866a1(0xc2)](/\s*\(已精炼\)|\s*\(宏史卷重铸\)/g,''),_0x123024['comment']+=_0x5866a1(0x107),await saveWorldInfo(_0x61c44c,_0x368166,!![]),toastr[_0x5866a1(0xb5)]('史册已成功重铸,并保存于《'+_0x61c44c+'》!',_0x5866a1(0xfd));}catch(_0x26c21f){console[_0x5866a1(0xf0)](_0x5866a1(0xda),_0x26c21f),toastr['error'](_0x5866a1(0xfe),_0x5866a1(0xce));}}function _0x3ea8(){const _0x15a5c5=['4iuJQXP','426qGrapY','message','无标题条目','\x20层的对话历史...','微言录\x20(自动)','远征失败','groupCollapsed','史册条目中无可供重铸的内容。','远征已在准备阶段遵令暂停!','choices','characterId','status','远征军已开拔!目标:','请将以下多个零散的“详细总结记录”提炼并融合成一段连贯的章节历史。原文如下:\x0a\x0a','dispatchEvent','entries','19523YIKzXq','system','圣谕有误','warning','data','groupEnd','通讯中断','trim','content','20270682IDrUSX','text','json','join','[大史官-远征失败]','/v1/chat/completions','鸣金收兵','historiographyLargeRefinePrompt','[大史官-通讯异常]','楼总结已完成】否则后续总结无法进行。','historiographySmallSummaryPrompt','slice','name1','未知的史册写入指令','character_main','application/json','\x0a\x0a---\x0a\x0a【','远征已遵从您的敕令暂停!随时可以【继续远征】。','split','success','info','dedicated','/v1/','停战敕令已下达!远征军将在完成当前批次的任务后休整。','chat','mes','historiographySmallTriggerThreshold','》中的【微言录合集】...','国库空虚','以下内容是【1楼-','国史已是最新,远征军无需出动。','573149QSrxEX','replace','[大史官-通讯异常]\x20您提供的API\x20URL格式不正确,无法解析。','远征军已在营中,无需下达停战敕令。','filter','amily2-expedition-state-change','楼】已发生的剧情回顾。\x0a\x0a---\x0a\x0a','微言录\x20(手动)','197832KCXZni','historiographyLargeJailbreakPrompt','当前角色未绑定主世界书,无法写入总结。','stringify','table','国史馆','圣谕传达','\x0a\x0a本条勿动【前','[大史官]\x20阅览《','historiographySmallJailbreakPrompt','\x20层历史,分\x20','远征途中遭遇重大挫折,任务中止!您可以随时【继续远征】。','world','href','》时出错:','comment','extensions','[大史官]\x20重铸任务失败:','endsWith','远征完毕','》天机时出错:','includes','远征军已在途中,无需重复下令。','911724sfQWBU','find','loreKeywords','与模型B通讯时发生异常:\x20','通讯异常','遵旨!正在为您熔铸\x20','写入失败:','【敕史局】对话流水总帐','1696084fImbHj','API\x20URL格式错误,大史官无法出征。','match','values','[Amily2-大史官]\x20准备向模型B发送机密信函...\x20@\x20','模型B召唤失败:\x20','min','选定的楼层范围内无有效对话。','error','\x20-\x20','log','编年史已成功更新!','assign','loreDepth','找不到指定的史册条目,重铸任务中止。','803200ZEPFZJ','loreInsertionPosition','\x20至\x20','[大史官-通讯失败]','\x0a','圣谕悉知','宏史卷重铸完毕','重铸史册时发生错误。','map','Amily2-Lore-','always','Bearer\x20','当前角色未绑定主世界书,远征军无法开拔!','lorebookTarget','historiographySmallAutoEnable','disable','\x20(宏史卷重铸)','pathname','[大史官]\x20检阅《','圣谕不明','length'];_0x3ea8=function(){return _0x15a5c5;};return _0x3ea8();}export async function executeExpedition(){const _0x466ee1=_0x246793;if(isExpeditionRunning){toastr[_0x466ee1(0xb6)](_0x466ee1(0xdf),_0x466ee1(0xfc));return;}isExpeditionRunning=!![],manualStopRequested=![],document[_0x466ee1(0x11b)](new CustomEvent(_0x466ee1(0xc6),{'detail':{'isRunning':!![]}}));try{const _0x276a84=extension_settings[extensionName],_0x2117db=getContext();let _0x17fed4=null;switch(_0x276a84[_0x466ee1(0x104)]){case'character_main':_0x17fed4=characters[_0x2117db[_0x466ee1(0x117)]]?.['data']?.['extensions']?.['world'];if(!_0x17fed4){toastr[_0x466ee1(0xf0)](_0x466ee1(0x103),_0x466ee1(0x10a)),isExpeditionRunning=![],document['dispatchEvent'](new CustomEvent(_0x466ee1(0xc6),{'detail':{'isRunning':![],'manualStop':![]}}));return;}break;case _0x466ee1(0xb7):const _0xd5a2c2=await getChatIdentifier();_0x17fed4=_0x466ee1(0x100)+_0xd5a2c2;break;default:toastr[_0x466ee1(0xf0)]('未知的史册写入目标,远征军无法开拔!',_0x466ee1(0x10a)),isExpeditionRunning=![],document[_0x466ee1(0x11b)](new CustomEvent(_0x466ee1(0xc6),{'detail':{'isRunning':![],'manualStop':![]}}));return;}const _0x3a2af6=await readGoldenLedgerProgress(_0x17fed4),_0x3e48ac=_0x2117db['chat'][_0x466ee1(0x10b)],_0x5ac9b2=_0x3e48ac-_0x3a2af6;if(_0x5ac9b2<=0x0){toastr['info'](_0x466ee1(0xc0),'凯旋'),isExpeditionRunning=![],document[_0x466ee1(0x11b)](new CustomEvent(_0x466ee1(0xc6),{'detail':{'isRunning':![],'manualStop':![]}}));return;}const _0x5deb27=_0x276a84[_0x466ee1(0xbc)],_0x19598d=Math['ceil'](_0x5ac9b2/_0x5deb27);toastr[_0x466ee1(0xb6)](_0x466ee1(0x119)+_0x5ac9b2+_0x466ee1(0xd3)+_0x19598d+'\x20批次征服!','远征开始');let _0x45260c=_0x3a2af6;for(let _0x439965=0x0;_0x439965<_0x19598d;_0x439965++){if(manualStopRequested){toastr[_0x466ee1(0x120)](_0x466ee1(0xb3),_0x466ee1(0xa8));break;}const _0x4a92d7=_0x45260c+0x1,_0xe9e01a=Math[_0x466ee1(0xee)](_0x45260c+_0x5deb27,_0x3e48ac),_0x4d83a2='远征战役\x20('+(_0x439965+0x1)+'/'+_0x19598d+')',_0x519c9c=0x7d0;_0x439965>0x0&&(toastr['info']('第\x20'+(_0x439965+0x1)+'\x20批次战役准备中...\x20('+_0x519c9c/0x3e8+'秒后接敌)',_0x4d83a2),await new Promise(_0x50f050=>setTimeout(_0x50f050,_0x519c9c)));if(manualStopRequested){toastr[_0x466ee1(0x120)](_0x466ee1(0x115),_0x466ee1(0xa8));break;}await executeManualSummary(_0x4a92d7,_0xe9e01a,!![]),_0x45260c=_0xe9e01a;}!manualStopRequested&&toastr['success']('凯旋!远征大捷!所有未载之史均已化为帝国永恒的记忆!',_0x466ee1(0xdc));}catch(_0x41ce96){console['error'](_0x466ee1(0xa6),_0x41ce96),toastr[_0x466ee1(0xf0)](_0x466ee1(0xd4),_0x466ee1(0x112));}finally{isExpeditionRunning=![],document[_0x466ee1(0x11b)](new CustomEvent(_0x466ee1(0xc6),{'detail':{'isRunning':![],'manualStop':manualStopRequested}}));}}export function stopExpedition(){const _0x2d7915=_0x246793;isExpeditionRunning?(manualStopRequested=!![],toastr[_0x2d7915(0xb6)](_0x2d7915(0xb9),_0x2d7915(0xcf))):toastr[_0x2d7915(0x120)](_0x2d7915(0xc4),_0x2d7915(0xfc));}