[feat] add persona

This commit is contained in:
kwaroran
2023-07-16 02:52:00 +09:00
parent 8a4aaadfd6
commit f6c5c8be9e
9 changed files with 238 additions and 73 deletions

View File

@@ -87,9 +87,38 @@ export async function selectUserImg() {
let db = get(DataBase)
const imgp = await saveImage(img)
db.userIcon = imgp
db.personas[db.selectedPersona] = {
name: db.username,
icon: db.userIcon,
personaPrompt: db.personaPrompt
}
setDatabase(db)
}
export function saveUserPersona() {
let db = get(DataBase)
db.personas[db.selectedPersona] = {
name: db.username,
icon: db.userIcon,
personaPrompt: db.personaPrompt
}
setDatabase(db)
}
export function changeUserPersona(id:number, save:'save'|'noSave' = 'save') {
if(save === 'save'){
saveUserPersona()
}
let db = get(DataBase)
const pr = db.personas[id]
db.personaPrompt = pr.personaPrompt
db.username = pr.name,
db.userIcon = pr.icon
db.selectedPersona = id
setDatabase(db)
}
export const addingEmotion = writable(false)
export async function addCharEmotion(charId:number) {

View File

@@ -265,6 +265,12 @@ export function setDatabase(data:Database){
if(checkNullish(data.imageCompression)){
data.imageCompression = true
}
data.selectedPersona ??= 0
data.personas ??= [{
name: data.username,
personaPrompt: "",
icon: data.userIcon
}]
data.classicMaxWidth ??= false
data.ooba ??= cloneDeep(defaultOoba)
data.ainconfig ??= cloneDeep(defaultAIN)
@@ -546,9 +552,15 @@ export interface Database{
proxyRequestModel:string
ooba:OobaSettings
ainconfig: AINsettings
personaPrompt:string
openrouterRequestModel:string
openrouterKey:string
selectedPersona:number
personas:{
personaPrompt:string
name:string
icon:string
}[]
}
interface hordeConfig{

View File

@@ -728,6 +728,10 @@ export function getUnpargeables(db:Database, uptype:'basename'|'pure' = 'basenam
}
}
}
db.personas.map((v) => {
addUnparge(v.icon)
})
return unpargeable
}