Plugins
Eigenes JavaScript, das um jede Nachricht herum läuft.
Ein Plugin ist JavaScript, das läuft, wenn eine Nachricht rausgeht oder zurückkommt. Damit lässt sich Text umschreiben, Zähler führen oder Notizen in den Prompt einfügen.
Plugins sind global: einmal aktiviert, läuft eines in jedem Chat. Verwaltung unter Plugins im Chat-Menü. Code einfügen oder eine .js-Datei importieren.
Registriere einen Handler für einen von vier Zeitpunkten:
input request output display
Ein Handler bekommt den Text und gibt den Ersatz zurück. Gib nichts zurück, um ihn unverändert zu lassen.
uno.registerHandler("output", (text) => {
return text.replace(/\bcolour\b/g, "color");
});Handler laufen der Reihe nach und blockieren nie eine Antwort. Einer, der eine Ausnahme wirft oder fünf Sekunden überschreitet, wird übersprungen, und der ursprüngliche Text geht durch.
Innerhalb eines Handlers liest und schreibt das uno-Objekt die Unterhaltung. Jeder Aufruf liefert ein Promise.
const name = await uno.getName();
const last = await uno.getUserLastMessage();
await uno.setChatVar("mood", "curious");
const mood = await uno.getChatVar("mood");Der volle Umfang deckt Chatnachrichten, Charakter- und Persona-Felder, Chat-Variablen, Lorebook-Einträge, Makro-Auflösung, Token-Zählung und eine ratenbegrenzte https-Anfrage ab.
Für JanitorAI geschriebene Skripte laufen unverändert, mit demselben Kontextobjekt. Was sie in character.personality und character.scenario hinterlassen, wird zum Prompt dieses Zuges.
if (context.chat.last_message.toLowerCase().indexOf("storm") !== -1) {
context.character.scenario += "\nA storm is rolling in.";
}Auch deren Regeln gelten: der Zustand wird jeden Zug zurückgesetzt, schreib also alles Wichtige jedes Mal erneut ins Szenario.
Plugins laufen in einem abgeschotteten Frame ohne Zugriff auf deine Chats, Dateien, Cookies oder deinen Login. Sie können weder die Seite lesen noch eigene Netzwerkanfragen stellen.
Alles, worauf ein Plugin zugreift, läuft über die obige API. Trotzdem nur Code installieren, dem man vertraut: ein Plugin kann umschreiben, was man sendet und liest.