Поиск по документации...

Начните вводить, чтобы искать по документации

Руководство по чату

Плагины

Ваш собственный JavaScript, работающий вокруг каждого сообщения.

Плагин: JavaScript, который выполняется при отправке сообщения или при получении ответа. Используйте его, чтобы переписывать текст, вести счётчики или добавлять заметки в промпт.

Плагины глобальны: после включения плагин работает в каждом чате. Управляйте ими в разделе Плагины в меню чата. Вставьте код или импортируйте файл .js.

Зарегистрируйте обработчик для одного из четырёх моментов:

input request output display

Обработчик получает текст и возвращает замену. Если ничего не вернуть, текст останется прежним.

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

Обработчики выполняются по порядку и никогда не блокируют ответ. Тот, что выбросил ошибку или превысил пять секунд, пропускается, и проходит исходный текст.

Внутри обработчика объект uno читает и изменяет переписку. Каждый вызов возвращает промис.

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

Полный набор охватывает сообщения чата, поля персонажа и персоны, переменные чата, записи лорбука, раскрытие макросов, подсчёт токенов и https-запрос с ограничением частоты.

Скрипты, написанные для JanitorAI, работают как есть, с тем же объектом контекста. Что бы они ни оставили в character.personality и character.scenario, это становится промптом данной реплики.

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

Их правила тоже действуют: состояние сбрасывается каждый ход, поэтому всё нужное записывайте в сценарий заново.

Плагины выполняются в изолированном фрейме без доступа к вашим чатам, файлам, cookie и учётной записи. Они не могут читать страницу и отправлять собственные сетевые запросы.

Всё, до чего добирается плагин, проходит через описанный выше API. Всё же ставьте только тот код, которому доверяете: плагин может переписывать то, что вы отправляете и читаете.