תוספים
הקוד שלך רץ בבטחה סביב כל הודעה.
תוסף הוא קוד 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.";
}גם הכללים שלהם חלים: המצב מתאפס בכל תור, לכן כתוב מחדש לתרחיש כל מה שברצונך לשמר.
תוספים רצים במסגרת מבודדת ללא גישה לשיחות, לקבצים, לעוגיות או לחשבון שלך. הם אינם יכולים לקרוא את הדף או לשלוח בקשות רשת משלהם.
כל מה שתוסף נוגע בו עובר דרך הממשק שלמעלה, ולכן הוא רואה רק את מה שניתן למטפל. עם זאת, התקן רק קוד שאתה סומך עליו: תוסף יכול לשכתב את מה שאתה שולח ואת מה שאתה קורא.