mirror of
https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git
synced 2026-06-06 15:05:51 +00:00
2 lines
24 KiB
JavaScript
2 lines
24 KiB
JavaScript
const _0x4f8fd1=_0xd822;(function(_0x9669f1,_0x3e5373){const _0xa4d2db=_0xd822,_0x14aebc=_0x9669f1();while(!![]){try{const _0x3753dc=-parseInt(_0xa4d2db(0x1a6))/0x1+parseInt(_0xa4d2db(0x1dd))/0x2+-parseInt(_0xa4d2db(0x189))/0x3+parseInt(_0xa4d2db(0x179))/0x4*(parseInt(_0xa4d2db(0x1e2))/0x5)+-parseInt(_0xa4d2db(0x1b2))/0x6+-parseInt(_0xa4d2db(0x1fc))/0x7*(parseInt(_0xa4d2db(0x216))/0x8)+-parseInt(_0xa4d2db(0x194))/0x9*(-parseInt(_0xa4d2db(0x204))/0xa);if(_0x3753dc===_0x3e5373)break;else _0x14aebc['push'](_0x14aebc['shift']());}catch(_0x4eaaf2){_0x14aebc['push'](_0x14aebc['shift']());}}}(_0x5a12,0x97118));import{extension_settings,getContext}from'/scripts/extensions.js';import{characters}from'/script.js';import{world_names}from'/scripts/world-info.js';import{extensionName}from'../utils/settings.js';import{extractContentByTag,replaceContentByTag,extractFullTagBlock}from'../utils/tagProcessor.js';import{getCombinedWorldbookContent,findLatestSummaryLore,DEDICATED_LOREBOOK_NAME,getChatIdentifier}from'./lore.js';import{isGoogleEndpoint,convertToGoogleRequest,parseGoogleResponse,buildGoogleApiUrl}from'../core/utils/googleAdapter.js';import{intelligentPoll,createGooglePollingTask,progressTracker}from'../core/utils/pollingManager.js';let ChatCompletionService=undefined;try{const module=await import('/scripts/custom-request.js');ChatCompletionService=module['ChatCompletionService'],console['log'](_0x4f8fd1(0x1cc));}catch(_0x5de009){console[_0x4f8fd1(0x206)]('[Amily2号-外交部]\x20未能召唤“皇家信使”,部分高级功能(如Claw代理)将受限。请考虑更新SillyTavern版本。',_0x5de009);}function _0x5a12(){const _0x356b6f=['14095YlJUUN','#amily2_model','time','timeEnd','[Amily2号-外交部]\x20任务取消:陛下尚未配置情报来源URL。','[Amily2号-Google外交部]\x20修正后的API地址:\x20','prop','data','[Amily2号-使节团]\x20已启用“皇家密道”模式,跳过模型列表获取。请手动输入模型ID并保存。','join','audio','手动模式已启用','[Amily2号-外交部]\x20已派遣使者前往云端获取最新情报...','disabled','皇家信使未能带回有效情报(响应为空)。','slice','[Amily2号-外交部]\x20情报已成功获取并解析。','/models','is_user','[Amily2号-使节团]\x20上次任务尚未完成,本次任务取消。','Amily2-外交部','summarizationPrompt','no-store','worldbookEnabled','loreKeywords','user','4577475JAwvZv','apiKey','apiUrl','未知的\x20Google\x20模型列表格式','[世界书档案]:\x0a','/chat/completions','陛下,请先赐予\x20API\x20地址与至少一枚\x20API\x20Key。','split','780mhoFZt','Bearer\x20','warn','aiplatform.googleapis.com','optimizationEnabled','Amily2号任务失败:\x20','length','上次任务尚未完成,请稍后再试。','application/json','cors','[核心处理内容]:\x0a','append','world','forceProxyForCustomApi','complete','search','val','optimizationTargetTag','8ADrvOR','model','\x20个可用模型','Key\x20...','temperature','/v1beta/openai','###AMILY2-SUMMARY###','code','groupCollapsed','无法识别的\x20Google\x20API\x20端点','仅总结','characterId','POST','任务总结','外交任务总耗时','filter','AMILY2_SYSTEM_PARALYZED','name1','X-goog-api-key','success','start','omit','Amily2-ChatPlugin','[Amily2号-使节团]\x20失败详情汇总:\x0a','stringify','[Amily2-外交部]\x20发生严重错误:','[Amily2号-外交部]\x20最终国书将发往:\x20','[Amily2号-外交任务]\x20','embed','isArray','href','[Amily2号-外交部]\x20使节团尝试使用地址:\x20','replace','API返回错误:\x20','任务成功','#amily2_api_key','所有使节团任务完成,找到\x20','ai.google.dev','配置缺失','远方服务器响应异常,状态:\x20','loreSettings','GET','模式切换','loreInsertionPosition','error','508kHuIft','<option>','map','[Amily2号-外交部]\x20递交通关文牒至皇家信使...','AMILY2_LOCK_MODEL_FETCHING','origin','#amily2_refresh_models','[Amily2号-最终国书内容\x20(发往AI)]','log','\x20失败:\x20','[Amily2号-原始回复]','未知的模型列表格式','<i\x20class=\x22fas\x20fa-sync-alt\x22></i>\x20刷新模型','choices','正在轮换使节团获取模型...','Google','1711773JxmmGp','#amily2_api_url','includes','Origin','/v1/chat/completions','API请求失败:\x20','API\x20Key无效','onAttempt','<无法提取错误正文>','loreDepth','Authorization','185823lXNrdh','love.qinyan.xyz','undefined','endsWith','content','成功获取\x20','push','statusText','name2','>\x20未找到或为空,优化任务已跳过。','[Amily2号-外交部]\x20紧急军情:外交任务失败!','metadata','\x20位使节成功带回\x20','mes','OpenAI\x20兼容','\x20位使节\x20(Key:\x20...','/v1','json','220116SNyzas','maxTokens','https://raw.githubusercontent.com/Wx-2025/ST-Amily2-Chat-Optimisation/refs/heads/main/amily2_update_info.json','message','API\x20URL\x20未配置。','这里是优化后的文本内容...','\x0a\x0a###AMILY2-SUMMARY###\x0a\x0a这里是根据对话生成的剧情摘要...\x0a\x0a[总结核心要求]:\x0a','systemPrompt','[Amily2号-使节团]\x20最终带回\x20','\x20个模型\x20(使用第\x20','[输出格式与附加任务指令]:\x0a你的输出必须严格遵循以下完整结构:\x0a\x0a','extensions','5057628JXYhmD','轮询任务失败:\x20','[Amily2-外交部]\x20已将史册律法附加至国书,准备发往下一站。','模型获取失败:\x20','+总结','hostname','[Amily2-制裁]\x20系统完整性已受损,所有外交活动被无限期中止。','轮询完成但未获得有效响应','[Amily2-外交部]\x20未能获取AI响应内容','lorebookTarget','localeCompare','summarizationEnabled','toLowerCase','X-Custom-Proxy','trim','任务排队中','严重错误','substring','mainPrompt','sort','所有使节均未能完成任务。详情请见控制台(F12)。','\x20个Key)','location','info','groupEnd','us-central1','[Amily2号-外交部]\x20已成功召唤“皇家信使”(ChatCompletionService)。','processRequest','response','[Amily2号-使节团]\x20派遣第\x20','models','empty','已启用手动模式,请直接输入模型ID。','whisper','[Amily2号-使节团]\x20第\x20','generativelanguage.googleapis.com','string','YourUsername','toLocaleTimeString','name','loreActivationMode','system','[轮询错误]','1875734zPjgJG','\x20位使节任务失败:','text','pathname','\x20-\x20'];_0x5a12=function(){return _0x356b6f;};return _0x5a12();}const UPDATE_CHECK_URL=_0x4f8fd1(0x1a8);export async function checkForUpdates(){const _0xe68506=_0x4f8fd1;if(!UPDATE_CHECK_URL||UPDATE_CHECK_URL[_0xe68506(0x18b)](_0xe68506(0x1d7)))return console[_0xe68506(0x181)](_0xe68506(0x1e6)),null;try{console[_0xe68506(0x181)](_0xe68506(0x1ee));const _0x16e535=await fetch(UPDATE_CHECK_URL,{'method':_0xe68506(0x175),'cache':_0xe68506(0x1f8),'mode':_0xe68506(0x20d)});if(!_0x16e535['ok'])throw new Error(_0xe68506(0x173)+_0x16e535['status']);const _0x494b9c=await _0x16e535[_0xe68506(0x1a5)]();return console['log'](_0xe68506(0x1f2)),_0x494b9c;}catch(_0x2ca172){return console[_0xe68506(0x178)](_0xe68506(0x19e),_0x2ca172),null;}}let isFetchingModels=![];function _0xd822(_0x106397,_0xad91a8){const _0x5a12db=_0x5a12();return _0xd822=function(_0xd82279,_0x34456e){_0xd82279=_0xd82279-0x158;let _0x13acd4=_0x5a12db[_0xd82279];return _0x13acd4;},_0xd822(_0x106397,_0xad91a8);}export async function fetchSupportedModels(){const _0x3c9d39=_0x4f8fd1,_0x3733f4=extension_settings[extensionName];if(_0x3733f4&&_0x3733f4[_0x3c9d39(0x211)]){console[_0x3c9d39(0x181)](_0x3c9d39(0x1ea)),toastr[_0x3c9d39(0x1c9)](_0x3c9d39(0x1d2),_0x3c9d39(0x176));const _0x2a5dd3=$(_0x3c9d39(0x1e3));return _0x2a5dd3[_0x3c9d39(0x1d1)]()[_0x3c9d39(0x20f)]($(_0x3c9d39(0x17a),{'value':'','text':_0x3c9d39(0x1ed)})),[];}if(window['AMILY2_LOCK_MODEL_FETCHING'])return console[_0x3c9d39(0x206)](_0x3c9d39(0x1f5)),toastr[_0x3c9d39(0x1c9)](_0x3c9d39(0x20b),_0x3c9d39(0x1c1)),[];window[_0x3c9d39(0x17d)]=!![];try{const _0x2c3ecb=$(_0x3c9d39(0x18a))[_0x3c9d39(0x214)]()[_0x3c9d39(0x1c0)](),_0x5e0692=$(_0x3c9d39(0x16f))[_0x3c9d39(0x214)]()[_0x3c9d39(0x1c0)](),_0x55761c=$('#amily2_refresh_models'),_0x51af73=$('#amily2_model');if(!_0x2c3ecb||!_0x5e0692)return toastr[_0x3c9d39(0x178)](_0x3c9d39(0x202),_0x3c9d39(0x172)),[];_0x55761c[_0x3c9d39(0x1e8)](_0x3c9d39(0x1ef),!![])['html']('<i\x20class=\x22fas\x20fa-spinner\x20fa-spin\x22></i>\x20加载中'),_0x51af73['empty']()['append']($(_0x3c9d39(0x17a),{'value':'','text':_0x3c9d39(0x187)}));const _0x5aee1f=_0x5e0692[_0x3c9d39(0x203)](',')[_0x3c9d39(0x17b)](_0x4953c0=>_0x4953c0[_0x3c9d39(0x1c0)]())['filter'](Boolean);if(_0x5aee1f['length']===0x0)return toastr[_0x3c9d39(0x178)]('陛下,您提供的\x20API\x20Key\x20无效或为空。',_0x3c9d39(0x18f)),_0x51af73['empty']()['append']($(_0x3c9d39(0x17a),{'value':'','text':_0x3c9d39(0x18f)})),[];const _0x4deda4=[];let _0x3ed0c1=[];for(let _0xbd716a=0x0;_0xbd716a<_0x5aee1f[_0x3c9d39(0x20a)];_0xbd716a++){const _0x22f73c=_0x5aee1f[_0xbd716a];console[_0x3c9d39(0x181)](_0x3c9d39(0x1cf)+(_0xbd716a+0x1)+'/'+_0x5aee1f[_0x3c9d39(0x20a)]+_0x3c9d39(0x1a3)+_0x22f73c[_0x3c9d39(0x1f1)](-0x4)+')\x20...');try{let _0x2d6b6f;const _0x388a00=new URL(_0x2c3ecb),_0x483bf3=isGoogleEndpoint(_0x2c3ecb);if(_0x483bf3){if(_0x388a00[_0x3c9d39(0x1b7)][_0x3c9d39(0x18b)](_0x3c9d39(0x1d5))||_0x388a00['hostname'][_0x3c9d39(0x18b)](_0x3c9d39(0x171)))_0x388a00[_0x3c9d39(0x1e0)]='/v1beta/models';else{if(_0x388a00[_0x3c9d39(0x1b7)][_0x3c9d39(0x18b)](_0x3c9d39(0x207)))_0x388a00[_0x3c9d39(0x1e0)]='/v1beta/projects/locations/global/models';else throw new Error(_0x3c9d39(0x21f));}_0x2d6b6f=_0x388a00[_0x3c9d39(0x16a)];}else{let _0x4b2946=_0x388a00['pathname'];if(_0x4b2946[_0x3c9d39(0x197)]('/v1/chat/completions'))_0x4b2946=_0x4b2946[_0x3c9d39(0x1c3)](0x0,_0x4b2946[_0x3c9d39(0x20a)]-_0x3c9d39(0x201)['length']);else{if(_0x4b2946[_0x3c9d39(0x197)]('/v1/'))_0x4b2946=_0x4b2946[_0x3c9d39(0x1f1)](0x0,-0x1);else!_0x4b2946[_0x3c9d39(0x197)](_0x3c9d39(0x1a4))&&(_0x4b2946=_0x4b2946[_0x3c9d39(0x16c)](/\/$/,'')+_0x3c9d39(0x1a4));}_0x388a00[_0x3c9d39(0x1e0)]=_0x4b2946[_0x3c9d39(0x16c)](/\/$/,'')+_0x3c9d39(0x1f3),_0x2d6b6f=_0x388a00[_0x3c9d39(0x16a)];}console[_0x3c9d39(0x181)](_0x3c9d39(0x16b)+_0x2d6b6f),console[_0x3c9d39(0x181)]('[Amily2号-外交部]\x20API\x20类型:\x20'+(_0x483bf3?_0x3c9d39(0x188):_0x3c9d39(0x1a2)));const _0x472990={'Content-Type':'application/json','Accept':_0x3c9d39(0x20c)};if(_0x483bf3){console[_0x3c9d39(0x181)]('[Amily2号-使节团]\x20使用\x20Google\x20API\x20Key:\x20...'+_0x22f73c[_0x3c9d39(0x1f1)](-0x4));if(_0x388a00[_0x3c9d39(0x1b7)][_0x3c9d39(0x18b)]('generativelanguage.googleapis.com')||_0x388a00['hostname'][_0x3c9d39(0x18b)](_0x3c9d39(0x171)))_0x472990['X-goog-api-key']=_0x22f73c;else _0x388a00['hostname'][_0x3c9d39(0x18b)](_0x3c9d39(0x207))&&(_0x472990['Authorization']=_0x3c9d39(0x205)+_0x22f73c);}else _0x472990['Authorization']=_0x3c9d39(0x205)+_0x22f73c;_0x2d6b6f[_0x3c9d39(0x18b)](_0x3c9d39(0x195))&&(_0x472990[_0x3c9d39(0x1bf)]=_0x3c9d39(0x162),_0x472990[_0x3c9d39(0x18c)]=window[_0x3c9d39(0x1c8)]['origin']);const _0x5c5801=await fetch(_0x2d6b6f,{'method':_0x3c9d39(0x175),'headers':_0x472990,'mode':_0x3c9d39(0x20d),'credentials':_0x3c9d39(0x161)});if(!_0x5c5801['ok']){let _0x559794='';try{const _0x2da0fd=await _0x5c5801[_0x3c9d39(0x1a5)]();_0x559794=JSON[_0x3c9d39(0x164)](_0x2da0fd,null,0x2);}catch{try{_0x559794=await _0x5c5801['text']();}catch(_0x4950b5){_0x559794=_0x3c9d39(0x191);}}throw new Error(_0x3c9d39(0x16d)+_0x5c5801['status']+'\x20'+_0x5c5801[_0x3c9d39(0x19b)]+'\x0a'+_0x559794);}const _0x19626d=await _0x5c5801[_0x3c9d39(0x1a5)]();let _0x5a1435=[];if(_0x483bf3){if(_0x19626d[_0x3c9d39(0x1d0)]&&Array['isArray'](_0x19626d[_0x3c9d39(0x1d0)]))_0x5a1435=_0x19626d[_0x3c9d39(0x1d0)]['map'](_0x1ffde6=>_0x1ffde6[_0x3c9d39(0x1d9)]);else{if(_0x19626d[_0x3c9d39(0x1e9)]&&Array[_0x3c9d39(0x169)](_0x19626d[_0x3c9d39(0x1e9)]))_0x5a1435=_0x19626d[_0x3c9d39(0x1e9)][_0x3c9d39(0x17b)](_0xff7a8e=>_0xff7a8e[_0x3c9d39(0x1d9)]||_0xff7a8e['id']);else{if(Array[_0x3c9d39(0x169)](_0x19626d))_0x5a1435=_0x19626d[_0x3c9d39(0x17b)](_0x3ad2d3=>_0x3ad2d3['name']);else throw new Error(_0x3c9d39(0x1ff));}}}else{if(Array[_0x3c9d39(0x169)](_0x19626d))_0x5a1435=_0x19626d[_0x3c9d39(0x17b)](_0x49b38b=>_0x49b38b['id']||_0x49b38b);else{if(_0x19626d[_0x3c9d39(0x1e9)]&&Array[_0x3c9d39(0x169)](_0x19626d[_0x3c9d39(0x1e9)]))_0x5a1435=_0x19626d[_0x3c9d39(0x1e9)][_0x3c9d39(0x17b)](_0x930f02=>_0x930f02['id']);else{if(_0x19626d['models']&&Array[_0x3c9d39(0x169)](_0x19626d[_0x3c9d39(0x1d0)]))_0x5a1435=_0x19626d[_0x3c9d39(0x1d0)][_0x3c9d39(0x17b)](_0x5d3bd1=>_0x5d3bd1['id']);else throw new Error(_0x3c9d39(0x184));}}}const _0x15278e=_0x5a1435[_0x3c9d39(0x15b)](_0x13c20e=>typeof _0x13c20e===_0x3c9d39(0x1d6))[_0x3c9d39(0x15b)](_0x118829=>!_0x118829[_0x3c9d39(0x1be)]()[_0x3c9d39(0x18b)](_0x3c9d39(0x168)))[_0x3c9d39(0x15b)](_0x507c88=>!_0x507c88[_0x3c9d39(0x1be)]()['includes'](_0x3c9d39(0x213)))['filter'](_0x1c9706=>!_0x1c9706[_0x3c9d39(0x1be)]()[_0x3c9d39(0x18b)]('similarity'))[_0x3c9d39(0x15b)](_0x57193f=>!_0x57193f[_0x3c9d39(0x1be)]()['includes'](_0x3c9d39(0x1ec)))['filter'](_0x1cfe1d=>!_0x1cfe1d['toLowerCase']()[_0x3c9d39(0x18b)](_0x3c9d39(0x21d)))[_0x3c9d39(0x15b)](_0xaf9747=>!_0xaf9747[_0x3c9d39(0x1be)]()[_0x3c9d39(0x18b)](_0x3c9d39(0x1d3)));_0x15278e[_0x3c9d39(0x1c5)]((_0x51469f,_0x33aa9a)=>_0x51469f[_0x3c9d39(0x1bc)](_0x33aa9a)),console[_0x3c9d39(0x181)](_0x3c9d39(0x1d4)+(_0xbd716a+0x1)+_0x3c9d39(0x1a0)+_0x15278e[_0x3c9d39(0x20a)]+'\x20个模型!'),_0x3ed0c1=[...new Set([..._0x3ed0c1,..._0x15278e])],_0x3ed0c1[_0x3c9d39(0x1c5)]();_0x483bf3?toastr[_0x3c9d39(0x15f)]('成功获取\x20'+_0x15278e[_0x3c9d39(0x20a)]+'\x20个\x20Google\x20模型\x20(使用第\x20'+(_0xbd716a+0x1)+_0x3c9d39(0x1c7),_0x3c9d39(0x16e)):toastr[_0x3c9d39(0x15f)](_0x3c9d39(0x199)+_0x15278e[_0x3c9d39(0x20a)]+_0x3c9d39(0x1af)+(_0xbd716a+0x1)+_0x3c9d39(0x1c7),_0x3c9d39(0x16e));break;}catch(_0xca98dd){const _0x2986d1=_0x3c9d39(0x219)+_0x22f73c[_0x3c9d39(0x1f1)](-0x4)+_0x3c9d39(0x182)+_0xca98dd[_0x3c9d39(0x1a9)];console[_0x3c9d39(0x178)](_0x3c9d39(0x1d4)+(_0xbd716a+0x1)+_0x3c9d39(0x1de),_0xca98dd),_0x4deda4[_0x3c9d39(0x19a)](_0x2986d1);}}if(_0x3ed0c1[_0x3c9d39(0x20a)]>0x0)return console[_0x3c9d39(0x181)](_0x3c9d39(0x1ae)+_0x3ed0c1[_0x3c9d39(0x20a)]+_0x3c9d39(0x218)),toastr['info'](_0x3c9d39(0x170)+_0x3ed0c1[_0x3c9d39(0x20a)]+_0x3c9d39(0x218),_0x3c9d39(0x159)),_0x3ed0c1;return toastr['error'](_0x3c9d39(0x1c6),'外交任务失败'),console[_0x3c9d39(0x178)](_0x3c9d39(0x163)+_0x4deda4[_0x3c9d39(0x1eb)]('\x0a')),[];}catch(_0x490d04){return console[_0x3c9d39(0x178)]('[Amily2号-使节团]\x20全局错误:',_0x490d04),toastr[_0x3c9d39(0x178)](_0x3c9d39(0x1b5)+_0x490d04['message'],'系统错误'),[];}finally{window[_0x3c9d39(0x17d)]=![];const _0x3b32e5=$(_0x3c9d39(0x17f));_0x3b32e5[_0x3c9d39(0x1e8)](_0x3c9d39(0x1ef),![])['html'](_0x3c9d39(0x185));}}export async function checkAndFixWithAPI(_0x5e0441,_0x56d3a9){const _0x4df3da=_0x4f8fd1;if(window[_0x4df3da(0x15c)]===!![])return console[_0x4df3da(0x178)](_0x4df3da(0x1b8)),null;const _0x922331=extension_settings[extensionName],_0x5833ca=_0x922331[_0x4df3da(0x208)],_0x364bca=_0x922331[_0x4df3da(0x1bd)];if(!_0x5833ca&&!_0x364bca)return null;if(!_0x922331[_0x4df3da(0x1fe)]||!_0x922331[_0x4df3da(0x1fe)][_0x4df3da(0x1c0)]())return toastr[_0x4df3da(0x178)](_0x4df3da(0x1aa),_0x4df3da(0x1f6)),null;console[_0x4df3da(0x21e)](_0x4df3da(0x167)+new Date()[_0x4df3da(0x1d8)]()+'\x20|\x20模式:\x20'+(_0x5833ca?'优化':'')+(_0x364bca?_0x5833ca?_0x4df3da(0x1b6):_0x4df3da(0x220):'')),console[_0x4df3da(0x1e4)]('外交任务总耗时');try{const _0x3581f7=_0x5e0441[_0x4df3da(0x1a1)],_0x319239=_0x922331[_0x4df3da(0x215)]||'content';let _0x5bdaa1;if(_0x5833ca){_0x5bdaa1=extractFullTagBlock(_0x3581f7,_0x319239);if(!_0x5bdaa1||extractContentByTag(_0x5bdaa1,_0x319239)?.[_0x4df3da(0x1c0)]()===''){console['log']('[Amily2-外交部]\x20目标标签\x20<'+_0x319239+_0x4df3da(0x19d)),_0x5bdaa1=_0x3581f7;if(!_0x364bca)return console[_0x4df3da(0x1e5)](_0x4df3da(0x15a)),console[_0x4df3da(0x1ca)](),{'optimizedContent':_0x3581f7,'summary':null};}}else _0x5bdaa1=_0x3581f7;const _0x185e2b=getContext(),_0x2a878d=_0x185e2b[_0x4df3da(0x15d)]||'用户',_0x27dc15=_0x185e2b[_0x4df3da(0x19c)]||'角色',_0x911023=_0x56d3a9[_0x4df3da(0x20a)]>0x0&&_0x56d3a9[_0x56d3a9[_0x4df3da(0x20a)]-0x1][_0x4df3da(0x1f4)]?_0x56d3a9[_0x56d3a9[_0x4df3da(0x20a)]-0x1]:null,_0x29e59f=_0x911023?_0x56d3a9[_0x4df3da(0x1f1)](0x0,-0x1):_0x56d3a9,_0x235a94=_0x29e59f['map'](_0x402ad3=>_0x402ad3[_0x4df3da(0x1a1)]&&_0x402ad3[_0x4df3da(0x1a1)]['trim']()?(_0x402ad3[_0x4df3da(0x1f4)]?_0x2a878d:_0x27dc15)+':\x20'+_0x402ad3[_0x4df3da(0x1a1)][_0x4df3da(0x1c0)]():null)[_0x4df3da(0x15b)](Boolean)[_0x4df3da(0x1eb)]('\x0a');let _0xa1f684='';if(_0x922331[_0x4df3da(0x1f9)]){const _0x43e145=characters[_0x185e2b[_0x4df3da(0x221)]];_0x43e145?.[_0x4df3da(0x1e9)]?.[_0x4df3da(0x1b1)]?.['world']&&(_0xa1f684=await getCombinedWorldbookContent(_0x43e145[_0x4df3da(0x1e9)][_0x4df3da(0x1b1)][_0x4df3da(0x210)]));}const _0x3b6aa6=[];_0x922331[_0x4df3da(0x1c4)]?.[_0x4df3da(0x1c0)]()&&_0x3b6aa6[_0x4df3da(0x19a)]({'role':_0x4df3da(0x1db),'content':_0x922331[_0x4df3da(0x1c4)]['trim']()});if(_0x5833ca){if(_0x922331['systemPrompt']?.[_0x4df3da(0x1c0)]())_0x3b6aa6[_0x4df3da(0x19a)]({'role':'system','content':_0x922331[_0x4df3da(0x1ad)][_0x4df3da(0x1c0)]()});}if(_0x5833ca&&_0x364bca){const _0xe1140e=(_0x4df3da(0x1b0)+_0x5bdaa1[_0x4df3da(0x16c)](extractContentByTag(_0x5bdaa1,_0x319239),_0x4df3da(0x1ab))+_0x4df3da(0x1ac)+(_0x922331[_0x4df3da(0x1f7)]?.[_0x4df3da(0x1c0)]()||'生成一段简短的剧情摘要。'))['trim']();_0x3b6aa6[_0x4df3da(0x19a)]({'role':_0x4df3da(0x1db),'content':_0xe1140e});}else{if(!_0x5833ca&&_0x364bca){const _0x5a00cf='请严格遵循以下指令:基于所有提供的背景和对话内容,生成一段精炼的剧情摘要。直接输出摘要文本,不要包含任何多余的解释、标签或前缀。\x0a\x0a[总结核心要求]:\x0a'+_0x922331[_0x4df3da(0x1f7)][_0x4df3da(0x1c0)]();_0x3b6aa6[_0x4df3da(0x19a)]({'role':'system','content':_0x5a00cf});}}if(_0xa1f684)_0x3b6aa6[_0x4df3da(0x19a)]({'role':'user','content':_0x4df3da(0x200)+_0xa1f684});if(_0x235a94)_0x3b6aa6[_0x4df3da(0x19a)]({'role':_0x4df3da(0x1fb),'content':'[上下文参考]:\x0a'+_0x235a94});let _0x99acea=_0x911023?_0x2a878d+':\x20'+_0x911023[_0x4df3da(0x1a1)]+'\x0a'+_0x27dc15+':\x20'+_0x5bdaa1:_0x5bdaa1;_0x3b6aa6[_0x4df3da(0x19a)]({'role':_0x4df3da(0x1fb),'content':_0x4df3da(0x20e)+_0x99acea}),console[_0x4df3da(0x21e)](_0x4df3da(0x180)),console['dir'](_0x3b6aa6),console[_0x4df3da(0x1ca)]();const _0x36520f=isGoogleEndpoint(_0x922331[_0x4df3da(0x1fe)]);let _0x5c25ca=_0x922331['apiUrl'][_0x4df3da(0x1c0)]();const _0x162900=_0x922331[_0x4df3da(0x217)];let _0xf7449e;if(_0x922331[_0x4df3da(0x211)]){console[_0x4df3da(0x181)]('[Amily2号-外交部]\x20执行“皇家密道”协议...');if(typeof ChatCompletionService===_0x4df3da(0x196)||!ChatCompletionService?.[_0x4df3da(0x1cd)]){const _0x524762='无法使用“皇家密道”:当前SillyTavern版本过低或缺少核心文件\x20/scripts/custom-request.js。';toastr[_0x4df3da(0x178)](_0x524762,'依赖缺失');throw new Error(_0x524762);}try{const _0x17ac00={'stream':![],'messages':_0x3b6aa6,'max_tokens':_0x922331[_0x4df3da(0x1a7)],'temperature':_0x922331[_0x4df3da(0x21a)],'model':_0x922331[_0x4df3da(0x217)],'chat_completion_source':'custom','custom_url':_0x922331[_0x4df3da(0x1fe)],'reverse_proxy':'/api/proxy'};console['log'](_0x4df3da(0x17c),_0x17ac00);const _0x1785f7=await ChatCompletionService[_0x4df3da(0x1cd)](_0x17ac00,{},!![]);if(!_0x1785f7||!_0x1785f7['content'])throw new Error(_0x4df3da(0x1f0));_0xf7449e=_0x1785f7[_0x4df3da(0x198)];}catch(_0x4d17fd){console[_0x4df3da(0x178)]('通过“皇家密道”调用API时发生错误:',_0x4d17fd);throw _0x4d17fd;}}else{console[_0x4df3da(0x181)]('[Amily2号-外交部]\x20执行“帝国直通车”协议(直接通讯)...');const _0x35388e=isGoogleEndpoint(_0x922331[_0x4df3da(0x1fe)]);let _0x2b1a44=_0x922331[_0x4df3da(0x1fe)]['trim']();const _0x1c0b6f=_0x922331[_0x4df3da(0x217)],_0xaa8c20=_0x922331['maxTokens'],_0x299218=_0x922331[_0x4df3da(0x21a)];let _0x4477c6;if(_0x35388e)_0x4477c6=buildGoogleApiUrl(_0x2b1a44,_0x1c0b6f),console['log'](_0x4df3da(0x1e7)+_0x4477c6);else{let _0x350a0a=_0x2b1a44;_0x350a0a[_0x4df3da(0x197)]('/')&&(_0x350a0a=_0x350a0a['slice'](0x0,-0x1)),_0x350a0a[_0x4df3da(0x197)]('/v1')&&(_0x350a0a=_0x350a0a[_0x4df3da(0x1f1)](0x0,-0x3)),_0x350a0a['endsWith'](_0x4df3da(0x18d))||_0x350a0a['endsWith'](_0x4df3da(0x21b))?_0x4477c6=_0x350a0a:_0x4477c6=_0x350a0a+_0x4df3da(0x18d);}console[_0x4df3da(0x181)](_0x4df3da(0x166)+_0x4477c6);const _0x5f2f99=_0x922331[_0x4df3da(0x1fd)]?.[_0x4df3da(0x1c0)](),_0xfdb354={'Content-Type':_0x4df3da(0x20c)};if(_0x35388e){const _0x3f8e64=new URL(_0x2b1a44);_0x3f8e64[_0x4df3da(0x1b7)]['includes']('aiplatform.googleapis.com')||_0x2b1a44[_0x4df3da(0x18b)](_0x4df3da(0x1cb))?_0xfdb354[_0x4df3da(0x193)]=_0x4df3da(0x205)+_0x5f2f99:_0xfdb354[_0x4df3da(0x15e)]=_0x5f2f99;}else _0xfdb354['Authorization']=_0x4df3da(0x205)+_0x5f2f99;let _0x58109c;_0x35388e?_0x58109c=JSON[_0x4df3da(0x164)](convertToGoogleRequest({'model':_0x1c0b6f,'messages':_0x3b6aa6,'max_tokens':_0xaa8c20,'temperature':_0x299218})):_0x58109c=JSON[_0x4df3da(0x164)]({'model':_0x1c0b6f,'messages':_0x3b6aa6,'max_tokens':_0xaa8c20,'temperature':_0x299218,'stream':![]});const _0x4b1b74=await fetch(_0x4477c6,{'method':_0x4df3da(0x158),'headers':_0xfdb354,'body':_0x58109c});if(!_0x4b1b74['ok'])throw new Error(_0x4df3da(0x18e)+_0x4b1b74['status']+'\x20'+_0x4b1b74[_0x4df3da(0x19b)]+_0x4df3da(0x1e1)+await _0x4b1b74[_0x4df3da(0x1df)]());let _0x5a5c42=await _0x4b1b74['json']();if(_0x35388e&&_0x5a5c42[_0x4df3da(0x1d9)]&&_0x5a5c42[_0x4df3da(0x19f)]){console[_0x4df3da(0x181)]('[Amily2号-Google外交部]\x20收到异步操作ID,启用轮询机制...');const _0x2b109e=_0x5a5c42[_0x4df3da(0x1d9)],_0x112340=progressTracker(_0x2b109e,0x6);_0x112340[_0x4df3da(0x160)]();try{const _0x104b91=new URL(_0x2b1a44),_0x5adb2a=createGooglePollingTask(_0x2b109e,_0x104b91[_0x4df3da(0x17e)],_0xfdb354),_0x1b5f09={'maxAttempts':0x6,'baseDelay':0xbb8,'shouldStop':_0x42c605=>_0x42c605['done'],'onAttempt':(_0x1383a1,_0x31c171)=>{const _0x42e5ce=_0x4df3da;_0x112340[_0x42e5ce(0x190)](_0x1383a1,_0x31c171);},'onError':(_0x2fcf96,_0x28fc22)=>{const _0x56e1ff=_0x4df3da;_0x112340['error'](_0x2fcf96[_0x56e1ff(0x1a9)]);}},_0x484fd2=await intelligentPoll(_0x5adb2a,_0x1b5f09);_0x112340[_0x4df3da(0x212)]();if(!_0x484fd2[_0x4df3da(0x1ce)])throw new Error(_0x4df3da(0x1b9));_0x5a5c42=_0x484fd2[_0x4df3da(0x1ce)],_0xf7449e=parseGoogleResponse(_0x5a5c42)?.['choices']?.[0x0]?.[_0x4df3da(0x1a9)]?.['content'];}catch(_0x2d6d23){console[_0x4df3da(0x178)](_0x4df3da(0x1dc),_0x2d6d23),_0x112340['error']('轮询失败:\x20'+_0x2d6d23[_0x4df3da(0x1a9)]);throw new Error(_0x4df3da(0x1b3)+_0x2d6d23['message']);}}else _0xf7449e=_0x35388e?parseGoogleResponse(_0x5a5c42)?.[_0x4df3da(0x186)]?.[0x0]?.[_0x4df3da(0x1a9)]?.[_0x4df3da(0x198)]:_0x5a5c42?.['choices']?.[0x0]?.[_0x4df3da(0x1a9)]?.[_0x4df3da(0x198)];}if(!_0xf7449e)return console[_0x4df3da(0x178)](_0x4df3da(0x1ba),_0xf7449e),null;console['groupCollapsed'](_0x4df3da(0x183)),console[_0x4df3da(0x181)](_0xf7449e),console['groupEnd']();let _0x45eec4=_0x3581f7,_0x16f53b=null;if(_0x5833ca&&_0x364bca){const _0x2a278d=_0x4df3da(0x21c),_0x53a63a=_0xf7449e[_0x4df3da(0x203)](_0x2a278d),_0x59edb5=_0x53a63a[0x0]?.[_0x4df3da(0x1c0)]();_0x16f53b=_0x53a63a[0x1]?.['trim']()||null;if(_0x59edb5){const _0x3e37f3=extractContentByTag(_0x59edb5,_0x319239);_0x3e37f3?.[_0x4df3da(0x1c0)]()&&(_0x45eec4=replaceContentByTag(_0x3581f7,_0x319239,_0x3e37f3));}}else{if(_0x5833ca){const _0xaec648=extractContentByTag(_0xf7449e,_0x319239);_0xaec648?.['trim']()&&(_0x45eec4=replaceContentByTag(_0x3581f7,_0x319239,_0xaec648));}else _0x16f53b=_0xf7449e[_0x4df3da(0x1c0)]();}const _0x388749={'optimizedContent':_0x45eec4,'summary':_0x16f53b};return _0x16f53b&&_0x364bca&&(_0x388749[_0x4df3da(0x174)]={'activationMode':_0x922331[_0x4df3da(0x1da)],'insertionPosition':_0x922331[_0x4df3da(0x177)],'depth':_0x922331[_0x4df3da(0x192)],'keywords':_0x922331[_0x4df3da(0x1fa)],'target':_0x922331[_0x4df3da(0x1bb)]},console[_0x4df3da(0x181)](_0x4df3da(0x1b4),_0x388749[_0x4df3da(0x174)])),console['timeEnd'](_0x4df3da(0x15a)),console[_0x4df3da(0x1ca)](),_0x388749;}catch(_0x13ba24){return console[_0x4df3da(0x178)](_0x4df3da(0x165),_0x13ba24),toastr['error'](_0x4df3da(0x209)+_0x13ba24[_0x4df3da(0x1a9)],_0x4df3da(0x1c2)),console['timeEnd'](_0x4df3da(0x15a)),console[_0x4df3da(0x1ca)](),null;}}
|