ドキュメントを検索...

入力してドキュメントを検索

チャットガイド

プラグイン

すべてのメッセージの前後で動く、あなた自身の JavaScript。

プラグインは、メッセージが送信されるとき、または返ってくるときに動く JavaScript です。テキストの書き換え、カウンタの保持、プロンプトへのメモの注入などに使えます。

プラグインはグローバルです:有効にすると、すべてのチャットで動きます。チャットメニューの Plugins から管理します。コードを貼り付けるか .js ファイルをインポートしてください。

次の 4 つのタイミングのいずれかにハンドラーを登録します。

input request output display

ハンドラーはテキストを受け取り、置き換えた内容を返します。何も返さなければテキストはそのままです。

text
uno.registerHandler("output", (text) => {
  return text.replace(/\bcolour\b/g, "color");
});

ハンドラは順番に実行され、返信をブロックすることはありません。例外を投げるか5秒を超えたものはスキップされ、元のテキストがそのまま通ります。

ハンドラーの中では、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 向けに書かれたスクリプトは、同じコンテキストオブジェクトでそのまま動きます。character.personality と character.scenario に残した内容が、そのターンのプロンプトになります。

text
if (context.chat.last_message.toLowerCase().indexOf("storm") !== -1) {
  context.character.scenario += "\nA storm is rolling in.";
}

向こうのルールも同じです。状態はターンごとにリセットされるので、残したい内容は毎回シナリオに書き戻してください。

プラグインは隔離されたフレームで動作し、チャット、ファイル、Cookie、ログイン情報にはアクセスできません。ページを読むことも、独自に通信することもできません。

プラグインが触れるものはすべて、上記のAPIを経由します。それでも、信頼できるコードだけをインストールしてください。プラグインは送受信する内容を書き換えたり読んだりできます。