• UnoRouterUNOROUTER
Документация
  • Руководство по чату
Первые шаги
  • Первые шаги
Персонажи и мир
  • Персонажи
  • Персоны
  • Лорбуки
  • Карты
Промптинг
  • Пресеты
  • Шаблон промпта
  • Групповые чаты
Скрипты
  • Макросы (CBS)
  • Regex-скрипты
  • Триггеры и Lua
  • Плагины
Контекст и медиа
  • Память и контекст
  • Изображения
  • Собственные провайдеры
Ваши данные
  • Ваши данные
  • Копия и восстановление
Навигация
  • Модели
  • Рейтинги
  • Инспектор
  • Тарифы
  • Чат
  • Статус

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

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

ПлатформаИнтеграцииЧат
Руководство по чату

Плагины

Ваш собственный 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, работают как есть. Они получают тот же объект context, и то, что останется в character.personality и character.scenario, становится промптом этого хода.

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

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

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

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

Триггеры и LuaПамять и контекст

На этой странице

Что такое плагины
Хуки
API uno
Скрипты JanitorAI
Чего плагин не может