Extensions
Votre propre JavaScript, exécuté autour de chaque message.
Un plugin est du JavaScript exécuté au départ d'un message ou à son retour. Servez-vous-en pour réécrire du texte, tenir des compteurs ou injecter des notes dans le prompt.
Les plugins sont globaux : une fois activé, un plugin s'exécute dans chaque chat. Gérez-les sous Plugins dans le menu du chat. Collez du code ou importez un fichier .js.
Enregistrez un gestionnaire pour l'un de ces quatre moments :
input request output display
Un gestionnaire reçoit le texte et renvoie le remplacement. Ne rien renvoyer laisse le texte inchangé.
uno.registerHandler("output", (text) => {
return text.replace(/\bcolour\b/g, "color");
});Les gestionnaires s'exécutent dans l'ordre et ne bloquent jamais une réponse. Celui qui lève une erreur ou dépasse cinq secondes est ignoré, et le texte d'origine passe.
Dans un gestionnaire, l'objet uno lit et écrit la conversation. Chaque appel renvoie une promesse.
const name = await uno.getName();
const last = await uno.getUserLastMessage();
await uno.setChatVar("mood", "curious");
const mood = await uno.getChatVar("mood");L'ensemble couvre les messages, les champs du personnage et du persona, les variables de conversation, les entrées de lorebook, l'expansion des macros, le comptage de jetons et une requête https à débit limité.
Les scripts écrits pour JanitorAI fonctionnent tels quels, avec le même objet de contexte. Ce qu'ils laissent dans character.personality et character.scenario devient le prompt de ce tour.
if (context.chat.last_message.toLowerCase().indexOf("storm") !== -1) {
context.character.scenario += "\nA storm is rolling in.";
}Leurs règles s'appliquent aussi : l'état est réinitialisé à chaque tour, réécrivez donc dans le scénario tout ce que vous voulez conserver.
Les extensions s'exécutent dans un cadre isolé, sans accès à vos conversations, fichiers, cookies ou session. Elles ne peuvent ni lire la page ni émettre leurs propres requêtes réseau.
Tout ce qu'un plugin atteint passe par l'API ci-dessus. Malgré tout, n'installez que du code de confiance : un plugin peut réécrire ce que vous envoyez et ce que vous lisez.