From a398bfd9aee338388a7bc56f7fd18b256940e818 Mon Sep 17 00:00:00 2001 From: josc146 Date: Tue, 6 Aug 2024 21:10:56 +0800 Subject: [PATCH] WIP, custom API Modes --- src/components/ConversationCard/index.jsx | 4 ++-- src/config/index.mjs | 10 +++++++--- src/services/init-session.mjs | 3 ++- src/services/wrappers.mjs | 2 +- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/components/ConversationCard/index.jsx b/src/components/ConversationCard/index.jsx index 48ddffc..c158fa5 100644 --- a/src/components/ConversationCard/index.jsx +++ b/src/components/ConversationCard/index.jsx @@ -22,7 +22,7 @@ import FileSaver from 'file-saver' import { render } from 'preact' import FloatingToolbar from '../FloatingToolbar' import { useClampWindowSize } from '../../hooks/use-clamp-window-size' -import { bingWebModelKeys, getUserConfig, Models } from '../../config/index.mjs' +import { bingWebModelKeys, getUserConfig } from '../../config/index.mjs' import { useTranslation } from 'react-i18next' import DeleteButton from '../DeleteButton' import { useConfig } from '../../hooks/use-config.mjs' @@ -369,7 +369,7 @@ function ConversationCard(props) { required onChange={(e) => { const modelName = e.target.value - const newSession = { ...session, modelName, aiName: Models[modelName].desc } + const newSession = { ...session, modelName, aiName: modelNameToDesc(modelName, t) } if (config.autoRegenAfterSwitchModel && conversationItemData.length > 0) getRetryFn(newSession)() else setSession(newSession) diff --git a/src/config/index.mjs b/src/config/index.mjs index 53927c6..f34411d 100644 --- a/src/config/index.mjs +++ b/src/config/index.mjs @@ -1,6 +1,8 @@ import { defaults } from 'lodash-es' import Browser from 'webextension-polyfill' import { isMobile } from '../utils/is-mobile.mjs' +import { modelNameToDesc } from '../utils/model-name-convert.mjs' +import { t } from 'i18next' export const TriggerMode = { always: 'Always', @@ -263,11 +265,13 @@ export const Models = { for (const modelName in Models) { if (isUsingMultiModeModel({ modelName })) - for (const mode in ModelMode) - Models[`${modelName}-${mode}`] = { + for (const mode in ModelMode) { + const key = `${modelName}-${mode}` + Models[key] = { value: mode, - desc: `${Models[modelName].desc} (${ModelMode[mode]})`, + desc: modelNameToDesc(key, t), } + } } /** diff --git a/src/services/init-session.mjs b/src/services/init-session.mjs index 85ee6d4..968604d 100644 --- a/src/services/init-session.mjs +++ b/src/services/init-session.mjs @@ -1,5 +1,6 @@ import { v4 as uuidv4 } from 'uuid' import { modelNameToDesc } from '../utils/model-name-convert.mjs' +import { t } from 'i18next' /** * @typedef {object} Session @@ -54,7 +55,7 @@ export function initSession({ createdAt: new Date().toISOString(), updatedAt: new Date().toISOString(), - aiName: modelName ? modelNameToDesc(modelName) : null, + aiName: modelName ? modelNameToDesc(modelName, t) : null, modelName, autoClean, diff --git a/src/services/wrappers.mjs b/src/services/wrappers.mjs index c8c17ac..229cf0c 100644 --- a/src/services/wrappers.mjs +++ b/src/services/wrappers.mjs @@ -103,7 +103,7 @@ export function registerPortListener(executor) { if (!session) return const config = await getUserConfig() if (!session.modelName) session.modelName = config.modelName - if (!session.aiName) session.aiName = modelNameToDesc(session.modelName) + if (!session.aiName) session.aiName = modelNameToDesc(session.modelName, t) port.postMessage({ session }) try { await executor(session, port, config)