From 26421fde034fe4c438f378f7437935a3cc5ff73c Mon Sep 17 00:00:00 2001 From: kwaroran Date: Tue, 18 Jul 2023 14:50:43 +0900 Subject: [PATCH] [feat] new prompts --- src/ts/parser.ts | 56 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/src/ts/parser.ts b/src/ts/parser.ts index 11c34cbe..6ed9f45b 100644 --- a/src/ts/parser.ts +++ b/src/ts/parser.ts @@ -361,17 +361,65 @@ export function risuChatParser(da:string, arg:{ } return achara.personality } - case 'persona': - case 'user_persona':{ + case 'description': + case 'char_desc':{ const argChara = chara const achara = (argChara && typeof(argChara) !== 'string') ? argChara : (db.characters[get(selectedCharID)]) if(achara.type === 'group'){ return "" } - return achara.personality + return achara.desc + } + case 'scenario':{ + const argChara = chara + const achara = (argChara && typeof(argChara) !== 'string') ? argChara : (db.characters[get(selectedCharID)]) + if(achara.type === 'group'){ + return "" + } + return achara.scenario + } + case 'example_dialogue': + case 'example_message':{ + const argChara = chara + const achara = (argChara && typeof(argChara) !== 'string') ? argChara : (db.characters[get(selectedCharID)]) + if(achara.type === 'group'){ + return "" + } + return achara.exampleMessage + } + case 'persona': + case 'user_persona':{ + return db.personaPrompt + } + case 'main_prompt': + case 'system_prompt':{ + return db.mainPrompt + } + case 'lorebook': + case 'world_info':{ + const argChara = chara + const achara = (argChara && typeof(argChara) !== 'string') ? argChara : (db.characters[get(selectedCharID)]) + const selchar = db.characters[get(selectedCharID)] + const chat = selchar.chats[selchar.chatPage] + const characterLore = (achara.type === 'group') ? [] : (achara.globalLore ?? []) + const chatLore = chat.localLore ?? [] + const globalLore = db.loreBook[db.loreBookPage]?.data ?? [] + const fullLore = characterLore.concat(chatLore.concat(globalLore)) + return fullLore.map((f) => { + return JSON.stringify(f) + }).join("§\n") + } + case 'history': + case 'messages':{ + const selchar = db.characters[get(selectedCharID)] + const chat = selchar.chats[selchar.chatPage] + return chat.message.map((f) => { + return JSON.stringify(f) + }).join("§\n") } case 'ujb': - case 'global_note':{ + case 'global_note': + case 'system_note':{ return db.globalNote } case 'chat_index':{