Buscar documentación...

Empieza a escribir para buscar documentación

Guía del chat

Complementos

Tu propio JavaScript ejecutándose alrededor de cada mensaje.

Un plugin es JavaScript que se ejecuta cuando un mensaje sale o vuelve. Úsalo para reescribir texto, llevar contadores o inyectar notas en el prompt.

Los plugins son globales: una vez activado, uno se ejecuta en todos los chats. Gestiónalos en Plugins, dentro del menú del chat. Pega el código o importa un archivo .js.

Registra un manejador para uno de estos cuatro momentos:

input request output display

El manejador recibe el texto y devuelve el reemplazo. Si no devuelve nada, el texto queda intacto.

text
uno.registerHandler("output", (text) => {
  return text.replace(/\bcolour\b/g, "color");
});

Los manejadores se ejecutan en orden y nunca bloquean una respuesta. Uno que falle o tarde más de cinco segundos se omite y el texto original sigue adelante.

Dentro de un manejador, el objeto uno lee y escribe la conversación. Cada llamada devuelve una promesa.

text
const name = await uno.getName();
const last = await uno.getUserLastMessage();
await uno.setChatVar("mood", "curious");
const mood = await uno.getChatVar("mood");

El conjunto completo abarca mensajes del chat, campos de personaje y persona, variables del chat, entradas del lorebook, expansión de macros, recuento de tokens y una petición https con límite de frecuencia.

Los scripts escritos para JanitorAI se ejecutan tal cual, con el mismo objeto de contexto. Lo que dejen en character.personality y character.scenario se convierte en el prompt de ese turno.

text
if (context.chat.last_message.toLowerCase().indexOf("storm") !== -1) {
  context.character.scenario += "\nA storm is rolling in.";
}

También se aplican sus reglas: el estado se reinicia en cada turno, así que vuelve a escribir en el escenario todo lo que quieras conservar.

Los complementos se ejecutan en un marco aislado, sin acceso a tus chats, archivos, cookies ni sesión. No pueden leer la página ni hacer sus propias peticiones de red.

Todo lo que alcanza un plugin pasa por la API de arriba. Aun así, instala solo código en el que confíes: un plugin puede reescribir lo que envías y lo que lees.