diff --git a/src/lang/en.ts b/src/lang/en.ts index e5a4c8d5..09393695 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -1057,6 +1057,8 @@ export const languageEnglish = { paste: "Paste", depth: "Depth", returnCSSError: "Return CSS Error", + alwaysActiveInChat: "Always Active (Current Chat)", + childLoreDesc: "This is a copy of Character lore that remains 'Always Active' until removed or manually deactivated in the original.", thinkingTokens: "Thinking Tokens", antiServerOverload: "Anti-Server Overload", } diff --git a/src/lang/ko.ts b/src/lang/ko.ts index 93891ae5..fec8ec0c 100644 --- a/src/lang/ko.ts +++ b/src/lang/ko.ts @@ -978,4 +978,6 @@ export const languageKorean = { "copy": "복사", "paste": "붙여넣기", "depth": "깊이", + "alwaysActiveInChat": "언제나 활성화 (현재 챗)", + "childLoreDesc": "이것은 캐릭터 로어의 복사본이며, 삭제하거나 원본 로어에서 직접 비활성화하기 전에는 '언제나 활성화' 상태로 유지됩니다." } diff --git a/src/lib/SideBars/LoreBook/LoreBookData.svelte b/src/lib/SideBars/LoreBook/LoreBookData.svelte index 3f8cb622..05f43c75 100644 --- a/src/lib/SideBars/LoreBook/LoreBookData.svelte +++ b/src/lib/SideBars/LoreBook/LoreBookData.svelte @@ -1,8 +1,9 @@
+ {#if value.mode !== 'child'} + {:else} + + + {/if}
{#if open}
@@ -120,6 +185,11 @@
+ {#if !value.alwaysActive && getCurrentCharacter()?.globalLore?.includes(value)} +
+ toggleLocalActive(check, value)} name={language.alwaysActiveInChat}/> +
+ {/if} {#if !lorePlus && !value.useRegex}
diff --git a/src/ts/process/lorebook.svelte.ts b/src/ts/process/lorebook.svelte.ts index f868a2a7..5e578be7 100644 --- a/src/ts/process/lorebook.svelte.ts +++ b/src/ts/process/lorebook.svelte.ts @@ -218,6 +218,21 @@ export async function loadLoreBookV3Prompt(){ all?:boolean }[] = [] let fullWordMatching = fullWordMatchingSetting + + if(fullLore[i].mode === 'child'){ + activated = false + for(let j=0;j { switch(name){ case 'end':{ diff --git a/src/ts/storage/database.svelte.ts b/src/ts/storage/database.svelte.ts index ce509d4b..a6405b0b 100644 --- a/src/ts/storage/database.svelte.ts +++ b/src/ts/storage/database.svelte.ts @@ -956,7 +956,7 @@ export interface loreBook{ insertorder: number comment: string content: string - mode: 'multiple'|'constant'|'normal', + mode: 'multiple'|'constant'|'normal'|'child', alwaysActive: boolean selective:boolean extentions?:{ @@ -969,6 +969,7 @@ export interface loreBook{ }, useRegex?:boolean bookVersion?:number + id?:string } export interface character{