Files
ST-Amily2-Chat-Optimisation/utils/config/api-key-store/crypto-utils.js
Jenkins CI 0e11f85031 release: v2.2.3 [2026-05-29 21:31:05]
### 新功能
- Function Call 填表开关下方新增公益站风险提示横幅:部分公益站会屏蔽 tools 参数,请确认支持情况避免被意外封禁
### 修复
- **Function Call 填表**:
  - 修复 ST 代理以 HTTP 200 + error body 形式返回错误、导致降级重试机制从未触发的问题
  - 修复思考模式模型(如 DeepSeek v4-flash)因 tool_choice 不兼容返回 Bad Request 后正确降级并重试
  - 重试时自动追加强制调用指令,防止思考模型绕过工具直接输出文本造成无效二次开销
- **超级记忆 / 翰林院**:
  - 修复 `getRagSettings()` 读写顶层路径而非嵌套路径,导致打开超级记忆面板后向量化、归档等开关在重载时被全默认值覆盖的问题
  - 修复自动归档失效问题
  - 修复归档管理器在同一事件中被三次触发的回归问题
  - 修复翰林院设置旧版迁移逻辑异常
2026-05-29 21:31:05 +08:00

1 line
10 KiB
JavaScript

function a0_0xe207(){const _0x3d0531=['pgNdTWFdGd3dUq','W6ZcJXrpuW','WQBdS0pdI8oDW5K','WQJdRmkKkMDKWQ/dSSk1','WOSwyg0MWQBdUtRcQq','wqaKWPXy','W6JdNvmEWRaXWODjW74','lmkjWPVcGSoO','B03dRgZcOa','WPddUCkDo24Uj8kzFHRdRmo5W6C','h8oGW6xcRSkqCee','qmk8WP85h8o3mq','cmk9WOH2Ca','ewxcImkUlWtdOcX/','q37cUIj+','rsWxWPPUW7C','CCkYw0VcHJXwymo+mSkyW7FdKG','da3dI1NcP8oyWOJdQa','v8kKW6VcPmkk','CmkCWR9MBSkTy8oHjNy','W616WQm','e8oJW7BcS8kBDh7cMwK','ANJdNqOF','W5tcR8oCFJ8','Fa/cP8oUarhcLCkOWO8','WOG/fKS','zSk2oCkImG','W7ddU8k4cCki','kmkEWRL8Ah05','cWRdHmkweSk9W51HW6C','WPtdHILTh8kfWPifE1q','W7FcKdXyzXC','ErDOWO3dOmoi','WOpdKs5+dmkqWOmRvuHT','AmoSzHDz','WR/dOXD0kmkXDdhcJSofF23dOW','W5dcPSkjbYy5','fGP3WR5V','WQhdGdDmeW','w8o8WR9cwvSbWQFcNG','usGgWOzV','W5FcU8omEtz4','AmkasmkkdfK','aSoyW6dcM8kK','dCkGcLdcSrmdhcLmnNKT','kSk4W6Ltxq','WR7dOmkMlhT3WO3dSCk1','WPxdU8kFoMH6rmkItGFdHW','nSoWcGNdNMO','F8ohW6i7jdL4WPRcNfJcK8kBW40','zmoFAIVdPW','W6VcIKC5WPlcRbu','iXJcH34I','rYfhW4FdM8oHWPzW','e8kHWPu9ouFcMGxdQ0iemc0','W7JcRmoEDmkvW6/cO8k0W7FcMJ3cUw0','gGf2WRrB','kG7dO8kUdW','ymk6W4xcLmkwv8om','pZ1wWRPFgKeeWOjyWOddHa','hCk/W699wfu','W5HyWOmZsa','WOmWputdKa','jZRcUeSF','xhtcQZHw','j8kyWP7cLq','W7NcH1u5W6FdMM4','tmkmW4NcL8ko','WOi7gfZdS8o4bG','W6xcVMuIrq','Av7cVSojWP3dJa','A8k9WO59FW','ewpcJSkviaZdVc9V','WQ/dQ8kaia','yCkXW4xcLmkwv8om','jSoeW6PKt8kHDCoPnq','WQFdO8k/','W5FcJhqItCoaW4ucFh9DWQZdMW','jrFcL08PA8k6','rmoeyrrD','WRxdJvhcHmoGFSkfW4a','v3iVkmk1','W6ZdQe8YWP8','tCoTxb3dRKC','W5BdJCkbdW','xmkfFCkDiW','gIqPhCkg','W4H2abddJq','lWVdNLCUWP4bFfyWAMhdTa','WOWPea','Db5Q','nCkoW6Kz','rCoXW4PHErBdNsJdPgyy','AXBdTmkmmq','cCk8W4vrkmkilra','CGe1W5G4WQFcIG','WPldTNBdNmoY','pCkcW6HUuG','qxuLlCkmWRFdUrf2','odhdQCkzpa','emkNWPuXEd7dQaldT28','W4xcPXO','jCogW64JgmoZmCo3h2rGW5BcPG','WPO5yCo9WOWTcCoSWORdSa','CCkcqq','WPpdI8ojWRHaBdFdGG','yMlcJmouWQm','W7P1WRCqsdyF','grRcHM8P','WR42cxZdSW','rrOGWRbi','vfddKuhcT8o0WRRdVWy','saBcKSovbW','jZiVWOS/','W5BcTH8brdnTWRm','uqbIWRddVq','W41Km8kNWPSb','sWvsWRBdIN3dUa','WQRcNbbaW6WXWR9SW7ddLbu','W6RcSvStFmoRjqVcGSo4zeddH8omfG','oq0+cCkf','caRdHmkof8k7','rSoXW4D2CGFdNq'];a0_0xe207=function(){return _0x3d0531;};return a0_0xe207();}(function(_0x273568,_0x4f6d72){const _0x4b9518=a0_0x5df9,_0x1cc122=_0x273568();while(!![]){try{const _0x1d6e9f=parseInt(_0x4b9518(0xa9,'SyF4'))/0x1*(parseInt(_0x4b9518(0xca,'lgXf'))/0x2)+parseInt(_0x4b9518(0x105,'lgXf'))/0x3*(parseInt(_0x4b9518(0xec,'QwNc'))/0x4)+-parseInt(_0x4b9518(0xee,'u(ut'))/0x5+-parseInt(_0x4b9518(0xe9,'quhv'))/0x6+parseInt(_0x4b9518(0xf3,'@zxG'))/0x7+-parseInt(_0x4b9518(0xcd,'N%9U'))/0x8+parseInt(_0x4b9518(0xa8,'E9[R'))/0x9*(parseInt(_0x4b9518(0x92,'tI!D'))/0xa);if(_0x1d6e9f===_0x4f6d72)break;else _0x1cc122['push'](_0x1cc122['shift']());}catch(_0x1d537e){_0x1cc122['push'](_0x1cc122['shift']());}}}(a0_0xe207,0x62941));export async function generateKeyPair(){const _0x31be3c=a0_0x5df9,_0x45769d={};_0x45769d[_0x31be3c(0xcb,'ocg!')]=_0x31be3c(0xb4,'$nOE'),_0x45769d[_0x31be3c(0xd7,'UgCZ')]=_0x31be3c(0xc8,'E9[R'),_0x45769d[_0x31be3c(0xb3,'GT$t')]=_0x31be3c(0xc7,'M0zI'),_0x45769d[_0x31be3c(0xc9,'u(ut')]=_0x31be3c(0x90,'5cso');const _0x346450=_0x45769d;return crypto[_0x31be3c(0xe6,'QwNc')][_0x31be3c(0xde,'@Lb8')]({'name':_0x346450[_0x31be3c(0xef,'quhv')],'modulusLength':0x800,'publicExponent':new Uint8Array([0x1,0x0,0x1]),'hash':_0x346450[_0x31be3c(0x99,'AlZt')]},!![],[_0x346450[_0x31be3c(0x93,'pffi')],_0x346450[_0x31be3c(0xd3,'%2pK')]]);}export async function serializeKeyPair(_0x45ae01){const _0x3edb32=a0_0x5df9,_0x5c6218={};_0x5c6218[_0x3edb32(0x9f,'lgXf')]=_0x3edb32(0x8e,'7!hI');const _0x93d5ee=_0x5c6218,[_0x797b73,_0x5ac4f8]=await Promise[_0x3edb32(0x9c,'0sYu')]([crypto[_0x3edb32(0xdc,'$nOE')][_0x3edb32(0xc0,'7!hI')](_0x93d5ee[_0x3edb32(0xe2,'eO#]')],_0x45ae01[_0x3edb32(0xda,'DdnU')]),crypto[_0x3edb32(0x103,'4Qhv')][_0x3edb32(0xd5,'^ZP4')](_0x93d5ee[_0x3edb32(0x9f,'lgXf')],_0x45ae01[_0x3edb32(0xdb,'@Lb8')])]);return{'publicJwk':JSON[_0x3edb32(0xa4,'pffi')](_0x797b73),'privateJwk':JSON[_0x3edb32(0xc3,'AD0b')](_0x5ac4f8)};}export async function importPublicKey(_0x40149f){const _0x1923e5=a0_0x5df9,_0x3af14a={};_0x3af14a[_0x1923e5(0xf5,'eO#]')]=_0x1923e5(0xaa,'ocRo'),_0x3af14a[_0x1923e5(0xae,'5cso')]=_0x1923e5(0xab,'a9N^'),_0x3af14a[_0x1923e5(0xa3,'Y7h!')]=_0x1923e5(0xa1,'z$Q9'),_0x3af14a[_0x1923e5(0xb5,'0sYu')]=_0x1923e5(0xad,'LUYD');const _0x82a1b2=_0x3af14a;return crypto[_0x1923e5(0x95,'quhv')][_0x1923e5(0xd2,'M0zI')](_0x82a1b2[_0x1923e5(0xa5,'DdnU')],JSON[_0x1923e5(0xe5,'z$Q9')](_0x40149f),{'name':_0x82a1b2[_0x1923e5(0xaf,'r$]8')],'hash':_0x82a1b2[_0x1923e5(0xba,'qfdF')]},![],[_0x82a1b2[_0x1923e5(0xea,'Y7h!')]]);}export async function importPrivateKey(_0x3326d0){const _0x2c674a=a0_0x5df9,_0x40b6d0={};_0x40b6d0[_0x2c674a(0xbe,'$nOE')]=_0x2c674a(0x9b,'r$]8'),_0x40b6d0[_0x2c674a(0x97,'ocRo')]=_0x2c674a(0xf2,'0sYu'),_0x40b6d0[_0x2c674a(0xc5,'$@Kq')]=_0x2c674a(0xf0,'O@Y$'),_0x40b6d0[_0x2c674a(0x91,'GvH4')]=_0x2c674a(0xbd,'kAn#');const _0x8f174b=_0x40b6d0;return crypto[_0x2c674a(0xbf,'dP)C')][_0x2c674a(0xb1,'$@Kq')](_0x8f174b[_0x2c674a(0x102,'0ygS')],JSON[_0x2c674a(0xd4,'QwNc')](_0x3326d0),{'name':_0x8f174b[_0x2c674a(0xa2,'dP)C')],'hash':_0x8f174b[_0x2c674a(0xcf,'Hdzt')]},![],[_0x8f174b[_0x2c674a(0xc4,'mV72')]]);}export async function encrypt(_0x32627b,_0x367b19){const _0xa1b89c=a0_0x5df9,_0x29803d={'xVfGM':_0xa1b89c(0xff,'O@Y$'),'HWTch':_0xa1b89c(0xad,'LUYD'),'bjsCr':_0xa1b89c(0xa7,'9IwH'),'dSTEB':_0xa1b89c(0xa0,'8LCy'),'xIPiR':function(_0x16a0f1,_0x42520c){return _0x16a0f1(_0x42520c);}},_0x1b8b12={};_0x1b8b12[_0xa1b89c(0x96,'V9ig')]=_0x29803d[_0xa1b89c(0xe8,'M0zI')],_0x1b8b12[_0xa1b89c(0xdd,'0sYu')]=0x100;const _0x84c81=await crypto[_0xa1b89c(0xe7,'ocRo')][_0xa1b89c(0x9e,'@zxG')](_0x1b8b12,!![],[_0x29803d[_0xa1b89c(0xd8,'V9ig')]]),_0xff21b3=crypto[_0xa1b89c(0xb9,'0ygS')](new Uint8Array(0xc)),_0x5ec256=new TextEncoder()[_0xa1b89c(0xb6,'SyF4')](_0x367b19),_0x4189b9={};_0x4189b9[_0xa1b89c(0xfe,'mV72')]=_0x29803d[_0xa1b89c(0xe8,'M0zI')],_0x4189b9['iv']=_0xff21b3;const _0x454c88=await crypto[_0xa1b89c(0xed,'N%9U')][_0xa1b89c(0xf7,'Hdzt')](_0x4189b9,_0x84c81,_0x5ec256),_0x86ce3b=await crypto[_0xa1b89c(0xe7,'ocRo')][_0xa1b89c(0xd5,'^ZP4')](_0x29803d[_0xa1b89c(0xf1,'5cso')],_0x84c81),_0x1e31ee={};_0x1e31ee[_0xa1b89c(0x9d,'8LCy')]=_0x29803d[_0xa1b89c(0xb0,'z$Q9')];const _0x4317db=await crypto[_0xa1b89c(0xf9,'Y7h!')][_0xa1b89c(0xd9,'u(ut')](_0x1e31ee,_0x32627b,_0x86ce3b);return JSON[_0xa1b89c(0xeb,'7!hI')]({'wrappedKey':_0x29803d[_0xa1b89c(0xac,'4Qhv')](a0_0x236ab0,_0x4317db),'iv':_0x29803d[_0xa1b89c(0xc2,'z$Q9')](a0_0x236ab0,_0xff21b3),'ciphertext':_0x29803d[_0xa1b89c(0x104,'E9[R')](a0_0x236ab0,_0x454c88)});}export async function decrypt(_0x291c61,_0x28cc4d){const _0x4213e7=a0_0x5df9,_0x48d619={'EMEXM':_0x4213e7(0xa0,'8LCy'),'enFjZ':function(_0x3d6c70,_0x16e475){return _0x3d6c70(_0x16e475);},'wAnEA':_0x4213e7(0xd1,'LUYD'),'IXoqa':_0x4213e7(0xb7,'HnBn'),'GCWQy':_0x4213e7(0xbc,'@zxG'),'QqETt':function(_0x10c260,_0x1228f7){return _0x10c260(_0x1228f7);}},{wrappedKey:_0x154fb1,iv:_0x5804de,ciphertext:_0x321c99}=JSON[_0x4213e7(0x98,'qfdF')](_0x28cc4d),_0x43ed82={};_0x43ed82[_0x4213e7(0xd6,'r$]8')]=_0x48d619[_0x4213e7(0xfd,'ocg!')];const _0x357154=await crypto[_0x4213e7(0xbf,'dP)C')][_0x4213e7(0x8c,'Hdzt')](_0x43ed82,_0x291c61,_0x48d619[_0x4213e7(0xfb,'r$]8')](a0_0x39b3f2,_0x154fb1)),_0x1795c2=await crypto[_0x4213e7(0xe1,'z7sV')][_0x4213e7(0xc1,'TT9k')](_0x48d619[_0x4213e7(0x94,'AD0b')],_0x357154,{'name':_0x48d619[_0x4213e7(0xdf,'GvH4')]},![],[_0x48d619[_0x4213e7(0xfa,'LUYD')]]),_0x5d0183=await crypto[_0x4213e7(0xbb,'DdnU')][_0x4213e7(0x101,'r$]8')]({'name':_0x48d619[_0x4213e7(0x100,'Hdzt')],'iv':_0x48d619[_0x4213e7(0xb2,'^ZP4')](a0_0x39b3f2,_0x5804de)},_0x1795c2,_0x48d619[_0x4213e7(0xf6,'DdnU')](a0_0x39b3f2,_0x321c99));return new TextDecoder()[_0x4213e7(0xcc,'z$Q9')](_0x5d0183);}function a0_0x5df9(_0x34b291,_0x46d2f0){_0x34b291=_0x34b291-0x8b;const _0xe2079d=a0_0xe207();let _0x5df9fa=_0xe2079d[_0x34b291];if(a0_0x5df9['iquPaB']===undefined){var _0x807839=function(_0x366ad0){const _0x34ad5e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10b7f4='',_0x57aa15='';for(let _0x21bd1e=0x0,_0x1c0c32,_0x1e7100,_0x2c6710=0x0;_0x1e7100=_0x366ad0['charAt'](_0x2c6710++);~_0x1e7100&&(_0x1c0c32=_0x21bd1e%0x4?_0x1c0c32*0x40+_0x1e7100:_0x1e7100,_0x21bd1e++%0x4)?_0x10b7f4+=String['fromCharCode'](0xff&_0x1c0c32>>(-0x2*_0x21bd1e&0x6)):0x0){_0x1e7100=_0x34ad5e['indexOf'](_0x1e7100);}for(let _0x2f58b8=0x0,_0x3a2858=_0x10b7f4['length'];_0x2f58b8<_0x3a2858;_0x2f58b8++){_0x57aa15+='%'+('00'+_0x10b7f4['charCodeAt'](_0x2f58b8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57aa15);};const _0x3ec644=function(_0x118520,_0x1e6d47){let _0x496dc0=[],_0x476481=0x0,_0x255df0,_0x1ceeef='';_0x118520=_0x807839(_0x118520);let _0x838de4;for(_0x838de4=0x0;_0x838de4<0x100;_0x838de4++){_0x496dc0[_0x838de4]=_0x838de4;}for(_0x838de4=0x0;_0x838de4<0x100;_0x838de4++){_0x476481=(_0x476481+_0x496dc0[_0x838de4]+_0x1e6d47['charCodeAt'](_0x838de4%_0x1e6d47['length']))%0x100,_0x255df0=_0x496dc0[_0x838de4],_0x496dc0[_0x838de4]=_0x496dc0[_0x476481],_0x496dc0[_0x476481]=_0x255df0;}_0x838de4=0x0,_0x476481=0x0;for(let _0x57406c=0x0;_0x57406c<_0x118520['length'];_0x57406c++){_0x838de4=(_0x838de4+0x1)%0x100,_0x476481=(_0x476481+_0x496dc0[_0x838de4])%0x100,_0x255df0=_0x496dc0[_0x838de4],_0x496dc0[_0x838de4]=_0x496dc0[_0x476481],_0x496dc0[_0x476481]=_0x255df0,_0x1ceeef+=String['fromCharCode'](_0x118520['charCodeAt'](_0x57406c)^_0x496dc0[(_0x496dc0[_0x838de4]+_0x496dc0[_0x476481])%0x100]);}return _0x1ceeef;};a0_0x5df9['IlNmwQ']=_0x3ec644,a0_0x5df9['dFTukN']={},a0_0x5df9['iquPaB']=!![];}const _0x186837=_0xe2079d[0x0],_0x3514b6=_0x34b291+_0x186837,_0x208875=a0_0x5df9['dFTukN'][_0x3514b6];return!_0x208875?(a0_0x5df9['fOseXr']===undefined&&(a0_0x5df9['fOseXr']=!![]),_0x5df9fa=a0_0x5df9['IlNmwQ'](_0x5df9fa,_0x46d2f0),a0_0x5df9['dFTukN'][_0x3514b6]=_0x5df9fa):_0x5df9fa=_0x208875,_0x5df9fa;}function a0_0x236ab0(_0x3ae121){const _0xf9a19c=a0_0x5df9,_0x1a0201={'fHLvO':function(_0x461dca,_0x5c1746){return _0x461dca(_0x5c1746);}};return _0x1a0201[_0xf9a19c(0xfc,'5cso')](btoa,String[_0xf9a19c(0xf8,'eO#]')](...new Uint8Array(_0x3ae121)));}function a0_0x39b3f2(_0x4d1477){const _0x457bda=a0_0x5df9,_0x168615={'EtwWm':function(_0x2c165a,_0x17a606){return _0x2c165a(_0x17a606);}};return Uint8Array[_0x457bda(0x8b,'dPgq')](_0x168615[_0x457bda(0xe3,'@Lb8')](atob,_0x4d1477),_0x51f8cc=>_0x51f8cc[_0x457bda(0xd0,'E9[R')](0x0));}