Eklentiler
Kendi JavaScript'iniz, her mesajın çevresinde güvenle çalışır.
Eklenti, yazdığınız ve her mesaj gidip geldiğinde çalışan JavaScript'tir. Metni yeniden yazmak, kendi sayaçlarınızı tutmak veya isteme not eklemek için kullanın.
Eklentiler geneldir: etkinleştirildiğinde her sohbette çalışır. Sohbet menüsündeki Eklentiler bölümünden yönetilir; kod yapıştırabilir veya bir .js dosyası içe aktarabilirsiniz.
Ş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 yanıtı asla engellemez: hata veren ya da beş saniyeyi aşan atlanır, özgün 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 olduğu gibi çalışır. Aynı context nesnesini alır; character.personality ve character.scenario içinde bıraktıkları, o turun istemi 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 ulaştığı her şey yukarıdaki API'den geçer, yani yalnızca bir işleyiciye verileni görür. Yine de sadece güvendiğiniz kodu kurun: bir eklenti gönderdiğinizi ve okuduğunuzu yeniden yazabilir.