From da5adc0d10e1594aed84f1eca5f562b7de850379 Mon Sep 17 00:00:00 2001 From: ikechan8370 Date: Sat, 1 Apr 2023 13:02:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E5=AE=9E=E9=AA=8C?= =?UTF-8?q?=E6=80=A7=E8=B4=A8=E7=9A=84sydney=E5=8F=8D=E4=BB=A3=EF=BC=8C?= =?UTF-8?q?=E9=A2=91=E7=B9=81throttle=E7=9A=84=E7=94=A8=E6=88=B7=E5=8F=AF?= =?UTF-8?q?=E5=BC=80=E5=90=AF=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- guoba.support.js | 32 ++++++++------------------------ utils/SydneyAIClient.js | 9 +++++++-- utils/config.js | 1 + 3 files changed, 16 insertions(+), 26 deletions(-) diff --git a/guoba.support.js b/guoba.support.js index b74667a..43ef8f4 100644 --- a/guoba.support.js +++ b/guoba.support.js @@ -325,13 +325,19 @@ export function supportGuoba () { { field: 'sydneyReverseProxy', label: 'sydney反代', - bottomHelpMessage: '仅自设定模式下有效。国内ip无法正常使用sydney和自设定模式,如果有bing.com的反代可以填在此处,或者使用proxy', + bottomHelpMessage: '仅悉尼和自设定模式下有效,用于创建对话(默认不用于正式对话)。目前国内ip和部分境外IDC IP由于微软限制创建对话,如果有bing.com的反代可以填在此处,或者使用proxy', component: 'Input' }, { field: 'sydneyForceUseReverse', label: '强制使用sydney反代', - bottomHelpMessage: '即使配置了proxy,依然使用sydney反代', + bottomHelpMessage: '即使配置了proxy,创建对话时依然使用sydney反代', + component: 'Switch' + }, + { + field: 'sydneyWebsocketUseProxy', + label: '对话使用sydney反代', + bottomHelpMessage: '(beta)默认情况下仅创建对话走反代,对话时仍然直连微软。开启本选项将使对话过程也走反代,可能有助于在不方便更换ip和token的情况下解决throttle限流问题。需反代支持。', component: 'Switch' }, { @@ -340,28 +346,6 @@ export function supportGuoba () { bottomHelpMessage: '开启Sydney的情感显示,仅在图片模式下生效。', component: 'Switch' }, - // { - // field: 'sydneyBrainWash', - // label: '开启强制洗脑', - // bottomHelpMessage: '仅自设定模式下有效。如果发现自设定模式下总是回复类似于换个话题之类的话,可以开启强制洗脑试试,如果还不行就调整你的设定', - // component: 'Switch' - // }, - // { - // field: 'sydneyBrainWashName', - // label: 'Custom模式下的称呼', - // bottomHelpMessage: '仅自设定模式下有效。如果开启了强制洗脑,务必准确填写这个才能精准洗脑。不开启洗脑可以不管这个', - // component: 'Input' - // }, - // { - // field: 'sydneyBrainWashStrength', - // label: '洗脑强度', - // bottomHelpMessage: '仅自设定模式下有效。洗脑强度。默认为15,可以酌情调整。太大的话可能长对话会影响对话质量', - // component: 'InputNumber', - // componentProps: { - // min: 0, - // max: 100 - // } - // }, { label: '以下为API3方式的配置。', component: 'Divider' diff --git a/utils/SydneyAIClient.js b/utils/SydneyAIClient.js index 12c892d..26d464c 100644 --- a/utils/SydneyAIClient.js +++ b/utils/SydneyAIClient.js @@ -134,11 +134,15 @@ export default class SydneyAIClient { let WebSocket = await getWebSocket() return new Promise((resolve, reject) => { let agent + let sydneyHost = 'wss://sydney.bing.com' if (this.opts.proxy) { agent = new HttpsProxyAgent(this.opts.proxy) } - let ws = new WebSocket('wss://sydney.bing.com/sydney/ChatHub', { agent }) - + if (Config.sydneyWebsocketUseProxy) { + sydneyHost = Config.sydneyReverseProxy.replace('https://', 'wss://').replace('http://', 'ws://') + } + logger.mark(`use sydney websocket host: ${sydneyHost}`) + let ws = new WebSocket(sydneyHost + '/sydney/ChatHub', { agent }) ws.on('error', (err) => { reject(err) }) @@ -378,6 +382,7 @@ export default class SydneyAIClient { author: 'user', inputMethod: 'Keyboard', text: message, + // messageType: 'Chat' messageType: 'SearchQuery' }, conversationSignature, diff --git a/utils/config.js b/utils/config.js index a65f906..62f8839 100644 --- a/utils/config.js +++ b/utils/config.js @@ -34,6 +34,7 @@ const defaultConfig = { sydney: pureSydneyInstruction, sydneyReverseProxy: 'https://666102.201666.xyz', sydneyForceUseReverse: false, + sydneyWebsocketUseProxy: false, sydneyBrainWash: true, sydneyBrainWashStrength: 15, sydneyBrainWashName: 'Sydney',