mirror of
https://github.com/wassname/chatGPTBox.git
synced 2026-09-12 12:12:14 +08:00
feat: make the chat box display the correct model name, and allow multiple different models to be used at the same time (#49)
This commit is contained in:
@@ -47,7 +47,7 @@ export async function generateAnswersWithBingWebApi(
|
||||
answer += token
|
||||
// remove reference markers [^number^]
|
||||
answer = answer.replaceAll(/\[\^\d+\^\]/g, '')
|
||||
port.postMessage({ answer: answer, done: false, session: session })
|
||||
port.postMessage({ answer: answer, done: false, session: null })
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
|
||||
@@ -122,7 +122,7 @@ export async function generateAnswersWithChatgptWebApi(port, question, session,
|
||||
|
||||
answer = data.message?.content?.parts?.[0]
|
||||
if (answer) {
|
||||
port.postMessage({ answer: answer, done: false, session: session })
|
||||
port.postMessage({ answer: answer, done: false, session: null })
|
||||
}
|
||||
},
|
||||
async onStart() {
|
||||
|
||||
@@ -15,6 +15,7 @@ import {
|
||||
defaultConfig,
|
||||
getUserConfig,
|
||||
gptApiModelKeys,
|
||||
Models,
|
||||
} from '../config/index.mjs'
|
||||
import { isSafari } from '../utils/is-safari'
|
||||
import { config as menuConfig } from '../content-script/menu-tools'
|
||||
@@ -58,47 +59,50 @@ Browser.runtime.onConnect.addListener((port) => {
|
||||
const session = msg.session
|
||||
if (!session) return
|
||||
const config = await getUserConfig()
|
||||
if (!session.modelName) session.modelName = config.modelName
|
||||
if (!session.aiName) session.aiName = Models[session.modelName].desc
|
||||
port.postMessage({ session })
|
||||
|
||||
try {
|
||||
if (chatgptWebModelKeys.includes(config.modelName)) {
|
||||
if (chatgptWebModelKeys.includes(session.modelName)) {
|
||||
const accessToken = await getChatGptAccessToken()
|
||||
session.messageId = crypto.randomUUID()
|
||||
if (session.parentMessageId == null) {
|
||||
session.parentMessageId = crypto.randomUUID()
|
||||
}
|
||||
await generateAnswersWithChatgptWebApi(port, session.question, session, accessToken)
|
||||
} else if (bingWebModelKeys.includes(config.modelName)) {
|
||||
} else if (bingWebModelKeys.includes(session.modelName)) {
|
||||
const accessToken = await getBingAccessToken()
|
||||
await generateAnswersWithBingWebApi(
|
||||
port,
|
||||
session.question,
|
||||
session,
|
||||
accessToken,
|
||||
config.modelName,
|
||||
session.modelName,
|
||||
)
|
||||
} else if (gptApiModelKeys.includes(config.modelName)) {
|
||||
} else if (gptApiModelKeys.includes(session.modelName)) {
|
||||
await generateAnswersWithGptCompletionApi(
|
||||
port,
|
||||
session.question,
|
||||
session,
|
||||
config.apiKey,
|
||||
config.modelName,
|
||||
session.modelName,
|
||||
)
|
||||
} else if (chatgptApiModelKeys.includes(config.modelName)) {
|
||||
} else if (chatgptApiModelKeys.includes(session.modelName)) {
|
||||
await generateAnswersWithChatgptApi(
|
||||
port,
|
||||
session.question,
|
||||
session,
|
||||
config.apiKey,
|
||||
config.modelName,
|
||||
session.modelName,
|
||||
)
|
||||
} else if (customApiModelKeys.includes(config.modelName)) {
|
||||
} else if (customApiModelKeys.includes(session.modelName)) {
|
||||
await generateAnswersWithCustomApi(
|
||||
port,
|
||||
session.question,
|
||||
session,
|
||||
config.apiKey,
|
||||
config.modelName,
|
||||
session.modelName,
|
||||
)
|
||||
}
|
||||
} catch (err) {
|
||||
|
||||
Reference in New Issue
Block a user