Wtyczki
Twój własny JavaScript, uruchamiany wokół każdej wiadomości.
Wtyczka to JavaScript uruchamiany, gdy wiadomość wychodzi albo wraca. Użyj jej do przepisywania tekstu, prowadzenia liczników albo wstrzykiwania notatek do promptu.
Wtyczki są globalne: raz włączona działa w każdym czacie. Zarządzaj nimi w sekcji Plugins w menu czatu. Wklej kod albo zaimportuj plik .js.
Zarejestruj obsługę dla jednego z czterech momentów:
input request output display
Obsługa dostaje tekst i zwraca zamiennik. Brak zwrotu zostawia tekst bez zmian.
uno.registerHandler("output", (text) => {
return text.replace(/\bcolour\b/g, "color");
});Uchwyty działają w kolejności i nigdy nie blokują odpowiedzi. Ten, który zgłosi błąd albo przekroczy pięć sekund, jest pomijany, a tekst przechodzi w oryginale.
Wewnątrz obsługi obiekt uno czyta i zapisuje rozmowę. Każde wywołanie zwraca obietnicę.
const name = await uno.getName();
const last = await uno.getUserLastMessage();
await uno.setChatVar("mood", "curious");
const mood = await uno.getChatVar("mood");Pełny zestaw obejmuje wiadomości czatu, pola postaci i persony, zmienne rozmowy, wpisy lorebooka, rozwijanie makr, liczenie tokenów oraz żądanie https z limitem częstotliwości.
Skrypty napisane dla JanitorAI działają bez zmian, z tym samym obiektem kontekstu. Cokolwiek zostawią w character.personality i character.scenario, staje się promptem tej tury.
if (context.chat.last_message.toLowerCase().indexOf("storm") !== -1) {
context.character.scenario += "\nA storm is rolling in.";
}Obowiązują też ich zasady: stan zeruje się co turę, więc wszystko, co ma zostać, zapisuj do scenariusza za każdym razem.
Wtyczki działają w izolowanej ramce bez dostępu do twoich rozmów, plików, ciasteczek i logowania. Nie odczytają strony ani nie wyślą własnych żądań sieciowych.
Wszystko, do czego sięga wtyczka, przechodzi przez powyższe API. Mimo to instaluj tylko kod, któremu ufasz: wtyczka może przepisać to, co wysyłasz i czytasz.