From d23b0475dcb8d9a428fc18705767673064f90627 Mon Sep 17 00:00:00 2001 From: geekgeekrun Date: Wed, 23 Apr 2025 02:00:03 +0800 Subject: [PATCH] change the scope of blockModelSet from during process to during one time request; add the feature to specify a fixed model in test dialog --- .../ui/src/main/features/llm-request-log.ts | 8 +- .../flow/OPEN_SETTING_WINDOW/ipc/index.ts | 3 +- .../boss-operation.ts | 21 +- .../page/ReadNoReplyReminderLlmMock/index.vue | 188 +++++++++++++++--- 4 files changed, 177 insertions(+), 43 deletions(-) diff --git a/packages/ui/src/main/features/llm-request-log.ts b/packages/ui/src/main/features/llm-request-log.ts index e3c1f70..f421b8b 100644 --- a/packages/ui/src/main/features/llm-request-log.ts +++ b/packages/ui/src/main/features/llm-request-log.ts @@ -1,9 +1,9 @@ import { saveGptCompletionRequestRecord } from '@geekgeekrun/sqlite-plugin/dist/handlers' -export const RequestSceneEnum = { - testing: 1, - readNoReplyAutoReminder: 2, - geekAutoStartChatWithBoss: 3 +export enum RequestSceneEnum { + testing = 1, + readNoReplyAutoReminder = 2, + geekAutoStartChatWithBoss = 3 } let dbInitPromise diff --git a/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts b/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts index ebd53dd..36277f1 100644 --- a/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts +++ b/packages/ui/src/main/flow/OPEN_SETTING_WINDOW/ipc/index.ts @@ -555,7 +555,8 @@ export default function initIpc() { }) async function requestLlm(_, requestPayload) { return await requestNewMessageContent(requestPayload.messageList, { - requestScene: RequestSceneEnum.testing + requestScene: RequestSceneEnum.testing, + llmConfigIdForPick: requestPayload.llmConfigIdForPick ?? null }) } ipcMain.handle('request-llm-for-test', requestLlm) diff --git a/packages/ui/src/main/flow/READ_NO_REPLY_AUTO_REMINDER/boss-operation.ts b/packages/ui/src/main/flow/READ_NO_REPLY_AUTO_REMINDER/boss-operation.ts index 992558c..5b2227c 100644 --- a/packages/ui/src/main/flow/READ_NO_REPLY_AUTO_REMINDER/boss-operation.ts +++ b/packages/ui/src/main/flow/READ_NO_REPLY_AUTO_REMINDER/boss-operation.ts @@ -27,8 +27,7 @@ export const sendLookForwardReplyEmotion = async (page: Page) => { await lookForwardReplyEmojiProxy!.click() } -const blockModelSet = new Set() -const pickLlmConfigFromList = (llmConfigList) => { +const pickLlmConfigFromList = (llmConfigList, blockModelSet) => { if (llmConfigList.length === 1) { llmConfigList[0].enabled = true llmConfigList[0].serveWeight = SINGLE_ITEM_DEFAULT_SERVE_WEIGHT @@ -115,7 +114,13 @@ export const writeDefaultAutoRemindPrompt = async () => { await writeStorageFile(autoReminderPromptTemplateFileName, defaultPrompt, { isJson: false }) } -export const requestNewMessageContent = async (chatRecords, { requestScene } = {}) => { +export const requestNewMessageContent = async ( + chatRecords, + { + requestScene, + llmConfigIdForPick + }: { requestScene?: RequestSceneEnum; llmConfigIdForPick?: string[] } = {} +) => { const template = await getValidTemplate() const resumeObject = (await readConfigFile('resumes.json'))?.[0] const resumeContent = formatResumeJsonToMarkdown(resumeObject) @@ -151,9 +156,15 @@ export const requestNewMessageContent = async (chatRecords, { requestScene } = { const llmRequestRecord: Omit & { providerApiSecret: string } = {} + const blockModelSet = new Set() while (!res) { - const llmConfigList = await readConfigFile('llm.json') - llmConfig = pickLlmConfigFromList(llmConfigList) + let llmConfigList = await readConfigFile('llm.json') + if (llmConfigIdForPick?.length) { + llmConfigList = llmConfigList.filter((it) => { + return llmConfigIdForPick.includes(it.id) + }) + } + llmConfig = pickLlmConfigFromList(llmConfigList, blockModelSet) if (!llmConfig) { throw new Error(`CANNOT_FIND_A_USABLE_MODEL`) } diff --git a/packages/ui/src/renderer/src/page/ReadNoReplyReminderLlmMock/index.vue b/packages/ui/src/renderer/src/page/ReadNoReplyReminderLlmMock/index.vue index df790b0..4ae2d65 100644 --- a/packages/ui/src/renderer/src/page/ReadNoReplyReminderLlmMock/index.vue +++ b/packages/ui/src/renderer/src/page/ReadNoReplyReminderLlmMock/index.vue @@ -1,41 +1,129 @@ -
+ 关闭对话框