聊天指南
外掛
你自己的 JavaScript,安全地在每則訊息前後執行。
外掛是你自己寫的 JavaScript,會在每次訊息送出或回來時執行。可以用來改寫文字、維護自己的計數器,或在提示詞中插入備註。
外掛是全域的:啟用後會在所有對話中執行。在聊天選單的「外掛」中管理,可以貼上程式碼或匯入 .js 檔案。
為下列四個時機之一註冊處理常式:
input request output display
處理常式接收文字並回傳替換後的內容。不回傳任何值則維持原樣。
text
uno.registerHandler("output", (text) => {
return text.replace(/\bcolour\b/g, "color");
});處理常式依序執行,且絕不阻擋回覆:拋出錯誤或超過五秒的會被略過,原文繼續傳遞。
在處理常式內,uno 物件負責讀寫對話。每次呼叫都會回傳一個 promise。
text
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 中的內容會成為該回合的提示詞。
text
if (context.chat.last_message.toLowerCase().indexOf("storm") !== -1) {
context.character.scenario += "\nA storm is rolling in.";
}它們的規則同樣適用:狀態每回合都會重設,因此想保留的內容每次都要重新寫回場景。
外掛在隔離的框架中執行,無法存取你的對話、檔案、Cookie 或登入狀態,也讀不到頁面、發不出自己的網路請求。
外掛能接觸到的一切都要經過上述 API,因此它只看得到處理常式收到的內容。即便如此,也請只安裝你信任的程式碼:外掛可以改寫你傳送與讀到的文字。