WIP, custom API Modes

This commit is contained in:
josc146
2024-08-06 21:10:56 +08:00
parent ed44e860fd
commit a398bfd9ae
4 changed files with 12 additions and 7 deletions
+2 -2
View File
@@ -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)
+7 -3
View File
@@ -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),
}
}
}
/**
+2 -1
View File
@@ -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,
+1 -1
View File
@@ -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)