Plugin
Il tuo JavaScript, eseguito in sicurezza attorno a ogni messaggio.
Un plugin è JavaScript scritto da te che viene eseguito ogni volta che un messaggio parte o arriva. Serve a riscrivere testo, tenere contatori personali o inserire note nel prompt.
I plugin sono globali: una volta attivati vengono eseguiti in ogni chat. Si gestiscono sotto Plugin nel menu della chat, dove puoi incollare codice o importare un file .js.
Registra un gestore per uno di questi quattro momenti:
input request output display
Il gestore riceve il testo e restituisce la sostituzione. Non restituire nulla lo lascia invariato.
uno.registerHandler("output", (text) => {
return text.replace(/\bcolour\b/g, "color");
});I gestori vengono eseguiti in ordine e non bloccano mai una risposta: quello che genera un errore o supera i cinque secondi viene saltato e passa il testo originale.
Dentro un gestore l'oggetto uno legge e scrive la conversazione. Ogni chiamata restituisce una promise.
const name = await uno.getName();
const last = await uno.getUserLastMessage();
await uno.setChatVar("mood", "curious");
const mood = await uno.getChatVar("mood");L'insieme completo copre i messaggi della chat, i campi di personaggio e persona, le variabili della chat, le voci del lorebook, l'espansione delle macro, il conteggio dei token e una richiesta https con limite di frequenza.
Gli script scritti per JanitorAI funzionano così come sono. Ricevono lo stesso oggetto context, e ciò che lasciano in character.personality e character.scenario diventa il prompt di quel turno.
if (context.chat.last_message.toLowerCase().indexOf("storm") !== -1) {
context.character.scenario += "\nA storm is rolling in.";
}Valgono anche le loro regole: lo stato si azzera a ogni turno, quindi riscrivi nello scenario tutto ciò che vuoi conservare.
I plugin vengono eseguiti in un frame isolato, senza accesso a chat, file, cookie o al tuo accesso. Non possono leggere la pagina né fare richieste di rete proprie.
Tutto ciò che un plugin raggiunge passa dall'API qui sopra, quindi vede solo ciò che riceve un gestore. Installa comunque solo codice di cui ti fidi: un plugin può riscrivere ciò che invii e ciò che leggi.