प्लगइन
आपका अपना JavaScript, हर संदेश के साथ सुरक्षित रूप से चलता हुआ।
प्लगइन वह JavaScript है जो आप लिखते हैं और जो हर बार संदेश भेजे या मिलने पर चलता है। इससे पाठ बदलें, अपने काउंटर रखें या प्रॉम्प्ट में टिप्पणियाँ जोड़ें।
प्लगइन वैश्विक होते हैं: सक्षम करने पर हर बातचीत में चलते हैं। इन्हें चैट मेनू के प्लगइन भाग में प्रबंधित करें, जहाँ आप कोड चिपका सकते हैं या .js फ़ाइल आयात कर सकते हैं।
इन चार में से किसी एक क्षण के लिए हैंडलर पंजीकृत करें:
input request output display
हैंडलर को पाठ मिलता है और वह बदला हुआ पाठ लौटाता है। कुछ न लौटाएँ तो पाठ वैसा ही रहता है।
uno.registerHandler("output", (text) => {
return text.replace(/\bcolour\b/g, "color");
});हैंडलर क्रम से चलते हैं और उत्तर को कभी नहीं रोकते: जो त्रुटि दे या पाँच सेकंड से अधिक ले, उसे छोड़ दिया जाता है और मूल पाठ आगे बढ़ता है।
हैंडलर के भीतर uno ऑब्जेक्ट बातचीत को पढ़ता और बदलता है। हर कॉल एक प्रॉमिस लौटाती है।
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 में जो छोड़ती हैं वही उस बारी का प्रॉम्प्ट बनता है।
if (context.chat.last_message.toLowerCase().indexOf("storm") !== -1) {
context.character.scenario += "\nA storm is rolling in.";
}उनके नियम भी लागू होते हैं: हर बारी में स्थिति रीसेट हो जाती है, इसलिए जो भी रखना हो उसे हर बार परिदृश्य में दोबारा लिखें।
प्लगइन एक अलग फ़्रेम में चलते हैं, जिसे आपकी बातचीत, फ़ाइलों, कुकीज़ या लॉगिन तक पहुँच नहीं है। वे न पृष्ठ पढ़ सकते हैं, न अपने नेटवर्क अनुरोध भेज सकते हैं।
प्लगइन जो कुछ भी छूता है वह ऊपर बताई API से होकर जाता है, इसलिए उसे केवल वही दिखता है जो हैंडलर को मिलता है। फिर भी केवल भरोसेमंद कोड ही जोड़ें: प्लगइन आपके भेजे और पढ़े जाने वाले पाठ को बदल सकता है।