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