Eklentiler
Her mesajın çevresinde çalışan kendi JavaScript kodunuz.
Eklenti, bir mesaj gittiğinde veya geldiğinde çalışan JavaScript kodudur. Metni yeniden yazmak, sayaç tutmak veya prompta not eklemek için kullanın.
Eklentiler globaldir: etkinleştirildiğinde her sohbette çalışır. Sohbet menüsündeki Eklentiler bölümünden yönetin. Kod yapıştırın veya bir .js dosyası içe aktarın.
Şu dört andan biri için bir işleyici kaydedin:
input request output display
İşleyici metni alır ve yerine geçecek metni döndürür. Hiçbir şey döndürmezseniz metin olduğu gibi kalır.
uno.registerHandler("output", (text) => {
return text.replace(/\bcolour\b/g, "color");
});İşleyiciler sırayla çalışır ve bir yanıtı asla engellemez. Hata veren veya beş saniyeyi aşan atlanır, orijinal metin geçer.
Bir işleyicinin içinde uno nesnesi sohbeti okur ve yazar. Her çağrı bir promise döndürür.
const name = await uno.getName();
const last = await uno.getUserLastMessage();
await uno.setChatVar("mood", "curious");
const mood = await uno.getChatVar("mood");Tam küme sohbet mesajlarını, karakter ve persona alanlarını, sohbet değişkenlerini, lorebook kayıtlarını, makro açılımını, jeton sayımını ve hız sınırlı bir https isteğini kapsar.
JanitorAI için yazılmış betikler aynı bağlam nesnesiyle olduğu gibi çalışır. character.personality ve character.scenario içinde bıraktıkları şey o turun promptu olur.
if (context.chat.last_message.toLowerCase().indexOf("storm") !== -1) {
context.character.scenario += "\nA storm is rolling in.";
}Onların kuralları da geçerlidir: durum her turda sıfırlanır, bu yüzden saklanmasını istediğiniz her şeyi senaryoya yeniden yazın.
Eklentiler; sohbetlerinize, dosyalarınıza, çerezlerinize veya oturumunuza erişimi olmayan korumalı bir çerçevede çalışır. Sayfayı okuyamaz, kendi ağ isteklerini yapamazlar.
Bir eklentinin eriştiği her şey yukarıdaki APIden geçer. Yine de yalnızca güvendiğiniz kodu kurun: bir eklenti gönderdiğinizi ve okuduğunuzu yeniden yazabilir.