プラグイン
すべてのメッセージの前後で動く、あなた自身の JavaScript。
プラグインは、メッセージが送信されるとき、または返ってくるときに動く JavaScript です。テキストの書き換え、カウンタの保持、プロンプトへのメモの注入などに使えます。
プラグインはグローバルです:有効にすると、すべてのチャットで動きます。チャットメニューの Plugins から管理します。コードを貼り付けるか .js ファイルをインポートしてください。
次の 4 つのタイミングのいずれかにハンドラーを登録します。
input request output display
ハンドラーはテキストを受け取り、置き換えた内容を返します。何も返さなければテキストはそのままです。
uno.registerHandler("output", (text) => {
return text.replace(/\bcolour\b/g, "color");
});ハンドラは順番に実行され、返信をブロックすることはありません。例外を投げるか5秒を超えたものはスキップされ、元のテキストがそのまま通ります。
ハンドラーの中では、uno オブジェクトが会話を読み書きします。各呼び出しは Promise を返します。
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.";
}向こうのルールも同じです。状態はターンごとにリセットされるので、残したい内容は毎回シナリオに書き戻してください。
プラグインは隔離されたフレームで動作し、チャット、ファイル、Cookie、ログイン情報にはアクセスできません。ページを読むことも、独自に通信することもできません。
プラグインが触れるものはすべて、上記のAPIを経由します。それでも、信頼できるコードだけをインストールしてください。プラグインは送受信する内容を書き換えたり読んだりできます。