From 1c34ecbb83c9eb4a42767f21d7b245c8bf4e4c08 Mon Sep 17 00:00:00 2001 From: syfantasy <115546901+syfantasy@users.noreply.github.com> Date: Thu, 2 Jan 2025 16:06:30 +0800 Subject: [PATCH] feat: add bymFuckList Configuration (#737) * feat: add bymFuckList * feat: geminikey load balancing * add: console.log() * fix: whole key * fix: whole key * feat: geminikey load balancing --- guoba.support.js | 20 ++++++++++++++++++++ utils/config.js | 11 +++++++++++ 2 files changed, 31 insertions(+) diff --git a/guoba.support.js b/guoba.support.js index bdf9dff..31b4ce2 100644 --- a/guoba.support.js +++ b/guoba.support.js @@ -998,6 +998,26 @@ export function supportGuoba () { label: '伪人模式骂人反击的设定词', component: 'Input' }, + { + field: 'bymFuckList', + label: '伪人模式反击的触发词', + bottomHelpMessage: '请输入用于伪人模式下骂人反击的触发词,每个词组将被单独处理', + component: "GTags", + componentProps: { + placeholder: '请输入反击触发词', + allowAdd: true, + allowDel: true, + showPrompt: true, + promptProps: { + content: '添加新的反击触发词', + okText: '添加', + rules: [ + { required: true, message: '触发词不能为空' }, + ], + }, + valueParser: ((value) => value.split(',') || []), + }, + }, { label: '以下为Azure chatGPT的配置', component: 'Divider' diff --git a/utils/config.js b/utils/config.js index 441fa4d..d2f9f7c 100644 --- a/utils/config.js +++ b/utils/config.js @@ -266,6 +266,17 @@ config.version = defaultConfig.version // config.version = latestTag export const Config = new Proxy(config, { + get(target, property) { + if (property === 'geminiKey') { + if (typeof target[property] === 'string' && target[property].includes(',')) { + const keys = target[property].split(',').map(key => key.trim()).filter(Boolean) + const selectedKey = keys[Math.floor(Math.random() * keys.length)] + console.log(`[ChatGPT-Plugin] 当前使用的Gemini Key: ${selectedKey.slice(0, 8)}...`) + return selectedKey + } + } + return target[property] + }, set (target, property, value) { target[property] = value const change = lodash.transform(target, function (result, value, key) {