[feat] add persona
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -728,6 +728,10 @@ export function getUnpargeables(db:Database, uptype:'basename'|'pure' = 'basenam
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
db.personas.map((v) => {
|
||||
addUnparge(v.icon)
|
||||
})
|
||||
return unpargeable
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user