diff --git a/src/lang/en.ts b/src/lang/en.ts index 21a723ae..7c8ff5f4 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -572,4 +572,5 @@ export const languageEnglish = { importFromRealmDesc: "Choose over 1000 characters in RisuRealm", random: "Random", metaData: "Meta Data", + autoContinueMinTokens: "Target Tokens Auto Continue", } \ No newline at end of file diff --git a/src/lib/Setting/Pages/AdvancedSettings.svelte b/src/lib/Setting/Pages/AdvancedSettings.svelte index cb87d54e..b752dbda 100644 --- a/src/lib/Setting/Pages/AdvancedSettings.svelte +++ b/src/lib/Setting/Pages/AdvancedSettings.svelte @@ -18,6 +18,8 @@ {language.loreBookToken} +{language.autoContinueMinTokens} + {language.additionalPrompt} diff --git a/src/ts/process/index.ts b/src/ts/process/index.ts index 02d02a3f..4c2e995a 100644 --- a/src/ts/process/index.ts +++ b/src/ts/process/index.ts @@ -1132,6 +1132,15 @@ export async function sendChat(chatProcessIndex = -1,arg:{chatAdditonalTokens?:n } } + if(db.autoContinueMinTokens > 0 && (await tokenize(result)) < db.autoContinueMinTokens){ + doingChat.set(false) + return await sendChat(chatProcessIndex, { + chatAdditonalTokens: arg.chatAdditonalTokens, + continue: true, + signal: abortSignal + }) + } + chatProcessStage.set(4) sendPeerChar() diff --git a/src/ts/storage/database.ts b/src/ts/storage/database.ts index 1c86d069..b861ed86 100644 --- a/src/ts/storage/database.ts +++ b/src/ts/storage/database.ts @@ -385,6 +385,8 @@ export function setDatabase(data:Database){ data.maxSupaChunkSize ??= 1200 data.ollamaURL ??= '' data.ollamaModel ??= '' + data.autoContinueChat ??= false + data.autoContinueMinTokens ??= 0 changeLanguage(data.language) DataBase.set(data) @@ -622,6 +624,8 @@ export interface Database{ maxSupaChunkSize:number ollamaURL:string ollamaModel:string + autoContinueChat:boolean + autoContinueMinTokens:number } export interface customscript{