Code and Chatモードでチャットが長くなってタイピングの反応が異常に悪くなったり,出力内容の表示が遅くなった場合の対処法です.
Ctrl+Shift+I(右クリックから「検証」も可)で開発者モード→コンソールを開き,以下のコードを貼り付けてエンターキーで実行すると多少軽くなるかもしれません.
一度,実行するとページが更新されるまで自動で最新2件以外のチャットを削除し続けます.
※ あくまで画面上から要素を削除しているだけでチャットの内容は消えません.ページを更新すれば削除された要素は再度表示されます.
※ AI Studioのアップデートによってページの構造が変わると使用できなくなる可能性があります.
(function() {
console.log("チャットの自動クリーニングを開始します");
// 最新の2件だけを残し過去のチャットを削除する処理
const keepChatCount = 2; // 何回分のやり取りを残したいか
const groupCount = 3; // 1つのやり取りは質問,思考過程,回答の3つで構成されます
function cleanOldTurns() {
const turns = document.querySelectorAll('ms-chat-turn');
const keepCount = keepChatCount * groupCount; // チャット欄に残すべき要素の数を計算する
// 溢れた分は削除する
if (turns.length > keepCount) {
let deletedCount = 0;
for (let i = 0; i < turns.length - keepCount; i++) {
turns[i].remove(); // 削除
deletedCount++;
}
console.log(`古くなった ${deletedCount} 件をDOMから削除しました`);
}
}
// 画面の変化(新しいメッセージの追加)を常時監視する(MutationObserver)
const observer = new MutationObserver((mutations) => {
// 変化があったら削除処理を実行
cleanOldTurns();
});
// チャット全体のコンテナを探して監視を開始
const chatContainer = document.querySelector('ms-virtual-scroll-container') || document.body;
observer.observe(chatContainer, { childList: true, subtree: true });
// 最初の一回も実行しておく
cleanOldTurns();
})();