Merge branch 'staging' into CosyVoice
| @@ -1,6 +1,20 @@ | |||
| 1 | > [!IMPORTANT] | ||
| 2 | > ここに掲載されている情報は、古かったり不完全であったりする可能性があります。最新の情報は英語版をご利用ください。 | ||
| 3 | |||
| 4 | ![][cover] | ||
| 5 | |||
| 6 | <div align="center"> | ||
| 7 | |||
| 1 | [English](readme.md) | [中文](readme-zh_cn.md) | 日本語 | [Русский](readme-ru_ru.md) | 8 | [English](readme.md) | [中文](readme-zh_cn.md) | 日本語 | [Русский](readme-ru_ru.md) |
| 2 | 9 | ||
| 3 |  | 10 | [](https://github.com/SillyTavern/SillyTavern/stargazers) |
| 11 | [](https://github.com/SillyTavern/SillyTavern/network) | ||
| 12 | [](https://github.com/SillyTavern/SillyTavern/issues) | ||
| 13 | [](https://github.com/SillyTavern/SillyTavern/pulls) | ||
| 14 | |||
| 15 | </div> | ||
| 16 | |||
| 17 | --- | ||
| 4 | 18 | ||
| 5 | モバイルデバイスにも適したレイアウト・マルチAPI(KoboldAI/CPP、Horde、NovelAI、Ooba、OpenAI、OpenRouter、Claude、Scale)、VN ライクな Waifu モード、Stable Diffusion、TTS、WorldInfo(伝承本)、カスタマイズ可能なUI、自動翻訳、大量のプロンプトオプション+サードパーティの拡張機能をインストールする機能 | 19 | モバイルデバイスにも適したレイアウト・マルチAPI(KoboldAI/CPP、Horde、NovelAI、Ooba、OpenAI、OpenRouter、Claude、Scale)、VN ライクな Waifu モード、Stable Diffusion、TTS、WorldInfo(伝承本)、カスタマイズ可能なUI、自動翻訳、大量のプロンプトオプション+サードパーティの拡張機能をインストールする機能 |
| 6 | 20 | ||
| @@ -71,14 +85,13 @@ Tavern は単なるフロントエンドのUIであり、必要なハードウ | |||
| 71 | * ワールド情報サポート: 豊富な伝承を作成したり、キャラクターカードにトークンを保存したりできます | 85 | * ワールド情報サポート: 豊富な伝承を作成したり、キャラクターカードにトークンを保存したりできます |
| 72 | * [OpenRouter](https://openrouter.ai) 各種 API(Claude、GPT-4/3.5 など)の接続 | 86 | * [OpenRouter](https://openrouter.ai) 各種 API(Claude、GPT-4/3.5 など)の接続 |
| 73 | * [Oobabooga's TextGen WebUI](https://github.com/oobabooga/text-generation-webui) API 接続 | 87 | * [Oobabooga's TextGen WebUI](https://github.com/oobabooga/text-generation-webui) API 接続 |
| 74 | * [AI Horde](https://horde.koboldai.net/) 接続 | 88 | * [AI Horde](https://aihorde.net/) 接続 |
| 75 | * プロンプト生成フォーマットの調整 | 89 | * プロンプト生成フォーマットの調整 |
| 76 | 90 | ||
| 77 | ## 拡張機能 | 91 | ## 拡張機能 |
| 78 | 92 | ||
| 79 | SillyTavern は拡張できるようになっており、[SillyTavern Extras API](https://github.com/SillyTavern/SillyTavern-extras) でいくつかの追加AIモジュールをホストしています | 93 | SillyTavern は拡張できるようになっており。 |
| 80 | 94 | ||
| 81 | * 作者ノート/キャラクターバイアス | ||
| 82 | * キャラクターの感情表現(スプライト) | 95 | * キャラクターの感情表現(スプライト) |
| 83 | * チャット履歴の自動サマリー | 96 | * チャット履歴の自動サマリー |
| 84 | * チャットに画像を送り、AI が内容を解釈する | 97 | * チャットに画像を送り、AI が内容を解釈する |
| @@ -282,8 +295,8 @@ ST サーバを再起動すると、ユーザ名とパスワードさえ知っ | |||
| 282 | 295 | ||
| 283 | ## スクリーンショット | 296 | ## スクリーンショット |
| 284 | 297 | ||
| 285 | <img width="400" alt="image" src="https://user-images.githubusercontent.com/18619528/228649245-8061c60f-63dc-488e-9325-f151b7a3ec2d.png"> | 298 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/9b5f32f0-c3b3-4102-b3f5-0e9213c0f50f"> |
| 286 | <img width="400" alt="image" src="https://user-images.githubusercontent.com/18619528/228649856-fbdeef05-d727-4d5a-be80-266cbbc6b811.png"> | 299 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/913fdbaa-7d33-42f1-ae2c-89dca41c53d1"> |
| 287 | 300 | ||
| 288 | ## ライセンスとクレジット | 301 | ## ライセンスとクレジット |
| 289 | 302 | ||
| @@ -312,3 +325,6 @@ ST サーバを再起動すると、ユーザ名とパスワードさえ知っ | |||
| 312 | * @doloroushyeonse による韓国語翻訳 | 325 | * @doloroushyeonse による韓国語翻訳 |
| 313 | * k_euler_a による Horde のサポート <https://github.com/Teashrock> | 326 | * k_euler_a による Horde のサポート <https://github.com/Teashrock> |
| 314 | * [@XXpE3](https://github.com/XXpE3) による中国語翻訳、中国語 ISSUES の連絡先は @XXpE3 | 327 | * [@XXpE3](https://github.com/XXpE3) による中国語翻訳、中国語 ISSUES の連絡先は @XXpE3 |
| 328 | |||
| 329 | <!-- LINK GROUP --> | ||
| 330 | [cover]: https://github.com/user-attachments/assets/01a6ae9a-16aa-45f2-8bff-32b5dc587e44 | ||
| @@ -1,359 +1,372 @@ | |||
| 1 | <a name="readme-top"></a> | 1 | > [!IMPORTANT] |
| 2 | 2 | > Приведенная здесь информация может быть устаревшей или неполной и предоставляется только для вашего удобства. Пожалуйста, используйте английскую версию для получения наиболее актуальной информации. | |
| 3 | [English](readme.md) | [中文](readme-zh_cn.md) | [日本語](readme-ja_jp.md) | Русский | 3 | |
| 4 | 4 | <a name="readme-top"></a> | |
| 5 | ![][cover] | 5 | |
| 6 | 6 | ![][cover] | |
| 7 | Мобайл-френдли интерфейс, поддержка множества API (KoboldAI/CPP, Horde, NovelAI, Ooba, OpenAI, OpenRouter, Claude, Scale), ВН-образный режим Вайфу, Stable Diffusion, TTS, поддержка миров (лорбуков), кастомизируемый UI, автоперевод, тончайшая настройка промптов + возможность устанавливать расширения. | 7 | |
| 8 | 8 | <div align="center"> | |
| 9 | Основано на форке [TavernAI](https://github.com/TavernAI/TavernAI) версии 1.2.8 | 9 | |
| 10 | 10 | [English](readme.md) | [中文](readme-zh_cn.md) | [日本語](readme-ja_jp.md) | Русский | |
| 11 | ## Важные новости! | 11 | |
| 12 | 12 | [](https://github.com/SillyTavern/SillyTavern/stargazers) | |
| 13 | 1. Чтобы помочь вам быстрее разобраться в SillyTavern, мы создали [сайт с документацией](https://docs.sillytavern.app/). Ответы на большинство вопросов можно найти там. | 13 | [](https://github.com/SillyTavern/SillyTavern/network) |
| 14 | 14 | [](https://github.com/SillyTavern/SillyTavern/issues) | |
| 15 | 2. Почему пропали расширения после апдейта? Начиная с версии 1.10.6, большинство встроенных расширений были конвертированы в формат загружаемых аддонов. Их можно установить обратно через меню "Download Extensions and Assets" на панели расширений (значок с тремя кубиками сверху). | 15 | [](https://github.com/SillyTavern/SillyTavern/pulls) |
| 16 | 16 | ||
| 17 | 3. Не поддерживается следующая платформа: android arm LEtime-web. 32-битный Android требует внешнюю зависимость, которую нельзя установить посредством npm. Для её установки потребуется следующая команда: `pkg install esbuild`. После этого продолжайте установку по общей инструкции. | 17 | </div> |
| 18 | 18 | ||
| 19 | ### Разрабатывается Cohee, RossAscends и всем сообществом SillyTavern | 19 | --- |
| 20 | 20 | ||
| 21 | ### Что такое SillyTavern и TavernAI? | 21 | Мобайл-френдли интерфейс, поддержка множества API (KoboldAI/CPP, Horde, NovelAI, Ooba, OpenAI, OpenRouter, Claude, Scale), ВН-образный режим Вайфу, Stable Diffusion, TTS, поддержка миров (лорбуков), кастомизируемый UI, автоперевод, тончайшая настройка промптов + возможность устанавливать расширения. |
| 22 | 22 | ||
| 23 | SillyTavern — это интерфейс, который устанавливается на ПК (и на Android), который даёт возможность общаться с генеративным ИИ и чатиться/ролеплеить с вашими собственными персонажами или персонажами других пользователей. | 23 | Основано на форке [TavernAI](https://github.com/TavernAI/TavernAI) версии 1.2.8 |
| 24 | 24 | ||
| 25 | SillyTavern — это форк версии TavernAI 1.2.8, который разрабатывается более активно и имеет множество новых функций. Сейчас уже можно сказать, что это две отдельные и абсолютно самостоятельные программы. | 25 | ## Важные новости! |
| 26 | 26 | ||
| 27 | ## Скриншоты | 27 | 1. Чтобы помочь вам быстрее разобраться в SillyTavern, мы создали [сайт с документацией](https://docs.sillytavern.app/). Ответы на большинство вопросов можно найти там. |
| 28 | 28 | ||
| 29 | <img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/e902c7a2-45a6-4415-97aa-c59c597669c1"> | 29 | 2. Почему пропали расширения после апдейта? Начиная с версии 1.10.6, большинство встроенных расширений были конвертированы в формат загружаемых аддонов. Их можно установить обратно через меню "Download Extensions and Assets" на панели расширений (значок с тремя кубиками сверху). |
| 30 | <img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/f8a79c47-4fe9-4564-9e4a-bf247ed1c961"> | 30 | |
| 31 | 31 | 3. Не поддерживается следующая платформа: android arm LEtime-web. 32-битный Android требует внешнюю зависимость, которую нельзя установить посредством npm. Для её установки потребуется следующая команда: `pkg install esbuild`. После этого продолжайте установку по общей инструкции. | |
| 32 | ### Ветки | 32 | |
| 33 | 33 | ### Разрабатывается Cohee, RossAscends и всем сообществом SillyTavern | |
| 34 | SillyTavern разрабатывается в двух ветках, чтобы всем категориям пользователей было удобно. | 34 | |
| 35 | 35 | ### Что такое SillyTavern и TavernAI? | |
| 36 | * release -🌟 **Рекомендовано для большинства пользователей.** Самая стабильная ветка, рекомендуем именно её. Обновляется только в момент крупных релизов. Подходит для большей части пользователей. | 36 | |
| 37 | * staging - ⚠️ **Не рекомендуется для повседневного использования.** В этой ветке весь самый свежий и новый функционал, но будьте аккуратны, поскольку сломаться может в любом месте и в любое время. Только для продвинутых пользователей и энтузиастов. | 37 | SillyTavern — это интерфейс, который устанавливается на ПК (и на Android), который даёт возможность общаться с генеративным ИИ и чатиться/ролеплеить с вашими собственными персонажами или персонажами других пользователей. |
| 38 | 38 | ||
| 39 | Если вы не умеете обращаться с git через командную строку, или не знаете, что такое ветка, то не переживайте! Наилучшим вариантом всегда остаётся ветка release. | 39 | SillyTavern — это форк версии TavernAI 1.2.8, который разрабатывается более активно и имеет множество новых функций. Сейчас уже можно сказать, что это две отдельные и абсолютно самостоятельные программы. |
| 40 | 40 | ||
| 41 | ### Что ещё нужно, кроме SillyTavern? | 41 | ## Скриншоты |
| 42 | 42 | ||
| 43 | Сама по себе SillyTavern бесполезна, ведь это просто интерфейс. Вам потребуется доступ к бэкенду с ИИ, который и будет отыгрывать выбранного вами персонажа. Поддерживаются разные виды бэкендов: OpenAPI API (GPT), KoboldAI (локально или на Google Colab), и многое другое. Больше информации в [FAQ](https://docs.sillytavern.app/usage/faq/). | 43 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/9b5f32f0-c3b3-4102-b3f5-0e9213c0f50f"> |
| 44 | 44 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/913fdbaa-7d33-42f1-ae2c-89dca41c53d1"> | |
| 45 | ### Требуется ли для SillyTavern мощный ПК? | 45 | |
| 46 | 46 | ### Ветки | |
| 47 | SillyTavern — это просто интерфейс, поэтому запустить его можно на любой картошке. Мощным должен быть бэкенд с ИИ. | 47 | |
| 48 | 48 | SillyTavern разрабатывается в двух ветках, чтобы всем категориям пользователей было удобно. | |
| 49 | ## Есть вопросы или предложения? | 49 | |
| 50 | 50 | * release -🌟 **Рекомендовано для большинства пользователей.** Самая стабильная ветка, рекомендуем именно её. Обновляется только в момент крупных релизов. Подходит для большей части пользователей. | |
| 51 | ### У нас появился сервер в Discord | 51 | * staging - ⚠️ **Не рекомендуется для повседневного использования.** В этой ветке весь самый свежий и новый функционал, но будьте аккуратны, поскольку сломаться может в любом месте и в любое время. Только для продвинутых пользователей и энтузиастов. |
| 52 | 52 | ||
| 53 | | [![][discord-shield-badge]][discord-link] | [Вступайте в наше Discord-сообщество!](https://discord.gg/sillytavern) Задавайте вопросы, делитесь любимыми персонажами и промптами. | | 53 | Если вы не умеете обращаться с git через командную строку, или не знаете, что такое ветка, то не переживайте! Наилучшим вариантом всегда остаётся ветка release. |
| 54 | | :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | | 54 | |
| 55 | 55 | ### Что ещё нужно, кроме SillyTavern? | |
| 56 | Также можно написать разработчикам напрямую: | 56 | |
| 57 | 57 | Сама по себе SillyTavern бесполезна, ведь это просто интерфейс. Вам потребуется доступ к бэкенду с ИИ, который и будет отыгрывать выбранного вами персонажа. Поддерживаются разные виды бэкендов: OpenAPI API (GPT), KoboldAI (локально или на Google Colab), и многое другое. Больше информации в [FAQ](https://docs.sillytavern.app/usage/faq/). | |
| 58 | * Discord: cohee или rossascends | 58 | |
| 59 | * Reddit: [/u/RossAscends](https://www.reddit.com/user/RossAscends/) или [/u/sillylossy](https://www.reddit.com/user/sillylossy/) | 59 | ### Требуется ли для SillyTavern мощный ПК? |
| 60 | * [Запостить issue на GitHub](https://github.com/SillyTavern/SillyTavern/issues) | 60 | |
| 61 | 61 | SillyTavern — это просто интерфейс, поэтому запустить его можно на любой картошке. Мощным должен быть бэкенд с ИИ. | |
| 62 | ## Эта версия включает | 62 | |
| 63 | 63 | ## Есть вопросы или предложения? | |
| 64 | * Глубоко переработанную TavernAI 1.2.8 (переписано и оптимизировано более 50% кода) | 64 | |
| 65 | * Свайпы | 65 | ### У нас появился сервер в Discord |
| 66 | * Групповые чаты: комнаты для нескольких ботов, где персонажи могут говорить друг с другом и с вами | 66 | |
| 67 | * Чекпоинты и ветки для чатов | 67 | | [![][discord-shield-badge]][discord-link] | [Вступайте в наше Discord-сообщество!](https://discord.gg/sillytavern) Задавайте вопросы, делитесь любимыми персонажами и промптами. | |
| 68 | * Продвинутые настройки для KoboldAI / TextGen со множеством созданных сообществом пресетов | 68 | | :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- | |
| 69 | * Поддержка миров (функция "Информация о мире" / WorldInfo): создавайте свой богатый лор, или экономьте токены для карточек персонажей | 69 | |
| 70 | * Соединение через [OpenRouter](https://openrouter.ai) для разных API (Claude, GPT-4/3.5 и других) | 70 | Также можно написать разработчикам напрямую: |
| 71 | * Соединение с API [Oobabooga's TextGen WebUI](https://github.com/oobabooga/text-generation-webui) | 71 | |
| 72 | * Соединение с [AI Horde](https://horde.koboldai.net/) | 72 | * Discord: cohee или rossascends |
| 73 | * Настройку форматирования промптов | 73 | * Reddit: [/u/RossAscends](https://www.reddit.com/user/RossAscends/) или [/u/sillylossy](https://www.reddit.com/user/sillylossy/) |
| 74 | 74 | * [Запостить issue на GitHub](https://github.com/SillyTavern/SillyTavern/issues) | |
| 75 | ## Расширения | 75 | |
| 76 | 76 | ## Эта версия включает | |
| 77 | SillyTavern поддерживает расширения, при этом некоторые из ИИ-модулей работают через [SillyTavern Extras API](https://github.com/SillyTavern/SillyTavern-extras) | 77 | |
| 78 | 78 | * Глубоко переработанную TavernAI 1.2.8 (переписано и оптимизировано более 50% кода) | |
| 79 | * Заметки автора / Смещение характера | 79 | * Свайпы |
| 80 | * Эмоции для персонажей (спрайты) | 80 | * Групповые чаты: комнаты для нескольких ботов, где персонажи могут говорить друг с другом и с вами |
| 81 | * Автоматический саммарайз (краткий пересказ) истории чата | 81 | * Чекпоинты и ветки для чатов |
| 82 | * Возможность отправить в чат картинку, которую ИИ сможет рассмотреть и понять | 82 | * Продвинутые настройки для KoboldAI / TextGen со множеством созданных сообществом пресетов |
| 83 | * Генерация картинок в Stable Diffusion (5 пресетов для чата, плюс свободный режим) | 83 | * Поддержка миров (функция "Информация о мире" / WorldInfo): создавайте свой богатый лор, или экономьте токены для карточек персонажей |
| 84 | * Text-to-speech для сообщений ИИ (с помощью ElevenLabs, Silero, или родной TTS вашей ОС) | 84 | * Соединение через [OpenRouter](https://openrouter.ai) для разных API (Claude, GPT-4/3.5 и других) |
| 85 | 85 | * Соединение с API [Oobabooga's TextGen WebUI](https://github.com/oobabooga/text-generation-webui) | |
| 86 | Полный список расширений и инструкций к ним можно найти в [документации](https://docs.sillytavern.app/). | 86 | * Соединение с [AI Horde](https://aihorde.net/) |
| 87 | 87 | * Настройку форматирования промптов | |
| 88 | ## Улучшения от RossAscends для UI/CSS/общего удобства | 88 | |
| 89 | 89 | ## Расширения | |
| 90 | * Мобильный интерфейс адаптирован для iOS, добавлена возможность сохранить ярлык на главный экран и открыть приложение в полноэкранном режиме. | 90 | |
| 91 | * Горячие клавиши | 91 | SillyTavern поддерживает расширения. |
| 92 | * Up = Редактировать последнее сообщение в чате | 92 | |
| 93 | * Ctrl+Up = Редактировать ВАШЕ последнее сообщение в чате | 93 | * Эмоции для персонажей (спрайты) |
| 94 | * Left = свайп влево | 94 | * Автоматический саммарайз (краткий пересказ) истории чата |
| 95 | * Right = свайп вправо (ОБРАТИТЕ ВНИМАНИЕ: когда в окне ввода что-то напечатано, клавиши для свайпа не работают) | 95 | * Возможность отправить в чат картинку, которую ИИ сможет рассмотреть и понять |
| 96 | * Ctrl+Left = посмотреть локальные переменные (в консоли браузера) | 96 | * Генерация картинок в Stable Diffusion (5 пресетов для чата, плюс свободный режим) |
| 97 | * Enter (при нахождении внутри окна ввода) = отправить ваше сообщение ИИ | 97 | * Text-to-speech для сообщений ИИ (с помощью ElevenLabs, Silero, или родной TTS вашей ОС) |
| 98 | * Ctrl+Enter = Повторная генерация последнего ответа ИИ | 98 | |
| 99 | 99 | Полный список расширений и инструкций к ним можно найти в [документации](https://docs.sillytavern.app/). | |
| 100 | * Страница больше не перезагружается при смене имени пользователя или удалении персонажа | 100 | |
| 101 | 101 | ## Улучшения от RossAscends для UI/CSS/общего удобства | |
| 102 | * Отключаемая возможность автоматически соединяться с API при загрузке страницы. | 102 | |
| 103 | * Отключаемая возможность автоматически загружать последнего открытого персонажа при загрузке страницы. | 103 | * Мобильный интерфейс адаптирован для iOS, добавлена возможность сохранить ярлык на главный экран и открыть приложение в полноэкранном режиме. |
| 104 | * Улучшенный счётчик токенов - работает с несохранёнными персонажами, отображает и перманентные, и временные токены | 104 | * Горячие клавиши |
| 105 | 105 | * Up = Редактировать последнее сообщение в чате | |
| 106 | * Улучшенный менеджер чатов | 106 | * Ctrl+Up = Редактировать ВАШЕ последнее сообщение в чате |
| 107 | * Файлы с новыми чатами получают читабельные названия вида "(персонаж) - (когда создано)" | 107 | * Left = свайп влево |
| 108 | * Увеличен размер превью чата с 40 символов до 300. | 108 | * Right = свайп вправо (ОБРАТИТЕ ВНИМАНИЕ: когда в окне ввода что-то напечатано, клавиши для свайпа не работают) |
| 109 | * Несколько вариантов сортировки списка персонажей (по имени, дате создания, размеру чата). | 109 | * Ctrl+Left = посмотреть локальные переменные (в консоли браузера) |
| 110 | 110 | * Enter (при нахождении внутри окна ввода) = отправить ваше сообщение ИИ | |
| 111 | * Панели настроек слева и справа автоматически скрываются, если щёлкнуть за их пределы. | 111 | * Ctrl+Enter = Повторная генерация последнего ответа ИИ |
| 112 | * При нажатии на значок замка навигационная панель будет закреплена на экране, и эта настройка сохранится между сессиями | 112 | |
| 113 | * Сам статус панели (открыта или закрыта) также сохраняется между сессиями | 113 | * Страница больше не перезагружается при смене имени пользователя или удалении персонажа |
| 114 | 114 | ||
| 115 | * Кастомизируемый интерфейс чата: | 115 | * Отключаемая возможность автоматически соединяться с API при загрузке страницы. |
| 116 | * Настройте звук при получении нового ответа | 116 | * Отключаемая возможность автоматически загружать последнего открытого персонажа при загрузке страницы. |
| 117 | * Переключайтесь между круглыми и прямоугольными аватарками | 117 | * Улучшенный счётчик токенов - работает с несохранёнными персонажами, отображает и перманентные, и временные токены |
| 118 | * Увеличенное вширь окно чата для стационарных ПК | 118 | |
| 119 | * Возможность включать полупрозрачные панели, стилизованные под стекло | 119 | * Улучшенный менеджер чатов |
| 120 | * Настраиваемые цвета для обычного текста, курсива, цитат | 120 | * Файлы с новыми чатами получают читабельные названия вида "(персонаж) - (когда создано)" |
| 121 | * Настраиваемый цвет фона и интенсивность размытия | 121 | * Увеличен размер превью чата с 40 символов до 300. |
| 122 | 122 | * Несколько вариантов сортировки списка персонажей (по имени, дате создания, размеру чата). | |
| 123 | # ⌛ Установка | 123 | |
| 124 | 124 | * Панели настроек слева и справа автоматически скрываются, если щёлкнуть за их пределы. | |
| 125 | > **Внимание!** | 125 | * При нажатии на значок замка навигационная панель будет закреплена на экране, и эта настройка сохранится между сессиями |
| 126 | > * НЕ УСТАНАВЛИВАЙТЕ В ПАПКИ, КОТОРЫЕ КОНТРОЛИРУЕТ WINDOWS (Program Files, System32 и т.п.). | 126 | * Сам статус панели (открыта или закрыта) также сохраняется между сессиями |
| 127 | > * НЕ ЗАПУСКАЙТЕ START.BAT С ПРАВАМИ АДМИНИСТРАТОРА | 127 | |
| 128 | > * УСТАНОВКА НА WINDOWS 7 НЕВОЗМОЖНА ИЗ-ЗА ОТСУТСТВИЯ NODEJS 18.16 | 128 | * Кастомизируемый интерфейс чата: |
| 129 | 129 | * Настройте звук при получении нового ответа | |
| 130 | ## 🪟 Windows | 130 | * Переключайтесь между круглыми и прямоугольными аватарками |
| 131 | 131 | * Увеличенное вширь окно чата для стационарных ПК | |
| 132 | ## Установка через Git | 132 | * Возможность включать полупрозрачные панели, стилизованные под стекло |
| 133 | 1. Установите [NodeJS](https://nodejs.org/en) (рекомендуется последняя LTS-версия) | 133 | * Настраиваемые цвета для обычного текста, курсива, цитат |
| 134 | 2. Установите [Git for Windows](https://gitforwindows.org/) | 134 | * Настраиваемый цвет фона и интенсивность размытия |
| 135 | 3. Откройте Проводник (`Win+E`) | 135 | |
| 136 | 4. Перейдите в папку, которую не контролирует Windows, или создайте её. (пример: C:\MySpecialFolder\) | 136 | # ⌛ Установка |
| 137 | 5. Откройте командную строку. Для этого нажмите на адресную строку (сверху), введите `cmd` и нажмите Enter. | 137 | |
| 138 | 6. Когда появится чёрное окошко (командная строка), введите ОДНУ из перечисленных ниже команд: | 138 | > **Внимание!** |
| 139 | 139 | > * НЕ УСТАНАВЛИВАЙТЕ В ПАПКИ, КОТОРЫЕ КОНТРОЛИРУЕТ WINDOWS (Program Files, System32 и т.п.). | |
| 140 | - для ветки release: `git clone https://github.com/SillyTavern/SillyTavern -b release` | 140 | > * НЕ ЗАПУСКАЙТЕ START.BAT С ПРАВАМИ АДМИНИСТРАТОРА |
| 141 | - для ветки staging: `git clone https://github.com/SillyTavern/SillyTavern -b staging` | 141 | > * УСТАНОВКА НА WINDOWS 7 НЕВОЗМОЖНА ИЗ-ЗА ОТСУТСТВИЯ NODEJS 18.16 |
| 142 | 142 | ||
| 143 | 7. Когда клонирование закончится, дважды щёлкните по `Start.bat`, чтобы установить зависимости для NodeJS. | 143 | ## 🪟 Windows |
| 144 | 8. После этого сервер запустится, и SillyTavern откроется в вашем браузере. | 144 | |
| 145 | 145 | ## Установка через Git | |
| 146 | ## Установка с помощью SillyTavern Launcher | 146 | 1. Установите [NodeJS](https://nodejs.org/en) (рекомендуется последняя LTS-версия) |
| 147 | 1. Установите [Git for Windows](https://gitforwindows.org/) | 147 | 2. Установите [Git for Windows](https://gitforwindows.org/) |
| 148 | 2. Откройте Проводник (`Win+E`) и создайте или выберите папку, в которую будет установлен лаунчер | 148 | 3. Откройте Проводник (`Win+E`) |
| 149 | 3. Откройте командную строку. Для этого нажмите на адресную строку (сверху), введите `cmd` и нажмите Enter. | 149 | 4. Перейдите в папку, которую не контролирует Windows, или создайте её. (пример: C:\MySpecialFolder\) |
| 150 | 4. Когда появится чёрное окошко, введите следующую команду: `git clone https://github.com/SillyTavern/SillyTavern-Launcher.git` | 150 | 5. Откройте командную строку. Для этого нажмите на адресную строку (сверху), введите `cmd` и нажмите Enter. |
| 151 | 5. Дважды щёлкните по `installer.bat` и выберите, что именно хотите установить | 151 | 6. Когда появится чёрное окошко (командная строка), введите ОДНУ из перечисленных ниже команд: |
| 152 | 6. После завершения установки дважды щёлкните по `launcher.bat` | 152 | |
| 153 | 153 | - для ветки release: `git clone https://github.com/SillyTavern/SillyTavern -b release` | |
| 154 | ## Установка с помощью GitHub Desktop | 154 | - для ветки staging: `git clone https://github.com/SillyTavern/SillyTavern -b staging` |
| 155 | (Тут речь про git **только** в рамках GitHub Desktop, если хотите использовать `git` в командной строке, вам также понадобится [Git for Windows](https://gitforwindows.org/)) | 155 | |
| 156 | 1. Установите [NodeJS](https://nodejs.org/en) (latest LTS version is recommended) | 156 | 7. Когда клонирование закончится, дважды щёлкните по `Start.bat`, чтобы установить зависимости для NodeJS. |
| 157 | 2. Установите [GitHub Desktop](https://central.github.com/deployments/desktop/desktop/latest/win32) | 157 | 8. После этого сервер запустится, и SillyTavern откроется в вашем браузере. |
| 158 | 3. После завершения установки GitHub Desktop, нажмите `Clone a repository from the internet....` (обратите внимание: для этого шага **НЕ требуется** аккаунт на GitHub) | 158 | |
| 159 | 4. В меню перейдите на вкладку URL, введите адрес `https://github.com/SillyTavern/SillyTavern`, и нажмите Clone. В поле Local path можно изменить директорию, в которую будет загружена SillyTavern. | 159 | ## Установка с помощью SillyTavern Launcher |
| 160 | 6. Чтобы запустить SillyTavern, откройте Проводник и перейдите в выбранную на предыдущем шаге папку. По умолчанию репозиторий будет склонирован сюда: `C:\Users\[Имя пользователя]\Documents\GitHub\SillyTavern` | 160 | 1. Установите [Git for Windows](https://gitforwindows.org/) |
| 161 | 7. Дважды щёлкните по файлу `start.bat`. (обратите внимание: окончание `.bat` может быть скрыто настройками вашей ОС. Таким образом, имя файла будет выглядеть как "`Start`". Дважды щёлкните по нему, чтобы запустить SillyTavern) | 161 | 2. Откройте Проводник (`Win+E`) и создайте или выберите папку, в которую будет установлен лаунчер |
| 162 | 8. После того, как вы дважды щёлкнули по файлу, должно открыться чёрное окошко, и SillyTavern начнёт устанавливать свои зависимости. | 162 | 3. Откройте командную строку. Для этого нажмите на адресную строку (сверху), введите `cmd` и нажмите Enter. |
| 163 | 9. Если установка прошла успешно, то в командной строке будет вот такое, а в браузере откроется вкладка с SillyTavern: | 163 | 4. Когда появится чёрное окошко, введите следующую команду: `git clone https://github.com/SillyTavern/SillyTavern-Launcher.git` |
| 164 | 10. Подключайтесь к любому из [поддерживаемых API](https://docs.sillytavern.app/usage/api-connections/) и начинайте переписку! | 164 | 5. Дважды щёлкните по `installer.bat` и выберите, что именно хотите установить |
| 165 | 165 | 6. После завершения установки дважды щёлкните по `launcher.bat` | |
| 166 | ## 🐧 Linux и 🍎 MacOS | 166 | |
| 167 | 167 | ## Установка с помощью GitHub Desktop | |
| 168 | В MacOS и Linux всё это делается через Терминал. | 168 | (Тут речь про git **только** в рамках GitHub Desktop, если хотите использовать `git` в командной строке, вам также понадобится [Git for Windows](https://gitforwindows.org/)) |
| 169 | 169 | 1. Установите [NodeJS](https://nodejs.org/en) (latest LTS version is recommended) | |
| 170 | 1. Установите git и nodeJS (как именно - зависит от вашей ОС) | 170 | 2. Установите [GitHub Desktop](https://central.github.com/deployments/desktop/desktop/latest/win32) |
| 171 | 2. Клонируйте репозиторий | 171 | 3. После завершения установки GitHub Desktop, нажмите `Clone a repository from the internet....` (обратите внимание: для этого шага **НЕ требуется** аккаунт на GitHub) |
| 172 | 172 | 4. В меню перейдите на вкладку URL, введите адрес `https://github.com/SillyTavern/SillyTavern`, и нажмите Clone. В поле Local path можно изменить директорию, в которую будет загружена SillyTavern. | |
| 173 | - для ветки release: `git clone https://github.com/SillyTavern/SillyTavern -b release` | 173 | 6. Чтобы запустить SillyTavern, откройте Проводник и перейдите в выбранную на предыдущем шаге папку. По умолчанию репозиторий будет склонирован сюда: `C:\Users\[Имя пользователя]\Documents\GitHub\SillyTavern` |
| 174 | - для ветки staging: `git clone https://github.com/SillyTavern/SillyTavern -b staging` | 174 | 7. Дважды щёлкните по файлу `start.bat`. (обратите внимание: окончание `.bat` может быть скрыто настройками вашей ОС. Таким образом, имя файла будет выглядеть как "`Start`". Дважды щёлкните по нему, чтобы запустить SillyTavern) |
| 175 | 175 | 8. После того, как вы дважды щёлкнули по файлу, должно открыться чёрное окошко, и SillyTavern начнёт устанавливать свои зависимости. | |
| 176 | 3. Перейдите в папку установки с помощью `cd SillyTavern`. | 176 | 9. Если установка прошла успешно, то в командной строке будет вот такое, а в браузере откроется вкладка с SillyTavern: |
| 177 | 4. Запустите скрипт `start.sh` с помощью одной из команд: | 177 | 10. Подключайтесь к любому из [поддерживаемых API](https://docs.sillytavern.app/usage/api-connections/) и начинайте переписку! |
| 178 | 178 | ||
| 179 | - `./start.sh` | 179 | ## 🐧 Linux и 🍎 MacOS |
| 180 | - `bash start.sh` | 180 | |
| 181 | 181 | В MacOS и Linux всё это делается через Терминал. | |
| 182 | ## Установка с помощью SillyTavern Launcher | 182 | |
| 183 | 183 | 1. Установите git и nodeJS (как именно - зависит от вашей ОС) | |
| 184 | ### Для пользователей Linux | 184 | 2. Клонируйте репозиторий |
| 185 | 1. Откройте любимый терминал и установите git | 185 | |
| 186 | 2. Загрузите Sillytavern Launcher с помощью команды: `git clone https://github.com/SillyTavern/SillyTavern-Launcher.git` | 186 | - для ветки release: `git clone https://github.com/SillyTavern/SillyTavern -b release` |
| 187 | 3. Перейдите в SillyTavern-Launcher: `cd SillyTavern-Launcher` | 187 | - для ветки staging: `git clone https://github.com/SillyTavern/SillyTavern -b staging` |
| 188 | 4. Запустите лаунчер установки: `chmod +x install.sh && ./install.sh`, затем выберите, что конкретно хотите установить | 188 | |
| 189 | 5. После завершения установки, запустите лаунчер следующей командой: `chmod +x launcher.sh && ./launcher.sh` | 189 | 3. Перейдите в папку установки с помощью `cd SillyTavern`. |
| 190 | 190 | 4. Запустите скрипт `start.sh` с помощью одной из команд: | |
| 191 | ### Для пользователей Mac | 191 | |
| 192 | 1. Откройте терминал и установите brew: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` | 192 | - `./start.sh` |
| 193 | 2. Затем установите git: `brew install git` | 193 | - `bash start.sh` |
| 194 | 3. Загрузите Sillytavern Launcher: `git clone https://github.com/SillyTavern/SillyTavern-Launcher.git` | 194 | |
| 195 | 4. Перейдите в SillyTavern-Launcher: `cd SillyTavern-Launcher` | 195 | ## Установка с помощью SillyTavern Launcher |
| 196 | 5. Запустите лаунчер установки: `chmod +x install.sh && ./install.sh` and choose what you wanna install | 196 | |
| 197 | 6. После завершения установки, запустите лаунчер следующей командой: `chmod +x launcher.sh && ./launcher.sh` | 197 | ### Для пользователей Linux |
| 198 | 198 | 1. Откройте любимый терминал и установите git | |
| 199 | ## 📱 Мобильные устройства - Установка при помощи termux | 199 | 2. Загрузите Sillytavern Launcher с помощью команды: `git clone https://github.com/SillyTavern/SillyTavern-Launcher.git` |
| 200 | 200 | 3. Перейдите в SillyTavern-Launcher: `cd SillyTavern-Launcher` | |
| 201 | > **ОБРАТИТЕ ВНИМАНИЕ!** | 201 | 4. Запустите лаунчер установки: `chmod +x install.sh && ./install.sh`, затем выберите, что конкретно хотите установить |
| 202 | > | 202 | 5. После завершения установки, запустите лаунчер следующей командой: `chmod +x launcher.sh && ./launcher.sh` |
| 203 | > **На Android-телефонах SillyTavern можно запускать нативно посредством Termux. Обратитесь к гайду, написанному ArroganceComplex#2659:** | 203 | |
| 204 | > | 204 | ### Для пользователей Mac |
| 205 | > * <https://rentry.org/STAI-Termux> | 205 | 1. Откройте терминал и установите brew: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` |
| 206 | 206 | 2. Затем установите git: `brew install git` | |
| 207 | 207 | 3. Загрузите Sillytavern Launcher: `git clone https://github.com/SillyTavern/SillyTavern-Launcher.git` | |
| 208 | ## Управление ключами от API | 208 | 4. Перейдите в SillyTavern-Launcher: `cd SillyTavern-Launcher` |
| 209 | 209 | 5. Запустите лаунчер установки: `chmod +x install.sh && ./install.sh` and choose what you wanna install | |
| 210 | SillyTavern сохраняет ключи от ваших API в файле `secrets.json` в папке на сервере. | 210 | 6. После завершения установки, запустите лаунчер следующей командой: `chmod +x launcher.sh && ./launcher.sh` |
| 211 | 211 | ||
| 212 | По умолчанию, ключи не будут отображаться на фронте после их ввода и перезагрузки страницы. | 212 | ## 📱 Мобильные устройства - Установка при помощи termux |
| 213 | 213 | ||
| 214 | Чтобы включить возможность отображения ключей путём нажатия кнопки в блоке API: | 214 | > **ОБРАТИТЕ ВНИМАНИЕ!** |
| 215 | 215 | > | |
| 216 | 1. Зайдите в файл `config.yaml` и установите `allowKeysExposure` в положение `true`. | 216 | > **На Android-телефонах SillyTavern можно запускать нативно посредством Termux. Обратитесь к гайду, написанному ArroganceComplex#2659:** |
| 217 | 2. Перезапустите сервер SillyTavern. | 217 | > |
| 218 | 218 | > * <https://rentry.org/STAI-Termux> | |
| 219 | ## Удалённое подключение | 219 | |
| 220 | 220 | ||
| 221 | В основном этим пользуются тогда, когда хотят использовать SillyTavern с телефона, запустив сервер SillyTavern на стационарном ПК в той же Wi-Fi-сети. | 221 | ## Управление ключами от API |
| 222 | 222 | ||
| 223 | Однако это позволит подключаться откуда угодно, а не только вам. | 223 | SillyTavern сохраняет ключи от ваших API в файле `secrets.json` в папке на сервере. |
| 224 | 224 | ||
| 225 | **ВАЖНО: в SillyTavern не предусмотрена возможность использования программы несколькими людьми. Поэтому любой, кто подключится к вашему серверу, получит доступ ко всем вашим персонажам и чатам, а также сможет менять настройки через UI.** | 225 | По умолчанию, ключи не будут отображаться на фронте после их ввода и перезагрузки страницы. |
| 226 | 226 | ||
| 227 | ### 1. Заведение "белого списка" IP-адресов | 227 | Чтобы включить возможность отображения ключей путём нажатия кнопки в блоке API: |
| 228 | 228 | ||
| 229 | * Создайте в корневой папке SillyTavern файл с названием `whitelist.txt`. | 229 | 1. Зайдите в файл `config.yaml` и установите `allowKeysExposure` в положение `true`. |
| 230 | * Откройте файл в текстовом редакторе и внесите список IP-адресов, с которых хотите разрешить подключение. | 230 | 2. Перезапустите сервер SillyTavern. |
| 231 | 231 | ||
| 232 | *Принимаются как обычные IP-адреса, так и целые диапазоны, размеченные с помощью астериска. Примеры:* | 232 | ## Удалённое подключение |
| 233 | 233 | ||
| 234 | ```txt | 234 | В основном этим пользуются тогда, когда хотят использовать SillyTavern с телефона, запустив сервер SillyTavern на стационарном ПК в той же Wi-Fi-сети. |
| 235 | 192.168.0.1 | 235 | |
| 236 | 192.168.0.20 | 236 | Однако это позволит подключаться откуда угодно, а не только вам. |
| 237 | ``` | 237 | |
| 238 | 238 | **ВАЖНО: в SillyTavern не предусмотрена возможность использования программы несколькими людьми. Поэтому любой, кто подключится к вашему серверу, получит доступ ко всем вашим персонажам и чатам, а также сможет менять настройки через UI.** | |
| 239 | или | 239 | |
| 240 | 240 | ### 1. Заведение "белого списка" IP-адресов | |
| 241 | ```txt | 241 | |
| 242 | 192.168.0.* | 242 | * Создайте в корневой папке SillyTavern файл с названием `whitelist.txt`. |
| 243 | ``` | 243 | * Откройте файл в текстовом редакторе и внесите список IP-адресов, с которых хотите разрешить подключение. |
| 244 | 244 | ||
| 245 | (диапазон из примера сверху позволит подключаться всем устройствам в локальной сети) | 245 | *Принимаются как обычные IP-адреса, так и целые диапазоны, размеченные с помощью астериска. Примеры:* |
| 246 | 246 | ||
| 247 | Также принимаются маски CIDR (вида 10.0.0.0/24). | 247 | ```txt |
| 248 | 248 | 192.168.0.1 | |
| 249 | * Сохраните файл `whitelist.txt`. | 249 | 192.168.0.20 |
| 250 | * Перезапустите сервер ST. | 250 | ``` |
| 251 | 251 | ||
| 252 | После этого устройства из белого списка смогут подключаться к вашему серверу. | 252 | или |
| 253 | 253 | ||
| 254 | *Обратите внимание: в файле `config.yaml` также имеется массив `whitelist`, который работает по тому же принципу. Однако если существует файл `whitelist.txt`, то этот массив игнорируется.* | 254 | ```txt |
| 255 | 255 | 192.168.0.* | |
| 256 | ### 2. Получение IP хост-машины с ST | 256 | ``` |
| 257 | 257 | ||
| 258 | После настройки белого списка адресов, следующим шагом будет получение IP-адреса хост-машины, на которой запущена SillyTavern. | 258 | (диапазон из примера сверху позволит подключаться всем устройствам в локальной сети) |
| 259 | 259 | ||
| 260 | Если хост-машина находится в той же Wi-Fi-сети, то можно воспользоваться её внутренним Wi-Fi-IP-адресом: | 260 | Также принимаются маски CIDR (вида 10.0.0.0/24). |
| 261 | 261 | ||
| 262 | * На Windows: нажмите Пуск > введите `cmd.exe` в поиске > в консоли введите команду `ipconfig` и нажмите Enter > найдите пункт `IPv4-адрес`. | 262 | * Сохраните файл `whitelist.txt`. |
| 263 | 263 | * Перезапустите сервер ST. | |
| 264 | Если вы (или кто-то другой) хотите подключаться к хост-машине из другой сети, то вам понадобится ваш публичный IP-адрес. | 264 | |
| 265 | 265 | После этого устройства из белого списка смогут подключаться к вашему серверу. | |
| 266 | * Откройте [эту страницу](https://whatismyipaddress.com/) с вашей хост-машины и найдите пункт `IPv4`. На этот адрес и будет подключаться удалённое устройство. | 266 | |
| 267 | 267 | *Обратите внимание: в файле `config.yaml` также имеется массив `whitelist`, который работает по тому же принципу. Однако если существует файл `whitelist.txt`, то этот массив игнорируется.* | |
| 268 | ### 3. Соединить удалённое устройство с хост-машиной ST | 268 | |
| 269 | 269 | ### 2. Получение IP хост-машины с ST | |
| 270 | Какой бы IP-адрес вы ни выбрали, вам нужно будет вводить его в адресной строке браузера вашего удалённого устройства. | 270 | |
| 271 | 271 | После настройки белого списка адресов, следующим шагом будет получение IP-адреса хост-машины, на которой запущена SillyTavern. | |
| 272 | Обычный адрес хост-машины, находящейся в той же Wi-Fi-сети, выглядит примерно так: | 272 | |
| 273 | 273 | Если хост-машина находится в той же Wi-Fi-сети, то можно воспользоваться её внутренним Wi-Fi-IP-адресом: | |
| 274 | `http://192.168.0.5:8000` | 274 | |
| 275 | 275 | * На Windows: нажмите Пуск > введите `cmd.exe` в поиске > в консоли введите команду `ipconfig` и нажмите Enter > найдите пункт `IPv4-адрес`. | |
| 276 | НЕ используйте https:// | 276 | |
| 277 | Только http:// | 277 | Если вы (или кто-то другой) хотите подключаться к хост-машине из другой сети, то вам понадобится ваш публичный IP-адрес. |
| 278 | 278 | ||
| 279 | ### Открытие доступа до ST для всех IP-адресов | 279 | * Откройте [эту страницу](https://whatismyipaddress.com/) с вашей хост-машины и найдите пункт `IPv4`. На этот адрес и будет подключаться удалённое устройство. |
| 280 | 280 | ||
| 281 | Мы не рекомендуем так делать, но вы можете открыть файл `config.yaml` и изменить `whitelistMode` на `false`. | 281 | ### 3. Соединить удалённое устройство с хост-машиной ST |
| 282 | 282 | ||
| 283 | Обязательно нужно удалить (или переименовать) файл `whitelist.txt`, если такой файл есть в корневой директории SillyTavern. | 283 | Какой бы IP-адрес вы ни выбрали, вам нужно будет вводить его в адресной строке браузера вашего удалённого устройства. |
| 284 | 284 | ||
| 285 | Эта практика считается небезопасной, поэтому, если вы решите так сделать, мы попросим вас установить логин и пароль. | 285 | Обычный адрес хост-машины, находящейся в той же Wi-Fi-сети, выглядит примерно так: |
| 286 | 286 | ||
| 287 | Оба этих параметра настраиваются в `config.yaml` (username и password). | 287 | `http://192.168.0.5:8000` |
| 288 | 288 | ||
| 289 | Останется только перезапустить сервер ST, и после этого к вам сможет подключиться любой пользователь вне зависимости от IP-адреса его устройства. Главное, чтобы он знал логин и пароль. | 289 | НЕ используйте https:// |
| 290 | 290 | Только http:// | |
| 291 | ### Не получается соединиться? | 291 | |
| 292 | 292 | ### Открытие доступа до ST для всех IP-адресов | |
| 293 | * Создайте входящее/исходящее правило в вашем фаерволле для порта, указанного в `config.yaml`. НЕ ПУТАЙТЕ этот процесс с пробросом портов на роутере. Если по ошибке перепутаете, то на ваш сервер сможет забраться посторонний человек и украсть ваши логи, этого следует избегать. | 293 | |
| 294 | * Переключите Сетевой профиль на значение "Частные". Для этого зайдите в Параметры > Сеть и Интернет > Ethernet. КРАЙНЕ важно для Windows 11, без этого не получится подключиться даже с правилом фаервола. | 294 | Мы не рекомендуем так делать, но вы можете открыть файл `config.yaml` и изменить `whitelistMode` на `false`. |
| 295 | 295 | ||
| 296 | ## Проблемы с производительностью? | 296 | Обязательно нужно удалить (или переименовать) файл `whitelist.txt`, если такой файл есть в корневой директории SillyTavern. |
| 297 | 297 | ||
| 298 | Попробуйте включить опцию "Отключить эффект размытия" в меню "Пользовательские настройки". | 298 | Эта практика считается небезопасной, поэтому, если вы решите так сделать, мы попросим вас установить логин и пароль. |
| 299 | 299 | ||
| 300 | ## Нравится ваш проект! Как помочь? | 300 | Оба этих параметра настраиваются в `config.yaml` (username и password). |
| 301 | 301 | ||
| 302 | ### ЧТО ДЕЛАТЬ | 302 | Останется только перезапустить сервер ST, и после этого к вам сможет подключиться любой пользователь вне зависимости от IP-адреса его устройства. Главное, чтобы он знал логин и пароль. |
| 303 | 303 | ||
| 304 | 1. Присылайте пулл реквесты | 304 | ### Не получается соединиться? |
| 305 | 2. Присылайте идеи и баг-репорты, оформленные по установленным шаблонам | 305 | |
| 306 | 3. Прежде чем задавать вопросы, прочтите readme и документацию | 306 | * Создайте входящее/исходящее правило в вашем фаерволле для порта, указанного в `config.yaml`. НЕ ПУТАЙТЕ этот процесс с пробросом портов на роутере. Если по ошибке перепутаете, то на ваш сервер сможет забраться посторонний человек и украсть ваши логи, этого следует избегать. |
| 307 | 307 | * Переключите Сетевой профиль на значение "Частные". Для этого зайдите в Параметры > Сеть и Интернет > Ethernet. КРАЙНЕ важно для Windows 11, без этого не получится подключиться даже с правилом фаервола. | |
| 308 | ### ЧЕГО НЕ ДЕЛАТЬ | 308 | |
| 309 | 309 | ## Проблемы с производительностью? | |
| 310 | 1. Предлагать донаты | 310 | |
| 311 | 2. Присылать баг-репорты безо всякого контекста | 311 | Попробуйте включить опцию "Отключить эффект размытия" в меню "Пользовательские настройки". |
| 312 | 3. Задавать вопросы, на которые уже отвечали | 312 | |
| 313 | 313 | ## Нравится ваш проект! Как помочь? | |
| 314 | ## Где найти старые фоны? | 314 | |
| 315 | 315 | ### ЧТО ДЕЛАТЬ | |
| 316 | Мы двигаемся в сторону 100% уникальности всего используемого контента, поэтому старые фоны были убраны из репозитория. | 316 | |
| 317 | 317 | 1. Присылайте пулл реквесты | |
| 318 | Они отправлены в архив, скачать их можно здесь: | 318 | 2. Присылайте идеи и баг-репорты, оформленные по установленным шаблонам |
| 319 | 319 | 3. Прежде чем задавать вопросы, прочтите readme и документацию | |
| 320 | <https://files.catbox.moe/1xevnc.zip> | 320 | |
| 321 | 321 | ### ЧЕГО НЕ ДЕЛАТЬ | |
| 322 | 322 | ||
| 323 | 323 | 1. Предлагать донаты | |
| 324 | 324 | 2. Присылать баг-репорты безо всякого контекста | |
| 325 | ## Авторы и лицензии | 325 | 3. Задавать вопросы, на которые уже отвечали |
| 326 | 326 | ||
| 327 | **Мы надеемся, что эта программа принесёт людям пользу, | 327 | ## Где найти старые фоны? |
| 328 | но мы не даём НИКАКИХ ГАРАНТИЙ; мы ни в коем случае не гарантируем того, | 328 | |
| 329 | что программа СООТВЕТСТВУЕТ КАКИМ-ЛИБО КРИТЕРИЯМ или ПРИГОДНА ДЛЯ КАКОЙ-ЛИБО ЦЕЛИ. | 329 | Мы двигаемся в сторону 100% уникальности всего используемого контента, поэтому старые фоны были убраны из репозитория. |
| 330 | Подробнее можно узнать в GNU Affero General Public License.** | 330 | |
| 331 | 331 | Они отправлены в архив, скачать их можно здесь: | |
| 332 | * Базовая TAI от Humi: Лицензия неизвестна | 332 | |
| 333 | * Модификации от Cohee и производная кодовая база: AGPL v3 | 333 | <https://files.catbox.moe/1xevnc.zip> |
| 334 | * Дополнения RossAscends: AGPL v3 | 334 | |
| 335 | * Кусочки TavernAITurbo мода от CncAnon: Лицензия неизвестна | 335 | |
| 336 | * Различные коммиты и предложения от kingbri (<https://github.com/bdashore3>) | 336 | |
| 337 | * Расширения и внедрение разного рода удобств - city_unit (<https://github.com/city-unit>) | 337 | |
| 338 | * Различные коммиты и баг-репорты от StefanDanielSchwarz (<https://github.com/StefanDanielSchwarz>) | 338 | ## Авторы и лицензии |
| 339 | * Режим Вайфу вдохновлён работой PepperTaco (<https://github.com/peppertaco/Tavern/>) | 339 | |
| 340 | * Благодарность Pygmalion University за прекрасную работу по тестированию и за все предлагаемые крутые фичи! | 340 | **Мы надеемся, что эта программа принесёт людям пользу, |
| 341 | * Благодарность oobabooga за компиляцию пресетов для TextGen | 341 | но мы не даём НИКАКИХ ГАРАНТИЙ; мы ни в коем случае не гарантируем того, |
| 342 | * Пресеты для KoboldAI из KAI Lite: <https://lite.koboldai.net/> | 342 | что программа СООТВЕТСТВУЕТ КАКИМ-ЛИБО КРИТЕРИЯМ или ПРИГОДНА ДЛЯ КАКОЙ-ЛИБО ЦЕЛИ. |
| 343 | * Шрифт Noto Sans от Google (OFL license) | 343 | Подробнее можно узнать в GNU Affero General Public License.** |
| 344 | * Тема Font Awesome <https://fontawesome.com> (Иконки: CC BY 4.0, Шрифты: SIL OFL 1.1, Код: MIT License) | 344 | |
| 345 | * Клиентская библиотека для AI Horde от ZeldaFan0225: <https://github.com/ZeldaFan0225/ai_horde> | 345 | * Базовая TAI от Humi: Лицензия неизвестна |
| 346 | * Пусковой скрипт для Linux от AlpinDale | 346 | * Модификации от Cohee и производная кодовая база: AGPL v3 |
| 347 | * Благодарность paniphons за оформление документа с FAQ | 347 | * Дополнения RossAscends: AGPL v3 |
| 348 | * Фон в честь 10 тысяч пользователей в Discord от @kallmeflocc | 348 | * Кусочки TavernAITurbo мода от CncAnon: Лицензия неизвестна |
| 349 | * Стандартный контент (персонажи и лорбуки) предоставлен пользователями @OtisAlejandro, @RossAscends и @kallmeflocc | 349 | * Различные коммиты и предложения от kingbri (<https://github.com/bdashore3>) |
| 350 | * Корейский перевод от @doloroushyeonse | 350 | * Расширения и внедрение разного рода удобств - city_unit (<https://github.com/city-unit>) |
| 351 | * Поддержка k_euler_a для Horde от <https://github.com/Teashrock> | 351 | * Различные коммиты и баг-репорты от StefanDanielSchwarz (<https://github.com/StefanDanielSchwarz>) |
| 352 | * Китайский перевод от [@XXpE3](https://github.com/XXpE3), 中文 ISSUES 可以联系 @XXpE3 | 352 | * Режим Вайфу вдохновлён работой PepperTaco (<https://github.com/peppertaco/Tavern/>) |
| 353 | 353 | * Благодарность Pygmalion University за прекрасную работу по тестированию и за все предлагаемые крутые фичи! | |
| 354 | <!-- LINK GROUP --> | 354 | * Благодарность oobabooga за компиляцию пресетов для TextGen |
| 355 | [back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square | 355 | * Пресеты для KoboldAI из KAI Lite: <https://lite.koboldai.net/> |
| 356 | [cover]: https://github.com/SillyTavern/SillyTavern/assets/18619528/c2be4c3f-aada-4f64-87a3-ae35a68b61a4 | 356 | * Шрифт Noto Sans от Google (OFL license) |
| 357 | [discord-link]: https://discord.gg/sillytavern | 357 | * Тема Font Awesome <https://fontawesome.com> (Иконки: CC BY 4.0, Шрифты: SIL OFL 1.1, Код: MIT License) |
| 358 | [discord-shield]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square | 358 | * Клиентская библиотека для AI Horde от ZeldaFan0225: <https://github.com/ZeldaFan0225/ai_horde> |
| 359 | [discord-shield-badge]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge | 359 | * Пусковой скрипт для Linux от AlpinDale |
| 360 | * Благодарность paniphons за оформление документа с FAQ | ||
| 361 | * Фон в честь 10 тысяч пользователей в Discord от @kallmeflocc | ||
| 362 | * Стандартный контент (персонажи и лорбуки) предоставлен пользователями @OtisAlejandro, @RossAscends и @kallmeflocc | ||
| 363 | * Корейский перевод от @doloroushyeonse | ||
| 364 | * Поддержка k_euler_a для Horde от <https://github.com/Teashrock> | ||
| 365 | * Китайский перевод от [@XXpE3](https://github.com/XXpE3), 中文 ISSUES 可以联系 @XXpE3 | ||
| 366 | |||
| 367 | <!-- LINK GROUP --> | ||
| 368 | [back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square | ||
| 369 | [cover]: https://github.com/user-attachments/assets/01a6ae9a-16aa-45f2-8bff-32b5dc587e44 | ||
| 370 | [discord-link]: https://discord.gg/sillytavern | ||
| 371 | [discord-shield]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square | ||
| 372 | [discord-shield-badge]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge | ||
| @@ -1,6 +1,20 @@ | |||
| 1 | > [!IMPORTANT] | ||
| 2 | > 这里的信息可能已经过时或不完整,仅供您参考。请使用英文版本获取最新信息。 | ||
| 3 | |||
| 4 | ![][cover] | ||
| 5 | |||
| 6 | <div align="center"> | ||
| 7 | |||
| 1 | [English](readme.md) | 中文 | [日本語](readme-ja_jp.md) | [Русский](readme-ru_ru.md) | 8 | [English](readme.md) | 中文 | [日本語](readme-ja_jp.md) | [Русский](readme-ru_ru.md) |
| 2 | 9 | ||
| 3 |  | 10 | [](https://github.com/SillyTavern/SillyTavern/stargazers) |
| 11 | [](https://github.com/SillyTavern/SillyTavern/network) | ||
| 12 | [](https://github.com/SillyTavern/SillyTavern/issues) | ||
| 13 | [](https://github.com/SillyTavern/SillyTavern/pulls) | ||
| 14 | |||
| 15 | </div> | ||
| 16 | |||
| 17 | --- | ||
| 4 | 18 | ||
| 5 | 移动设备界面友好,多种人工智能服务或模型支持(KoboldAI/CPP, Horde, NovelAI, Ooba, OpenAI, OpenRouter, Claude, Scale),类似 Galgame 的 老 婆 模 式,Horde SD,文本系统语音生成,世界信息(Lorebooks),可定制的界面,自动翻译,和比你所需要的更多的 Prompt。附带扩展服务,支持文本绘画生成与语音生成和基于向量数据库 的聊天信息总结。 | 19 | 移动设备界面友好,多种人工智能服务或模型支持(KoboldAI/CPP, Horde, NovelAI, Ooba, OpenAI, OpenRouter, Claude, Scale),类似 Galgame 的 老 婆 模 式,Horde SD,文本系统语音生成,世界信息(Lorebooks),可定制的界面,自动翻译,和比你所需要的更多的 Prompt。附带扩展服务,支持文本绘画生成与语音生成和基于向量数据库 的聊天信息总结。 |
| 6 | 20 | ||
| @@ -67,15 +81,14 @@ SillyTavern 本身并无用处,因为它只是一个用户聊天界面。你 | |||
| 67 | * 支持世界信息(Lorebooks):创建丰富的传说 | 81 | * 支持世界信息(Lorebooks):创建丰富的传说 |
| 68 | * 支持 Window AI 浏览器扩展(运行 Claude、GPT 4 等模型):<https://windowai.io/> | 82 | * 支持 Window AI 浏览器扩展(运行 Claude、GPT 4 等模型):<https://windowai.io/> |
| 69 | * [Oobabooga's TextGen WebUI](https://github.com/oobabooga/text-generation-webui) API 连接 | 83 | * [Oobabooga's TextGen WebUI](https://github.com/oobabooga/text-generation-webui) API 连接 |
| 70 | * 连接 [AI Horde](https://horde.koboldai.net/) | 84 | * 连接 [AI Horde](https://aihorde.net/) |
| 71 | * Prompt 生成格式调整 | 85 | * Prompt 生成格式调整 |
| 72 | * Webp 角色卡支持(PNG 仍是内部格式) | 86 | * Webp 角色卡支持(PNG 仍是内部格式) |
| 73 | 87 | ||
| 74 | ## 扩展 | 88 | ## 扩展 |
| 75 | 89 | ||
| 76 | SillyTavern 支持扩展服务,一些额外的人工智能模块可通过 [SillyTavern Extras API](https://github.com/SillyTavern/SillyTavern-extras) 提供。 | 90 | SillyTavern 支持扩展服务。 |
| 77 | 91 | ||
| 78 | * 作者注释/角色偏见 | ||
| 79 | * 角色情绪识别 | 92 | * 角色情绪识别 |
| 80 | * 聊天记录自动摘要 | 93 | * 聊天记录自动摘要 |
| 81 | * 在聊天窗口发送图片,并由人工智能解释图片内容 | 94 | * 在聊天窗口发送图片,并由人工智能解释图片内容 |
| @@ -276,8 +289,8 @@ SillyTavern 会将 API 密钥保存在目录中的 `secrets.json` 文件内。 | |||
| 276 | 289 | ||
| 277 | ## 屏幕截图 | 290 | ## 屏幕截图 |
| 278 | 291 | ||
| 279 | <img width="400" alt="image" src="https://user-images.githubusercontent.com/18619528/228649245-8061c60f-63dc-488e-9325-f151b7a3ec2d.png"> | 292 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/9b5f32f0-c3b3-4102-b3f5-0e9213c0f50f"> |
| 280 | <img width="400" alt="image" src="https://user-images.githubusercontent.com/18619528/228649856-fbdeef05-d727-4d5a-be80-266cbbc6b811.png"> | 293 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/913fdbaa-7d33-42f1-ae2c-89dca41c53d1"> |
| 281 | 294 | ||
| 282 | ## 许可证和贡献 | 295 | ## 许可证和贡献 |
| 283 | 296 | ||
| @@ -304,3 +317,6 @@ SillyTavern 会将 API 密钥保存在目录中的 `secrets.json` 文件内。 | |||
| 304 | * Default content (characters and lore books) provided by @OtisAlejandro, @RossAscends and @kallmeflocc | 317 | * Default content (characters and lore books) provided by @OtisAlejandro, @RossAscends and @kallmeflocc |
| 305 | * Korean translation by @doloroushyeonse | 318 | * Korean translation by @doloroushyeonse |
| 306 | * 中文翻译由 [@XXpE3](https://github.com/XXpE3) 完成,中文 ISSUES 可以联系 @XXpE3 | 319 | * 中文翻译由 [@XXpE3](https://github.com/XXpE3) 完成,中文 ISSUES 可以联系 @XXpE3 |
| 320 | |||
| 321 | <!-- LINK GROUP --> | ||
| 322 | [cover]: https://github.com/user-attachments/assets/01a6ae9a-16aa-45f2-8bff-32b5dc587e44 | ||
| @@ -1,160 +1,147 @@ | |||
| 1 | <a name="readme-top"></a> | 1 | <a name="readme-top"></a> |
| 2 | 2 | ||
| 3 | English | [中文](readme-zh_cn.md) | [日本語](readme-ja_jp.md) | [Русский](readme-ru_ru.md) | ||
| 4 | |||
| 5 | ![][cover] | 3 | ![][cover] |
| 6 | 4 | ||
| 7 | Mobile-friendly layout, Multi-API (KoboldAI/CPP, Horde, NovelAI, Ooba, OpenAI, OpenRouter, Claude, Scale), VN-like Waifu Mode, Stable Diffusion, TTS, WorldInfo (lorebooks), customizable UI, auto-translate, and more prompt options than you'd ever want or need + ability to install third-party extensions. | 5 | <div align="center"> |
| 8 | 6 | ||
| 9 | Based on a fork of [TavernAI](https://github.com/TavernAI/TavernAI) 1.2.8 | 7 | English | [中文](readme-zh_cn.md) | [日本語](readme-ja_jp.md) | [Русский](readme-ru_ru.md) |
| 10 | 8 | ||
| 11 | ## Important news! | 9 | [](https://github.com/SillyTavern/SillyTavern/stargazers) |
| 10 | [](https://github.com/SillyTavern/SillyTavern/network) | ||
| 11 | [](https://github.com/SillyTavern/SillyTavern/issues) | ||
| 12 | [](https://github.com/SillyTavern/SillyTavern/pulls) | ||
| 12 | 13 | ||
| 13 | 1. We have created a [Documentation website](https://docs.sillytavern.app/) to answer most of your questions and help you get started. | 14 | </div> |
| 14 | 15 | ||
| 15 | 2. Missing extensions after the update? Since the 1.10.6 release version, most of the previously built-in extensions have been converted to downloadable add-ons. You can download them via the built-in "Download Extensions and Assets" menu in the extensions panel (stacked blocks icon in the top bar). | 16 | --- |
| 16 | 17 | ||
| 17 | 3. Unsupported platform: android arm LEtime-web. 32-bit Android requires an external dependency that can't be installed with npm. Use the following command to install it: `pkg install esbuild`. Then run the usual installation steps. | 18 | SillyTavern provides a single unified interface for many LLM APIs (KoboldAI/CPP, Horde, NovelAI, Ooba, Tabby, OpenAI, OpenRouter, Claude, Mistral and more), a mobile-friendly layout, Visual Novel Mode, Automatic1111 & ComfyUI API image generation integration, TTS, WorldInfo (lorebooks), customizable UI, auto-translate, more prompt options than you'd ever want or need, and endless growth potential via third-party extensions. |
| 18 | 19 | ||
| 19 | ### Brought to you by Cohee, RossAscends, and the SillyTavern community | 20 | We have a [Documentation website](https://docs.sillytavern.app/) to answer most of your questions and help you get started. |
| 20 | 21 | ||
| 21 | ### What is SillyTavern or TavernAI? | 22 | ## What is SillyTavern? |
| 22 | 23 | ||
| 23 | SillyTavern is a user interface you can install on your computer (and Android phones) that allows you to interact with text generation AIs and chat/roleplay with characters you or the community create. | 24 | SillyTavern (or ST for short) is a locally installed user interface that allows you to interact with text generation LLMs, image generation engines, and TTS voice models. |
| 24 | 25 | ||
| 25 | SillyTavern is a fork of TavernAI 1.2.8 which is under more active development and has added many major features. At this point, they can be thought of as completely independent programs. | 26 | Beginning in February 2023 as a fork of TavernAI 1.2.8, SillyTavern now has over 100 contributors and 2 years of independent development under its belt, and continues to serve as a leading software for savvy AI hobbyists. |
| 26 | 27 | ||
| 27 | ## Screenshots | 28 | ## Our Vision |
| 28 | 29 | ||
| 29 | <img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/e902c7a2-45a6-4415-97aa-c59c597669c1"> | 30 | 1. We aim to empower users with as much utility and control over their LLM prompts as possible. The steep learning curve is part of the fun! |
| 30 | <img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/f8a79c47-4fe9-4564-9e4a-bf247ed1c961"> | 31 | 2. We do not provide any online or hosted services, nor programmatically track any user data. |
| 32 | 3. SillyTavern is a passion project brought to you by a dedicated community of LLM enthusiasts, and will always be free and open sourced. | ||
| 31 | 33 | ||
| 32 | ### Branches | 34 | ## Branches |
| 33 | 35 | ||
| 34 | SillyTavern is being developed using a two-branch system to ensure a smooth experience for all users. | 36 | SillyTavern is being developed using a two-branch system to ensure a smooth experience for all users. |
| 35 | 37 | ||
| 36 | * release -🌟 **Recommended for most users.** This is the most stable and recommended branch, updated only when major releases are pushed. It's suitable for the majority of users. | 38 | * `release` -🌟 **Recommended for most users.** This is the most stable and recommended branch, updated only when major releases are pushed. It's suitable for the majority of users. Typically updated once a month. |
| 37 | * staging - ⚠️ **Not recommended for casual use.** This branch has the latest features, but be cautious as it may break at any time. Only for power users and enthusiasts. | 39 | * `staging` - ⚠️ **Not recommended for casual use.** This branch has the latest features, but be cautious as it may break at any time. Only for power users and enthusiasts. Updates several times daily. |
| 38 | 40 | ||
| 39 | If you're not familiar with using the git CLI or don't understand what a branch is, don't worry! The release branch is always the preferable option for you. | 41 | If you're not familiar with using the git CLI or don't understand what a branch is, don't worry! The release branch is always the preferable option for you. |
| 40 | 42 | ||
| 41 | ### What do I need other than SillyTavern? | 43 | ## What do I need other than SillyTavern? |
| 42 | 44 | ||
| 43 | On its own SillyTavern is useless, as it's just a user interface. You have to have access to an AI system backend that can act as the roleplay character. There are various supported backends: OpenAPI API (GPT), KoboldAI (either running locally or on Google Colab), and more. You can read more about this in [the FAQ](https://docs.sillytavern.app/usage/faq/). | 45 | Since SillyTavern is only an interface, you will need access to an LLM backend to provide inference. You can use AI Horde for instant out-of-the-box chatting. Aside from that, we support many other local and cloud-based LLM backends: OpenAI-compatible API, KoboldAI, Tabby, and many more. You can read more about our supported APIs in [the FAQ](https://docs.sillytavern.app/usage/api-connections/). |
| 44 | 46 | ||
| 45 | ### Do I need a powerful PC to run SillyTavern? | 47 | ### Do I need a powerful PC to run SillyTavern? |
| 46 | 48 | ||
| 47 | Since SillyTavern is only a user interface, it has tiny hardware requirements, it will run on anything. It's the AI system backend that needs to be powerful. | 49 | The hardware requirements are minimal: it will run on anything that can run NodeJS 18 or higher. If you intend to do LLM inference on your local machine, we recommend a 3000-series NVIDIA graphics card with at least 6GB of VRAM. Check your backend's documentation for more details. |
| 50 | |||
| 51 | ### Suggested Backends (not affiliated) | ||
| 52 | |||
| 53 | * [AI Horde](https://aihorde.net/) - use models hosted by volunteers. Requires no further setup | ||
| 54 | * [KoboldCpp](https://github.com/LostRuins/koboldcpp) - a community's favorite for running GGUF models locally | ||
| 55 | * [tabbyAPI](https://github.com/theroyallab/tabbyAPI) - a popular, lightweight, locally-hosted exl2 inference API | ||
| 56 | * [OpenRouter](https://openrouter.ai) - a single API for many cloud providers (OpenAI, Claude, Meta Llama, etc.) as well as popular community models. | ||
| 48 | 57 | ||
| 49 | ## Questions or suggestions? | 58 | ## Questions or suggestions? |
| 50 | 59 | ||
| 51 | ### We now have a community Discord server | 60 | ### Discord server |
| 52 | 61 | ||
| 53 | | [![][discord-shield-badge]][discord-link] | [Join our Discord community!](https://discord.gg/sillytavern) Get support, share favorite characters and prompts. | | 62 | | [![][discord-shield-badge]][discord-link] | [Join our Discord community!](https://discord.gg/sillytavern) Get support, share favorite characters and prompts. | |
| 54 | | :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | | 63 | | :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | |
| 55 | 64 | ||
| 56 | Or get in touch with the developers directly: | 65 | Or get in touch with the developers directly: |
| 57 | 66 | ||
| 58 | * Discord: cohee or rossascends | 67 | * Discord: cohee, rossascends, wolfsblvt |
| 59 | * Reddit: [/u/RossAscends](https://www.reddit.com/user/RossAscends/) or [/u/sillylossy](https://www.reddit.com/user/sillylossy/) | 68 | * Reddit: [/u/RossAscends](https://www.reddit.com/user/RossAscends/), [/u/sillylossy](https://www.reddit.com/user/sillylossy/), [u/Wolfsblvt](https://www.reddit.com/user/Wolfsblvt/) |
| 60 | * [Post a GitHub issue](https://github.com/SillyTavern/SillyTavern/issues) | 69 | * [Post a GitHub issue](https://github.com/SillyTavern/SillyTavern/issues) |
| 61 | 70 | ||
| 62 | ## This version includes | 71 | ### I like your project! How do I contribute? |
| 63 | 72 | ||
| 64 | * A heavily modified TavernAI 1.2.8 (more than 50% of code rewritten or optimized) | 73 | 1. Send pull requests. Learn how to contribute: [CONTRIBUTING.md](../CONTRIBUTING.md) |
| 65 | * Swipes | 74 | 2. Send feature suggestions and issue reports using the provided templates. |
| 66 | * Group chats: multi-bot rooms for characters to talk to you or each other | 75 | 3. Read this entire readme file and check the documentation website first, to avoid sending duplicate issues. |
| 67 | * Chat checkpoints / branching | ||
| 68 | * Advanced KoboldAI / TextGen generation settings with a lot of community-made presets | ||
| 69 | * World Info support: create rich lore or save tokens on your character card | ||
| 70 | * [OpenRouter](https://openrouter.ai) connection for various APIs (Claude, GPT-4/3.5 and more) | ||
| 71 | * [Oobabooga's TextGen WebUI](https://github.com/oobabooga/text-generation-webui) API connection | ||
| 72 | * [AI Horde](https://horde.koboldai.net/) connection | ||
| 73 | * Prompt generation formatting tweaking | ||
| 74 | 76 | ||
| 75 | ## Extensions | 77 | ## Screenshots |
| 76 | 78 | ||
| 77 | SillyTavern has extensibility support, with some additional AI modules hosted via [SillyTavern Extras API](https://github.com/SillyTavern/SillyTavern-extras) | 79 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/9b5f32f0-c3b3-4102-b3f5-0e9213c0f50f"> |
| 80 | <img width="500" alt="image" src="https://github.com/user-attachments/assets/913fdbaa-7d33-42f1-ae2c-89dca41c53d1"> | ||
| 78 | 81 | ||
| 79 | * Author's Note / Character Bias | 82 | ## Character Cards |
| 80 | * Character emotional expressions (sprites) | 83 | |
| 81 | * Auto-Summary of the chat history | 84 | SillyTavern is built around the concept of "character cards". A character card is a collection of prompts that set the behavior of the LLM and is required to have persistent conversations in SillyTavern. They function similarly to ChatGPT's GPTs or Poe's bots. The content of a character card can be anything: an abstract scenario, an assistant tailored for a specific task, a famous personality or a fictional character. |
| 82 | * Sending images to chat, and the AI interpreting the content | ||
| 83 | * Stable Diffusion image generation (5 chat-related presets plus 'free mode') | ||
| 84 | * Text-to-speech for AI response messages (via ElevenLabs, Silero, or the OS's System TTS) | ||
| 85 | 85 | ||
| 86 | A full list of included extensions and tutorials on how to use them can be found in the [Docs](https://docs.sillytavern.app/). | 86 | The name field is the only required character card input. To start a neutral conversation with the language model, create a new card simply called "Assistant" and leave the rest of the boxes blank. For a more themed chat, you can provide the language model with various background details, behavior and writing patterns, and a scenario to jump start the chat. |
| 87 | 87 | ||
| 88 | ## UI/CSS/Quality of Life tweaks by RossAscends | 88 | To have a quick conversation without selecting a character card or to just test the LLM connection, simply type your prompt input into the input bar on the Welcome Screen after opening SillyTavern. Please note that such chats are temporary and will not be saved. |
| 89 | 89 | ||
| 90 | * Mobile UI optimized for iOS, and supports saving a shortcut to the home screen and opening in fullscreen mode. | 90 | To get a general idea on how to define character cards, see the default character (Seraphina) or download selected community-made cards from the "Download Extensions & Assets" menu. |
| 91 | * HotKeys | ||
| 92 | * Up = Edit last message in chat | ||
| 93 | * Ctrl+Up = Edit last USER message in chat | ||
| 94 | * Left = swipe left | ||
| 95 | * Right = swipe right (NOTE: swipe hotkeys are disabled when the chat bar has something typed into it) | ||
| 96 | * Ctrl+Left = view locally stored variables (in the browser console window) | ||
| 97 | * Enter (with chat bar selected) = send your message to AI | ||
| 98 | * Ctrl+Enter = Regenerate the last AI response | ||
| 99 | 91 | ||
| 100 | * User Name Changes and Character Deletion no longer force the page to refresh. | 92 | ## Key Features |
| 101 | 93 | ||
| 102 | * Toggle option to automatically connect to API on page load. | 94 | * Advanced text generation settings with many community-made presets |
| 103 | * Toggle option to automatically load the most recently viewed character on page load. | 95 | * World Info support: create rich lore or save tokens on your character card |
| 104 | * Better Token Counter - works on unsaved characters, and shows both permanent and temporary tokens. | 96 | * Group chats: multi-bot rooms for characters to talk to you and/or each other |
| 97 | * Rich UI customization options: theme colors, background images, custom CSS, and more | ||
| 98 | * User personas: let the AI know a bit about you for greater immersion | ||
| 99 | * Built-in RAG support: add documents to your chats for the AI to reference | ||
| 100 | * Extensive chat commands subsystem and own [scripting engine](https://docs.sillytavern.app/usage/st-script/) | ||
| 105 | 101 | ||
| 106 | * Better Past Chats View | 102 | ## Extensions |
| 107 | * New Chat filenames are saved in a readable format of "(character) - (when it was created)" | ||
| 108 | * Chat preview increased from 40 characters to 300. | ||
| 109 | * Multiple options for characters list sorting (by name, creation date, chat sizes). | ||
| 110 | 103 | ||
| 111 | * By default the left and right settings panel will close when you click away from it. | 104 | SillyTavern has extensibility support. |
| 112 | * Clicking the Lock on the nav panel will hold the panel open, and this setting be remembered across sessions. | ||
| 113 | * Nav panel status of open or closed will also be saved across sessions. | ||
| 114 | 105 | ||
| 115 | * Customizable chat UI: | 106 | * Character emotional expressions (sprites) |
| 116 | * Play a sound when a new message arrives | 107 | * Auto-Summary of the chat history |
| 117 | * Switch between round or rectangle avatar styles | 108 | * Automatic UI and chat translation |
| 118 | * Have a wider chat window on the desktop | 109 | * Stable Diffusion/FLUX/DALL-E image generation |
| 119 | * Optional semi-transparent glass-like panels | 110 | * Text-to-speech for AI response messages (via ElevenLabs, Silero, or the OS's System TTS) |
| 120 | * Customizable page colors for 'main text', 'quoted text', and 'italics text'. | 111 | * Web Search capabilities for adding additional real world context to your prompts |
| 121 | * Customizable UI background color and blur amount | 112 | * Many more are available to download from the "Download Extensions & Assets" menu. |
| 113 | |||
| 114 | Tutorials on how to use them can be found in the [Docs](https://docs.sillytavern.app/). | ||
| 122 | 115 | ||
| 123 | # ⌛ Installation | 116 | # ⌛ Installation |
| 124 | 117 | ||
| 125 | > \[!WARNING] | 118 | > \[!WARNING] |
| 119 | > | ||
| 126 | > * DO NOT INSTALL INTO ANY WINDOWS CONTROLLED FOLDER (Program Files, System32, etc). | 120 | > * DO NOT INSTALL INTO ANY WINDOWS CONTROLLED FOLDER (Program Files, System32, etc). |
| 127 | > * DO NOT RUN START.BAT WITH ADMIN PERMISSIONS | 121 | > * DO NOT RUN START.BAT WITH ADMIN PERMISSIONS |
| 128 | > * INSTALLATION ON WINDOWS 7 IS IMPOSSIBLE AS IT CAN NOT RUN NODEJS 18.16 | 122 | > * INSTALLATION ON WINDOWS 7 IS IMPOSSIBLE AS IT CAN NOT RUN NODEJS 18.16 |
| 129 | 123 | ||
| 130 | ## 🪟 Windows | 124 | ## 🪟 Windows |
| 131 | 125 | ||
| 132 | ## Installing via Git | 126 | ### Installing via Git |
| 133 | 1. Install [NodeJS](https://nodejs.org/en) (latest LTS version is recommended) | ||
| 134 | 2. Install [Git for Windows](https://gitforwindows.org/) | ||
| 135 | 3. Open Windows Explorer (`Win+E`) | ||
| 136 | 4. Browse to or Create a folder that is not controlled or monitored by Windows. (ex: C:\MySpecialFolder\) | ||
| 137 | 5. Open a Command Prompt inside that folder by clicking in the 'Address Bar' at the top, typing `cmd`, and pressing Enter. | ||
| 138 | 6. Once the black box (Command Prompt) pops up, type ONE of the following into it and press Enter: | ||
| 139 | 127 | ||
| 140 | - for Release Branch: `git clone https://github.com/SillyTavern/SillyTavern -b release` | 128 | 1. Install [NodeJS](https://nodejs.org/en) (latest LTS version is recommended) |
| 141 | - for Staging Branch: `git clone https://github.com/SillyTavern/SillyTavern -b staging` | 129 | 2. Install [Git for Windows](https://gitforwindows.org/) |
| 130 | 3. Open Windows Explorer (`Win+E`) | ||
| 131 | 4. Browse to or Create a folder that is not controlled or monitored by Windows. (ex: C:\MySpecialFolder\) | ||
| 132 | 5. Open a Command Prompt inside that folder by clicking in the 'Address Bar' at the top, typing `cmd`, and pressing Enter. | ||
| 133 | 6. Once the black box (Command Prompt) pops up, type ONE of the following into it and press Enter: | ||
| 142 | 134 | ||
| 143 | 7. Once everything is cloned, double-click `Start.bat` to make NodeJS install its requirements. | 135 | * for Release Branch: `git clone https://github.com/SillyTavern/SillyTavern -b release` |
| 144 | 8. The server will then start, and SillyTavern will pop up in your browser. | 136 | * for Staging Branch: `git clone https://github.com/SillyTavern/SillyTavern -b staging` |
| 145 | 137 | ||
| 146 | ## Installing via SillyTavern Launcher | 138 | 7. Once everything is cloned, double-click `Start.bat` to make NodeJS install its requirements. |
| 147 | 1. On your keyboard: press **`WINDOWS + R`** to open Run dialog box. Then, run the following command to install git: | 139 | 8. The server will then start, and SillyTavern will pop up in your browser. |
| 148 | ```shell | 140 | |
| 149 | cmd /c winget install -e --id Git.Git | 141 | ### Installing via GitHub Desktop |
| 150 | ``` | ||
| 151 | 2. On your keyboard: press **`WINDOWS + E`** to open File Explorer, then navigate to the folder where you want to install the launcher. Once in the desired folder, type `cmd` into the address bar and press enter. Then, run the following command: | ||
| 152 | ```shell | ||
| 153 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher && start installer.bat | ||
| 154 | ``` | ||
| 155 | 142 | ||
| 156 | ## Installing via GitHub Desktop | ||
| 157 | (This allows git usage **only** in GitHub Desktop, if you want to use `git` on the command line too, you also need to install [Git for Windows](https://gitforwindows.org/)) | 143 | (This allows git usage **only** in GitHub Desktop, if you want to use `git` on the command line too, you also need to install [Git for Windows](https://gitforwindows.org/)) |
| 144 | |||
| 158 | 1. Install [NodeJS](https://nodejs.org/en) (latest LTS version is recommended) | 145 | 1. Install [NodeJS](https://nodejs.org/en) (latest LTS version is recommended) |
| 159 | 2. Install [GitHub Desktop](https://central.github.com/deployments/desktop/desktop/latest/win32) | 146 | 2. Install [GitHub Desktop](https://central.github.com/deployments/desktop/desktop/latest/win32) |
| 160 | 3. After installing GitHub Desktop, click on `Clone a repository from the internet....` (Note: You **do NOT need** to create a GitHub account for this step) | 147 | 3. After installing GitHub Desktop, click on `Clone a repository from the internet....` (Note: You **do NOT need** to create a GitHub account for this step) |
| @@ -172,50 +159,82 @@ For MacOS / Linux all of these will be done in a Terminal. | |||
| 172 | 1. Install git and nodeJS (the method for doing this will vary depending on your OS) | 159 | 1. Install git and nodeJS (the method for doing this will vary depending on your OS) |
| 173 | 2. Clone the repo | 160 | 2. Clone the repo |
| 174 | 161 | ||
| 175 | - for Release Branch: `git clone https://github.com/SillyTavern/SillyTavern -b release` | 162 | * for Release Branch: `git clone https://github.com/SillyTavern/SillyTavern -b release` |
| 176 | - for Staging Branch: `git clone https://github.com/SillyTavern/SillyTavern -b staging` | 163 | * for Staging Branch: `git clone https://github.com/SillyTavern/SillyTavern -b staging` |
| 177 | 164 | ||
| 178 | 3. `cd SillyTavern` to navigate into the install folder. | 165 | 3. `cd SillyTavern` to navigate into the install folder. |
| 179 | 4. Run the `start.sh` script with one of these commands: | 166 | 4. Run the `start.sh` script with one of these commands: |
| 180 | 167 | ||
| 181 | - `./start.sh` | 168 | * `./start.sh` |
| 182 | - `bash start.sh` | 169 | * `bash start.sh` |
| 170 | |||
| 171 | ## ⚡ Installing via SillyTavern Launcher | ||
| 183 | 172 | ||
| 184 | ## Installing via SillyTavern Launcher | 173 | SillyTavern Launcher is an installation wizard that will help you get setup with many options, including installing a backend for local inference. |
| 174 | |||
| 175 | ### For Windows users | ||
| 176 | |||
| 177 | 1. On your keyboard: press **`WINDOWS + R`** to open Run dialog box. Then, run the following command to install git: | ||
| 178 | |||
| 179 | ```shell | ||
| 180 | cmd /c winget install -e --id Git.Git | ||
| 181 | ``` | ||
| 182 | |||
| 183 | 2. On your keyboard: press **`WINDOWS + E`** to open File Explorer, then navigate to the folder where you want to install the launcher. Once in the desired folder, type `cmd` into the address bar and press enter. Then, run the following command: | ||
| 184 | |||
| 185 | ```shell | ||
| 186 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher && start installer.bat | ||
| 187 | ``` | ||
| 185 | 188 | ||
| 186 | ### For Linux users | 189 | ### For Linux users |
| 190 | |||
| 187 | 1. Open your favorite terminal and install git | 191 | 1. Open your favorite terminal and install git |
| 188 | 2. Git clone the Sillytavern-Launcher with: | 192 | 2. Git clone the Sillytavern-Launcher with: |
| 193 | |||
| 189 | ```shell | 194 | ```shell |
| 190 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher | 195 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher |
| 191 | ``` | 196 | ``` |
| 192 | 3. Start the installer.sh with: | 197 | |
| 198 | 3. Start the installer.sh with: | ||
| 199 | |||
| 193 | ```shell | 200 | ```shell |
| 194 | chmod +x install.sh && ./install.sh | 201 | chmod +x install.sh && ./install.sh |
| 195 | ``` | 202 | ``` |
| 196 | 4. After installation start the launcher.sh with: | 203 | |
| 204 | 4. After installation start the launcher.sh with: | ||
| 205 | |||
| 197 | ```shell | 206 | ```shell |
| 198 | chmod +x launcher.sh && ./launcher.sh | 207 | chmod +x launcher.sh && ./launcher.sh |
| 199 | ``` | 208 | ``` |
| 200 | 209 | ||
| 201 | ### For Mac users | 210 | ### For Mac users |
| 202 | 1. Open a terminal and install brew with: | 211 | |
| 212 | 1. Open a terminal and install brew with: | ||
| 213 | |||
| 203 | ```shell | 214 | ```shell |
| 204 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | 215 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
| 205 | ``` | 216 | ``` |
| 206 | 2. Install git with: | 217 | |
| 218 | 2. Install git with: | ||
| 219 | |||
| 207 | ```shell | 220 | ```shell |
| 208 | brew install git | 221 | brew install git |
| 209 | ``` | 222 | ``` |
| 210 | 3. Git clone the Sillytavern-Launcher with: | 223 | |
| 224 | 3. Git clone the Sillytavern-Launcher with: | ||
| 225 | |||
| 211 | ```shell | 226 | ```shell |
| 212 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher | 227 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher |
| 213 | ``` | 228 | ``` |
| 214 | 4. Start the installer.sh with: | 229 | |
| 230 | 4. Start the installer.sh with: | ||
| 231 | |||
| 215 | ```shell | 232 | ```shell |
| 216 | chmod +x install.sh && ./install.sh | 233 | chmod +x install.sh && ./install.sh |
| 217 | ``` | 234 | ``` |
| 218 | 5. After installation start the launcher.sh with: | 235 | |
| 236 | 5. After installation start the launcher.sh with: | ||
| 237 | |||
| 219 | ```shell | 238 | ```shell |
| 220 | chmod +x launcher.sh && ./launcher.sh | 239 | chmod +x launcher.sh && ./launcher.sh |
| 221 | ``` | 240 | ``` |
| @@ -236,18 +255,18 @@ You will need two mandatory directory mappings and a port mapping to allow Silly | |||
| 236 | 255 | ||
| 237 | ##### Volume Mappings | 256 | ##### Volume Mappings |
| 238 | 257 | ||
| 239 | - [config] - The directory where SillyTavern configuration files will be stored on your host machine | 258 | * [config] - The directory where SillyTavern configuration files will be stored on your host machine |
| 240 | - [data] - The directory where SillyTavern user data (including characters) will be stored on your host machine | 259 | * [data] - The directory where SillyTavern user data (including characters) will be stored on your host machine |
| 241 | - [plugins] - (optional) The directory where SillyTavern server plugins will be stored on your host machine | 260 | * [plugins] - (optional) The directory where SillyTavern server plugins will be stored on your host machine |
| 242 | 261 | ||
| 243 | ##### Port Mappings | 262 | ##### Port Mappings |
| 244 | 263 | ||
| 245 | - [PublicPort] - The port to expose the traffic on. This is mandatory, as you will be accessing the instance from outside of its virtual machine container. DO NOT expose this to the internet without implementing a separate service for security. | 264 | * [PublicPort] - The port to expose the traffic on. This is mandatory, as you will be accessing the instance from outside of its virtual machine container. DO NOT expose this to the internet without implementing a separate service for security. |
| 246 | 265 | ||
| 247 | ##### Additional Settings | 266 | ##### Additional Settings |
| 248 | 267 | ||
| 249 | - [DockerNet] - The docker network that the container should be created with a connection to. If you don't know what it is, see the [official Docker documentation](https://docs.docker.com/reference/cli/docker/network/). | 268 | * [DockerNet] - The docker network that the container should be created with a connection to. If you don't know what it is, see the [official Docker documentation](https://docs.docker.com/reference/cli/docker/network/). |
| 250 | - [version] - On the right-hand side of this GitHub page, you'll see "Packages". Select the "sillytavern" package and you'll see the image versions. The image tag "latest" will keep you up-to-date with the current release. You can also utilize "staging" and "release" tags that point to the nightly images of the respective branches, but this may not be appropriate, if you are utilizing extensions that could be broken, and may need time to update. | 269 | * [version] - On the right-hand side of this GitHub page, you'll see "Packages". Select the "sillytavern" package and you'll see the image versions. The image tag "latest" will keep you up-to-date with the current release. You can also utilize "staging" and "release" tags that point to the nightly images of the respective branches, but this may not be appropriate, if you are utilizing extensions that could be broken, and may need time to update. |
| 251 | 270 | ||
| 252 | #### Install command | 271 | #### Install command |
| 253 | 272 | ||
| @@ -258,128 +277,82 @@ You will need two mandatory directory mappings and a port mapping to allow Silly | |||
| 258 | 277 | ||
| 259 | > Note that 8000 is a default listening port. Don't forget to use an appropriate port if you change it in the config. | 278 | > Note that 8000 is a default listening port. Don't forget to use an appropriate port if you change it in the config. |
| 260 | 279 | ||
| 261 | ## 📱 Mobile - Installing via termux | 280 | ## 📱 Installing via Termux on Android OS |
| 262 | 281 | ||
| 263 | > \[!NOTE] | 282 | > \[!NOTE] |
| 264 | > **SillyTavern can be run natively on Android phones using Termux. Please refer to this guide by ArroganceComplex#2659:** | 283 | > **SillyTavern can be run natively on Android devices using Termux, but we do not provide official support for this use case.** |
| 284 | > | ||
| 285 | > **Please refer to this guide by ArroganceComplex#2659:** | ||
| 286 | > | ||
| 265 | > * <https://rentry.org/STAI-Termux> | 287 | > * <https://rentry.org/STAI-Termux> |
| 266 | 288 | ||
| 289 | **Unsupported platform: android arm LEtime-web.** 32-bit Android requires an external dependency that can't be installed with npm. Use the following command to install it: `pkg install esbuild`. Then run the usual installation steps. | ||
| 267 | 290 | ||
| 268 | ## API keys management | 291 | ## API keys management |
| 269 | 292 | ||
| 270 | SillyTavern saves your API keys to a `secrets.json` file in the user data directory (`/data/default-user/secrets.json` is the default path). | 293 | SillyTavern saves your API keys to a `secrets.json` file in the user data directory (`/data/default-user/secrets.json` is the default path). |
| 271 | 294 | ||
| 272 | By default, they will not be exposed to a frontend after you enter them and reload the page. | 295 | By default, API keys will not be visible from the interface after you have saved them and refreshed the page. |
| 273 | 296 | ||
| 274 | In order to enable viewing your keys by clicking a button in the API block: | 297 | In order to enable viewing your keys: |
| 275 | 298 | ||
| 276 | 1. Set the value of `allowKeysExposure` to `true` in `config.yaml` file. | 299 | 1. Set the value of `allowKeysExposure` to `true` in `config.yaml` file. |
| 277 | 2. Restart the SillyTavern server. | 300 | 2. Restart the SillyTavern server. |
| 301 | 3. Click the 'View hidden API keys' link at the bottom right of the API Connection Panel. | ||
| 278 | 302 | ||
| 279 | ## Remote connections | 303 | ## Command-line arguments |
| 280 | |||
| 281 | Most often this is for people who want to use SillyTavern on their mobile phones while their PC runs the ST server on the same wifi network. | ||
| 282 | |||
| 283 | However, it can be used to allow remote connections from anywhere as well. | ||
| 284 | 304 | ||
| 285 | **IMPORTANT: Refer to the official guide if you want to configure SillyTavern user accounts with (optional) password protection: [Users](https://docs.sillytavern.app/installation/st-1.12.0-migration-guide/#users).** | 305 | You can pass command-line arguments to SillyTavern server startup to override some settings in `config.yaml`. |
| 286 | 306 | ||
| 287 | ### 1. Managing whitelisted IPs | 307 | ### Examples |
| 288 | 308 | ||
| 289 | * Create a new text file inside your SillyTavern base install folder called `whitelist.txt`. | 309 | ```shell |
| 290 | * Open the file in a text editor, and add a list of IPs you want to be allowed to connect. | 310 | node server.js --port 8000 --listen false |
| 291 | 311 | # or | |
| 292 | *Both individual IPs and wildcard IP ranges are accepted. Examples:* | 312 | npm run start -- --port 8000 --listen false |
| 293 | 313 | # or (Windows only) | |
| 294 | ```txt | 314 | Start.bat --port 8000 --listen false |
| 295 | 192.168.0.1 | ||
| 296 | 192.168.0.20 | ||
| 297 | ``` | ||
| 298 | |||
| 299 | or | ||
| 300 | |||
| 301 | ```txt | ||
| 302 | 192.168.0.* | ||
| 303 | ``` | 315 | ``` |
| 304 | 316 | ||
| 305 | (the above wildcard IP range will allow any device on the local network to connect) | 317 | ### Supported arguments |
| 306 | 318 | ||
| 307 | CIDR masks are also accepted (eg. 10.0.0.0/24). | 319 | | Option | Description | Type | |
| 308 | 320 | |-------------------------|------------------------------------------------------------------------------------------------------|----------| | |
| 309 | * Save the `whitelist.txt` file. | 321 | | `--version` | Show version number | boolean | |
| 310 | * Restart your ST server. | 322 | | `--enableIPv6` | Enables IPv6. | boolean | |
| 311 | 323 | | `--enableIPv4` | Enables IPv4. | boolean | | |
| 312 | Now devices which have the IP specified in the file will be able to connect. | 324 | | `--port` | Sets the port under which SillyTavern will run. If not provided falls back to yaml config 'port'. | number | |
| 313 | 325 | | `--dnsPreferIPv6` | Prefers IPv6 for dns. If not provided falls back to yaml config 'preferIPv6'. | boolean | | |
| 314 | *Note: `config.yaml` also has a `whitelist` array, which you can use in the same way, but this array will be ignored if `whitelist.txt` exists.* | 326 | | `--autorun` | Automatically launch SillyTavern in the browser. If not provided falls back to yaml config 'autorun'.| boolean | |
| 315 | 327 | | `--autorunHostname` | The autorun hostname, probably best left on 'auto'. | string | | |
| 316 | ### 2. Getting the IP for the ST host machine | 328 | | `--autorunPortOverride` | Overrides the port for autorun. | string | |
| 317 | 329 | | `--listen` | SillyTavern is listening on all network interfaces. If not provided falls back to yaml config 'listen'.| boolean | | |
| 318 | After the whitelist has been setup, you'll need the IP of the ST-hosting device. | 330 | | `--corsProxy` | Enables CORS proxy. If not provided falls back to yaml config 'enableCorsProxy'. | boolean | |
| 319 | 331 | | `--disableCsrf` | Disables CSRF protection | boolean | | |
| 320 | If the ST-hosting device is on the same wifi network, you will use the ST-host's internal wifi IP: | 332 | | `--ssl` | Enables SSL | boolean | |
| 321 | 333 | | `--certPath` | Path to your certificate file. | string | | |
| 322 | * For Windows: windows button > type `cmd.exe` in the search bar > type `ipconfig` in the console, hit Enter > look for `IPv4` listing. | 334 | | `--keyPath` | Path to your private key file. | string | |
| 323 | 335 | | `--whitelist` | Enables whitelist mode | boolean | | |
| 324 | If you (or someone else) want to connect to your hosted ST while not being on the same network, you will need the public IP of your ST-hosting device. | 336 | | `--dataRoot` | Root directory for data storage | string | |
| 337 | | `--avoidLocalhost` | Avoids using 'localhost' for autorun in auto mode. | boolean | | ||
| 338 | | `--basicAuthMode` | Enables basic authentication | boolean | | ||
| 339 | | `--requestProxyEnabled` | Enables a use of proxy for outgoing requests | boolean | | ||
| 340 | | `--requestProxyUrl` | Request proxy URL (HTTP or SOCKS protocols) | string | | ||
| 341 | | `--requestProxyBypass` | Request proxy bypass list (space separated list of hosts) | array | | ||
| 325 | 342 | ||
| 326 | * While using the ST-hosting device, access [this page](https://whatismyipaddress.com/) and look for `IPv4`. This is what you would use to connect from the remote device. | 343 | ## Remote connections |
| 327 | |||
| 328 | ### 3. Connect the remote device to the ST host machine | ||
| 329 | |||
| 330 | Whatever IP you ended up with for your situation, you will put that IP address and port number into the remote device's web browser. | ||
| 331 | |||
| 332 | A typical address for an ST host on the same wifi network would look like this: | ||
| 333 | |||
| 334 | `http://192.168.0.5:8000` | ||
| 335 | |||
| 336 | Use http:// NOT https:// | ||
| 337 | |||
| 338 | ### Opening your ST to all IPs | ||
| 339 | |||
| 340 | We do not recommend doing this, but you can open `config.yaml` and change `whitelistMode` to `false`. | ||
| 341 | |||
| 342 | You must remove (or rename) `whitelist.txt` in the SillyTavern base install folder if it exists. | ||
| 343 | |||
| 344 | This is usually an insecure practice, so we require you to set a username and password when you do this. | ||
| 345 | |||
| 346 | The username and password are set in `config.yaml`. | ||
| 347 | 344 | ||
| 348 | After restarting your ST server, any device will be able to connect to it, regardless of their IP as long as they know the username and password. | 345 | Most often this is for people who want to use SillyTavern on their mobile phones while their PC runs the ST server on the same Wi-Fi network. However, it can be used to allow remote connections from anywhere as well. |
| 349 | 346 | ||
| 350 | ### Still Unable To Connect? | 347 | Read the detailed guide on how to set up remote connections in the [Docs](https://docs.sillytavern.app/usage/remoteconnections/). |
| 351 | 348 | ||
| 352 | * Create an inbound/outbound firewall rule for the port found in `config.yaml`. Do NOT mistake this for port-forwarding on your router, otherwise, someone could find your chat logs and that's a big no-no. | 349 | You may also want to configure SillyTavern user profiles with (optional) password protection: [Users](https://docs.sillytavern.app/installation/st-1.12.0-migration-guide/#users). |
| 353 | * Enable the Private Network profile type in Settings > Network and Internet > Ethernet. This is VERY important for Windows 11, otherwise, you would be unable to connect even with the aforementioned firewall rules. | ||
| 354 | 350 | ||
| 355 | ## Performance issues? | 351 | ## Performance issues? |
| 356 | 352 | ||
| 357 | Try enabling the No Blur Effect (Fast UI) mode on the User settings panel. | 353 | 1. Disable the Blur Effect and enable Reduced Motion on the User Settings panel (UI Theme toggles category). |
| 358 | 354 | 2. If using response streaming, set the streaming FPS to a lower value (10-15 FPS is recommended). | |
| 359 | ## I like your project! How do I contribute? | 355 | 3. Make sure the browser is enabled to use GPU acceleration for rendering. |
| 360 | |||
| 361 | ### DO's | ||
| 362 | |||
| 363 | 1. Send pull requests | ||
| 364 | 2. Send feature suggestions and issue reports using established templates | ||
| 365 | 3. Read the readme file and built-in documentation before asking anything | ||
| 366 | |||
| 367 | ### DONT's | ||
| 368 | |||
| 369 | 1. Offer monetary donations | ||
| 370 | 2. Send bug reports without providing any context | ||
| 371 | 3. Ask the questions that were already answered numerous times | ||
| 372 | |||
| 373 | ## Where can I find the old backgrounds? | ||
| 374 | |||
| 375 | We're moving to a 100% original content only policy, so old background images have been removed from this repository. | ||
| 376 | |||
| 377 | You can find them archived here: | ||
| 378 | |||
| 379 | <https://files.catbox.moe/1xevnc.zip> | ||
| 380 | |||
| 381 | |||
| 382 | |||
| 383 | 356 | ||
| 384 | ## License and credits | 357 | ## License and credits |
| 385 | 358 | ||
| @@ -388,32 +361,19 @@ but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
| 388 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 361 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 389 | GNU Affero General Public License for more details.** | 362 | GNU Affero General Public License for more details.** |
| 390 | 363 | ||
| 391 | * TAI Base by Humi: MIT | 364 | * [TavernAI](https://github.com/TavernAI/TavernAI) 1.2.8 by Humi: MIT License |
| 392 | * Cohee's modifications and derived code: AGPL v3 | 365 | * Portions of CncAnon's TavernAITurbo mod used with permission |
| 393 | * RossAscends' additions: AGPL v3 | 366 | * Visual Novel Mode inspired by the work of PepperTaco (<https://github.com/peppertaco/Tavern/>) |
| 394 | * Portions of CncAnon's TavernAITurbo mod: Unknown license | ||
| 395 | * kingbri's various commits and suggestions (<https://github.com/bdashore3>) | ||
| 396 | * city_unit's extensions and various QoL features (<https://github.com/city-unit>) | ||
| 397 | * StefanDanielSchwarz's various commits and bug reports (<https://github.com/StefanDanielSchwarz>) | ||
| 398 | * Waifu mode inspired by the work of PepperTaco (<https://github.com/peppertaco/Tavern/>) | ||
| 399 | * Thanks Pygmalion University for being awesome testers and suggesting cool features! | ||
| 400 | * Thanks oobabooga for compiling presets for TextGen | ||
| 401 | * KoboldAI Presets from KAI Lite: <https://lite.koboldai.net/> | ||
| 402 | * Noto Sans font by Google (OFL license) | 367 | * Noto Sans font by Google (OFL license) |
| 403 | * Icon theme by Font Awesome <https://fontawesome.com> (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) | 368 | * Icon theme by Font Awesome <https://fontawesome.com> (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) |
| 404 | * AI Horde client library by ZeldaFan0225: <https://github.com/ZeldaFan0225/ai_horde> | 369 | * Default content by @OtisAlejandro (Seraphina character and lorebook) and @kallmeflocc (10K Discord Users Celebratory Background) |
| 405 | * Linux startup script by AlpinDale | ||
| 406 | * Thanks paniphons for providing a FAQ document | ||
| 407 | * 10K Discord Users Celebratory Background by @kallmeflocc | ||
| 408 | * Default content (characters and lore books) provided by @OtisAlejandro, @RossAscends and @kallmeflocc | ||
| 409 | * Korean translation by @doloroushyeonse | ||
| 410 | * k_euler_a support for Horde by <https://github.com/Teashrock> | ||
| 411 | * Chinese translation by [@XXpE3](https://github.com/XXpE3), 中文 ISSUES 可以联系 @XXpE3 | ||
| 412 | * Docker guide by [@mrguymiah](https://github.com/mrguymiah) and [@Bronya-Rand](https://github.com/Bronya-Rand) | 370 | * Docker guide by [@mrguymiah](https://github.com/mrguymiah) and [@Bronya-Rand](https://github.com/Bronya-Rand) |
| 413 | 371 | ||
| 372 | ## Top Contributors | ||
| 373 | |||
| 374 | [](https://github.com/SillyTavern/SillyTavern/graphs/contributors) | ||
| 375 | |||
| 414 | <!-- LINK GROUP --> | 376 | <!-- LINK GROUP --> |
| 415 | [back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square | 377 | [cover]: https://github.com/user-attachments/assets/01a6ae9a-16aa-45f2-8bff-32b5dc587e44 |
| 416 | [cover]: https://github.com/SillyTavern/SillyTavern/assets/18619528/c2be4c3f-aada-4f64-87a3-ae35a68b61a4 | ||
| 417 | [discord-link]: https://discord.gg/sillytavern | 378 | [discord-link]: https://discord.gg/sillytavern |
| 418 | [discord-shield]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square | ||
| 419 | [discord-shield-badge]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge | 379 | [discord-shield-badge]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge |
| @@ -49,3 +49,4 @@ public/css/user.css | |||
| 49 | /data | 49 | /data |
| 50 | /default/scaffold | 50 | /default/scaffold |
| 51 | public/scripts/extensions/third-party | 51 | public/scripts/extensions/third-party |
| 52 | /certs | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | FROM node:lts-alpine3.18 | 1 | FROM node:lts-alpine3.19 |
| 2 | 2 | ||
| 3 | # Arguments | 3 | # Arguments |
| 4 | ARG APP_HOME=/home/node/app | 4 | ARG APP_HOME=/home/node/app |
| @@ -19,7 +19,7 @@ ENV NODE_ENV=production | |||
| 19 | COPY package*.json post-install.js ./ | 19 | COPY package*.json post-install.js ./ |
| 20 | RUN \ | 20 | RUN \ |
| 21 | echo "*** Install npm packages ***" && \ | 21 | echo "*** Install npm packages ***" && \ |
| 22 | npm i --no-audit --no-fund --quiet --omit=dev && npm cache clean --force | 22 | npm i --no-audit --no-fund --loglevel=error --no-progress --omit=dev && npm cache clean --force |
| 23 | 23 | ||
| 24 | # Bundle app source | 24 | # Bundle app source |
| 25 | COPY . ./ | 25 | COPY . ./ |
| @@ -1,7 +1,7 @@ | |||
| 1 | @echo off | 1 | @echo off |
| 2 | pushd %~dp0 | 2 | pushd %~dp0 |
| 3 | set NODE_ENV=production | 3 | set NODE_ENV=production |
| 4 | call npm install --no-audit --no-fund --quiet --omit=dev | 4 | call npm install --no-audit --no-fund --loglevel=error --no-progress --omit=dev |
| 5 | node server.js %* | 5 | node server.js %* |
| 6 | pause | 6 | pause |
| 7 | popd | 7 | popd |
| @@ -12,7 +12,7 @@ if %errorlevel% neq 0 ( | |||
| 12 | ) | 12 | ) |
| 13 | ) | 13 | ) |
| 14 | set NODE_ENV=production | 14 | set NODE_ENV=production |
| 15 | call npm install --no-audit --no-fund --quiet --omit=dev | 15 | call npm install --no-audit --no-fund --loglevel=error --no-progress --omit=dev |
| 16 | node server.js %* | 16 | node server.js %* |
| 17 | pause | 17 | pause |
| 18 | popd | 18 | popd |
| @@ -42,7 +42,7 @@ if NOT "!AUTO_SWITCH!"=="" ( | |||
| 42 | SET TARGET_BRANCH=release | 42 | SET TARGET_BRANCH=release |
| 43 | goto update | 43 | goto update |
| 44 | ) | 44 | ) |
| 45 | 45 | ||
| 46 | echo Auto-switching defined to stay on current branch | 46 | echo Auto-switching defined to stay on current branch |
| 47 | goto update | 47 | goto update |
| 48 | ) | 48 | ) |
| @@ -95,7 +95,7 @@ if %errorlevel% neq 0 ( | |||
| 95 | 95 | ||
| 96 | echo Installing npm packages and starting server | 96 | echo Installing npm packages and starting server |
| 97 | set NODE_ENV=production | 97 | set NODE_ENV=production |
| 98 | call npm install --no-audit --no-fund --quiet --omit=dev | 98 | call npm install --no-audit --no-fund --loglevel=error --no-progress --omit=dev |
| 99 | node server.js %* | 99 | node server.js %* |
| 100 | 100 | ||
| 101 | :end | 101 | :end |
| @@ -37,6 +37,16 @@ basicAuthUser: | |||
| 37 | password: "password" | 37 | password: "password" |
| 38 | # Enables CORS proxy middleware | 38 | # Enables CORS proxy middleware |
| 39 | enableCorsProxy: false | 39 | enableCorsProxy: false |
| 40 | # -- REQUEST PROXY CONFIGURATION -- | ||
| 41 | requestProxy: | ||
| 42 | # If a proxy is enabled, all outgoing HTTP/HTTPS requests will be routed through it. | ||
| 43 | enabled: false | ||
| 44 | # Proxy URL. Possible protocols: http, https, socks, socks5, socks4, pac | ||
| 45 | url: "socks5://username:password@example.com:1080" | ||
| 46 | # Proxy bypass list. Requests to these hosts won't be routed through the proxy. | ||
| 47 | bypass: | ||
| 48 | - localhost | ||
| 49 | - 127.0.0.1 | ||
| 40 | # Enable multi-user mode | 50 | # Enable multi-user mode |
| 41 | enableUserAccounts: false | 51 | enableUserAccounts: false |
| 42 | # Enable discreet login mode: hides user list on the login screen | 52 | # Enable discreet login mode: hides user list on the login screen |
| @@ -73,6 +83,8 @@ skipContentCheck: false | |||
| 73 | disableChatBackup: false | 83 | disableChatBackup: false |
| 74 | # Number of backups to keep for each chat and settings file | 84 | # Number of backups to keep for each chat and settings file |
| 75 | numberOfBackups: 50 | 85 | numberOfBackups: 50 |
| 86 | # Interval in milliseconds to throttle chat backups per user | ||
| 87 | chatBackupThrottleInterval: 10000 | ||
| 76 | # Allowed hosts for card downloads | 88 | # Allowed hosts for card downloads |
| 77 | whitelistImportDomains: | 89 | whitelistImportDomains: |
| 78 | - localhost | 90 | - localhost |
| @@ -90,9 +102,14 @@ whitelistImportDomains: | |||
| 90 | ## headers: | 102 | ## headers: |
| 91 | ## User-Agent: "Googlebot/2.1 (+http://www.google.com/bot.html)" | 103 | ## User-Agent: "Googlebot/2.1 (+http://www.google.com/bot.html)" |
| 92 | requestOverrides: [] | 104 | requestOverrides: [] |
| 93 | # -- PLUGIN CONFIGURATION -- | 105 | # -- EXTENSIONS CONFIGURATION -- |
| 94 | # Enable UI extensions | 106 | # Enable UI extensions |
| 95 | enableExtensions: true | 107 | enableExtensions: true |
| 108 | # Automatically update extensions when a release version changes | ||
| 109 | enableExtensionsAutoUpdate: true | ||
| 110 | # Additional model tokenizers can be downloaded on demand. | ||
| 111 | # Disabling will fallback to another locally available tokenizer. | ||
| 112 | enableDownloadableTokenizers: true | ||
| 96 | # Extension settings | 113 | # Extension settings |
| 97 | extras: | 114 | extras: |
| 98 | # Disables automatic model download from HuggingFace | 115 | # Disables automatic model download from HuggingFace |
| @@ -320,6 +320,26 @@ | |||
| 320 | "type": "novel_preset" | 320 | "type": "novel_preset" |
| 321 | }, | 321 | }, |
| 322 | { | 322 | { |
| 323 | "filename": "presets/novel/Erato-Dragonfruit.json", | ||
| 324 | "type": "novel_preset" | ||
| 325 | }, | ||
| 326 | { | ||
| 327 | "filename": "presets/novel/Erato-Golden Arrow.json", | ||
| 328 | "type": "novel_preset" | ||
| 329 | }, | ||
| 330 | { | ||
| 331 | "filename": "presets/novel/Erato-Shosetsu.json", | ||
| 332 | "type": "novel_preset" | ||
| 333 | }, | ||
| 334 | { | ||
| 335 | "filename": "presets/novel/Erato-Wilder.json", | ||
| 336 | "type": "novel_preset" | ||
| 337 | }, | ||
| 338 | { | ||
| 339 | "filename": "presets/novel/Erato-Zany Scribe.json", | ||
| 340 | "type": "novel_preset" | ||
| 341 | }, | ||
| 342 | { | ||
| 323 | "filename": "presets/textgen/Asterism.json", | 343 | "filename": "presets/textgen/Asterism.json", |
| 324 | "type": "textgen_preset" | 344 | "type": "textgen_preset" |
| 325 | }, | 345 | }, |
| @@ -468,10 +488,6 @@ | |||
| 468 | "type": "context" | 488 | "type": "context" |
| 469 | }, | 489 | }, |
| 470 | { | 490 | { |
| 471 | "filename": "presets/context/Alpaca-Roleplay.json", | ||
| 472 | "type": "context" | ||
| 473 | }, | ||
| 474 | { | ||
| 475 | "filename": "presets/context/Alpaca-Single-Turn.json", | 491 | "filename": "presets/context/Alpaca-Single-Turn.json", |
| 476 | "type": "context" | 492 | "type": "context" |
| 477 | }, | 493 | }, |
| @@ -512,10 +528,6 @@ | |||
| 512 | "type": "context" | 528 | "type": "context" |
| 513 | }, | 529 | }, |
| 514 | { | 530 | { |
| 515 | "filename": "presets/context/Mistral.json", | ||
| 516 | "type": "context" | ||
| 517 | }, | ||
| 518 | { | ||
| 519 | "filename": "presets/context/NovelAI.json", | 531 | "filename": "presets/context/NovelAI.json", |
| 520 | "type": "context" | 532 | "type": "context" |
| 521 | }, | 533 | }, |
| @@ -556,10 +568,6 @@ | |||
| 556 | "type": "instruct" | 568 | "type": "instruct" |
| 557 | }, | 569 | }, |
| 558 | { | 570 | { |
| 559 | "filename": "presets/instruct/Alpaca-Roleplay.json", | ||
| 560 | "type": "instruct" | ||
| 561 | }, | ||
| 562 | { | ||
| 563 | "filename": "presets/instruct/Alpaca-Single-Turn.json", | 571 | "filename": "presets/instruct/Alpaca-Single-Turn.json", |
| 564 | "type": "instruct" | 572 | "type": "instruct" |
| 565 | }, | 573 | }, |
| @@ -600,10 +608,6 @@ | |||
| 600 | "type": "instruct" | 608 | "type": "instruct" |
| 601 | }, | 609 | }, |
| 602 | { | 610 | { |
| 603 | "filename": "presets/instruct/Mistral.json", | ||
| 604 | "type": "instruct" | ||
| 605 | }, | ||
| 606 | { | ||
| 607 | "filename": "presets/instruct/OpenOrca-OpenChat.json", | 611 | "filename": "presets/instruct/OpenOrca-OpenChat.json", |
| 608 | "type": "instruct" | 612 | "type": "instruct" |
| 609 | }, | 613 | }, |
| @@ -686,5 +690,77 @@ | |||
| 686 | { | 690 | { |
| 687 | "filename": "presets/instruct/Gemma 2.json", | 691 | "filename": "presets/instruct/Gemma 2.json", |
| 688 | "type": "instruct" | 692 | "type": "instruct" |
| 693 | }, | ||
| 694 | { | ||
| 695 | "filename": "presets/sysprompt/Actor.json", | ||
| 696 | "type": "sysprompt" | ||
| 697 | }, | ||
| 698 | { | ||
| 699 | "filename": "presets/sysprompt/Assistant - Expert.json", | ||
| 700 | "type": "sysprompt" | ||
| 701 | }, | ||
| 702 | { | ||
| 703 | "filename": "presets/sysprompt/Assistant - Simple.json", | ||
| 704 | "type": "sysprompt" | ||
| 705 | }, | ||
| 706 | { | ||
| 707 | "filename": "presets/sysprompt/Chain of Thought.json", | ||
| 708 | "type": "sysprompt" | ||
| 709 | }, | ||
| 710 | { | ||
| 711 | "filename": "presets/sysprompt/Roleplay - Detailed.json", | ||
| 712 | "type": "sysprompt" | ||
| 713 | }, | ||
| 714 | { | ||
| 715 | "filename": "presets/sysprompt/Roleplay - Immersive.json", | ||
| 716 | "type": "sysprompt" | ||
| 717 | }, | ||
| 718 | { | ||
| 719 | "filename": "presets/sysprompt/Roleplay - Simple.json", | ||
| 720 | "type": "sysprompt" | ||
| 721 | }, | ||
| 722 | { | ||
| 723 | "filename": "presets/sysprompt/Text Adventure.json", | ||
| 724 | "type": "sysprompt" | ||
| 725 | }, | ||
| 726 | { | ||
| 727 | "filename": "presets/sysprompt/Writer - Creative.json", | ||
| 728 | "type": "sysprompt" | ||
| 729 | }, | ||
| 730 | { | ||
| 731 | "filename": "presets/sysprompt/Writer - Realistic.json", | ||
| 732 | "type": "sysprompt" | ||
| 733 | }, | ||
| 734 | { | ||
| 735 | "filename": "presets/sysprompt/Blank.json", | ||
| 736 | "type": "sysprompt" | ||
| 737 | }, | ||
| 738 | { | ||
| 739 | "filename": "presets/sysprompt/Neutral - Chat.json", | ||
| 740 | "type": "sysprompt" | ||
| 741 | }, | ||
| 742 | { | ||
| 743 | "filename": "presets/instruct/Mistral V1.json", | ||
| 744 | "type": "instruct" | ||
| 745 | }, | ||
| 746 | { | ||
| 747 | "filename": "presets/context/Mistral V1.json", | ||
| 748 | "type": "context" | ||
| 749 | }, | ||
| 750 | { | ||
| 751 | "filename": "presets/instruct/Mistral V2 & V3.json", | ||
| 752 | "type": "instruct" | ||
| 753 | }, | ||
| 754 | { | ||
| 755 | "filename": "presets/context/Mistral V2 & V3.json", | ||
| 756 | "type": "context" | ||
| 757 | }, | ||
| 758 | { | ||
| 759 | "filename": "presets/instruct/Mistral V3-Tekken.json", | ||
| 760 | "type": "instruct" | ||
| 761 | }, | ||
| 762 | { | ||
| 763 | "filename": "presets/context/Mistral V3-Tekken.json", | ||
| 764 | "type": "context" | ||
| 689 | } | 765 | } |
| 690 | ] | 766 | ] |
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": false, | 7 | "always_force_name2": false, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": true, | 9 | "single_line": true, |
| 11 | "name": "Adventure" | 10 | "name": "Adventure" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -1,12 +0,0 @@ | |||
| 1 | { | ||
| 2 | "story_string": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}.\n\n{{#if system}}{{system}}\n\n{{/if}}### Input:\n{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}\n\n", | ||
| 3 | "example_separator": "### New Roleplay:", | ||
| 4 | "chat_start": "### New Roleplay:", | ||
| 5 | "use_stop_strings": false, | ||
| 6 | "allow_jailbreak": false, | ||
| 7 | "always_force_name2": true, | ||
| 8 | "trim_sentences": false, | ||
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | ||
| 11 | "name": "Alpaca-Roleplay" | ||
| 12 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": false, | 7 | "always_force_name2": false, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Alpaca-Single-Turn" | 10 | "name": "Alpaca-Single-Turn" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Alpaca" | 10 | "name": "Alpaca" |
| 12 | } | 11 | } |
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "ChatML-Names" | 10 | "name": "ChatML-Names" |
| 12 | } | 11 | } |
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "ChatML" | 10 | "name": "ChatML" |
| 12 | } | 11 | } |
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Command R" | 10 | "name": "Command R" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Default" | 10 | "name": "Default" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": false, | 7 | "always_force_name2": false, |
| 8 | "trim_sentences": true, | 8 | "trim_sentences": true, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "DreamGen Role-Play V1 ChatML" | 10 | "name": "DreamGen Role-Play V1 ChatML" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": false, | 7 | "always_force_name2": false, |
| 8 | "trim_sentences": true, | 8 | "trim_sentences": true, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "DreamGen Role-Play V1 Llama3" | 10 | "name": "DreamGen Role-Play V1 Llama3" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Gemma 2" | 10 | "name": "Gemma 2" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -1,12 +1,11 @@ | |||
| 1 | { | 1 | { |
| 2 | "story_string": "### Instruction:\nWrite {{char}}'s next reply in this roleplay with {{user}}. Use the provided character sheet and example dialogue for formatting direction and character speech patterns.\n\n{{#if system}}{{system}}\n\n{{/if}}### Character Sheet:\n{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}", | 2 | "story_string": "### Instruction:\n{{#if system}}{{system}}\n\n{{/if}}### Character Sheet:\n{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}", |
| 3 | "example_separator": "### Example:", | 3 | "example_separator": "### Example:", |
| 4 | "chat_start": "### START ROLEPLAY:", | 4 | "chat_start": "### START ROLEPLAY:", |
| 5 | "use_stop_strings": false, | 5 | "use_stop_strings": false, |
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Libra-32B" | 10 | "name": "Libra-32B" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Lightning 1.1" | 10 | "name": "Lightning 1.1" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Llama 2 Chat" | 10 | "name": "Llama 2 Chat" |
| 12 | } | 11 | } |
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Llama 3 Instruct" | 10 | "name": "Llama 3 Instruct" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Llama-3-Instruct-Names" | 10 | "name": "Llama-3-Instruct-Names" |
| 12 | } | 11 | } |
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Minimalist" | 10 | "name": "Minimalist" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -0,0 +1,11 @@ | |||
| 1 | { | ||
| 2 | "story_string": " [INST] {{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{personality}}\n{{/if}}{{#if scenario}}{{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}{{trim}} [/INST] Understood.</s>", | ||
| 3 | "example_separator": "", | ||
| 4 | "chat_start": "", | ||
| 5 | "use_stop_strings": false, | ||
| 6 | "allow_jailbreak": false, | ||
| 7 | "always_force_name2": true, | ||
| 8 | "trim_sentences": false, | ||
| 9 | "single_line": false, | ||
| 10 | "name": "Mistral V1" | ||
| 11 | } | ||
| @@ -1,12 +1,11 @@ | |||
| 1 | { | 1 | { |
| 2 | "story_string": "[INST] {{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}{{trim}} [/INST]", | 2 | "story_string": "[INST] {{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{personality}}\n{{/if}}{{#if scenario}}{{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}{{trim}}[/INST] Understood.</s>", |
| 3 | "example_separator": "Examples:", | 3 | "example_separator": "", |
| 4 | "chat_start": "", | 4 | "chat_start": "", |
| 5 | "use_stop_strings": false, | 5 | "use_stop_strings": false, |
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Mistral" | 10 | "name": "Mistral V2 & V3" |
| 12 | } | 11 | } |
| @@ -0,0 +1,11 @@ | |||
| 1 | { | ||
| 2 | "story_string": "[INST]{{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{personality}}\n{{/if}}{{#if scenario}}{{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}{{trim}}[/INST]Understood.</s>", | ||
| 3 | "example_separator": "", | ||
| 4 | "chat_start": "", | ||
| 5 | "use_stop_strings": false, | ||
| 6 | "allow_jailbreak": false, | ||
| 7 | "always_force_name2": true, | ||
| 8 | "trim_sentences": false, | ||
| 9 | "single_line": false, | ||
| 10 | "name": "Mistral V3-Tekken" | ||
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "NovelAI" | 10 | "name": "NovelAI" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "OldDefault" | 10 | "name": "OldDefault" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Phi" | 10 | "name": "Phi" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Pygmalion" | 10 | "name": "Pygmalion" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Story" | 10 | "name": "Story" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "Synthia" | 10 | "name": "Synthia" |
| 12 | } | 11 | } |
| @@ -6,7 +6,6 @@ | |||
| 6 | "allow_jailbreak": false, | 6 | "allow_jailbreak": false, |
| 7 | "always_force_name2": true, | 7 | "always_force_name2": true, |
| 8 | "trim_sentences": false, | 8 | "trim_sentences": false, |
| 9 | "include_newline": false, | ||
| 10 | "single_line": false, | 9 | "single_line": false, |
| 11 | "name": "simple-proxy-for-tavern" | 10 | "name": "simple-proxy-for-tavern" |
| 12 | } | ||
| 12 | \ No newline at end of file | \ No newline at end of file | |
| 11 | } | ||
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "[Enter Adventure Mode. Narrate the story based on {{user}}'s dialogue and actions after \">\". Describe the surroundings in vivid detail. Be detailed, creative, verbose, and proactive. Move the story forward by introducing fantasy elements and interesting characters.]", | ||
| 3 | "input_sequence": "", | 2 | "input_sequence": "", |
| 4 | "output_sequence": "", | 3 | "output_sequence": "", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "none", |
| 11 | "names_force_groups": false, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,24 +0,0 @@ | |||
| 1 | { | ||
| 2 | "system_prompt": "Develop the plot slowly, always stay in character. Describe all actions in full, elaborate, explicit, graphic, and vivid detail. Mention all relevant sensory perceptions.", | ||
| 3 | "input_sequence": "### Instruction:", | ||
| 4 | "output_sequence": "### Response:", | ||
| 5 | "last_output_sequence": "### Response (2 paragraphs, engaging, natural, authentic, descriptive, creative):", | ||
| 6 | "system_sequence": "### Input:", | ||
| 7 | "stop_sequence": "", | ||
| 8 | "wrap": true, | ||
| 9 | "macro": true, | ||
| 10 | "names": true, | ||
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | ||
| 13 | "system_sequence_prefix": "", | ||
| 14 | "system_sequence_suffix": "", | ||
| 15 | "first_output_sequence": "", | ||
| 16 | "skip_examples": false, | ||
| 17 | "output_suffix": "\n\n", | ||
| 18 | "input_suffix": "\n\n", | ||
| 19 | "system_suffix": "\n\n", | ||
| 20 | "user_alignment_message": "", | ||
| 21 | "system_same_as_user": false, | ||
| 22 | "last_system_sequence": "", | ||
| 23 | "name": "Alpaca-Roleplay" | ||
| 24 | } | ||
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Write {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\nWrite 1 reply only, italicize actions, and avoid quotation marks. Use markdown. Be proactive, creative, and drive the plot and conversation forward. Include dialog as well as narration.", | ||
| 3 | "input_sequence": "", | 2 | "input_sequence": "", |
| 4 | "output_sequence": "", | 3 | "output_sequence": "", |
| 5 | "last_output_sequence": "\n### Response:", | 4 | "last_output_sequence": "\n### Response:", |
| @@ -7,12 +6,11 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| 15 | "first_output_sequence": "<START OF ROLEPLAY>", | 13 | "first_output_sequence": "<START OF CHAT>", |
| 16 | "skip_examples": false, | 14 | "skip_examples": false, |
| 17 | "output_suffix": "", | 15 | "output_suffix": "", |
| 18 | "input_suffix": "", | 16 | "input_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\nWrite {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n", | ||
| 3 | "input_sequence": "### Instruction:", | 2 | "input_sequence": "### Instruction:", |
| 4 | "output_sequence": "### Response:", | 3 | "output_sequence": "### Response:", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}.", | ||
| 3 | "input_sequence": "<|im_start|>[{{name}}]", | 2 | "input_sequence": "<|im_start|>[{{name}}]", |
| 4 | "output_sequence": "<|im_start|>[{{name}}]", | 3 | "output_sequence": "<|im_start|>[{{name}}]", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "<|im_end|>", | 6 | "stop_sequence": "<|im_end|>", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "none", |
| 11 | "names_force_groups": false, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}.", | ||
| 3 | "input_sequence": "<|im_start|>user", | 2 | "input_sequence": "<|im_start|>user", |
| 4 | "output_sequence": "<|im_start|>assistant", | 3 | "output_sequence": "<|im_start|>assistant", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "<|im_end|>", | 6 | "stop_sequence": "<|im_end|>", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": true, | 9 | "names_behavior": "always", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Write {{char}}'s next reply in this fictional roleplay with {{user}}.", | ||
| 3 | "input_sequence": "<|START_OF_TURN_TOKEN|><|USER_TOKEN|>", | 2 | "input_sequence": "<|START_OF_TURN_TOKEN|><|USER_TOKEN|>", |
| 4 | "output_sequence": "<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>", | 3 | "output_sequence": "<|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>", |
| 5 | "first_output_sequence": "", | 4 | "first_output_sequence": "", |
| @@ -9,8 +8,7 @@ | |||
| 9 | "stop_sequence": "<|END_OF_TURN_TOKEN|>", | 8 | "stop_sequence": "<|END_OF_TURN_TOKEN|>", |
| 10 | "wrap": false, | 9 | "wrap": false, |
| 11 | "macro": true, | 10 | "macro": true, |
| 12 | "names": true, | 11 | "names_behavior": "always", |
| 13 | "names_force_groups": true, | ||
| 14 | "activation_regex": "", | 12 | "activation_regex": "", |
| 15 | "skip_examples": false, | 13 | "skip_examples": false, |
| 16 | "output_suffix": "<|END_OF_TURN_TOKEN|>", | 14 | "output_suffix": "<|END_OF_TURN_TOKEN|>", |
| @@ -21,4 +19,4 @@ | |||
| 21 | "last_system_sequence": "", | 19 | "last_system_sequence": "", |
| 22 | "system_same_as_user": false, | 20 | "system_same_as_user": false, |
| 23 | "name": "Command R" | 21 | "name": "Command R" |
| 24 | } | ||
| 24 | \ No newline at end of file | \ No newline at end of file | |
| 22 | } | ||
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "You are an intelligent, skilled, versatile writer.\n\nYour task is to write a role-play based on the information below.", | ||
| 3 | "input_sequence": "\n<|im_start|>text names= {{name}}\n", | 2 | "input_sequence": "\n<|im_start|>text names= {{name}}\n", |
| 4 | "output_sequence": "\n<|im_start|>text names= {{name}}\n", | 3 | "output_sequence": "\n<|im_start|>text names= {{name}}\n", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "\n<|im_start|>", | 6 | "stop_sequence": "\n<|im_start|>", |
| 8 | "wrap": false, | 7 | "wrap": false, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "none", |
| 11 | "names_force_groups": false, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "You are an intelligent, skilled, versatile writer.\n\nYour task is to write a role-play based on the information below.", | ||
| 3 | "input_sequence": "<|eot_id|>\n<|start_header_id|>writer character: {{user}}<|end_header_id|>\n\n", | 2 | "input_sequence": "<|eot_id|>\n<|start_header_id|>writer character: {{user}}<|end_header_id|>\n\n", |
| 4 | "output_sequence": "<|eot_id|>\n<|start_header_id|>writer character: {{char}}<|end_header_id|>\n\n", | 3 | "output_sequence": "<|eot_id|>\n<|start_header_id|>writer character: {{char}}<|end_header_id|>\n\n", |
| 5 | "first_output_sequence": "", | 4 | "first_output_sequence": "", |
| @@ -10,9 +9,8 @@ | |||
| 10 | "separator_sequence": "", | 9 | "separator_sequence": "", |
| 11 | "wrap": false, | 10 | "wrap": false, |
| 12 | "macro": true, | 11 | "macro": true, |
| 13 | "names": false, | 12 | "names_behavior": "none", |
| 14 | "names_force_groups": false, | ||
| 15 | "activation_regex": "", | 13 | "activation_regex": "", |
| 16 | "skip_examples": false, | 14 | "skip_examples": false, |
| 17 | "name": "DreamGen Role-Play V1 Llama3" | 15 | "name": "DreamGen Role-Play V1 Llama3" |
| 18 | } | ||
| 18 | \ No newline at end of file | \ No newline at end of file | |
| 16 | } | ||
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Continue writing this story and portray characters realistically.", | ||
| 3 | "input_sequence": "<start_of_turn>user", | 2 | "input_sequence": "<start_of_turn>user", |
| 4 | "output_sequence": "<start_of_turn>model", | 3 | "output_sequence": "<start_of_turn>model", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "<end_of_turn>", | 6 | "stop_sequence": "<end_of_turn>", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "none", |
| 11 | "names_force_groups": false, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Write {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n", | ||
| 3 | "input_sequence": "USER: ", | 2 | "input_sequence": "USER: ", |
| 4 | "output_sequence": "GPT: ", | 3 | "output_sequence": "GPT: ", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": false, | 7 | "wrap": false, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "BEGINNING OF CONVERSATION: ", | 11 | "system_sequence_prefix": "BEGINNING OF CONVERSATION: ", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Avoid repetition, don't loop. Develop the plot slowly, always stay in character. Describe all actions in full, elaborate, explicit, graphic, and vivid detail. Mention all relevant sensory perceptions.", | ||
| 3 | "input_sequence": "", | 2 | "input_sequence": "", |
| 4 | "output_sequence": "", | 3 | "output_sequence": "", |
| 5 | "last_output_sequence": "\n### Response:", | 4 | "last_output_sequence": "\n### Response:", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": true, | 9 | "names_behavior": "always", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n### Instruction:\nTake the role of {{char}} in a play that leaves a lasting impression on {{user}}. Write {{char}}'s next reply.\nNever skip or gloss over {{char}}’s actions. Progress the scene at a naturally slow pace.\n\n", | ||
| 3 | "input_sequence": "### Instruction:", | 2 | "input_sequence": "### Instruction:", |
| 4 | "output_sequence": "### Response: (length = unlimited)", | 3 | "output_sequence": "### Response: (length = unlimited)", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Write {{char}}'s next reply in this fictional roleplay with {{user}}.", | ||
| 3 | "input_sequence": "[INST] ", | 2 | "input_sequence": "[INST] ", |
| 4 | "output_sequence": "", | 3 | "output_sequence": "", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": false, | 7 | "wrap": false, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "You are an expert actor that can fully immerse yourself into any role given. You do not break character for any reason, even if someone tries addressing you as an AI or language model. Currently your role is {{char}}, which is described in detail below. As {{char}}, continue the exchange with {{user}}.", | ||
| 3 | "input_sequence": "<|start_header_id|>user<|end_header_id|>\n\n", | 2 | "input_sequence": "<|start_header_id|>user<|end_header_id|>\n\n", |
| 4 | "output_sequence": "<|start_header_id|>assistant<|end_header_id|>\n\n", | 3 | "output_sequence": "<|start_header_id|>assistant<|end_header_id|>\n\n", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "<|eot_id|>", | 6 | "stop_sequence": "<|eot_id|>", |
| 8 | "wrap": false, | 7 | "wrap": false, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": true, | 9 | "names_behavior": "always", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "You are an expert actor that can fully immerse yourself into any role given. You do not break character for any reason, even if someone tries addressing you as an AI or language model. Currently your role is {{char}}, which is described in detail below. As {{char}}, continue the exchange with {{user}}.", | ||
| 3 | "input_sequence": "<|start_header_id|>[{{name}}]<|end_header_id|>\n\n", | 2 | "input_sequence": "<|start_header_id|>[{{name}}]<|end_header_id|>\n\n", |
| 4 | "output_sequence": "<|start_header_id|>[{{name}}]<|end_header_id|>\n\n", | 3 | "output_sequence": "<|start_header_id|>[{{name}}]<|end_header_id|>\n\n", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "<|eot_id|>", | 6 | "stop_sequence": "<|eot_id|>", |
| 8 | "wrap": false, | 7 | "wrap": false, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "none", |
| 11 | "names_force_groups": false, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Enter roleplay mode. You must act as {{char}}, whose persona follows:", | ||
| 3 | "input_sequence": "<|user|>", | 2 | "input_sequence": "<|user|>", |
| 4 | "output_sequence": "<|model|>", | 3 | "output_sequence": "<|model|>", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "</s>", | 6 | "stop_sequence": "</s>", |
| 8 | "wrap": false, | 7 | "wrap": false, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "<|system|>", | 11 | "system_sequence_prefix": "<|system|>", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -0,0 +1,22 @@ | |||
| 1 | { | ||
| 2 | "input_sequence": " [INST] ", | ||
| 3 | "output_sequence": " [/INST] ", | ||
| 4 | "last_output_sequence": " [/INST]", | ||
| 5 | "system_sequence": "", | ||
| 6 | "stop_sequence": "", | ||
| 7 | "wrap": false, | ||
| 8 | "macro": true, | ||
| 9 | "names_behavior": "always", | ||
| 10 | "activation_regex": "", | ||
| 11 | "system_sequence_prefix": "", | ||
| 12 | "system_sequence_suffix": "", | ||
| 13 | "first_output_sequence": "", | ||
| 14 | "skip_examples": false, | ||
| 15 | "output_suffix": "</s>", | ||
| 16 | "input_suffix": "", | ||
| 17 | "system_suffix": "", | ||
| 18 | "user_alignment_message": "Let's get started. Please respond based on the information and instructions provided above.", | ||
| 19 | "system_same_as_user": true, | ||
| 20 | "last_system_sequence": "", | ||
| 21 | "name": "Mistral V1" | ||
| 22 | } | ||
| @@ -1,24 +1,22 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Write {{char}}'s next reply in this fictional roleplay with {{user}}.", | ||
| 3 | "input_sequence": "[INST] ", | 2 | "input_sequence": "[INST] ", |
| 4 | "output_sequence": "", | 3 | "output_sequence": "[/INST] ", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "[/INST]", |
| 6 | "system_sequence": "", | 5 | "system_sequence": "", |
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": false, | 7 | "wrap": false, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": true, | 9 | "names_behavior": "always", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| 15 | "first_output_sequence": "", | 13 | "first_output_sequence": "", |
| 16 | "skip_examples": false, | 14 | "skip_examples": false, |
| 17 | "output_suffix": "\n", | 15 | "output_suffix": "</s>", |
| 18 | "input_suffix": " [/INST]\n", | 16 | "input_suffix": "", |
| 19 | "system_suffix": "", | 17 | "system_suffix": "", |
| 20 | "user_alignment_message": "Let's get started. Please respond based on the information and instructions provided above.", | 18 | "user_alignment_message": "Let's get started. Please respond based on the information and instructions provided above.", |
| 21 | "system_same_as_user": true, | 19 | "system_same_as_user": true, |
| 22 | "last_system_sequence": "", | 20 | "last_system_sequence": "", |
| 23 | "name": "Mistral" | 21 | "name": "Mistral V2 & V3" |
| 24 | } | 22 | } |
| @@ -0,0 +1,22 @@ | |||
| 1 | { | ||
| 2 | "input_sequence": "[INST]", | ||
| 3 | "output_sequence": "[/INST]", | ||
| 4 | "last_output_sequence": "", | ||
| 5 | "system_sequence": "", | ||
| 6 | "stop_sequence": "", | ||
| 7 | "wrap": false, | ||
| 8 | "macro": true, | ||
| 9 | "names_behavior": "always", | ||
| 10 | "activation_regex": "", | ||
| 11 | "system_sequence_prefix": "", | ||
| 12 | "system_sequence_suffix": "", | ||
| 13 | "first_output_sequence": "", | ||
| 14 | "skip_examples": false, | ||
| 15 | "output_suffix": "</s>", | ||
| 16 | "input_suffix": "", | ||
| 17 | "system_suffix": "", | ||
| 18 | "user_alignment_message": "Let's get started. Please respond based on the information and instructions provided above.", | ||
| 19 | "system_same_as_user": true, | ||
| 20 | "last_system_sequence": "", | ||
| 21 | "name": "Mistral V3-Tekken" | ||
| 22 | } | ||
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "You are a helpful assistant. Please answer truthfully and write out your thinking step by step to be sure you get the right answer. If you make a mistake or encounter an error in your thinking, say so out loud and attempt to correct it. If you don't know or aren't sure about something, say so clearly. You will act as a professional logician, mathematician, and physicist. You will also act as the most appropriate type of expert to answer any particular question or solve the relevant problem; state which expert type your are, if so. Also think of any particular named expert that would be ideal to answer the relevant question or solve the relevant problem; name and act as them, if appropriate.\n", | ||
| 3 | "input_sequence": "\nUser: ", | 2 | "input_sequence": "\nUser: ", |
| 4 | "output_sequence": "\nAssistant: ", | 3 | "output_sequence": "\nAssistant: ", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": false, | 7 | "wrap": false, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Write {{char}}'s next reply in this fictional roleplay with {{user}}.", | ||
| 3 | "input_sequence": "<|user|>\n", | 2 | "input_sequence": "<|user|>\n", |
| 4 | "output_sequence": "<|assistant|>\n", | 3 | "output_sequence": "<|assistant|>\n", |
| 5 | "first_output_sequence": "", | 4 | "first_output_sequence": "", |
| @@ -9,8 +8,7 @@ | |||
| 9 | "stop_sequence": "<|end|>", | 8 | "stop_sequence": "<|end|>", |
| 10 | "wrap": false, | 9 | "wrap": false, |
| 11 | "macro": true, | 10 | "macro": true, |
| 12 | "names": true, | 11 | "names_behavior": "always", |
| 13 | "names_force_groups": true, | ||
| 14 | "activation_regex": "", | 12 | "activation_regex": "", |
| 15 | "skip_examples": false, | 13 | "skip_examples": false, |
| 16 | "output_suffix": "<|end|>\n", | 14 | "output_suffix": "<|end|>\n", |
| @@ -21,4 +19,4 @@ | |||
| 21 | "last_system_sequence": "", | 19 | "last_system_sequence": "", |
| 22 | "system_same_as_user": false, | 20 | "system_same_as_user": false, |
| 23 | "name": "Phi" | 21 | "name": "Phi" |
| 24 | } | ||
| 24 | \ No newline at end of file | \ No newline at end of file | |
| 22 | } | ||
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Enter RP mode. You shall reply to {{user}} while staying in character. Your responses must be detailed, creative, immersive, and drive the scenario forward. You will follow {{char}}'s persona.", | ||
| 3 | "input_sequence": "<|user|>", | 2 | "input_sequence": "<|user|>", |
| 4 | "output_sequence": "<|model|>", | 3 | "output_sequence": "<|model|>", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "<|user|>", | 6 | "stop_sequence": "<|user|>", |
| 8 | "wrap": false, | 7 | "wrap": false, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": true, | 9 | "names_behavior": "always", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "<|system|>", | 11 | "system_sequence_prefix": "<|system|>", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "", | ||
| 3 | "input_sequence": "", | 2 | "input_sequence": "", |
| 4 | "output_sequence": "", | 3 | "output_sequence": "", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "none", |
| 11 | "names_force_groups": false, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Elaborate on the topic using a Tree of Thoughts and backtrack when necessary to construct a clear, cohesive Chain of Thought reasoning. Always answer without hesitation.", | ||
| 3 | "input_sequence": "USER: ", | 2 | "input_sequence": "USER: ", |
| 4 | "output_sequence": "ASSISTANT: ", | 3 | "output_sequence": "ASSISTANT: ", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": false, | 7 | "wrap": false, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "SYSTEM: ", | 11 | "system_sequence_prefix": "SYSTEM: ", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "A chat between a curious human and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the human's questions.\n\nWrite {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n", | ||
| 3 | "input_sequence": "### Human:", | 2 | "input_sequence": "### Human:", |
| 4 | "output_sequence": "### Assistant:", | 3 | "output_sequence": "### Assistant:", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.\n\nWrite {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n", | ||
| 3 | "input_sequence": "\nUSER: ", | 2 | "input_sequence": "\nUSER: ", |
| 4 | "output_sequence": "\nASSISTANT: ", | 3 | "output_sequence": "\nASSISTANT: ", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": false, | 7 | "wrap": false, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "BEGINNING OF CONVERSATION:", | 11 | "system_sequence_prefix": "BEGINNING OF CONVERSATION:", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions.\n\nWrite {{char}}'s next detailed reply in a fictional roleplay chat between {{user}} and {{char}}.", | ||
| 3 | "input_sequence": "USER: ", | 2 | "input_sequence": "USER: ", |
| 4 | "output_sequence": "ASSISTANT: ", | 3 | "output_sequence": "ASSISTANT: ", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "Write {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n", | ||
| 3 | "input_sequence": "", | 2 | "input_sequence": "", |
| 4 | "output_sequence": "### Response:", | 3 | "output_sequence": "### Response:", |
| 5 | "last_output_sequence": "", | 4 | "last_output_sequence": "", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "force", |
| 11 | "names_force_groups": true, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -1,5 +1,4 @@ | |||
| 1 | { | 1 | { |
| 2 | "system_prompt": "[System note: Write one reply only. Do not decide what {{user}} says or does. Write at least one paragraph, up to four. Be descriptive and immersive, providing vivid details about {{char}}'s actions, emotions, and the environment. Write with a high degree of complexity and burstiness. Do not repeat this message.]", | ||
| 3 | "input_sequence": "### Instruction:\n#### {{name}}:", | 2 | "input_sequence": "### Instruction:\n#### {{name}}:", |
| 4 | "output_sequence": "### Response:\n#### {{name}}:", | 3 | "output_sequence": "### Response:\n#### {{name}}:", |
| 5 | "last_output_sequence": "### Response (2 paragraphs, engaging, natural, authentic, descriptive, creative):\n#### {{name}}:", | 4 | "last_output_sequence": "### Response (2 paragraphs, engaging, natural, authentic, descriptive, creative):\n#### {{name}}:", |
| @@ -7,8 +6,7 @@ | |||
| 7 | "stop_sequence": "", | 6 | "stop_sequence": "", |
| 8 | "wrap": true, | 7 | "wrap": true, |
| 9 | "macro": true, | 8 | "macro": true, |
| 10 | "names": false, | 9 | "names_behavior": "none", |
| 11 | "names_force_groups": false, | ||
| 12 | "activation_regex": "", | 10 | "activation_regex": "", |
| 13 | "system_sequence_prefix": "", | 11 | "system_sequence_prefix": "", |
| 14 | "system_sequence_suffix": "", | 12 | "system_sequence_suffix": "", |
| @@ -14,7 +14,10 @@ | |||
| 14 | "use_cache": false, | 14 | "use_cache": false, |
| 15 | "return_full_text": false, | 15 | "return_full_text": false, |
| 16 | "prefix": "vanilla", | 16 | "prefix": "vanilla", |
| 17 | "cfg_scale": 1, | ||
| 18 | "phrase_rep_pen": "medium", | 17 | "phrase_rep_pen": "medium", |
| 19 | "max_context": 7800 | 18 | "max_context": 7800, |
| 19 | "min_p": 0, | ||
| 20 | "math1_temp": 1, | ||
| 21 | "math1_quad": 0, | ||
| 22 | "math1_quad_entropy_scale": 0 | ||
| 20 | } | 23 | } |
| @@ -1,5 +1,5 @@ | |||
| 1 | { | 1 | { |
| 2 | "order": [6, 0, 1, 2, 3], | 2 | "order": [0, 1, 2, 3], |
| 3 | "temperature": 1, | 3 | "temperature": 1, |
| 4 | "max_length": 150, | 4 | "max_length": 150, |
| 5 | "min_length": 1, | 5 | "min_length": 1, |
| @@ -14,6 +14,9 @@ | |||
| 14 | "return_full_text": false, | 14 | "return_full_text": false, |
| 15 | "prefix": "vanilla", | 15 | "prefix": "vanilla", |
| 16 | "phrase_rep_pen": "medium", | 16 | "phrase_rep_pen": "medium", |
| 17 | "cfg_scale": 1.55, | 17 | "max_context": 7800, |
| 18 | "max_context": 7800 | 18 | "min_p": 0, |
| 19 | "math1_temp": 1, | ||
| 20 | "math1_quad": 0, | ||
| 21 | "math1_quad_entropy_scale": 0 | ||
| 19 | } | 22 | } |
| @@ -1,5 +1,5 @@ | |||
| 1 | { | 1 | { |
| 2 | "order": [6, 2, 3, 1, 0], | 2 | "order": [2, 3, 1, 0], |
| 3 | "temperature": 1, | 3 | "temperature": 1, |
| 4 | "max_length": 150, | 4 | "max_length": 150, |
| 5 | "min_length": 1, | 5 | "min_length": 1, |
| @@ -15,6 +15,9 @@ | |||
| 15 | "return_full_text": false, | 15 | "return_full_text": false, |
| 16 | "prefix": "vanilla", | 16 | "prefix": "vanilla", |
| 17 | "phrase_rep_pen": "very_aggressive", | 17 | "phrase_rep_pen": "very_aggressive", |
| 18 | "cfg_scale": 1.3, | 18 | "max_context": 7800, |
| 19 | "max_context": 7800 | 19 | "min_p": 0, |
| 20 | "math1_temp": 1, | ||
| 21 | "math1_quad": 0, | ||
| 22 | "math1_quad_entropy_scale": 0 | ||
| 20 | } | 23 | } |
| @@ -15,7 +15,10 @@ | |||
| 15 | "use_cache": false, | 15 | "use_cache": false, |
| 16 | "return_full_text": false, | 16 | "return_full_text": false, |
| 17 | "prefix": "vanilla", | 17 | "prefix": "vanilla", |
| 18 | "cfg_scale": 1, | ||
| 19 | "phrase_rep_pen": "aggressive", | 18 | "phrase_rep_pen": "aggressive", |
| 20 | "max_context": 7800 | 19 | "max_context": 7800, |
| 20 | "min_p": 0, | ||
| 21 | "math1_temp": 1, | ||
| 22 | "math1_quad": 0, | ||
| 23 | "math1_quad_entropy_scale": 0 | ||
| 21 | } | 24 | } |
| @@ -1,5 +1,5 @@ | |||
| 1 | { | 1 | { |
| 2 | "order": [8, 6, 5, 0, 3], | 2 | "order": [8, 5, 0, 3], |
| 3 | "temperature": 0.9, | 3 | "temperature": 0.9, |
| 4 | "max_length": 150, | 4 | "max_length": 150, |
| 5 | "min_length": 1, | 5 | "min_length": 1, |
| @@ -15,6 +15,9 @@ | |||
| 15 | "return_full_text": false, | 15 | "return_full_text": false, |
| 16 | "prefix": "vanilla", | 16 | "prefix": "vanilla", |
| 17 | "phrase_rep_pen": "off", | 17 | "phrase_rep_pen": "off", |
| 18 | "cfg_scale": 1.48, | 18 | "max_context": 7800, |
| 19 | "max_context": 7800 | 19 | "min_p": 0, |
| 20 | "math1_temp": 1, | ||
| 21 | "math1_quad": 0, | ||
| 22 | "math1_quad_entropy_scale": 0 | ||
| 20 | } | 23 | } |
| @@ -15,7 +15,10 @@ | |||
| 15 | "use_cache": false, | 15 | "use_cache": false, |
| 16 | "return_full_text": false, | 16 | "return_full_text": false, |
| 17 | "prefix": "vanilla", | 17 | "prefix": "vanilla", |
| 18 | "cfg_scale": 1, | ||
| 19 | "phrase_rep_pen": "very_light", | 18 | "phrase_rep_pen": "very_light", |
| 20 | "max_context": 7800 | 19 | "max_context": 7800, |
| 20 | "min_p": 0, | ||
| 21 | "math1_temp": 1, | ||
| 22 | "math1_quad": 0, | ||
| 23 | "math1_quad_entropy_scale": 0 | ||
| 21 | } | 24 | } |
| @@ -0,0 +1,31 @@ | |||
| 1 | { | ||
| 2 | "max_context": 8000, | ||
| 3 | "temperature": 1.37, | ||
| 4 | "max_length": 150, | ||
| 5 | "min_length": 1, | ||
| 6 | "top_k": 0, | ||
| 7 | "top_p": 1, | ||
| 8 | "top_a": 0.1, | ||
| 9 | "typical_p": 0.875, | ||
| 10 | "tail_free_sampling": 0.87, | ||
| 11 | "repetition_penalty": 3.25, | ||
| 12 | "repetition_penalty_range": 6000, | ||
| 13 | "repetition_penalty_slope": 3.25, | ||
| 14 | "repetition_penalty_frequency": 0, | ||
| 15 | "repetition_penalty_presence": 0, | ||
| 16 | "phrase_rep_pen": "off", | ||
| 17 | "mirostat_lr": 0.2, | ||
| 18 | "mirostat_tau": 4, | ||
| 19 | "math1_temp": 0.9, | ||
| 20 | "math1_quad": 0.07, | ||
| 21 | "math1_quad_entropy_scale": -0.05, | ||
| 22 | "min_p": 0.035, | ||
| 23 | "order": [ | ||
| 24 | 0, | ||
| 25 | 5, | ||
| 26 | 9, | ||
| 27 | 10, | ||
| 28 | 8, | ||
| 29 | 4 | ||
| 30 | ] | ||
| 31 | } | ||
| @@ -0,0 +1,27 @@ | |||
| 1 | { | ||
| 2 | "max_context": 8000, | ||
| 3 | "temperature": 1, | ||
| 4 | "max_length": 150, | ||
| 5 | "min_length": 1, | ||
| 6 | "top_k": 0, | ||
| 7 | "top_p": 0.995, | ||
| 8 | "top_a": 1, | ||
| 9 | "typical_p": 1, | ||
| 10 | "tail_free_sampling": 0.87, | ||
| 11 | "repetition_penalty": 1.5, | ||
| 12 | "repetition_penalty_range": 2240, | ||
| 13 | "repetition_penalty_slope": 1, | ||
| 14 | "repetition_penalty_frequency": 0, | ||
| 15 | "repetition_penalty_presence": 0, | ||
| 16 | "phrase_rep_pen": "light", | ||
| 17 | "mirostat_lr": 1, | ||
| 18 | "mirostat_tau": 0, | ||
| 19 | "math1_temp": 0.3, | ||
| 20 | "math1_quad": 0.19, | ||
| 21 | "math1_quad_entropy_scale": 0, | ||
| 22 | "min_p": 0, | ||
| 23 | "order": [ | ||
| 24 | 9, | ||
| 25 | 2 | ||
| 26 | ] | ||
| 27 | } | ||
| @@ -0,0 +1,27 @@ | |||
| 1 | { | ||
| 2 | "max_context": 8000, | ||
| 3 | "temperature": 1, | ||
| 4 | "max_length": 150, | ||
| 5 | "min_length": 1, | ||
| 6 | "top_k": 50, | ||
| 7 | "top_p": 0.85, | ||
| 8 | "top_a": 1, | ||
| 9 | "typical_p": 1, | ||
| 10 | "tail_free_sampling": 0.895, | ||
| 11 | "repetition_penalty": 1.63, | ||
| 12 | "repetition_penalty_range": 1024, | ||
| 13 | "repetition_penalty_slope": 3.33, | ||
| 14 | "repetition_penalty_frequency": 0.0035, | ||
| 15 | "repetition_penalty_presence": 0, | ||
| 16 | "phrase_rep_pen": "medium", | ||
| 17 | "mirostat_lr": 1, | ||
| 18 | "mirostat_tau": 0, | ||
| 19 | "math1_temp": 0.3, | ||
| 20 | "math1_quad": 0.0645, | ||
| 21 | "math1_quad_entropy_scale": 0.05, | ||
| 22 | "min_p": 0.05, | ||
| 23 | "order": [ | ||
| 24 | 9, | ||
| 25 | 10 | ||
| 26 | ] | ||
| 27 | } | ||
| @@ -0,0 +1,27 @@ | |||
| 1 | { | ||
| 2 | "max_context": 8000, | ||
| 3 | "temperature": 1, | ||
| 4 | "max_length": 150, | ||
| 5 | "min_length": 1, | ||
| 6 | "top_k": 300, | ||
| 7 | "top_p": 0.98, | ||
| 8 | "top_a": 0.004, | ||
| 9 | "typical_p": 0.96, | ||
| 10 | "tail_free_sampling": 0.96, | ||
| 11 | "repetition_penalty": 1.48, | ||
| 12 | "repetition_penalty_range": 2240, | ||
| 13 | "repetition_penalty_slope": 0.64, | ||
| 14 | "repetition_penalty_frequency": 0, | ||
| 15 | "repetition_penalty_presence": 0, | ||
| 16 | "phrase_rep_pen": "medium", | ||
| 17 | "mirostat_lr": 1, | ||
| 18 | "mirostat_tau": 0, | ||
| 19 | "math1_temp": -0.0485, | ||
| 20 | "math1_quad": 0.145, | ||
| 21 | "math1_quad_entropy_scale": 0, | ||
| 22 | "min_p": 0.02, | ||
| 23 | "order": [ | ||
| 24 | 9, | ||
| 25 | 10 | ||
| 26 | ] | ||
| 27 | } | ||
| @@ -0,0 +1,27 @@ | |||
| 1 | { | ||
| 2 | "max_context": 8000, | ||
| 3 | "temperature": 1, | ||
| 4 | "max_length": 150, | ||
| 5 | "min_length": 1, | ||
| 6 | "top_k": 0, | ||
| 7 | "top_p": 0.99, | ||
| 8 | "top_a": 1, | ||
| 9 | "typical_p": 1, | ||
| 10 | "tail_free_sampling": 0.99, | ||
| 11 | "repetition_penalty": 1, | ||
| 12 | "repetition_penalty_range": 64, | ||
| 13 | "repetition_penalty_slope": 1, | ||
| 14 | "repetition_penalty_frequency": 0.75, | ||
| 15 | "repetition_penalty_presence": 1.5, | ||
| 16 | "phrase_rep_pen": "medium", | ||
| 17 | "mirostat_lr": 1, | ||
| 18 | "mirostat_tau": 1, | ||
| 19 | "math1_temp": -0.4, | ||
| 20 | "math1_quad": 0.6, | ||
| 21 | "math1_quad_entropy_scale": -0.1, | ||
| 22 | "min_p": 0.08, | ||
| 23 | "order": [ | ||
| 24 | 9, | ||
| 25 | 2 | ||
| 26 | ] | ||
| 27 | } | ||
| @@ -16,7 +16,10 @@ | |||
| 16 | "use_cache": false, | 16 | "use_cache": false, |
| 17 | "return_full_text": false, | 17 | "return_full_text": false, |
| 18 | "prefix": "vanilla", | 18 | "prefix": "vanilla", |
| 19 | "cfg_scale": 1, | ||
| 20 | "phrase_rep_pen": "very_light", | 19 | "phrase_rep_pen": "very_light", |
| 21 | "max_context": 7800 | 20 | "max_context": 7800, |
| 21 | "min_p": 0, | ||
| 22 | "math1_temp": 1, | ||
| 23 | "math1_quad": 0, | ||
| 24 | "math1_quad_entropy_scale": 0 | ||
| 22 | } | 25 | } |
| @@ -14,7 +14,10 @@ | |||
| 14 | "use_cache": false, | 14 | "use_cache": false, |
| 15 | "return_full_text": false, | 15 | "return_full_text": false, |
| 16 | "prefix": "vanilla", | 16 | "prefix": "vanilla", |
| 17 | "cfg_scale": 1, | ||
| 18 | "phrase_rep_pen": "off", | 17 | "phrase_rep_pen": "off", |
| 19 | "max_context": 7800 | 18 | "max_context": 7800, |
| 19 | "min_p": 0, | ||
| 20 | "math1_temp": 1, | ||
| 21 | "math1_quad": 0, | ||
| 22 | "math1_quad_entropy_scale": 0 | ||
| 20 | } | 23 | } |
| @@ -1,5 +1,5 @@ | |||
| 1 | { | 1 | { |
| 2 | "order": [6, 0, 8, 5, 3], | 2 | "order": [0, 8, 5, 3], |
| 3 | "temperature": 1.5, | 3 | "temperature": 1.5, |
| 4 | "max_length": 150, | 4 | "max_length": 150, |
| 5 | "min_length": 1, | 5 | "min_length": 1, |
| @@ -15,6 +15,9 @@ | |||
| 15 | "return_full_text": false, | 15 | "return_full_text": false, |
| 16 | "prefix": "vanilla", | 16 | "prefix": "vanilla", |
| 17 | "phrase_rep_pen": "very_aggressive", | 17 | "phrase_rep_pen": "very_aggressive", |
| 18 | "cfg_scale": 1.4, | 18 | "max_context": 7800, |
| 19 | "max_context": 7800 | 19 | "min_p": 0, |
| 20 | "math1_temp": 1, | ||
| 21 | "math1_quad": 0, | ||
| 22 | "math1_quad_entropy_scale": 0 | ||
| 20 | } | 23 | } |
| @@ -16,7 +16,10 @@ | |||
| 16 | "use_cache": false, | 16 | "use_cache": false, |
| 17 | "return_full_text": false, | 17 | "return_full_text": false, |
| 18 | "prefix": "vanilla", | 18 | "prefix": "vanilla", |
| 19 | "cfg_scale": 1, | ||
| 20 | "phrase_rep_pen": "very_light", | 19 | "phrase_rep_pen": "very_light", |
| 21 | "max_context": 7800 | 20 | "max_context": 7800, |
| 21 | "min_p": 0, | ||
| 22 | "math1_temp": 1, | ||
| 23 | "math1_quad": 0, | ||
| 24 | "math1_quad_entropy_scale": 0 | ||
| 22 | } | 25 | } |
| @@ -16,7 +16,10 @@ | |||
| 16 | "use_cache": false, | 16 | "use_cache": false, |
| 17 | "return_full_text": false, | 17 | "return_full_text": false, |
| 18 | "prefix": "vanilla", | 18 | "prefix": "vanilla", |
| 19 | "cfg_scale": 1, | ||
| 20 | "phrase_rep_pen": "very_light", | 19 | "phrase_rep_pen": "very_light", |
| 21 | "max_context": 7800 | 20 | "max_context": 7800, |
| 21 | "min_p": 0, | ||
| 22 | "math1_temp": 1, | ||
| 23 | "math1_quad": 0, | ||
| 24 | "math1_quad_entropy_scale": 0 | ||
| 22 | } | 25 | } |
| @@ -1,5 +1,5 @@ | |||
| 1 | { | 1 | { |
| 2 | "order": [6, 0, 4, 1, 2, 5, 3], | 2 | "order": [0, 4, 1, 2, 5, 3], |
| 3 | "temperature": 1.31, | 3 | "temperature": 1.31, |
| 4 | "max_length": 150, | 4 | "max_length": 150, |
| 5 | "min_length": 1, | 5 | "min_length": 1, |
| @@ -17,6 +17,9 @@ | |||
| 17 | "return_full_text": false, | 17 | "return_full_text": false, |
| 18 | "prefix": "vanilla", | 18 | "prefix": "vanilla", |
| 19 | "phrase_rep_pen": "medium", | 19 | "phrase_rep_pen": "medium", |
| 20 | "cfg_scale": 1.35, | 20 | "max_context": 7800, |
| 21 | "max_context": 7800 | 21 | "min_p": 0, |
| 22 | "math1_temp": 1, | ||
| 23 | "math1_quad": 0, | ||
| 24 | "math1_quad_entropy_scale": 0 | ||
| 22 | } | 25 | } |
| @@ -15,6 +15,9 @@ | |||
| 15 | "return_full_text": false, | 15 | "return_full_text": false, |
| 16 | "prefix": "vanilla", | 16 | "prefix": "vanilla", |
| 17 | "phrase_rep_pen": "medium", | 17 | "phrase_rep_pen": "medium", |
| 18 | "cfg_scale": 1.0, | 18 | "max_context": 7800, |
| 19 | "max_context": 7800 | 19 | "min_p": 0, |
| 20 | "math1_temp": 1, | ||
| 21 | "math1_quad": 0, | ||
| 22 | "math1_quad_entropy_scale": 0 | ||
| 20 | } | 23 | } |
| @@ -13,5 +13,9 @@ | |||
| 13 | "return_full_text": false, | 13 | "return_full_text": false, |
| 14 | "prefix": "vanilla", | 14 | "prefix": "vanilla", |
| 15 | "phrase_rep_pen": "medium", | 15 | "phrase_rep_pen": "medium", |
| 16 | "max_context": 7800 | 16 | "max_context": 7800, |
| 17 | "min_p": 0, | ||
| 18 | "math1_temp": 1, | ||
| 19 | "math1_quad": 0, | ||
| 20 | "math1_quad_entropy_scale": 0 | ||
| 17 | } | 21 | } |
| @@ -16,7 +16,10 @@ | |||
| 16 | "use_cache": false, | 16 | "use_cache": false, |
| 17 | "return_full_text": false, | 17 | "return_full_text": false, |
| 18 | "prefix": "vanilla", | 18 | "prefix": "vanilla", |
| 19 | "cfg_scale": 1, | ||
| 20 | "phrase_rep_pen": "very_light", | 19 | "phrase_rep_pen": "very_light", |
| 21 | "max_context": 7800 | 20 | "max_context": 7800, |
| 21 | "min_p": 0, | ||
| 22 | "math1_temp": 1, | ||
| 23 | "math1_quad": 0, | ||
| 24 | "math1_quad_entropy_scale": 0 | ||
| 22 | } | 25 | } |
| @@ -14,6 +14,9 @@ | |||
| 14 | "return_full_text": false, | 14 | "return_full_text": false, |
| 15 | "prefix": "vanilla", | 15 | "prefix": "vanilla", |
| 16 | "phrase_rep_pen": "aggressive", | 16 | "phrase_rep_pen": "aggressive", |
| 17 | "cfg_scale": 1.0, | 17 | "max_context": 7800, |
| 18 | "max_context": 7800 | 18 | "min_p": 0, |
| 19 | "math1_temp": 1, | ||
| 20 | "math1_quad": 0, | ||
| 21 | "math1_quad_entropy_scale": 0 | ||
| 19 | } | 22 | } |
| @@ -1,5 +1,5 @@ | |||
| 1 | { | 1 | { |
| 2 | "order": [6, 0, 5], | 2 | "order": [0, 5], |
| 3 | "temperature": 0.895, | 3 | "temperature": 0.895, |
| 4 | "max_length": 150, | 4 | "max_length": 150, |
| 5 | "min_length": 1, | 5 | "min_length": 1, |
| @@ -13,6 +13,9 @@ | |||
| 13 | "return_full_text": false, | 13 | "return_full_text": false, |
| 14 | "prefix": "vanilla", | 14 | "prefix": "vanilla", |
| 15 | "phrase_rep_pen": "aggressive", | 15 | "phrase_rep_pen": "aggressive", |
| 16 | "cfg_scale": 1.3, | 16 | "max_context": 7800, |
| 17 | "max_context": 7800 | 17 | "min_p": 0, |
| 18 | "math1_temp": 1, | ||
| 19 | "math1_quad": 0, | ||
| 20 | "math1_quad_entropy_scale": 0 | ||
| 18 | } | 21 | } |
| @@ -16,7 +16,10 @@ | |||
| 16 | "use_cache": false, | 16 | "use_cache": false, |
| 17 | "return_full_text": false, | 17 | "return_full_text": false, |
| 18 | "prefix": "vanilla", | 18 | "prefix": "vanilla", |
| 19 | "cfg_scale": 1, | ||
| 20 | "phrase_rep_pen": "very_light", | 19 | "phrase_rep_pen": "very_light", |
| 21 | "max_context": 7800 | 20 | "max_context": 7800, |
| 21 | "min_p": 0, | ||
| 22 | "math1_temp": 1, | ||
| 23 | "math1_quad": 0, | ||
| 24 | "math1_quad_entropy_scale": 0 | ||
| 22 | } | 25 | } |
| @@ -17,5 +17,9 @@ | |||
| 17 | "return_full_text": false, | 17 | "return_full_text": false, |
| 18 | "prefix": "vanilla", | 18 | "prefix": "vanilla", |
| 19 | "phrase_rep_pen": "very_aggressive", | 19 | "phrase_rep_pen": "very_aggressive", |
| 20 | "max_context": 7800 | 20 | "max_context": 7800, |
| 21 | "min_p": 0, | ||
| 22 | "math1_temp": 1, | ||
| 23 | "math1_quad": 0, | ||
| 24 | "math1_quad_entropy_scale": 0 | ||
| 21 | } | 25 | } |
| @@ -5,10 +5,9 @@ | |||
| 5 | "windowai_model": "", | 5 | "windowai_model": "", |
| 6 | "openrouter_model": "OR_Website", | 6 | "openrouter_model": "OR_Website", |
| 7 | "openrouter_use_fallback": false, | 7 | "openrouter_use_fallback": false, |
| 8 | "openrouter_force_instruct": false, | ||
| 9 | "openrouter_group_models": false, | 8 | "openrouter_group_models": false, |
| 10 | "openrouter_sort_models": "alphabetically", | 9 | "openrouter_sort_models": "alphabetically", |
| 11 | "ai21_model": "j2-ultra", | 10 | "ai21_model": "jamba-1.5-large", |
| 12 | "mistralai_model": "mistral-large-latest", | 11 | "mistralai_model": "mistral-large-latest", |
| 13 | "custom_model": "", | 12 | "custom_model": "", |
| 14 | "custom_url": "", | 13 | "custom_url": "", |
| @@ -19,7 +18,6 @@ | |||
| 19 | "temperature": 1, | 18 | "temperature": 1, |
| 20 | "frequency_penalty": 0, | 19 | "frequency_penalty": 0, |
| 21 | "presence_penalty": 0, | 20 | "presence_penalty": 0, |
| 22 | "count_penalty": 0, | ||
| 23 | "top_p": 1, | 21 | "top_p": 1, |
| 24 | "top_k": 0, | 22 | "top_k": 0, |
| 25 | "top_a": 0, | 23 | "top_a": 0, |
| @@ -233,8 +231,6 @@ | |||
| 233 | "assistant_prefill": "", | 231 | "assistant_prefill": "", |
| 234 | "assistant_impersonation": "", | 232 | "assistant_impersonation": "", |
| 235 | "human_sysprompt_message": "Let's get started. Please generate your response based on the information and instructions provided above.", | 233 | "human_sysprompt_message": "Let's get started. Please generate your response based on the information and instructions provided above.", |
| 236 | "use_ai21_tokenizer": false, | ||
| 237 | "use_google_tokenizer": false, | ||
| 238 | "claude_use_sysprompt": false, | 234 | "claude_use_sysprompt": false, |
| 239 | "use_alt_scale": false, | 235 | "use_alt_scale": false, |
| 240 | "squash_system_messages": false, | 236 | "squash_system_messages": false, |
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Actor", | ||
| 3 | "content": "You are an expert actor that can fully immerse yourself into any role given. You do not break character for any reason, even if someone tries addressing you as an AI or language model. Currently your role is {{char}}, which is described in detail below. As {{char}}, continue the exchange with {{user}}." | ||
| 4 | } | ||
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Assistant - Expert", | ||
| 3 | "content": "You are a helpful assistant. Please answer truthfully and write out your thinking step by step to be sure you get the right answer. If you make a mistake or encounter an error in your thinking, say so out loud and attempt to correct it. If you don't know or aren't sure about something, say so clearly. You will act as a professional logician, mathematician, and physicist. You will also act as the most appropriate type of expert to answer any particular question or solve the relevant problem; state which expert type your are, if so. Also think of any particular named expert that would be ideal to answer the relevant question or solve the relevant problem; name and act as them, if appropriate." | ||
| 4 | } | ||
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Assistant - Simple", | ||
| 3 | "content": "A chat between a curious human and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the human's questions." | ||
| 4 | } | ||
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Blank", | ||
| 3 | "content": "" | ||
| 4 | } | ||
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Chain of Thought", | ||
| 3 | "content": "Elaborate on the topic using a Tree of Thoughts and backtrack when necessary to construct a clear, cohesive Chain of Thought reasoning. Always answer without hesitation." | ||
| 4 | } | ||
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Neutral - Chat", | ||
| 3 | "content": "Write {{char}}'s next reply in a fictional chat between {{char}} and {{user}}." | ||
| 4 | } | ||
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Roleplay - Detailed", | ||
| 3 | "content": "Develop the plot slowly, always stay in character. Describe all actions in full, elaborate, explicit, graphic, and vivid detail. Mention all relevant sensory perceptions. Keep the story immersive and engaging." | ||
| 4 | } | ||
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Roleplay - Immersive", | ||
| 3 | "content": "[System note: Write one reply only. Do not decide what {{user}} says or does. Write at least one paragraph, up to four. Be descriptive and immersive, providing vivid details about {{char}}'s actions, emotions, and the environment. Write with a high degree of complexity and burstiness. Do not repeat this message.]" | ||
| 4 | } | ||
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Roleplay - Simple", | ||
| 3 | "content": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}." | ||
| 4 | } | ||
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Text Adventure", | ||
| 3 | "content": "[Enter Adventure Mode. Narrate the story based on {{user}}'s dialogue and actions after \">\". Describe the surroundings in vivid detail. Be detailed, creative, verbose, and proactive. Move the story forward by introducing fantasy elements and interesting characters.]" | ||
| 4 | } | ||
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Writer - Creative", | ||
| 3 | "content": "You are an intelligent, skilled, versatile writer.\n\nYour task is to write a role-play based on the information below." | ||
| 4 | } | ||
| @@ -0,0 +1,4 @@ | |||
| 1 | { | ||
| 2 | "name": "Writer - Realistic", | ||
| 3 | "content": "Continue writing this story and portray characters realistically." | ||
| 4 | } | ||
| @@ -4,8 +4,8 @@ | |||
| 4 | "api_server": "http://127.0.0.1:5000/api", | 4 | "api_server": "http://127.0.0.1:5000/api", |
| 5 | "preset_settings": "RecoveredRuins", | 5 | "preset_settings": "RecoveredRuins", |
| 6 | "user_avatar": "user-default.png", | 6 | "user_avatar": "user-default.png", |
| 7 | "amount_gen": 250, | 7 | "amount_gen": 350, |
| 8 | "max_context": 2048, | 8 | "max_context": 8192, |
| 9 | "main_api": "koboldhorde", | 9 | "main_api": "koboldhorde", |
| 10 | "world_info_settings": { | 10 | "world_info_settings": { |
| 11 | "world_info": { | 11 | "world_info": { |
| @@ -90,7 +90,6 @@ | |||
| 90 | "pin_examples": false, | 90 | "pin_examples": false, |
| 91 | "strip_examples": false, | 91 | "strip_examples": false, |
| 92 | "trim_sentences": false, | 92 | "trim_sentences": false, |
| 93 | "include_newline": false, | ||
| 94 | "always_force_name2": true, | 93 | "always_force_name2": true, |
| 95 | "user_prompt_bias": "", | 94 | "user_prompt_bias": "", |
| 96 | "show_user_prompt_bias": true, | 95 | "show_user_prompt_bias": true, |
| @@ -142,6 +141,7 @@ | |||
| 142 | "timestamps_enabled": true, | 141 | "timestamps_enabled": true, |
| 143 | "timestamp_model_icon": true, | 142 | "timestamp_model_icon": true, |
| 144 | "mesIDDisplay_enabled": false, | 143 | "mesIDDisplay_enabled": false, |
| 144 | "hideChatAvatars_enabled": false, | ||
| 145 | "max_context_unlocked": false, | 145 | "max_context_unlocked": false, |
| 146 | "prefer_character_prompt": true, | 146 | "prefer_character_prompt": true, |
| 147 | "prefer_character_jailbreak": true, | 147 | "prefer_character_jailbreak": true, |
| @@ -149,11 +149,9 @@ | |||
| 149 | "continue_on_send": false, | 149 | "continue_on_send": false, |
| 150 | "trim_spaces": true, | 150 | "trim_spaces": true, |
| 151 | "relaxed_api_urls": false, | 151 | "relaxed_api_urls": false, |
| 152 | "default_instruct": "", | ||
| 153 | "instruct": { | 152 | "instruct": { |
| 154 | "enabled": false, | 153 | "enabled": false, |
| 155 | "preset": "Alpaca", | 154 | "preset": "Alpaca", |
| 156 | "system_prompt": "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\nWrite {{char}}'s next reply in a fictional roleplay chat between {{user}} and {{char}}.\n", | ||
| 157 | "input_sequence": "### Instruction:", | 155 | "input_sequence": "### Instruction:", |
| 158 | "output_sequence": "### Response:", | 156 | "output_sequence": "### Response:", |
| 159 | "last_output_sequence": "", | 157 | "last_output_sequence": "", |
| @@ -161,8 +159,7 @@ | |||
| 161 | "stop_sequence": "", | 159 | "stop_sequence": "", |
| 162 | "wrap": true, | 160 | "wrap": true, |
| 163 | "macro": true, | 161 | "macro": true, |
| 164 | "names": false, | 162 | "names_behavior": "force", |
| 165 | "names_force_groups": true, | ||
| 166 | "activation_regex": "", | 163 | "activation_regex": "", |
| 167 | "system_sequence_prefix": "", | 164 | "system_sequence_prefix": "", |
| 168 | "system_sequence_suffix": "", | 165 | "system_sequence_suffix": "", |
| @@ -174,7 +171,11 @@ | |||
| 174 | "user_alignment_message": "", | 171 | "user_alignment_message": "", |
| 175 | "system_same_as_user": false | 172 | "system_same_as_user": false |
| 176 | }, | 173 | }, |
| 177 | "default_context": "Default", | 174 | "sysprompt": { |
| 175 | "enabled": true, | ||
| 176 | "name": "Neutral - Chat", | ||
| 177 | "content": "Write {{char}}'s next reply in a fictional chat between {{char}} and {{user}}." | ||
| 178 | }, | ||
| 178 | "context": { | 179 | "context": { |
| 179 | "preset": "Default", | 180 | "preset": "Default", |
| 180 | "story_string": "{{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}", | 181 | "story_string": "{{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}", |
| @@ -195,7 +196,15 @@ | |||
| 195 | "enableLabMode": false, | 196 | "enableLabMode": false, |
| 196 | "enableZenSliders": false, | 197 | "enableZenSliders": false, |
| 197 | "ui_mode": 1, | 198 | "ui_mode": 1, |
| 198 | "forbid_external_media": true | 199 | "forbid_external_media": true, |
| 200 | "stscript": { | ||
| 201 | "parser": { | ||
| 202 | "flags": { | ||
| 203 | "1": true, | ||
| 204 | "2": true | ||
| 205 | } | ||
| 206 | } | ||
| 207 | } | ||
| 199 | }, | 208 | }, |
| 200 | "extension_settings": { | 209 | "extension_settings": { |
| 201 | "apiUrl": "http://localhost:5100", | 210 | "apiUrl": "http://localhost:5100", |
| @@ -226,7 +235,7 @@ | |||
| 226 | "lengthPenaltyStep": 0.1, | 235 | "lengthPenaltyStep": 0.1, |
| 227 | "memoryFrozen": false, | 236 | "memoryFrozen": false, |
| 228 | "source": "extras", | 237 | "source": "extras", |
| 229 | "prompt": "[Pause your roleplay. Summarize the most important facts and events that have happened in the chat so far. If a summary already exists in your memory, use that as a base and expand with new facts. Limit the summary to {{words}} words or less. Your response should include nothing but the summary.]", | 238 | "prompt": "Ignore previous instructions. Summarize the most important facts and events in the story so far. If a summary already exists in your memory, use that as a base and expand with new facts. Limit the summary to {{words}} words or less. Your response should include nothing but the summary.", |
| 230 | "promptWords": 200, | 239 | "promptWords": 200, |
| 231 | "promptMinWords": 25, | 240 | "promptMinWords": 25, |
| 232 | "promptMaxWords": 1000, | 241 | "promptMaxWords": 1000, |
| @@ -289,13 +298,13 @@ | |||
| 289 | "horde_karras": true, | 298 | "horde_karras": true, |
| 290 | "refine_mode": false, | 299 | "refine_mode": false, |
| 291 | "prompts": { | 300 | "prompts": { |
| 292 | "0": "[In the next response I want you to provide only a detailed comma-delimited list of keywords and phrases which describe {{char}}. The list must include all of the following items in this order: name, species and race, gender, age, clothing, occupation, physical features and appearances. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'full body portrait,']", | 301 | "0": "In the next response I want you to provide only a detailed comma-delimited list of keywords and phrases which describe {{char}}. The list must include all of the following items in this order: name, species and race, gender, age, clothing, occupation, physical features and appearances. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'full body portrait,'", |
| 293 | "1": "[Pause your roleplay and provide a detailed description of {{user}}'s physical appearance from the perspective of {{char}} in the form of a comma-delimited list of keywords and phrases. The list must include all of the following items in this order: name, species and race, gender, age, clothing, occupation, physical features and appearances. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'full body portrait,'. Ignore the rest of the story when crafting this description. Do not roleplay as {{char}} when writing this description, and do not attempt to continue the story.]", | 302 | "1": "Ignore previous instructions and provide a detailed description of {{user}}'s physical appearance from the perspective of {{char}} in the form of a comma-delimited list of keywords and phrases. The list must include all of the following items in this order: name, species and race, gender, age, clothing, occupation, physical features and appearances. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'full body portrait,'. Ignore the rest of the story when crafting this description. Do not reply as {{char}} when writing this description, and do not attempt to continue the story.", |
| 294 | "2": "[Pause your roleplay and provide a detailed description for all of the following: a brief recap of recent events in the story, {{char}}'s appearance, and {{char}}'s surroundings. Do not roleplay while writing this description.]", | 303 | "2": "Ignore previous instructions and provide a detailed description for all of the following: a brief recap of recent events in the story, {{char}}'s appearance, and {{char}}'s surroundings. Do not reply as {{char}} when writing this description, and do not attempt to continue the story.", |
| 295 | "3": "[Pause your roleplay and provide ONLY the last chat message string back to me verbatim. Do not write anything after the string. Do not roleplay at all in your response. Do not continue the roleplay story.]", | 304 | "3": "Ignore previous instructions and provide ONLY the last chat message string back to me verbatim. Do not write anything after the string. Do not reply as {{char}} when writing this description, and do not attempt to continue the story.", |
| 296 | "4": "[Pause your roleplay. Your next response must be formatted as a single comma-delimited list of concise keywords. The list will describe of the visual details included in the last chat message.\n\n Only mention characters by using pronouns ('he','his','she','her','it','its') or neutral nouns ('male', 'the man', 'female', 'the woman').\n\n Ignore non-visible things such as feelings, personality traits, thoughts, and spoken dialog.\n\n Add keywords in this precise order:\n a keyword to describe the location of the scene,\n a keyword to mention how many characters of each gender or type are present in the scene (minimum of two characters:\n {{user}} and {{char}}, example: '2 men ' or '1 man 1 woman ', '1 man 3 robots'),\n\n keywords to describe the relative physical positioning of the characters to each other (if a commonly known term for the positioning is known use it instead of describing the positioning in detail) + 'POV',\n\n a single keyword or phrase to describe the primary act taking place in the last chat message,\n\n keywords to describe {{char}}'s physical appearance and facial expression,\n keywords to describe {{char}}'s actions,\n keywords to describe {{user}}'s physical appearance and actions.\n\n If character actions involve direct physical interaction with another character, mention specifically which body parts interacting and how.\n\n A correctly formatted example response would be:\n '(location),(character list by gender),(primary action), (relative character position) POV, (character 1's description and actions), (character 2's description and actions)']", | 305 | "4": "Ignore previous instructions. Your next response must be formatted as a single comma-delimited list of concise keywords. The list will describe of the visual details included in the last chat message.\n\n Only mention characters by using pronouns ('he','his','she','her','it','its') or neutral nouns ('male', 'the man', 'female', 'the woman').\n\n Ignore non-visible things such as feelings, personality traits, thoughts, and spoken dialog.\n\n Add keywords in this precise order:\n a keyword to describe the location of the scene,\n a keyword to mention how many characters of each gender or type are present in the scene (minimum of two characters:\n {{user}} and {{char}}, example: '2 men ' or '1 man 1 woman ', '1 man 3 robots'),\n\n keywords to describe the relative physical positioning of the characters to each other (if a commonly known term for the positioning is known use it instead of describing the positioning in detail) + 'POV',\n\n a single keyword or phrase to describe the primary act taking place in the last chat message,\n\n keywords to describe {{char}}'s physical appearance and facial expression,\n keywords to describe {{char}}'s actions,\n keywords to describe {{user}}'s physical appearance and actions.\n\n If character actions involve direct physical interaction with another character, mention specifically which body parts interacting and how.\n\n A correctly formatted example response would be:\n '(location),(character list by gender),(primary action), (relative character position) POV, (character 1's description and actions), (character 2's description and actions)'", |
| 297 | "5": "[In the next response I want you to provide only a detailed comma-delimited list of keywords and phrases which describe {{char}}. The list must include all of the following items in this order: name, species and race, gender, age, facial features and expressions, occupation, hair and hair accessories (if any), what they are wearing on their upper body (if anything). Do not describe anything below their neck. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'close up facial portrait,']", | 306 | "5": "In the next response I want you to provide only a detailed comma-delimited list of keywords and phrases which describe {{char}}. The list must include all of the following items in this order: name, species and race, gender, age, facial features and expressions, occupation, hair and hair accessories (if any), what they are wearing on their upper body (if anything). Do not describe anything below their neck. Do not include descriptions of non-visual qualities such as personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'close up facial portrait,'", |
| 298 | "7": "[Pause your roleplay and provide a detailed description of {{char}}'s surroundings in the form of a comma-delimited list of keywords and phrases. The list must include all of the following items in this order: location, time of day, weather, lighting, and any other relevant details. Do not include descriptions of characters and non-visual qualities such as names, personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'background,'. Ignore the rest of the story when crafting this description. Do not roleplay as {{user}} when writing this description, and do not attempt to continue the story.]" | 307 | "7": "Ignore previous instructions and provide a detailed description of {{char}}'s surroundings in the form of a comma-delimited list of keywords and phrases. The list must include all of the following items in this order: location, time of day, weather, lighting, and any other relevant details. Do not include descriptions of characters and non-visual qualities such as names, personality, movements, scents, mental traits, or anything which could not be seen in a still photograph. Do not write in full sentences. Prefix your description with the phrase 'background,'. Ignore the rest of the story when crafting this description. Do not reply as {{user}} when writing this description, and do not attempt to continue the story." |
| 299 | }, | 308 | }, |
| 300 | "character_prompts": {} | 309 | "character_prompts": {} |
| 301 | }, | 310 | }, |
| @@ -309,9 +318,9 @@ | |||
| 309 | "objective": { | 318 | "objective": { |
| 310 | "customPrompts": { | 319 | "customPrompts": { |
| 311 | "default": { | 320 | "default": { |
| 312 | "createTask": "Pause your roleplay and generate a list of tasks to complete an objective. Your next response must be formatted as a numbered list of plain text entries. Do not include anything but the numbered list. The list must be prioritized in the order that tasks must be completed.\n\nThe objective that you must make a numbered task list for is: [{{objective}}].\nThe tasks created should take into account the character traits of {{char}}. These tasks may or may not involve {{user}} directly. Be sure to include the objective as the final task.\n\nGiven an example objective of 'Make me a four course dinner', here is an example output:\n1. Determine what the courses will be\n2. Find recipes for each course\n3. Go shopping for supplies with {{user}}\n4. Cook the food\n5. Get {{user}} to set the table\n6. Serve the food\n7. Enjoy eating the meal with {{user}}\n ", | 321 | "createTask": "Ignore previous instructions and generate a list of tasks to complete an objective. Your next response must be formatted as a numbered list of plain text entries. Do not include anything but the numbered list. The list must be prioritized in the order that tasks must be completed.\n\nThe objective that you must make a numbered task list for is: [{{objective}}].\nThe tasks created should take into account the character traits of {{char}}. These tasks may or may not involve {{user}} directly. Be sure to include the objective as the final task.\n\nGiven an example objective of 'Make me a four course dinner', here is an example output:\n1. Determine what the courses will be\n2. Find recipes for each course\n3. Go shopping for supplies with {{user}}\n4. Cook the food\n5. Get {{user}} to set the table\n6. Serve the food\n7. Enjoy eating the meal with {{user}}\n ", |
| 313 | "checkTaskCompleted": "Pause your roleplay. Determine if this task is completed: [{{task}}].\nTo do this, examine the most recent messages. Your response must only contain either true or false, nothing other words.\nExample output:\ntrue\n ", | 322 | "checkTaskCompleted": "Ignore previous instructions. Determine if this task is completed: [{{task}}].\nTo do this, examine the most recent messages. Your response must only contain either true or false, nothing other words.\nExample output:\ntrue\n ", |
| 314 | "currentTask": "Your current task is [{{task}}]. Balance existing roleplay with completing this task." | 323 | "currentTask": "Your current task is [{{task}}]. Balance existing story with completing this task." |
| 315 | } | 324 | } |
| 316 | } | 325 | } |
| 317 | }, | 326 | }, |
| @@ -408,7 +417,6 @@ | |||
| 408 | "preset_settings_novel": "Talker-Chat-Clio", | 417 | "preset_settings_novel": "Talker-Chat-Clio", |
| 409 | "streaming_novel": true, | 418 | "streaming_novel": true, |
| 410 | "preamble": "[ Style: chat, complex, sensory, visceral ]", | 419 | "preamble": "[ Style: chat, complex, sensory, visceral ]", |
| 411 | "cfg_uc": "", | ||
| 412 | "banned_tokens": "", | 420 | "banned_tokens": "", |
| 413 | "order": [ | 421 | "order": [ |
| 414 | 1, | 422 | 1, |
| @@ -451,7 +459,6 @@ | |||
| 451 | "temp_openai": 1.0, | 459 | "temp_openai": 1.0, |
| 452 | "freq_pen_openai": 0, | 460 | "freq_pen_openai": 0, |
| 453 | "pres_pen_openai": 0, | 461 | "pres_pen_openai": 0, |
| 454 | "count_pen": 0, | ||
| 455 | "top_p_openai": 1, | 462 | "top_p_openai": 1, |
| 456 | "top_k_openai": 0, | 463 | "top_k_openai": 0, |
| 457 | "stream_openai": true, | 464 | "stream_openai": true, |
| @@ -613,7 +620,7 @@ | |||
| 613 | "wi_format": "{0}", | 620 | "wi_format": "{0}", |
| 614 | "openai_model": "gpt-4-turbo", | 621 | "openai_model": "gpt-4-turbo", |
| 615 | "claude_model": "claude-3-5-sonnet-20240620", | 622 | "claude_model": "claude-3-5-sonnet-20240620", |
| 616 | "ai21_model": "j2-ultra", | 623 | "ai21_model": "jamba-1.5-large", |
| 617 | "windowai_model": "", | 624 | "windowai_model": "", |
| 618 | "openrouter_model": "OR_Website", | 625 | "openrouter_model": "OR_Website", |
| 619 | "jailbreak_system": true, | 626 | "jailbreak_system": true, |
| @@ -624,7 +631,6 @@ | |||
| 624 | "show_external_models": false, | 631 | "show_external_models": false, |
| 625 | "proxy_password": "", | 632 | "proxy_password": "", |
| 626 | "assistant_prefill": "", | 633 | "assistant_prefill": "", |
| 627 | "assistant_impersonation": "", | 634 | "assistant_impersonation": "" |
| 628 | "use_ai21_tokenizer": false | ||
| 629 | } | 635 | } |
| 630 | } | 636 | } |
| @@ -23,6 +23,7 @@ | |||
| 23 | "timestamps_enabled": true, | 23 | "timestamps_enabled": true, |
| 24 | "timestamp_model_icon": false, | 24 | "timestamp_model_icon": false, |
| 25 | "mesIDDisplay_enabled": true, | 25 | "mesIDDisplay_enabled": true, |
| 26 | "hideChatAvatars_enabled": false, | ||
| 26 | "message_token_count_enabled": false, | 27 | "message_token_count_enabled": false, |
| 27 | "expand_message_actions": false, | 28 | "expand_message_actions": false, |
| 28 | "enableZenSliders": false, | 29 | "enableZenSliders": false, |
| @@ -23,6 +23,7 @@ | |||
| 23 | "timestamps_enabled": true, | 23 | "timestamps_enabled": true, |
| 24 | "timestamp_model_icon": true, | 24 | "timestamp_model_icon": true, |
| 25 | "mesIDDisplay_enabled": true, | 25 | "mesIDDisplay_enabled": true, |
| 26 | "hideChatAvatars_enabled": false, | ||
| 26 | "message_token_count_enabled": false, | 27 | "message_token_count_enabled": false, |
| 27 | "expand_message_actions": false, | 28 | "expand_message_actions": false, |
| 28 | "enableZenSliders": false, | 29 | "enableZenSliders": false, |
| @@ -23,6 +23,7 @@ | |||
| 23 | "timestamps_enabled": true, | 23 | "timestamps_enabled": true, |
| 24 | "timestamp_model_icon": true, | 24 | "timestamp_model_icon": true, |
| 25 | "mesIDDisplay_enabled": false, | 25 | "mesIDDisplay_enabled": false, |
| 26 | "hideChatAvatars_enabled": false, | ||
| 26 | "message_token_count_enabled": false, | 27 | "message_token_count_enabled": false, |
| 27 | "expand_message_actions": false, | 28 | "expand_message_actions": false, |
| 28 | "enableZenSliders": "", | 29 | "enableZenSliders": "", |
| @@ -34,4 +34,4 @@ | |||
| 34 | "zoomed_avatar_magnification": true, | 34 | "zoomed_avatar_magnification": true, |
| 35 | "reduced_motion": true, | 35 | "reduced_motion": true, |
| 36 | "compact_input_area": false | 36 | "compact_input_area": false |
| 37 | } | ||
| 37 | \ No newline at end of file | \ No newline at end of file | |
| 37 | } | ||
Binary file
| @@ -1,12 +1,12 @@ | |||
| 1 | { | 1 | { |
| 2 | "name": "sillytavern", | 2 | "name": "sillytavern", |
| 3 | "version": "1.12.5", | 3 | "version": "1.12.6", |
| 4 | "lockfileVersion": 3, | 4 | "lockfileVersion": 3, |
| 5 | "requires": true, | 5 | "requires": true, |
| 6 | "packages": { | 6 | "packages": { |
| 7 | "": { | 7 | "": { |
| 8 | "name": "sillytavern", | 8 | "name": "sillytavern", |
| 9 | "version": "1.12.5", | 9 | "version": "1.12.6", |
| 10 | "hasInstallScript": true, | 10 | "hasInstallScript": true, |
| 11 | "license": "AGPL-3.0", | 11 | "license": "AGPL-3.0", |
| 12 | "dependencies": { | 12 | "dependencies": { |
| @@ -22,7 +22,7 @@ | |||
| 22 | "cookie-session": "^2.1.0", | 22 | "cookie-session": "^2.1.0", |
| 23 | "cors": "^2.8.5", | 23 | "cors": "^2.8.5", |
| 24 | "csrf-csrf": "^2.2.3", | 24 | "csrf-csrf": "^2.2.3", |
| 25 | "express": "^4.19.2", | 25 | "express": "^4.21.0", |
| 26 | "form-data": "^4.0.0", | 26 | "form-data": "^4.0.0", |
| 27 | "google-translate-api-browser": "^3.0.1", | 27 | "google-translate-api-browser": "^3.0.1", |
| 28 | "he": "^1.2.0", | 28 | "he": "^1.2.0", |
| @@ -40,12 +40,13 @@ | |||
| 40 | "png-chunk-text": "^1.0.0", | 40 | "png-chunk-text": "^1.0.0", |
| 41 | "png-chunks-encode": "^1.0.0", | 41 | "png-chunks-encode": "^1.0.0", |
| 42 | "png-chunks-extract": "^1.0.0", | 42 | "png-chunks-extract": "^1.0.0", |
| 43 | "proxy-agent": "^6.4.0", | ||
| 43 | "rate-limiter-flexible": "^5.0.0", | 44 | "rate-limiter-flexible": "^5.0.0", |
| 44 | "response-time": "^2.3.2", | 45 | "response-time": "^2.3.2", |
| 45 | "sanitize-filename": "^1.6.3", | 46 | "sanitize-filename": "^1.6.3", |
| 46 | "sillytavern-transformers": "2.14.6", | 47 | "sillytavern-transformers": "2.14.6", |
| 47 | "simple-git": "^3.19.1", | 48 | "simple-git": "^3.19.1", |
| 48 | "tiktoken": "^1.0.15", | 49 | "tiktoken": "^1.0.16", |
| 49 | "vectra": "^0.2.2", | 50 | "vectra": "^0.2.2", |
| 50 | "wavefile": "^11.0.0", | 51 | "wavefile": "^11.0.0", |
| 51 | "write-file-atomic": "^5.0.1", | 52 | "write-file-atomic": "^5.0.1", |
| @@ -941,6 +942,12 @@ | |||
| 941 | "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", | 942 | "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", |
| 942 | "license": "MIT" | 943 | "license": "MIT" |
| 943 | }, | 944 | }, |
| 945 | "node_modules/@tootallnate/quickjs-emscripten": { | ||
| 946 | "version": "0.23.0", | ||
| 947 | "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", | ||
| 948 | "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", | ||
| 949 | "license": "MIT" | ||
| 950 | }, | ||
| 944 | "node_modules/@types/cacheable-request": { | 951 | "node_modules/@types/cacheable-request": { |
| 945 | "version": "6.0.3", | 952 | "version": "6.0.3", |
| 946 | "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", | 953 | "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", |
| @@ -1080,6 +1087,41 @@ | |||
| 1080 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" | 1087 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" |
| 1081 | } | 1088 | } |
| 1082 | }, | 1089 | }, |
| 1090 | "node_modules/agent-base": { | ||
| 1091 | "version": "7.1.1", | ||
| 1092 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", | ||
| 1093 | "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", | ||
| 1094 | "license": "MIT", | ||
| 1095 | "dependencies": { | ||
| 1096 | "debug": "^4.3.4" | ||
| 1097 | }, | ||
| 1098 | "engines": { | ||
| 1099 | "node": ">= 14" | ||
| 1100 | } | ||
| 1101 | }, | ||
| 1102 | "node_modules/agent-base/node_modules/debug": { | ||
| 1103 | "version": "4.3.7", | ||
| 1104 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", | ||
| 1105 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", | ||
| 1106 | "license": "MIT", | ||
| 1107 | "dependencies": { | ||
| 1108 | "ms": "^2.1.3" | ||
| 1109 | }, | ||
| 1110 | "engines": { | ||
| 1111 | "node": ">=6.0" | ||
| 1112 | }, | ||
| 1113 | "peerDependenciesMeta": { | ||
| 1114 | "supports-color": { | ||
| 1115 | "optional": true | ||
| 1116 | } | ||
| 1117 | } | ||
| 1118 | }, | ||
| 1119 | "node_modules/agent-base/node_modules/ms": { | ||
| 1120 | "version": "2.1.3", | ||
| 1121 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
| 1122 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", | ||
| 1123 | "license": "MIT" | ||
| 1124 | }, | ||
| 1083 | "node_modules/agentkeepalive": { | 1125 | "node_modules/agentkeepalive": { |
| 1084 | "version": "4.5.0", | 1126 | "version": "4.5.0", |
| 1085 | "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", | 1127 | "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", |
| @@ -1382,6 +1424,18 @@ | |||
| 1382 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", | 1424 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", |
| 1383 | "license": "MIT" | 1425 | "license": "MIT" |
| 1384 | }, | 1426 | }, |
| 1427 | "node_modules/ast-types": { | ||
| 1428 | "version": "0.13.4", | ||
| 1429 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", | ||
| 1430 | "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", | ||
| 1431 | "license": "MIT", | ||
| 1432 | "dependencies": { | ||
| 1433 | "tslib": "^2.0.1" | ||
| 1434 | }, | ||
| 1435 | "engines": { | ||
| 1436 | "node": ">=4" | ||
| 1437 | } | ||
| 1438 | }, | ||
| 1385 | "node_modules/async": { | 1439 | "node_modules/async": { |
| 1386 | "version": "3.2.5", | 1440 | "version": "3.2.5", |
| 1387 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", | 1441 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", |
| @@ -1445,6 +1499,15 @@ | |||
| 1445 | ], | 1499 | ], |
| 1446 | "license": "MIT" | 1500 | "license": "MIT" |
| 1447 | }, | 1501 | }, |
| 1502 | "node_modules/basic-ftp": { | ||
| 1503 | "version": "5.0.5", | ||
| 1504 | "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", | ||
| 1505 | "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", | ||
| 1506 | "license": "MIT", | ||
| 1507 | "engines": { | ||
| 1508 | "node": ">=10.0.0" | ||
| 1509 | } | ||
| 1510 | }, | ||
| 1448 | "node_modules/bing-translate-api": { | 1511 | "node_modules/bing-translate-api": { |
| 1449 | "version": "2.9.1", | 1512 | "version": "2.9.1", |
| 1450 | "resolved": "https://registry.npmjs.org/bing-translate-api/-/bing-translate-api-2.9.1.tgz", | 1513 | "resolved": "https://registry.npmjs.org/bing-translate-api/-/bing-translate-api-2.9.1.tgz", |
| @@ -1461,9 +1524,9 @@ | |||
| 1461 | "license": "MIT" | 1524 | "license": "MIT" |
| 1462 | }, | 1525 | }, |
| 1463 | "node_modules/body-parser": { | 1526 | "node_modules/body-parser": { |
| 1464 | "version": "1.20.2", | 1527 | "version": "1.20.3", |
| 1465 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", | 1528 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", |
| 1466 | "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", | 1529 | "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", |
| 1467 | "license": "MIT", | 1530 | "license": "MIT", |
| 1468 | "dependencies": { | 1531 | "dependencies": { |
| 1469 | "bytes": "3.1.2", | 1532 | "bytes": "3.1.2", |
| @@ -1474,7 +1537,7 @@ | |||
| 1474 | "http-errors": "2.0.0", | 1537 | "http-errors": "2.0.0", |
| 1475 | "iconv-lite": "0.4.24", | 1538 | "iconv-lite": "0.4.24", |
| 1476 | "on-finished": "2.4.1", | 1539 | "on-finished": "2.4.1", |
| 1477 | "qs": "6.11.0", | 1540 | "qs": "6.13.0", |
| 1478 | "raw-body": "2.5.2", | 1541 | "raw-body": "2.5.2", |
| 1479 | "type-is": "~1.6.18", | 1542 | "type-is": "~1.6.18", |
| 1480 | "unpipe": "1.0.0" | 1543 | "unpipe": "1.0.0" |
| @@ -1618,13 +1681,19 @@ | |||
| 1618 | } | 1681 | } |
| 1619 | }, | 1682 | }, |
| 1620 | "node_modules/call-bind": { | 1683 | "node_modules/call-bind": { |
| 1621 | "version": "1.0.2", | 1684 | "version": "1.0.7", |
| 1622 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", | 1685 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", |
| 1623 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", | 1686 | "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", |
| 1624 | "license": "MIT", | 1687 | "license": "MIT", |
| 1625 | "dependencies": { | 1688 | "dependencies": { |
| 1626 | "function-bind": "^1.1.1", | 1689 | "es-define-property": "^1.0.0", |
| 1627 | "get-intrinsic": "^1.0.2" | 1690 | "es-errors": "^1.3.0", |
| 1691 | "function-bind": "^1.1.2", | ||
| 1692 | "get-intrinsic": "^1.2.4", | ||
| 1693 | "set-function-length": "^1.2.1" | ||
| 1694 | }, | ||
| 1695 | "engines": { | ||
| 1696 | "node": ">= 0.4" | ||
| 1628 | }, | 1697 | }, |
| 1629 | "funding": { | 1698 | "funding": { |
| 1630 | "url": "https://github.com/sponsors/ljharb" | 1699 | "url": "https://github.com/sponsors/ljharb" |
| @@ -1644,6 +1713,7 @@ | |||
| 1644 | "version": "2.7.0", | 1713 | "version": "2.7.0", |
| 1645 | "resolved": "https://registry.npmjs.org/centra/-/centra-2.7.0.tgz", | 1714 | "resolved": "https://registry.npmjs.org/centra/-/centra-2.7.0.tgz", |
| 1646 | "integrity": "sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==", | 1715 | "integrity": "sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==", |
| 1716 | "license": "MIT", | ||
| 1647 | "dependencies": { | 1717 | "dependencies": { |
| 1648 | "follow-redirects": "^1.15.6" | 1718 | "follow-redirects": "^1.15.6" |
| 1649 | } | 1719 | } |
| @@ -2229,6 +2299,15 @@ | |||
| 2229 | "url": "https://github.com/sponsors/fb55" | 2299 | "url": "https://github.com/sponsors/fb55" |
| 2230 | } | 2300 | } |
| 2231 | }, | 2301 | }, |
| 2302 | "node_modules/data-uri-to-buffer": { | ||
| 2303 | "version": "6.0.2", | ||
| 2304 | "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", | ||
| 2305 | "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", | ||
| 2306 | "license": "MIT", | ||
| 2307 | "engines": { | ||
| 2308 | "node": ">= 14" | ||
| 2309 | } | ||
| 2310 | }, | ||
| 2232 | "node_modules/debug": { | 2311 | "node_modules/debug": { |
| 2233 | "version": "2.6.9", | 2312 | "version": "2.6.9", |
| 2234 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | 2313 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", |
| @@ -2269,6 +2348,23 @@ | |||
| 2269 | "node": ">=10" | 2348 | "node": ">=10" |
| 2270 | } | 2349 | } |
| 2271 | }, | 2350 | }, |
| 2351 | "node_modules/define-data-property": { | ||
| 2352 | "version": "1.1.4", | ||
| 2353 | "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", | ||
| 2354 | "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", | ||
| 2355 | "license": "MIT", | ||
| 2356 | "dependencies": { | ||
| 2357 | "es-define-property": "^1.0.0", | ||
| 2358 | "es-errors": "^1.3.0", | ||
| 2359 | "gopd": "^1.0.1" | ||
| 2360 | }, | ||
| 2361 | "engines": { | ||
| 2362 | "node": ">= 0.4" | ||
| 2363 | }, | ||
| 2364 | "funding": { | ||
| 2365 | "url": "https://github.com/sponsors/ljharb" | ||
| 2366 | } | ||
| 2367 | }, | ||
| 2272 | "node_modules/define-lazy-prop": { | 2368 | "node_modules/define-lazy-prop": { |
| 2273 | "version": "2.0.0", | 2369 | "version": "2.0.0", |
| 2274 | "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", | 2370 | "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", |
| @@ -2278,6 +2374,20 @@ | |||
| 2278 | "node": ">=8" | 2374 | "node": ">=8" |
| 2279 | } | 2375 | } |
| 2280 | }, | 2376 | }, |
| 2377 | "node_modules/degenerator": { | ||
| 2378 | "version": "5.0.1", | ||
| 2379 | "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", | ||
| 2380 | "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", | ||
| 2381 | "license": "MIT", | ||
| 2382 | "dependencies": { | ||
| 2383 | "ast-types": "^0.13.4", | ||
| 2384 | "escodegen": "^2.1.0", | ||
| 2385 | "esprima": "^4.0.1" | ||
| 2386 | }, | ||
| 2387 | "engines": { | ||
| 2388 | "node": ">= 14" | ||
| 2389 | } | ||
| 2390 | }, | ||
| 2281 | "node_modules/delayed-stream": { | 2391 | "node_modules/delayed-stream": { |
| 2282 | "version": "1.0.0", | 2392 | "version": "1.0.0", |
| 2283 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | 2393 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", |
| @@ -2416,9 +2526,9 @@ | |||
| 2416 | "license": "MIT" | 2526 | "license": "MIT" |
| 2417 | }, | 2527 | }, |
| 2418 | "node_modules/encodeurl": { | 2528 | "node_modules/encodeurl": { |
| 2419 | "version": "1.0.2", | 2529 | "version": "2.0.0", |
| 2420 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | 2530 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", |
| 2421 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", | 2531 | "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", |
| 2422 | "license": "MIT", | 2532 | "license": "MIT", |
| 2423 | "engines": { | 2533 | "engines": { |
| 2424 | "node": ">= 0.8" | 2534 | "node": ">= 0.8" |
| @@ -2445,6 +2555,27 @@ | |||
| 2445 | "url": "https://github.com/fb55/entities?sponsor=1" | 2555 | "url": "https://github.com/fb55/entities?sponsor=1" |
| 2446 | } | 2556 | } |
| 2447 | }, | 2557 | }, |
| 2558 | "node_modules/es-define-property": { | ||
| 2559 | "version": "1.0.0", | ||
| 2560 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", | ||
| 2561 | "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", | ||
| 2562 | "license": "MIT", | ||
| 2563 | "dependencies": { | ||
| 2564 | "get-intrinsic": "^1.2.4" | ||
| 2565 | }, | ||
| 2566 | "engines": { | ||
| 2567 | "node": ">= 0.4" | ||
| 2568 | } | ||
| 2569 | }, | ||
| 2570 | "node_modules/es-errors": { | ||
| 2571 | "version": "1.3.0", | ||
| 2572 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", | ||
| 2573 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", | ||
| 2574 | "license": "MIT", | ||
| 2575 | "engines": { | ||
| 2576 | "node": ">= 0.4" | ||
| 2577 | } | ||
| 2578 | }, | ||
| 2448 | "node_modules/escalade": { | 2579 | "node_modules/escalade": { |
| 2449 | "version": "3.1.2", | 2580 | "version": "3.1.2", |
| 2450 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", | 2581 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", |
| @@ -2469,6 +2600,27 @@ | |||
| 2469 | "node": ">=0.8.0" | 2600 | "node": ">=0.8.0" |
| 2470 | } | 2601 | } |
| 2471 | }, | 2602 | }, |
| 2603 | "node_modules/escodegen": { | ||
| 2604 | "version": "2.1.0", | ||
| 2605 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", | ||
| 2606 | "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", | ||
| 2607 | "license": "BSD-2-Clause", | ||
| 2608 | "dependencies": { | ||
| 2609 | "esprima": "^4.0.1", | ||
| 2610 | "estraverse": "^5.2.0", | ||
| 2611 | "esutils": "^2.0.2" | ||
| 2612 | }, | ||
| 2613 | "bin": { | ||
| 2614 | "escodegen": "bin/escodegen.js", | ||
| 2615 | "esgenerate": "bin/esgenerate.js" | ||
| 2616 | }, | ||
| 2617 | "engines": { | ||
| 2618 | "node": ">=6.0" | ||
| 2619 | }, | ||
| 2620 | "optionalDependencies": { | ||
| 2621 | "source-map": "~0.6.1" | ||
| 2622 | } | ||
| 2623 | }, | ||
| 2472 | "node_modules/eslint": { | 2624 | "node_modules/eslint": { |
| 2473 | "version": "8.57.0", | 2625 | "version": "8.57.0", |
| 2474 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", | 2626 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", |
| @@ -2624,6 +2776,19 @@ | |||
| 2624 | "url": "https://opencollective.com/eslint" | 2776 | "url": "https://opencollective.com/eslint" |
| 2625 | } | 2777 | } |
| 2626 | }, | 2778 | }, |
| 2779 | "node_modules/esprima": { | ||
| 2780 | "version": "4.0.1", | ||
| 2781 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | ||
| 2782 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", | ||
| 2783 | "license": "BSD-2-Clause", | ||
| 2784 | "bin": { | ||
| 2785 | "esparse": "bin/esparse.js", | ||
| 2786 | "esvalidate": "bin/esvalidate.js" | ||
| 2787 | }, | ||
| 2788 | "engines": { | ||
| 2789 | "node": ">=4" | ||
| 2790 | } | ||
| 2791 | }, | ||
| 2627 | "node_modules/esquery": { | 2792 | "node_modules/esquery": { |
| 2628 | "version": "1.5.0", | 2793 | "version": "1.5.0", |
| 2629 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", | 2794 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", |
| @@ -2654,7 +2819,6 @@ | |||
| 2654 | "version": "5.3.0", | 2819 | "version": "5.3.0", |
| 2655 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", | 2820 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", |
| 2656 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", | 2821 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", |
| 2657 | "dev": true, | ||
| 2658 | "license": "BSD-2-Clause", | 2822 | "license": "BSD-2-Clause", |
| 2659 | "engines": { | 2823 | "engines": { |
| 2660 | "node": ">=4.0" | 2824 | "node": ">=4.0" |
| @@ -2664,7 +2828,6 @@ | |||
| 2664 | "version": "2.0.3", | 2828 | "version": "2.0.3", |
| 2665 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", | 2829 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", |
| 2666 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", | 2830 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", |
| 2667 | "dev": true, | ||
| 2668 | "license": "BSD-2-Clause", | 2831 | "license": "BSD-2-Clause", |
| 2669 | "engines": { | 2832 | "engines": { |
| 2670 | "node": ">=0.10.0" | 2833 | "node": ">=0.10.0" |
| @@ -2702,36 +2865,37 @@ | |||
| 2702 | "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" | 2865 | "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==" |
| 2703 | }, | 2866 | }, |
| 2704 | "node_modules/express": { | 2867 | "node_modules/express": { |
| 2705 | "version": "4.19.2", | 2868 | "version": "4.21.0", |
| 2706 | "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", | 2869 | "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", |
| 2707 | "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", | 2870 | "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", |
| 2871 | "license": "MIT", | ||
| 2708 | "dependencies": { | 2872 | "dependencies": { |
| 2709 | "accepts": "~1.3.8", | 2873 | "accepts": "~1.3.8", |
| 2710 | "array-flatten": "1.1.1", | 2874 | "array-flatten": "1.1.1", |
| 2711 | "body-parser": "1.20.2", | 2875 | "body-parser": "1.20.3", |
| 2712 | "content-disposition": "0.5.4", | 2876 | "content-disposition": "0.5.4", |
| 2713 | "content-type": "~1.0.4", | 2877 | "content-type": "~1.0.4", |
| 2714 | "cookie": "0.6.0", | 2878 | "cookie": "0.6.0", |
| 2715 | "cookie-signature": "1.0.6", | 2879 | "cookie-signature": "1.0.6", |
| 2716 | "debug": "2.6.9", | 2880 | "debug": "2.6.9", |
| 2717 | "depd": "2.0.0", | 2881 | "depd": "2.0.0", |
| 2718 | "encodeurl": "~1.0.2", | 2882 | "encodeurl": "~2.0.0", |
| 2719 | "escape-html": "~1.0.3", | 2883 | "escape-html": "~1.0.3", |
| 2720 | "etag": "~1.8.1", | 2884 | "etag": "~1.8.1", |
| 2721 | "finalhandler": "1.2.0", | 2885 | "finalhandler": "1.3.1", |
| 2722 | "fresh": "0.5.2", | 2886 | "fresh": "0.5.2", |
| 2723 | "http-errors": "2.0.0", | 2887 | "http-errors": "2.0.0", |
| 2724 | "merge-descriptors": "1.0.1", | 2888 | "merge-descriptors": "1.0.3", |
| 2725 | "methods": "~1.1.2", | 2889 | "methods": "~1.1.2", |
| 2726 | "on-finished": "2.4.1", | 2890 | "on-finished": "2.4.1", |
| 2727 | "parseurl": "~1.3.3", | 2891 | "parseurl": "~1.3.3", |
| 2728 | "path-to-regexp": "0.1.7", | 2892 | "path-to-regexp": "0.1.10", |
| 2729 | "proxy-addr": "~2.0.7", | 2893 | "proxy-addr": "~2.0.7", |
| 2730 | "qs": "6.11.0", | 2894 | "qs": "6.13.0", |
| 2731 | "range-parser": "~1.2.1", | 2895 | "range-parser": "~1.2.1", |
| 2732 | "safe-buffer": "5.2.1", | 2896 | "safe-buffer": "5.2.1", |
| 2733 | "send": "0.18.0", | 2897 | "send": "0.19.0", |
| 2734 | "serve-static": "1.15.0", | 2898 | "serve-static": "1.16.2", |
| 2735 | "setprototypeof": "1.2.0", | 2899 | "setprototypeof": "1.2.0", |
| 2736 | "statuses": "2.0.1", | 2900 | "statuses": "2.0.1", |
| 2737 | "type-is": "~1.6.18", | 2901 | "type-is": "~1.6.18", |
| @@ -2846,13 +3010,13 @@ | |||
| 2846 | } | 3010 | } |
| 2847 | }, | 3011 | }, |
| 2848 | "node_modules/finalhandler": { | 3012 | "node_modules/finalhandler": { |
| 2849 | "version": "1.2.0", | 3013 | "version": "1.3.1", |
| 2850 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", | 3014 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", |
| 2851 | "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", | 3015 | "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", |
| 2852 | "license": "MIT", | 3016 | "license": "MIT", |
| 2853 | "dependencies": { | 3017 | "dependencies": { |
| 2854 | "debug": "2.6.9", | 3018 | "debug": "2.6.9", |
| 2855 | "encodeurl": "~1.0.2", | 3019 | "encodeurl": "~2.0.0", |
| 2856 | "escape-html": "~1.0.3", | 3020 | "escape-html": "~1.0.3", |
| 2857 | "on-finished": "2.4.1", | 3021 | "on-finished": "2.4.1", |
| 2858 | "parseurl": "~1.3.3", | 3022 | "parseurl": "~1.3.3", |
| @@ -3002,6 +3166,20 @@ | |||
| 3002 | "node": ">= 0.6" | 3166 | "node": ">= 0.6" |
| 3003 | } | 3167 | } |
| 3004 | }, | 3168 | }, |
| 3169 | "node_modules/fs-extra": { | ||
| 3170 | "version": "11.2.0", | ||
| 3171 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", | ||
| 3172 | "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", | ||
| 3173 | "license": "MIT", | ||
| 3174 | "dependencies": { | ||
| 3175 | "graceful-fs": "^4.2.0", | ||
| 3176 | "jsonfile": "^6.0.1", | ||
| 3177 | "universalify": "^2.0.0" | ||
| 3178 | }, | ||
| 3179 | "engines": { | ||
| 3180 | "node": ">=14.14" | ||
| 3181 | } | ||
| 3182 | }, | ||
| 3005 | "node_modules/fs.realpath": { | 3183 | "node_modules/fs.realpath": { |
| 3006 | "version": "1.0.0", | 3184 | "version": "1.0.0", |
| 3007 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", | 3185 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", |
| @@ -3028,15 +3206,19 @@ | |||
| 3028 | } | 3206 | } |
| 3029 | }, | 3207 | }, |
| 3030 | "node_modules/get-intrinsic": { | 3208 | "node_modules/get-intrinsic": { |
| 3031 | "version": "1.2.1", | 3209 | "version": "1.2.4", |
| 3032 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", | 3210 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", |
| 3033 | "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", | 3211 | "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", |
| 3034 | "license": "MIT", | 3212 | "license": "MIT", |
| 3035 | "dependencies": { | 3213 | "dependencies": { |
| 3036 | "function-bind": "^1.1.1", | 3214 | "es-errors": "^1.3.0", |
| 3037 | "has": "^1.0.3", | 3215 | "function-bind": "^1.1.2", |
| 3038 | "has-proto": "^1.0.1", | 3216 | "has-proto": "^1.0.1", |
| 3039 | "has-symbols": "^1.0.3" | 3217 | "has-symbols": "^1.0.3", |
| 3218 | "hasown": "^2.0.0" | ||
| 3219 | }, | ||
| 3220 | "engines": { | ||
| 3221 | "node": ">= 0.4" | ||
| 3040 | }, | 3222 | }, |
| 3041 | "funding": { | 3223 | "funding": { |
| 3042 | "url": "https://github.com/sponsors/ljharb" | 3224 | "url": "https://github.com/sponsors/ljharb" |
| @@ -3057,6 +3239,44 @@ | |||
| 3057 | "url": "https://github.com/sponsors/sindresorhus" | 3239 | "url": "https://github.com/sponsors/sindresorhus" |
| 3058 | } | 3240 | } |
| 3059 | }, | 3241 | }, |
| 3242 | "node_modules/get-uri": { | ||
| 3243 | "version": "6.0.3", | ||
| 3244 | "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", | ||
| 3245 | "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", | ||
| 3246 | "license": "MIT", | ||
| 3247 | "dependencies": { | ||
| 3248 | "basic-ftp": "^5.0.2", | ||
| 3249 | "data-uri-to-buffer": "^6.0.2", | ||
| 3250 | "debug": "^4.3.4", | ||
| 3251 | "fs-extra": "^11.2.0" | ||
| 3252 | }, | ||
| 3253 | "engines": { | ||
| 3254 | "node": ">= 14" | ||
| 3255 | } | ||
| 3256 | }, | ||
| 3257 | "node_modules/get-uri/node_modules/debug": { | ||
| 3258 | "version": "4.3.7", | ||
| 3259 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", | ||
| 3260 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", | ||
| 3261 | "license": "MIT", | ||
| 3262 | "dependencies": { | ||
| 3263 | "ms": "^2.1.3" | ||
| 3264 | }, | ||
| 3265 | "engines": { | ||
| 3266 | "node": ">=6.0" | ||
| 3267 | }, | ||
| 3268 | "peerDependenciesMeta": { | ||
| 3269 | "supports-color": { | ||
| 3270 | "optional": true | ||
| 3271 | } | ||
| 3272 | } | ||
| 3273 | }, | ||
| 3274 | "node_modules/get-uri/node_modules/ms": { | ||
| 3275 | "version": "2.1.3", | ||
| 3276 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
| 3277 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", | ||
| 3278 | "license": "MIT" | ||
| 3279 | }, | ||
| 3060 | "node_modules/gifwrap": { | 3280 | "node_modules/gifwrap": { |
| 3061 | "version": "0.10.1", | 3281 | "version": "0.10.1", |
| 3062 | "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.10.1.tgz", | 3282 | "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.10.1.tgz", |
| @@ -3120,6 +3340,18 @@ | |||
| 3120 | "integrity": "sha512-KTLodkyGBWMK9IW6QIeJ2zCuju4Z0CLpbkADKo+yLhbSTD4l+CXXpQ/xaynGVAzeBezzJG6qn8MLeqOq3SmW0A==", | 3340 | "integrity": "sha512-KTLodkyGBWMK9IW6QIeJ2zCuju4Z0CLpbkADKo+yLhbSTD4l+CXXpQ/xaynGVAzeBezzJG6qn8MLeqOq3SmW0A==", |
| 3121 | "license": "MIT" | 3341 | "license": "MIT" |
| 3122 | }, | 3342 | }, |
| 3343 | "node_modules/gopd": { | ||
| 3344 | "version": "1.0.1", | ||
| 3345 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", | ||
| 3346 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", | ||
| 3347 | "license": "MIT", | ||
| 3348 | "dependencies": { | ||
| 3349 | "get-intrinsic": "^1.1.3" | ||
| 3350 | }, | ||
| 3351 | "funding": { | ||
| 3352 | "url": "https://github.com/sponsors/ljharb" | ||
| 3353 | } | ||
| 3354 | }, | ||
| 3123 | "node_modules/got": { | 3355 | "node_modules/got": { |
| 3124 | "version": "11.8.6", | 3356 | "version": "11.8.6", |
| 3125 | "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", | 3357 | "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", |
| @@ -3169,18 +3401,6 @@ | |||
| 3169 | "integrity": "sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ==", | 3401 | "integrity": "sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ==", |
| 3170 | "license": "ISC" | 3402 | "license": "ISC" |
| 3171 | }, | 3403 | }, |
| 3172 | "node_modules/has": { | ||
| 3173 | "version": "1.0.3", | ||
| 3174 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | ||
| 3175 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", | ||
| 3176 | "license": "MIT", | ||
| 3177 | "dependencies": { | ||
| 3178 | "function-bind": "^1.1.1" | ||
| 3179 | }, | ||
| 3180 | "engines": { | ||
| 3181 | "node": ">= 0.4.0" | ||
| 3182 | } | ||
| 3183 | }, | ||
| 3184 | "node_modules/has-flag": { | 3404 | "node_modules/has-flag": { |
| 3185 | "version": "4.0.0", | 3405 | "version": "4.0.0", |
| 3186 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | 3406 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", |
| @@ -3191,10 +3411,22 @@ | |||
| 3191 | "node": ">=8" | 3411 | "node": ">=8" |
| 3192 | } | 3412 | } |
| 3193 | }, | 3413 | }, |
| 3414 | "node_modules/has-property-descriptors": { | ||
| 3415 | "version": "1.0.2", | ||
| 3416 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", | ||
| 3417 | "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", | ||
| 3418 | "license": "MIT", | ||
| 3419 | "dependencies": { | ||
| 3420 | "es-define-property": "^1.0.0" | ||
| 3421 | }, | ||
| 3422 | "funding": { | ||
| 3423 | "url": "https://github.com/sponsors/ljharb" | ||
| 3424 | } | ||
| 3425 | }, | ||
| 3194 | "node_modules/has-proto": { | 3426 | "node_modules/has-proto": { |
| 3195 | "version": "1.0.1", | 3427 | "version": "1.0.3", |
| 3196 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", | 3428 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", |
| 3197 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", | 3429 | "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", |
| 3198 | "license": "MIT", | 3430 | "license": "MIT", |
| 3199 | "engines": { | 3431 | "engines": { |
| 3200 | "node": ">= 0.4" | 3432 | "node": ">= 0.4" |
| @@ -3215,6 +3447,18 @@ | |||
| 3215 | "url": "https://github.com/sponsors/ljharb" | 3447 | "url": "https://github.com/sponsors/ljharb" |
| 3216 | } | 3448 | } |
| 3217 | }, | 3449 | }, |
| 3450 | "node_modules/hasown": { | ||
| 3451 | "version": "2.0.2", | ||
| 3452 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", | ||
| 3453 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", | ||
| 3454 | "license": "MIT", | ||
| 3455 | "dependencies": { | ||
| 3456 | "function-bind": "^1.1.2" | ||
| 3457 | }, | ||
| 3458 | "engines": { | ||
| 3459 | "node": ">= 0.4" | ||
| 3460 | } | ||
| 3461 | }, | ||
| 3218 | "node_modules/he": { | 3462 | "node_modules/he": { |
| 3219 | "version": "1.2.0", | 3463 | "version": "1.2.0", |
| 3220 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", | 3464 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", |
| @@ -3272,6 +3516,42 @@ | |||
| 3272 | "node": ">= 0.8" | 3516 | "node": ">= 0.8" |
| 3273 | } | 3517 | } |
| 3274 | }, | 3518 | }, |
| 3519 | "node_modules/http-proxy-agent": { | ||
| 3520 | "version": "7.0.2", | ||
| 3521 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", | ||
| 3522 | "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", | ||
| 3523 | "license": "MIT", | ||
| 3524 | "dependencies": { | ||
| 3525 | "agent-base": "^7.1.0", | ||
| 3526 | "debug": "^4.3.4" | ||
| 3527 | }, | ||
| 3528 | "engines": { | ||
| 3529 | "node": ">= 14" | ||
| 3530 | } | ||
| 3531 | }, | ||
| 3532 | "node_modules/http-proxy-agent/node_modules/debug": { | ||
| 3533 | "version": "4.3.7", | ||
| 3534 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", | ||
| 3535 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", | ||
| 3536 | "license": "MIT", | ||
| 3537 | "dependencies": { | ||
| 3538 | "ms": "^2.1.3" | ||
| 3539 | }, | ||
| 3540 | "engines": { | ||
| 3541 | "node": ">=6.0" | ||
| 3542 | }, | ||
| 3543 | "peerDependenciesMeta": { | ||
| 3544 | "supports-color": { | ||
| 3545 | "optional": true | ||
| 3546 | } | ||
| 3547 | } | ||
| 3548 | }, | ||
| 3549 | "node_modules/http-proxy-agent/node_modules/ms": { | ||
| 3550 | "version": "2.1.3", | ||
| 3551 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
| 3552 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", | ||
| 3553 | "license": "MIT" | ||
| 3554 | }, | ||
| 3275 | "node_modules/http2-wrapper": { | 3555 | "node_modules/http2-wrapper": { |
| 3276 | "version": "1.0.3", | 3556 | "version": "1.0.3", |
| 3277 | "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", | 3557 | "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", |
| @@ -3285,6 +3565,42 @@ | |||
| 3285 | "node": ">=10.19.0" | 3565 | "node": ">=10.19.0" |
| 3286 | } | 3566 | } |
| 3287 | }, | 3567 | }, |
| 3568 | "node_modules/https-proxy-agent": { | ||
| 3569 | "version": "7.0.5", | ||
| 3570 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", | ||
| 3571 | "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", | ||
| 3572 | "license": "MIT", | ||
| 3573 | "dependencies": { | ||
| 3574 | "agent-base": "^7.0.2", | ||
| 3575 | "debug": "4" | ||
| 3576 | }, | ||
| 3577 | "engines": { | ||
| 3578 | "node": ">= 14" | ||
| 3579 | } | ||
| 3580 | }, | ||
| 3581 | "node_modules/https-proxy-agent/node_modules/debug": { | ||
| 3582 | "version": "4.3.7", | ||
| 3583 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", | ||
| 3584 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", | ||
| 3585 | "license": "MIT", | ||
| 3586 | "dependencies": { | ||
| 3587 | "ms": "^2.1.3" | ||
| 3588 | }, | ||
| 3589 | "engines": { | ||
| 3590 | "node": ">=6.0" | ||
| 3591 | }, | ||
| 3592 | "peerDependenciesMeta": { | ||
| 3593 | "supports-color": { | ||
| 3594 | "optional": true | ||
| 3595 | } | ||
| 3596 | } | ||
| 3597 | }, | ||
| 3598 | "node_modules/https-proxy-agent/node_modules/ms": { | ||
| 3599 | "version": "2.1.3", | ||
| 3600 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
| 3601 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", | ||
| 3602 | "license": "MIT" | ||
| 3603 | }, | ||
| 3288 | "node_modules/humanize-ms": { | 3604 | "node_modules/humanize-ms": { |
| 3289 | "version": "1.2.1", | 3605 | "version": "1.2.1", |
| 3290 | "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", | 3606 | "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", |
| @@ -3388,6 +3704,19 @@ | |||
| 3388 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", | 3704 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", |
| 3389 | "license": "ISC" | 3705 | "license": "ISC" |
| 3390 | }, | 3706 | }, |
| 3707 | "node_modules/ip-address": { | ||
| 3708 | "version": "9.0.5", | ||
| 3709 | "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", | ||
| 3710 | "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", | ||
| 3711 | "license": "MIT", | ||
| 3712 | "dependencies": { | ||
| 3713 | "jsbn": "1.1.0", | ||
| 3714 | "sprintf-js": "^1.1.3" | ||
| 3715 | }, | ||
| 3716 | "engines": { | ||
| 3717 | "node": ">= 12" | ||
| 3718 | } | ||
| 3719 | }, | ||
| 3391 | "node_modules/ip-matching": { | 3720 | "node_modules/ip-matching": { |
| 3392 | "version": "2.1.2", | 3721 | "version": "2.1.2", |
| 3393 | "resolved": "https://registry.npmjs.org/ip-matching/-/ip-matching-2.1.2.tgz", | 3722 | "resolved": "https://registry.npmjs.org/ip-matching/-/ip-matching-2.1.2.tgz", |
| @@ -3572,6 +3901,12 @@ | |||
| 3572 | "js-yaml": "bin/js-yaml.js" | 3901 | "js-yaml": "bin/js-yaml.js" |
| 3573 | } | 3902 | } |
| 3574 | }, | 3903 | }, |
| 3904 | "node_modules/jsbn": { | ||
| 3905 | "version": "1.1.0", | ||
| 3906 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", | ||
| 3907 | "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", | ||
| 3908 | "license": "MIT" | ||
| 3909 | }, | ||
| 3575 | "node_modules/json-buffer": { | 3910 | "node_modules/json-buffer": { |
| 3576 | "version": "3.0.1", | 3911 | "version": "3.0.1", |
| 3577 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", | 3912 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", |
| @@ -3664,6 +3999,18 @@ | |||
| 3664 | "dev": true, | 3999 | "dev": true, |
| 3665 | "license": "MIT" | 4000 | "license": "MIT" |
| 3666 | }, | 4001 | }, |
| 4002 | "node_modules/jsonfile": { | ||
| 4003 | "version": "6.1.0", | ||
| 4004 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", | ||
| 4005 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", | ||
| 4006 | "license": "MIT", | ||
| 4007 | "dependencies": { | ||
| 4008 | "universalify": "^2.0.0" | ||
| 4009 | }, | ||
| 4010 | "optionalDependencies": { | ||
| 4011 | "graceful-fs": "^4.1.6" | ||
| 4012 | } | ||
| 4013 | }, | ||
| 3667 | "node_modules/keygrip": { | 4014 | "node_modules/keygrip": { |
| 3668 | "version": "1.1.0", | 4015 | "version": "1.1.0", |
| 3669 | "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", | 4016 | "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", |
| @@ -3710,9 +4057,9 @@ | |||
| 3710 | } | 4057 | } |
| 3711 | }, | 4058 | }, |
| 3712 | "node_modules/load-bmfont": { | 4059 | "node_modules/load-bmfont": { |
| 3713 | "version": "1.4.1", | 4060 | "version": "1.4.2", |
| 3714 | "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz", | 4061 | "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.2.tgz", |
| 3715 | "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==", | 4062 | "integrity": "sha512-qElWkmjW9Oq1F9EI5Gt7aD9zcdHb9spJCW1L/dmPf7KzCCEJxq8nhHz5eCgI9aMf7vrG/wyaCqdsI+Iy9ZTlog==", |
| 3716 | "license": "MIT", | 4063 | "license": "MIT", |
| 3717 | "dependencies": { | 4064 | "dependencies": { |
| 3718 | "buffer-equal": "0.0.1", | 4065 | "buffer-equal": "0.0.1", |
| @@ -3720,7 +4067,7 @@ | |||
| 3720 | "parse-bmfont-ascii": "^1.0.3", | 4067 | "parse-bmfont-ascii": "^1.0.3", |
| 3721 | "parse-bmfont-binary": "^1.0.5", | 4068 | "parse-bmfont-binary": "^1.0.5", |
| 3722 | "parse-bmfont-xml": "^1.1.4", | 4069 | "parse-bmfont-xml": "^1.1.4", |
| 3723 | "phin": "^2.9.1", | 4070 | "phin": "^3.7.1", |
| 3724 | "xhr": "^2.0.1", | 4071 | "xhr": "^2.0.1", |
| 3725 | "xtend": "^4.0.0" | 4072 | "xtend": "^4.0.0" |
| 3726 | } | 4073 | } |
| @@ -3804,10 +4151,13 @@ | |||
| 3804 | } | 4151 | } |
| 3805 | }, | 4152 | }, |
| 3806 | "node_modules/merge-descriptors": { | 4153 | "node_modules/merge-descriptors": { |
| 3807 | "version": "1.0.1", | 4154 | "version": "1.0.3", |
| 3808 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", | 4155 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", |
| 3809 | "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", | 4156 | "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", |
| 3810 | "license": "MIT" | 4157 | "license": "MIT", |
| 4158 | "funding": { | ||
| 4159 | "url": "https://github.com/sponsors/sindresorhus" | ||
| 4160 | } | ||
| 3811 | }, | 4161 | }, |
| 3812 | "node_modules/methods": { | 4162 | "node_modules/methods": { |
| 3813 | "version": "1.1.2", | 4163 | "version": "1.1.2", |
| @@ -3953,6 +4303,15 @@ | |||
| 3953 | "node": ">= 0.6" | 4303 | "node": ">= 0.6" |
| 3954 | } | 4304 | } |
| 3955 | }, | 4305 | }, |
| 4306 | "node_modules/netmask": { | ||
| 4307 | "version": "2.0.2", | ||
| 4308 | "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", | ||
| 4309 | "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", | ||
| 4310 | "license": "MIT", | ||
| 4311 | "engines": { | ||
| 4312 | "node": ">= 0.4.0" | ||
| 4313 | } | ||
| 4314 | }, | ||
| 3956 | "node_modules/node-domexception": { | 4315 | "node_modules/node-domexception": { |
| 3957 | "version": "1.0.0", | 4316 | "version": "1.0.0", |
| 3958 | "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", | 4317 | "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", |
| @@ -4042,10 +4401,13 @@ | |||
| 4042 | } | 4401 | } |
| 4043 | }, | 4402 | }, |
| 4044 | "node_modules/object-inspect": { | 4403 | "node_modules/object-inspect": { |
| 4045 | "version": "1.12.3", | 4404 | "version": "1.13.2", |
| 4046 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", | 4405 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", |
| 4047 | "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", | 4406 | "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", |
| 4048 | "license": "MIT", | 4407 | "license": "MIT", |
| 4408 | "engines": { | ||
| 4409 | "node": ">= 0.4" | ||
| 4410 | }, | ||
| 4049 | "funding": { | 4411 | "funding": { |
| 4050 | "url": "https://github.com/sponsors/ljharb" | 4412 | "url": "https://github.com/sponsors/ljharb" |
| 4051 | } | 4413 | } |
| @@ -4220,6 +4582,61 @@ | |||
| 4220 | "url": "https://github.com/sponsors/sindresorhus" | 4582 | "url": "https://github.com/sponsors/sindresorhus" |
| 4221 | } | 4583 | } |
| 4222 | }, | 4584 | }, |
| 4585 | "node_modules/pac-proxy-agent": { | ||
| 4586 | "version": "7.0.2", | ||
| 4587 | "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.2.tgz", | ||
| 4588 | "integrity": "sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==", | ||
| 4589 | "license": "MIT", | ||
| 4590 | "dependencies": { | ||
| 4591 | "@tootallnate/quickjs-emscripten": "^0.23.0", | ||
| 4592 | "agent-base": "^7.0.2", | ||
| 4593 | "debug": "^4.3.4", | ||
| 4594 | "get-uri": "^6.0.1", | ||
| 4595 | "http-proxy-agent": "^7.0.0", | ||
| 4596 | "https-proxy-agent": "^7.0.5", | ||
| 4597 | "pac-resolver": "^7.0.1", | ||
| 4598 | "socks-proxy-agent": "^8.0.4" | ||
| 4599 | }, | ||
| 4600 | "engines": { | ||
| 4601 | "node": ">= 14" | ||
| 4602 | } | ||
| 4603 | }, | ||
| 4604 | "node_modules/pac-proxy-agent/node_modules/debug": { | ||
| 4605 | "version": "4.3.7", | ||
| 4606 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", | ||
| 4607 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", | ||
| 4608 | "license": "MIT", | ||
| 4609 | "dependencies": { | ||
| 4610 | "ms": "^2.1.3" | ||
| 4611 | }, | ||
| 4612 | "engines": { | ||
| 4613 | "node": ">=6.0" | ||
| 4614 | }, | ||
| 4615 | "peerDependenciesMeta": { | ||
| 4616 | "supports-color": { | ||
| 4617 | "optional": true | ||
| 4618 | } | ||
| 4619 | } | ||
| 4620 | }, | ||
| 4621 | "node_modules/pac-proxy-agent/node_modules/ms": { | ||
| 4622 | "version": "2.1.3", | ||
| 4623 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
| 4624 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", | ||
| 4625 | "license": "MIT" | ||
| 4626 | }, | ||
| 4627 | "node_modules/pac-resolver": { | ||
| 4628 | "version": "7.0.1", | ||
| 4629 | "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", | ||
| 4630 | "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", | ||
| 4631 | "license": "MIT", | ||
| 4632 | "dependencies": { | ||
| 4633 | "degenerator": "^5.0.0", | ||
| 4634 | "netmask": "^2.0.2" | ||
| 4635 | }, | ||
| 4636 | "engines": { | ||
| 4637 | "node": ">= 14" | ||
| 4638 | } | ||
| 4639 | }, | ||
| 4223 | "node_modules/pako": { | 4640 | "node_modules/pako": { |
| 4224 | "version": "1.0.11", | 4641 | "version": "1.0.11", |
| 4225 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", | 4642 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", |
| @@ -4252,13 +4669,13 @@ | |||
| 4252 | "license": "MIT" | 4669 | "license": "MIT" |
| 4253 | }, | 4670 | }, |
| 4254 | "node_modules/parse-bmfont-xml": { | 4671 | "node_modules/parse-bmfont-xml": { |
| 4255 | "version": "1.1.4", | 4672 | "version": "1.1.6", |
| 4256 | "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", | 4673 | "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz", |
| 4257 | "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", | 4674 | "integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==", |
| 4258 | "license": "MIT", | 4675 | "license": "MIT", |
| 4259 | "dependencies": { | 4676 | "dependencies": { |
| 4260 | "xml-parse-from-string": "^1.0.0", | 4677 | "xml-parse-from-string": "^1.0.0", |
| 4261 | "xml2js": "^0.4.5" | 4678 | "xml2js": "^0.5.0" |
| 4262 | } | 4679 | } |
| 4263 | }, | 4680 | }, |
| 4264 | "node_modules/parse-headers": { | 4681 | "node_modules/parse-headers": { |
| @@ -4346,9 +4763,9 @@ | |||
| 4346 | } | 4763 | } |
| 4347 | }, | 4764 | }, |
| 4348 | "node_modules/path-to-regexp": { | 4765 | "node_modules/path-to-regexp": { |
| 4349 | "version": "0.1.7", | 4766 | "version": "0.1.10", |
| 4350 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", | 4767 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", |
| 4351 | "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", | 4768 | "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", |
| 4352 | "license": "MIT" | 4769 | "license": "MIT" |
| 4353 | }, | 4770 | }, |
| 4354 | "node_modules/peek-readable": { | 4771 | "node_modules/peek-readable": { |
| @@ -4374,6 +4791,7 @@ | |||
| 4374 | "version": "3.7.1", | 4791 | "version": "3.7.1", |
| 4375 | "resolved": "https://registry.npmjs.org/phin/-/phin-3.7.1.tgz", | 4792 | "resolved": "https://registry.npmjs.org/phin/-/phin-3.7.1.tgz", |
| 4376 | "integrity": "sha512-GEazpTWwTZaEQ9RhL7Nyz0WwqilbqgLahDM3D0hxWwmVDI52nXEybHqiN6/elwpkJBhcuj+WbBu+QfT0uhPGfQ==", | 4793 | "integrity": "sha512-GEazpTWwTZaEQ9RhL7Nyz0WwqilbqgLahDM3D0hxWwmVDI52nXEybHqiN6/elwpkJBhcuj+WbBu+QfT0uhPGfQ==", |
| 4794 | "license": "MIT", | ||
| 4377 | "dependencies": { | 4795 | "dependencies": { |
| 4378 | "centra": "^2.7.0" | 4796 | "centra": "^2.7.0" |
| 4379 | }, | 4797 | }, |
| @@ -4515,6 +4933,57 @@ | |||
| 4515 | "node": ">= 0.10" | 4933 | "node": ">= 0.10" |
| 4516 | } | 4934 | } |
| 4517 | }, | 4935 | }, |
| 4936 | "node_modules/proxy-agent": { | ||
| 4937 | "version": "6.4.0", | ||
| 4938 | "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", | ||
| 4939 | "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", | ||
| 4940 | "license": "MIT", | ||
| 4941 | "dependencies": { | ||
| 4942 | "agent-base": "^7.0.2", | ||
| 4943 | "debug": "^4.3.4", | ||
| 4944 | "http-proxy-agent": "^7.0.1", | ||
| 4945 | "https-proxy-agent": "^7.0.3", | ||
| 4946 | "lru-cache": "^7.14.1", | ||
| 4947 | "pac-proxy-agent": "^7.0.1", | ||
| 4948 | "proxy-from-env": "^1.1.0", | ||
| 4949 | "socks-proxy-agent": "^8.0.2" | ||
| 4950 | }, | ||
| 4951 | "engines": { | ||
| 4952 | "node": ">= 14" | ||
| 4953 | } | ||
| 4954 | }, | ||
| 4955 | "node_modules/proxy-agent/node_modules/debug": { | ||
| 4956 | "version": "4.3.7", | ||
| 4957 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", | ||
| 4958 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", | ||
| 4959 | "license": "MIT", | ||
| 4960 | "dependencies": { | ||
| 4961 | "ms": "^2.1.3" | ||
| 4962 | }, | ||
| 4963 | "engines": { | ||
| 4964 | "node": ">=6.0" | ||
| 4965 | }, | ||
| 4966 | "peerDependenciesMeta": { | ||
| 4967 | "supports-color": { | ||
| 4968 | "optional": true | ||
| 4969 | } | ||
| 4970 | } | ||
| 4971 | }, | ||
| 4972 | "node_modules/proxy-agent/node_modules/lru-cache": { | ||
| 4973 | "version": "7.18.3", | ||
| 4974 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", | ||
| 4975 | "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", | ||
| 4976 | "license": "ISC", | ||
| 4977 | "engines": { | ||
| 4978 | "node": ">=12" | ||
| 4979 | } | ||
| 4980 | }, | ||
| 4981 | "node_modules/proxy-agent/node_modules/ms": { | ||
| 4982 | "version": "2.1.3", | ||
| 4983 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
| 4984 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", | ||
| 4985 | "license": "MIT" | ||
| 4986 | }, | ||
| 4518 | "node_modules/proxy-from-env": { | 4987 | "node_modules/proxy-from-env": { |
| 4519 | "version": "1.1.0", | 4988 | "version": "1.1.0", |
| 4520 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", | 4989 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", |
| @@ -4541,12 +5010,12 @@ | |||
| 4541 | } | 5010 | } |
| 4542 | }, | 5011 | }, |
| 4543 | "node_modules/qs": { | 5012 | "node_modules/qs": { |
| 4544 | "version": "6.11.0", | 5013 | "version": "6.13.0", |
| 4545 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", | 5014 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", |
| 4546 | "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", | 5015 | "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", |
| 4547 | "license": "BSD-3-Clause", | 5016 | "license": "BSD-3-Clause", |
| 4548 | "dependencies": { | 5017 | "dependencies": { |
| 4549 | "side-channel": "^1.0.4" | 5018 | "side-channel": "^1.0.6" |
| 4550 | }, | 5019 | }, |
| 4551 | "engines": { | 5020 | "engines": { |
| 4552 | "node": ">=0.6" | 5021 | "node": ">=0.6" |
| @@ -4853,15 +5322,15 @@ | |||
| 4853 | } | 5322 | } |
| 4854 | }, | 5323 | }, |
| 4855 | "node_modules/sax": { | 5324 | "node_modules/sax": { |
| 4856 | "version": "1.2.4", | 5325 | "version": "1.4.1", |
| 4857 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", | 5326 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", |
| 4858 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", | 5327 | "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", |
| 4859 | "license": "ISC" | 5328 | "license": "ISC" |
| 4860 | }, | 5329 | }, |
| 4861 | "node_modules/send": { | 5330 | "node_modules/send": { |
| 4862 | "version": "0.18.0", | 5331 | "version": "0.19.0", |
| 4863 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", | 5332 | "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", |
| 4864 | "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", | 5333 | "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", |
| 4865 | "license": "MIT", | 5334 | "license": "MIT", |
| 4866 | "dependencies": { | 5335 | "dependencies": { |
| 4867 | "debug": "2.6.9", | 5336 | "debug": "2.6.9", |
| @@ -4882,6 +5351,15 @@ | |||
| 4882 | "node": ">= 0.8.0" | 5351 | "node": ">= 0.8.0" |
| 4883 | } | 5352 | } |
| 4884 | }, | 5353 | }, |
| 5354 | "node_modules/send/node_modules/encodeurl": { | ||
| 5355 | "version": "1.0.2", | ||
| 5356 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | ||
| 5357 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", | ||
| 5358 | "license": "MIT", | ||
| 5359 | "engines": { | ||
| 5360 | "node": ">= 0.8" | ||
| 5361 | } | ||
| 5362 | }, | ||
| 4885 | "node_modules/send/node_modules/ms": { | 5363 | "node_modules/send/node_modules/ms": { |
| 4886 | "version": "2.1.3", | 5364 | "version": "2.1.3", |
| 4887 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | 5365 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", |
| @@ -4889,20 +5367,37 @@ | |||
| 4889 | "license": "MIT" | 5367 | "license": "MIT" |
| 4890 | }, | 5368 | }, |
| 4891 | "node_modules/serve-static": { | 5369 | "node_modules/serve-static": { |
| 4892 | "version": "1.15.0", | 5370 | "version": "1.16.2", |
| 4893 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", | 5371 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", |
| 4894 | "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", | 5372 | "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", |
| 4895 | "license": "MIT", | 5373 | "license": "MIT", |
| 4896 | "dependencies": { | 5374 | "dependencies": { |
| 4897 | "encodeurl": "~1.0.2", | 5375 | "encodeurl": "~2.0.0", |
| 4898 | "escape-html": "~1.0.3", | 5376 | "escape-html": "~1.0.3", |
| 4899 | "parseurl": "~1.3.3", | 5377 | "parseurl": "~1.3.3", |
| 4900 | "send": "0.18.0" | 5378 | "send": "0.19.0" |
| 4901 | }, | 5379 | }, |
| 4902 | "engines": { | 5380 | "engines": { |
| 4903 | "node": ">= 0.8.0" | 5381 | "node": ">= 0.8.0" |
| 4904 | } | 5382 | } |
| 4905 | }, | 5383 | }, |
| 5384 | "node_modules/set-function-length": { | ||
| 5385 | "version": "1.2.2", | ||
| 5386 | "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", | ||
| 5387 | "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", | ||
| 5388 | "license": "MIT", | ||
| 5389 | "dependencies": { | ||
| 5390 | "define-data-property": "^1.1.4", | ||
| 5391 | "es-errors": "^1.3.0", | ||
| 5392 | "function-bind": "^1.1.2", | ||
| 5393 | "get-intrinsic": "^1.2.4", | ||
| 5394 | "gopd": "^1.0.1", | ||
| 5395 | "has-property-descriptors": "^1.0.2" | ||
| 5396 | }, | ||
| 5397 | "engines": { | ||
| 5398 | "node": ">= 0.4" | ||
| 5399 | } | ||
| 5400 | }, | ||
| 4906 | "node_modules/setprototypeof": { | 5401 | "node_modules/setprototypeof": { |
| 4907 | "version": "1.2.0", | 5402 | "version": "1.2.0", |
| 4908 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", | 5403 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", |
| @@ -4931,14 +5426,18 @@ | |||
| 4931 | } | 5426 | } |
| 4932 | }, | 5427 | }, |
| 4933 | "node_modules/side-channel": { | 5428 | "node_modules/side-channel": { |
| 4934 | "version": "1.0.4", | 5429 | "version": "1.0.6", |
| 4935 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", | 5430 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", |
| 4936 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", | 5431 | "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", |
| 4937 | "license": "MIT", | 5432 | "license": "MIT", |
| 4938 | "dependencies": { | 5433 | "dependencies": { |
| 4939 | "call-bind": "^1.0.0", | 5434 | "call-bind": "^1.0.7", |
| 4940 | "get-intrinsic": "^1.0.2", | 5435 | "es-errors": "^1.3.0", |
| 4941 | "object-inspect": "^1.9.0" | 5436 | "get-intrinsic": "^1.2.4", |
| 5437 | "object-inspect": "^1.13.1" | ||
| 5438 | }, | ||
| 5439 | "engines": { | ||
| 5440 | "node": ">= 0.4" | ||
| 4942 | }, | 5441 | }, |
| 4943 | "funding": { | 5442 | "funding": { |
| 4944 | "url": "https://github.com/sponsors/ljharb" | 5443 | "url": "https://github.com/sponsors/ljharb" |
| @@ -5011,6 +5510,83 @@ | |||
| 5011 | "integrity": "sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==", | 5510 | "integrity": "sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==", |
| 5012 | "license": "MIT" | 5511 | "license": "MIT" |
| 5013 | }, | 5512 | }, |
| 5513 | "node_modules/smart-buffer": { | ||
| 5514 | "version": "4.2.0", | ||
| 5515 | "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", | ||
| 5516 | "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", | ||
| 5517 | "license": "MIT", | ||
| 5518 | "engines": { | ||
| 5519 | "node": ">= 6.0.0", | ||
| 5520 | "npm": ">= 3.0.0" | ||
| 5521 | } | ||
| 5522 | }, | ||
| 5523 | "node_modules/socks": { | ||
| 5524 | "version": "2.8.3", | ||
| 5525 | "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", | ||
| 5526 | "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", | ||
| 5527 | "license": "MIT", | ||
| 5528 | "dependencies": { | ||
| 5529 | "ip-address": "^9.0.5", | ||
| 5530 | "smart-buffer": "^4.2.0" | ||
| 5531 | }, | ||
| 5532 | "engines": { | ||
| 5533 | "node": ">= 10.0.0", | ||
| 5534 | "npm": ">= 3.0.0" | ||
| 5535 | } | ||
| 5536 | }, | ||
| 5537 | "node_modules/socks-proxy-agent": { | ||
| 5538 | "version": "8.0.4", | ||
| 5539 | "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", | ||
| 5540 | "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", | ||
| 5541 | "license": "MIT", | ||
| 5542 | "dependencies": { | ||
| 5543 | "agent-base": "^7.1.1", | ||
| 5544 | "debug": "^4.3.4", | ||
| 5545 | "socks": "^2.8.3" | ||
| 5546 | }, | ||
| 5547 | "engines": { | ||
| 5548 | "node": ">= 14" | ||
| 5549 | } | ||
| 5550 | }, | ||
| 5551 | "node_modules/socks-proxy-agent/node_modules/debug": { | ||
| 5552 | "version": "4.3.7", | ||
| 5553 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", | ||
| 5554 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", | ||
| 5555 | "license": "MIT", | ||
| 5556 | "dependencies": { | ||
| 5557 | "ms": "^2.1.3" | ||
| 5558 | }, | ||
| 5559 | "engines": { | ||
| 5560 | "node": ">=6.0" | ||
| 5561 | }, | ||
| 5562 | "peerDependenciesMeta": { | ||
| 5563 | "supports-color": { | ||
| 5564 | "optional": true | ||
| 5565 | } | ||
| 5566 | } | ||
| 5567 | }, | ||
| 5568 | "node_modules/socks-proxy-agent/node_modules/ms": { | ||
| 5569 | "version": "2.1.3", | ||
| 5570 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | ||
| 5571 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", | ||
| 5572 | "license": "MIT" | ||
| 5573 | }, | ||
| 5574 | "node_modules/source-map": { | ||
| 5575 | "version": "0.6.1", | ||
| 5576 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | ||
| 5577 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", | ||
| 5578 | "license": "BSD-3-Clause", | ||
| 5579 | "optional": true, | ||
| 5580 | "engines": { | ||
| 5581 | "node": ">=0.10.0" | ||
| 5582 | } | ||
| 5583 | }, | ||
| 5584 | "node_modules/sprintf-js": { | ||
| 5585 | "version": "1.1.3", | ||
| 5586 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", | ||
| 5587 | "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", | ||
| 5588 | "license": "BSD-3-Clause" | ||
| 5589 | }, | ||
| 5014 | "node_modules/statuses": { | 5590 | "node_modules/statuses": { |
| 5015 | "version": "2.0.1", | 5591 | "version": "2.0.1", |
| 5016 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", | 5592 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", |
| @@ -5162,9 +5738,10 @@ | |||
| 5162 | "license": "MIT" | 5738 | "license": "MIT" |
| 5163 | }, | 5739 | }, |
| 5164 | "node_modules/tiktoken": { | 5740 | "node_modules/tiktoken": { |
| 5165 | "version": "1.0.15", | 5741 | "version": "1.0.16", |
| 5166 | "resolved": "https://registry.npmjs.org/tiktoken/-/tiktoken-1.0.15.tgz", | 5742 | "resolved": "https://registry.npmjs.org/tiktoken/-/tiktoken-1.0.16.tgz", |
| 5167 | "integrity": "sha512-sCsrq/vMWUSEW29CJLNmPvWxlVp7yh2tlkAjpJltIKqp5CKf98ZNpdeHRmAlPVFlGEbswDc6SmI8vz64W/qErw==" | 5743 | "integrity": "sha512-hRcORIGF2YlAgWx3nzrGJOrKSJwLoc81HpXmMQk89632XAgURc7IeV2FgQ2iXo9z/J96fCvpsHg2kWoHcbj9fg==", |
| 5744 | "license": "MIT" | ||
| 5168 | }, | 5745 | }, |
| 5169 | "node_modules/timm": { | 5746 | "node_modules/timm": { |
| 5170 | "version": "1.7.1", | 5747 | "version": "1.7.1", |
| @@ -5224,6 +5801,12 @@ | |||
| 5224 | "utf8-byte-length": "^1.0.1" | 5801 | "utf8-byte-length": "^1.0.1" |
| 5225 | } | 5802 | } |
| 5226 | }, | 5803 | }, |
| 5804 | "node_modules/tslib": { | ||
| 5805 | "version": "2.7.0", | ||
| 5806 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", | ||
| 5807 | "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", | ||
| 5808 | "license": "0BSD" | ||
| 5809 | }, | ||
| 5227 | "node_modules/tsscmp": { | 5810 | "node_modules/tsscmp": { |
| 5228 | "version": "1.0.6", | 5811 | "version": "1.0.6", |
| 5229 | "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", | 5812 | "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", |
| @@ -5283,6 +5866,15 @@ | |||
| 5283 | "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", | 5866 | "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", |
| 5284 | "license": "MIT" | 5867 | "license": "MIT" |
| 5285 | }, | 5868 | }, |
| 5869 | "node_modules/universalify": { | ||
| 5870 | "version": "2.0.1", | ||
| 5871 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", | ||
| 5872 | "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", | ||
| 5873 | "license": "MIT", | ||
| 5874 | "engines": { | ||
| 5875 | "node": ">= 10.0.0" | ||
| 5876 | } | ||
| 5877 | }, | ||
| 5286 | "node_modules/unpipe": { | 5878 | "node_modules/unpipe": { |
| 5287 | "version": "1.0.0", | 5879 | "version": "1.0.0", |
| 5288 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", | 5880 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", |
| @@ -12,7 +12,7 @@ | |||
| 12 | "cookie-session": "^2.1.0", | 12 | "cookie-session": "^2.1.0", |
| 13 | "cors": "^2.8.5", | 13 | "cors": "^2.8.5", |
| 14 | "csrf-csrf": "^2.2.3", | 14 | "csrf-csrf": "^2.2.3", |
| 15 | "express": "^4.19.2", | 15 | "express": "^4.21.0", |
| 16 | "form-data": "^4.0.0", | 16 | "form-data": "^4.0.0", |
| 17 | "google-translate-api-browser": "^3.0.1", | 17 | "google-translate-api-browser": "^3.0.1", |
| 18 | "he": "^1.2.0", | 18 | "he": "^1.2.0", |
| @@ -30,12 +30,13 @@ | |||
| 30 | "png-chunk-text": "^1.0.0", | 30 | "png-chunk-text": "^1.0.0", |
| 31 | "png-chunks-encode": "^1.0.0", | 31 | "png-chunks-encode": "^1.0.0", |
| 32 | "png-chunks-extract": "^1.0.0", | 32 | "png-chunks-extract": "^1.0.0", |
| 33 | "proxy-agent": "^6.4.0", | ||
| 33 | "rate-limiter-flexible": "^5.0.0", | 34 | "rate-limiter-flexible": "^5.0.0", |
| 34 | "response-time": "^2.3.2", | 35 | "response-time": "^2.3.2", |
| 35 | "sanitize-filename": "^1.6.3", | 36 | "sanitize-filename": "^1.6.3", |
| 36 | "sillytavern-transformers": "2.14.6", | 37 | "sillytavern-transformers": "2.14.6", |
| 37 | "simple-git": "^3.19.1", | 38 | "simple-git": "^3.19.1", |
| 38 | "tiktoken": "^1.0.15", | 39 | "tiktoken": "^1.0.16", |
| 39 | "vectra": "^0.2.2", | 40 | "vectra": "^0.2.2", |
| 40 | "wavefile": "^11.0.0", | 41 | "wavefile": "^11.0.0", |
| 41 | "write-file-atomic": "^5.0.1", | 42 | "write-file-atomic": "^5.0.1", |
| @@ -48,15 +49,9 @@ | |||
| 48 | "node": ">= 18" | 49 | "node": ">= 18" |
| 49 | }, | 50 | }, |
| 50 | "overrides": { | 51 | "overrides": { |
| 51 | "parse-bmfont-xml": { | ||
| 52 | "xml2js": "^0.5.0" | ||
| 53 | }, | ||
| 54 | "vectra": { | 52 | "vectra": { |
| 55 | "openai": "^4.17.0" | 53 | "openai": "^4.17.0" |
| 56 | }, | 54 | }, |
| 57 | "load-bmfont": { | ||
| 58 | "phin": "^3.7.1" | ||
| 59 | }, | ||
| 60 | "axios": { | 55 | "axios": { |
| 61 | "follow-redirects": "^1.15.4" | 56 | "follow-redirects": "^1.15.4" |
| 62 | }, | 57 | }, |
| @@ -71,7 +66,7 @@ | |||
| 71 | "type": "git", | 66 | "type": "git", |
| 72 | "url": "https://github.com/SillyTavern/SillyTavern.git" | 67 | "url": "https://github.com/SillyTavern/SillyTavern.git" |
| 73 | }, | 68 | }, |
| 74 | "version": "1.12.5", | 69 | "version": "1.12.6", |
| 75 | "scripts": { | 70 | "scripts": { |
| 76 | "start": "node server.js", | 71 | "start": "node server.js", |
| 77 | "start:no-csrf": "node server.js --disableCsrf", | 72 | "start:no-csrf": "node server.js --disableCsrf", |
| @@ -1,11 +1,14 @@ | |||
| 1 | // Plugin manager script. | 1 | // Plugin manager script. |
| 2 | // Usage: node plugins.js update | 2 | // Usage: |
| 3 | // 1. node plugins.js update | ||
| 4 | // 2. node plugins.js install <plugin-git-url> | ||
| 3 | // More operations coming soon. | 5 | // More operations coming soon. |
| 4 | const { default: git } = require('simple-git'); | 6 | const { default: git } = require('simple-git'); |
| 5 | const fs = require('fs'); | 7 | const fs = require('fs'); |
| 6 | const path = require('path'); | 8 | const path = require('path'); |
| 7 | const { color } = require('./src/util'); | 9 | const { color } = require('./src/util'); |
| 8 | 10 | ||
| 11 | process.chdir(__dirname); | ||
| 9 | const pluginsPath = './plugins'; | 12 | const pluginsPath = './plugins'; |
| 10 | 13 | ||
| 11 | const command = process.argv[2]; | 14 | const command = process.argv[2]; |
| @@ -55,7 +58,6 @@ async function updatePlugins() { | |||
| 55 | } | 58 | } |
| 56 | 59 | ||
| 57 | console.log(color.magenta('All plugins updated!')); | 60 | console.log(color.magenta('All plugins updated!')); |
| 58 | |||
| 59 | } | 61 | } |
| 60 | 62 | ||
| 61 | async function installPlugin(pluginName) { | 63 | async function installPlugin(pluginName) { |
| @@ -1,6 +1,16 @@ | |||
| 1 | /*will apply to anything 1000px or less. this catches ipads, horizontal phones, and vertical phones)*/ | 1 | /*will apply to anything 1000px or less. this catches ipads, horizontal phones, and vertical phones)*/ |
| 2 | @media screen and (max-width: 1000px) { | 2 | @media screen and (max-width: 1000px) { |
| 3 | 3 | ||
| 4 | #UI-Theme-Block, | ||
| 5 | #UI-Customization, | ||
| 6 | #power-user-options-block, | ||
| 7 | #ContextSettings, | ||
| 8 | #InstructSettingsColumn, | ||
| 9 | #InstructSequencesColumn { | ||
| 10 | flex-basis: 100%; | ||
| 11 | } | ||
| 12 | |||
| 13 | |||
| 4 | #send_form.compact #leftSendForm, | 14 | #send_form.compact #leftSendForm, |
| 5 | #send_form.compact #rightSendForm { | 15 | #send_form.compact #rightSendForm { |
| 6 | flex-wrap: nowrap; | 16 | flex-wrap: nowrap; |
| @@ -93,7 +103,6 @@ | |||
| 93 | touch-action: none; | 103 | touch-action: none; |
| 94 | overflow: hidden; | 104 | overflow: hidden; |
| 95 | position: fixed; | 105 | position: fixed; |
| 96 | |||
| 97 | } | 106 | } |
| 98 | 107 | ||
| 99 | .world_entry_form_control { | 108 | .world_entry_form_control { |
| @@ -102,7 +111,7 @@ | |||
| 102 | 111 | ||
| 103 | .drawer-content { | 112 | .drawer-content { |
| 104 | min-width: unset; | 113 | min-width: unset; |
| 105 | width: 100%; | 114 | width: 100dvw; |
| 106 | max-height: calc(100vh - 45px); | 115 | max-height: calc(100vh - 45px); |
| 107 | max-height: calc(100dvh - 45px); | 116 | max-height: calc(100dvh - 45px); |
| 108 | position: fixed; | 117 | position: fixed; |
| @@ -149,9 +158,9 @@ | |||
| 149 | #sheld, | 158 | #sheld, |
| 150 | #character_popup, | 159 | #character_popup, |
| 151 | .drawer-content { | 160 | .drawer-content { |
| 152 | width: 100% !important; | 161 | width: 100dvw !important; |
| 153 | margin: 0 auto; | 162 | margin: 0 auto; |
| 154 | max-width: 100%; | 163 | max-width: 100dvw; |
| 155 | left: 0 !important; | 164 | left: 0 !important; |
| 156 | resize: none !important; | 165 | resize: none !important; |
| 157 | top: var(--topBarBlockSize); | 166 | top: var(--topBarBlockSize); |
| @@ -223,9 +232,9 @@ | |||
| 223 | /* 100vh are fallback units for browsers that don't support dvh */ | 232 | /* 100vh are fallback units for browsers that don't support dvh */ |
| 224 | height: calc(100vh - 45px); | 233 | height: calc(100vh - 45px); |
| 225 | height: calc(100dvh - 45px); | 234 | height: calc(100dvh - 45px); |
| 226 | min-width: 100% !important; | 235 | min-width: 100dvw !important; |
| 227 | width: 100% !important; | 236 | width: 100dvw !important; |
| 228 | max-width: 100% !important; | 237 | max-width: 100dvw !important; |
| 229 | overflow-y: hidden; | 238 | overflow-y: hidden; |
| 230 | border-left: 1px solid var(--SmartThemeBorderColor); | 239 | border-left: 1px solid var(--SmartThemeBorderColor); |
| 231 | border-right: 1px solid var(--SmartThemeBorderColor); | 240 | border-right: 1px solid var(--SmartThemeBorderColor); |
| @@ -342,17 +351,6 @@ | |||
| 342 | } | 351 | } |
| 343 | } | 352 | } |
| 344 | 353 | ||
| 345 | @media screen and (min-width: 1001px) { | ||
| 346 | |||
| 347 | #PygOverrides, | ||
| 348 | #ContextFormatting, | ||
| 349 | #UI-Theme-Block, | ||
| 350 | #UI-Customization, | ||
| 351 | #power-user-options-block { | ||
| 352 | flex: 1; | ||
| 353 | } | ||
| 354 | } | ||
| 355 | |||
| 356 | /*landscape mode phones and ipads*/ | 354 | /*landscape mode phones and ipads*/ |
| 357 | @media screen and (max-width: 1000px) and (orientation: landscape) { | 355 | @media screen and (max-width: 1000px) and (orientation: landscape) { |
| 358 | body.waifuMode img.expression { | 356 | body.waifuMode img.expression { |
| @@ -482,10 +480,10 @@ | |||
| 482 | margin: 0 auto; | 480 | margin: 0 auto; |
| 483 | height: calc(100vh - 70px); | 481 | height: calc(100vh - 70px); |
| 484 | height: calc(100dvh - 70px); | 482 | height: calc(100dvh - 70px); |
| 485 | width: calc(100% - 5px); | 483 | width: calc(100dvw - 5px); |
| 486 | max-height: calc(100vh - 70px); | 484 | max-height: calc(100vh - 70px); |
| 487 | max-height: calc(100dvh - 70px); | 485 | max-height: calc(100dvh - 70px); |
| 488 | max-width: calc(100% - 5px); | 486 | max-width: calc(100dvw - 5px); |
| 489 | 487 | ||
| 490 | } | 488 | } |
| 491 | 489 | ||
| @@ -47,6 +47,10 @@ dialog { | |||
| 47 | padding: 1px; | 47 | padding: 1px; |
| 48 | } | 48 | } |
| 49 | 49 | ||
| 50 | .popup:not(:has(.img_enlarged_container)) .popup-body { | ||
| 51 | max-height: 95dvh; | ||
| 52 | } | ||
| 53 | |||
| 50 | .popup .popup-content { | 54 | .popup .popup-content { |
| 51 | margin-top: 10px; | 55 | margin-top: 10px; |
| 52 | padding: 0 8px; | 56 | padding: 0 8px; |
| @@ -91,15 +91,34 @@ | |||
| 91 | #completion_prompt_manager_popup #completion_prompt_manager_popup_inspect { | 91 | #completion_prompt_manager_popup #completion_prompt_manager_popup_inspect { |
| 92 | display: none; | 92 | display: none; |
| 93 | padding: 0.5em; | 93 | padding: 0.5em; |
| 94 | height: 100%; | ||
| 95 | display: flex; | ||
| 96 | flex-direction: column; | ||
| 94 | } | 97 | } |
| 95 | 98 | ||
| 96 | #completion_prompt_manager_popup .completion_prompt_manager_popup_entry { | 99 | #completion_prompt_manager_popup .completion_prompt_manager_popup_entry { |
| 97 | padding: 1em; | 100 | padding: 0.5em; |
| 98 | margin-top: 2em; | 101 | flex: 1; |
| 102 | } | ||
| 103 | |||
| 104 | #completion_prompt_manager_popup .completion_prompt_manager_popup_entry_form { | ||
| 105 | height: 100%; | ||
| 106 | display: flex; | ||
| 107 | flex-direction: column; | ||
| 108 | } | ||
| 109 | |||
| 110 | #completion_prompt_manager_popup .completion_prompt_manager_popup_entry_form_control:has(#completion_prompt_manager_popup_entry_form_prompt) { | ||
| 111 | flex: 1; | ||
| 112 | display: flex; | ||
| 113 | flex-direction: column; | ||
| 114 | } | ||
| 115 | |||
| 116 | #completion_prompt_manager_popup #completion_prompt_manager_popup_entry_form_prompt { | ||
| 117 | flex: 1; | ||
| 99 | } | 118 | } |
| 100 | 119 | ||
| 101 | #completion_prompt_manager_popup #completion_prompt_manager_popup_inspect .completion_prompt_manager_popup_entry { | 120 | #completion_prompt_manager_popup #completion_prompt_manager_popup_inspect .completion_prompt_manager_popup_entry { |
| 102 | padding: 1em; | 121 | padding: 0.5em; |
| 103 | } | 122 | } |
| 104 | 123 | ||
| 105 | #completion_prompt_manager_popup #completion_prompt_manager_popup_entry_form_inspect_list { | 124 | #completion_prompt_manager_popup #completion_prompt_manager_popup_entry_form_inspect_list { |
| @@ -248,7 +267,7 @@ | |||
| 248 | } | 267 | } |
| 249 | 268 | ||
| 250 | #completion_prompt_manager_footer_append_prompt { | 269 | #completion_prompt_manager_footer_append_prompt { |
| 251 | font-size: 16px; | 270 | font-size: 1em; |
| 252 | } | 271 | } |
| 253 | 272 | ||
| 254 | #prompt-manager-export-format-popup { | 273 | #prompt-manager-export-format-popup { |
| @@ -303,10 +322,6 @@ | |||
| 303 | justify-content: space-between; | 322 | justify-content: space-between; |
| 304 | } | 323 | } |
| 305 | 324 | ||
| 306 | #prompt-manager-export-format-popup span { | ||
| 307 | font-size: 16px; | ||
| 308 | } | ||
| 309 | |||
| 310 | @media screen and (max-width: 412px) { | 325 | @media screen and (max-width: 412px) { |
| 311 | #completion_prompt_manager_popup { | 326 | #completion_prompt_manager_popup { |
| 312 | max-width: 100%; | 327 | max-width: 100%; |
| @@ -316,3 +331,15 @@ | |||
| 316 | margin-left: 0.5em; | 331 | margin-left: 0.5em; |
| 317 | } | 332 | } |
| 318 | } | 333 | } |
| 334 | |||
| 335 | .completion_prompt_manager_popup_entry_form_control:has(#completion_prompt_manager_popup_entry_form_prompt:disabled)>div:first-child::after { | ||
| 336 | content: 'The content of this prompt is pulled from elsewhere and cannot be edited here.'; | ||
| 337 | display: block; | ||
| 338 | width: 100%; | ||
| 339 | font-weight: 600; | ||
| 340 | text-align: center; | ||
| 341 | } | ||
| 342 | |||
| 343 | .completion_prompt_manager_popup_entry_form_control #completion_prompt_manager_popup_entry_form_prompt:disabled { | ||
| 344 | visibility: hidden; | ||
| 345 | } | ||
| @@ -15,8 +15,13 @@ | |||
| 15 | z-index: 40000; | 15 | z-index: 40000; |
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | .select2-selection__clear { | 18 | .select2-container .select2-selection .select2-selection__clear { |
| 19 | color: var(--SmartThemeBodyColor); | 19 | color: var(--SmartThemeBodyColor); |
| 20 | font-size: 24px; | ||
| 21 | padding: 0; | ||
| 22 | position: absolute; | ||
| 23 | right: 5px; | ||
| 24 | top: 0; | ||
| 20 | } | 25 | } |
| 21 | 26 | ||
| 22 | .select2-container .select2-search__field { | 27 | .select2-container .select2-search__field { |
| @@ -360,6 +360,10 @@ | |||
| 360 | margin-right: 2px; | 360 | margin-right: 2px; |
| 361 | } | 361 | } |
| 362 | 362 | ||
| 363 | .flexAuto { | ||
| 364 | flex: auto; | ||
| 365 | } | ||
| 366 | |||
| 363 | .flex0 { | 367 | .flex0 { |
| 364 | flex: 0; | 368 | flex: 0; |
| 365 | } | 369 | } |
| @@ -495,6 +499,10 @@ textarea:disabled { | |||
| 495 | filter: brightness(0.5); | 499 | filter: brightness(0.5); |
| 496 | } | 500 | } |
| 497 | 501 | ||
| 502 | #AdvancedFormatting .disabled { | ||
| 503 | filter: brightness(0.5); | ||
| 504 | } | ||
| 505 | |||
| 498 | .debug-red { | 506 | .debug-red { |
| 499 | border: 1px solid red !important; | 507 | border: 1px solid red !important; |
| 500 | } | 508 | } |
| @@ -28,8 +28,8 @@ body.hideChatAvatars .mesAvatarWrapper .avatar { | |||
| 28 | display: none !important; | 28 | display: none !important; |
| 29 | } | 29 | } |
| 30 | 30 | ||
| 31 | body.hideChatAvatars .last_mes { | 31 | body.hideChatAvatars .last_mes:not(.smallSysMes) { |
| 32 | padding-bottom: 40px !important; | 32 | padding-bottom: 20px !important; |
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | body.square-avatars .avatar, | 35 | body.square-avatars .avatar, |
| @@ -454,4 +454,8 @@ body.expandMessageActions .mes .mes_buttons .extraMesButtonsHint { | |||
| 454 | 454 | ||
| 455 | #smooth_streaming:checked~#smooth_streaming_speed_control { | 455 | #smooth_streaming:checked~#smooth_streaming_speed_control { |
| 456 | display: block; | 456 | display: block; |
| 457 | } | ||
| 457 | \ No newline at end of file | \ No newline at end of file | |
| 457 | } | ||
| 458 | |||
| 459 | .mdhotkey_icon { | ||
| 460 | opacity: 0.6; | ||
| 461 | } | ||
| @@ -274,3 +274,7 @@ select.keyselect+span.select2-container .select2-selection--multiple { | |||
| 274 | align-self: center; | 274 | align-self: center; |
| 275 | width: 100%; | 275 | width: 100%; |
| 276 | } | 276 | } |
| 277 | |||
| 278 | .world_entry:has(input[name="delay_until_recursion"]:not(:checked)) .world_entry_form_control:has(input[name="delayUntilRecursionLevel"]) { | ||
| 279 | display: none; | ||
| 280 | } | ||
Binary file
| @@ -0,0 +1,3 @@ | |||
| 1 | <svg xmlns="http://www.w3.org/2000/svg" width="10" height="7"> | ||
| 2 | <polygon points="0,0 10,0 5,7" fill="#888888" /> | ||
| 3 | </svg> | ||
Binary file
| @@ -5,7 +5,7 @@ | |||
| 5 | <title>SillyTavern</title> | 5 | <title>SillyTavern</title> |
| 6 | <base href="/"> | 6 | <base href="/"> |
| 7 | <meta charset="utf-8"> | 7 | <meta charset="utf-8"> |
| 8 | <meta name="viewport" content="width=device-width, viewport-fit=cover, initial-scale=1, maximum-scale=1.0, user-scalable=no"> | 8 | <meta name="viewport" content="width=device-width, viewport-fit=cover, initial-scale=1, maximum-scale=1.0, user-scalable=no, interactive-widget=resizes-content"> |
| 9 | <meta name="apple-mobile-web-app-capable" content="yes"> | 9 | <meta name="apple-mobile-web-app-capable" content="yes"> |
| 10 | <meta name="darkreader-lock"> | 10 | <meta name="darkreader-lock"> |
| 11 | <meta name="robots" content="noindex, nofollow" /> | 11 | <meta name="robots" content="noindex, nofollow" /> |
| @@ -65,7 +65,7 @@ | |||
| 65 | <!-- background selection menu --> | 65 | <!-- background selection menu --> |
| 66 | <div id="ai-config-button" class="drawer"> | 66 | <div id="ai-config-button" class="drawer"> |
| 67 | <div class="drawer-toggle drawer-header"> | 67 | <div class="drawer-toggle drawer-header"> |
| 68 | <div id="leftNavDrawerIcon" class="drawer-icon fa-solid fa-sliders closedIcon" title="AI Response Configuration" data-i18n="[title]AI Response Configuration"></div> | 68 | <div id="leftNavDrawerIcon" class="drawer-icon fa-solid fa-sliders fa-fw closedIcon" title="AI Response Configuration" data-i18n="[title]AI Response Configuration"></div> |
| 69 | </div> | 69 | </div> |
| 70 | <div id="left-nav-panel" class="drawer-content fillLeft closedDrawer"> | 70 | <div id="left-nav-panel" class="drawer-content fillLeft closedDrawer"> |
| 71 | <div id="left-nav-panelheader" class="fa-solid fa-grip drag-grabber"></div> | 71 | <div id="left-nav-panelheader" class="fa-solid fa-grip drag-grabber"></div> |
| @@ -98,12 +98,12 @@ | |||
| 98 | </select> | 98 | </select> |
| 99 | <div class="flex-container marginLeft5 "> | 99 | <div class="flex-container marginLeft5 "> |
| 100 | <input type="file" hidden data-preset-manager-file="kobold" accept=".json, .settings"> | 100 | <input type="file" hidden data-preset-manager-file="kobold" accept=".json, .settings"> |
| 101 | <i data-newbie-hidden data-preset-manager-update="kobold" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i> | 101 | <i data-preset-manager-update="kobold" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i> |
| 102 | <i data-newbie-hidden data-preset-manager-new="kobold" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i> | 102 | <i data-preset-manager-new="kobold" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i> |
| 103 | <i data-newbie-hidden data-preset-manager-import="kobold" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i> | 103 | <i data-preset-manager-import="kobold" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i> |
| 104 | <i data-newbie-hidden data-preset-manager-export="kobold" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i> | 104 | <i data-preset-manager-export="kobold" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i> |
| 105 | <i data-newbie-hidden data-preset-manager-restore="kobold" class="menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i> | 105 | <i data-preset-manager-restore="kobold" class="menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i> |
| 106 | <i data-newbie-hidden data-preset-manager-delete="kobold" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i> | 106 | <i data-preset-manager-delete="kobold" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i> |
| 107 | </div> | 107 | </div> |
| 108 | </div> | 108 | </div> |
| 109 | </div> | 109 | </div> |
| @@ -119,13 +119,13 @@ | |||
| 119 | <option value="gui" data-i18n="Default">Default</option> | 119 | <option value="gui" data-i18n="Default">Default</option> |
| 120 | </select> | 120 | </select> |
| 121 | <div class="flex-container marginLeft5 "> | 121 | <div class="flex-container marginLeft5 "> |
| 122 | <input type="file" hidden data-preset-manager-file="novel" accept=".json, .settings"> | 122 | <input type="file" hidden data-preset-manager-file="novel" accept=".json, .settings, .preset"> |
| 123 | <i data-newbie-hidden data-preset-manager-update="novel" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i> | 123 | <i data-preset-manager-update="novel" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i> |
| 124 | <i data-newbie-hidden data-preset-manager-new="novel" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i> | 124 | <i data-preset-manager-new="novel" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i> |
| 125 | <i data-newbie-hidden data-preset-manager-import="novel" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i> | 125 | <i data-preset-manager-import="novel" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i> |
| 126 | <i data-newbie-hidden data-preset-manager-export="novel" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i> | 126 | <i data-preset-manager-export="novel" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i> |
| 127 | <i data-newbie-hidden data-preset-manager-restore="novel" class="menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i> | 127 | <i data-preset-manager-restore="novel" class="menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i> |
| 128 | <i data-newbie-hidden data-preset-manager-delete="novel" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i> | 128 | <i data-preset-manager-delete="novel" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i> |
| 129 | </div> | 129 | </div> |
| 130 | </div> | 130 | </div> |
| 131 | </div> | 131 | </div> |
| @@ -140,9 +140,9 @@ | |||
| 140 | <input id="openai_preset_import_file" type="file" accept=".json,.settings" hidden /> | 140 | <input id="openai_preset_import_file" type="file" accept=".json,.settings" hidden /> |
| 141 | <i id="update_oai_preset" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i> | 141 | <i id="update_oai_preset" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i> |
| 142 | <i id="new_oai_preset" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i> | 142 | <i id="new_oai_preset" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i> |
| 143 | <i data-newbie-hidden id="import_oai_preset" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i> | 143 | <i id="import_oai_preset" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i> |
| 144 | <i data-newbie-hidden id="export_oai_preset" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i> | 144 | <i id="export_oai_preset" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i> |
| 145 | <i data-newbie-hidden id="delete_oai_preset" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i> | 145 | <i id="delete_oai_preset" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i> |
| 146 | </div> | 146 | </div> |
| 147 | </div> | 147 | </div> |
| 148 | </div> | 148 | </div> |
| @@ -154,17 +154,17 @@ | |||
| 154 | </select> | 154 | </select> |
| 155 | <div class="flex-container marginLeft5 "> | 155 | <div class="flex-container marginLeft5 "> |
| 156 | <input type="file" hidden data-preset-manager-file="textgenerationwebui" accept=".json, .settings"> | 156 | <input type="file" hidden data-preset-manager-file="textgenerationwebui" accept=".json, .settings"> |
| 157 | <i data-newbie-hidden data-preset-manager-update="textgenerationwebui" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i> | 157 | <i data-preset-manager-update="textgenerationwebui" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i> |
| 158 | <i data-newbie-hidden data-preset-manager-new="textgenerationwebui" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i> | 158 | <i data-preset-manager-new="textgenerationwebui" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i> |
| 159 | <i data-newbie-hidden data-preset-manager-import="textgenerationwebui" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i> | 159 | <i data-preset-manager-import="textgenerationwebui" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i> |
| 160 | <i data-newbie-hidden data-preset-manager-export="textgenerationwebui" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i> | 160 | <i data-preset-manager-export="textgenerationwebui" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i> |
| 161 | <i data-newbie-hidden data-preset-manager-restore="textgenerationwebui" class="menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i> | 161 | <i data-preset-manager-restore="textgenerationwebui" class="menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i> |
| 162 | <i data-newbie-hidden data-preset-manager-delete="textgenerationwebui" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i> | 162 | <i data-preset-manager-delete="textgenerationwebui" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i> |
| 163 | </div> | 163 | </div> |
| 164 | </div> | 164 | </div> |
| 165 | </div> | 165 | </div> |
| 166 | </div> | 166 | </div> |
| 167 | <div data-newbie-hidden id="ai_module_block_novel" class="width100p"> | 167 | <div id="ai_module_block_novel" class="width100p"> |
| 168 | <div class="range-block"> | 168 | <div class="range-block"> |
| 169 | <div class="range-block-title justifyLeft" data-i18n="AI Module"> | 169 | <div class="range-block-title justifyLeft" data-i18n="AI Module"> |
| 170 | AI Module | 170 | AI Module |
| @@ -215,7 +215,7 @@ | |||
| 215 | <label class="checkbox_label"> | 215 | <label class="checkbox_label"> |
| 216 | <input id="max_context_unlocked" type="checkbox" /> | 216 | <input id="max_context_unlocked" type="checkbox" /> |
| 217 | <small><span data-i18n="unlocked">Unlocked</span> | 217 | <small><span data-i18n="unlocked">Unlocked</span> |
| 218 | <div id="max_context_unlocked_warning" class="fa-solid fa-circle-info opacity50p " data-i18n="[title]Only enable this if your model supports context sizes greater than 4096 tokens" title="Only enable this if your model supports context sizes greater than 4096 tokens. Increase only if you know what you're doing."></div> | 218 | <div id="max_context_unlocked_warning" class="fa-solid fa-circle-info opacity50p " data-i18n="[title]Only enable this if your model supports context sizes greater than 8192 tokens" title="Only enable this if your model supports context sizes greater than 8192 tokens. Increase only if you know what you're doing."></div> |
| 219 | </small> | 219 | </small> |
| 220 | </label> | 220 | </label> |
| 221 | </div> | 221 | </div> |
| @@ -271,7 +271,7 @@ | |||
| 271 | </div> | 271 | </div> |
| 272 | </div> | 272 | </div> |
| 273 | </div> | 273 | </div> |
| 274 | <div data-newbie-hidden class="range-block"> | 274 | <div class="range-block"> |
| 275 | <div class="range-block-title" data-i18n="Rep. Pen. Range."> | 275 | <div class="range-block-title" data-i18n="Rep. Pen. Range."> |
| 276 | Rep Pen Range | 276 | Rep Pen Range |
| 277 | </div> | 277 | </div> |
| @@ -284,7 +284,7 @@ | |||
| 284 | </div> | 284 | </div> |
| 285 | </div> | 285 | </div> |
| 286 | </div> | 286 | </div> |
| 287 | <div data-newbie-hidden class="range-block"> | 287 | <div class="range-block"> |
| 288 | <div class="range-block-title" data-i18n="Rep. Pen. Slope"> | 288 | <div class="range-block-title" data-i18n="Rep. Pen. Slope"> |
| 289 | Repetition Penalty Slope | 289 | Repetition Penalty Slope |
| 290 | </div> | 290 | </div> |
| @@ -297,7 +297,7 @@ | |||
| 297 | </div> | 297 | </div> |
| 298 | </div> | 298 | </div> |
| 299 | </div> | 299 | </div> |
| 300 | <div data-newbie-hidden class="range-block"> | 300 | <div class="range-block"> |
| 301 | <div class="range-block-title" data-i18n="Rep. Pen. Freq."> | 301 | <div class="range-block-title" data-i18n="Rep. Pen. Freq."> |
| 302 | Repetition Penalty Frequency | 302 | Repetition Penalty Frequency |
| 303 | </div> | 303 | </div> |
| @@ -310,7 +310,7 @@ | |||
| 310 | </div> | 310 | </div> |
| 311 | </div> | 311 | </div> |
| 312 | </div> | 312 | </div> |
| 313 | <div data-newbie-hidden class="range-block"> | 313 | <div class="range-block"> |
| 314 | <div class="range-block-title" data-i18n="Rep. Pen. Presence"> | 314 | <div class="range-block-title" data-i18n="Rep. Pen. Presence"> |
| 315 | Repetition Penalty Presence | 315 | Repetition Penalty Presence |
| 316 | </div> | 316 | </div> |
| @@ -323,7 +323,20 @@ | |||
| 323 | </div> | 323 | </div> |
| 324 | </div> | 324 | </div> |
| 325 | </div> | 325 | </div> |
| 326 | <div data-newbie-hidden class="range-block"> | 326 | <div class="range-block"> |
| 327 | <div class="range-block-title" data-i18n="Min P"> | ||
| 328 | Min P | ||
| 329 | </div> | ||
| 330 | <div class="range-block-range-and-counter"> | ||
| 331 | <div class="range-block-range"> | ||
| 332 | <input type="range" id="min_p_novel" name="volume" min="0" max="1" step="0.001"> | ||
| 333 | </div> | ||
| 334 | <div class="range-block-counter"> | ||
| 335 | <input type="number" min="0" max="1" step="0.001" data-for="min_p_novel" id="min_p_counter_novel"> | ||
| 336 | </div> | ||
| 337 | </div> | ||
| 338 | </div> | ||
| 339 | <div class="range-block"> | ||
| 327 | <div class="range-block-title" data-i18n="TFS"> | 340 | <div class="range-block-title" data-i18n="TFS"> |
| 328 | TFS | 341 | TFS |
| 329 | </div> | 342 | </div> |
| @@ -336,7 +349,137 @@ | |||
| 336 | </div> | 349 | </div> |
| 337 | </div> | 350 | </div> |
| 338 | </div> | 351 | </div> |
| 339 | <div data-newbie-hidden class="range-block"> | 352 | <div class="range-block"> |
| 353 | <div class="range-block-title" data-i18n="Top P"> | ||
| 354 | Top P | ||
| 355 | </div> | ||
| 356 | <div class="range-block-range-and-counter"> | ||
| 357 | <div class="range-block-range"> | ||
| 358 | <input type="range" id="top_p_novel" name="volume" min="0" max="1" step="0.001"> | ||
| 359 | </div> | ||
| 360 | <div class="range-block-counter"> | ||
| 361 | <input type="number" min="0" max="1" step="0.001" data-for="top_p_novel" id="top_p_counter_novel"> | ||
| 362 | </div> | ||
| 363 | </div> | ||
| 364 | </div> | ||
| 365 | <div class="range-block"> | ||
| 366 | <div class="range-block-title" data-i18n="Top A"> | ||
| 367 | Top A | ||
| 368 | </div> | ||
| 369 | <div class="range-block-range-and-counter"> | ||
| 370 | <div class="range-block-range"> | ||
| 371 | <input type="range" id="top_a_novel" name="volume" min="0" max="1" step="0.001"> | ||
| 372 | </div> | ||
| 373 | <div class="range-block-counter"> | ||
| 374 | <input type="number" min="0" max="1" step="0.001" data-for="top_a_novel" id="top_a_counter_novel"> | ||
| 375 | </div> | ||
| 376 | </div> | ||
| 377 | </div> | ||
| 378 | <div class="range-block"> | ||
| 379 | <div class="range-block-title" data-i18n="Top K"> | ||
| 380 | Top K | ||
| 381 | </div> | ||
| 382 | <div class="range-block-range-and-counter"> | ||
| 383 | <div class="range-block-range"> | ||
| 384 | <input type="range" id="top_k_novel" name="volume" min="0" max="300" step="1"> | ||
| 385 | </div> | ||
| 386 | <div class="range-block-counter"> | ||
| 387 | <input type="number" min="0" max="300" step="1" data-for="top_k_novel" id="top_k_counter_novel"> | ||
| 388 | </div> | ||
| 389 | </div> | ||
| 390 | </div> | ||
| 391 | <div class="range-block"> | ||
| 392 | <div class="range-block-title" data-i18n="Mirostat Tau"> | ||
| 393 | Mirostat Tau | ||
| 394 | </div> | ||
| 395 | <div class="range-block-range-and-counter"> | ||
| 396 | <div class="range-block-range"> | ||
| 397 | <input type="range" id="mirostat_tau_novel" name="volume" min="0" max="6" step="0.01"> | ||
| 398 | </div> | ||
| 399 | <div class="range-block-counter"> | ||
| 400 | <input type="number" min="0" max="6" step="0.01" data-for="mirostat_tau_novel" id="mirostat_tau_counter_novel"> | ||
| 401 | </div> | ||
| 402 | </div> | ||
| 403 | </div> | ||
| 404 | <div class="range-block"> | ||
| 405 | <div class="range-block-title" data-i18n="Mirostat LR"> | ||
| 406 | Mirostat LR | ||
| 407 | </div> | ||
| 408 | <div class="range-block-range-and-counter"> | ||
| 409 | <div class="range-block-range"> | ||
| 410 | <input type="range" id="mirostat_lr_novel" name="volume" min="0" max="1" step="0.01"> | ||
| 411 | </div> | ||
| 412 | <div class="range-block-counter"> | ||
| 413 | <input type="number" min="0" max="1" step="0.01" data-for="mirostat_lr_novel" id="mirostat_lr_counter_novel"> | ||
| 414 | </div> | ||
| 415 | </div> | ||
| 416 | </div> | ||
| 417 | <div class="range-block"> | ||
| 418 | <div class="range-block-title" data-i18n="Typical P"> | ||
| 419 | Typical P | ||
| 420 | </div> | ||
| 421 | <div class="range-block-range-and-counter"> | ||
| 422 | <div class="range-block-range"> | ||
| 423 | <input type="range" id="typical_p_novel" name="volume" min="0" max="1" step="0.001"> | ||
| 424 | </div> | ||
| 425 | <div class="range-block-counter"> | ||
| 426 | <input type="number" min="0" max="1" step="0.001" data-for="typical_p_novel" id="typical_p_counter_novel"> | ||
| 427 | </div> | ||
| 428 | </div> | ||
| 429 | </div> | ||
| 430 | <div class="range-block"> | ||
| 431 | <div class="range-block-title" data-i18n="Linear"> | ||
| 432 | Linear | ||
| 433 | </div> | ||
| 434 | <div class="range-block-range-and-counter"> | ||
| 435 | <div class="range-block-range"> | ||
| 436 | <input type="range" id="math1_temp_novel" name="volume" min="0" max="1.5" step="0.01"> | ||
| 437 | </div> | ||
| 438 | <div class="range-block-counter"> | ||
| 439 | <input type="number" min="0" max="1.5" step="0.01" data-for="math1_temp_novel" id="math1_temp_counter_novel"> | ||
| 440 | </div> | ||
| 441 | </div> | ||
| 442 | </div> | ||
| 443 | <div class="range-block"> | ||
| 444 | <div class="range-block-title" data-i18n="Quad"> | ||
| 445 | Quad | ||
| 446 | </div> | ||
| 447 | <div class="range-block-range-and-counter"> | ||
| 448 | <div class="range-block-range"> | ||
| 449 | <input type="range" id="math1_quad_novel" name="volume" min="0" max="0.4" step="0.01"> | ||
| 450 | </div> | ||
| 451 | <div class="range-block-counter"> | ||
| 452 | <input type="number" min="0" max="0.4" step="0.01" data-for="math1_quad_novel" id="math1_quad_counter_novel"> | ||
| 453 | </div> | ||
| 454 | </div> | ||
| 455 | </div> | ||
| 456 | <div class="range-block"> | ||
| 457 | <div class="range-block-title" data-i18n="Conf"> | ||
| 458 | Conf | ||
| 459 | </div> | ||
| 460 | <div class="range-block-range-and-counter"> | ||
| 461 | <div class="range-block-range"> | ||
| 462 | <input type="range" id="math1_quad_entropy_scale_novel" name="volume" min="-0.4" max="0.4" step="0.01"> | ||
| 463 | </div> | ||
| 464 | <div class="range-block-counter"> | ||
| 465 | <input type="number" min="-0.4" max="0.4" step="0.01" data-for="math1_quad_entropy_scale_novel" id="math1_quad_entropy_scale_counter_novel"> | ||
| 466 | </div> | ||
| 467 | </div> | ||
| 468 | </div> | ||
| 469 | <div class="range-block"> | ||
| 470 | <div class="range-block-title" data-i18n="Min Length"> | ||
| 471 | Min Length | ||
| 472 | </div> | ||
| 473 | <div class="range-block-range-and-counter"> | ||
| 474 | <div class="range-block-range"> | ||
| 475 | <input type="range" id="min_length_novel" name="volume" min="1" max="150" step="1"> | ||
| 476 | </div> | ||
| 477 | <div class="range-block-counter"> | ||
| 478 | <input type="number" min="1" max="150" step="1" data-for="min_length_novel" id="min_length_counter_novel"> | ||
| 479 | </div> | ||
| 480 | </div> | ||
| 481 | </div> | ||
| 482 | <div class="range-block"> | ||
| 340 | <div class="range-block-title" data-i18n="Phrase Repetition Penalty"> | 483 | <div class="range-block-title" data-i18n="Phrase Repetition Penalty"> |
| 341 | Phrase Repetition Penalty | 484 | Phrase Repetition Penalty |
| 342 | </div> | 485 | </div> |
| @@ -349,9 +492,49 @@ | |||
| 349 | <option value="very_aggressive" data-i18n="Very aggressive">Very aggressive</option> | 492 | <option value="very_aggressive" data-i18n="Very aggressive">Very aggressive</option> |
| 350 | </select> | 493 | </select> |
| 351 | </div> | 494 | </div> |
| 495 | <div class="range-block"> | ||
| 496 | <div class="range-block-title openai_restorable"> | ||
| 497 | <span data-i18n="Preamble">Preamble</span> | ||
| 498 | <div id="nai_preamble_restore" title="Restore default prompt" data-i18n="[title]Restore default prompt" class="right_menu_button"> | ||
| 499 | <div class="fa-solid fa-clock-rotate-left "></div> | ||
| 500 | </div> | ||
| 501 | </div> | ||
| 502 | <div class="toggle-description justifyLeft" data-i18n="Use style tags to modify the writing style of the output."> | ||
| 503 | Use style tags to modify the writing style of the output. | ||
| 504 | </div> | ||
| 505 | <div class="wide100p"> | ||
| 506 | <textarea id="nai_preamble_textarea" class="text_pole textarea_compact" name="nai_preamble" rows="2" placeholder=""></textarea> | ||
| 507 | </div> | ||
| 508 | </div> | ||
| 509 | <div class="range-block"> | ||
| 510 | <div class="range-block-title justifyLeft"> | ||
| 511 | <span data-i18n="Banned Tokens">Banned Tokens</span> | ||
| 512 | </div> | ||
| 513 | <div class="toggle-description justifyLeft" data-i18n="Sequences you don't want to appear in the output. One per line."> | ||
| 514 | Sequences you don't want to appear in the output. One per line. Text or [token ids]. | ||
| 515 | </div> | ||
| 516 | <div class="wide100p"> | ||
| 517 | <textarea id="nai_banned_tokens" class="text_pole textarea_compact" name="nai_banned_tokens" rows="3" placeholder="Example: some text [42, 69, 1337]"></textarea> | ||
| 518 | </div> | ||
| 519 | </div> | ||
| 520 | <div class="range-block"> | ||
| 521 | <div id="logit_bias_novel" class="range-block-title title_restorable"> | ||
| 522 | <span data-i18n="Logit Bias">Logit Bias</span> | ||
| 523 | <div id="novelai_logit_bias_new_entry" class="menu_button menu_button_icon"> | ||
| 524 | <i class="fa-xs fa-solid fa-plus"></i> | ||
| 525 | <small data-i18n="Add">Add</small> | ||
| 526 | </div> | ||
| 527 | </div> | ||
| 528 | <div class="toggle-description justifyLeft" data-i18n="Helps to ban or reenforce the usage of certain words"> | ||
| 529 | Helps to ban or reinforce the usage of certain tokens. | ||
| 530 | </div> | ||
| 531 | <div class="flex-container flexFlowColumn wide100p"> | ||
| 532 | <div class="logit_bias_list"></div> | ||
| 533 | </div> | ||
| 534 | </div> | ||
| 352 | </div> | 535 | </div> |
| 353 | <div id="range_block_openai"> | 536 | <div id="range_block_openai"> |
| 354 | <div data-newbie-hidden class="range-block"> | 537 | <div class="range-block"> |
| 355 | <label class="checkbox_label"> | 538 | <label class="checkbox_label"> |
| 356 | <input id="oai_max_context_unlocked" type="checkbox" /> | 539 | <input id="oai_max_context_unlocked" type="checkbox" /> |
| 357 | <span data-i18n="Unlocked Context Size"> | 540 | <span data-i18n="Unlocked Context Size"> |
| @@ -383,7 +566,7 @@ | |||
| 383 | Max Response Length (tokens) | 566 | Max Response Length (tokens) |
| 384 | </div> | 567 | </div> |
| 385 | <div class="wide100p"> | 568 | <div class="wide100p"> |
| 386 | <input type="number" id="openai_max_tokens" name="openai_max_tokens" class="text_pole" min="1" max="16384"> | 569 | <input type="number" id="openai_max_tokens" name="openai_max_tokens" class="text_pole" min="1" max="65536"> |
| 387 | </div> | 570 | </div> |
| 388 | </div> | 571 | </div> |
| 389 | <div class="range-block" data-source="openai,custom"> | 572 | <div class="range-block" data-source="openai,custom"> |
| @@ -436,7 +619,7 @@ | |||
| 436 | </div> | 619 | </div> |
| 437 | </div> | 620 | </div> |
| 438 | </div> | 621 | </div> |
| 439 | <div data-newbie-hidden class="range-block" data-source="openai,openrouter,ai21,custom,cohere,perplexity,groq"> | 622 | <div class="range-block" data-source="openai,openrouter,custom,cohere,perplexity,groq"> |
| 440 | <div class="range-block-title" data-i18n="Frequency Penalty"> | 623 | <div class="range-block-title" data-i18n="Frequency Penalty"> |
| 441 | Frequency Penalty | 624 | Frequency Penalty |
| 442 | </div> | 625 | </div> |
| @@ -449,7 +632,7 @@ | |||
| 449 | </div> | 632 | </div> |
| 450 | </div> | 633 | </div> |
| 451 | </div> | 634 | </div> |
| 452 | <div data-newbie-hidden class="range-block" data-source="openai,openrouter,ai21,custom,cohere,perplexity,groq"> | 635 | <div class="range-block" data-source="openai,openrouter,custom,cohere,perplexity,groq"> |
| 453 | <div class="range-block-title" data-i18n="Presence Penalty"> | 636 | <div class="range-block-title" data-i18n="Presence Penalty"> |
| 454 | Presence Penalty | 637 | Presence Penalty |
| 455 | </div> | 638 | </div> |
| @@ -462,20 +645,7 @@ | |||
| 462 | </div> | 645 | </div> |
| 463 | </div> | 646 | </div> |
| 464 | </div> | 647 | </div> |
| 465 | <div data-newbie-hidden class="range-block" data-source="ai21"> | 648 | <div class="range-block" data-source="claude,openrouter,makersuite,cohere,perplexity"> |
| 466 | <div class="range-block-title" data-i18n="Count Penalty"> | ||
| 467 | Count Penalty | ||
| 468 | </div> | ||
| 469 | <div class="range-block-range-and-counter"> | ||
| 470 | <div class="range-block-range"> | ||
| 471 | <input type="range" id="count_pen" name="volume" min="0" max="1" step="0.01"> | ||
| 472 | </div> | ||
| 473 | <div class="range-block-counter"> | ||
| 474 | <input type="number" min="0" max="1" step="0.01" data-for="count_pen" id="count_pen_counter"> | ||
| 475 | </div> | ||
| 476 | </div> | ||
| 477 | </div> | ||
| 478 | <div data-newbie-hidden class="range-block" data-source="claude,openrouter,ai21,makersuite,cohere,perplexity"> | ||
| 479 | <div class="range-block-title" data-i18n="Top K"> | 649 | <div class="range-block-title" data-i18n="Top K"> |
| 480 | Top K | 650 | Top K |
| 481 | </div> | 651 | </div> |
| @@ -488,7 +658,7 @@ | |||
| 488 | </div> | 658 | </div> |
| 489 | </div> | 659 | </div> |
| 490 | </div> | 660 | </div> |
| 491 | <div data-newbie-hidden class="range-block" data-source="openai,claude,openrouter,ai21,scale,makersuite,mistralai,custom,cohere,perplexity,groq,01ai"> | 661 | <div class="range-block" data-source="openai,claude,openrouter,ai21,scale,makersuite,mistralai,custom,cohere,perplexity,groq,01ai"> |
| 492 | <div class="range-block-title" data-i18n="Top P"> | 662 | <div class="range-block-title" data-i18n="Top P"> |
| 493 | Top P | 663 | Top P |
| 494 | </div> | 664 | </div> |
| @@ -501,7 +671,7 @@ | |||
| 501 | </div> | 671 | </div> |
| 502 | </div> | 672 | </div> |
| 503 | </div> | 673 | </div> |
| 504 | <div data-newbie-hidden class="range-block" data-source="openrouter"> | 674 | <div class="range-block" data-source="openrouter"> |
| 505 | <div class="range-block-title" data-i18n="Repetition Penalty"> | 675 | <div class="range-block-title" data-i18n="Repetition Penalty"> |
| 506 | Repetition Penalty | 676 | Repetition Penalty |
| 507 | </div> | 677 | </div> |
| @@ -514,7 +684,7 @@ | |||
| 514 | </div> | 684 | </div> |
| 515 | </div> | 685 | </div> |
| 516 | </div> | 686 | </div> |
| 517 | <div data-newbie-hidden class="range-block" data-source="openrouter"> | 687 | <div class="range-block" data-source="openrouter"> |
| 518 | <div class="range-block-title" data-i18n="Min P"> | 688 | <div class="range-block-title" data-i18n="Min P"> |
| 519 | Min P | 689 | Min P |
| 520 | </div> | 690 | </div> |
| @@ -527,7 +697,7 @@ | |||
| 527 | </div> | 697 | </div> |
| 528 | </div> | 698 | </div> |
| 529 | </div> | 699 | </div> |
| 530 | <div data-newbie-hidden class="range-block" data-source="openrouter"> | 700 | <div class="range-block" data-source="openrouter"> |
| 531 | <div class="range-block-title" data-i18n="Top A"> | 701 | <div class="range-block-title" data-i18n="Top A"> |
| 532 | Top A | 702 | Top A |
| 533 | </div> | 703 | </div> |
| @@ -566,7 +736,7 @@ | |||
| 566 | </div> | 736 | </div> |
| 567 | </div> | 737 | </div> |
| 568 | </div> | 738 | </div> |
| 569 | <div data-newbie-hidden class="inline-drawer wide100p"> | 739 | <div class="inline-drawer wide100p"> |
| 570 | <div class="inline-drawer-toggle inline-drawer-header"> | 740 | <div class="inline-drawer-toggle inline-drawer-header"> |
| 571 | <b data-i18n="Utility Prompts">Utility Prompts</b> | 741 | <b data-i18n="Utility Prompts">Utility Prompts</b> |
| 572 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> | 742 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| @@ -725,7 +895,7 @@ | |||
| 725 | </div> | 895 | </div> |
| 726 | </div> | 896 | </div> |
| 727 | </div> | 897 | </div> |
| 728 | <div data-newbie-hidden class="range-block" data-source="openai,openrouter,mistralai,custom,cohere,groq"> | 898 | <div class="range-block" data-source="openai,openrouter,mistralai,custom,cohere,groq"> |
| 729 | <div class="range-block-title justifyLeft" data-i18n="Seed"> | 899 | <div class="range-block-title justifyLeft" data-i18n="Seed"> |
| 730 | Seed | 900 | Seed |
| 731 | </div> | 901 | </div> |
| @@ -749,7 +919,7 @@ | |||
| 749 | <input class="neo-range-slider" type="range" id="temp" name="volume" min="0.0" max="4.0" step="0.01"> | 919 | <input class="neo-range-slider" type="range" id="temp" name="volume" min="0.0" max="4.0" step="0.01"> |
| 750 | <input class="neo-range-input" type="number" min="0.0" max="4.0" step="0.01" data-for="temp" id="temp_counter"> | 920 | <input class="neo-range-input" type="number" min="0.0" max="4.0" step="0.01" data-for="temp" id="temp_counter"> |
| 751 | </div> | 921 | </div> |
| 752 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 922 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 753 | <small> | 923 | <small> |
| 754 | <span data-i18n="Top K">Top K</span> | 924 | <span data-i18n="Top K">Top K</span> |
| 755 | <div class="fa-solid fa-circle-info opacity50p" title="Top K sets a maximum amount of top tokens that can be chosen from. E.g Top K is 20, this means only the 20 highest ranking tokens will be kept (regardless of their probabilities being diverse or limited). Set to 0 to disable." data-i18n="[title]Top_K_desc"></div> | 925 | <div class="fa-solid fa-circle-info opacity50p" title="Top K sets a maximum amount of top tokens that can be chosen from. E.g Top K is 20, this means only the 20 highest ranking tokens will be kept (regardless of their probabilities being diverse or limited). Set to 0 to disable." data-i18n="[title]Top_K_desc"></div> |
| @@ -757,7 +927,7 @@ | |||
| 757 | <input class="neo-range-slider" type="range" id="top_k" name="volume" min="0" max="100" step="1"> | 927 | <input class="neo-range-slider" type="range" id="top_k" name="volume" min="0" max="100" step="1"> |
| 758 | <input class="neo-range-input" type="number" min="0" max="100" step="1" data-for="top_k" id="top_k_counter"> | 928 | <input class="neo-range-input" type="number" min="0" max="100" step="1" data-for="top_k" id="top_k_counter"> |
| 759 | </div> | 929 | </div> |
| 760 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 930 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 761 | <small> | 931 | <small> |
| 762 | Top P | 932 | Top P |
| 763 | <div class="fa-solid fa-circle-info opacity50p" title="Top P (a.k.a. nucleus sampling) adds up all the top tokens required to add up to the target percentage. E.g If the Top 2 tokens are both 25%, and Top P is 0.50, only the Top 2 tokens are considered. Set to 1.0 to disable." data-i18n="[title]Top_P_desc"></div> | 933 | <div class="fa-solid fa-circle-info opacity50p" title="Top P (a.k.a. nucleus sampling) adds up all the top tokens required to add up to the target percentage. E.g If the Top 2 tokens are both 25%, and Top P is 0.50, only the Top 2 tokens are considered. Set to 1.0 to disable." data-i18n="[title]Top_P_desc"></div> |
| @@ -765,7 +935,7 @@ | |||
| 765 | <input class="neo-range-slider" type="range" id="top_p" name="volume" min="0" max="1" step="0.01"> | 935 | <input class="neo-range-slider" type="range" id="top_p" name="volume" min="0" max="1" step="0.01"> |
| 766 | <input class="neo-range-input" type="number" min="0" max="1" step="0.01" data-for="top_p" id="top_p_counter"> | 936 | <input class="neo-range-input" type="number" min="0" max="1" step="0.01" data-for="top_p" id="top_p_counter"> |
| 767 | </div> | 937 | </div> |
| 768 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 938 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 769 | <small> | 939 | <small> |
| 770 | <span data-i18n="Typical P">Typical P</span> | 940 | <span data-i18n="Typical P">Typical P</span> |
| 771 | <div class="fa-solid fa-circle-info opacity50p" title="Typical P Sampling prioritizes tokens based on their deviation from the average entropy of the set. It maintains tokens whose cumulative probability is close to a predefined threshold (e.g., 0.5), emphasizing those with average information content. Set to 1.0 to disable." data-i18n="[title]Typical_P_desc"></div> | 941 | <div class="fa-solid fa-circle-info opacity50p" title="Typical P Sampling prioritizes tokens based on their deviation from the average entropy of the set. It maintains tokens whose cumulative probability is close to a predefined threshold (e.g., 0.5), emphasizing those with average information content. Set to 1.0 to disable." data-i18n="[title]Typical_P_desc"></div> |
| @@ -781,7 +951,7 @@ | |||
| 781 | <input class="neo-range-slider" type="range" id="min_p" name="volume" min="0" max="1" step="0.001"> | 951 | <input class="neo-range-slider" type="range" id="min_p" name="volume" min="0" max="1" step="0.001"> |
| 782 | <input class="neo-range-input" type="number" min="0" max="1" step="0.001" data-for="min_p" id="min_p_counter"> | 952 | <input class="neo-range-input" type="number" min="0" max="1" step="0.001" data-for="min_p" id="min_p_counter"> |
| 783 | </div> | 953 | </div> |
| 784 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 954 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 785 | <small> | 955 | <small> |
| 786 | <span data-i18n="Top A">Top A</span> | 956 | <span data-i18n="Top A">Top A</span> |
| 787 | <div class="fa-solid fa-circle-info opacity50p" title="Top A sets a threshold for token selection based on the square of the highest token probability. E.g if the Top-A value is 0.2 and the top token's probability is 50%, tokens with probabilities below 5% (0.2 * 0.5^2) are excluded. Set to 0 to disable." data-i18n="[title]Top_A_desc"></div> | 957 | <div class="fa-solid fa-circle-info opacity50p" title="Top A sets a threshold for token selection based on the square of the highest token probability. E.g if the Top-A value is 0.2 and the top token's probability is 50%, tokens with probabilities below 5% (0.2 * 0.5^2) are excluded. Set to 0 to disable." data-i18n="[title]Top_A_desc"></div> |
| @@ -789,7 +959,7 @@ | |||
| 789 | <input class="neo-range-slider" type="range" id="top_a" name="volume" min="0" max="1" step="0.001"> | 959 | <input class="neo-range-slider" type="range" id="top_a" name="volume" min="0" max="1" step="0.001"> |
| 790 | <input class="neo-range-input" type="number" min="0" max="1" step="0.001" data-for="top_a" id="top_a_counter"> | 960 | <input class="neo-range-input" type="number" min="0" max="1" step="0.001" data-for="top_a" id="top_a_counter"> |
| 791 | </div> | 961 | </div> |
| 792 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 962 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 793 | <small> | 963 | <small> |
| 794 | <span data-i18n="TFS">TFS</span> | 964 | <span data-i18n="TFS">TFS</span> |
| 795 | <div class="fa-solid fa-circle-info opacity50p" title="Tail-Free Sampling (TFS) searches for a tail of low-probability tokens in the distribution, by analyzing the rate of change in token probabilities using derivatives. It retains tokens up to a threshold (e.g., 0.3) based on the normalized second derivative. The closer to 0, the more discarded tokens. Set to 1.0 to disable." data-i18n="[title]Tail_Free_Sampling_desc"></div> | 965 | <div class="fa-solid fa-circle-info opacity50p" title="Tail-Free Sampling (TFS) searches for a tail of low-probability tokens in the distribution, by analyzing the rate of change in token probabilities using derivatives. It retains tokens up to a threshold (e.g., 0.3) based on the normalized second derivative. The closer to 0, the more discarded tokens. Set to 1.0 to disable." data-i18n="[title]Tail_Free_Sampling_desc"></div> |
| @@ -811,14 +981,14 @@ | |||
| 811 | <input class="neo-range-slider" type="range" id="rep_pen_range" name="volume" min="0" max="4096" step="1"> | 981 | <input class="neo-range-slider" type="range" id="rep_pen_range" name="volume" min="0" max="4096" step="1"> |
| 812 | <input class="neo-range-input" type="number" min="0" max="4096" step="1" data-for="rep_pen_range" id="rep_pen_range_counter"> | 982 | <input class="neo-range-input" type="number" min="0" max="4096" step="1" data-for="rep_pen_range" id="rep_pen_range_counter"> |
| 813 | </div> | 983 | </div> |
| 814 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 984 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 815 | <small> | 985 | <small> |
| 816 | <span data-i18n="Rep. Pen. Slope">Repetition Penalty Slope</span> | 986 | <span data-i18n="Rep. Pen. Slope">Repetition Penalty Slope</span> |
| 817 | </small> | 987 | </small> |
| 818 | <input class="neo-range-slider" type="range" id="rep_pen_slope" name="volume" min="0" max="10" step="0.01"> | 988 | <input class="neo-range-slider" type="range" id="rep_pen_slope" name="volume" min="0" max="10" step="0.01"> |
| 819 | <input class="neo-range-input" type="number" min="0" max="10" step="0.01" data-for="rep_pen_slope" id="rep_pen_slope_counter"> | 989 | <input class="neo-range-input" type="number" min="0" max="10" step="0.01" data-for="rep_pen_slope" id="rep_pen_slope_counter"> |
| 820 | </div> | 990 | </div> |
| 821 | <div data-newbie-hidden name="miroStatBlock-kobold" class="wide100p"> | 991 | <div name="miroStatBlock-kobold" class="wide100p"> |
| 822 | <h4 class="wide100p textAlignCenter" data-i18n="Mirostat">Mirostat</h4> | 992 | <h4 class="wide100p textAlignCenter" data-i18n="Mirostat">Mirostat</h4> |
| 823 | <div class="flex-container flexFlowRow gap10px flexShrink"> | 993 | <div class="flex-container flexFlowRow gap10px flexShrink"> |
| 824 | <div class="alignitemscenter flex-container flexFlowColumn flexGrow flexShrink gap0"> | 994 | <div class="alignitemscenter flex-container flexFlowColumn flexGrow flexShrink gap0"> |
| @@ -848,7 +1018,7 @@ | |||
| 848 | </div> | 1018 | </div> |
| 849 | <hr class="wide100p"> | 1019 | <hr class="wide100p"> |
| 850 | </div> | 1020 | </div> |
| 851 | <div data-newbie-hidden class="alignitemscenter justifyCenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1021 | <div class="alignitemscenter justifyCenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 852 | <label class="checkbox_label alignItemsBaseline" for="use_default_badwordsids"> | 1022 | <label class="checkbox_label alignItemsBaseline" for="use_default_badwordsids"> |
| 853 | <input id="use_default_badwordsids" type="checkbox" /> | 1023 | <input id="use_default_badwordsids" type="checkbox" /> |
| 854 | <span> | 1024 | <span> |
| @@ -857,13 +1027,13 @@ | |||
| 857 | </span> | 1027 | </span> |
| 858 | </label> | 1028 | </label> |
| 859 | </div> | 1029 | </div> |
| 860 | <div data-newbie-hidden class="alignitemscenter textAlignCenter flexBasis30p flexGrow flexShrink gap0"> | 1030 | <div class="alignitemscenter textAlignCenter flexBasis30p flexGrow flexShrink gap0"> |
| 861 | <!-- <hr class="wide100p"> --> | 1031 | <!-- <hr class="wide100p"> --> |
| 862 | <small data-i18n="Seed">Seed</small> | 1032 | <small data-i18n="Seed">Seed</small> |
| 863 | <!-- Max value is 2**64 - 1 --> | 1033 | <!-- Max value is 2**64 - 1 --> |
| 864 | <input type="number" id="seed_kobold" class="text_pole wideMax100px" min="-1" value="-1" max="18446744073709551615" /> | 1034 | <input type="number" id="seed_kobold" class="text_pole wideMax100px" min="-1" value="-1" max="18446744073709551615" /> |
| 865 | </div> | 1035 | </div> |
| 866 | <div data-newbie-hidden id="grammar_block" class="wide100p"> | 1036 | <div id="grammar_block" class="wide100p"> |
| 867 | <hr class="wide100p"> | 1037 | <hr class="wide100p"> |
| 868 | <h4 class="wide100p textAlignCenter"><span data-i18n="GBNF Grammar">GBNF Grammar</span> | 1038 | <h4 class="wide100p textAlignCenter"><span data-i18n="GBNF Grammar">GBNF Grammar</span> |
| 869 | <a href="https://github.com/ggerganov/llama.cpp/blob/master/grammars/README.md" target="_blank"> | 1039 | <a href="https://github.com/ggerganov/llama.cpp/blob/master/grammars/README.md" target="_blank"> |
| @@ -874,7 +1044,7 @@ | |||
| 874 | </h4> | 1044 | </h4> |
| 875 | <textarea id="grammar" rows="4" class="text_pole textarea_compact monospace" data-i18n="[placeholder]Type in the desired custom grammar" placeholder="Type in the desired custom grammar"></textarea> | 1045 | <textarea id="grammar" rows="4" class="text_pole textarea_compact monospace" data-i18n="[placeholder]Type in the desired custom grammar" placeholder="Type in the desired custom grammar"></textarea> |
| 876 | </div> | 1046 | </div> |
| 877 | <div data-newbie-hidden name="KoboldSamplerOrderBlock" class="range-block flexFlowColumn"> | 1047 | <div name="KoboldSamplerOrderBlock" class="range-block flexFlowColumn"> |
| 878 | <hr class="wide100p"> | 1048 | <hr class="wide100p"> |
| 879 | <div class="range-block-title"> | 1049 | <div class="range-block-title"> |
| 880 | <span data-i18n="Samplers Order">Samplers Order</span> | 1050 | <span data-i18n="Samplers Order">Samplers Order</span> |
| @@ -919,186 +1089,29 @@ | |||
| 919 | </div> | 1089 | </div> |
| 920 | </div> | 1090 | </div> |
| 921 | </div><!-- end of kobold settings--> | 1091 | </div><!-- end of kobold settings--> |
| 922 | <div data-newbie-hidden id="novel_api-settings"> | 1092 | <div id="novel_api-settings"> |
| 923 | <div class="range-block"> | 1093 | <div class="range-block flexFlowColumn"> |
| 924 | <div class="range-block-title openai_restorable"> | 1094 | <div class="range-block-title"> |
| 925 | <span data-i18n="Preamble">Preamble</span> | 1095 | <span data-i18n="Samplers Order">Samplers Order</span> |
| 926 | <div id="nai_preamble_restore" title="Restore default prompt" data-i18n="[title]Restore default prompt" class="right_menu_button"> | ||
| 927 | <div class="fa-solid fa-clock-rotate-left "></div> | ||
| 928 | </div> | ||
| 929 | </div> | ||
| 930 | <div class="toggle-description justifyLeft" data-i18n="Use style tags to modify the writing style of the output."> | ||
| 931 | Use style tags to modify the writing style of the output. | ||
| 932 | </div> | ||
| 933 | <div class="wide100p"> | ||
| 934 | <textarea id="nai_preamble_textarea" class="text_pole textarea_compact" name="nai_preamble" rows="2" placeholder=""></textarea> | ||
| 935 | </div> | ||
| 936 | </div> | ||
| 937 | <div class="range-block"> | ||
| 938 | <div class="range-block-title justifyLeft"> | ||
| 939 | <span data-i18n="Banned Tokens">Banned Tokens</span> | ||
| 940 | </div> | ||
| 941 | <div class="toggle-description justifyLeft" data-i18n="Sequences you don't want to appear in the output. One per line."> | ||
| 942 | Sequences you don't want to appear in the output. One per line. Text or [token ids]. | ||
| 943 | </div> | 1096 | </div> |
| 944 | <div class="wide100p"> | 1097 | <div class="toggle-description widthUnset" data-i18n="Samplers will be applied in a top-down order. Use with caution."> |
| 945 | <textarea id="nai_banned_tokens" class="text_pole textarea_compact" name="nai_banned_tokens" rows="3" placeholder="Example: some text [42, 69, 1337]"></textarea> | 1098 | Samplers will be applied in a top-down order. Use with caution. |
| 946 | </div> | 1099 | </div> |
| 947 | </div> | 1100 | <div id="novel_order" class="prompt_order"> |
| 948 | <div class="range-block"> | 1101 | <div data-id="0"> |
| 949 | <div id="logit_bias_novel" class="range-block-title title_restorable"> | 1102 | <span data-i18n="Temperature">Temperature</span> |
| 950 | <span data-i18n="Logit Bias">Logit Bias</span> | 1103 | <small>0</small> |
| 951 | <div id="novelai_logit_bias_new_entry" class="menu_button menu_button_icon"> | 1104 | <div class="toggle_button right_menu_button"></div> |
| 952 | <i class="fa-xs fa-solid fa-plus"></i> | ||
| 953 | <small data-i18n="Add">Add</small> | ||
| 954 | </div> | 1105 | </div> |
| 955 | </div> | 1106 | <div data-id="1"> |
| 956 | <div class="toggle-description justifyLeft" data-i18n="Helps to ban or reenforce the usage of certain words"> | 1107 | <span data-i18n="Top K Sampling">Top K Sampling</span> |
| 957 | Helps to ban or reinforce the usage of certain tokens. | 1108 | <small>1</small> |
| 958 | </div> | 1109 | <div class="toggle_button right_menu_button"></div> |
| 959 | <div class="flex-container flexFlowColumn wide100p"> | ||
| 960 | <div class="logit_bias_list"></div> | ||
| 961 | </div> | ||
| 962 | </div> | ||
| 963 | <div class="range-block"> | ||
| 964 | <hr> | ||
| 965 | <div class="range-block-title justifyLeft" data-i18n="CFG Scale"> | ||
| 966 | CFG Scale | ||
| 967 | </div> | ||
| 968 | <div class="range-block-range-and-counter"> | ||
| 969 | <div class="range-block-range"> | ||
| 970 | <input type="range" id="cfg_scale_novel" name="volume" min="1" max="3" step="0.05"> | ||
| 971 | </div> | 1110 | </div> |
| 972 | <div class="range-block-counter"> | 1111 | <div data-id="2"> |
| 973 | <input type="number" min="1" max="3" step="0.05" data-for="cfg_scale_novel" id="cfg_scale_counter_novel"> | 1112 | <span data-i18n="Nucleus Sampling">Nucleus Sampling</span> |
| 974 | </div> | 1113 | <small>2</small> |
| 975 | </div> | 1114 | <div class="toggle_button right_menu_button"></div> |
| 976 | </div> | ||
| 977 | <div class="range-block"> | ||
| 978 | <div class="range-block-title justifyLeft"> | ||
| 979 | <span data-i18n="Negative Prompt">Negative Prompt</span> | ||
| 980 | </div> | ||
| 981 | <div class="wide100p"> | ||
| 982 | <textarea id="nai_cfg_uc" class="text_pole textarea_compact" name="cfg_uc" rows="2" data-i18n="[placeholder]Add text here that would make the AI generate things you don't want in your outputs." placeholder="Add text here that would make the AI generate things you don't want in your outputs."></textarea> | ||
| 983 | </div> | ||
| 984 | <small class="margin-bot-10px" data-i18n="Used if CFG Scale is unset globally, per chat or character"> | ||
| 985 | Used if CFG Scale is unset globally, per chat or character | ||
| 986 | </small> | ||
| 987 | <hr> | ||
| 988 | </div> | ||
| 989 | <div class="range-block"> | ||
| 990 | <div class="range-block-title" data-i18n="Top P"> | ||
| 991 | Top P | ||
| 992 | </div> | ||
| 993 | <div class="range-block-range-and-counter"> | ||
| 994 | <div class="range-block-range"> | ||
| 995 | <input type="range" id="top_p_novel" name="volume" min="0" max="1" step="0.001"> | ||
| 996 | </div> | ||
| 997 | <div class="range-block-counter"> | ||
| 998 | <input type="number" min="0" max="1" step="0.001" data-for="top_p_novel" id="top_p_counter_novel"> | ||
| 999 | </div> | ||
| 1000 | </div> | ||
| 1001 | </div> | ||
| 1002 | <div class="range-block"> | ||
| 1003 | <div class="range-block-title" data-i18n="Top A"> | ||
| 1004 | Top A | ||
| 1005 | </div> | ||
| 1006 | <div class="range-block-range-and-counter"> | ||
| 1007 | <div class="range-block-range"> | ||
| 1008 | <input type="range" id="top_a_novel" name="volume" min="0" max="1" step="0.001"> | ||
| 1009 | </div> | ||
| 1010 | <div class="range-block-counter"> | ||
| 1011 | <input type="number" min="0" max="1" step="0.001" data-for="top_a_novel" id="top_a_counter_novel"> | ||
| 1012 | </div> | ||
| 1013 | </div> | ||
| 1014 | </div> | ||
| 1015 | <div class="range-block"> | ||
| 1016 | <div class="range-block-title" data-i18n="Top K"> | ||
| 1017 | Top K | ||
| 1018 | </div> | ||
| 1019 | <div class="range-block-range-and-counter"> | ||
| 1020 | <div class="range-block-range"> | ||
| 1021 | <input type="range" id="top_k_novel" name="volume" min="0" max="300" step="1"> | ||
| 1022 | </div> | ||
| 1023 | <div class="range-block-counter"> | ||
| 1024 | <input type="number" min="0" max="300" step="1" data-for="top_k_novel" id="top_k_counter_novel"> | ||
| 1025 | </div> | ||
| 1026 | </div> | ||
| 1027 | </div> | ||
| 1028 | <div class="range-block"> | ||
| 1029 | <div class="range-block-title" data-i18n="Mirostat Tau"> | ||
| 1030 | Mirostat Tau | ||
| 1031 | </div> | ||
| 1032 | <div class="range-block-range-and-counter"> | ||
| 1033 | <div class="range-block-range"> | ||
| 1034 | <input type="range" id="mirostat_tau_novel" name="volume" min="0" max="6" step="0.01"> | ||
| 1035 | </div> | ||
| 1036 | <div class="range-block-counter"> | ||
| 1037 | <input type="number" min="0" max="6" step="0.01" data-for="mirostat_tau_novel" id="mirostat_tau_counter_novel"> | ||
| 1038 | </div> | ||
| 1039 | </div> | ||
| 1040 | </div> | ||
| 1041 | <div class="range-block"> | ||
| 1042 | <div class="range-block-title" data-i18n="Mirostat LR"> | ||
| 1043 | Mirostat LR | ||
| 1044 | </div> | ||
| 1045 | <div class="range-block-range-and-counter"> | ||
| 1046 | <div class="range-block-range"> | ||
| 1047 | <input type="range" id="mirostat_lr_novel" name="volume" min="0" max="1" step="0.01"> | ||
| 1048 | </div> | ||
| 1049 | <div class="range-block-counter"> | ||
| 1050 | <input type="number" min="0" max="1" step="0.01" data-for="mirostat_lr_novel" id="mirostat_lr_counter_novel"> | ||
| 1051 | </div> | ||
| 1052 | </div> | ||
| 1053 | </div> | ||
| 1054 | <div class="range-block"> | ||
| 1055 | <div class="range-block-title" data-i18n="Typical P"> | ||
| 1056 | Typical P | ||
| 1057 | </div> | ||
| 1058 | <div class="range-block-range-and-counter"> | ||
| 1059 | <div class="range-block-range"> | ||
| 1060 | <input type="range" id="typical_p_novel" name="volume" min="0" max="1" step="0.001"> | ||
| 1061 | </div> | ||
| 1062 | <div class="range-block-counter"> | ||
| 1063 | <input type="number" min="0" max="1" step="0.001" data-for="typical_p_novel" id="typical_p_counter_novel"> | ||
| 1064 | </div> | ||
| 1065 | </div> | ||
| 1066 | </div> | ||
| 1067 | <div class="range-block"> | ||
| 1068 | <div class="range-block-title" data-i18n="Min Length"> | ||
| 1069 | Min Length | ||
| 1070 | </div> | ||
| 1071 | <div class="range-block-range-and-counter"> | ||
| 1072 | <div class="range-block-range"> | ||
| 1073 | <input type="range" id="min_length_novel" name="volume" min="1" max="150" step="1"> | ||
| 1074 | </div> | ||
| 1075 | <div class="range-block-counter"> | ||
| 1076 | <input type="number" min="1" max="150" step="1" data-for="min_length_novel" id="min_length_counter_novel"> | ||
| 1077 | </div> | ||
| 1078 | </div> | ||
| 1079 | </div> | ||
| 1080 | <div class="range-block flexFlowColumn"> | ||
| 1081 | <div class="range-block-title"> | ||
| 1082 | <span data-i18n="Samplers Order">Samplers Order</span> | ||
| 1083 | </div> | ||
| 1084 | <div class="toggle-description widthUnset" data-i18n="Samplers will be applied in a top-down order. Use with caution."> | ||
| 1085 | Samplers will be applied in a top-down order. Use with caution. | ||
| 1086 | </div> | ||
| 1087 | <div id="novel_order" class="prompt_order"> | ||
| 1088 | <div data-id="0"> | ||
| 1089 | <span data-i18n="Temperature">Temperature</span> | ||
| 1090 | <small>0</small> | ||
| 1091 | <div class="toggle_button right_menu_button"></div> | ||
| 1092 | </div> | ||
| 1093 | <div data-id="1"> | ||
| 1094 | <span data-i18n="Top K Sampling">Top K Sampling</span> | ||
| 1095 | <small>1</small> | ||
| 1096 | <div class="toggle_button right_menu_button"></div> | ||
| 1097 | </div> | ||
| 1098 | <div data-id="2"> | ||
| 1099 | <span data-i18n="Nucleus Sampling">Nucleus Sampling</span> | ||
| 1100 | <small>2</small> | ||
| 1101 | <div class="toggle_button right_menu_button"></div> | ||
| 1102 | </div> | 1115 | </div> |
| 1103 | <div data-id="3"> | 1116 | <div data-id="3"> |
| 1104 | <span data-i18n="Tail Free Sampling">Tail Free Sampling</span> | 1117 | <span data-i18n="Tail Free Sampling">Tail Free Sampling</span> |
| @@ -1115,22 +1128,27 @@ | |||
| 1115 | <small>5</small> | 1128 | <small>5</small> |
| 1116 | <div class="toggle_button right_menu_button"></div> | 1129 | <div class="toggle_button right_menu_button"></div> |
| 1117 | </div> | 1130 | </div> |
| 1118 | <div data-id="6"> | 1131 | <!-- 6 and 7 were removed samplers. --> |
| 1119 | <span data-i18n="CFG">CFG</span> | ||
| 1120 | <small>6</small> | ||
| 1121 | <div class="toggle_button right_menu_button"></div> | ||
| 1122 | </div> | ||
| 1123 | <!-- Yes, there is no 7. It was a removed Top G sampling. RIP. --> | ||
| 1124 | <div data-id="8"> | 1132 | <div data-id="8"> |
| 1125 | <span data-i18n="Mirostat">Mirostat</span> | 1133 | <span data-i18n="Mirostat">Mirostat</span> |
| 1126 | <small>8</small> | 1134 | <small>8</small> |
| 1127 | <div class="toggle_button right_menu_button"></div> | 1135 | <div class="toggle_button right_menu_button"></div> |
| 1128 | </div> | 1136 | </div> |
| 1137 | <div data-id="9"> | ||
| 1138 | <span data-i18n="Unified Sampling">Unified Sampling</span> | ||
| 1139 | <small>9</small> | ||
| 1140 | <div class="toggle_button right_menu_button"></div> | ||
| 1141 | </div> | ||
| 1142 | <div data-id="10"> | ||
| 1143 | <span data-i18n="Min P">Min P</span> | ||
| 1144 | <small>10</small> | ||
| 1145 | <div class="toggle_button right_menu_button"></div> | ||
| 1146 | </div> | ||
| 1129 | </div> | 1147 | </div> |
| 1130 | </div> | 1148 | </div> |
| 1131 | </div><!-- end of novel settings--> | 1149 | </div><!-- end of novel settings--> |
| 1132 | <div id="textgenerationwebui_api-settings"> | 1150 | <div id="textgenerationwebui_api-settings"> |
| 1133 | <div data-newbie-hidden class="flex-container justifyCenter"> | 1151 | <div class="flex-container justifyCenter"> |
| 1134 | <small class="flex-container alignitemscenter"> | 1152 | <small class="flex-container alignitemscenter"> |
| 1135 | <div id="samplerResetButton" class="menu_button whitespacenowrap" data-i18n="Neutralize Samplers">Neutralize Samplers</div> | 1153 | <div id="samplerResetButton" class="menu_button whitespacenowrap" data-i18n="Neutralize Samplers">Neutralize Samplers</div> |
| 1136 | <div class="fa-solid fa-circle-info opacity50p" title="Set all samplers to their neutral/disabled state." data-i18n="[title]Set all samplers to their neutral/disabled state."></div> | 1154 | <div class="fa-solid fa-circle-info opacity50p" title="Set all samplers to their neutral/disabled state." data-i18n="[title]Set all samplers to their neutral/disabled state."></div> |
| @@ -1141,7 +1159,7 @@ | |||
| 1141 | <div class="fa-solid fa-circle-info opacity50p" title="Customize displayed samplers or add custom samplers." data-i18n="[title]Customize displayed samplers or add custom samplers."></div> | 1159 | <div class="fa-solid fa-circle-info opacity50p" title="Customize displayed samplers or add custom samplers." data-i18n="[title]Customize displayed samplers or add custom samplers."></div> |
| 1142 | </small> | 1160 | </small> |
| 1143 | </div> | 1161 | </div> |
| 1144 | <div data-newbie-hidden data-tg-type="mancer, vllm, aphrodite, tabby, infermaticai" class="flex-container flexFlowColumn alignitemscenter flexBasis100p flexGrow flexShrink gap0"> | 1162 | <div data-tg-type="mancer, vllm, aphrodite, tabby, infermaticai" class="flex-container flexFlowColumn alignitemscenter flexBasis100p flexGrow flexShrink gap0"> |
| 1145 | <small data-i18n="Multiple swipes per generation">Multiple swipes per generation</small> | 1163 | <small data-i18n="Multiple swipes per generation">Multiple swipes per generation</small> |
| 1146 | <input type="number" id="n_textgenerationwebui" class="text_pole textAlignCenter" min="1" value="1" step="1" /> | 1164 | <input type="number" id="n_textgenerationwebui" class="text_pole textAlignCenter" min="1" value="1" step="1" /> |
| 1147 | </div> | 1165 | </div> |
| @@ -1154,7 +1172,7 @@ | |||
| 1154 | <input class="neo-range-slider" type="range" id="temp_textgenerationwebui" name="volume" min="0.0" max="5.0" step="0.01" x-setting-id="temp"> | 1172 | <input class="neo-range-slider" type="range" id="temp_textgenerationwebui" name="volume" min="0.0" max="5.0" step="0.01" x-setting-id="temp"> |
| 1155 | <input class="neo-range-input" type="number" min="0.0" max="5.0" step="0.01" data-for="temp_textgenerationwebui" id="temp_counter_textgenerationwebui"> | 1173 | <input class="neo-range-input" type="number" min="0.0" max="5.0" step="0.01" data-for="temp_textgenerationwebui" id="temp_counter_textgenerationwebui"> |
| 1156 | </div> | 1174 | </div> |
| 1157 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1175 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1158 | <small> | 1176 | <small> |
| 1159 | <span data-i18n="Top K">Top K</span> | 1177 | <span data-i18n="Top K">Top K</span> |
| 1160 | <div class="fa-solid fa-circle-info opacity50p" title="Top K sets a maximum amount of top tokens that can be chosen from. E.g Top K is 20, this means only the 20 highest ranking tokens will be kept (regardless of their probabilities being diverse or limited). Set to 0 (or -1, depending on your backend) to disable." data-i18n="[title]Top_K_desc"></div> | 1178 | <div class="fa-solid fa-circle-info opacity50p" title="Top K sets a maximum amount of top tokens that can be chosen from. E.g Top K is 20, this means only the 20 highest ranking tokens will be kept (regardless of their probabilities being diverse or limited). Set to 0 (or -1, depending on your backend) to disable." data-i18n="[title]Top_K_desc"></div> |
| @@ -1162,7 +1180,7 @@ | |||
| 1162 | <input class="neo-range-slider" type="range" id="top_k_textgenerationwebui" name="volume" min="-1" max="200" step="1"> | 1180 | <input class="neo-range-slider" type="range" id="top_k_textgenerationwebui" name="volume" min="-1" max="200" step="1"> |
| 1163 | <input class="neo-range-input" type="number" min="-1" max="200" step="1" data-for="top_k_textgenerationwebui" id="top_k_counter_textgenerationwebui"> | 1181 | <input class="neo-range-input" type="number" min="-1" max="200" step="1" data-for="top_k_textgenerationwebui" id="top_k_counter_textgenerationwebui"> |
| 1164 | </div> | 1182 | </div> |
| 1165 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1183 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1166 | <small> | 1184 | <small> |
| 1167 | <span data-i18n="Top P">Top P</span> | 1185 | <span data-i18n="Top P">Top P</span> |
| 1168 | <div class="fa-solid fa-circle-info opacity50p" title="Top P (a.k.a. nucleus sampling) adds up all the top tokens required to add up to the target percentage. E.g If the Top 2 tokens are both 25%, and Top P is 0.50, only the Top 2 tokens are considered. Set to 1.0 to disable." data-i18n="[title]Top_P_desc"></div> | 1186 | <div class="fa-solid fa-circle-info opacity50p" title="Top P (a.k.a. nucleus sampling) adds up all the top tokens required to add up to the target percentage. E.g If the Top 2 tokens are both 25%, and Top P is 0.50, only the Top 2 tokens are considered. Set to 1.0 to disable." data-i18n="[title]Top_P_desc"></div> |
| @@ -1170,7 +1188,7 @@ | |||
| 1170 | <input class="neo-range-slider" type="range" id="top_p_textgenerationwebui" name="volume" min="0" max="1" step="0.01"> | 1188 | <input class="neo-range-slider" type="range" id="top_p_textgenerationwebui" name="volume" min="0" max="1" step="0.01"> |
| 1171 | <input class="neo-range-input" type="number" min="0" max="1" step="0.01" data-for="top_p_textgenerationwebui" id="top_p_counter_textgenerationwebui"> | 1189 | <input class="neo-range-input" type="number" min="0" max="1" step="0.01" data-for="top_p_textgenerationwebui" id="top_p_counter_textgenerationwebui"> |
| 1172 | </div> | 1190 | </div> |
| 1173 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1191 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1174 | <small> | 1192 | <small> |
| 1175 | <span data-i18n="Typical P">Typical P</span> | 1193 | <span data-i18n="Typical P">Typical P</span> |
| 1176 | <div class="fa-solid fa-circle-info opacity50p" title="Typical P Sampling prioritizes tokens based on their deviation from the average entropy of the set. It maintains tokens whose cumulative probability is close to a predefined threshold (e.g., 0.5), emphasizing those with average information content. Set to 1.0 to disable." data-i18n="[title]Typical_P_desc"></div> | 1194 | <div class="fa-solid fa-circle-info opacity50p" title="Typical P Sampling prioritizes tokens based on their deviation from the average entropy of the set. It maintains tokens whose cumulative probability is close to a predefined threshold (e.g., 0.5), emphasizing those with average information content. Set to 1.0 to disable." data-i18n="[title]Typical_P_desc"></div> |
| @@ -1186,7 +1204,7 @@ | |||
| 1186 | <input class="neo-range-slider" type="range" id="min_p_textgenerationwebui" name="volume" min="0" max="1" step="0.001"> | 1204 | <input class="neo-range-slider" type="range" id="min_p_textgenerationwebui" name="volume" min="0" max="1" step="0.001"> |
| 1187 | <input class="neo-range-input" type="number" min="0" max="1" step="0.001" data-for="min_p_textgenerationwebui" id="min_p_counter_textgenerationwebui"> | 1205 | <input class="neo-range-input" type="number" min="0" max="1" step="0.001" data-for="min_p_textgenerationwebui" id="min_p_counter_textgenerationwebui"> |
| 1188 | </div> | 1206 | </div> |
| 1189 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1207 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1190 | <small> | 1208 | <small> |
| 1191 | <span data-i18n="Top A">Top A</span> | 1209 | <span data-i18n="Top A">Top A</span> |
| 1192 | <div class="fa-solid fa-circle-info opacity50p" title="Top A sets a threshold for token selection based on the square of the highest token probability. E.g if the Top-A value is 0.2 and the top token's probability is 50%, tokens with probabilities below 5% (0.2 * 0.5^2) are excluded. Set to 0 to disable." data-i18n="[title]Top_A_desc"></div> | 1210 | <div class="fa-solid fa-circle-info opacity50p" title="Top A sets a threshold for token selection based on the square of the highest token probability. E.g if the Top-A value is 0.2 and the top token's probability is 50%, tokens with probabilities below 5% (0.2 * 0.5^2) are excluded. Set to 0 to disable." data-i18n="[title]Top_A_desc"></div> |
| @@ -1194,7 +1212,7 @@ | |||
| 1194 | <input class="neo-range-slider" type="range" id="top_a_textgenerationwebui" name="volume" min="0" max="1" step="0.01"> | 1212 | <input class="neo-range-slider" type="range" id="top_a_textgenerationwebui" name="volume" min="0" max="1" step="0.01"> |
| 1195 | <input class="neo-range-input" type="number" min="0" max="1" step="0.01" data-for="top_a_textgenerationwebui" id="top_a_counter_textgenerationwebui"> | 1213 | <input class="neo-range-input" type="number" min="0" max="1" step="0.01" data-for="top_a_textgenerationwebui" id="top_a_counter_textgenerationwebui"> |
| 1196 | </div> | 1214 | </div> |
| 1197 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1215 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1198 | <small> | 1216 | <small> |
| 1199 | <span data-i18n="TFS">TFS</span> | 1217 | <span data-i18n="TFS">TFS</span> |
| 1200 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Tail_Free_Sampling_desc" title="Tail-Free Sampling (TFS) searches for a tail of low-probability tokens in the distribution, by analyzing the rate of change in token probabilities using derivatives. It retains tokens up to a threshold (e.g., 0.3) based on the normalized second derivative. The closer to 0, the more discarded tokens. Set to 1.0 to disable."></div> | 1218 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Tail_Free_Sampling_desc" title="Tail-Free Sampling (TFS) searches for a tail of low-probability tokens in the distribution, by analyzing the rate of change in token probabilities using derivatives. It retains tokens up to a threshold (e.g., 0.3) based on the normalized second derivative. The closer to 0, the more discarded tokens. Set to 1.0 to disable."></div> |
| @@ -1202,7 +1220,7 @@ | |||
| 1202 | <input class="neo-range-slider" type="range" id="tfs_textgenerationwebui" name="volume" min="0" max="1" step="0.01"> | 1220 | <input class="neo-range-slider" type="range" id="tfs_textgenerationwebui" name="volume" min="0" max="1" step="0.01"> |
| 1203 | <input class="neo-range-input" type="number" min="0" max="1" step="0.01" data-for="tfs_textgenerationwebui" id="tfs_counter_textgenerationwebui"> | 1221 | <input class="neo-range-input" type="number" min="0" max="1" step="0.01" data-for="tfs_textgenerationwebui" id="tfs_counter_textgenerationwebui"> |
| 1204 | </div> | 1222 | </div> |
| 1205 | <div data-newbie-hidden data-tg-type="ooba,mancer" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1223 | <div data-tg-type="ooba,mancer,aphrodite" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1206 | <small> | 1224 | <small> |
| 1207 | <span data-i18n="Epsilon Cutoff">Epsilon Cutoff</span> | 1225 | <span data-i18n="Epsilon Cutoff">Epsilon Cutoff</span> |
| 1208 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Epsilon cutoff sets a probability floor below which tokens are excluded from being sampled" title="Epsilon cutoff sets a probability floor below which tokens are excluded from being sampled. In units of 1e-4; a reasonable value is 3. Set to 0 to disable."></div> | 1226 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Epsilon cutoff sets a probability floor below which tokens are excluded from being sampled" title="Epsilon cutoff sets a probability floor below which tokens are excluded from being sampled. In units of 1e-4; a reasonable value is 3. Set to 0 to disable."></div> |
| @@ -1210,7 +1228,7 @@ | |||
| 1210 | <input class="neo-range-slider" type="range" id="epsilon_cutoff_textgenerationwebui" name="volume" min="0" max="9" step="0.01"> | 1228 | <input class="neo-range-slider" type="range" id="epsilon_cutoff_textgenerationwebui" name="volume" min="0" max="9" step="0.01"> |
| 1211 | <input class="neo-range-input" type="number" min="0" max="9" step="0.01" data-for="epsilon_cutoff_textgenerationwebui" id="epsilon_cutoff_counter_textgenerationwebui"> | 1229 | <input class="neo-range-input" type="number" min="0" max="9" step="0.01" data-for="epsilon_cutoff_textgenerationwebui" id="epsilon_cutoff_counter_textgenerationwebui"> |
| 1212 | </div> | 1230 | </div> |
| 1213 | <div data-newbie-hidden data-tg-type="ooba,mancer" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1231 | <div data-tg-type="ooba,mancer,aphrodite" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1214 | <small> | 1232 | <small> |
| 1215 | <span data-i18n="Eta Cutoff">Eta Cutoff</span> | 1233 | <span data-i18n="Eta Cutoff">Eta Cutoff</span> |
| 1216 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Eta_Cutoff_desc" title="Eta cutoff is the main parameter of the special Eta Sampling technique. In units of 1e-4; a reasonable value is 3. Set to 0 to disable. See the paper Truncation Sampling as Language Model Desmoothing by Hewitt et al. (2022) for details."></div> | 1234 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Eta_Cutoff_desc" title="Eta cutoff is the main parameter of the special Eta Sampling technique. In units of 1e-4; a reasonable value is 3. Set to 0 to disable. See the paper Truncation Sampling as Language Model Desmoothing by Hewitt et al. (2022) for details."></div> |
| @@ -1238,61 +1256,83 @@ | |||
| 1238 | <input class="neo-range-slider" type="range" id="rep_pen_decay_textgenerationwebui" name="volume" min="-1" max="8192" step="1"> | 1256 | <input class="neo-range-slider" type="range" id="rep_pen_decay_textgenerationwebui" name="volume" min="-1" max="8192" step="1"> |
| 1239 | <input class="neo-range-input" type="number" min="-1" max="8192" step="1" data-for="rep_pen_decay_textgenerationwebui" id="rep_pen_decay_counter_textgenerationwebui"> | 1257 | <input class="neo-range-input" type="number" min="-1" max="8192" step="1" data-for="rep_pen_decay_textgenerationwebui" id="rep_pen_decay_counter_textgenerationwebui"> |
| 1240 | </div> | 1258 | </div> |
| 1241 | <div data-tg-type="ooba" data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1259 | <div data-tg-type="ooba" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1242 | <small data-i18n="Encoder Rep. Pen.">Encoder Penalty</small> | 1260 | <small data-i18n="Encoder Rep. Pen.">Encoder Penalty</small> |
| 1243 | <input class="neo-range-slider" type="range" id="encoder_rep_pen_textgenerationwebui" name="volume" min="0.8" max="1.5" step="0.01" /> | 1261 | <input class="neo-range-slider" type="range" id="encoder_rep_pen_textgenerationwebui" name="volume" min="0.8" max="1.5" step="0.01" /> |
| 1244 | <input class="neo-range-input" type="number" min="0.8" max="1.5" step="0.01" data-for="encoder_rep_pen_textgenerationwebui" id="encoder_rep_pen_counter_textgenerationwebui"> | 1262 | <input class="neo-range-input" type="number" min="0.8" max="1.5" step="0.01" data-for="encoder_rep_pen_textgenerationwebui" id="encoder_rep_pen_counter_textgenerationwebui"> |
| 1245 | </div> | 1263 | </div> |
| 1246 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1264 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1247 | <small data-i18n="Frequency Penalty">Frequency Penalty</small> | 1265 | <small data-i18n="Frequency Penalty">Frequency Penalty</small> |
| 1248 | <input class="neo-range-slider" type="range" id="freq_pen_textgenerationwebui" name="volume" min="-2" max="2" step="0.01" /> | 1266 | <input class="neo-range-slider" type="range" id="freq_pen_textgenerationwebui" name="volume" min="-2" max="2" step="0.01" /> |
| 1249 | <input class="neo-range-input" type="number" data-for="freq_pen_textgenerationwebui" min="-2" max="2" step="0.01" id="freq_pen_counter_textgenerationwebui"> | 1267 | <input class="neo-range-input" type="number" data-for="freq_pen_textgenerationwebui" min="-2" max="2" step="0.01" id="freq_pen_counter_textgenerationwebui"> |
| 1250 | </div> | 1268 | </div> |
| 1251 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1269 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1252 | <small data-i18n="Presence Penalty">Presence Penalty</small> | 1270 | <small data-i18n="Presence Penalty">Presence Penalty</small> |
| 1253 | <input class="neo-range-slider" type="range" id="presence_pen_textgenerationwebui" name="volume" min="-2" max="2" step="0.01" /> | 1271 | <input class="neo-range-slider" type="range" id="presence_pen_textgenerationwebui" name="volume" min="-2" max="2" step="0.01" /> |
| 1254 | <input class="neo-range-input" type="number" min="-2" max="2" step="0.01" data-for="presence_pen_textgenerationwebui" id="presence_pen_counter_textgenerationwebui"> | 1272 | <input class="neo-range-input" type="number" min="-2" max="2" step="0.01" data-for="presence_pen_textgenerationwebui" id="presence_pen_counter_textgenerationwebui"> |
| 1255 | </div> | 1273 | </div> |
| 1256 | <div data-tg-type="ooba" data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1274 | <div data-tg-type="ooba" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1257 | <small data-i18n="No Repeat Ngram Size">No Repeat Ngram Size</small> | 1275 | <small data-i18n="No Repeat Ngram Size">No Repeat Ngram Size</small> |
| 1258 | <input class="neo-range-slider" type="range" id="no_repeat_ngram_size_textgenerationwebui" name="volume" min="0" max="20" step="1"> | 1276 | <input class="neo-range-slider" type="range" id="no_repeat_ngram_size_textgenerationwebui" name="volume" min="0" max="20" step="1"> |
| 1259 | <input class="neo-range-input" type="number" min="0" max="20" step="1" data-for="no_repeat_ngram_size_textgenerationwebui" id="no_repeat_ngram_size_counter_textgenerationwebui"> | 1277 | <input class="neo-range-input" type="number" min="0" max="20" step="1" data-for="no_repeat_ngram_size_textgenerationwebui" id="no_repeat_ngram_size_counter_textgenerationwebui"> |
| 1260 | </div> | 1278 | </div> |
| 1261 | <div data-newbie-hidden data-tg-type="tabby" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1279 | <div data-tg-type="tabby" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1262 | <small data-i18n="Skew">Skew</small> | 1280 | <small data-i18n="Skew">Skew</small> |
| 1263 | <input class="neo-range-slider" type="range" id="skew_textgenerationwebui" name="volume" min="-5" max="5" step="0.01" /> | 1281 | <input class="neo-range-slider" type="range" id="skew_textgenerationwebui" name="volume" min="-5" max="5" step="0.01" /> |
| 1264 | <input class="neo-range-input" type="number" min="-5" max="5" step="0.01" data-for="skew_textgenerationwebui" id="skew_counter_textgenerationwebui"> | 1282 | <input class="neo-range-input" type="number" min="-5" max="5" step="0.01" data-for="skew_textgenerationwebui" id="skew_counter_textgenerationwebui"> |
| 1265 | </div> | 1283 | </div> |
| 1266 | <div data-newbie-hidden data-tg-type="mancer, ooba, tabby, dreamgen, infermaticai" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1284 | <div data-tg-type="mancer, ooba, tabby, dreamgen, infermaticai, aphrodite" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1267 | <small data-i18n="Min Length">Min Length</small> | 1285 | <small data-i18n="Min Length">Min Length</small> |
| 1268 | <input class="neo-range-slider" type="range" id="min_length_textgenerationwebui" name="volume" min="0" max="2000" step="1" /> | 1286 | <input class="neo-range-slider" type="range" id="min_length_textgenerationwebui" name="volume" min="0" max="2000" step="1" /> |
| 1269 | <input class="neo-range-input" type="number" min="0" max="2000" step="1" data-for="min_length_textgenerationwebui" id="min_length_counter_textgenerationwebui"> | 1287 | <input class="neo-range-input" type="number" min="0" max="2000" step="1" data-for="min_length_textgenerationwebui" id="min_length_counter_textgenerationwebui"> |
| 1270 | </div> | 1288 | </div> |
| 1271 | <div data-newbie-hidden data-tg-type="ooba" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> | 1289 | <div data-tg-type="ooba" class="alignitemscenter flex-container flexFlowColumn flexBasis30p flexGrow flexShrink gap0"> |
| 1272 | <small data-i18n="Max Tokens Second">Maximum tokens/second</small> | 1290 | <small data-i18n="Max Tokens Second">Maximum tokens/second</small> |
| 1273 | <input class="neo-range-slider" type="range" id="max_tokens_second_textgenerationwebui" name="volume" min="0" max="20" step="1" /> | 1291 | <input class="neo-range-slider" type="range" id="max_tokens_second_textgenerationwebui" name="volume" min="0" max="20" step="1" /> |
| 1274 | <input class="neo-range-input" type="number" min="0" max="20" step="1" data-for="max_tokens_second_textgenerationwebui" id="max_tokens_second_counter_textgenerationwebui"> | 1292 | <input class="neo-range-input" type="number" min="0" max="20" step="1" data-for="max_tokens_second_textgenerationwebui" id="max_tokens_second_counter_textgenerationwebui"> |
| 1275 | </div> | 1293 | </div> |
| 1276 | <div data-newbie-hidden data-tg-type="mancer, ooba, koboldcpp, aphrodite, tabby" id="smoothingBlock" name="smoothingBlock" class="wide100p"> | 1294 | <div data-tg-type="mancer, ooba, koboldcpp, aphrodite, tabby" id="smoothingBlock" name="smoothingBlock" class="wide100p"> |
| 1277 | <h4 class="wide100p textAlignCenter"> | 1295 | <h4 class="wide100p textAlignCenter"> |
| 1278 | <label data-i18n="Smooth Sampling">Smooth Sampling</label> | 1296 | <label data-i18n="Smooth Sampling">Smooth Sampling</label> |
| 1279 | <div class=" fa-solid fa-circle-info opacity50p " data-i18n="[title]Smooth_Sampling_desc" title="Allows you to use quadratic/cubic transformations to adjust the distribution. Lower Smoothing Factor values will be more creative, usually between 0.2-0.3 is the sweetspot (assuming the curve = 1). Higher Smoothing Curve values will make the curve steeper, which will punish low probability choices more aggressively. 1.0 curve is equivalent to only using Smoothing Factor."></div> | 1297 | <div class=" fa-solid fa-circle-info opacity50p " data-i18n="[title]Smooth_Sampling_desc" title="Allows you to use quadratic/cubic transformations to adjust the distribution. Lower Smoothing Factor values will be more creative, usually between 0.2-0.3 is the sweetspot (assuming the curve = 1). Higher Smoothing Curve values will make the curve steeper, which will punish low probability choices more aggressively. 1.0 curve is equivalent to only using Smoothing Factor."></div> |
| 1280 | </h4> | 1298 | </h4> |
| 1281 | <div data-tg-type="mancer, ooba, koboldcpp, aphrodite, tabby" class="flex-container flexFlowRow gap10px flexShrink"> | 1299 | <div data-tg-type="mancer, ooba, koboldcpp, aphrodite, tabby" class="flex-container flexFlowRow gap10px flexShrink"> |
| 1282 | <div data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> | 1300 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> |
| 1283 | <small data-i18n="Smoothing Factor">Smoothing Factor</small> | 1301 | <small data-i18n="Smoothing Factor">Smoothing Factor</small> |
| 1284 | <input class="neo-range-slider" type="range" id="smoothing_factor_textgenerationwebui" name="volume" min="0" max="10" step="0.01" /> | 1302 | <input class="neo-range-slider" type="range" id="smoothing_factor_textgenerationwebui" name="volume" min="0" max="10" step="0.01" /> |
| 1285 | <input class="neo-range-input" type="number" min="0" max="10" step="0.01" data-for="smoothing_factor_textgenerationwebui" id="smoothing_factor_counter_textgenerationwebui"> | 1303 | <input class="neo-range-input" type="number" min="0" max="10" step="0.01" data-for="smoothing_factor_textgenerationwebui" id="smoothing_factor_counter_textgenerationwebui"> |
| 1286 | </div> | 1304 | </div> |
| 1287 | <div data-tg-type="mancer, ooba, koboldcpp, aphrodite" data-newbie-hidden class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> | 1305 | <div data-tg-type="mancer, ooba, koboldcpp, aphrodite" class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> |
| 1288 | <small data-i18n="Smoothing Curve">Smoothing Curve</small> | 1306 | <small data-i18n="Smoothing Curve">Smoothing Curve</small> |
| 1289 | <input class="neo-range-slider" type="range" id="smoothing_curve_textgenerationwebui" name="volume" min="1" max="10" step="0.01" /> | 1307 | <input class="neo-range-slider" type="range" id="smoothing_curve_textgenerationwebui" name="volume" min="1" max="10" step="0.01" /> |
| 1290 | <input class="neo-range-input" type="number" min="1" max="10" step="0.01" data-for="smoothing_curve_textgenerationwebui" id="smoothing_curve_counter_textgenerationwebui"> | 1308 | <input class="neo-range-input" type="number" min="1" max="10" step="0.01" data-for="smoothing_curve_textgenerationwebui" id="smoothing_curve_counter_textgenerationwebui"> |
| 1291 | </div> | 1309 | </div> |
| 1292 | </div> | 1310 | </div> |
| 1293 | </div> | 1311 | </div> |
| 1312 | |||
| 1313 | <div data-tg-type="koboldcpp, aphrodite, tabby" id="xtc_block" class="wide100p"> | ||
| 1314 | <h4 class="wide100p textAlignCenter"> | ||
| 1315 | <label data-i18n="Exclude Top Choices (XTC)">Exclude Top Choices (XTC)</label> | ||
| 1316 | <a href="https://github.com/oobabooga/text-generation-webui/pull/6335" target="_blank"> | ||
| 1317 | <div class=" fa-solid fa-circle-info opacity50p"></div> | ||
| 1318 | </a> | ||
| 1319 | </h4> | ||
| 1320 | <div class="flex-container flexFlowRow gap10px flexShrink"> | ||
| 1321 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> | ||
| 1322 | <small data-i18n="Threshold">Threshold</small> | ||
| 1323 | <input class="neo-range-slider" type="range" id="xtc_threshold_textgenerationwebui" name="volume" min="0" max="0.5" step="0.01" /> | ||
| 1324 | <input class="neo-range-input" type="number" min="0" max="0.5" step="0.01" data-for="xtc_threshold_textgenerationwebui" id="xtc_threshold_counter_textgenerationwebui"> | ||
| 1325 | </div> | ||
| 1326 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> | ||
| 1327 | <small data-i18n="Probability">Probability</small> | ||
| 1328 | <input class="neo-range-slider" type="range" id="xtc_probability_textgenerationwebui" name="volume" min="0" max="1" step="0.01" /> | ||
| 1329 | <input class="neo-range-input" type="number" min="0" max="1" step="0.01" data-for="xtc_probability_textgenerationwebui" id="xtc_probability_counter_textgenerationwebui"> | ||
| 1330 | </div> | ||
| 1331 | </div> | ||
| 1332 | </div> | ||
| 1333 | |||
| 1294 | <!-- Enable for llama.cpp when the PR is merged: https://github.com/ggerganov/llama.cpp/pull/6839 --> | 1334 | <!-- Enable for llama.cpp when the PR is merged: https://github.com/ggerganov/llama.cpp/pull/6839 --> |
| 1295 | <div data-newbie-hidden data-tg-type="ooba, koboldcpp" id="dryBlock" class="wide100p"> | 1335 | <div data-tg-type="ooba, koboldcpp, tabby" id="dryBlock" class="wide100p"> |
| 1296 | <h4 class="wide100p textAlignCenter" title="DRY penalizes tokens that would extend the end of the input into a sequence that has previously occurred in the input. Set multiplier to 0 to disable." data-i18n="[title]DRY_Repetition_Penalty_desc"> | 1336 | <h4 class="wide100p textAlignCenter" title="DRY penalizes tokens that would extend the end of the input into a sequence that has previously occurred in the input. Set multiplier to 0 to disable." data-i18n="[title]DRY_Repetition_Penalty_desc"> |
| 1297 | <label data-i18n="DRY Repetition Penalty">DRY Repetition Penalty</label> | 1337 | <label data-i18n="DRY Repetition Penalty">DRY Repetition Penalty</label> |
| 1298 | <a href="https://github.com/oobabooga/text-generation-webui/pull/5677" target="_blank"> | 1338 | <a href="https://github.com/oobabooga/text-generation-webui/pull/5677" target="_blank"> |
| @@ -1315,7 +1355,7 @@ | |||
| 1315 | <input class="neo-range-slider" type="range" id="dry_allowed_length_textgenerationwebui" min="1" max="20" step="1" /> | 1355 | <input class="neo-range-slider" type="range" id="dry_allowed_length_textgenerationwebui" min="1" max="20" step="1" /> |
| 1316 | <input class="neo-range-input" type="number" min="1" max="20" step="1" data-for="dry_allowed_length_textgenerationwebui" id="dry_allowed_length_counter_textgenerationwebui"> | 1356 | <input class="neo-range-input" type="number" min="1" max="20" step="1" data-for="dry_allowed_length_textgenerationwebui" id="dry_allowed_length_counter_textgenerationwebui"> |
| 1317 | </div> | 1357 | </div> |
| 1318 | <div class="alignItemsCenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0" data-tg-type="llamacpp, koboldcpp"> | 1358 | <div class="alignItemsCenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0" data-tg-type="llamacpp, koboldcpp, tabby"> |
| 1319 | <small data-i18n="Penalty Range">Penalty Range</small> | 1359 | <small data-i18n="Penalty Range">Penalty Range</small> |
| 1320 | <input class="neo-range-slider" type="range" id="dry_penalty_last_n_textgenerationwebui" min="0" max="8192" step="1" /> | 1360 | <input class="neo-range-slider" type="range" id="dry_penalty_last_n_textgenerationwebui" min="0" max="8192" step="1" /> |
| 1321 | <input class="neo-range-input" type="number" min="0" max="8192" step="1" data-for="dry_penalty_last_n_textgenerationwebui" id="dry_penalty_last_n_counter_textgenerationwebui"> | 1361 | <input class="neo-range-input" type="number" min="0" max="8192" step="1" data-for="dry_penalty_last_n_textgenerationwebui" id="dry_penalty_last_n_counter_textgenerationwebui"> |
| @@ -1330,7 +1370,7 @@ | |||
| 1330 | </div> | 1370 | </div> |
| 1331 | </div> | 1371 | </div> |
| 1332 | </div> | 1372 | </div> |
| 1333 | <div data-newbie-hidden data-tg-type="ooba, mancer, koboldcpp, tabby, llamacpp, aphrodite" id="dynatemp_block_ooba" class="wide100p"> | 1373 | <div data-tg-type="ooba, mancer, koboldcpp, tabby, llamacpp, aphrodite" id="dynatemp_block_ooba" class="wide100p"> |
| 1334 | <h4 class="wide100p textAlignCenter"> | 1374 | <h4 class="wide100p textAlignCenter"> |
| 1335 | <div class="flex-container alignitemscenter justifyCenter"> | 1375 | <div class="flex-container alignitemscenter justifyCenter"> |
| 1336 | <div class="checkbox_label" for="dynatemp_textgenerationwebui"> | 1376 | <div class="checkbox_label" for="dynatemp_textgenerationwebui"> |
| @@ -1358,7 +1398,7 @@ | |||
| 1358 | </div> | 1398 | </div> |
| 1359 | </div> | 1399 | </div> |
| 1360 | </div> | 1400 | </div> |
| 1361 | <div data-newbie-hidden data-tg-type="ooba,aphrodite,infermaticai,koboldcpp,llamacpp,mancer,ollama,tabby" id="mirostat_block_ooba" class="wide100p"> | 1401 | <div data-tg-type="ooba,infermaticai,koboldcpp,llamacpp,mancer,ollama,tabby" id="mirostat_block_ooba" class="wide100p"> |
| 1362 | <h4 class="wide100p textAlignCenter"> | 1402 | <h4 class="wide100p textAlignCenter"> |
| 1363 | <label data-i18n="Mirostat (mode=1 is only for llama.cpp)">Mirostat</label> | 1403 | <label data-i18n="Mirostat (mode=1 is only for llama.cpp)">Mirostat</label> |
| 1364 | <div class=" fa-solid fa-circle-info opacity50p " data-i18n="[title]Mirostat_desc" title="Mirostat is a thermostat for output perplexity. Mirostat matches the output perplexity to that of the input, thus avoiding the repetition trap (where, as the autoregressive inference produces text, the perplexity of the output tends toward zero) and the confusion trap (where the perplexity diverges). For details, see the paper Mirostat: A Neural Text Decoding Algorithm that Directly Controls Perplexity by Basu et al. (2020). Mode chooses the Mirostat version. 0=disable, 1=Mirostat 1.0 (llama.cpp only), 2=Mirostat 2.0."></div> | 1404 | <div class=" fa-solid fa-circle-info opacity50p " data-i18n="[title]Mirostat_desc" title="Mirostat is a thermostat for output perplexity. Mirostat matches the output perplexity to that of the input, thus avoiding the repetition trap (where, as the autoregressive inference produces text, the perplexity of the output tends toward zero) and the confusion trap (where the perplexity diverges). For details, see the paper Mirostat: A Neural Text Decoding Algorithm that Directly Controls Perplexity by Basu et al. (2020). Mode chooses the Mirostat version. 0=disable, 1=Mirostat 1.0 (llama.cpp only), 2=Mirostat 2.0."></div> |
| @@ -1387,33 +1427,41 @@ | |||
| 1387 | </div> | 1427 | </div> |
| 1388 | </div> | 1428 | </div> |
| 1389 | </div> | 1429 | </div> |
| 1390 | <div data-newbie-hidden data-tg-type="ooba, vllm" id="beamSearchBlock" name="beamSearchBlock" class="wide100p"> | 1430 | <div data-tg-type="ooba" id="beamSearchBlock" name="beamSearchBlock" class="wide100p"> |
| 1391 | <h4 class="wide100p textAlignCenter"> | 1431 | <h4 class="wide100p textAlignCenter"> |
| 1392 | <label> | 1432 | <label> |
| 1393 | <span data-i18n="Beam search">Beam Search</span> | 1433 | <span data-i18n="Beam search">Beam Search</span> |
| 1394 | <div class=" fa-solid fa-circle-info opacity50p " title="Helpful tip coming soon." data-i18n="[title]Helpful tip coming soon."></div> | 1434 | <div class=" fa-solid fa-circle-info opacity50p " title="A greedy, brute-force algorithm used in LLM sampling to find the most likely sequence of words or tokens. It expands multiple candidate sequences at once, maintaining a fixed number (beam width) of top sequences at each step." data-i18n="[title]A greedy, brute-force algorithm used in LLM sampling to find the most likely sequence of words or tokens. It expands multiple candidate sequences at once, maintaining a fixed number (beam width) of top sequences at each step."></div> |
| 1395 | </label> | 1435 | </label> |
| 1396 | </h4> | 1436 | </h4> |
| 1397 | <div class="flex-container flexFlowRow alignitemscenter gap10px flexShrink"> | 1437 | <div class="flex-container flexFlowRow alignitemscenter gap10px flexShrink"> |
| 1398 | <div class="alignitemscenter flex-container marginBot5 flexFlowColumn flexGrow flexShrink gap0"> | 1438 | <div class="alignitemscenter flex-container marginBot5 flexFlowColumn flexGrow flexShrink gap0"> |
| 1399 | <small data-i18n="Number of Beams"># of Beams</small> | 1439 | <label> |
| 1440 | <small data-i18n="# of Beams"># of Beams</small> | ||
| 1441 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]The number of sequences generated at each step with Beam Search." title="The number of sequences generated at each step with Beam Search."></div> | ||
| 1442 | </label> | ||
| 1400 | <input class="neo-range-slider" type="range" id="num_beams_textgenerationwebui" name="volume" min="1" max="20" step="1" /> | 1443 | <input class="neo-range-slider" type="range" id="num_beams_textgenerationwebui" name="volume" min="1" max="20" step="1" /> |
| 1401 | <input class="neo-range-input" type="number" min="1" max="20" step="1" data-for="num_beams_textgenerationwebui" id="num_beams_counter_textgenerationwebui"> | 1444 | <input class="neo-range-input" type="number" min="1" max="20" step="1" data-for="num_beams_textgenerationwebui" id="num_beams_counter_textgenerationwebui"> |
| 1402 | </div> | 1445 | </div> |
| 1403 | <div class="alignitemscenter flex-container marginBot5 flexFlowColumn flexGrow flexShrink gap0"> | 1446 | <div class="alignitemscenter flex-container marginBot5 flexFlowColumn flexGrow flexShrink gap0"> |
| 1404 | <small data-i18n="Length Penalty">Length Penalty</small> | 1447 | <label> |
| 1448 | <small data-i18n="Length Penalty">Length Penalty</small> | ||
| 1449 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Penalize sequences based on their length." title="Penalize sequences based on their length."></div> | ||
| 1450 | </label> | ||
| 1405 | <input class="neo-range-slider" type="range" id="length_penalty_textgenerationwebui" name="volume" min="-5" max="5" step="0.1" /> | 1451 | <input class="neo-range-slider" type="range" id="length_penalty_textgenerationwebui" name="volume" min="-5" max="5" step="0.1" /> |
| 1406 | <input class="neo-range-input" type="number" min="-5" max="5" step="0.1" data-for="length_penalty_textgenerationwebui" id="length_penalty_counter_textgenerationwebui"> | 1452 | <input class="neo-range-input" type="number" min="-5" max="5" step="0.1" data-for="length_penalty_textgenerationwebui" id="length_penalty_counter_textgenerationwebui"> |
| 1407 | </div> | 1453 | </div> |
| 1408 | <div class=""> | 1454 | <div class=""> |
| 1409 | <label class="checkbox_label" for="early_stopping_textgenerationwebui"> | 1455 | <label class="checkbox_label" for="early_stopping_textgenerationwebui"> |
| 1410 | <input type="checkbox" id="early_stopping_textgenerationwebui" /> | 1456 | <input type="checkbox" id="early_stopping_textgenerationwebui" /> |
| 1411 | <small data-i18n="Early Stopping">Early Stopping</small> | 1457 | <small data-i18n="Early Stopping">Early Stopping |
| 1458 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Controls the stopping condition for beam search. If checked, the generation stops as soon as there are '# of Beams' sequences. If not checked, a heuristic is applied and the generation is stopped when it's very unlikely to find better candidates." title="Controls the stopping condition for beam search. If checked, the generation stops as soon as there are '# of Beams' sequences. If not checked, a heuristic is applied and the generation is stopped when it's very unlikely to find better candidates."></div> | ||
| 1459 | </small> | ||
| 1412 | </label> | 1460 | </label> |
| 1413 | </div> | 1461 | </div> |
| 1414 | </div> | 1462 | </div> |
| 1415 | </div> | 1463 | </div> |
| 1416 | <div data-tg-type="ooba" data-newbie-hidden id="contrastiveSearchBlock" name="contrastiveSearchBlock" class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> | 1464 | <div data-tg-type="ooba" id="contrastiveSearchBlock" name="contrastiveSearchBlock" class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> |
| 1417 | <h4 class="textAlignCenter" data-i18n="Contrastive search">Contrastive Search | 1465 | <h4 class="textAlignCenter" data-i18n="Contrastive search">Contrastive Search |
| 1418 | <div class=" fa-solid fa-circle-info opacity50p " data-i18n="Contrastive_search_txt" title="A sampler that encourages diversity while maintaining coherence, by exploiting the isotropicity of the representation space of most LLMs. For details, see the paper A Contrastive Framework for Neural Text Generation by Su et al. (2022)."></div> | 1466 | <div class=" fa-solid fa-circle-info opacity50p " data-i18n="Contrastive_search_txt" title="A sampler that encourages diversity while maintaining coherence, by exploiting the isotropicity of the representation space of most LLMs. For details, see the paper A Contrastive Framework for Neural Text Generation by Su et al. (2022)."></div> |
| 1419 | </h4> | 1467 | </h4> |
| @@ -1426,7 +1474,7 @@ | |||
| 1426 | <input class="neo-range-input" type="number" min="0" max="5" step="0.05" data-for="penalty_alpha_textgenerationwebui" id="penalty_alpha_counter_textgenerationwebui"> | 1474 | <input class="neo-range-input" type="number" min="0" max="5" step="0.05" data-for="penalty_alpha_textgenerationwebui" id="penalty_alpha_counter_textgenerationwebui"> |
| 1427 | </div> | 1475 | </div> |
| 1428 | </div> | 1476 | </div> |
| 1429 | <div data-newbie-hidden name="checkboxes" class="flex-container flexBasis48p justifyCenter flexGrow flexShrink "> | 1477 | <div name="checkboxes" class="flex-container flexBasis48p justifyCenter flexGrow flexShrink "> |
| 1430 | <div class="flex-container flexFlowColumn marginTop5"> | 1478 | <div class="flex-container flexFlowColumn marginTop5"> |
| 1431 | <label data-tg-type="ooba" class="checkbox_label flexGrow flexShrink" for="do_sample_textgenerationwebui"> | 1479 | <label data-tg-type="ooba" class="checkbox_label flexGrow flexShrink" for="do_sample_textgenerationwebui"> |
| 1432 | <input type="checkbox" id="do_sample_textgenerationwebui" /> | 1480 | <input type="checkbox" id="do_sample_textgenerationwebui" /> |
| @@ -1439,7 +1487,7 @@ | |||
| 1439 | <div class="fa-solid fa-circle-info opacity50p " data-i18n="[title]Add the bos_token to the beginning of prompts. Disabling this can make the replies more creative" title="Add the bos_token to the beginning of prompts. Disabling this can make the replies more creative."></div> | 1487 | <div class="fa-solid fa-circle-info opacity50p " data-i18n="[title]Add the bos_token to the beginning of prompts. Disabling this can make the replies more creative" title="Add the bos_token to the beginning of prompts. Disabling this can make the replies more creative."></div> |
| 1440 | </label> | 1488 | </label> |
| 1441 | </label> | 1489 | </label> |
| 1442 | <label data-tg-type="ooba, llamacpp, tabby" class="checkbox_label flexGrow flexShrink" for="ban_eos_token_textgenerationwebui"> | 1490 | <label data-tg-type="ooba, llamacpp, tabby, koboldcpp" class="checkbox_label flexGrow flexShrink" for="ban_eos_token_textgenerationwebui"> |
| 1443 | <input type="checkbox" id="ban_eos_token_textgenerationwebui" /> | 1491 | <input type="checkbox" id="ban_eos_token_textgenerationwebui" /> |
| 1444 | <label> | 1492 | <label> |
| 1445 | <small data-i18n="Ban EOS Token">Ban EOS Token</small> | 1493 | <small data-i18n="Ban EOS Token">Ban EOS Token</small> |
| @@ -1477,18 +1525,21 @@ | |||
| 1477 | </label> | 1525 | </label> |
| 1478 | </div> | 1526 | </div> |
| 1479 | </div> | 1527 | </div> |
| 1480 | <div data-tg-type="mancer, ooba, koboldcpp, vllm, aphrodite, llamacpp, ollama, infermaticai, huggingface" data-newbie-hidden class="flex-container flexFlowColumn alignitemscenter flexBasis48p flexGrow flexShrink gap0"> | 1528 | <div data-tg-type="mancer, ooba, koboldcpp, vllm, aphrodite, llamacpp, ollama, infermaticai, huggingface" class="flex-container flexFlowColumn alignitemscenter flexBasis48p flexGrow flexShrink gap0"> |
| 1481 | <small data-i18n="Seed" class="textAlignCenter">Seed</small> | 1529 | <label> |
| 1482 | <input type="number" id="seed_textgenerationwebui" class="text_pole textAlignCenter" min="-1" value="-1" maxlength="100" /> | 1530 | <small data-i18n="Seed">Seed</small> |
| 1531 | <div class="fa-solid fa-circle-info opacity50p " data-i18n="[title]Seed_desc" title="A random seed to use for deterministic and reproducable outputs. Set to -1 to use a random seed."></div> | ||
| 1532 | </label> | ||
| 1533 | <input type="number" id="seed_textgenerationwebui" class="text_pole textAlignCenter" min="-1" value="-1" /> | ||
| 1483 | </div> | 1534 | </div> |
| 1484 | <div id="banned_tokens_block_ooba" data-newbie-hidden class="wide100p"> | 1535 | <div id="banned_tokens_block_ooba" class="wide100p"> |
| 1485 | <hr data-newbie-hidden class="width100p"> | 1536 | <hr class="width100p"> |
| 1486 | <h4 class="range-block-title justifyCenter"> | 1537 | <h4 class="range-block-title justifyCenter"> |
| 1487 | <span data-i18n="Banned Tokens">Banned Tokens</span> | 1538 | <span data-i18n="Banned Tokens">Banned Tokens/Strings</span> |
| 1488 | <div class="margin5 fa-solid fa-circle-info opacity50p " data-i18n="[title]LLaMA / Mistral / Yi models only" title="LLaMA / Mistral / Yi models only. Make sure to select an appropriate tokenizer first. Sequences you don't want to appear in the output. One per line. Text or [token ids]. Most tokens have a leading space. Use token counter if unsure."></div> | 1539 | <div class="margin5 fa-solid fa-circle-info opacity50p " data-i18n="[title]LLaMA / Mistral / Yi models only" title="Enter sequences you don't want to appear in the output. Unquoted text will be tokenized in the back end and banned as tokens. [token ids] will be banned as-is. Most tokens have a leading space. Use token counter (with the correct tokenizer selected first!) if you are unsure. Enclose text in double quotes to ban the entire string as a set. Quoted Strings and [Token ids] must be on their own line."></div> |
| 1489 | </h4> | 1540 | </h4> |
| 1490 | <div class="wide100p"> | 1541 | <div class="wide100p"> |
| 1491 | <textarea id="banned_tokens_textgenerationwebui" class="text_pole textarea_compact" name="banned_tokens_textgenerationwebui" rows="3" data-i18n="[placeholder]Example: some text [42, 69, 1337]" placeholder="Example: some text [42, 69, 1337]"></textarea> | 1542 | <textarea id="banned_tokens_textgenerationwebui" class="text_pole textarea_compact" name="banned_tokens_textgenerationwebui" rows="3" data-i18n="[placeholder]Example: some text [42, 69, 1337]" placeholder='some text as tokens [420, 69, 1337] "Some verbatim string"'></textarea> |
| 1492 | </div> | 1543 | </div> |
| 1493 | </div> | 1544 | </div> |
| 1494 | <div class="range-block wide100p"> | 1545 | <div class="range-block wide100p"> |
| @@ -1506,7 +1557,7 @@ | |||
| 1506 | <div class="logit_bias_list"></div> | 1557 | <div class="logit_bias_list"></div> |
| 1507 | </div> | 1558 | </div> |
| 1508 | </div> | 1559 | </div> |
| 1509 | <div id="cfg_block_ooba" data-newbie-hidden data-tg-type="ooba, tabby" class="wide100p"> | 1560 | <div id="cfg_block_ooba" data-tg-type="ooba, tabby" class="wide100p"> |
| 1510 | <hr class="width100p"> | 1561 | <hr class="width100p"> |
| 1511 | <h4 data-i18n="CFG" class="textAlignCenter">CFG | 1562 | <h4 data-i18n="CFG" class="textAlignCenter">CFG |
| 1512 | <div class="margin5 fa-solid fa-circle-info opacity50p " data-i18n="[title]Classifier Free Guidance. More helpful tip coming soon" title="Classifier Free Guidance. More helpful tip coming soon."></div> | 1563 | <div class="margin5 fa-solid fa-circle-info opacity50p " data-i18n="[title]Classifier Free Guidance. More helpful tip coming soon" title="Classifier Free Guidance. More helpful tip coming soon."></div> |
| @@ -1528,18 +1579,7 @@ | |||
| 1528 | </div> | 1579 | </div> |
| 1529 | </div> | 1580 | </div> |
| 1530 | </div> | 1581 | </div> |
| 1531 | <div data-newbie-hidden id="json_schema_block" data-tg-type="tabby, llamacpp" class="wide100p"> | 1582 | <div id="grammar_block_ooba" data-tg-type="ooba,aphrodite" class="wide100p"> |
| 1532 | <hr class="wide100p"> | ||
| 1533 | <h4 class="wide100p textAlignCenter"><span data-i18n="JSON Schema">JSON Schema</span> | ||
| 1534 | <a href="https://json-schema.org/learn/getting-started-step-by-step" target="_blank"> | ||
| 1535 | <small> | ||
| 1536 | <div class="fa-solid fa-circle-question note-link-span"></div> | ||
| 1537 | </small> | ||
| 1538 | </a> | ||
| 1539 | </h4> | ||
| 1540 | <textarea id="tabby_json_schema" rows="4" class="text_pole textarea_compact monospace" data-i18n="[placeholder]Type in the desired JSON schema" placeholder="Type in the desired JSON schema"></textarea> | ||
| 1541 | </div> | ||
| 1542 | <div data-newbie-hidden id="grammar_block_ooba" class="wide100p"> | ||
| 1543 | <hr class="wide100p"> | 1583 | <hr class="wide100p"> |
| 1544 | <h4 class="wide100p textAlignCenter"> | 1584 | <h4 class="wide100p textAlignCenter"> |
| 1545 | <label> | 1585 | <label> |
| @@ -1554,7 +1594,18 @@ | |||
| 1554 | </h4> | 1594 | </h4> |
| 1555 | <textarea id="grammar_string_textgenerationwebui" rows="4" class="text_pole textarea_compact monospace" data-i18n="[placeholder]Type in the desired custom grammar" placeholder="Type in the desired custom grammar"></textarea> | 1595 | <textarea id="grammar_string_textgenerationwebui" rows="4" class="text_pole textarea_compact monospace" data-i18n="[placeholder]Type in the desired custom grammar" placeholder="Type in the desired custom grammar"></textarea> |
| 1556 | </div> | 1596 | </div> |
| 1557 | <div id="sampler_order_block_kcpp" data-newbie-hidden data-tg-type="koboldcpp" class="range-block flexFlowColumn wide100p"> | 1597 | <div id="json_schema_block" data-tg-type="tabby, llamacpp, aphrodite" class="wide100p"> |
| 1598 | <hr class="wide100p"> | ||
| 1599 | <h4 class="wide100p textAlignCenter"><span data-i18n="JSON Schema">JSON Schema</span> | ||
| 1600 | <a href="https://json-schema.org/learn/getting-started-step-by-step" target="_blank"> | ||
| 1601 | <small> | ||
| 1602 | <div class="fa-solid fa-circle-question note-link-span"></div> | ||
| 1603 | </small> | ||
| 1604 | </a> | ||
| 1605 | </h4> | ||
| 1606 | <textarea id="tabby_json_schema" rows="4" class="text_pole textarea_compact monospace" data-i18n="[placeholder]Type in the desired JSON schema" placeholder="Type in the desired JSON schema"></textarea> | ||
| 1607 | </div> | ||
| 1608 | <div id="sampler_order_block_kcpp" data-tg-type="koboldcpp" class="range-block flexFlowColumn wide100p"> | ||
| 1558 | <hr class="wide100p"> | 1609 | <hr class="wide100p"> |
| 1559 | <div class="range-block-title"> | 1610 | <div class="range-block-title"> |
| 1560 | <span data-i18n="Samplers Order">Samplers Order</span> | 1611 | <span data-i18n="Samplers Order">Samplers Order</span> |
| @@ -1597,7 +1648,7 @@ | |||
| 1597 | <span data-i18n="Load default order">Load default order</span> | 1648 | <span data-i18n="Load default order">Load default order</span> |
| 1598 | </div> | 1649 | </div> |
| 1599 | </div> | 1650 | </div> |
| 1600 | <div id="sampler_order_block_lcpp" data-newbie-hidden data-tg-type="llamacpp" class="range-block flexFlowColumn wide100p"> | 1651 | <div id="sampler_order_block_lcpp" data-tg-type="llamacpp" class="range-block flexFlowColumn wide100p"> |
| 1601 | <hr class="wide100p"> | 1652 | <hr class="wide100p"> |
| 1602 | <h4 class="range-block-title justifyCenter"> | 1653 | <h4 class="range-block-title justifyCenter"> |
| 1603 | <span data-i18n="Sampler Order">Sampler Order</span> | 1654 | <span data-i18n="Sampler Order">Sampler Order</span> |
| @@ -1618,7 +1669,7 @@ | |||
| 1618 | <span data-i18n="Load default order">Load default order</span> | 1669 | <span data-i18n="Load default order">Load default order</span> |
| 1619 | </div> | 1670 | </div> |
| 1620 | </div> | 1671 | </div> |
| 1621 | <div id="sampler_priority_block_ooba" data-newbie-hidden data-tg-type="ooba" class="range-block flexFlowColumn wide100p"> | 1672 | <div id="sampler_priority_block_ooba" data-tg-type="ooba" class="range-block flexFlowColumn wide100p"> |
| 1622 | <hr class="wide100p"> | 1673 | <hr class="wide100p"> |
| 1623 | <h4 class="range-block-title justifyCenter"> | 1674 | <h4 class="range-block-title justifyCenter"> |
| 1624 | <span data-i18n="Sampler Priority">Sampler Priority</span> | 1675 | <span data-i18n="Sampler Priority">Sampler Priority</span> |
| @@ -1791,22 +1842,6 @@ | |||
| 1791 | </select> | 1842 | </select> |
| 1792 | </div> | 1843 | </div> |
| 1793 | </div> | 1844 | </div> |
| 1794 | <div class="range-block" data-source="ai21"> | ||
| 1795 | <label for="use_ai21_tokenizer" title="Use AI21 Tokenizer" data-i18n="[title]Use AI21 Tokenizer" class="checkbox_label widthFreeExpand"> | ||
| 1796 | <input id="use_ai21_tokenizer" type="checkbox" /><span data-i18n="Use AI21 Tokenizer">Use AI21 Tokenizer</span> | ||
| 1797 | </label> | ||
| 1798 | <div class="toggle-description justifyLeft"> | ||
| 1799 | <span data-i18n="Use the appropriate tokenizer for Jurassic models, which is more efficient than GPT's.">Use the appropriate tokenizer for Jurassic models, which is more efficient than GPT's.</span> | ||
| 1800 | </div> | ||
| 1801 | </div> | ||
| 1802 | <div class="range-block" data-source="makersuite"> | ||
| 1803 | <label for="use_google_tokenizer" title="Use Google Tokenizer" data-i18n="[title]Use Google Tokenizer" class="checkbox_label widthFreeExpand"> | ||
| 1804 | <input id="use_google_tokenizer" type="checkbox" /><span data-i18n="Use Google Tokenizer">Use Google Tokenizer</span> | ||
| 1805 | </label> | ||
| 1806 | <div class="toggle-description justifyLeft"> | ||
| 1807 | <span data-i18n="Use the appropriate tokenizer for Google models via their API. Slower prompt processing, but offers much more accurate token counting.">Use the appropriate tokenizer for Google models via their API. Slower prompt processing, but offers much more accurate token counting.</span> | ||
| 1808 | </div> | ||
| 1809 | </div> | ||
| 1810 | <div class="range-block" data-source="makersuite"> | 1845 | <div class="range-block" data-source="makersuite"> |
| 1811 | <label for="use_makersuite_sysprompt" class="checkbox_label widthFreeExpand"> | 1846 | <label for="use_makersuite_sysprompt" class="checkbox_label widthFreeExpand"> |
| 1812 | <input id="use_makersuite_sysprompt" type="checkbox" /> | 1847 | <input id="use_makersuite_sysprompt" type="checkbox" /> |
| @@ -1821,18 +1856,18 @@ | |||
| 1821 | </span> | 1856 | </span> |
| 1822 | </div> | 1857 | </div> |
| 1823 | </div> | 1858 | </div> |
| 1824 | <div data-newbie-hidden class="range-block" data-source="claude"> | 1859 | <div class="range-block" data-source="claude"> |
| 1825 | <div class="wide100p"> | 1860 | <div class="wide100p"> |
| 1826 | <div class="flex-container alignItemsCenter"> | 1861 | <div class="flex-container alignItemsCenter"> |
| 1827 | <span id="claude_assistant_prefill_text" data-i18n="Assistant Prefill">Assistant Prefill</span> | 1862 | <span id="claude_assistant_prefill_text" data-i18n="Assistant Prefill">Assistant Prefill</span> |
| 1828 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="claude_assistant_prefill" title="Expand the editor" data-i18n="[title]Expand the editor"></i> | 1863 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="claude_assistant_prefill" title="Expand the editor" data-i18n="[title]Expand the editor"></i> |
| 1829 | </div> | 1864 | </div> |
| 1830 | <textarea id="claude_assistant_prefill" class="text_pole textarea_compact" name="assistant_prefill" rows="6" maxlength="100000" data-i18n="[placeholder]Start Claude's answer with..." placeholder="Start Claude's answer with..."></textarea> | 1865 | <textarea id="claude_assistant_prefill" class="text_pole textarea_compact autoSetHeight" name="assistant_prefill" rows="2" data-i18n="[placeholder]Start Claude's answer with..." placeholder="Start Claude's answer with..."></textarea> |
| 1831 | <div class="flex-container alignItemsCenter"> | 1866 | <div class="flex-container alignItemsCenter"> |
| 1832 | <span id="claude_assistant_impersonation_text" data-i18n="Assistant Impersonation Prefill">Assistant Impersonation Prefill</span> | 1867 | <span id="claude_assistant_impersonation_text" data-i18n="Assistant Impersonation Prefill">Assistant Impersonation Prefill</span> |
| 1833 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="claude_assistant_impersonation" title="Expand the editor" data-i18n="[title]Expand the editor"></i> | 1868 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="claude_assistant_impersonation" title="Expand the editor" data-i18n="[title]Expand the editor"></i> |
| 1834 | </div> | 1869 | </div> |
| 1835 | <textarea id="claude_assistant_impersonation" class="text_pole textarea_compact" name="assistant_impersonation" rows="6" maxlength="100000" data-i18n="[placeholder]Start Claude's answer with..." placeholder="Start Claude's answer with..."></textarea> | 1870 | <textarea id="claude_assistant_impersonation" class="text_pole textarea_compact autoSetHeight" name="assistant_impersonation" rows="2" data-i18n="[placeholder]Start Claude's answer with..." placeholder="Start Claude's answer with..."></textarea> |
| 1836 | </div> | 1871 | </div> |
| 1837 | <label for="claude_use_sysprompt" class="checkbox_label widthFreeExpand"> | 1872 | <label for="claude_use_sysprompt" class="checkbox_label widthFreeExpand"> |
| 1838 | <input id="claude_use_sysprompt" type="checkbox" /> | 1873 | <input id="claude_use_sysprompt" type="checkbox" /> |
| @@ -1852,11 +1887,11 @@ | |||
| 1852 | <div class="fa-solid fa-clock-rotate-left"></div> | 1887 | <div class="fa-solid fa-clock-rotate-left"></div> |
| 1853 | </div> | 1888 | </div> |
| 1854 | </div> | 1889 | </div> |
| 1855 | <textarea id="claude_human_sysprompt_textarea" class="text_pole textarea_compact" rows="4" maxlength="10000" data-i18n="[placeholder]Human message" placeholder="Human message, instruction, etc. Adds nothing when empty, i.e. requires a new prompt with the role 'user'."></textarea> | 1890 | <textarea id="claude_human_sysprompt_textarea" class="text_pole textarea_compact autoSetHeight" rows="2" data-i18n="[placeholder]Human message" placeholder="Human message, instruction, etc. Adds nothing when empty, i.e. requires a new prompt with the role 'user'."></textarea> |
| 1856 | </div> | 1891 | </div> |
| 1857 | </div> | 1892 | </div> |
| 1858 | </div> | 1893 | </div> |
| 1859 | <div data-newbie-hidden class="range-block m-t-1" data-source="openai,openrouter,scale"> | 1894 | <div class="range-block m-t-1" data-source="openai,openrouter,scale"> |
| 1860 | <div id="logit_bias_openai" class="range-block-title openai_restorable" data-i18n="Logit Bias"> | 1895 | <div id="logit_bias_openai" class="range-block-title openai_restorable" data-i18n="Logit Bias"> |
| 1861 | Logit Bias | 1896 | Logit Bias |
| 1862 | </div> | 1897 | </div> |
| @@ -1894,7 +1929,7 @@ | |||
| 1894 | </div> | 1929 | </div> |
| 1895 | </div> | 1930 | </div> |
| 1896 | </div> | 1931 | </div> |
| 1897 | <div data-newbie-hidden class="range-block m-b-1"> | 1932 | <div class="range-block m-b-1"> |
| 1898 | <div id="completion_prompt_manager"></div> | 1933 | <div id="completion_prompt_manager"></div> |
| 1899 | </div> | 1934 | </div> |
| 1900 | </div><!-- end of OpenAI settings--> | 1935 | </div><!-- end of OpenAI settings--> |
| @@ -1905,35 +1940,44 @@ | |||
| 1905 | </div> | 1940 | </div> |
| 1906 | <div id="sys-settings-button" class="drawer"> | 1941 | <div id="sys-settings-button" class="drawer"> |
| 1907 | <div class="drawer-toggle drawer-header"> | 1942 | <div class="drawer-toggle drawer-header"> |
| 1908 | <div id="API-status-top" class="drawer-icon fa-solid fa-plug-circle-exclamation closedIcon" title="API Connections" data-i18n="[title]API Connections;[no_connection_text]api_no_connection" no_connection_text="No connection..."></div> | 1943 | <div id="API-status-top" class="drawer-icon fa-solid fa-plug-circle-exclamation fa-fw closedIcon" title="API Connections" data-i18n="[title]API Connections;[no_connection_text]api_no_connection" no_connection_text="No connection..."></div> |
| 1909 | </div> | 1944 | </div> |
| 1910 | <div id="rm_api_block" class="drawer-content closedDrawer"> | 1945 | <div id="rm_api_block" class="drawer-content closedDrawer"> |
| 1911 | <h3 class="margin0" id="title_api">API</h3> | 1946 | <h3 class="margin0" id="title_api">API</h3> |
| 1912 | <div class="flex-container flexFlowColumn"> | 1947 | <div class="flex-container flexFlowColumn"> |
| 1913 | <div id="main-API-selector-block"> | 1948 | <div id="main-API-selector-block"> |
| 1914 | <select id="main_api"> | 1949 | <select id="main_api"> |
| 1915 | <option value="textgenerationwebui"><span data-i18n="Text Completion">Text Completion</span></option> | 1950 | <option value="textgenerationwebui" data-i18n="Text Completion">Text Completion</option> |
| 1916 | <option value="openai"><span data-i18n="Chat Completion">Chat Completion</span></option> | 1951 | <option value="openai" data-i18n="Chat Completion">Chat Completion</option> |
| 1917 | <option value="novel"><span data-i18n="NovelAI">NovelAI</span></option> | 1952 | <option value="novel" data-i18n="NovelAI">NovelAI</option> |
| 1918 | <option value="koboldhorde"><span data-i18n="KoboldAI Horde">KoboldAI Horde</span></option> | 1953 | <option value="koboldhorde" data-i18n="KoboldAI Horde">KoboldAI Horde</option> |
| 1919 | <option value="kobold"><span data-i18n="KoboldAI">KoboldAI Classic</span></option> | 1954 | <option value="kobold" data-i18n="KoboldAI">KoboldAI Classic</option> |
| 1920 | </select> | 1955 | </select> |
| 1921 | </div> | 1956 | </div> |
| 1922 | <div id="kobold_horde" style="position: relative;"> <!-- shows the kobold settings --> | 1957 | <div id="kobold_horde" style="position: relative;"> <!-- shows the kobold settings --> |
| 1923 | <form action="javascript:void(null);" method="post" enctype="multipart/form-data"> | 1958 | <form action="javascript:void(null);" method="post" enctype="multipart/form-data"> |
| 1924 | <div id="kobold_horde_block"> | 1959 | <div id="kobold_horde_block"> |
| 1925 | <ul> | 1960 | <ul> |
| 1926 | <li data-i18n="Avoid sending sensitive information to the Horde."> | 1961 | <li> |
| 1927 | Avoid sending sensitive information to the Horde. | 1962 | <a target="_blank" href="https://aihorde.net/" data-i18n="KoboldAI Horde Website"> |
| 1928 | <a target="_blank" href="https://docs.sillytavern.app/usage/api-connections/horde/" data-i18n="Review the Privacy statement">Review the Privacy statement</a> | 1963 | KoboldAI Horde Website |
| 1964 | </a> | ||
| 1929 | </li> | 1965 | </li> |
| 1930 | <li> | 1966 | <li> |
| 1931 | <a target="_blank" href="https://horde.koboldai.net/register" data-i18n="Register a Horde account for faster queue times">Register a Horde | 1967 | <span data-i18n="Avoid sending sensitive information to the Horde.">Avoid sending sensitive information to the Horde.</span> |
| 1932 | account for faster queue times</a> | 1968 | <a target="_blank" href="https://docs.sillytavern.app/usage/api-connections/horde/" data-i18n="Review the Privacy statement"> |
| 1969 | Review the Privacy statement | ||
| 1970 | </a> | ||
| 1971 | </li> | ||
| 1972 | <li> | ||
| 1973 | <a target="_blank" href="https://aihorde.net/register" data-i18n="Register a Horde account for faster queue times"> | ||
| 1974 | Register a Horde account for faster queue times | ||
| 1975 | </a> | ||
| 1933 | </li> | 1976 | </li> |
| 1934 | <li> | 1977 | <li> |
| 1935 | <a target="_blank" href="https://github.com/Haidra-Org/horde-worker-reGen?tab=readme-ov-file#ai-horde-worker-regen" data-i18n="Learn how to contribute your idle GPU cycles to the Horde">Learn | 1978 | <a target="_blank" href="https://github.com/Haidra-Org/horde-worker-reGen?tab=readme-ov-file#ai-horde-worker-regen" data-i18n="Learn how to contribute your idle GPU cycles to the Horde"> |
| 1936 | how to contribute your idle GPU cycles to the Horde</a> | 1979 | Learn how to contribute your idle GPU cycles to the Horde |
| 1980 | </a> | ||
| 1937 | </li> | 1981 | </li> |
| 1938 | </ul> | 1982 | </ul> |
| 1939 | <label for="horde_auto_adjust_context_length" class="checkbox_label"> | 1983 | <label for="horde_auto_adjust_context_length" class="checkbox_label"> |
| @@ -1951,14 +1995,11 @@ | |||
| 1951 | <small id="adjustedHordeParams">Context: --, Response: --</small> | 1995 | <small id="adjustedHordeParams">Context: --, Response: --</small> |
| 1952 | <h4 data-i18n="API key">API key</h4> | 1996 | <h4 data-i18n="API key">API key</h4> |
| 1953 | <small> | 1997 | <small> |
| 1954 | <span data-i18n="Get it here:">Get it here: </span> <a target="_blank" href="https://horde.koboldai.net/register" data-i18n="Register">Register</a> (<a id="horde_kudos" href="javascript:void(0);" data-i18n="View my Kudos">View my Kudos</a>)<br> | 1998 | <span data-i18n="Get it here:">Get it here: </span> <a target="_blank" href="https://aihorde.net/register" data-i18n="Register">Register</a> (<a id="horde_kudos" href="javascript:void(0);" data-i18n="View my Kudos">View my Kudos</a>)<br> |
| 1955 | <span data-i18n="Enter">Enter </span> <span class="monospace">0000000000</span> <span data-i18n="to use anonymous mode.">to use anonymous mode. </span> | 1999 | <span data-i18n="Enter">Enter </span> <span class="monospace">0000000000</span> <span data-i18n="to use anonymous mode.">to use anonymous mode. </span> |
| 1956 | </small> | 2000 | </small> |
| 1957 | <!-- <div> | ||
| 1958 | <a id="horde_kudos" href="javascript:void(0);">View my Kudos</a> | ||
| 1959 | </div> --> | ||
| 1960 | <div class="flex-container"> | 2001 | <div class="flex-container"> |
| 1961 | <input id="horde_api_key" name="horde_api_key" class="text_pole flex1" maxlength="500" type="text" placeholder="0000000000" autocomplete="off"> | 2002 | <input id="horde_api_key" name="horde_api_key" class="text_pole flex1" type="text" placeholder="0000000000" autocomplete="off"> |
| 1962 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_horde"></div> | 2003 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_horde"></div> |
| 1963 | </div> | 2004 | </div> |
| 1964 | <div data-for="horde_api_key" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2005 | <div data-for="horde_api_key" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -1985,13 +2026,13 @@ | |||
| 1985 | <div id="kobold_api_block"> | 2026 | <div id="kobold_api_block"> |
| 1986 | <h4 data-i18n="API url">API url</h4> | 2027 | <h4 data-i18n="API url">API url</h4> |
| 1987 | <small data-i18n="Example: http://127.0.0.1:5000/api ">Example: http://127.0.0.1:5000/api </small> | 2028 | <small data-i18n="Example: http://127.0.0.1:5000/api ">Example: http://127.0.0.1:5000/api </small> |
| 1988 | <input id="api_url_text" name="api_url" class="text_pole" placeholder="http://127.0.0.1:5000/api" maxlength="500" value="" autocomplete="off" data-server-history="kobold"> | 2029 | <input id="api_url_text" name="api_url" class="text_pole" placeholder="http://127.0.0.1:5000/api" value="" autocomplete="off" data-server-history="kobold"> |
| 1989 | <div id="koboldcpp_hint" class="neutral_warning displayNone"> | 2030 | <div id="koboldcpp_hint" class="neutral_warning displayNone"> |
| 1990 | KoboldCpp works better when you select the Text Completion API and then KoboldCpp as a type! | 2031 | KoboldCpp works better when you select the Text Completion API and then KoboldCpp as a type! |
| 1991 | </div> | 2032 | </div> |
| 1992 | <div class="flex-container"> | 2033 | <div class="flex-container"> |
| 1993 | <div id="api_button" class="api_button menu_button" type="submit" data-i18n="Connect" data-server-connect="kobold">Connect</div> | 2034 | <div id="api_button" class="api_button menu_button menu_button_icon" type="submit" data-i18n="Connect" data-server-connect="kobold">Connect</div> |
| 1994 | <div class="api_loading menu_button" data-i18n="Cancel">Cancel</div> | 2035 | <div class="api_loading menu_button menu_button_icon" data-i18n="Cancel">Cancel</div> |
| 1995 | </div> | 2036 | </div> |
| 1996 | </div> | 2037 | </div> |
| 1997 | <div class="online_status"> | 2038 | <div class="online_status"> |
| @@ -2013,7 +2054,7 @@ | |||
| 2013 | </ol> | 2054 | </ol> |
| 2014 | </span> | 2055 | </span> |
| 2015 | <div class="flex-container"> | 2056 | <div class="flex-container"> |
| 2016 | <input id="api_key_novel" name="api_key_novel" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off"> | 2057 | <input id="api_key_novel" name="api_key_novel" class="text_pole flex1 wide100p" type="text" autocomplete="off"> |
| 2017 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_novel"> | 2058 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_novel"> |
| 2018 | </div> | 2059 | </div> |
| 2019 | </div> | 2060 | </div> |
| @@ -2028,10 +2069,11 @@ | |||
| 2028 | <select id="model_novel_select"> | 2069 | <select id="model_novel_select"> |
| 2029 | <option value="clio-v1">Clio</option> | 2070 | <option value="clio-v1">Clio</option> |
| 2030 | <option value="kayra-v1">Kayra</option> | 2071 | <option value="kayra-v1">Kayra</option> |
| 2072 | <option value="llama-3-erato-v1">Erato</option> | ||
| 2031 | </select> | 2073 | </select> |
| 2032 | <div class="flex-container"> | 2074 | <div class="flex-container"> |
| 2033 | <div id="api_button_novel" class="api_button menu_button" type="submit" data-i18n="Connect">Connect</div> | 2075 | <div id="api_button_novel" class="api_button menu_button menu_button_icon" type="submit" data-i18n="Connect">Connect</div> |
| 2034 | <div class="api_loading menu_button" data-i18n="Cancel">Cancel</div> | 2076 | <div class="api_loading menu_button menu_button_icon" data-i18n="Cancel">Cancel</div> |
| 2035 | </div> | 2077 | </div> |
| 2036 | </form> | 2078 | </form> |
| 2037 | <div class="online_status"> | 2079 | <div class="online_status"> |
| @@ -2063,7 +2105,7 @@ | |||
| 2063 | <div data-tg-type="togetherai" class="flex-container flexFlowColumn"> | 2105 | <div data-tg-type="togetherai" class="flex-container flexFlowColumn"> |
| 2064 | <h4 data-i18n="TogetherAI API Key">TogetherAI API Key</h4> | 2106 | <h4 data-i18n="TogetherAI API Key">TogetherAI API Key</h4> |
| 2065 | <div class="flex-container"> | 2107 | <div class="flex-container"> |
| 2066 | <input id="api_key_togetherai" name="api_key_togetherai" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 2108 | <input id="api_key_togetherai" name="api_key_togetherai" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2067 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_togetherai"></div> | 2109 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_togetherai"></div> |
| 2068 | </div> | 2110 | </div> |
| 2069 | <div data-for="api_key_togetherai" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2111 | <div data-for="api_key_togetherai" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2072,7 +2114,7 @@ | |||
| 2072 | <div> | 2114 | <div> |
| 2073 | <h4 data-i18n="TogetherAI Model">TogetherAI Model</h4> | 2115 | <h4 data-i18n="TogetherAI Model">TogetherAI Model</h4> |
| 2074 | <select id="model_togetherai_select"> | 2116 | <select id="model_togetherai_select"> |
| 2075 | <option data-i18n="-- Connect to the API --"> | 2117 | <option value="" data-i18n="-- Connect to the API --"> |
| 2076 | -- Connect to the API -- | 2118 | -- Connect to the API -- |
| 2077 | </option> | 2119 | </option> |
| 2078 | </select> | 2120 | </select> |
| @@ -2087,7 +2129,7 @@ | |||
| 2087 | <a href="https://openrouter.ai/account" target="_blank" data-i18n="View Remaining Credits">View Remaining Credits</a> | 2129 | <a href="https://openrouter.ai/account" target="_blank" data-i18n="View Remaining Credits">View Remaining Credits</a> |
| 2088 | </div> | 2130 | </div> |
| 2089 | <div class="flex-container"> | 2131 | <div class="flex-container"> |
| 2090 | <input id="api_key_openrouter-tg" name="api_key_openrouter" class="text_pole flex1 api_key_openrouter" maxlength="500" value="" type="text" autocomplete="off"> | 2132 | <input id="api_key_openrouter-tg" name="api_key_openrouter" class="text_pole flex1 api_key_openrouter" value="" type="text" autocomplete="off"> |
| 2091 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_openrouter"></div> | 2133 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_openrouter"></div> |
| 2092 | </div> | 2134 | </div> |
| 2093 | <div data-for="api_key_openrouter" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2135 | <div data-for="api_key_openrouter" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2096,7 +2138,7 @@ | |||
| 2096 | <div> | 2138 | <div> |
| 2097 | <h4 data-i18n="OpenRouter Model">OpenRouter Model</h4> | 2139 | <h4 data-i18n="OpenRouter Model">OpenRouter Model</h4> |
| 2098 | <select id="openrouter_model"> | 2140 | <select id="openrouter_model"> |
| 2099 | <option data-i18n="-- Connect to the API --"> | 2141 | <option value="" data-i18n="-- Connect to the API --"> |
| 2100 | -- Connect to the API -- | 2142 | -- Connect to the API -- |
| 2101 | </option> | 2143 | </option> |
| 2102 | </select> | 2144 | </select> |
| @@ -2114,7 +2156,7 @@ | |||
| 2114 | <div data-tg-type="infermaticai" class="flex-container flexFlowColumn"> | 2156 | <div data-tg-type="infermaticai" class="flex-container flexFlowColumn"> |
| 2115 | <h4 data-i18n="InfermaticAI API Key">InfermaticAI API Key</h4> | 2157 | <h4 data-i18n="InfermaticAI API Key">InfermaticAI API Key</h4> |
| 2116 | <div class="flex-container"> | 2158 | <div class="flex-container"> |
| 2117 | <input id="api_key_infermaticai" name="api_key_infermaticai" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 2159 | <input id="api_key_infermaticai" name="api_key_infermaticai" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2118 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_infermaticai"></div> | 2160 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_infermaticai"></div> |
| 2119 | </div> | 2161 | </div> |
| 2120 | <div data-for="api_key_infermaticai" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2162 | <div data-for="api_key_infermaticai" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2123,7 +2165,7 @@ | |||
| 2123 | <div> | 2165 | <div> |
| 2124 | <h4 data-i18n="InfermaticAI Model">InfermaticAI Model</h4> | 2166 | <h4 data-i18n="InfermaticAI Model">InfermaticAI Model</h4> |
| 2125 | <select id="model_infermaticai_select"> | 2167 | <select id="model_infermaticai_select"> |
| 2126 | <option> | 2168 | <option value="" data-i18n="-- Connect to the API --"> |
| 2127 | -- Connect to the API -- | 2169 | -- Connect to the API -- |
| 2128 | </option> | 2170 | </option> |
| 2129 | </select> | 2171 | </select> |
| @@ -2137,7 +2179,7 @@ | |||
| 2137 | </a> | 2179 | </a> |
| 2138 | </h4> | 2180 | </h4> |
| 2139 | <div class="flex-container"> | 2181 | <div class="flex-container"> |
| 2140 | <input id="api_key_dreamgen" name="api_key_dreamgen" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 2182 | <input id="api_key_dreamgen" name="api_key_dreamgen" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2141 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_dreamgen"></div> | 2183 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_dreamgen"></div> |
| 2142 | </div> | 2184 | </div> |
| 2143 | <div data-for="api_key_dreamgen" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2185 | <div data-for="api_key_dreamgen" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2146,7 +2188,7 @@ | |||
| 2146 | <div> | 2188 | <div> |
| 2147 | <h4 data-i18n="DreamGen Model">DreamGen Model</h4> | 2189 | <h4 data-i18n="DreamGen Model">DreamGen Model</h4> |
| 2148 | <select id="model_dreamgen_select"> | 2190 | <select id="model_dreamgen_select"> |
| 2149 | <option> | 2191 | <option value="" data-i18n="-- Connect to the API --"> |
| 2150 | -- Connect to the API -- | 2192 | -- Connect to the API -- |
| 2151 | </option> | 2193 | </option> |
| 2152 | </select> | 2194 | </select> |
| @@ -2162,7 +2204,7 @@ | |||
| 2162 | </a> | 2204 | </a> |
| 2163 | </h4> | 2205 | </h4> |
| 2164 | <div class="flex-container"> | 2206 | <div class="flex-container"> |
| 2165 | <input id="api_key_mancer" name="api_key_mancer" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off"> | 2207 | <input id="api_key_mancer" name="api_key_mancer" class="text_pole flex1 wide100p" type="text" autocomplete="off"> |
| 2166 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_mancer"> | 2208 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_mancer"> |
| 2167 | </div> | 2209 | </div> |
| 2168 | </div> | 2210 | </div> |
| @@ -2172,7 +2214,7 @@ | |||
| 2172 | <div class="flex1"> | 2214 | <div class="flex1"> |
| 2173 | <h4 data-i18n="Mancer Model">Mancer Model</h4> | 2215 | <h4 data-i18n="Mancer Model">Mancer Model</h4> |
| 2174 | <select id="mancer_model"> | 2216 | <select id="mancer_model"> |
| 2175 | <option data-i18n="-- Connect to the API --"> | 2217 | <option value="" data-i18n="-- Connect to the API --"> |
| 2176 | -- Connect to the API -- | 2218 | -- Connect to the API -- |
| 2177 | </option> | 2219 | </option> |
| 2178 | </select> | 2220 | </select> |
| @@ -2192,7 +2234,7 @@ | |||
| 2192 | </div> | 2234 | </div> |
| 2193 | <h4 data-i18n="API key (optional)">API key (optional)</h4> | 2235 | <h4 data-i18n="API key (optional)">API key (optional)</h4> |
| 2194 | <div class="flex-container"> | 2236 | <div class="flex-container"> |
| 2195 | <input id="api_key_ooba" name="api_key_ooba" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off"> | 2237 | <input id="api_key_ooba" name="api_key_ooba" class="text_pole flex1 wide100p" type="text" autocomplete="off"> |
| 2196 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_ooba"> | 2238 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_ooba"> |
| 2197 | </div> | 2239 | </div> |
| 2198 | </div> | 2240 | </div> |
| @@ -2202,9 +2244,9 @@ | |||
| 2202 | <div class="flex1"> | 2244 | <div class="flex1"> |
| 2203 | <h4 data-i18n="Server url">Server URL</h4> | 2245 | <h4 data-i18n="Server url">Server URL</h4> |
| 2204 | <small data-i18n="Example: 127.0.0.1:5000">Example: http://127.0.0.1:5000</small> | 2246 | <small data-i18n="Example: 127.0.0.1:5000">Example: http://127.0.0.1:5000</small> |
| 2205 | <input id="textgenerationwebui_api_url_text" name="textgenerationwebui_api_url" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-server-history="ooba_blocking"> | 2247 | <input id="textgenerationwebui_api_url_text" name="textgenerationwebui_api_url" class="text_pole wide100p" value="" autocomplete="off" data-server-history="ooba_blocking"> |
| 2206 | </div> | 2248 | </div> |
| 2207 | <input id="custom_model_textgenerationwebui" class="text_pole wide100p" maxlength="500" placeholder="Custom model (optional)" data-i18n="[placeholder]Custom model (optional)" type="text"> | 2249 | <input id="custom_model_textgenerationwebui" class="text_pole wide100p" placeholder="Custom model (optional)" data-i18n="[placeholder]Custom model (optional)" type="text"> |
| 2208 | </div> | 2250 | </div> |
| 2209 | <div data-tg-type="featherless" class="flex-container flexFlowColumn"> | 2251 | <div data-tg-type="featherless" class="flex-container flexFlowColumn"> |
| 2210 | <div class="flex-container flexFlowColumn"> | 2252 | <div class="flex-container flexFlowColumn"> |
| @@ -2214,7 +2256,7 @@ | |||
| 2214 | </div> | 2256 | </div> |
| 2215 | <h4 data-i18n="API key (optional)">API key</h4> | 2257 | <h4 data-i18n="API key (optional)">API key</h4> |
| 2216 | <div class="flex-container"> | 2258 | <div class="flex-container"> |
| 2217 | <input id="api_key_featherless" name="api_key_featherless" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off"> | 2259 | <input id="api_key_featherless" name="api_key_featherless" class="text_pole flex1 wide100p" type="text" autocomplete="off"> |
| 2218 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_featherless"> | 2260 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_featherless"> |
| 2219 | </div> | 2261 | </div> |
| 2220 | </div> | 2262 | </div> |
| @@ -2222,7 +2264,7 @@ | |||
| 2222 | For privacy reasons, your API key will be hidden after you reload the page. | 2264 | For privacy reasons, your API key will be hidden after you reload the page. |
| 2223 | </div> | 2265 | </div> |
| 2224 | <select id="featherless_model"> | 2266 | <select id="featherless_model"> |
| 2225 | <option data-i18n="-- Connect to the API --"> | 2267 | <option value="" data-i18n="-- Connect to the API --"> |
| 2226 | -- Connect to the API -- | 2268 | -- Connect to the API -- |
| 2227 | </option> | 2269 | </option> |
| 2228 | </select> | 2270 | </select> |
| @@ -2235,7 +2277,7 @@ | |||
| 2235 | </div> | 2277 | </div> |
| 2236 | <h4 data-i18n="vLLM API key">vLLM API key</h4> | 2278 | <h4 data-i18n="vLLM API key">vLLM API key</h4> |
| 2237 | <div class="flex-container"> | 2279 | <div class="flex-container"> |
| 2238 | <input id="api_key_vllm" name="api_key_vllm" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off"> | 2280 | <input id="api_key_vllm" name="api_key_vllm" class="text_pole flex1 wide100p" type="text" autocomplete="off"> |
| 2239 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_vllm"> | 2281 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_vllm"> |
| 2240 | </div> | 2282 | </div> |
| 2241 | </div> | 2283 | </div> |
| @@ -2245,12 +2287,12 @@ | |||
| 2245 | <div class="flex1"> | 2287 | <div class="flex1"> |
| 2246 | <h4 data-i18n="API url">API URL</h4> | 2288 | <h4 data-i18n="API url">API URL</h4> |
| 2247 | <small data-i18n="Example: 127.0.0.1:8000">Example: http://127.0.0.1:8000</small> | 2289 | <small data-i18n="Example: 127.0.0.1:8000">Example: http://127.0.0.1:8000</small> |
| 2248 | <input id="vllm_api_url_text" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-server-history="vllm"> | 2290 | <input id="vllm_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="vllm"> |
| 2249 | </div> | 2291 | </div> |
| 2250 | <div> | 2292 | <div> |
| 2251 | <h4 data-i18n="vLLM Model">vLLM Model</h4> | 2293 | <h4 data-i18n="vLLM Model">vLLM Model</h4> |
| 2252 | <select id="vllm_model"> | 2294 | <select id="vllm_model"> |
| 2253 | <option data-i18n="-- Connect to the API --"> | 2295 | <option value="" data-i18n="-- Connect to the API --"> |
| 2254 | -- Connect to the API -- | 2296 | -- Connect to the API -- |
| 2255 | </option> | 2297 | </option> |
| 2256 | </select> | 2298 | </select> |
| @@ -2259,7 +2301,7 @@ | |||
| 2259 | <div data-tg-type="huggingface"> | 2301 | <div data-tg-type="huggingface"> |
| 2260 | <h4 data-i18n="HuggingFace Token">HuggingFace Token</h4> | 2302 | <h4 data-i18n="HuggingFace Token">HuggingFace Token</h4> |
| 2261 | <div class="flex-container"> | 2303 | <div class="flex-container"> |
| 2262 | <input id="api_key_huggingface" name="api_key_huggingface" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off"> | 2304 | <input id="api_key_huggingface" name="api_key_huggingface" class="text_pole flex1 wide100p" type="text" autocomplete="off"> |
| 2263 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_huggingface"> | 2305 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_huggingface"> |
| 2264 | </div> | 2306 | </div> |
| 2265 | </div> | 2307 | </div> |
| @@ -2269,7 +2311,7 @@ | |||
| 2269 | <div class="flex1"> | 2311 | <div class="flex1"> |
| 2270 | <h4 data-i18n="Endpoint URL">Endpoint URL</h4> | 2312 | <h4 data-i18n="Endpoint URL">Endpoint URL</h4> |
| 2271 | <small data-i18n="Example: https://****.endpoints.huggingface.cloud">Example: https://****.endpoints.huggingface.cloud</small> | 2313 | <small data-i18n="Example: https://****.endpoints.huggingface.cloud">Example: https://****.endpoints.huggingface.cloud</small> |
| 2272 | <input id="huggingface_api_url_text" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-server-history="huggingface"> | 2314 | <input id="huggingface_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="huggingface"> |
| 2273 | </div> | 2315 | </div> |
| 2274 | </div> | 2316 | </div> |
| 2275 | 2317 | ||
| @@ -2281,7 +2323,7 @@ | |||
| 2281 | </div> | 2323 | </div> |
| 2282 | <h4 data-i18n="Aphrodite API key">Aphrodite API key</h4> | 2324 | <h4 data-i18n="Aphrodite API key">Aphrodite API key</h4> |
| 2283 | <div class="flex-container"> | 2325 | <div class="flex-container"> |
| 2284 | <input id="api_key_aphrodite" name="api_key_aphrodite" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off"> | 2326 | <input id="api_key_aphrodite" name="api_key_aphrodite" class="text_pole flex1 wide100p" type="text" autocomplete="off"> |
| 2285 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_aphrodite"> | 2327 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_aphrodite"> |
| 2286 | </div> | 2328 | </div> |
| 2287 | </div> | 2329 | </div> |
| @@ -2291,12 +2333,12 @@ | |||
| 2291 | <div class="flex1"> | 2333 | <div class="flex1"> |
| 2292 | <h4 data-i18n="API url">API URL</h4> | 2334 | <h4 data-i18n="API url">API URL</h4> |
| 2293 | <small data-i18n="Example: 127.0.0.1:5000">Example: http://127.0.0.1:5000</small> | 2335 | <small data-i18n="Example: 127.0.0.1:5000">Example: http://127.0.0.1:5000</small> |
| 2294 | <input id="aphrodite_api_url_text" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-server-history="aphrodite"> | 2336 | <input id="aphrodite_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="aphrodite"> |
| 2295 | </div> | 2337 | </div> |
| 2296 | <div> | 2338 | <div> |
| 2297 | <h4 data-i18n="Aphrodite Model">Aphrodite Model</h4> | 2339 | <h4 data-i18n="Aphrodite Model">Aphrodite Model</h4> |
| 2298 | <select id="aphrodite_model"> | 2340 | <select id="aphrodite_model"> |
| 2299 | <option data-i18n="-- Connect to the API --"> | 2341 | <option value="" data-i18n="-- Connect to the API --"> |
| 2300 | -- Connect to the API -- | 2342 | -- Connect to the API -- |
| 2301 | </option> | 2343 | </option> |
| 2302 | </select> | 2344 | </select> |
| @@ -2310,7 +2352,7 @@ | |||
| 2310 | </div> | 2352 | </div> |
| 2311 | <h4 data-i18n="API key (optional)">API key (optional)</h4> | 2353 | <h4 data-i18n="API key (optional)">API key (optional)</h4> |
| 2312 | <div class="flex-container"> | 2354 | <div class="flex-container"> |
| 2313 | <input id="api_key_llamacpp" name="api_key_llamacpp" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off"> | 2355 | <input id="api_key_llamacpp" name="api_key_llamacpp" class="text_pole flex1 wide100p" type="text" autocomplete="off"> |
| 2314 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_llamacpp"> | 2356 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_llamacpp"> |
| 2315 | </div> | 2357 | </div> |
| 2316 | </div> | 2358 | </div> |
| @@ -2320,7 +2362,7 @@ | |||
| 2320 | <div class="flex1"> | 2362 | <div class="flex1"> |
| 2321 | <h4 data-i18n="API url">API URL</h4> | 2363 | <h4 data-i18n="API url">API URL</h4> |
| 2322 | <small data-i18n="Example: 127.0.0.1:8080">Example: http://127.0.0.1:8080</small> | 2364 | <small data-i18n="Example: 127.0.0.1:8080">Example: http://127.0.0.1:8080</small> |
| 2323 | <input id="llamacpp_api_url_text" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-server-history="llamacpp"> | 2365 | <input id="llamacpp_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="llamacpp"> |
| 2324 | </div> | 2366 | </div> |
| 2325 | </div> | 2367 | </div> |
| 2326 | <div data-tg-type="ollama"> | 2368 | <div data-tg-type="ollama"> |
| @@ -2332,15 +2374,14 @@ | |||
| 2332 | <div class="flex1"> | 2374 | <div class="flex1"> |
| 2333 | <h4 data-i18n="API url">API URL</h4> | 2375 | <h4 data-i18n="API url">API URL</h4> |
| 2334 | <small data-i18n="Example: 127.0.0.1:11434">Example: http://127.0.0.1:11434</small> | 2376 | <small data-i18n="Example: 127.0.0.1:11434">Example: http://127.0.0.1:11434</small> |
| 2335 | <input id="ollama_api_url_text" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-server-history="ollama"> | 2377 | <input id="ollama_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="ollama"> |
| 2336 | </div> | 2378 | </div> |
| 2337 | <div class="flex1"> | 2379 | <div class="flex1"> |
| 2338 | <h4> | 2380 | <h4> |
| 2339 | <span data-i18n="Ollama Model">Ollama Model | 2381 | <span data-i18n="Ollama Model">Ollama Model</span> |
| 2340 | </h4> | ||
| 2341 | </h4> | 2382 | </h4> |
| 2342 | <select id="ollama_model"> | 2383 | <select id="ollama_model"> |
| 2343 | <option data-i18n="-- Connect to the API --"> | 2384 | <option value="" data-i18n="-- Connect to the API --"> |
| 2344 | -- Connect to the API -- | 2385 | -- Connect to the API -- |
| 2345 | </option> | 2386 | </option> |
| 2346 | </select> | 2387 | </select> |
| @@ -2358,7 +2399,7 @@ | |||
| 2358 | </div> | 2399 | </div> |
| 2359 | <h4 data-i18n="Tabby API key">Tabby API key</h4> | 2400 | <h4 data-i18n="Tabby API key">Tabby API key</h4> |
| 2360 | <div class="flex-container"> | 2401 | <div class="flex-container"> |
| 2361 | <input id="api_key_tabby" name="api_key_tabby" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off"> | 2402 | <input id="api_key_tabby" name="api_key_tabby" class="text_pole flex1 wide100p" type="text" autocomplete="off"> |
| 2362 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_tabby"> | 2403 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_tabby"> |
| 2363 | </div> | 2404 | </div> |
| 2364 | </div> | 2405 | </div> |
| @@ -2368,13 +2409,34 @@ | |||
| 2368 | <div class="flex1"> | 2409 | <div class="flex1"> |
| 2369 | <h4 data-i18n="API url">API URL</h4> | 2410 | <h4 data-i18n="API url">API URL</h4> |
| 2370 | <small data-i18n="Example: 127.0.0.1:5000">Example: http://127.0.0.1:5000</small> | 2411 | <small data-i18n="Example: 127.0.0.1:5000">Example: http://127.0.0.1:5000</small> |
| 2371 | <input id="tabby_api_url_text" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-server-history="tabby"> | 2412 | <input id="tabby_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="tabby"> |
| 2372 | </div> | 2413 | </div> |
| 2373 | <div class="flex1"> | 2414 | <div class="flex1"> |
| 2374 | <h4> | 2415 | <h4> |
| 2375 | <span data-i18n="Tabby Model">Tabby Model</span> | 2416 | <span data-i18n="Tabby Model">Tabby Model</span> |
| 2376 | </h4> | 2417 | </h4> |
| 2377 | </h4> | 2418 | <select id="tabby_model"> |
| 2419 | <option value="" data-i18n="-- Connect to the API --"> | ||
| 2420 | -- Connect to the API -- | ||
| 2421 | </option> | ||
| 2422 | </select> | ||
| 2423 | <div class="marginTopBot5"> | ||
| 2424 | <i class="fa-solid fa-flask"></i> | ||
| 2425 | <span>Experimental feature. Use at your own risk.</span> | ||
| 2426 | </div> | ||
| 2427 | <div class="marginTopBot5"> | ||
| 2428 | <small> | ||
| 2429 | <i class="fa-solid fa-lightbulb"></i> | ||
| 2430 | | ||
| 2431 | <code>inline_model_loading: True</code> | ||
| 2432 | <span data-i18n="must be set in Tabby's config.yml to switch models."> | ||
| 2433 | must be set in Tabby's config.yml to switch models. | ||
| 2434 | </span> | ||
| 2435 | <b data-i18n="Use an admin API key."> | ||
| 2436 | Use an admin API key. | ||
| 2437 | </b> | ||
| 2438 | </small> | ||
| 2439 | </div> | ||
| 2378 | <div id="tabby_download_model" class="menu_button menu_button_icon"> | 2440 | <div id="tabby_download_model" class="menu_button menu_button_icon"> |
| 2379 | <i class="fa-solid fa-download"></i> | 2441 | <i class="fa-solid fa-download"></i> |
| 2380 | <span data-i18n="Download">Download</span> | 2442 | <span data-i18n="Download">Download</span> |
| @@ -2389,7 +2451,7 @@ | |||
| 2389 | </div> | 2451 | </div> |
| 2390 | <h4 data-i18n="koboldcpp API key (optional)">koboldcpp API key (optional)</h4> | 2452 | <h4 data-i18n="koboldcpp API key (optional)">koboldcpp API key (optional)</h4> |
| 2391 | <div class="flex-container"> | 2453 | <div class="flex-container"> |
| 2392 | <input id="api_key_koboldcpp" name="api_key_koboldcpp" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off"> | 2454 | <input id="api_key_koboldcpp" name="api_key_koboldcpp" class="text_pole flex1 wide100p" type="text" autocomplete="off"> |
| 2393 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_koboldcpp"> | 2455 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_koboldcpp"> |
| 2394 | </div> | 2456 | </div> |
| 2395 | </div> | 2457 | </div> |
| @@ -2399,15 +2461,15 @@ | |||
| 2399 | <div class="flex1"> | 2461 | <div class="flex1"> |
| 2400 | <h4 data-i18n="API url">API URL</h4> | 2462 | <h4 data-i18n="API url">API URL</h4> |
| 2401 | <small data-i18n="Example: 127.0.0.1:5001">Example: http://127.0.0.1:5001</small> | 2463 | <small data-i18n="Example: 127.0.0.1:5001">Example: http://127.0.0.1:5001</small> |
| 2402 | <input id="koboldcpp_api_url_text" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-server-history="koboldcpp"> | 2464 | <input id="koboldcpp_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-server-history="koboldcpp"> |
| 2403 | </div> | 2465 | </div> |
| 2404 | </div> | 2466 | </div> |
| 2405 | <div class="flex-container"> | 2467 | <div class="flex-container"> |
| 2406 | <div id="api_button_textgenerationwebui" class="api_button menu_button" type="submit" data-i18n="Connect" data-server-connect="ooba_blocking,vllm,aphrodite,tabby,koboldcpp,ollama,llamacpp,huggingface">Connect</div> | 2468 | <div id="api_button_textgenerationwebui" class="api_button menu_button menu_button_icon" type="submit" data-i18n="Connect" data-server-connect="ooba_blocking,vllm,aphrodite,tabby,koboldcpp,ollama,llamacpp,huggingface">Connect</div> |
| 2407 | <div data-tg-type="openrouter" class="menu_button menu_button_icon openrouter_authorize" title="Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai" data-i18n="Authorize;[title]Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai">Authorize</div> | 2469 | <div data-tg-type="openrouter" class="menu_button menu_button_icon openrouter_authorize" title="Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai" data-i18n="Authorize;[title]Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai">Authorize</div> |
| 2408 | <div class="api_loading menu_button" data-i18n="Cancel">Cancel</div> | 2470 | <div class="api_loading menu_button menu_button_icon" data-i18n="Cancel">Cancel</div> |
| 2409 | </div> | 2471 | </div> |
| 2410 | <label data-tg-type="ooba,aphrodite" class="checkbox_label margin-bot-10px" for="legacy_api_textgenerationwebui"> | 2472 | <label data-tg-type="ooba" class="checkbox_label margin-bot-10px" for="legacy_api_textgenerationwebui"> |
| 2411 | <input type="checkbox" id="legacy_api_textgenerationwebui" /> | 2473 | <input type="checkbox" id="legacy_api_textgenerationwebui" /> |
| 2412 | <span data-i18n="Legacy API (pre-OAI, no streaming)">Legacy API (pre-OAI, no streaming)</span> | 2474 | <span data-i18n="Legacy API (pre-OAI, no streaming)">Legacy API (pre-OAI, no streaming)</span> |
| 2413 | </label> | 2475 | </label> |
| @@ -2445,7 +2507,7 @@ | |||
| 2445 | <option value="windowai">Window AI</option> | 2507 | <option value="windowai">Window AI</option> |
| 2446 | </optgroup> | 2508 | </optgroup> |
| 2447 | </select> | 2509 | </select> |
| 2448 | <div data-newbie-hidden class="inline-drawer wide100p" data-source="openai,claude,mistralai,makersuite"> | 2510 | <div class="inline-drawer wide100p" data-source="openai,claude,mistralai,makersuite"> |
| 2449 | <div class="inline-drawer-toggle inline-drawer-header"> | 2511 | <div class="inline-drawer-toggle inline-drawer-header"> |
| 2450 | <b data-i18n="Reverse Proxy">Reverse Proxy</b> | 2512 | <b data-i18n="Reverse Proxy">Reverse Proxy</b> |
| 2451 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> | 2513 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| @@ -2474,7 +2536,7 @@ | |||
| 2474 | </span> | 2536 | </span> |
| 2475 | </div> | 2537 | </div> |
| 2476 | <div class="wide100p"> | 2538 | <div class="wide100p"> |
| 2477 | <input id="openai_reverse_proxy_name" type="text" class="text_pole" placeholder="..." maxlength="100" /> | 2539 | <input id="openai_reverse_proxy_name" type="text" class="text_pole" placeholder="..." /> |
| 2478 | </div> | 2540 | </div> |
| 2479 | <div class="range-block-title justifyLeft" data-i18n="Proxy Server URL"> | 2541 | <div class="range-block-title justifyLeft" data-i18n="Proxy Server URL"> |
| 2480 | Proxy Server URL | 2542 | Proxy Server URL |
| @@ -2485,7 +2547,7 @@ | |||
| 2485 | </span> | 2547 | </span> |
| 2486 | </div> | 2548 | </div> |
| 2487 | <div class="wide100p"> | 2549 | <div class="wide100p"> |
| 2488 | <input id="openai_reverse_proxy" type="text" class="text_pole" placeholder="https://api.openai.com/v1" maxlength="5000" /> | 2550 | <input id="openai_reverse_proxy" type="text" class="text_pole" placeholder="https://api.openai.com/v1" /> |
| 2489 | <small class="reverse_proxy_warning"> | 2551 | <small class="reverse_proxy_warning"> |
| 2490 | <span data-i18n="Doesn't work? Try adding">Doesn't work? Try adding</span> <code>/v1</code> <span data-i18n="at the end!">at the end!</span> | 2552 | <span data-i18n="Doesn't work? Try adding">Doesn't work? Try adding</span> <code>/v1</code> <span data-i18n="at the end!">at the end!</span> |
| 2491 | </small> | 2553 | </small> |
| @@ -2499,7 +2561,7 @@ | |||
| 2499 | </span> | 2561 | </span> |
| 2500 | </div> | 2562 | </div> |
| 2501 | <div class="flex-container width100p"> | 2563 | <div class="flex-container width100p"> |
| 2502 | <input id="openai_proxy_password" type="password" class="text_pole flex1" placeholder="" maxlength="5000" form="openai_form" autocomplete="off" /> | 2564 | <input id="openai_proxy_password" type="password" class="text_pole flex1" placeholder="" form="openai_form" autocomplete="off" /> |
| 2503 | <div id="openai_proxy_password_show" title="Peek a password" data-i18n="[title]Peek a password" class="menu_button fa-solid fa-eye-slash fa-fw"></div> | 2565 | <div id="openai_proxy_password_show" title="Peek a password" data-i18n="[title]Peek a password" class="menu_button fa-solid fa-eye-slash fa-fw"></div> |
| 2504 | </div> | 2566 | </div> |
| 2505 | </div> | 2567 | </div> |
| @@ -2540,7 +2602,7 @@ | |||
| 2540 | </ol> | 2602 | </ol> |
| 2541 | </span> | 2603 | </span> |
| 2542 | <div class="flex-container"> | 2604 | <div class="flex-container"> |
| 2543 | <input id="api_key_openai" name="api_key_openai" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 2605 | <input id="api_key_openai" name="api_key_openai" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2544 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_openai"></div> | 2606 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_openai"></div> |
| 2545 | </div> | 2607 | </div> |
| 2546 | <div id="ReverseProxyWarningMessage2" class="reverse_proxy_warning"> | 2608 | <div id="ReverseProxyWarningMessage2" class="reverse_proxy_warning"> |
| @@ -2593,6 +2655,10 @@ | |||
| 2593 | <option value="gpt-4-0125-preview">gpt-4-0125-preview (2024)</option> | 2655 | <option value="gpt-4-0125-preview">gpt-4-0125-preview (2024)</option> |
| 2594 | <option value="gpt-4-1106-preview">gpt-4-1106-preview (2023)</option> | 2656 | <option value="gpt-4-1106-preview">gpt-4-1106-preview (2023)</option> |
| 2595 | </optgroup> | 2657 | </optgroup> |
| 2658 | <optgroup label="o1"> | ||
| 2659 | <option value="o1-preview">o1-preview</option> | ||
| 2660 | <option value="o1-mini">o1-mini</option> | ||
| 2661 | </optgroup> | ||
| 2596 | <optgroup label="Other"> | 2662 | <optgroup label="Other"> |
| 2597 | <option value="text-davinci-003">text-davinci-003</option> | 2663 | <option value="text-davinci-003">text-davinci-003</option> |
| 2598 | <option value="text-davinci-002">text-davinci-002</option> | 2664 | <option value="text-davinci-002">text-davinci-002</option> |
| @@ -2625,7 +2691,7 @@ | |||
| 2625 | </b> | 2691 | </b> |
| 2626 | </div> | 2692 | </div> |
| 2627 | <div class="flex-container"> | 2693 | <div class="flex-container"> |
| 2628 | <input id="api_key_claude" name="api_key_claude" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 2694 | <input id="api_key_claude" name="api_key_claude" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2629 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_claude"></div> | 2695 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_claude"></div> |
| 2630 | </div> | 2696 | </div> |
| 2631 | <div data-for="api_key_claude" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2697 | <div data-for="api_key_claude" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2677,7 +2743,7 @@ | |||
| 2677 | <a href="https://openrouter.ai/account" target="_blank" data-i18n="View Remaining Credits">View Remaining Credits</a> | 2743 | <a href="https://openrouter.ai/account" target="_blank" data-i18n="View Remaining Credits">View Remaining Credits</a> |
| 2678 | </div> | 2744 | </div> |
| 2679 | <div class="flex-container"> | 2745 | <div class="flex-container"> |
| 2680 | <input id="api_key_openrouter" name="api_key_openrouter" class="text_pole flex1 api_key_openrouter" maxlength="500" value="" type="text" autocomplete="off"> | 2746 | <input id="api_key_openrouter" name="api_key_openrouter" class="text_pole flex1 api_key_openrouter" value="" type="text" autocomplete="off"> |
| 2681 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_openrouter"></div> | 2747 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_openrouter"></div> |
| 2682 | </div> | 2748 | </div> |
| 2683 | <div data-for="api_key_openrouter" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2749 | <div data-for="api_key_openrouter" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2686,7 +2752,7 @@ | |||
| 2686 | <div> | 2752 | <div> |
| 2687 | <h4 data-i18n="OpenRouter Model">OpenRouter Model</h4> | 2753 | <h4 data-i18n="OpenRouter Model">OpenRouter Model</h4> |
| 2688 | <select id="model_openrouter_select"> | 2754 | <select id="model_openrouter_select"> |
| 2689 | <option data-i18n="-- Connect to the API --">-- Connect to the API --</option> | 2755 | <option value="" data-i18n="-- Connect to the API --">-- Connect to the API --</option> |
| 2690 | </select> | 2756 | </select> |
| 2691 | </div> | 2757 | </div> |
| 2692 | <label for="openrouter_use_fallback" class="checkbox_label marginTopBot5" data-i18n="[title]Allow fallback routes Description" title="Automatically chooses an alternative model if the chosen model can't serve your request."> | 2758 | <label for="openrouter_use_fallback" class="checkbox_label marginTopBot5" data-i18n="[title]Allow fallback routes Description" title="Automatically chooses an alternative model if the chosen model can't serve your request."> |
| @@ -2732,40 +2798,28 @@ | |||
| 2732 | <span data-i18n="Allow fallback providers">Allow fallback providers</span> | 2798 | <span data-i18n="Allow fallback providers">Allow fallback providers</span> |
| 2733 | </label> | 2799 | </label> |
| 2734 | </div> | 2800 | </div> |
| 2735 | <div class="marginTopBot5"> | 2801 | <small class="marginTopBot5"> |
| 2736 | <label for="openrouter_force_instruct" class="checkbox_label"> | 2802 | <i class="fa-solid fa-lightbulb"></i> |
| 2737 | <input id="openrouter_force_instruct" type="checkbox" /> | 2803 | <span>To use instruct formatting, switch to OpenRouter under Text Completion API.</span> |
| 2738 | <span class="flex-container alignItemsBaseline" title="This option is outdated and will be removed in the future. To use instruct formatting, please switch to OpenRouter under Text Completion API instead." data-i18n="[title]openrouter_force_instruct"> | 2804 | </small> |
| 2739 | <i class="fa-solid fa-circle-exclamation neutral_warning"></i> | ||
| 2740 | <b data-i18n="LEGACY">LEGACY</b> | ||
| 2741 | </span> | ||
| 2742 | <span data-i18n="Force Instruct Mode formatting">Force Instruct Mode formatting</span> | ||
| 2743 | </label> | ||
| 2744 | <div class="toggle-description justifyLeft wide100p"> | ||
| 2745 | <span data-i18n="Force_Instruct_Mode_formatting_Description"> | ||
| 2746 | If both Instruct Mode and this are enabled, the prompt will be formatted by SillyTavern using the current | ||
| 2747 | advanced formatting settings (except instruct System Prompt). If disabled, the prompt will be formatted by OpenRouter. | ||
| 2748 | </span> | ||
| 2749 | </div> | ||
| 2750 | </div> | ||
| 2751 | </form> | 2805 | </form> |
| 2752 | <form id="scale_form" data-source="scale" action="javascript:void(null);" method="post" enctype="multipart/form-data"> | 2806 | <form id="scale_form" data-source="scale" action="javascript:void(null);" method="post" enctype="multipart/form-data"> |
| 2753 | <div id="normal_scale_form"> | 2807 | <div id="normal_scale_form"> |
| 2754 | <h4 data-i18n="Scale API Key">Scale API Key</h4> | 2808 | <h4 data-i18n="Scale API Key">Scale API Key</h4> |
| 2755 | <div class="flex-container"> | 2809 | <div class="flex-container"> |
| 2756 | <input id="api_key_scale" name="api_key_scale" class="text_pole flex1" maxlength="500" value="" autocomplete="off"> | 2810 | <input id="api_key_scale" name="api_key_scale" class="text_pole flex1" value="" autocomplete="off"> |
| 2757 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_scale"></div> | 2811 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_scale"></div> |
| 2758 | </div> | 2812 | </div> |
| 2759 | <div data-for="api_key_scale" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2813 | <div data-for="api_key_scale" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| 2760 | For privacy reasons, your API key will be hidden after you reload the page. | 2814 | For privacy reasons, your API key will be hidden after you reload the page. |
| 2761 | </div> | 2815 | </div> |
| 2762 | <h4>Scale API URL</h4> | 2816 | <h4>Scale API URL</h4> |
| 2763 | <input id="api_url_scale" name="api_url_scale" class="text_pole" maxlength="500" value="" autocomplete="off" placeholder="https://dashboard.scale.com/spellbook/api/v2/deploy/xxxxxxx"> | 2817 | <input id="api_url_scale" name="api_url_scale" class="text_pole" value="" autocomplete="off" placeholder="https://dashboard.scale.com/spellbook/api/v2/deploy/xxxxxxx"> |
| 2764 | </div> | 2818 | </div> |
| 2765 | <div id="alt_scale_form"> | 2819 | <div id="alt_scale_form"> |
| 2766 | <h4>Scale Cookie (_jwt)</h4> | 2820 | <h4>Scale Cookie (_jwt)</h4> |
| 2767 | <div class="flex-container"> | 2821 | <div class="flex-container"> |
| 2768 | <input id="scale_cookie" name="scale_cookie" class="text_pole flex1" maxlength="500" value="" autocomplete="off"> | 2822 | <input id="scale_cookie" name="scale_cookie" class="text_pole flex1" value="" autocomplete="off"> |
| 2769 | <div title="Clear your cookie" data-i18n="[title]Clear your cookie" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="scale_cookie"></div> | 2823 | <div title="Clear your cookie" data-i18n="[title]Clear your cookie" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="scale_cookie"></div> |
| 2770 | </div> | 2824 | </div> |
| 2771 | <div data-for="scale_cookie" class="neutral_warning"> | 2825 | <div data-for="scale_cookie" class="neutral_warning"> |
| @@ -2782,7 +2836,7 @@ | |||
| 2782 | <form id="ai21_form" data-source="ai21" action="javascript:void(null);" method="post" enctype="multipart/form-data"> | 2836 | <form id="ai21_form" data-source="ai21" action="javascript:void(null);" method="post" enctype="multipart/form-data"> |
| 2783 | <h4 data-i18n="AI21 API Key">AI21 API Key</h4> | 2837 | <h4 data-i18n="AI21 API Key">AI21 API Key</h4> |
| 2784 | <div class="flex-container"> | 2838 | <div class="flex-container"> |
| 2785 | <input id="api_key_ai21" name="api_key_ai21" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 2839 | <input id="api_key_ai21" name="api_key_ai21" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2786 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_ai21"></div> | 2840 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_ai21"></div> |
| 2787 | </div> | 2841 | </div> |
| 2788 | <div data-for="api_key_ai21" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2842 | <div data-for="api_key_ai21" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2791,10 +2845,12 @@ | |||
| 2791 | <div> | 2845 | <div> |
| 2792 | <h4 data-i18n="AI21 Model">AI21 Model</h4> | 2846 | <h4 data-i18n="AI21 Model">AI21 Model</h4> |
| 2793 | <select id="model_ai21_select"> | 2847 | <select id="model_ai21_select"> |
| 2794 | <optgroup label="Latest"> | 2848 | <optgroup label="Jamba 1.5"> |
| 2795 | <option value="j2-ultra">j2-ultra</option> | 2849 | <option value="jamba-1.5-mini">jamba-1.5-mini</option> |
| 2796 | <option value="j2-mid">j2-mid</option> | 2850 | <option value="jamba-1.5-large">jamba-1.5-large</option> |
| 2797 | <option value="j2-light">j2-light</option> | 2851 | </optgroup> |
| 2852 | <optgroup label="Jamba-Instruct (Deprecated)"> | ||
| 2853 | <option value="jamba-instruct-preview">jamba-instruct-preview</option> | ||
| 2798 | </optgroup> | 2854 | </optgroup> |
| 2799 | </select> | 2855 | </select> |
| 2800 | </div> | 2856 | </div> |
| @@ -2802,7 +2858,7 @@ | |||
| 2802 | <form id="makersuite_form" data-source="makersuite" action="javascript:void(null);" method="post" enctype="multipart/form-data"> | 2858 | <form id="makersuite_form" data-source="makersuite" action="javascript:void(null);" method="post" enctype="multipart/form-data"> |
| 2803 | <h4 data-i18n="Google AI Studio API Key">Google AI Studio API Key</h4> | 2859 | <h4 data-i18n="Google AI Studio API Key">Google AI Studio API Key</h4> |
| 2804 | <div class="flex-container"> | 2860 | <div class="flex-container"> |
| 2805 | <input id="api_key_makersuite" name="api_key_makersuite" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 2861 | <input id="api_key_makersuite" name="api_key_makersuite" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2806 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_makersuite"></div> | 2862 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_makersuite"></div> |
| 2807 | </div> | 2863 | </div> |
| 2808 | <div data-for="api_key_makersuite" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2864 | <div data-for="api_key_makersuite" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2824,10 +2880,16 @@ | |||
| 2824 | </optgroup> | 2880 | </optgroup> |
| 2825 | <optgroup label="Subversions"> | 2881 | <optgroup label="Subversions"> |
| 2826 | <option value="gemini-1.5-pro-exp-0801">Gemini 1.5 Pro Experiment 2024-08-01</option> | 2882 | <option value="gemini-1.5-pro-exp-0801">Gemini 1.5 Pro Experiment 2024-08-01</option> |
| 2883 | <option value="gemini-1.5-pro-exp-0827">Gemini 1.5 Pro Experiment 2024-08-27</option> | ||
| 2827 | <option value="gemini-1.5-pro-latest">Gemini 1.5 Pro [latest]</option> | 2884 | <option value="gemini-1.5-pro-latest">Gemini 1.5 Pro [latest]</option> |
| 2828 | <option value="gemini-1.5-pro-001">Gemini 1.5 Pro [001]</option> | 2885 | <option value="gemini-1.5-pro-001">Gemini 1.5 Pro [001]</option> |
| 2886 | <option value="gemini-1.5-pro-002">Gemini 1.5 Pro [002]</option> | ||
| 2887 | <option value="gemini-1.5-flash-exp-0827">Gemini 1.5 Flash Experiment 2024-08-27</option> | ||
| 2888 | <option value="gemini-1.5-flash-8b-exp-0827">Gemini 1.5 Flash 8B Experiment 2024-08-27</option> | ||
| 2889 | <option value="gemini-1.5-flash-8b-exp-0924">Gemini 1.5 Flash 8B Experiment 2024-09-24</option> | ||
| 2829 | <option value="gemini-1.5-flash-latest">Gemini 1.5 Flash [latest]</option> | 2890 | <option value="gemini-1.5-flash-latest">Gemini 1.5 Flash [latest]</option> |
| 2830 | <option value="gemini-1.5-flash-001">Gemini 1.5 Flash [001]</option> | 2891 | <option value="gemini-1.5-flash-001">Gemini 1.5 Flash [001]</option> |
| 2892 | <option value="gemini-1.5-flash-002">Gemini 1.5 Flash [002]</option> | ||
| 2831 | <option value="gemini-1.0-pro-latest">Gemini 1.0 Pro [latest]</option> | 2893 | <option value="gemini-1.0-pro-latest">Gemini 1.0 Pro [latest]</option> |
| 2832 | <option value="gemini-1.0-pro-001">Gemini 1.0 Pro (Tuning) [001]</option> | 2894 | <option value="gemini-1.0-pro-001">Gemini 1.0 Pro (Tuning) [001]</option> |
| 2833 | <option value="gemini-1.0-pro-vision-latest">Gemini 1.0 Pro Vision [latest]</option> | 2895 | <option value="gemini-1.0-pro-vision-latest">Gemini 1.0 Pro Vision [latest]</option> |
| @@ -2838,7 +2900,7 @@ | |||
| 2838 | <form id="mistralai_form" data-source="mistralai" action="javascript:void(null);" method="post" enctype="multipart/form-data"> | 2900 | <form id="mistralai_form" data-source="mistralai" action="javascript:void(null);" method="post" enctype="multipart/form-data"> |
| 2839 | <h4 data-i18n="MistralAI API Key">MistralAI API Key</h4> | 2901 | <h4 data-i18n="MistralAI API Key">MistralAI API Key</h4> |
| 2840 | <div class="flex-container"> | 2902 | <div class="flex-container"> |
| 2841 | <input id="api_key_mistralai" name="api_key_mistralai" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 2903 | <input id="api_key_mistralai" name="api_key_mistralai" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2842 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_mistralai"></div> | 2904 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_mistralai"></div> |
| 2843 | </div> | 2905 | </div> |
| 2844 | <div data-for="api_key_mistralai" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2906 | <div data-for="api_key_mistralai" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2858,6 +2920,7 @@ | |||
| 2858 | <option value="mistral-large-latest">mistral-large-latest</option> | 2920 | <option value="mistral-large-latest">mistral-large-latest</option> |
| 2859 | <option value="codestral-latest">codestral-latest</option> | 2921 | <option value="codestral-latest">codestral-latest</option> |
| 2860 | <option value="codestral-mamba-latest">codestral-mamba-latest</option> | 2922 | <option value="codestral-mamba-latest">codestral-mamba-latest</option> |
| 2923 | <option value="pixtral-latest">pixtral-latest</option> | ||
| 2861 | </optgroup> | 2924 | </optgroup> |
| 2862 | <optgroup label="Sub-versions"> | 2925 | <optgroup label="Sub-versions"> |
| 2863 | <option value="open-mistral-nemo-2407">open-mistral-nemo-2407</option> | 2926 | <option value="open-mistral-nemo-2407">open-mistral-nemo-2407</option> |
| @@ -2865,11 +2928,13 @@ | |||
| 2865 | <option value="mistral-tiny-2312">mistral-tiny-2312</option> | 2928 | <option value="mistral-tiny-2312">mistral-tiny-2312</option> |
| 2866 | <option value="mistral-small-2312">mistral-small-2312</option> | 2929 | <option value="mistral-small-2312">mistral-small-2312</option> |
| 2867 | <option value="mistral-small-2402">mistral-small-2402</option> | 2930 | <option value="mistral-small-2402">mistral-small-2402</option> |
| 2931 | <option value="mistral-small-2409">mistral-small-2409</option> | ||
| 2868 | <option value="mistral-medium-2312">mistral-medium-2312</option> | 2932 | <option value="mistral-medium-2312">mistral-medium-2312</option> |
| 2869 | <option value="mistral-large-2402">mistral-large-2402</option> | 2933 | <option value="mistral-large-2402">mistral-large-2402</option> |
| 2870 | <option value="mistral-large-2407">mistral-large-2407</option> | 2934 | <option value="mistral-large-2407">mistral-large-2407</option> |
| 2871 | <option value="codestral-2405">codestral-2405</option> | 2935 | <option value="codestral-2405">codestral-2405</option> |
| 2872 | <option value="codestral-mamba-2407">codestral-mamba-2407</option> | 2936 | <option value="codestral-mamba-2407">codestral-mamba-2407</option> |
| 2937 | <option value="pixtral-12b-2409">pixtral-12b-2409</option> | ||
| 2873 | </optgroup> | 2938 | </optgroup> |
| 2874 | </select> | 2939 | </select> |
| 2875 | </div> | 2940 | </div> |
| @@ -2877,7 +2942,7 @@ | |||
| 2877 | <div id="groq_form" data-source="groq"> | 2942 | <div id="groq_form" data-source="groq"> |
| 2878 | <h4 data-i18n="Groq API Key">Groq API Key</h4> | 2943 | <h4 data-i18n="Groq API Key">Groq API Key</h4> |
| 2879 | <div class="flex-container"> | 2944 | <div class="flex-container"> |
| 2880 | <input id="api_key_groq" name="api_key_groq" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 2945 | <input id="api_key_groq" name="api_key_groq" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2881 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_groq"></div> | 2946 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_groq"></div> |
| 2882 | </div> | 2947 | </div> |
| 2883 | <div data-for="api_key_groq" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2948 | <div data-for="api_key_groq" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2900,7 +2965,7 @@ | |||
| 2900 | <div id="perplexity_form" data-source="perplexity"> | 2965 | <div id="perplexity_form" data-source="perplexity"> |
| 2901 | <h4 data-i18n="Perplexity API Key">Perplexity API Key</h4> | 2966 | <h4 data-i18n="Perplexity API Key">Perplexity API Key</h4> |
| 2902 | <div class="flex-container"> | 2967 | <div class="flex-container"> |
| 2903 | <input id="api_key_perplexity" name="api_key_perplexity" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 2968 | <input id="api_key_perplexity" name="api_key_perplexity" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2904 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_perplexity"></div> | 2969 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_perplexity"></div> |
| 2905 | </div> | 2970 | </div> |
| 2906 | <div data-for="api_key_perplexity" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 2971 | <div data-for="api_key_perplexity" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2940,7 +3005,7 @@ | |||
| 2940 | <form id="cohere_form" data-source="cohere" action="javascript:void(null);" method="post" enctype="multipart/form-data"> | 3005 | <form id="cohere_form" data-source="cohere" action="javascript:void(null);" method="post" enctype="multipart/form-data"> |
| 2941 | <h4 data-i18n="Cohere API Key">Cohere API Key</h4> | 3006 | <h4 data-i18n="Cohere API Key">Cohere API Key</h4> |
| 2942 | <div class="flex-container"> | 3007 | <div class="flex-container"> |
| 2943 | <input id="api_key_cohere" name="api_key_cohere" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 3008 | <input id="api_key_cohere" name="api_key_cohere" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2944 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_cohere"></div> | 3009 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_cohere"></div> |
| 2945 | </div> | 3010 | </div> |
| 2946 | <div data-for="api_key_cohere" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 3011 | <div data-for="api_key_cohere" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2950,11 +3015,14 @@ | |||
| 2950 | <h4 data-i18n="Cohere Model">Cohere Model</h4> | 3015 | <h4 data-i18n="Cohere Model">Cohere Model</h4> |
| 2951 | <select id="model_cohere_select"> | 3016 | <select id="model_cohere_select"> |
| 2952 | <optgroup label="Stable"> | 3017 | <optgroup label="Stable"> |
| 2953 | <option value="c4ai-aya-23">c4ai-aya-23</option> | 3018 | <option value="c4ai-aya-23-35b">c4ai-aya-23-35b</option> |
| 3019 | <option value="c4ai-aya-23-8b">c4ai-aya-23-8b</option> | ||
| 2954 | <option value="command-light">command-light</option> | 3020 | <option value="command-light">command-light</option> |
| 2955 | <option value="command">command</option> | 3021 | <option value="command">command</option> |
| 2956 | <option value="command-r">command-r</option> | 3022 | <option value="command-r">command-r</option> |
| 2957 | <option value="command-r-plus">command-r-plus</option> | 3023 | <option value="command-r-plus">command-r-plus</option> |
| 3024 | <option value="command-r-08-2024">command-r-08-2024</option> | ||
| 3025 | <option value="command-r-plus-08-2024">command-r-plus-08-2024</option> | ||
| 2958 | </optgroup> | 3026 | </optgroup> |
| 2959 | <optgroup label="Nightly"> | 3027 | <optgroup label="Nightly"> |
| 2960 | <option value="command-light-nightly">command-light-nightly</option> | 3028 | <option value="command-light-nightly">command-light-nightly</option> |
| @@ -2966,7 +3034,7 @@ | |||
| 2966 | <form id="blockentropy_form" data-source="blockentropy"> | 3034 | <form id="blockentropy_form" data-source="blockentropy"> |
| 2967 | <h4 data-i18n="Block Entropy API Key">Block Entropy API Key</h4> | 3035 | <h4 data-i18n="Block Entropy API Key">Block Entropy API Key</h4> |
| 2968 | <div class="flex-container"> | 3036 | <div class="flex-container"> |
| 2969 | <input id="api_key_blockentropy" name="api_key_blockentropy" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 3037 | <input id="api_key_blockentropy" name="api_key_blockentropy" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2970 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_blockentropy"></div> | 3038 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_blockentropy"></div> |
| 2971 | </div> | 3039 | </div> |
| 2972 | <div data-for="api_key_blockentropy" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 3040 | <div data-for="api_key_blockentropy" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -2980,7 +3048,7 @@ | |||
| 2980 | <form id="custom_form" data-source="custom"> | 3048 | <form id="custom_form" data-source="custom"> |
| 2981 | <h4 data-i18n="Custom Endpoint (Base URL)">Custom Endpoint (Base URL)</h4> | 3049 | <h4 data-i18n="Custom Endpoint (Base URL)">Custom Endpoint (Base URL)</h4> |
| 2982 | <div class="flex-container"> | 3050 | <div class="flex-container"> |
| 2983 | <input id="custom_api_url_text" class="text_pole wide100p" maxlength="5000" value="" autocomplete="off" data-i18n="[placeholder]Example: http://localhost:1234/v1" placeholder="Example: http://localhost:1234/v1"> | 3051 | <input id="custom_api_url_text" class="text_pole wide100p" value="" autocomplete="off" data-i18n="[placeholder]Example: http://localhost:1234/v1" placeholder="Example: http://localhost:1234/v1"> |
| 2984 | </div> | 3052 | </div> |
| 2985 | <div> | 3053 | <div> |
| 2986 | <small> | 3054 | <small> |
| @@ -2992,7 +3060,7 @@ | |||
| 2992 | <small data-i18n="(Optional)">(Optional)</small> | 3060 | <small data-i18n="(Optional)">(Optional)</small> |
| 2993 | </h4> | 3061 | </h4> |
| 2994 | <div class="flex-container"> | 3062 | <div class="flex-container"> |
| 2995 | <input id="api_key_custom" name="api_key_custom" class="text_pole flex1" maxlength="5000" value="" type="text" autocomplete="off"> | 3063 | <input id="api_key_custom" name="api_key_custom" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 2996 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_custom"></div> | 3064 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_custom"></div> |
| 2997 | </div> | 3065 | </div> |
| 2998 | <div data-for="api_key_custom" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 3066 | <div data-for="api_key_custom" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -3000,7 +3068,7 @@ | |||
| 3000 | </div> | 3068 | </div> |
| 3001 | <h4 data-i18n="Enter a Model ID">Enter a Model ID</h4> | 3069 | <h4 data-i18n="Enter a Model ID">Enter a Model ID</h4> |
| 3002 | <div class="flex-container"> | 3070 | <div class="flex-container"> |
| 3003 | <input list="model_custom_select_fill" id="custom_model_id" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-i18n="[placeholder]Example: gpt-3.5-turbo" placeholder="Example: gpt-3.5-turbo"> | 3071 | <input list="model_custom_select_fill" id="custom_model_id" class="text_pole wide100p" value="" autocomplete="off" data-i18n="[placeholder]Example: gpt-3.5-turbo" placeholder="Example: gpt-3.5-turbo"> |
| 3004 | <datalist id="model_custom_select_fill" class="text_pole model_custom_select"></datalist> | 3072 | <datalist id="model_custom_select_fill" class="text_pole model_custom_select"></datalist> |
| 3005 | </div> | 3073 | </div> |
| 3006 | <h4 data-i18n="Available Models">Available Models</h4> | 3074 | <h4 data-i18n="Available Models">Available Models</h4> |
| @@ -3020,7 +3088,7 @@ | |||
| 3020 | </a> | 3088 | </a> |
| 3021 | </h4> | 3089 | </h4> |
| 3022 | <div class="flex-container"> | 3090 | <div class="flex-container"> |
| 3023 | <input id="api_key_01ai" name="api_key_01ai" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off"> | 3091 | <input id="api_key_01ai" name="api_key_01ai" class="text_pole flex1" value="" type="text" autocomplete="off"> |
| 3024 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_01ai"></div> | 3092 | <div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_01ai"></div> |
| 3025 | </div> | 3093 | </div> |
| 3026 | <div data-for="api_key_01ai" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> | 3094 | <div data-for="api_key_01ai" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page."> |
| @@ -3032,7 +3100,7 @@ | |||
| 3032 | </div> | 3100 | </div> |
| 3033 | <div class="flex-container flex"> | 3101 | <div class="flex-container flex"> |
| 3034 | <div id="api_button_openai" class="api_button menu_button menu_button_icon" type="submit" data-i18n="Connect">Connect</div> | 3102 | <div id="api_button_openai" class="api_button menu_button menu_button_icon" type="submit" data-i18n="Connect">Connect</div> |
| 3035 | <div class="api_loading menu_button" data-i18n="Cancel">Cancel</div> | 3103 | <div class="api_loading menu_button menu_button_icon" data-i18n="Cancel">Cancel</div> |
| 3036 | <div data-source="custom" id="customize_additional_parameters" class="menu_button menu_button_icon" data-i18n="Additional Parameters">Additional Parameters</div> | 3104 | <div data-source="custom" id="customize_additional_parameters" class="menu_button menu_button_icon" data-i18n="Additional Parameters">Additional Parameters</div> |
| 3037 | <div data-source="openrouter" class="menu_button menu_button_icon openrouter_authorize" title="Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai" data-i18n="Authorize;[title]Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai">Authorize</div> | 3105 | <div data-source="openrouter" class="menu_button menu_button_icon openrouter_authorize" title="Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai" data-i18n="Authorize;[title]Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai">Authorize</div> |
| 3038 | <div id="test_api_button" class="menu_button menu_button_icon" title="Verifies your API connection by sending a short test message. Be aware that you'll be credited for it!" data-i18n="[title]Verifies your API connection by sending a short test message. Be aware that you'll be credited for it!"><span data-i18n="Test Message">Test Message</span></div> | 3106 | <div id="test_api_button" class="menu_button menu_button_icon" title="Verifies your API connection by sending a short test message. Be aware that you'll be credited for it!" data-i18n="[title]Verifies your API connection by sending a short test message. Be aware that you'll be credited for it!"><span data-i18n="Test Message">Test Message</span></div> |
| @@ -3053,14 +3121,27 @@ | |||
| 3053 | </div> | 3121 | </div> |
| 3054 | <div id="advanced-formatting-button" class="drawer"> | 3122 | <div id="advanced-formatting-button" class="drawer"> |
| 3055 | <div class="drawer-toggle"> | 3123 | <div class="drawer-toggle"> |
| 3056 | <div class="drawer-icon fa-solid fa-font closedIcon" title="AI Response Formatting" data-i18n="[title]AI Response Formatting"></div> | 3124 | <div class="drawer-icon fa-solid fa-font fa-fw closedIcon" title="AI Response Formatting" data-i18n="[title]AI Response Formatting"></div> |
| 3057 | </div> | 3125 | </div> |
| 3058 | <div class="drawer-content"> | 3126 | <div id="AdvancedFormatting" class="drawer-content"> |
| 3059 | <h3 class="margin0" data-i18n="Advanced Formatting"> | 3127 | <div class="flex-container alignItemsBaseline"> |
| 3060 | Advanced Formatting | 3128 | <h3 class="margin0 flex1" data-i18n="Advanced Formatting"> |
| 3061 | </h3> | 3129 | Advanced Formatting |
| 3062 | <div class="flex-container"> | 3130 | </h3> |
| 3063 | <div id="PygOverrides"> | 3131 | <div class="flex-container"> |
| 3132 | <input id="af_master_import_file" type="file" hidden accept=".json" class="displayNone"> | ||
| 3133 | <div id="af_master_import" class="menu_button menu_button_icon" title="Import Advanced Formatting settings You can also provide legacy files for Instruct and Context templates." data-i18n="[title]Import Advanced Formatting settings"> | ||
| 3134 | <i class="fa-solid fa-file-import"></i> | ||
| 3135 | <span data-i18n="Master Import">Master Import</span> | ||
| 3136 | </div> | ||
| 3137 | <div id="af_master_export" class="menu_button menu_button_icon" title="Export Advanced Formatting settings" data-i18n="[title]Export Advanced Formatting settings"> | ||
| 3138 | <i class="fa-solid fa-file-export"></i> | ||
| 3139 | <span data-i18n="Master Export">Master Export</span> | ||
| 3140 | </div> | ||
| 3141 | </div> | ||
| 3142 | </div> | ||
| 3143 | <div class="flex-container spaceEvenly"> | ||
| 3144 | <div id="ContextSettings" class="flex-container flexNoGap flexFlowColumn flex1"> | ||
| 3064 | <div> | 3145 | <div> |
| 3065 | <h4 class="standoutHeader title_restorable"> | 3146 | <h4 class="standoutHeader title_restorable"> |
| 3066 | <div> | 3147 | <div> |
| @@ -3069,32 +3150,32 @@ | |||
| 3069 | <span class="fa-solid fa-circle-question note-link-span"></span> | 3150 | <span class="fa-solid fa-circle-question note-link-span"></span> |
| 3070 | </a> | 3151 | </a> |
| 3071 | </div> | 3152 | </div> |
| 3072 | <div class="flex-container"> | ||
| 3073 | <i data-newbie-hidden data-preset-manager-import="context" class="margin0 menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i> | ||
| 3074 | <i data-newbie-hidden data-preset-manager-export="context" class="margin0 menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i> | ||
| 3075 | <i data-newbie-hidden data-preset-manager-restore="context" class="margin0 menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i> | ||
| 3076 | <i data-newbie-hidden id="context_delete_preset" data-preset-manager-delete="context" class="margin0 menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i> | ||
| 3077 | </div> | ||
| 3078 | </h4> | 3153 | </h4> |
| 3079 | <div class="flex-container"> | 3154 | <div class="flex-container" title="Select your current Context Template" data-i18n="[title]Select your current Context Template"> |
| 3080 | <select id="context_presets" data-preset-manager-for="context" class="flex1 text_pole"></select> | 3155 | <select id="context_presets" data-preset-manager-for="context" class="flex1 text_pole"></select> |
| 3081 | <input type="file" hidden data-preset-manager-file="context" accept=".json, .settings"> | 3156 | <div class="flex-container justifyCenter"> |
| 3082 | <i id="context_set_default" class="menu_button fa-solid fa-heart" title="Auto-select this preset for Instruct Mode." data-i18n="[title]Auto-select this preset for Instruct Mode"></i> | 3157 | <input type="file" hidden data-preset-manager-file="context" accept=".json, .settings"> |
| 3083 | <i data-newbie-hidden data-preset-manager-update="context" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i> | 3158 | <i data-preset-manager-update="context" class="menu_button fa-solid fa-save" title="Update current template" data-i18n="[title]Update current template"></i> |
| 3084 | <i data-newbie-hidden data-preset-manager-new="context" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i> | 3159 | <i data-preset-manager-new="context" class="menu_button fa-solid fa-file-circle-plus" title="Save template as" data-i18n="[title]Save template as"></i> |
| 3160 | <i data-preset-manager-import="context" class="displayNone menu_button fa-solid fa-file-import" title="Import template" data-i18n="[title]Import template"></i> | ||
| 3161 | <i data-preset-manager-export="context" class="displayNone menu_button fa-solid fa-file-export" title="Export template" data-i18n="[title]Export template"></i> | ||
| 3162 | <i data-preset-manager-restore="context" class="menu_button fa-solid fa-recycle" title="Restore current template" data-i18n="[title]Restore current template"></i> | ||
| 3163 | <i id="context_delete_preset" data-preset-manager-delete="context" class="menu_button fa-solid fa-trash-can" title="Delete the template" data-i18n="[title]Delete the template"></i> | ||
| 3164 | </div> | ||
| 3085 | </div> | 3165 | </div> |
| 3086 | <div data-newbie-hidden> | 3166 | <div> |
| 3087 | <label for="context_story_string"> | 3167 | <label for="context_story_string" class="flex-container"> |
| 3088 | <small data-i18n="Story String">Story String</small> | 3168 | <small data-i18n="Story String">Story String</small> |
| 3169 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="context_story_string" title="Expand the editor" data-i18n="[title]Expand the editor"></i> | ||
| 3089 | </label> | 3170 | </label> |
| 3090 | <textarea id="context_story_string" class="text_pole textarea_compact autoSetHeight" rows="1"></textarea> | 3171 | <textarea id="context_story_string" class="text_pole textarea_compact autoSetHeight"></textarea> |
| 3091 | <div class="flex-container"> | 3172 | <div class="flex-container"> |
| 3092 | <div class="flex1"> | 3173 | <div class="flex1"> |
| 3093 | <label for="context_example_separator"> | 3174 | <label for="context_example_separator"> |
| 3094 | <small data-i18n="Example Separator">Example Separator</small> | 3175 | <small data-i18n="Example Separator">Example Separator</small> |
| 3095 | </label> | 3176 | </label> |
| 3096 | <div> | 3177 | <div> |
| 3097 | <textarea id="context_example_separator" class="text_pole textarea_compact autoSetHeight" maxlength="500" rows="1"></textarea> | 3178 | <textarea id="context_example_separator" class="text_pole textarea_compact autoSetHeight"></textarea> |
| 3098 | </div> | 3179 | </div> |
| 3099 | </div> | 3180 | </div> |
| 3100 | <div class="flex1"> | 3181 | <div class="flex1"> |
| @@ -3102,447 +3183,382 @@ | |||
| 3102 | <small data-i18n="Chat Start">Chat Start</small> | 3183 | <small data-i18n="Chat Start">Chat Start</small> |
| 3103 | </label> | 3184 | </label> |
| 3104 | <div> | 3185 | <div> |
| 3105 | <textarea id="context_chat_start" class="text_pole textarea_compact autoSetHeight" maxlength="500" rows="1"></textarea> | 3186 | <textarea id="context_chat_start" class="text_pole textarea_compact autoSetHeight"></textarea> |
| 3106 | </div> | 3187 | </div> |
| 3107 | </div> | 3188 | </div> |
| 3108 | </div> | 3189 | </div> |
| 3109 | <label class="checkbox_label" title="Add Chat Start and Example Separator to a list of stopping strings." data-i18n="[title]Add Chat Start and Example Separator to a list of stopping strings."> | 3190 | <div> |
| 3110 | <input id="context_use_stop_strings" type="checkbox" /> | 3191 | <h4 class="standoutHeader"> |
| 3111 | <small data-i18n="Separators as Stop Strings">Separators as Stop Strings</small> | 3192 | <span data-i18n="Context Formatting"> |
| 3112 | </label> | 3193 | Context Formatting |
| 3113 | <label class="checkbox_label" title="Add Character and User names to a list of stopping strings." data-i18n="[title]Add Character and User names to a list of stopping strings."> | 3194 | </span> |
| 3114 | <input id="context_names_as_stop_strings" type="checkbox" /> | 3195 | </h4> |
| 3115 | <small data-i18n="Names as Stop Strings">Names as Stop Strings</small> | 3196 | |
| 3116 | </label> | 3197 | <label class="checkbox_label" for="always-force-name2-checkbox"> |
| 3198 | <input id="always-force-name2-checkbox" type="checkbox" /> | ||
| 3199 | <small data-i18n="Always add character's name to prompt"> | ||
| 3200 | Always add character's name to prompt | ||
| 3201 | </small> | ||
| 3202 | </label> | ||
| 3203 | <label class="checkbox_label" for="single_line"> | ||
| 3204 | <input id="single_line" type="checkbox" /> | ||
| 3205 | <small data-i18n="Generate only one line per request"> | ||
| 3206 | Generate only one line per request | ||
| 3207 | </small> | ||
| 3208 | </label> | ||
| 3209 | <label class="checkbox_label" for="collapse-newlines-checkbox"> | ||
| 3210 | <input id="collapse-newlines-checkbox" type="checkbox" /> | ||
| 3211 | <small data-i18n="Collapse Consecutive Newlines"> | ||
| 3212 | Collapse Consecutive Newlines | ||
| 3213 | </small> | ||
| 3214 | </label> | ||
| 3215 | <label class="checkbox_label" for="trim_spaces"> | ||
| 3216 | <input id="trim_spaces" type="checkbox" /> | ||
| 3217 | <small data-i18n="Trim spaces">Trim spaces</small> | ||
| 3218 | </label> | ||
| 3219 | <label class="checkbox_label" for="trim_sentences_checkbox"> | ||
| 3220 | <input id="trim_sentences_checkbox" type="checkbox" /> | ||
| 3221 | <small data-i18n="Trim Incomplete Sentences"> | ||
| 3222 | Trim Incomplete Sentences | ||
| 3223 | </small> | ||
| 3224 | </label> | ||
| 3225 | <label class="checkbox_label" title="Add Chat Start and Example Separator to a list of stopping strings." data-i18n="[title]Add Chat Start and Example Separator to a list of stopping strings."> | ||
| 3226 | <input id="context_use_stop_strings" type="checkbox" /> | ||
| 3227 | <small data-i18n="Separators as Stop Strings">Separators as Stop Strings</small> | ||
| 3228 | </label> | ||
| 3229 | <label class="checkbox_label" title="Add Character and User names to a list of stopping strings." data-i18n="[title]Add Character and User names to a list of stopping strings."> | ||
| 3230 | <input id="context_names_as_stop_strings" type="checkbox" /> | ||
| 3231 | <small data-i18n="Names as Stop Strings">Names as Stop Strings</small> | ||
| 3232 | </label> | ||
| 3233 | </div> | ||
| 3234 | |||
| 3117 | <label class="checkbox_label" title="Includes Post-History Instructions at the end of the prompt, if defined in the character card AND ''Prefer Char. Instructions'' is enabled. THIS IS NOT RECOMMENDED FOR TEXT COMPLETION MODELS, CAN LEAD TO BAD OUTPUT." data-i18n="[title]context_allow_post_history_instructions"> | 3235 | <label class="checkbox_label" title="Includes Post-History Instructions at the end of the prompt, if defined in the character card AND ''Prefer Char. Instructions'' is enabled. THIS IS NOT RECOMMENDED FOR TEXT COMPLETION MODELS, CAN LEAD TO BAD OUTPUT." data-i18n="[title]context_allow_post_history_instructions"> |
| 3118 | <input id="context_allow_jailbreak" type="checkbox" /> | 3236 | <input id="context_allow_jailbreak" type="checkbox" /> |
| 3119 | <small data-i18n="Allow Post-History Instructions">Allow Post-History Instructions</small> | 3237 | <small data-i18n="Allow Post-History Instructions">Allow Post-History Instructions</small> |
| 3120 | </label> | 3238 | </label> |
| 3121 | </div> | 3239 | </div> |
| 3240 | </div> | ||
| 3241 | </div> | ||
| 3242 | <div id="InstructSettingsColumn" class="flex-container flexNoGap flexFlowColumn flex1"> | ||
| 3243 | <div id="instructSettingsBlock"> | ||
| 3244 | <h4 class="standoutHeader title_restorable justifySpaceBetween"> | ||
| 3245 | <div class="flex-container"> | ||
| 3246 | <span data-i18n="Instruct Template">Instruct Template</span> | ||
| 3247 | <a href="https://docs.sillytavern.app/usage/core-concepts/instructmode/" class="notes-link" target="_blank"> | ||
| 3248 | <span class="fa-solid fa-circle-question note-link-span"></span> | ||
| 3249 | </a> | ||
| 3250 | </div> | ||
| 3251 | <div class="flex-container"> | ||
| 3252 | <label for="instruct_bind_to_context" class="checkbox_label flex1" title="Bind to Context
If enabled, Context templates will be automatically selected based on selected Instruct template name or by preference." data-i18n="[title]instruct_bind_to_context"> | ||
| 3253 | <input id="instruct_bind_to_context" type="checkbox" style="display:none;" /> | ||
| 3254 | <small><i class="fa-solid fa-link menu_button margin0"></i></small> | ||
| 3255 | </label> | ||
| 3256 | <label for="instruct_enabled" class="checkbox_label flex1" title="Enable Instruct Mode" data-i18n="[title]instruct_enabled"> | ||
| 3257 | <input id="instruct_enabled" type="checkbox" style="display:none;" /> | ||
| 3258 | <small><i class="fa-solid fa-power-off menu_button margin0"></i></small> | ||
| 3259 | </label> | ||
| 3260 | </div> | ||
| 3261 | </h4> | ||
| 3122 | 3262 | ||
| 3123 | <div data-newbie-hidden class="inline-drawer wide100p flexFlowColumn margin-bot-10px" style="display:none;"> | 3263 | <div class="flex-container" title="Select your current Instruct Template" data-i18n="[title]Select your current Instruct Template"> |
| 3124 | <div class="inline-drawer-toggle inline-drawer-header"> | 3264 | <select id="instruct_presets" data-preset-manager-for="instruct" class="flex1 text_pole"></select> |
| 3125 | <b><span data-i18n="Context Order">Context Order</span></b> | 3265 | <div class="flex-container margin0 justifyCenter"> |
| 3126 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> | 3266 | <input type="file" hidden data-preset-manager-file="instruct" accept=".json, .settings"> |
| 3267 | <i data-preset-manager-update="instruct" class="menu_button fa-solid fa-save" title="Update current template" data-i18n="[title]Update current template"></i> | ||
| 3268 | <i data-preset-manager-new="instruct" class="menu_button fa-solid fa-file-circle-plus" title="Save template as" data-i18n="[title]Save template as"></i> | ||
| 3269 | <i data-preset-manager-import="instruct" class="displayNone menu_button fa-solid fa-file-import" title="Import template" data-i18n="[title]Import template"></i> | ||
| 3270 | <i data-preset-manager-export="instruct" class="displayNone menu_button fa-solid fa-file-export" title="Export template" data-i18n="[title]Export template"></i> | ||
| 3271 | <i data-preset-manager-restore="instruct" class="menu_button fa-solid fa-recycle" title="Restore current template" data-i18n="[title]Restore current template"></i> | ||
| 3272 | <i data-preset-manager-delete="instruct" class="menu_button fa-solid fa-trash-can" title="Delete template" data-i18n="[title]Delete template"></i> | ||
| 3127 | </div> | 3273 | </div> |
| 3128 | <div class="inline-drawer-content"> | ||
| 3129 | <div id="context_order" class="prompt_order"> | ||
| 3130 | <div data-id="0"> | ||
| 3131 | <span data-i18n="Story String">Story String</span> | ||
| 3132 | <small>0</small> | ||
| 3133 | </div> | ||
| 3134 | <div data-id="1"> | ||
| 3135 | <span data-i18n="Summary">Summary</span> | ||
| 3136 | <small>1</small> | ||
| 3137 | </div> | ||
| 3138 | <div data-id="2"> | ||
| 3139 | <span data-i18n="Author's Note">Author's Note</span> | ||
| 3140 | <small>2</small> | ||
| 3141 | </div> | ||
| 3142 | <div data-id="3"> | ||
| 3143 | <span data-i18n="Example Dialogues">Example Dialogues</span> | ||
| 3144 | <small>3</small> | ||
| 3145 | </div> | ||
| 3146 | <div data-id="4"> | ||
| 3147 | <span data-i18n="Chat Start">Chat History</span> | ||
| 3148 | <small>4</small> | ||
| 3149 | </div> | ||
| 3150 | </div> | ||
| 3151 | <small> | ||
| 3152 | <b data-i18n="Hint">Hint:</b> | ||
| 3153 | <span data-i18n="In-Chat Position not affected"> | ||
| 3154 | Summary and Author's Note orders are only affected when they don't have an In-Chat position set. | ||
| 3155 | </span> | ||
| 3156 | </small> | ||
| 3157 | </div> | ||
| 3158 | </div> | ||
| 3159 | </div> | ||
| 3160 | <div> | ||
| 3161 | <h4 class="standoutHeader title_restorable"> | ||
| 3162 | <div> | ||
| 3163 | <span data-i18n="Instruct Mode">Instruct Mode</span> | ||
| 3164 | <a href="https://docs.sillytavern.app/usage/core-concepts/instructmode/" class="notes-link" target="_blank"> | ||
| 3165 | <span class="fa-solid fa-circle-question note-link-span"></span> | ||
| 3166 | </a> | ||
| 3167 | </div> | ||
| 3168 | <div class="flex-container"> | ||
| 3169 | <i data-newbie-hidden data-preset-manager-import="instruct" class="margin0 menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i> | ||
| 3170 | <i data-newbie-hidden data-preset-manager-export="instruct" class="margin0 menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i> | ||
| 3171 | <i data-newbie-hidden data-preset-manager-restore="instruct" class="margin0 menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i> | ||
| 3172 | <i data-newbie-hidden data-preset-manager-delete="instruct" class="margin0 menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i> | ||
| 3173 | </div> | ||
| 3174 | </h4> | ||
| 3175 | <div class="flex-container"> | ||
| 3176 | <label for="instruct_enabled" class="checkbox_label flex1"> | ||
| 3177 | <input id="instruct_enabled" type="checkbox" /> | ||
| 3178 | <span data-i18n="Enabled">Enabled</span> | ||
| 3179 | </label> | ||
| 3180 | <label for="instruct_bind_to_context" class="checkbox_label flex1" title="If enabled, Context templates will be automatically selected based on selected Instruct template name or by preference." data-i18n="[title]instruct_bind_to_context"> | ||
| 3181 | <input id="instruct_bind_to_context" type="checkbox" /> | ||
| 3182 | <span data-i18n="Bind to Context">Bind to Context</span> | ||
| 3183 | </label> | ||
| 3184 | </div> | 3274 | </div> |
| 3185 | <label for="instruct_presets"> | 3275 | <label> |
| 3186 | <span data-i18n="Presets">Presets</span> | 3276 | <small> |
| 3187 | </label> | 3277 | <span data-i18n="Activation Regex">Activation Regex</span> |
| 3188 | <div class="flex-container"> | 3278 | <span class="fa-solid fa-circle-question" title="When connecting to an API or choosing a model, automatically activate this Instruct Template if the model name matches the provided regular expression."></span> |
| 3189 | <select id="instruct_presets" data-preset-manager-for="instruct" class="flex1 text_pole"></select> | ||
| 3190 | <input type="file" hidden data-preset-manager-file="instruct" accept=".json, .settings"> | ||
| 3191 | <i id="instruct_set_default" class="menu_button fa-solid fa-heart" title="Auto-select this preset on API connection." data-i18n="[title]Auto-select this preset on API connection"></i> | ||
| 3192 | <i data-newbie-hidden data-preset-manager-update="instruct" class="menu_button fa-solid fa-save" title="Update current preset" data-i18n="[title]Update current preset"></i> | ||
| 3193 | <i data-newbie-hidden data-preset-manager-new="instruct" class="menu_button fa-solid fa-file-circle-plus" title="Save preset as" data-i18n="[title]Save preset as"></i> | ||
| 3194 | </div> | ||
| 3195 | <label data-newbie-hidden> | ||
| 3196 | <small data-i18n="Activation Regex"> | ||
| 3197 | Activation Regex | ||
| 3198 | </small> | 3279 | </small> |
| 3199 | </label> | 3280 | </label> |
| 3200 | <div data-newbie-hidden> | 3281 | <div> |
| 3201 | <textarea id="instruct_activation_regex" class="text_pole textarea_compact autoSetHeight" maxlength="5000" rows="1"></textarea> | 3282 | <input type="text" id="instruct_activation_regex" class="text_pole textarea_compact" placeholder="e.g. /llama(-)?[3|3.1]/i"> |
| 3202 | </div> | 3283 | </div> |
| 3203 | <div data-newbie-hidden> | 3284 | <div> |
| 3204 | <label for="instruct_wrap" class="checkbox_label"> | 3285 | <label for="instruct_wrap" class="checkbox_label"> |
| 3205 | <input id="instruct_wrap" type="checkbox" /> | 3286 | <input id="instruct_wrap" type="checkbox" /> |
| 3206 | <span data-i18n="Wrap Sequences with Newline">Wrap Sequences with Newline</span> | 3287 | <small data-i18n="Wrap Sequences with Newline">Wrap Sequences with Newline</small> |
| 3207 | </label> | 3288 | </label> |
| 3208 | <label for="instruct_macro" class="checkbox_label"> | 3289 | <label for="instruct_macro" class="checkbox_label"> |
| 3209 | <input id="instruct_macro" type="checkbox" /> | 3290 | <input id="instruct_macro" type="checkbox" /> |
| 3210 | <span data-i18n="Replace Macro in Sequences">Replace Macro in Sequences</span> | 3291 | <small data-i18n="Replace Macro in Sequences">Replace Macro in Sequences</small> |
| 3211 | </label> | 3292 | </label> |
| 3212 | <label for="instruct_skip_examples" class="checkbox_label"> | 3293 | <label for="instruct_skip_examples" class="checkbox_label"> |
| 3213 | <input id="instruct_skip_examples" type="checkbox" /> | 3294 | <input id="instruct_skip_examples" type="checkbox" /> |
| 3214 | <span data-i18n="Skip Example Dialogues Formatting">Skip Example Dialogues Formatting</span> | 3295 | <small data-i18n="Skip Example Dialogues Formatting">Skip Example Dialogues Formatting</small> |
| 3215 | </label> | ||
| 3216 | <label for="instruct_names" class="checkbox_label"> | ||
| 3217 | <input id="instruct_names" type="checkbox" /> | ||
| 3218 | <span data-i18n="Include Names">Include Names</span> | ||
| 3219 | </label> | ||
| 3220 | <label for="instruct_names_force_groups" class="checkbox_label indent20p"> | ||
| 3221 | <input id="instruct_names_force_groups" type="checkbox" /> | ||
| 3222 | <span data-i18n="Force for Groups and Personas">Force for Groups and Personas</span> | ||
| 3223 | </label> | 3296 | </label> |
| 3297 | <div> | ||
| 3298 | <small data-i18n="Include Names"> | ||
| 3299 | Include Names | ||
| 3300 | </small> | ||
| 3301 | <select id="instruct_names_behavior"> | ||
| 3302 | <option value="none" data-i18n="Never">Never</option> | ||
| 3303 | <option value="force" data-i18n="Groups and Past Personas">Groups and Past Personas</option> | ||
| 3304 | <option value="always" data-i18n="Always">Always</option> | ||
| 3305 | </select> | ||
| 3306 | </div> | ||
| 3224 | </div> | 3307 | </div> |
| 3225 | <div data-newbie-hidden> | 3308 | </div> |
| 3226 | <label> | 3309 | <div id="InstructSequencesColumn" class="wide100p flexFlowColumn"> |
| 3227 | <small data-i18n="System Prompt">System Prompt</small> | 3310 | <h4 class="standoutHeader title_restorable"> |
| 3228 | </label> | 3311 | <b> |
| 3229 | <textarea id="instruct_system_prompt" class="text_pole textarea_compact autoSetHeight" rows="1"></textarea> | 3312 | <span data-i18n="Instruct Sequences"> |
| 3230 | </div> | 3313 | Instruct Sequences |
| 3231 | <div data-newbie-hidden class="inline-drawer wide100p flexFlowColumn"> | 3314 | </span> |
| 3232 | <div class="inline-drawer-toggle inline-drawer-header"> | 3315 | </b> |
| 3233 | <b><span data-i18n="Instruct Mode Sequences">Instruct Mode Sequences</span></b> | 3316 | </h4> |
| 3234 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> | 3317 | <!-- We keep one auto-open so the user would know what is going on in the picked template --> |
| 3318 | <details open> | ||
| 3319 | <summary>User Message Sequences</summary> | ||
| 3320 | <div class="flex-container"> | ||
| 3321 | <div class="flexAuto" title="Inserted before a User message and as a last prompt line when impersonating." data-i18n="[title]Inserted before a User message and as a last prompt line when impersonating."> | ||
| 3322 | <small data-i18n="User Prefix">User Message Prefix</small> | ||
| 3323 | <textarea id="instruct_input_sequence" class="text_pole textarea_compact autoSetHeight"></textarea> | ||
| 3324 | </div> | ||
| 3325 | <div class="flexAuto" title="Inserted after a User message." data-i18n="[title]Inserted after a User message."> | ||
| 3326 | <small data-i18n="User Suffix">User Message Suffix</small> | ||
| 3327 | <textarea id="instruct_input_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea> | ||
| 3328 | </div> | ||
| 3235 | </div> | 3329 | </div> |
| 3236 | <div class="inline-drawer-content"> | 3330 | </details> |
| 3237 | <h5 class="textAlignCenter" data-i18n="System Prompt Wrapping"> | 3331 | <details open> |
| 3238 | System Prompt Wrapping | 3332 | <summary>Assistant Message Sequences</summary> |
| 3239 | </h5> | 3333 | <div class="flex-container"> |
| 3240 | <div class="flex-container"> | 3334 | <div class="flexAuto" title="Inserted before an Assistant message and as a last prompt line when generating an AI reply." data-i18n="[title]Inserted before an Assistant message and as a last prompt line when generating an AI reply."> |
| 3241 | <div class="flex1" title="Inserted before a System prompt." data-i18n="[title]Inserted before a System prompt."> | 3335 | <small data-i18n="Assistant Prefix">Assistant Message Prefix</small> |
| 3242 | <label for="instruct_system_sequence_prefix"> | 3336 | <textarea id="instruct_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight"></textarea> |
| 3243 | <small data-i18n="System Prompt Prefix">System Prompt Prefix</small> | ||
| 3244 | </label> | ||
| 3245 | <div> | ||
| 3246 | <textarea id="instruct_system_sequence_prefix" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3247 | </div> | ||
| 3248 | </div> | ||
| 3249 | <div class="flex1" title="Inserted after a System prompt." data-i18n="[title]Inserted after a System prompt."> | ||
| 3250 | <label for="instruct_system_sequence_suffix"> | ||
| 3251 | <small data-i18n="System Prompt Suffix">System Prompt Suffix</small> | ||
| 3252 | </label> | ||
| 3253 | <div> | ||
| 3254 | <textarea id="instruct_system_sequence_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3255 | </div> | ||
| 3256 | </div> | ||
| 3257 | </div> | 3337 | </div> |
| 3258 | <h5 class="textAlignCenter" data-i18n="Chat Messages Wrapping"> | 3338 | <div class="flexAuto" title="Inserted after an Assistant message." data-i18n="[title]Inserted after an Assistant message."> |
| 3259 | Chat Messages Wrapping | 3339 | <small data-i18n="Assistant Suffix">Assistant Message Suffix</small> |
| 3260 | </h5> | 3340 | <textarea id="instruct_output_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea> |
| 3261 | <div class="flex-container"> | ||
| 3262 | <div class="flex1" title="Inserted before a User message and as a last prompt line when impersonating." data-i18n="[title]Inserted before a User message and as a last prompt line when impersonating."> | ||
| 3263 | <label for="instruct_input_sequence"> | ||
| 3264 | <small data-i18n="User Message Prefix">User Message Prefix</small> | ||
| 3265 | </label> | ||
| 3266 | <div> | ||
| 3267 | <textarea id="instruct_input_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3268 | </div> | ||
| 3269 | </div> | ||
| 3270 | <div class="flex1" title="Inserted after a User message." data-i18n="[title]Inserted after a User message."> | ||
| 3271 | <label for="instruct_input_suffix"> | ||
| 3272 | <small data-i18n="User Message Suffix">User Message Suffix</small> | ||
| 3273 | </label> | ||
| 3274 | <div> | ||
| 3275 | <textarea id="instruct_input_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3276 | </div> | ||
| 3277 | </div> | ||
| 3278 | </div> | 3341 | </div> |
| 3279 | <div class="flex-container"> | 3342 | </div> |
| 3280 | <div class="flex1" title="Inserted before an Assistant message and as a last prompt line when generating an AI reply." data-i18n="[title]Inserted before an Assistant message and as a last prompt line when generating an AI reply."> | 3343 | </details> |
| 3281 | <label for="instruct_output_sequence"> | 3344 | <details> |
| 3282 | <small data-i18n="Assistant Message Prefix">Assistant Message Prefix</small> | 3345 | <summary>System Message Sequences</summary> |
| 3283 | </label> | 3346 | <div class="flex-container"> |
| 3284 | <div> | 3347 | <div class="flexAuto" id="instruct_system_sequence_block" title="Inserted before a System (added by slash commands or extensions) message." data-i18n="[title]Inserted before a System (added by slash commands or extensions) message."> |
| 3285 | <textarea id="instruct_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | 3348 | <small data-i18n="System Prefix">System Message Prefix</small> |
| 3286 | </div> | 3349 | <textarea id="instruct_system_sequence" class="text_pole textarea_compact autoSetHeight"></textarea> |
| 3287 | </div> | ||
| 3288 | <div class="flex1" title="Inserted after an Assistant message." data-i18n="[title]Inserted after an Assistant message."> | ||
| 3289 | <label for="instruct_output_suffix"> | ||
| 3290 | <small data-i18n="Assistant Message Suffix">Assistant Message Suffix</small> | ||
| 3291 | </label> | ||
| 3292 | <div> | ||
| 3293 | <textarea id="instruct_output_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3294 | </div> | ||
| 3295 | </div> | ||
| 3296 | </div> | 3350 | </div> |
| 3297 | <div class="flex-container"> | 3351 | <div class="flexAuto" id="instruct_system_suffix_block" title="Inserted after a System message." data-i18n="[title]Inserted after a System message."> |
| 3298 | <div class="flex1" title="Inserted before a System (added by slash commands or extensions) message." data-i18n="[title]Inserted before a System (added by slash commands or extensions) message."> | 3352 | <small data-i18n="System Suffix">System Message Suffix</small> |
| 3299 | <label for="instruct_system_sequence"> | 3353 | <textarea id="instruct_system_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea> |
| 3300 | <small data-i18n="System Message Prefix">System Message Prefix</small> | ||
| 3301 | </label> | ||
| 3302 | <div> | ||
| 3303 | <textarea id="instruct_system_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3304 | </div> | ||
| 3305 | </div> | ||
| 3306 | <div class="flex1" title="Inserted after a System message." data-i18n="[title]Inserted after a System message."> | ||
| 3307 | <label for="instruct_system_suffix"> | ||
| 3308 | <small data-i18n="System Message Suffix">System Message Suffix</small> | ||
| 3309 | </label> | ||
| 3310 | <div> | ||
| 3311 | <textarea id="instruct_system_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3312 | </div> | ||
| 3313 | </div> | ||
| 3314 | <div class="flexBasis100p" title="If enabled, System Sequences will be the same as User Sequences." data-i18n="[title]If enabled, System Sequences will be the same as User Sequences."> | ||
| 3315 | <label class="checkbox_label" for="instruct_system_same_as_user"> | ||
| 3316 | <input id="instruct_system_same_as_user" type="checkbox" /> | ||
| 3317 | <small data-i18n="System same as User">System same as User</small> | ||
| 3318 | </label> | ||
| 3319 | </div> | ||
| 3320 | </div> | 3354 | </div> |
| 3321 | <h5 class="textAlignCenter" data-i18n="Misc. Sequences"> | 3355 | </div> |
| 3322 | Misc. Sequences | 3356 | <div class="flexBasis100p" title="If enabled, System Sequences will be the same as User Sequences." data-i18n="[title]If enabled, System Sequences will be the same as User Sequences."> |
| 3323 | </h5> | 3357 | <label class="checkbox_label" for="instruct_system_same_as_user"> |
| 3324 | <div class="flex-container"> | 3358 | <input id="instruct_system_same_as_user" type="checkbox" /> |
| 3325 | <div class="flex1" title="Inserted before the first Assistant's message." data-i18n="[title]Inserted before the first Assistant's message."> | 3359 | <small data-i18n="System same as User">System same as User</small> |
| 3326 | <label for="instruct_first_output_sequence"> | 3360 | </label> |
| 3327 | <small data-i18n="First Assistant Prefix">First Assistant Prefix</small> | 3361 | </div> |
| 3328 | </label> | 3362 | </details> |
| 3329 | <div> | 3363 | <details> |
| 3330 | <textarea id="instruct_first_output_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | 3364 | <summary>System Prompt Sequences</summary> |
| 3331 | </div> | 3365 | <div class="flex-container"> |
| 3332 | </div> | 3366 | <div class="flexAuto" title="Inserted before a System prompt." data-i18n="[title]Inserted before a System prompt."> |
| 3333 | <div class="flex1" title="Inserted before the last Assistant's message or as a last prompt line when generating an AI reply (except a neutral/system role)." data-i18n="[title]instruct_last_output_sequence"> | 3367 | <label for="instruct_system_sequence_prefix"> |
| 3334 | <label for="instruct_last_output_sequence"> | 3368 | <small data-i18n="System Prompt Prefix">System Prompt Prefix</small> |
| 3335 | <small data-i18n="Last Assistant Prefix">Last Assistant Prefix</small> | 3369 | </label> |
| 3336 | </label> | 3370 | <div> |
| 3337 | <div> | 3371 | <textarea id="instruct_system_sequence_prefix" class="text_pole textarea_compact autoSetHeight"></textarea> |
| 3338 | <textarea id="instruct_last_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3339 | </div> | ||
| 3340 | </div> | 3372 | </div> |
| 3341 | </div> | 3373 | </div> |
| 3342 | <div class="flex-container"> | 3374 | <div class="flexAuto" title="Inserted after a System prompt." data-i18n="[title]Inserted after a System prompt."> |
| 3343 | <div class="flex1" title="Inserted before the first User's message." data-i18n="[title]Inserted before the first User's message."> | 3375 | <label for="instruct_system_sequence_suffix"> |
| 3344 | <label for="instruct_first_input_sequence"> | 3376 | <small data-i18n="System Prompt Suffix">System Prompt Suffix</small> |
| 3345 | <small data-i18n="First User Prefix">First User Prefix</small> | 3377 | </label> |
| 3346 | </label> | 3378 | <div> |
| 3347 | <div> | 3379 | <textarea id="instruct_system_sequence_suffix" class="text_pole wide100p textarea_compact autoSetHeight"></textarea> |
| 3348 | <textarea id="instruct_first_input_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3349 | </div> | ||
| 3350 | </div> | ||
| 3351 | <div class="flex1" title="Inserted before the last User's message." data-i18n="[title]instruct_last_input_sequence"> | ||
| 3352 | <label for="instruct_last_input_sequence"> | ||
| 3353 | <small data-i18n="Last User Prefix">Last User Prefix</small> | ||
| 3354 | </label> | ||
| 3355 | <div> | ||
| 3356 | <textarea id="instruct_last_input_sequence" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3357 | </div> | ||
| 3358 | </div> | 3380 | </div> |
| 3359 | </div> | 3381 | </div> |
| 3360 | <div class="flex-container"> | 3382 | </div> |
| 3361 | <div class="flex1" title="Will be inserted as a last prompt line when using system/neutral generation." data-i18n="[title]Will be inserted as a last prompt line when using system/neutral generation."> | 3383 | </details> |
| 3362 | <label for="instruct_last_system_sequence"> | 3384 | <details> |
| 3363 | <small data-i18n="System Instruction Prefix">System Instruction Prefix</small> | 3385 | <summary data-i18n="Misc. Sequences">Misc. Sequences</summary> |
| 3364 | </label> | 3386 | <div class="flex-container"> |
| 3365 | <div> | 3387 | <div class="flexAuto" title="Inserted before the first Assistant's message." data-i18n="[title]Inserted before the first Assistant's message."> |
| 3366 | <textarea id="instruct_last_system_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | 3388 | <small data-i18n="First Assistant Prefix">First Assistant Prefix</small> |
| 3367 | </div> | 3389 | <textarea id="instruct_first_output_sequence" class="text_pole textarea_compact autoSetHeight"></textarea> |
| 3368 | </div> | ||
| 3369 | <div class="flex1" title="If a stop sequence is generated, everything past it will be removed from the output (inclusive)." data-i18n="[title]If a stop sequence is generated, everything past it will be removed from the output (inclusive)."> | ||
| 3370 | <label for="instruct_stop_sequence"> | ||
| 3371 | <small data-i18n="Stop Sequence">Stop Sequence</small> | ||
| 3372 | </label> | ||
| 3373 | <div> | ||
| 3374 | <textarea id="instruct_stop_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3375 | </div> | ||
| 3376 | </div> | ||
| 3377 | </div> | 3390 | </div> |
| 3378 | <div class="flex-container"> | 3391 | <div class="flexAuto" title="Inserted before the last Assistant's message or as a last prompt line when generating an AI reply (except a neutral/system role)." data-i18n="[title]instruct_last_output_sequence"> |
| 3379 | <div class="flex1" title="Will be inserted at the start of the chat history if it doesn't start with a User message." data-i18n="[title]Will be inserted at the start of the chat history if it doesn't start with a User message."> | 3392 | <small data-i18n="Last Assistant Prefix">Last Assistant Prefix</small> |
| 3380 | <label for="instruct_user_alignment_message"> | 3393 | <textarea id="instruct_last_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight"></textarea> |
| 3381 | <small data-i18n="User Filler Message">User Filler Message</small> | ||
| 3382 | </label> | ||
| 3383 | <div> | ||
| 3384 | <textarea id="instruct_user_alignment_message" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | ||
| 3385 | </div> | ||
| 3386 | </div> | ||
| 3387 | </div> | 3394 | </div> |
| 3388 | </div> | 3395 | </div> |
| 3389 | </div> | 3396 | <div class="flex-container"> |
| 3397 | <div class="flexAuto" title="Inserted before the first User's message." data-i18n="[title]Inserted before the first User's message."> | ||
| 3398 | <small data-i18n="First User Prefix">First User Prefix</small> | ||
| 3399 | <textarea id="instruct_first_input_sequence" class="text_pole textarea_compact autoSetHeight"></textarea> | ||
| 3400 | </div> | ||
| 3401 | <div class="flexAuto" title="Inserted before the last User's message." data-i18n="[title]instruct_last_input_sequence"> | ||
| 3402 | <small data-i18n="Last User Prefix">Last User Prefix</small> | ||
| 3403 | <textarea id="instruct_last_input_sequence" class="text_pole wide100p textarea_compact autoSetHeight"></textarea> | ||
| 3404 | </div> | ||
| 3405 | </div> | ||
| 3406 | <div class="flex-container"> | ||
| 3407 | <div class="flexAuto" title="Will be inserted as a last prompt line when using system/neutral generation." data-i18n="[title]Will be inserted as a last prompt line when using system/neutral generation."> | ||
| 3408 | <small data-i18n="System Instruction Prefix">System Instruction Prefix</small> | ||
| 3409 | <textarea id="instruct_last_system_sequence" class="text_pole textarea_compact autoSetHeight"></textarea> | ||
| 3410 | </div> | ||
| 3411 | <div class="flexAuto" title="If a stop sequence is generated, everything past it will be removed from the output (inclusive)." data-i18n="[title]If a stop sequence is generated, everything past it will be removed from the output (inclusive)."> | ||
| 3412 | <small data-i18n="Stop Sequence">Stop Sequence</small> | ||
| 3413 | <textarea id="instruct_stop_sequence" class="text_pole textarea_compact autoSetHeight"></textarea> | ||
| 3414 | </div> | ||
| 3415 | </div> | ||
| 3416 | <div class="flex-container"> | ||
| 3417 | <div class="flexAuto" title="Will be inserted at the start of the chat history if it doesn't start with a User message." data-i18n="[title]Will be inserted at the start of the chat history if it doesn't start with a User message."> | ||
| 3418 | <small data-i18n="User Filler Message">User Filler Message</small> | ||
| 3419 | <textarea id="instruct_user_alignment_message" class="text_pole textarea_compact autoSetHeight"></textarea> | ||
| 3420 | </div> | ||
| 3421 | </div> | ||
| 3422 | </details> | ||
| 3390 | </div> | 3423 | </div> |
| 3391 | </div> | 3424 | </div> |
| 3392 | <div id="ContextFormatting"> | 3425 | <div id="SystemPromptColumn" class="flex-container flexNoGap flexFlowColumn flex1"> |
| 3393 | <div> | 3426 | <div id="SystemPromptBlock"> |
| 3394 | <div class="flex-container alignItemsBaseline"> | 3427 | <h4 class="standoutHeader title_restorable justifySpaceBetween"> |
| 3395 | <h4 data-i18n="Context Formatting"> | 3428 | <div class="flex-container"> |
| 3396 | Context Formatting | 3429 | <span data-i18n="System Prompt">System Prompt</span> |
| 3397 | </h4> | 3430 | <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#system-prompt" class="notes-link" target="_blank"> |
| 3398 | <small data-i18n="(Saved to Context Template)"> | 3431 | <span class="fa-solid fa-circle-question note-link-span"></span> |
| 3399 | (Saved to Context Template) | 3432 | </a> |
| 3400 | </small> | 3433 | </div> |
| 3434 | <div class="flex-container"> | ||
| 3435 | <label for="sysprompt_enabled" class="checkbox_label flex1" title="Enable System Prompt" data-i18n="[title]sysprompt_enabled"> | ||
| 3436 | <input id="sysprompt_enabled" type="checkbox" style="display:none;" /> | ||
| 3437 | <small><i class="fa-solid fa-power-off menu_button margin0"></i></small> | ||
| 3438 | </label> | ||
| 3439 | </div> | ||
| 3440 | </h4> | ||
| 3441 | |||
| 3442 | <div class="flex-container" title="Select your current System Prompt" data-i18n="[title]Select your current System Prompt"> | ||
| 3443 | <select id="sysprompt_select" data-preset-manager-for="sysprompt" class="flex1 text_pole"></select> | ||
| 3444 | <div class="flex-container margin0 justifyCenter"> | ||
| 3445 | <input type="file" hidden data-preset-manager-file="sysprompt" accept=".json, .settings"> | ||
| 3446 | <i data-preset-manager-update="sysprompt" class="menu_button fa-solid fa-save" title="Update current prompt" data-i18n="[title]Update current prompt"></i> | ||
| 3447 | <i data-preset-manager-new="sysprompt" class="menu_button fa-solid fa-file-circle-plus" title="Save prompt as" data-i18n="[title]Save prompt as"></i> | ||
| 3448 | <i data-preset-manager-import="sysprompt" class="displayNone menu_button fa-solid fa-file-import" title="Import template" data-i18n="[title]Import template"></i> | ||
| 3449 | <i data-preset-manager-export="sysprompt" class="displayNone menu_button fa-solid fa-file-export" title="Export template" data-i18n="[title]Export template"></i> | ||
| 3450 | <i data-preset-manager-restore="sysprompt" class="menu_button fa-solid fa-recycle" title="Restore current prompt" data-i18n="[title]Restore current prompt"></i> | ||
| 3451 | <i data-preset-manager-delete="sysprompt" class="menu_button fa-solid fa-trash-can" title="Delete prompt" data-i18n="[title]Delete prompt"></i> | ||
| 3452 | </div> | ||
| 3453 | </div> | ||
| 3454 | |||
| 3455 | <div> | ||
| 3456 | <label for="sysprompt_content" class="flex-container"> | ||
| 3457 | <small data-i18n="Prompt Content">Prompt Content</small> | ||
| 3458 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="sysprompt_content" title="Expand the editor" data-i18n="[title]Expand the editor"></i> | ||
| 3459 | </label> | ||
| 3460 | <textarea id="sysprompt_content" class="text_pole textarea_compact autoSetHeight"></textarea> | ||
| 3401 | </div> | 3461 | </div> |
| 3402 | <label class="checkbox_label" for="always-force-name2-checkbox"> | ||
| 3403 | <input id="always-force-name2-checkbox" type="checkbox" /> | ||
| 3404 | <span data-i18n="Always add character's name to prompt"> | ||
| 3405 | Always add character's name to prompt | ||
| 3406 | </span> | ||
| 3407 | </label> | ||
| 3408 | <label class="checkbox_label" for="single_line"> | ||
| 3409 | <input id="single_line" type="checkbox" /> | ||
| 3410 | <span data-i18n="Generate only one line per request"> | ||
| 3411 | Generate only one line per request | ||
| 3412 | </span> | ||
| 3413 | </label> | ||
| 3414 | <label class="checkbox_label" for="trim_sentences_checkbox"> | ||
| 3415 | <input id="trim_sentences_checkbox" type="checkbox" /> | ||
| 3416 | <span data-i18n="Trim Incomplete Sentences"> | ||
| 3417 | Trim Incomplete Sentences | ||
| 3418 | </span> | ||
| 3419 | </label> | ||
| 3420 | <!-- Add margin since this is a child of above --> | ||
| 3421 | <label data-newbie-hidden class="checkbox_label indent20p" for="include_newline_checkbox"> | ||
| 3422 | <input id="include_newline_checkbox" type="checkbox" /> | ||
| 3423 | <span data-i18n="Include Newline">Include Newline</span> | ||
| 3424 | </label> | ||
| 3425 | </div> | 3462 | </div> |
| 3426 | <h4 data-i18n="Misc. Settings"> | 3463 | |
| 3427 | Misc. Settings | 3464 | <div> |
| 3428 | </h4> | 3465 | |
| 3429 | <label class="checkbox_label" for="collapse-newlines-checkbox"> | ||
| 3430 | <input id="collapse-newlines-checkbox" type="checkbox" /> | ||
| 3431 | <span data-i18n="Collapse Consecutive Newlines"> | ||
| 3432 | Collapse Consecutive Newlines | ||
| 3433 | </span> | ||
| 3434 | </label> | ||
| 3435 | <label data-newbie-hidden class="checkbox_label" for="trim_spaces"> | ||
| 3436 | <input id="trim_spaces" type="checkbox" /> | ||
| 3437 | <span data-i18n="Trim spaces">Trim spaces</span> | ||
| 3438 | </label> | ||
| 3439 | <div data-newbie-hidden> | ||
| 3440 | <h4><span data-i18n="Tokenizer">Tokenizer</span> | ||
| 3441 | <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#tokenizer" class="notes-link" target="_blank"> | ||
| 3442 | <span class="fa-solid fa-circle-question note-link-span"></span> | ||
| 3443 | </a> | ||
| 3444 | </h4> | ||
| 3445 | <select id="tokenizer"> | ||
| 3446 | <option value="99">Best match (recommended)</option> | ||
| 3447 | <option value="0">None / Estimated</option> | ||
| 3448 | <option value="1">GPT-2</option> | ||
| 3449 | <!-- Option #2 was a legacy GPT-2/3 tokenizer --> | ||
| 3450 | <option value="3">Llama 1/2</option> | ||
| 3451 | <option value="12">Llama 3</option> | ||
| 3452 | <option value="13">Gemma / Gemini</option> | ||
| 3453 | <option value="4">NerdStash (NovelAI Clio)</option> | ||
| 3454 | <option value="5">NerdStash v2 (NovelAI Kayra)</option> | ||
| 3455 | <option value="7">Mistral</option> | ||
| 3456 | <option value="8">Yi</option> | ||
| 3457 | <option value="11">Claude 1/2</option> | ||
| 3458 | <option value="6">API (WebUI / koboldcpp)</option> | ||
| 3459 | </select> | ||
| 3460 | </div> | 3466 | </div> |
| 3461 | <div class="range-block" data-newbie-hidden> | 3467 | |
| 3462 | <div class="range-block-title justifyLeft"> | 3468 | <div> |
| 3463 | <span data-i18n="Token Padding">Token Padding</span> | 3469 | <h4 class="range-block-title justifyLeft standoutHeader"> |
| 3464 | <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#token-padding" class="notes-link" target="_blank"> | 3470 | <span data-i18n="Custom Stopping Strings"> |
| 3471 | Custom Stopping Strings | ||
| 3472 | </span> | ||
| 3473 | <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#custom-stopping-strings" class="notes-link" target="_blank"> | ||
| 3465 | <span class="fa-solid fa-circle-question note-link-span"></span> | 3474 | <span class="fa-solid fa-circle-question note-link-span"></span> |
| 3466 | </a> | 3475 | </a> |
| 3476 | </h4> | ||
| 3477 | <div> | ||
| 3478 | <small> | ||
| 3479 | <span data-i18n="JSON serialized array of strings">JSON serialized array of strings</span> | ||
| 3480 | <i class="fa-solid fa-question-circle opacity50p" title="e.g: ["Ford", "BMW", "Fiat"]"></i> | ||
| 3481 | </small> | ||
| 3467 | </div> | 3482 | </div> |
| 3468 | <input id="token_padding" class="text_pole textarea_compact" type="number" min="-2048" max="2048" /> | ||
| 3469 | </div> | ||
| 3470 | <div class="flex-container flexFlowColumn" data-newbie-hidden> | ||
| 3471 | <div> | 3483 | <div> |
| 3472 | <h4 class="range-block-title justifyLeft"> | 3484 | <textarea id="custom_stopping_strings" class="text_pole textarea_compact monospace autoSetHeight"></textarea> |
| 3473 | <span data-i18n="Start Reply With"> | 3485 | </div> |
| 3474 | Start Reply With | 3486 | <label class="checkbox_label" for="custom_stopping_strings_macro"> |
| 3475 | </span> | 3487 | <input id="custom_stopping_strings_macro" type="checkbox" checked> |
| 3488 | <small data-i18n="Replace Macro in Custom Stopping Strings"> | ||
| 3489 | Replace Macro in Custom Stopping Strings | ||
| 3490 | </small> | ||
| 3491 | </label> | ||
| 3492 | </div> | ||
| 3493 | |||
| 3494 | <div name="tokenizerSettingsBlock"> | ||
| 3495 | <div name="tokenizerSelectorBlock"> | ||
| 3496 | <h4 class="standoutHeader"><span data-i18n="Tokenizer">Tokenizer</span> | ||
| 3497 | <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#tokenizer" class="notes-link" target="_blank"> | ||
| 3498 | <span class="fa-solid fa-circle-question note-link-span"></span> | ||
| 3499 | </a> | ||
| 3476 | </h4> | 3500 | </h4> |
| 3477 | <div> | 3501 | <select id="tokenizer"> |
| 3478 | <textarea id="start_reply_with" rows="2" class="text_pole textarea_compact" data-i18n="[placeholder]AI reply prefix" placeholder="AI reply prefix"></textarea> | 3502 | <option value="99">Best match (recommended)</option> |
| 3503 | <option value="0">None / Estimated</option> | ||
| 3504 | <option value="1">GPT-2</option> | ||
| 3505 | <!-- Option #2 was a legacy GPT-2/3 tokenizer --> | ||
| 3506 | <option value="3">Llama 1/2</option> | ||
| 3507 | <option value="12">Llama 3</option> | ||
| 3508 | <option value="13">Gemma / Gemini</option> | ||
| 3509 | <option value="14">Jamba</option> | ||
| 3510 | <option value="15">Qwen2</option> | ||
| 3511 | <option value="16">Command-R</option> | ||
| 3512 | <option value="4">NerdStash (NovelAI Clio)</option> | ||
| 3513 | <option value="5">NerdStash v2 (NovelAI Kayra)</option> | ||
| 3514 | <option value="7">Mistral V1</option> | ||
| 3515 | <option value="17">Mistral Nemo</option> | ||
| 3516 | <option value="8">Yi</option> | ||
| 3517 | <option value="11">Claude 1/2</option> | ||
| 3518 | <option value="6">API (WebUI / koboldcpp)</option> | ||
| 3519 | </select> | ||
| 3520 | </div> | ||
| 3521 | <div class="range-block flex-container flexnowrap" name="tokenPaddingBlock"> | ||
| 3522 | <div class="range-block-title justifyLeft"> | ||
| 3523 | <small data-i18n="Token Padding" class="flex-container">Token Padding | ||
| 3524 | <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#token-padding" class="notes-link" target="_blank"> | ||
| 3525 | <span class="fa-solid fa-circle-question note-link-span"></span> | ||
| 3526 | </a> | ||
| 3527 | </small> | ||
| 3479 | </div> | 3528 | </div> |
| 3480 | <label class="checkbox_label" for="chat-show-reply-prefix-checkbox"> | 3529 | <input id="token_padding" class="text_pole textarea_compact" type="number" min="-2048" max="2048" /> |
| 3481 | <input id="chat-show-reply-prefix-checkbox" type="checkbox" /> | ||
| 3482 | <span data-i18n="Show reply prefix in chat"> | ||
| 3483 | Show reply prefix in chat | ||
| 3484 | </span> | ||
| 3485 | </label> | ||
| 3486 | </div> | 3530 | </div> |
| 3531 | </div> | ||
| 3532 | <div> | ||
| 3533 | <h4 class="standoutHeader" data-i18n="Miscellaneous">Miscellaneous</h4> | ||
| 3487 | <div> | 3534 | <div> |
| 3488 | <h4 class="range-block-title justifyLeft"> | 3535 | <small> |
| 3489 | <span data-i18n="Non-markdown strings"> | 3536 | <span data-i18n="Non-markdown strings"> |
| 3490 | Non-markdown strings | 3537 | Non-markdown strings |
| 3491 | </span> | 3538 | </span> |
| 3492 | </h4> | 3539 | </small> |
| 3493 | <div> | 3540 | <div> |
| 3494 | <input id="markdown_escape_strings" class="text_pole textarea_compact" type="text" data-i18n="[placeholder]separate with commas w/o space between" placeholder="separate with commas w/o space between" maxlength="100" /> | 3541 | <input id="markdown_escape_strings" class="text_pole textarea_compact" type="text" data-i18n="[placeholder]comma delimited,no spaces between" placeholder="comma delimited,no spaces between" /> |
| 3495 | </div> | 3542 | </div> |
| 3496 | </div> | 3543 | </div> |
| 3497 | <div> | 3544 | |
| 3498 | <h4 class="range-block-title justifyLeft"> | 3545 | <div name="startReplyWithBlock"> |
| 3499 | <span data-i18n="Custom Stopping Strings"> | ||
| 3500 | Custom Stopping Strings | ||
| 3501 | </span> | ||
| 3502 | <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#custom-stopping-strings" class="notes-link" target="_blank"> | ||
| 3503 | <span class="fa-solid fa-circle-question note-link-span"></span> | ||
| 3504 | </a> | ||
| 3505 | </h4> | ||
| 3506 | <div> | 3546 | <div> |
| 3507 | <small> | 3547 | <small> |
| 3508 | <span data-i18n="JSON serialized array of strings">JSON serialized array of strings</span> | 3548 | <span data-i18n="Start Reply With"> |
| 3549 | Start Reply With | ||
| 3550 | </span> | ||
| 3509 | </small> | 3551 | </small> |
| 3552 | <div> | ||
| 3553 | <textarea id="start_reply_with" class="text_pole textarea_compact autoSetHeight"></textarea> | ||
| 3554 | </div> | ||
| 3555 | <label class="checkbox_label" for="chat-show-reply-prefix-checkbox"> | ||
| 3556 | <input id="chat-show-reply-prefix-checkbox" type="checkbox" /> | ||
| 3557 | <small data-i18n="Show reply prefix in chat"> | ||
| 3558 | Show reply prefix in chat | ||
| 3559 | </small> | ||
| 3560 | </label> | ||
| 3510 | </div> | 3561 | </div> |
| 3511 | <div> | ||
| 3512 | <textarea id="custom_stopping_strings" rows="2" class="text_pole textarea_compact monospace" placeholder="["Ford", "BMW", "Fiat"]"></textarea> | ||
| 3513 | </div> | ||
| 3514 | <label class="checkbox_label" for="custom_stopping_strings_macro"> | ||
| 3515 | <input id="custom_stopping_strings_macro" type="checkbox" checked> | ||
| 3516 | <span data-i18n="Replace Macro in Custom Stopping Strings"> | ||
| 3517 | Replace Macro in Custom Stopping Strings | ||
| 3518 | </span> | ||
| 3519 | </label> | ||
| 3520 | </div> | ||
| 3521 | </div> | ||
| 3522 | <div data-newbie-hidden> | ||
| 3523 | <h4> | ||
| 3524 | <span data-i18n="Auto-Continue">Auto-Continue</span> | ||
| 3525 | </h4> | ||
| 3526 | <div class="flex-container"> | ||
| 3527 | <label class="checkbox_label" for="auto_continue_enabled"> | ||
| 3528 | <input id="auto_continue_enabled" type="checkbox" /> | ||
| 3529 | <span data-i18n="Enabled"> | ||
| 3530 | Enabled | ||
| 3531 | </span> | ||
| 3532 | </label> | ||
| 3533 | <label class="checkbox_label" for="auto_continue_allow_chat_completions"> | ||
| 3534 | <input id="auto_continue_allow_chat_completions" type="checkbox" /> | ||
| 3535 | <span data-i18n="Allow for Chat Completion APIs"> | ||
| 3536 | Allow for Chat Completion APIs | ||
| 3537 | </span> | ||
| 3538 | </label> | ||
| 3539 | </div> | ||
| 3540 | |||
| 3541 | <div class="auto_continue_settings_block"> | ||
| 3542 | <label for="auto_continue_target_length"> | ||
| 3543 | <span data-i18n="Target length (tokens)">Target length (tokens)</span> | ||
| 3544 | <input id="auto_continue_target_length" type="number" class="text_pole textarea_compact" min="0" max="1024" /> | ||
| 3545 | </label> | ||
| 3546 | </div> | 3562 | </div> |
| 3547 | </div> | 3563 | </div> |
| 3548 | </div> | 3564 | </div> |
| @@ -3551,16 +3567,18 @@ | |||
| 3551 | </div> | 3567 | </div> |
| 3552 | <div id="WI-SP-button" class="drawer"> | 3568 | <div id="WI-SP-button" class="drawer"> |
| 3553 | <div class="drawer-toggle drawer-header"> | 3569 | <div class="drawer-toggle drawer-header"> |
| 3554 | <div id="WIDrawerIcon" class="drawer-icon fa-solid fa-book-atlas closedIcon " title="World Info" data-i18n="[title]World Info"></div> | 3570 | <div id="WIDrawerIcon" class="drawer-icon fa-solid fa-book-atlas fa-fw closedIcon " title="World Info" data-i18n="[title]World Info"></div> |
| 3555 | </div> | 3571 | </div> |
| 3556 | <div id="WorldInfo" class="drawer-content closedDrawer"> | 3572 | <div id="WorldInfo" class="drawer-content closedDrawer"> |
| 3557 | <div id="WorldInfoheader" class="fa-solid fa-grip drag-grabber"></div> | 3573 | <div id="WorldInfoheader" class="fa-solid fa-grip drag-grabber"></div> |
| 3558 | <div id="WI_panel_pin_div" class="flex-container alignitemscenter gap10px" title="Locked = World Editor will stay open" data-i18n="[title]Locked = World Editor will stay open"> | 3574 | <div class="flex-container alignitemscenter gap10px"> |
| 3559 | <input type="checkbox" id="WI_panel_pin"> | 3575 | <div id="WI_panel_pin_div" title="Locked = World Editor will stay open" data-i18n="[title]Locked = World Editor will stay open"> |
| 3560 | <label for="WI_panel_pin"> | 3576 | <input type="checkbox" id="WI_panel_pin"> |
| 3561 | <div class="unchecked fa-solid fa-unlock "></div> | 3577 | <label for="WI_panel_pin"> |
| 3562 | <div class="checked fa-solid fa-lock "></div> | 3578 | <div class="unchecked fa-solid fa-unlock "></div> |
| 3563 | </label> | 3579 | <div class="checked fa-solid fa-lock "></div> |
| 3580 | </label> | ||
| 3581 | </div> | ||
| 3564 | <h3 class="margin0"> | 3582 | <h3 class="margin0"> |
| 3565 | <span data-i18n="Worlds/Lorebooks">Worlds/Lorebooks</span> | 3583 | <span data-i18n="Worlds/Lorebooks">Worlds/Lorebooks</span> |
| 3566 | <a href="https://docs.sillytavern.app/usage/core-concepts/worldinfo/" class="notes-link" target="_blank"> | 3584 | <a href="https://docs.sillytavern.app/usage/core-concepts/worldinfo/" class="notes-link" target="_blank"> |
| @@ -3750,7 +3768,7 @@ | |||
| 3750 | </div> | 3768 | </div> |
| 3751 | <div id="user-settings-button" class="drawer"> | 3769 | <div id="user-settings-button" class="drawer"> |
| 3752 | <div class="drawer-toggle"> | 3770 | <div class="drawer-toggle"> |
| 3753 | <div class="drawer-icon fa-solid fa-user-cog closedIcon" title="User Settings" data-i18n="[title]User Settings"></div> | 3771 | <div class="drawer-icon fa-solid fa-user-cog fa-fw closedIcon" title="User Settings" data-i18n="[title]User Settings"></div> |
| 3754 | </div> | 3772 | </div> |
| 3755 | <div id="user-settings-block" class="drawer-content closedDrawer"> | 3773 | <div id="user-settings-block" class="drawer-content closedDrawer"> |
| 3756 | <div class="flex-container flexFlowColumn"> | 3774 | <div class="flex-container flexFlowColumn"> |
| @@ -3758,10 +3776,6 @@ | |||
| 3758 | <div class="flex-container"> | 3776 | <div class="flex-container"> |
| 3759 | <div class="flex-container flexnowrap alignItemsBaseline"> | 3777 | <div class="flex-container flexnowrap alignItemsBaseline"> |
| 3760 | <h3 class="margin0"><span data-i18n="User Settings">User Settings</span></h3> | 3778 | <h3 class="margin0"><span data-i18n="User Settings">User Settings</span></h3> |
| 3761 | <select id="ui_mode_select" class="margin0 widthNatural"> | ||
| 3762 | <option value="0" data-i18n="Simple">Simple</option> | ||
| 3763 | <option value="1" data-i18n="Advanced">Advanced</option> | ||
| 3764 | </select> | ||
| 3765 | </div> | 3779 | </div> |
| 3766 | </div> | 3780 | </div> |
| 3767 | <div id="UI-language-block" class="flex-container alignItemsBaseline"> | 3781 | <div id="UI-language-block" class="flex-container alignItemsBaseline"> |
| @@ -3792,7 +3806,7 @@ | |||
| 3792 | </div> | 3806 | </div> |
| 3793 | </div> | 3807 | </div> |
| 3794 | <div id="user-settings-block-content" class="flex-container spaceEvenly"> | 3808 | <div id="user-settings-block-content" class="flex-container spaceEvenly"> |
| 3795 | <div name="UserSettingsFirstColumn" id="UI-Theme-Block" class="flex-container flexFlowColumn wide100p"> | 3809 | <div name="UserSettingsFirstColumn" id="UI-Theme-Block" class="flex-container flexFlowColumn wide100p flex1"> |
| 3796 | <div id="UI-presets-block" class="flex-container flexFlowColumn"> | 3810 | <div id="UI-presets-block" class="flex-container flexFlowColumn"> |
| 3797 | <h4 class="title_restorable"> | 3811 | <h4 class="title_restorable"> |
| 3798 | <span data-i18n="UI Theme">UI Theme</span> | 3812 | <span data-i18n="UI Theme">UI Theme</span> |
| @@ -3820,10 +3834,10 @@ | |||
| 3820 | </div> | 3834 | </div> |
| 3821 | </div> | 3835 | </div> |
| 3822 | </div> | 3836 | </div> |
| 3823 | <div name="themeElements" data-newbie-hidden class="flex-container flexFlowColumn flexNoGap"> | 3837 | <div name="themeElements" class="flex-container flexFlowColumn flexNoGap"> |
| 3824 | <!-- <h4><span data-i18n="UI Colors">Theme Settings</span></h4> --> | 3838 | <!-- <h4><span data-i18n="UI Colors">Theme Settings</span></h4> --> |
| 3825 | <div name="AvatarAndChatDisplay" class="flex-container flexFlowColumn"> | 3839 | <div name="AvatarAndChatDisplay" class="flex-container flexFlowColumn"> |
| 3826 | <div class="flex-container"> | 3840 | <div class="flex-container alignItemsBaseline"> |
| 3827 | <span data-i18n="Avatar Style">Avatars:</span> | 3841 | <span data-i18n="Avatar Style">Avatars:</span> |
| 3828 | <select id="avatar_style" class="widthNatural flex1 margin0"> | 3842 | <select id="avatar_style" class="widthNatural flex1 margin0"> |
| 3829 | <option value="0" data-i18n="Circle">Circle</option> | 3843 | <option value="0" data-i18n="Circle">Circle</option> |
| @@ -3831,16 +3845,16 @@ | |||
| 3831 | <option value="1" data-i18n="Rectangle">Rectangle</option> | 3845 | <option value="1" data-i18n="Rectangle">Rectangle</option> |
| 3832 | </select> | 3846 | </select> |
| 3833 | </div> | 3847 | </div> |
| 3834 | <div class="flex-container"> | 3848 | <div class="flex-container alignItemsBaseline"> |
| 3835 | <span data-i18n="Chat Style:">Chat Style:</span><br> | 3849 | <span data-i18n="Chat Style:">Chat Style:</span><br> |
| 3836 | <select id="chat_display" class="widthNatural flex1 margin0"> | 3850 | <select id="chat_display" class="widthNatural flex1 margin0"> |
| 3837 | <option value="0" data-i18n="Flat">Flat</span> | 3851 | <option value="0" data-i18n="Flat">Flat</option> |
| 3838 | <option value="1" data-i18n="Bubbles">Bubbles</option> | 3852 | <option value="1" data-i18n="Bubbles">Bubbles</option> |
| 3839 | <option value="2" data-i18n="Document">Document</option> | 3853 | <option value="2" data-i18n="Document">Document</option> |
| 3840 | </select> | 3854 | </select> |
| 3841 | </div> | 3855 | </div> |
| 3842 | </div> | 3856 | </div> |
| 3843 | <div data-newbie-hidden class="inline-drawer wide100p flexFlowColumn"> | 3857 | <div class="inline-drawer wide100p flexFlowColumn"> |
| 3844 | <div class="inline-drawer-toggle inline-drawer-header userSettingsInnerExpandable" title="Specify colors for your theme." data-i18n="[title]Specify colors for your theme."> | 3858 | <div class="inline-drawer-toggle inline-drawer-header userSettingsInnerExpandable" title="Specify colors for your theme." data-i18n="[title]Specify colors for your theme."> |
| 3845 | <b><span data-i18n="Theme Colors">Theme Colors</span></b> | 3859 | <b><span data-i18n="Theme Colors">Theme Colors</span></b> |
| 3846 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> | 3860 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| @@ -3891,7 +3905,7 @@ | |||
| 3891 | </div> | 3905 | </div> |
| 3892 | </div> | 3906 | </div> |
| 3893 | <hr> | 3907 | <hr> |
| 3894 | <div data-newbie-hidden name="FontBlurChatWidthBlock" class="flex-container"> | 3908 | <div name="FontBlurChatWidthBlock" class="flex-container"> |
| 3895 | 3909 | ||
| 3896 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> | 3910 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> |
| 3897 | <small> | 3911 | <small> |
| @@ -3907,8 +3921,8 @@ | |||
| 3907 | <span data-i18n="Font Scale">Font Scale</span> | 3921 | <span data-i18n="Font Scale">Font Scale</span> |
| 3908 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Font size" title="Font size"></div> | 3922 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Font size" title="Font size"></div> |
| 3909 | </small> | 3923 | </small> |
| 3910 | <input class="neo-range-slider" type="range" id="font_scale" name="font_scale" min="0.8" max="1.2" step="0.01"> | 3924 | <input class="neo-range-slider" type="range" id="font_scale" name="font_scale" min="0.5" max="1.5" step="0.01"> |
| 3911 | <input class="neo-range-input" type="number" min="0.8" max="1.2" step="0.01" data-for="font_scale" id="font_scale_counter"> | 3925 | <input class="neo-range-input" type="number" min="0.5" max="1.5" step="0.01" data-for="font_scale" id="font_scale_counter"> |
| 3912 | </div> | 3926 | </div> |
| 3913 | 3927 | ||
| 3914 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> | 3928 | <div class="alignitemscenter flex-container flexFlowColumn flexBasis48p flexGrow flexShrink gap0"> |
| @@ -3937,11 +3951,11 @@ | |||
| 3937 | <input id="reduced_motion" type="checkbox" /> | 3951 | <input id="reduced_motion" type="checkbox" /> |
| 3938 | <small data-i18n="Reduced Motion">Reduced Motion</small> | 3952 | <small data-i18n="Reduced Motion">Reduced Motion</small> |
| 3939 | </label> | 3953 | </label> |
| 3940 | <label data-newbie-hidden for="fast_ui_mode" class="checkbox_label" title="Remove blur from window backgrounds, for faster rendering." data-i18n="[title]removes blur from window backgrounds"> | 3954 | <label for="fast_ui_mode" class="checkbox_label" title="Remove blur from window backgrounds, for faster rendering." data-i18n="[title]removes blur from window backgrounds"> |
| 3941 | <input id="fast_ui_mode" type="checkbox" /> | 3955 | <input id="fast_ui_mode" type="checkbox" /> |
| 3942 | <small data-i18n="No Blur Effect">No Blur Effect</small> | 3956 | <small data-i18n="No Blur Effect">No Blur Effect</small> |
| 3943 | </label> | 3957 | </label> |
| 3944 | <label data-newbie-hidden for="noShadowsmode" class="checkbox_label" title="Remove text shadow effect." data-i18n="[title]Remove text shadow effect"> | 3958 | <label for="noShadowsmode" class="checkbox_label" title="Remove text shadow effect." data-i18n="[title]Remove text shadow effect"> |
| 3945 | <input id="noShadowsmode" type="checkbox" /> | 3959 | <input id="noShadowsmode" type="checkbox" /> |
| 3946 | <small data-i18n="No Text Shadows">No Text Shadows</small> | 3960 | <small data-i18n="No Text Shadows">No Text Shadows</small> |
| 3947 | </label> | 3961 | </label> |
| @@ -3949,39 +3963,39 @@ | |||
| 3949 | <input id="waifuMode" type="checkbox" /> | 3963 | <input id="waifuMode" type="checkbox" /> |
| 3950 | <small data-i18n="Waifu Mode">Visual Novel Mode</small> | 3964 | <small data-i18n="Waifu Mode">Visual Novel Mode</small> |
| 3951 | </label> | 3965 | </label> |
| 3952 | <label data-newbie-hidden for="expandMessageActions" class="checkbox_label" title="Always show the full list of the Message Actions context items for chat messages, instead of hiding them behind '...'." data-i18n="[title]Always show the full list of the Message Actions context items for chat messages, instead of hiding them behind '...'"> | 3966 | <label for="expandMessageActions" class="checkbox_label" title="Always show the full list of the Message Actions context items for chat messages, instead of hiding them behind '...'." data-i18n="[title]Always show the full list of the Message Actions context items for chat messages, instead of hiding them behind '...'"> |
| 3953 | <input id="expandMessageActions" type="checkbox" /> | 3967 | <input id="expandMessageActions" type="checkbox" /> |
| 3954 | <small data-i18n="Auto-Expand Message Actions">Expand Message Actions</small> | 3968 | <small data-i18n="Auto-Expand Message Actions">Expand Message Actions</small> |
| 3955 | </label> | 3969 | </label> |
| 3956 | <label data-newbie-hidden for="enableZenSliders" class="checkbox_label" title="Alternative UI for numeric sampling parameters with fewer steps." data-i18n="[title]Alternative UI for numeric sampling parameters with fewer steps"> | 3970 | <label for="enableZenSliders" class="checkbox_label" title="Alternative UI for numeric sampling parameters with fewer steps." data-i18n="[title]Alternative UI for numeric sampling parameters with fewer steps"> |
| 3957 | <input id="enableZenSliders" type="checkbox" /> | 3971 | <input id="enableZenSliders" type="checkbox" /> |
| 3958 | <small data-i18n="Zen Sliders">Zen Sliders</small> | 3972 | <small data-i18n="Zen Sliders">Zen Sliders</small> |
| 3959 | </label> | 3973 | </label> |
| 3960 | <label data-newbie-hidden for="enableLabMode" class="checkbox_label" title="Entirely unrestrict all numeric sampling parameters." data-i18n="[title]Entirely unrestrict all numeric sampling parameters"> | 3974 | <label for="enableLabMode" class="checkbox_label" title="Entirely unrestrict all numeric sampling parameters." data-i18n="[title]Entirely unrestrict all numeric sampling parameters"> |
| 3961 | <input id="enableLabMode" type="checkbox" /> | 3975 | <input id="enableLabMode" type="checkbox" /> |
| 3962 | <small data-i18n="Mad Lab Mode">Mad Lab Mode</small> | 3976 | <small data-i18n="Mad Lab Mode">Mad Lab Mode</small> |
| 3963 | </label> | 3977 | </label> |
| 3964 | <label data-newbie-hidden for="messageTimerEnabled" class="checkbox_label" title="Time the AI's message generation, and show the duration in the chat log." data-i18n="[title]Time the AI's message generation, and show the duration in the chat log"> | 3978 | <label for="messageTimerEnabled" class="checkbox_label" title="Time the AI's message generation, and show the duration in the chat log." data-i18n="[title]Time the AI's message generation, and show the duration in the chat log"> |
| 3965 | <input id="messageTimerEnabled" type="checkbox" /> | 3979 | <input id="messageTimerEnabled" type="checkbox" /> |
| 3966 | <small data-i18n="Message Timer">Message Timer</small> | 3980 | <small data-i18n="Message Timer">Message Timer</small> |
| 3967 | </label> | 3981 | </label> |
| 3968 | <label data-newbie-hidden for="messageTimestampsEnabled" class="checkbox_label" title="Show a timestamp for each message in the chat log." data-i18n="[title]Show a timestamp for each message in the chat log"> | 3982 | <label for="messageTimestampsEnabled" class="checkbox_label" title="Show a timestamp for each message in the chat log." data-i18n="[title]Show a timestamp for each message in the chat log"> |
| 3969 | <input id="messageTimestampsEnabled" type="checkbox" /> | 3983 | <input id="messageTimestampsEnabled" type="checkbox" /> |
| 3970 | <small data-i18n="Chat Timestamps">Chat Timestamps</small> | 3984 | <small data-i18n="Chat Timestamps">Chat Timestamps</small> |
| 3971 | </label> | 3985 | </label> |
| 3972 | <label data-newbie-hidden for="messageModelIconEnabled" class="checkbox_label" title="Show an icon for the API that generated the message." data-i18n="[title]Show an icon for the API that generated the message"> | 3986 | <label for="messageModelIconEnabled" class="checkbox_label" title="Show an icon for the API that generated the message." data-i18n="[title]Show an icon for the API that generated the message"> |
| 3973 | <input id="messageModelIconEnabled" type="checkbox" /> | 3987 | <input id="messageModelIconEnabled" type="checkbox" /> |
| 3974 | <small data-i18n="Model Icon">Model Icons</small> | 3988 | <small data-i18n="Model Icon">Model Icons</small> |
| 3975 | </label> | 3989 | </label> |
| 3976 | <label data-newbie-hidden for="mesIDDisplayEnabled" class="checkbox_label" title="Show sequential message numbers in the chat log." data-i18n="[title]Show sequential message numbers in the chat log"> | 3990 | <label for="mesIDDisplayEnabled" class="checkbox_label" title="Show sequential message numbers in the chat log." data-i18n="[title]Show sequential message numbers in the chat log"> |
| 3977 | <input id="mesIDDisplayEnabled" type="checkbox" /> | 3991 | <input id="mesIDDisplayEnabled" type="checkbox" /> |
| 3978 | <small data-i18n="Message IDs">Message IDs</small> | 3992 | <small data-i18n="Message IDs">Message IDs</small> |
| 3979 | </label> | 3993 | </label> |
| 3980 | <label data-newbie-hidden for="hideChatAvatarsEnabled" class="checkbox_label" title="Hide avatars in chat messages." data-i18n="[title]Hide avatars in chat messages."> | 3994 | <label for="hideChatAvatarsEnabled" class="checkbox_label" title="Hide avatars in chat messages." data-i18n="[title]Hide avatars in chat messages."> |
| 3981 | <input id="hideChatAvatarsEnabled" type="checkbox" /> | 3995 | <input id="hideChatAvatarsEnabled" type="checkbox" /> |
| 3982 | <small data-i18n="Hide Chat Avatars">Hide Chat Avatars</small> | 3996 | <small data-i18n="Hide Chat Avatars">Hide Chat Avatars</small> |
| 3983 | </label> | 3997 | </label> |
| 3984 | <label data-newbie-hidden for="messageTokensEnabled" class="checkbox_label" title="Show the number of tokens for each message in the chat log." data-i18n="[title]Show the number of tokens in each message in the chat log"> | 3998 | <label for="messageTokensEnabled" class="checkbox_label" title="Show the number of tokens for each message in the chat log." data-i18n="[title]Show the number of tokens in each message in the chat log"> |
| 3985 | <input id="messageTokensEnabled" type="checkbox" /> | 3999 | <input id="messageTokensEnabled" type="checkbox" /> |
| 3986 | <small data-i18n="Show Message Token Count">Message Token Count</small> | 4000 | <small data-i18n="Show Message Token Count">Message Token Count</small> |
| 3987 | </label> | 4001 | </label> |
| @@ -3989,7 +4003,7 @@ | |||
| 3989 | <input id="compact_input_area" type="checkbox" /> | 4003 | <input id="compact_input_area" type="checkbox" /> |
| 3990 | <small data-i18n="Compact Input Area (Mobile)">Compact Input Area</small><i class="fa-solid fa-mobile-screen-button"></i> | 4004 | <small data-i18n="Compact Input Area (Mobile)">Compact Input Area</small><i class="fa-solid fa-mobile-screen-button"></i> |
| 3991 | </label> | 4005 | </label> |
| 3992 | <label data-newbie-hidden for="hotswapEnabled" class="checkbox_label" title="In the Character Management panel, show quick selection buttons for favorited characters." data-i18n="[title]In the Character Management panel, show quick selection buttons for favorited characters"> | 4006 | <label for="hotswapEnabled" class="checkbox_label" title="In the Character Management panel, show quick selection buttons for favorited characters." data-i18n="[title]In the Character Management panel, show quick selection buttons for favorited characters"> |
| 3993 | <input id="hotswapEnabled" type="checkbox" /> | 4007 | <input id="hotswapEnabled" type="checkbox" /> |
| 3994 | <small data-i18n="Characters Hotswap">Characters Hotswap</small> | 4008 | <small data-i18n="Characters Hotswap">Characters Hotswap</small> |
| 3995 | </label> | 4009 | </label> |
| @@ -4009,8 +4023,8 @@ | |||
| 4009 | 4023 | ||
| 4010 | </div> | 4024 | </div> |
| 4011 | </div> | 4025 | </div> |
| 4012 | <div name="UserSettingsSecondColumn" id="UI-Customization" class="flex-container flexFlowColumn wide100p flexNoGap"> | 4026 | <div name="UserSettingsSecondColumn" id="UI-Customization" class="flex-container flexFlowColumn wide100p flexNoGap flex1"> |
| 4013 | <div data-newbie-hidden name="CharacterHandlingToggles"> | 4027 | <div name="CharacterHandlingToggles"> |
| 4014 | <h4 data-i18n="Character Handling"> | 4028 | <h4 data-i18n="Character Handling"> |
| 4015 | Character Handling | 4029 | Character Handling |
| 4016 | </h4> | 4030 | </h4> |
| @@ -4021,7 +4035,7 @@ | |||
| 4021 | <option data-i18n="Created by" value="creator">Created by</option> | 4035 | <option data-i18n="Created by" value="creator">Created by</option> |
| 4022 | </select> | 4036 | </select> |
| 4023 | </div> | 4037 | </div> |
| 4024 | <div data-newbie-hidden class="flex-container alignitemscenter" title="Defines on importing cards which action should be chosen for importing its listed tags. 'Ask' will always display the dialog." data-i18n="[title]Defines on importing cards which action should be chosen for importing its listed tags. 'Ask' will always display the dialog."> | 4038 | <div class="flex-container alignitemscenter" title="Defines on importing cards which action should be chosen for importing its listed tags. 'Ask' will always display the dialog." data-i18n="[title]Defines on importing cards which action should be chosen for importing its listed tags. 'Ask' will always display the dialog."> |
| 4025 | <label for="tag_import_setting"><small data-i18n="Import Card Tags">Import Card Tags</small></label> | 4039 | <label for="tag_import_setting"><small data-i18n="Import Card Tags">Import Card Tags</small></label> |
| 4026 | <select id="tag_import_setting" class="widthNatural flex1 margin0"> | 4040 | <select id="tag_import_setting" class="widthNatural flex1 margin0"> |
| 4027 | <option data-i18n="Ask" value="1">Ask</option> | 4041 | <option data-i18n="Ask" value="1">Ask</option> |
| @@ -4030,27 +4044,27 @@ | |||
| 4030 | <option data-i18n="Existing" value="4">Existing</option> | 4044 | <option data-i18n="Existing" value="4">Existing</option> |
| 4031 | </select> | 4045 | </select> |
| 4032 | </div> | 4046 | </div> |
| 4033 | <label data-newbie-hidden class="checkbox_label" for="fuzzy_search_checkbox" title="Use fuzzy matching, and search characters in the list by all data fields, not just by a name substring." data-i18n="[title]Use fuzzy matching, and search characters in the list by all data fields, not just by a name substring"> | 4047 | <label class="checkbox_label" for="fuzzy_search_checkbox" title="Use fuzzy matching, and search characters in the list by all data fields, not just by a name substring." data-i18n="[title]Use fuzzy matching, and search characters in the list by all data fields, not just by a name substring"> |
| 4034 | <input id="fuzzy_search_checkbox" type="checkbox" /> | 4048 | <input id="fuzzy_search_checkbox" type="checkbox" /> |
| 4035 | <small data-i18n="Advanced Character Search">Advanced Character Search</small> | 4049 | <small data-i18n="Advanced Character Search">Advanced Character Search</small> |
| 4036 | </label> | 4050 | </label> |
| 4037 | <label data-newbie-hidden for="prefer_character_prompt" title="If checked and the character card contains a prompt override (System Prompt), use that instead." data-i18n="[title]If checked and the character card contains a prompt override (System Prompt), use that instead" class="checkbox_label"> | 4051 | <label for="prefer_character_prompt" title="If checked and the character card contains a prompt override (System Prompt), use that instead." data-i18n="[title]If checked and the character card contains a prompt override (System Prompt), use that instead" class="checkbox_label"> |
| 4038 | <input id="prefer_character_prompt" type="checkbox" /> | 4052 | <input id="prefer_character_prompt" type="checkbox" /> |
| 4039 | <small data-i18n="Prefer Character Card Prompt">Prefer Char. Prompt</small> | 4053 | <small data-i18n="Prefer Character Card Prompt">Prefer Char. Prompt</small> |
| 4040 | </label> | 4054 | </label> |
| 4041 | <label data-newbie-hidden for="prefer_character_jailbreak" title="If checked and the character card contains a Post-History Instructions override, use that instead." data-i18n="[title]If checked and the character card contains a Post-History Instructions override, use that instead" class="checkbox_label"> | 4055 | <label for="prefer_character_jailbreak" title="If checked and the character card contains a Post-History Instructions override, use that instead." data-i18n="[title]If checked and the character card contains a Post-History Instructions override, use that instead" class="checkbox_label"> |
| 4042 | <input id="prefer_character_jailbreak" type="checkbox" /> | 4056 | <input id="prefer_character_jailbreak" type="checkbox" /> |
| 4043 | <small data-i18n="Prefer Character Card Instructions">Prefer Char. Instructions</small> | 4057 | <small data-i18n="Prefer Character Card Instructions">Prefer Char. Instructions</small> |
| 4044 | </label> | 4058 | </label> |
| 4045 | <label data-newbie-hidden class="checkbox_label" for="never_resize_avatars" title="Avoid cropping and resizing imported character images. When off, crop/resize to 512x768." data-i18n="[title]Avoid cropping and resizing imported character images. When off, crop/resize to 512x768"> | 4059 | <label class="checkbox_label" for="never_resize_avatars" title="Avoid cropping and resizing imported character images. When off, crop/resize to 512x768." data-i18n="[title]Avoid cropping and resizing imported character images. When off, crop/resize to 512x768"> |
| 4046 | <input id="never_resize_avatars" type="checkbox" /> | 4060 | <input id="never_resize_avatars" type="checkbox" /> |
| 4047 | <small data-i18n="Never resize avatars">Never resize avatars</small> | 4061 | <small data-i18n="Never resize avatars">Never resize avatars</small> |
| 4048 | </label> | 4062 | </label> |
| 4049 | <label data-newbie-hidden class="checkbox_label" for="show_card_avatar_urls" title="Show actual file names on the disk, in the characters list display only." data-i18n="[title]Show actual file names on the disk, in the characters list display only"> | 4063 | <label class="checkbox_label" for="show_card_avatar_urls" title="Show actual file names on the disk, in the characters list display only." data-i18n="[title]Show actual file names on the disk, in the characters list display only"> |
| 4050 | <input id="show_card_avatar_urls" type="checkbox" /> | 4064 | <input id="show_card_avatar_urls" type="checkbox" /> |
| 4051 | <small data-i18n="Show avatar filenames">Show avatar filenames</small> | 4065 | <small data-i18n="Show avatar filenames">Show avatar filenames</small> |
| 4052 | </label> | 4066 | </label> |
| 4053 | <label data-newbie-hidden class="checkbox_label" for="spoiler_free_mode" title="Hide character definitions from the editor panel behind a spoiler button." data-i18n="[title]Hide character definitions from the editor panel behind a spoiler button"> | 4067 | <label class="checkbox_label" for="spoiler_free_mode" title="Hide character definitions from the editor panel behind a spoiler button." data-i18n="[title]Hide character definitions from the editor panel behind a spoiler button"> |
| 4054 | <input id="spoiler_free_mode" type="checkbox" /> | 4068 | <input id="spoiler_free_mode" type="checkbox" /> |
| 4055 | <small data-i18n="Spoiler Free Mode">Spoiler Free Mode</small> | 4069 | <small data-i18n="Spoiler Free Mode">Spoiler Free Mode</small> |
| 4056 | </label> | 4070 | </label> |
| @@ -4059,7 +4073,7 @@ | |||
| 4059 | 4073 | ||
| 4060 | <div name="MiscellaneousToggles"> | 4074 | <div name="MiscellaneousToggles"> |
| 4061 | <h4><span data-i18n="Miscellaneous">Miscellaneous</span></h4> | 4075 | <h4><span data-i18n="Miscellaneous">Miscellaneous</span></h4> |
| 4062 | <div data-newbie-hidden class="flex-container"> | 4076 | <div class="flex-container"> |
| 4063 | <div id="reload_chat" class="menu_button whitespacenowrap" data-i18n="[title]Reload and redraw the currently open chat" title="Reload and redraw the currently open chat."> | 4077 | <div id="reload_chat" class="menu_button whitespacenowrap" data-i18n="[title]Reload and redraw the currently open chat" title="Reload and redraw the currently open chat."> |
| 4064 | <small data-i18n="Reload Chat">Reload Chat</small> | 4078 | <small data-i18n="Reload Chat">Reload Chat</small> |
| 4065 | </div> | 4079 | </div> |
| @@ -4099,30 +4113,43 @@ | |||
| 4099 | <input id="play_sound_unfocused" type="checkbox" /> | 4113 | <input id="play_sound_unfocused" type="checkbox" /> |
| 4100 | <small data-i18n="Background Sound Only">Background Sound Only</small> | 4114 | <small data-i18n="Background Sound Only">Background Sound Only</small> |
| 4101 | </label> | 4115 | </label> |
| 4102 | <label data-newbie-hidden class="checkbox_label" for="relaxed_api_urls" title="Reduce the formatting requirements on API URLs." data-i18n="[title]Reduce the formatting requirements on API URLs"> | 4116 | <label class="checkbox_label" for="relaxed_api_urls" title="Reduce the formatting requirements on API URLs." data-i18n="[title]Reduce the formatting requirements on API URLs"> |
| 4103 | <input id="relaxed_api_urls" type="checkbox" /> | 4117 | <input id="relaxed_api_urls" type="checkbox" /> |
| 4104 | <small data-i18n="Relaxed API URLS">Relaxed API URLs</small> | 4118 | <small data-i18n="Relaxed API URLS">Relaxed API URLs</small> |
| 4105 | </label> | 4119 | </label> |
| 4106 | <label data-newbie-hidden class="checkbox_label" for="world_import_dialog" title="Ask to import the World Info/Lorebook for every new character with embedded lorebook. If unchecked, a brief message will be shown instead." data-i18n="[title]Ask to import the World Info/Lorebook for every new character with embedded lorebook. If unchecked, a brief message will be shown instead"> | 4120 | <label class="checkbox_label" for="world_import_dialog" title="Ask to import the World Info/Lorebook for every new character with embedded lorebook. If unchecked, a brief message will be shown instead." data-i18n="[title]Ask to import the World Info/Lorebook for every new character with embedded lorebook. If unchecked, a brief message will be shown instead"> |
| 4107 | <input id="world_import_dialog" type="checkbox" /> | 4121 | <input id="world_import_dialog" type="checkbox" /> |
| 4108 | <small data-i18n="Lorebook Import Dialog">Lorebook Import Dialog</small> | 4122 | <small data-i18n="Lorebook Import Dialog">Lorebook Import Dialog</small> |
| 4109 | </label> | 4123 | </label> |
| 4110 | <label data-newbie-hidden class="checkbox_label" for="enable_auto_select_input" title="Enable auto-select of input text in some text fields when clicking/selecting them. Applies to popup input textboxes, and possible other custom input fields." data-i18n="[title]Enable auto-select of input text in some text fields when clicking/selecting them. Applies to popup input textboxes, and possible other custom input fields."> | 4124 | <label class="checkbox_label" for=" enable_auto_select_input" title="Enable auto-select of input text in some text fields when clicking/selecting them. Applies to popup input textboxes, and possible other custom input fields." data-i18n="[title]Enable auto-select of input text in some text fields when clicking/selecting them. Applies to popup input textboxes, and possible other custom input fields."> |
| 4111 | <input id="enable_auto_select_input" type="checkbox" /> | 4125 | <input id="enable_auto_select_input" type="checkbox" /> |
| 4112 | <small data-i18n="Auto-select Input Text">Auto-select Input Text</small> | 4126 | <small data-i18n="Auto-select Input Text">Auto-select Input Text</small> |
| 4113 | </label> | 4127 | </label> |
| 4128 | <label class="checkbox_label alignItemsCenter" for="enable_md_hotkeys" title="Enable hotkeys for inserting markdown format characters in certain text input boxes. See '/help hotkeys'."> | ||
| 4129 | <input id="enable_md_hotkeys" type="checkbox" /> | ||
| 4130 | <small> | ||
| 4131 | <span data-i18n="Markdown Hotkeys">Markdown Hotkeys</span> | ||
| 4132 | <i class="fa-brands fa-markdown"></i> | ||
| 4133 | </small> | ||
| 4134 | </label> | ||
| 4114 | <label class="checkbox_label" for="restore_user_input" title="Restore unsaved user input on page refresh." data-i18n="[title]Restore unsaved user input on page refresh"> | 4135 | <label class="checkbox_label" for="restore_user_input" title="Restore unsaved user input on page refresh." data-i18n="[title]Restore unsaved user input on page refresh"> |
| 4115 | <input id="restore_user_input" type="checkbox" /> | 4136 | <input id="restore_user_input" type="checkbox" /> |
| 4116 | <small data-i18n="Restore User Input">Restore User Input</small> | 4137 | <small data-i18n="Restore User Input">Restore User Input</small> |
| 4117 | </label> | 4138 | </label> |
| 4118 | <div class="flex-container alignItemsCenter"> | 4139 | <div class="flex-container alignItemsCenter"> |
| 4119 | <label data-newbie-hidden id="movingUIModeCheckBlock" for="movingUImode" class="checkbox_label" title="Allow repositioning certain UI elements by dragging them. PC only, no effect on mobile." data-i18n="[title]Allow repositioning certain UI elements by dragging them. PC only, no effect on mobile"> | 4140 | <label id="movingUIModeCheckBlock" for="movingUImode" class="checkbox_label" title="Allow repositioning certain UI elements by dragging them. PC only, no effect on mobile." data-i18n="[title]Allow repositioning certain UI elements by dragging them. PC only, no effect on mobile"> |
| 4120 | <input id="movingUImode" type="checkbox" /> | 4141 | <input id="movingUImode" type="checkbox" /> |
| 4121 | <small data-i18n="Movable UI Panels">MovingUI <i class="fa-solid fa-desktop"></i></small> | 4142 | <small> |
| 4143 | <span data-i18n="Movable UI Panels">MovingUI</span> | ||
| 4144 | <i class="fa-solid fa-desktop"></i> | ||
| 4145 | </small> | ||
| 4122 | </label> | 4146 | </label> |
| 4123 | <div data-newbie-hidden id="movingUIreset" title="Reset MovingUI panel sizes/locations." class="menu_button margin0" data-i18n="[title]Reset MovingUI panel sizes/locations."><i class=" fa-solid fa-recycle margin-r5"></i> Reset</div> | 4147 | <div id="movingUIreset" title="Reset MovingUI panel sizes/locations." class="menu_button margin0" data-i18n="[title]Reset MovingUI panel sizes/locations."> |
| 4148 | <i class=" fa-solid fa-recycle margin-r5"></i> | ||
| 4149 | <span data-i18n="mui_reset">Reset</span> | ||
| 4150 | </div> | ||
| 4124 | </div> | 4151 | </div> |
| 4125 | <div data-newbie-hidden id="MovingUI-presets-block" class="flex-container alignitemscenter"> | 4152 | <div id="MovingUI-presets-block" class="flex-container alignitemscenter"> |
| 4126 | <div class="flex-container alignItemsFlexEnd"> | 4153 | <div class="flex-container alignItemsFlexEnd"> |
| 4127 | <label for="movingUIPresets" title="MovingUI preset. Predefined/saved draggable positions." data-i18n="[title]MovingUI preset. Predefined/saved draggable positions"> | 4154 | <label for="movingUIPresets" title="MovingUI preset. Predefined/saved draggable positions." data-i18n="[title]MovingUI preset. Predefined/saved draggable positions"> |
| 4128 | <small data-i18n="MUI Preset">MovingUI Preset:</small> | 4155 | <small data-i18n="MUI Preset">MovingUI Preset:</small> |
| @@ -4134,7 +4161,7 @@ | |||
| 4134 | <div id="movingui-preset-save-button" title="Save changes to a new MovingUI preset file." data-i18n="[title]Save movingUI changes to a new file" class="menu_button margin0 fa-solid fa-save"></div> | 4161 | <div id="movingui-preset-save-button" title="Save changes to a new MovingUI preset file." data-i18n="[title]Save movingUI changes to a new file" class="menu_button margin0 fa-solid fa-save"></div> |
| 4135 | </div> | 4162 | </div> |
| 4136 | </div> | 4163 | </div> |
| 4137 | <div data-newbie-hidden id="CustomCSS-block" class="flex-container flexFlowColumn"> | 4164 | <div id="CustomCSS-block" class="flex-container flexFlowColumn"> |
| 4138 | <h4 class="title_restorable" title="Apply a custom CSS style to all of the ST GUI." data-i18n="[title]Apply a custom CSS style to all of the ST GUI"> | 4165 | <h4 class="title_restorable" title="Apply a custom CSS style to all of the ST GUI." data-i18n="[title]Apply a custom CSS style to all of the ST GUI"> |
| 4139 | <span data-i18n="Custom CSS">Custom CSS</span> | 4166 | <span data-i18n="Custom CSS">Custom CSS</span> |
| 4140 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="customCSS" title="Expand the editor" data-i18n="[title]Expand the editor"></i> | 4167 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="customCSS" title="Expand the editor" data-i18n="[title]Expand the editor"></i> |
| @@ -4145,7 +4172,7 @@ | |||
| 4145 | </div> | 4172 | </div> |
| 4146 | </div> | 4173 | </div> |
| 4147 | </div> | 4174 | </div> |
| 4148 | <div name="UserSettingsThirdColumn" id="power-user-options-block" class="flex-container wide100p"> | 4175 | <div name="UserSettingsThirdColumn" id="power-user-options-block" class="flex-container wide100p flex1"> |
| 4149 | <div id="power-user-option-checkboxes"> | 4176 | <div id="power-user-option-checkboxes"> |
| 4150 | 4177 | ||
| 4151 | <div name="ChatMessageHandlingToggles"> | 4178 | <div name="ChatMessageHandlingToggles"> |
| @@ -4171,7 +4198,7 @@ | |||
| 4171 | <input class="neo-range-input" type="number" min="5" max="100" step="5" data-for="streaming_fps" id="streaming_fps_counter"> | 4198 | <input class="neo-range-input" type="number" min="5" max="100" step="5" data-for="streaming_fps" id="streaming_fps_counter"> |
| 4172 | </div> | 4199 | </div> |
| 4173 | </div> | 4200 | </div> |
| 4174 | <div data-newbie-hidden id="examples-behavior-block"> | 4201 | <div id="examples-behavior-block"> |
| 4175 | <label data-i18n="Example Messages Behavior"> | 4202 | <label data-i18n="Example Messages Behavior"> |
| 4176 | <small>Example Messages Behavior:</small> | 4203 | <small>Example Messages Behavior:</small> |
| 4177 | </label> | 4204 | </label> |
| @@ -4181,7 +4208,7 @@ | |||
| 4181 | <option value="strip" data-i18n="Never include examples">Never include examples</option> | 4208 | <option value="strip" data-i18n="Never include examples">Never include examples</option> |
| 4182 | </select> | 4209 | </select> |
| 4183 | </div> | 4210 | </div> |
| 4184 | <div data-newbie-hidden class="flex-container alignitemscenter"> | 4211 | <div class="flex-container alignitemscenter"> |
| 4185 | <small data-i18n="Send on Enter"> | 4212 | <small data-i18n="Send on Enter"> |
| 4186 | Enter to Send: | 4213 | Enter to Send: |
| 4187 | </small> | 4214 | </small> |
| @@ -4191,7 +4218,7 @@ | |||
| 4191 | <option value="1" data-i18n="Enabled">Enabled</option> | 4218 | <option value="1" data-i18n="Enabled">Enabled</option> |
| 4192 | </select> | 4219 | </select> |
| 4193 | </div> | 4220 | </div> |
| 4194 | <label data-newbie-hidden class="checkbox_label" for="continue_on_send"> | 4221 | <label class="checkbox_label" for="continue_on_send"> |
| 4195 | <input id="continue_on_send" type="checkbox" /> | 4222 | <input id="continue_on_send" type="checkbox" /> |
| 4196 | <small data-i18n="Press Send to continue"> | 4223 | <small data-i18n="Press Send to continue"> |
| 4197 | "Send" to Continue | 4224 | "Send" to Continue |
| @@ -4210,11 +4237,11 @@ | |||
| 4210 | </small> | 4237 | </small> |
| 4211 | </label> | 4238 | </label> |
| 4212 | <div class="checkbox-container flex-container"> | 4239 | <div class="checkbox-container flex-container"> |
| 4213 | <label data-newbie-hidden class="checkbox_label" for="swipes-checkbox" title="Show arrow buttons on the last in-chat message to generate alternative AI responses. Both PC and mobile." data-i18n="[title]Show arrow buttons on the last in-chat message to generate alternative AI responses. Both PC and mobile"> | 4240 | <label class="checkbox_label" for="swipes-checkbox" title="Show arrow buttons on the last in-chat message to generate alternative AI responses. Both PC and mobile." data-i18n="[title]Show arrow buttons on the last in-chat message to generate alternative AI responses. Both PC and mobile"> |
| 4214 | <input id="swipes-checkbox" type="checkbox" /> | 4241 | <input id="swipes-checkbox" type="checkbox" /> |
| 4215 | <small data-i18n="Swipes">Swipes</small><i class="fa-solid fa-desktop"></i><i class="fa-solid fa-mobile-screen-button"></i> | 4242 | <small data-i18n="Swipes">Swipes</small><i class="fa-solid fa-desktop"></i><i class="fa-solid fa-mobile-screen-button"></i> |
| 4216 | </label> | 4243 | </label> |
| 4217 | <label data-newbie-hidden class="checkbox_label" for="gestures-checkbox" title="Allow using swiping gestures on the last in-chat message to trigger swipe generation. Mobile only, no effect on PC." , data-i18n="[title]Allow using swiping gestures on the last in-chat message to trigger swipe generation. Mobile only, no effect on PC"> | 4244 | <label class="checkbox_label" for="gestures-checkbox" title="Allow using swiping gestures on the last in-chat message to trigger swipe generation. Mobile only, no effect on PC." , data-i18n="[title]Allow using swiping gestures on the last in-chat message to trigger swipe generation. Mobile only, no effect on PC"> |
| 4218 | <input id="gestures-checkbox" type="checkbox" /> | 4245 | <input id="gestures-checkbox" type="checkbox" /> |
| 4219 | <small data-i18n="Gestures">Gestures</small> | 4246 | <small data-i18n="Gestures">Gestures</small> |
| 4220 | <i class="fa-solid fa-mobile-screen-button"></i> | 4247 | <i class="fa-solid fa-mobile-screen-button"></i> |
| @@ -4224,15 +4251,15 @@ | |||
| 4224 | <input id="auto-load-chat-checkbox" type="checkbox" /> | 4251 | <input id="auto-load-chat-checkbox" type="checkbox" /> |
| 4225 | <small data-i18n="Auto-load Last Chat">Auto-load Last Chat</small> | 4252 | <small data-i18n="Auto-load Last Chat">Auto-load Last Chat</small> |
| 4226 | </label> | 4253 | </label> |
| 4227 | <label data-newbie-hidden for="auto_scroll_chat_to_bottom" class="checkbox_label"> | 4254 | <label for="auto_scroll_chat_to_bottom" class="checkbox_label"> |
| 4228 | <input id="auto_scroll_chat_to_bottom" type="checkbox" /> | 4255 | <input id="auto_scroll_chat_to_bottom" type="checkbox" /> |
| 4229 | <small data-i18n="Auto-scroll Chat">Auto-scroll Chat</small> | 4256 | <small data-i18n="Auto-scroll Chat">Auto-scroll Chat</small> |
| 4230 | </label> | 4257 | </label> |
| 4231 | <label data-newbie-hidden class="checkbox_label" for="auto_save_msg_edits" title="Save edits to messages without confirmation as you type." data-i18n="[title]Save edits to messages without confirmation as you type"> | 4258 | <label class="checkbox_label" for="auto_save_msg_edits" title="Save edits to messages without confirmation as you type." data-i18n="[title]Save edits to messages without confirmation as you type"> |
| 4232 | <input id="auto_save_msg_edits" type="checkbox" /> | 4259 | <input id="auto_save_msg_edits" type="checkbox" /> |
| 4233 | <small data-i18n="Auto-save Message Edits">Auto-save Message Edits</small> | 4260 | <small data-i18n="Auto-save Message Edits">Auto-save Message Edits</small> |
| 4234 | </label> | 4261 | </label> |
| 4235 | <label data-newbie-hidden class="checkbox_label" for="confirm_message_delete"> | 4262 | <label class="checkbox_label" for="confirm_message_delete"> |
| 4236 | <input id="confirm_message_delete" type="checkbox" /> | 4263 | <input id="confirm_message_delete" type="checkbox" /> |
| 4237 | <small data-i18n="Confirm message deletion">Confirm message deletion</small> | 4264 | <small data-i18n="Confirm message deletion">Confirm message deletion</small> |
| 4238 | </label> | 4265 | </label> |
| @@ -4240,7 +4267,7 @@ | |||
| 4240 | <input id="auto_fix_generated_markdown" type="checkbox" /> | 4267 | <input id="auto_fix_generated_markdown" type="checkbox" /> |
| 4241 | <small data-i18n="Auto-fix Markdown">Auto-fix Markdown</small> | 4268 | <small data-i18n="Auto-fix Markdown">Auto-fix Markdown</small> |
| 4242 | </label> | 4269 | </label> |
| 4243 | <label data-newbie-hidden class="checkbox_label" for="render_formulas" title="Render LaTeX and AsciiMath equation notation in chat messages. Powered by KaTeX." data-i18n="[title]Render LaTeX and AsciiMath equation notation in chat messages. Powered by KaTeX"> | 4270 | <label class="checkbox_label" for="render_formulas" title="Render LaTeX and AsciiMath equation notation in chat messages. Powered by KaTeX." data-i18n="[title]Render LaTeX and AsciiMath equation notation in chat messages. Powered by KaTeX"> |
| 4244 | <input id="render_formulas" type="checkbox" /> | 4271 | <input id="render_formulas" type="checkbox" /> |
| 4245 | <small data-i18n="Render Formulas">Render Formulas</small> | 4272 | <small data-i18n="Render Formulas">Render Formulas</small> |
| 4246 | <a href="https://docs.sillytavern.app/usage/core-concepts/uicustomization/#formulas-rendering" class="notes-link" target="_blank"> | 4273 | <a href="https://docs.sillytavern.app/usage/core-concepts/uicustomization/#formulas-rendering" class="notes-link" target="_blank"> |
| @@ -4251,11 +4278,11 @@ | |||
| 4251 | <input id="forbid_external_media" type="checkbox" /> | 4278 | <input id="forbid_external_media" type="checkbox" /> |
| 4252 | <small data-i18n="Forbid External Media">Forbid External Media</small> | 4279 | <small data-i18n="Forbid External Media">Forbid External Media</small> |
| 4253 | </label> | 4280 | </label> |
| 4254 | <label data-newbie-hidden class="checkbox_label" for="allow_name2_display"> | 4281 | <label class="checkbox_label" for="allow_name2_display"> |
| 4255 | <input id="allow_name2_display" type="checkbox" /> | 4282 | <input id="allow_name2_display" type="checkbox" /> |
| 4256 | <small data-i18n="Allow {{char}}: in bot messages">Show {{char}}: in responses</small> | 4283 | <small data-i18n="Allow {{char}}: in bot messages">Show {{char}}: in responses</small> |
| 4257 | </label> | 4284 | </label> |
| 4258 | <label data-newbie-hidden class="checkbox_label" for="allow_name1_display"> | 4285 | <label class="checkbox_label" for="allow_name1_display"> |
| 4259 | <input id="allow_name1_display" type="checkbox" /> | 4286 | <input id="allow_name1_display" type="checkbox" /> |
| 4260 | <small data-i18n="Allow {{user}}: in bot messages">Show {{user}}: in responses</small> | 4287 | <small data-i18n="Allow {{user}}: in bot messages">Show {{user}}: in responses</small> |
| 4261 | </label> | 4288 | </label> |
| @@ -4263,23 +4290,23 @@ | |||
| 4263 | <input id="encode_tags" type="checkbox" /> | 4290 | <input id="encode_tags" type="checkbox" /> |
| 4264 | <small data-i18n="Show tags in responses">Show <tags> in responses</small> | 4291 | <small data-i18n="Show tags in responses">Show <tags> in responses</small> |
| 4265 | </label> | 4292 | </label> |
| 4266 | <label data-newbie-hidden class="checkbox_label" for="disable_group_trimming" title="Allow AI messages in groups to contain lines spoken by other group members." data-i18n="[title]Allow AI messages in groups to contain lines spoken by other group members"> | 4293 | <label class="checkbox_label" for="disable_group_trimming" title="Allow AI messages in groups to contain lines spoken by other group members." data-i18n="[title]Allow AI messages in groups to contain lines spoken by other group members"> |
| 4267 | <input id="disable_group_trimming" type="checkbox" /> | 4294 | <input id="disable_group_trimming" type="checkbox" /> |
| 4268 | <small data-i18n="Relax message trim in Groups">Relax message trim in Groups</small> | 4295 | <small data-i18n="Relax message trim in Groups">Relax message trim in Groups</small> |
| 4269 | </label> | 4296 | </label> |
| 4270 | <label data-newbie-hidden class="checkbox_label" for="console_log_prompts"> | 4297 | <label class="checkbox_label" for="console_log_prompts"> |
| 4271 | <input id="console_log_prompts" type="checkbox" /> | 4298 | <input id="console_log_prompts" type="checkbox" /> |
| 4272 | <small data-i18n="Log prompts to console">Log prompts to console</small> | 4299 | <small data-i18n="Log prompts to console">Log prompts to console</small> |
| 4273 | </label> | 4300 | </label> |
| 4274 | <label data-newbie-hidden class="checkbox_label" for="request_token_probabilities" title="Requests logprobs from the API for the Token Probabilities feature." data-i18n="[title]Requests logprobs from the API for the Token Probabilities feature"> | 4301 | <label class="checkbox_label" for="request_token_probabilities" title="Requests logprobs from the API for the Token Probabilities feature." data-i18n="[title]Requests logprobs from the API for the Token Probabilities feature"> |
| 4275 | <input id="request_token_probabilities" type="checkbox" /> | 4302 | <input id="request_token_probabilities" type="checkbox" /> |
| 4276 | <small data-i18n="Request token probabilities">Request token probabilities</small> | 4303 | <small data-i18n="Request token probabilities">Request token probabilities</small> |
| 4277 | </label> | 4304 | </label> |
| 4278 | <label data-newbie-hidden class="checkbox_label" for="show_group_chat_queue" title="In group chat, highlight the character(s) that are currently queued to generate responses and the order in which they will respond." data-i18n="[title]In group chat, highlight the character(s) that are currently queued to generate responses and the order in which they will respond."> | 4305 | <label class="checkbox_label" for="show_group_chat_queue" title="In group chat, highlight the character(s) that are currently queued to generate responses and the order in which they will respond." data-i18n="[title]In group chat, highlight the character(s) that are currently queued to generate responses and the order in which they will respond."> |
| 4279 | <input id="show_group_chat_queue" type="checkbox" /> | 4306 | <input id="show_group_chat_queue" type="checkbox" /> |
| 4280 | <small data-i18n="Show group chat queue">Show group chat queue</small> | 4307 | <small data-i18n="Show group chat queue">Show group chat queue</small> |
| 4281 | </label> | 4308 | </label> |
| 4282 | <div data-newbie-hidden class="inline-drawer wide100p flexFlowColumn"> | 4309 | <div class="inline-drawer wide100p flexFlowColumn"> |
| 4283 | <div class="inline-drawer-toggle inline-drawer-header userSettingsInnerExpandable" title="Automatically reject and re-generate AI message based on configurable criteria." data-i18n="[title]Automatically reject and re-generate AI message based on configurable criteria"> | 4310 | <div class="inline-drawer-toggle inline-drawer-header userSettingsInnerExpandable" title="Automatically reject and re-generate AI message based on configurable criteria." data-i18n="[title]Automatically reject and re-generate AI message based on configurable criteria"> |
| 4284 | <b><span data-i18n="Auto-swipe">Auto-swipe</span></b> | 4311 | <b><span data-i18n="Auto-swipe">Auto-swipe</span></b> |
| 4285 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> | 4312 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| @@ -4293,75 +4320,110 @@ | |||
| 4293 | <input id="auto_swipe_minimum_length" name="auto_swipe_minimum_length" type="number" min="0" step="1" value="0" class="text_pole" title="If the generated message is shorter than this, trigger an auto-swipe." data-i18n="[title]If the generated message is shorter than this, trigger an auto-swipe"> | 4320 | <input id="auto_swipe_minimum_length" name="auto_swipe_minimum_length" type="number" min="0" step="1" value="0" class="text_pole" title="If the generated message is shorter than this, trigger an auto-swipe." data-i18n="[title]If the generated message is shorter than this, trigger an auto-swipe"> |
| 4294 | <small data-i18n="Blacklisted words">Blacklisted words</small> | 4321 | <small data-i18n="Blacklisted words">Blacklisted words</small> |
| 4295 | <div class="auto_swipe"> | 4322 | <div class="auto_swipe"> |
| 4296 | <textarea id="auto_swipe_blacklist" name="auto_swipe_blacklist" data-i18n="[placeholder]words you dont want generated separated by comma ','" placeholder="words you don't want generated separated by comma ','" class="text_pole textarea_compact" maxlength="5000" value="" autocomplete="off" rows="3"></textarea> | 4323 | <textarea id="auto_swipe_blacklist" name="auto_swipe_blacklist" data-i18n="[placeholder]words you dont want generated separated by comma ','" placeholder="words you don't want generated separated by comma ','" class="text_pole textarea_compact" value="" autocomplete="off" rows="3"></textarea> |
| 4297 | <small data-i18n="Blacklisted word count to swipe">Blacklisted word count to swipe</small> | 4324 | <small data-i18n="Blacklisted word count to swipe">Blacklisted word count to swipe</small> |
| 4298 | <input id="auto_swipe_blacklist_threshold" name="auto_swipe_blacklist_threshold" type="number" min="0" step="1" value="1" class="text_pole" title="Minimum number of blacklisted words detected to trigger an auto-swipe." data-i18n="[title]Minimum number of blacklisted words detected to trigger an auto-swipe"> | 4325 | <input id="auto_swipe_blacklist_threshold" name="auto_swipe_blacklist_threshold" type="number" min="0" step="1" value="1" class="text_pole" title="Minimum number of blacklisted words detected to trigger an auto-swipe." data-i18n="[title]Minimum number of blacklisted words detected to trigger an auto-swipe"> |
| 4299 | </div> | 4326 | </div> |
| 4300 | </div> | 4327 | </div> |
| 4301 | </div> | 4328 | </div> |
| 4302 | </div> | 4329 | <div nane="AutoContiueBlock" class="inline-drawer wide100p flexFlowColumn"> |
| 4303 | <div name="AutoCompleteToggle"> | 4330 | <div class="inline-drawer-toggle inline-drawer-header userSettingsInnerExpandable" title="Automatically 'continue' a response if the model stopped before reaching a certain amount of tokens."> |
| 4304 | <h4 data-i18n="AutoComplete Settings">AutoComplete Settings</h4> | 4331 | <b><span data-i18n="Auto-swipe">Auto-Continue</span></b> |
| 4305 | <label data-newbie-hidden class="checkbox_label" for="stscript_autocomplete_autoHide"> | 4332 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| 4306 | <input id="stscript_autocomplete_autoHide" type="checkbox" /> | ||
| 4307 | <small data-i18n="Automatically hide details"> | ||
| 4308 | Automatically hide details | ||
| 4309 | </small> | ||
| 4310 | </label> | ||
| 4311 | <div class="flex-container"> | ||
| 4312 | <div class="flex1" title="Determines how entries are found for autocomplete." data-i18n="[title]Determines how entries are found for autocomplete."> | ||
| 4313 | <label for="stscript_matching" data-i18n="Autocomplete Matching"><small>Matching</small></label> | ||
| 4314 | <select id="stscript_matching"> | ||
| 4315 | <option data-i18n="Starts with" value="strict">Starts with</option> | ||
| 4316 | <option data-i18n="Includes" value="includes">Includes</option> | ||
| 4317 | <option data-i18n="Fuzzy" value="fuzzy">Fuzzy</option> | ||
| 4318 | </select> | ||
| 4319 | </div> | 4333 | </div> |
| 4320 | <div class="flex1" title="Sets the style of the autocomplete." data-i18n="[title]Sets the style of the autocomplete."> | 4334 | <div class="inline-drawer-content"> |
| 4321 | <label for="stscript_autocomplete_style" data-i18n="Autocomplete Style"><small>Style</small></label> | 4335 | <div class="flex-container"> |
| 4322 | <div class="flex-container flexFlowRow alignItemsBaseline"> | 4336 | <label class="checkbox_label" for="auto_continue_enabled"> |
| 4323 | <select id="stscript_autocomplete_style"> | 4337 | <input id="auto_continue_enabled" type="checkbox" /> |
| 4324 | <option data-i18n="Follow Theme" value="theme">Follow Theme</option> | 4338 | <small data-i18n="Enabled"> |
| 4325 | <option data-i18n="Dark" value="dark">Dark</option> | 4339 | Enabled |
| 4326 | <option data-i18n="Light" value="light">Light</option> | 4340 | </small> |
| 4327 | </select> | 4341 | </label> |
| 4328 | <!-- <div class="menu_button fa-solid fa-pen-to-square" title="Customize colors"></div> --> | 4342 | <label class="checkbox_label" for="auto_continue_allow_chat_completions"> |
| 4343 | <input id="auto_continue_allow_chat_completions" type="checkbox" /> | ||
| 4344 | <small data-i18n="Allow for Chat Completion APIs"> | ||
| 4345 | Allow for Chat Completion APIs | ||
| 4346 | </small> | ||
| 4347 | </label> | ||
| 4348 | </div> | ||
| 4349 | <div class="auto_continue_settings_block"> | ||
| 4350 | <label for="auto_continue_target_length"> | ||
| 4351 | <small data-i18n="Target length (tokens)">Target length (tokens)</small> | ||
| 4352 | <input id="auto_continue_target_length" type="number" class="text_pole textarea_compact" min="0" max="1024" /> | ||
| 4353 | </label> | ||
| 4329 | </div> | 4354 | </div> |
| 4330 | </div> | 4355 | </div> |
| 4356 | |||
| 4357 | |||
| 4331 | </div> | 4358 | </div> |
| 4332 | <div title="Determines which keys select an item from the AutoComplete suggestions"> | 4359 | </div> |
| 4333 | <label data-i18n="Keyboard"> | 4360 | <div name="AutoCompleteToggle" class="inline-drawer wide100p flexFlowColumn"> |
| 4334 | <small>Keyboard:</small> | 4361 | <div class="inline-drawer-toggle inline-drawer-header userSettingsInnerExpandable" title="Options for the various autocompelte input boxes."> |
| 4335 | </label> | 4362 | <b><span data-i18n="AutoComplete Settings">AutoComplete Settings</span></b> |
| 4336 | <select id="stscript_autocomplete_select"> | 4363 | <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| 4337 | <option value="3" data-i18n="Select with Tab or Enter">Select with Tab or Enter</option> | ||
| 4338 | <option value="1" data-i18n="Select with Tab">Select with Tab</option> | ||
| 4339 | <option value="2" data-i18n="Select with Enter">Select with Enter</option> | ||
| 4340 | </select> | ||
| 4341 | </div> | ||
| 4342 | <div class="flex-container flexFlowColumn gap0" title="Sets the font size of the autocomplete." data-i18n="[title]Sets the font size of the autocomplete."> | ||
| 4343 | <label for="stscript_autocomplete_font_scale"><small>Font Scale</small></label> | ||
| 4344 | <input class="neo-range-slider" type="range" id="stscript_autocomplete_font_scale" min="0.5" max="2" step="0.01"> | ||
| 4345 | <input class="neo-range-input" type="number" min="0.5" max="2" step="0.01" data-for="stscript_autocomplete_font_scale" id="stscript_autocomplete_font_scale_counter"> | ||
| 4346 | </div> | 4364 | </div> |
| 4347 | <div title="Sets the width of the autocomplete." data-i18n="[title]Sets the width of the autocomplete."> | 4365 | <div class="inline-drawer-content"> |
| 4348 | <label for="stscript_autocomplete_width" data-i18n="Autocomplete Width"><small>Width</small></label> | 4366 | <label class="checkbox_label" for="stscript_autocomplete_autoHide"> |
| 4349 | <div class="doubleRangeContainer"> | 4367 | <input id="stscript_autocomplete_autoHide" type="checkbox" /> |
| 4350 | <div class="doubleRangeInputContainer"> | 4368 | <small data-i18n="Automatically hide details"> |
| 4351 | <input type="range" id="stscript_autocomplete_width_left" min="0" max="2" step="1"> | 4369 | Automatically hide details |
| 4352 | <datalist id="stscript_autocomplete_width_left_values"> | 4370 | </small> |
| 4353 | <option value="0" label="input" title="chat input box" data-i18n="[title]chat input box"></option> | 4371 | </label> |
| 4354 | <option value="1" label="chat" title="entire chat width" data-i18n="[title]entire chat width"></option> | 4372 | <div class="flex-container"> |
| 4355 | <option value="2" label="full" title="full window width" data-i18n="[title]full window width"></option> | 4373 | <div class="flex1" title="Determines how entries are found for autocomplete." data-i18n="[title]Determines how entries are found for autocomplete."> |
| 4356 | </datalist> | 4374 | <label for="stscript_matching" data-i18n="Autocomplete Matching"><small>Matching</small></label> |
| 4375 | <select id="stscript_matching"> | ||
| 4376 | <option data-i18n="Starts with" value="strict">Starts with</option> | ||
| 4377 | <option data-i18n="Includes" value="includes">Includes</option> | ||
| 4378 | <option data-i18n="Fuzzy" value="fuzzy">Fuzzy</option> | ||
| 4379 | </select> | ||
| 4357 | </div> | 4380 | </div> |
| 4358 | <div class="doubleRangeInputContainer"> | 4381 | <div class="flex1" title="Sets the style of the autocomplete." data-i18n="[title]Sets the style of the autocomplete."> |
| 4359 | <input type="range" id="stscript_autocomplete_width_right" min="0" max="2" step="1"> | 4382 | <label for="stscript_autocomplete_style" data-i18n="Autocomplete Style"><small>Style</small></label> |
| 4360 | <datalist id="stscript_autocomplete_width_right_values"> | 4383 | <div class="flex-container flexFlowRow alignItemsBaseline"> |
| 4361 | <option value="0" label="input" title="chat input box" data-i18n="[title]chat input box"></option> | 4384 | <select id="stscript_autocomplete_style"> |
| 4362 | <option value="1" label="chat" title="entire chat width" data-i18n="[title]entire chat width"></option> | 4385 | <option data-i18n="Follow Theme" value="theme">Follow Theme</option> |
| 4363 | <option value="2" label="full" title="full window width" data-i18n="[title]full window width"></option> | 4386 | <option data-i18n="Dark" value="dark">Dark</option> |
| 4364 | </datalist> | 4387 | <option data-i18n="Light" value="light">Light</option> |
| 4388 | </select> | ||
| 4389 | <!-- <div class="menu_button fa-solid fa-pen-to-square" title="Customize colors"></div> --> | ||
| 4390 | </div> | ||
| 4391 | </div> | ||
| 4392 | </div> | ||
| 4393 | <div title="Determines which keys select an item from the AutoComplete suggestions"> | ||
| 4394 | <label data-i18n="Keyboard"> | ||
| 4395 | <small>Keyboard:</small> | ||
| 4396 | </label> | ||
| 4397 | <select id="stscript_autocomplete_select"> | ||
| 4398 | <option value="3" data-i18n="Select with Tab or Enter">Select with Tab or Enter</option> | ||
| 4399 | <option value="1" data-i18n="Select with Tab">Select with Tab</option> | ||
| 4400 | <option value="2" data-i18n="Select with Enter">Select with Enter</option> | ||
| 4401 | </select> | ||
| 4402 | </div> | ||
| 4403 | <div class="flex-container flexFlowColumn gap0" title="Sets the font size of the autocomplete." data-i18n="[title]Sets the font size of the autocomplete."> | ||
| 4404 | <label for="stscript_autocomplete_font_scale"><small>Font Scale</small></label> | ||
| 4405 | <input class="neo-range-slider" type="range" id="stscript_autocomplete_font_scale" min="0.5" max="2" step="0.01"> | ||
| 4406 | <input class="neo-range-input" type="number" min="0.5" max="2" step="0.01" data-for="stscript_autocomplete_font_scale" id="stscript_autocomplete_font_scale_counter"> | ||
| 4407 | </div> | ||
| 4408 | <div title="Sets the width of the autocomplete." data-i18n="[title]Sets the width of the autocomplete."> | ||
| 4409 | <label for="stscript_autocomplete_width" data-i18n="Autocomplete Width"><small>Width</small></label> | ||
| 4410 | <div class="doubleRangeContainer"> | ||
| 4411 | <div class="doubleRangeInputContainer"> | ||
| 4412 | <input type="range" id="stscript_autocomplete_width_left" min="0" max="2" step="1"> | ||
| 4413 | <datalist id="stscript_autocomplete_width_left_values"> | ||
| 4414 | <option value="0" label="input" title="chat input box" data-i18n="[title]chat input box"></option> | ||
| 4415 | <option value="1" label="chat" title="entire chat width" data-i18n="[title]entire chat width"></option> | ||
| 4416 | <option value="2" label="full" title="full window width" data-i18n="[title]full window width"></option> | ||
| 4417 | </datalist> | ||
| 4418 | </div> | ||
| 4419 | <div class="doubleRangeInputContainer"> | ||
| 4420 | <input type="range" id="stscript_autocomplete_width_right" min="0" max="2" step="1"> | ||
| 4421 | <datalist id="stscript_autocomplete_width_right_values"> | ||
| 4422 | <option value="0" label="input" title="chat input box" data-i18n="[title]chat input box"></option> | ||
| 4423 | <option value="1" label="chat" title="entire chat width" data-i18n="[title]entire chat width"></option> | ||
| 4424 | <option value="2" label="full" title="full window width" data-i18n="[title]full window width"></option> | ||
| 4425 | </datalist> | ||
| 4426 | </div> | ||
| 4365 | </div> | 4427 | </div> |
| 4366 | </div> | 4428 | </div> |
| 4367 | </div> | 4429 | </div> |
| @@ -4393,11 +4455,14 @@ | |||
| 4393 | </div> | 4455 | </div> |
| 4394 | <div id="logo_block" class="drawer"> | 4456 | <div id="logo_block" class="drawer"> |
| 4395 | <div id="site_logo" class="drawer-toggle drawer-header" title="Change Background Image" data-i18n="[title]Change Background Image"> | 4457 | <div id="site_logo" class="drawer-toggle drawer-header" title="Change Background Image" data-i18n="[title]Change Background Image"> |
| 4396 | <div class="drawer-icon fa-solid fa-panorama closedIcon"></div> | 4458 | <div class="drawer-icon fa-solid fa-panorama fa-fw closedIcon"></div> |
| 4397 | </div> | 4459 | </div> |
| 4398 | <div id="Backgrounds" class="drawer-content closedDrawer"> | 4460 | <div id="Backgrounds" class="drawer-content closedDrawer"> |
| 4399 | <div class="flex-container"> | 4461 | <div class="flex-container"> |
| 4400 | <div class="flex-container wide100p"> | 4462 | <div class="flex-container alignItemsBaseline wide100p"> |
| 4463 | <h3 class="margin0 flex2" data-i18n="Background Image"> | ||
| 4464 | Background Image | ||
| 4465 | </h3> | ||
| 4401 | <input id="bg-filter" data-i18n="[placeholder]Filter" placeholder="Filter" class="text_pole flex1" type="search" /> | 4466 | <input id="bg-filter" data-i18n="[placeholder]Filter" placeholder="Filter" class="text_pole flex1" type="search" /> |
| 4402 | <div id="auto_background" class="menu_button menu_button_icon" data-i18n="[title]Automatically select a background based on the chat context" title="Automatically select a background based on the chat context."> | 4467 | <div id="auto_background" class="menu_button menu_button_icon" data-i18n="[title]Automatically select a background based on the chat context" title="Automatically select a background based on the chat context."> |
| 4403 | <i class="fa-solid fa-wand-magic"></i> | 4468 | <i class="fa-solid fa-wand-magic"></i> |
| @@ -4428,7 +4493,7 @@ | |||
| 4428 | </div> | 4493 | </div> |
| 4429 | <div id="extensions-settings-button" class="drawer"> | 4494 | <div id="extensions-settings-button" class="drawer"> |
| 4430 | <div class="drawer-toggle"> | 4495 | <div class="drawer-toggle"> |
| 4431 | <div class="drawer-icon fa-solid fa-cubes closedIcon" title="Extensions" data-i18n="[title]Extensions"></div> | 4496 | <div class="drawer-icon fa-solid fa-cubes fa-fw closedIcon" title="Extensions" data-i18n="[title]Extensions"></div> |
| 4432 | </div> | 4497 | </div> |
| 4433 | <div id="rm_extensions_block" class="drawer-content closedDrawer"> | 4498 | <div id="rm_extensions_block" class="drawer-content closedDrawer"> |
| 4434 | <div class="extensions_block flex-container"> | 4499 | <div class="extensions_block flex-container"> |
| @@ -4480,11 +4545,7 @@ | |||
| 4480 | </div> | 4545 | </div> |
| 4481 | <hr class="wide100p margin0"> | 4546 | <hr class="wide100p margin0"> |
| 4482 | <div class="alignitemscenter flex-container justifyCenter wide100p" style="justify-content: space-between;"> | 4547 | <div class="alignitemscenter flex-container justifyCenter wide100p" style="justify-content: space-between;"> |
| 4483 | <h4 class="margin0"><span data-i18n="Extras API:">Extras API:</span> | 4548 | <h4 class="margin0"><span data-i18n="Extras API:">Extras API:</span></h4> |
| 4484 | <a target="_blank" href="https://github.com/SillyTavern/SillyTavern-Extras"> | ||
| 4485 | SillyTavern-Extras | ||
| 4486 | </a> | ||
| 4487 | </h4> | ||
| 4488 | <div class="flex-container"> | 4549 | <div class="flex-container"> |
| 4489 | <div id="extensions_status" data-i18n="Not connected...">Not connected...</div> | 4550 | <div id="extensions_status" data-i18n="Not connected...">Not connected...</div> |
| 4490 | <label for="extensions_autoconnect" class="checkbox_label flexNoGap"> | 4551 | <label for="extensions_autoconnect" class="checkbox_label flexNoGap"> |
| @@ -4494,8 +4555,8 @@ | |||
| 4494 | </div> | 4555 | </div> |
| 4495 | </div> | 4556 | </div> |
| 4496 | <div class="alignitemsflexstart flex-container wide100p"> | 4557 | <div class="alignitemsflexstart flex-container wide100p"> |
| 4497 | <input id="extensions_url" type="text" class="flex1 heightFitContent text_pole widthNatural" maxlength="250" data-i18n="[placeholder]Extras API URL" placeholder="Extras API URL"> | 4558 | <input id="extensions_url" type="text" class="flex1 heightFitContent text_pole widthNatural" data-i18n="[placeholder]Extras API URL" placeholder="Extras API URL"> |
| 4498 | <input id="extensions_api_key" type="text" class="flex1 heightFitContent text_pole widthNatural" maxlength="250" data-i18n="[placeholder]Extras API key (optional)" placeholder="Extras API key (optional)"> | 4559 | <input id="extensions_api_key" type="text" class="flex1 heightFitContent text_pole widthNatural" data-i18n="[placeholder]Extras API key (optional)" placeholder="Extras API key (optional)"> |
| 4499 | <div class="extensions_url_block"> | 4560 | <div class="extensions_url_block"> |
| 4500 | <div id="extensions_connect" class="menu_button" data-i18n="Connect">Connect</div> | 4561 | <div id="extensions_connect" class="menu_button" data-i18n="Connect">Connect</div> |
| 4501 | </div> | 4562 | </div> |
| @@ -4505,7 +4566,7 @@ | |||
| 4505 | </div> | 4566 | </div> |
| 4506 | <div id="persona-management-button" class="drawer"> | 4567 | <div id="persona-management-button" class="drawer"> |
| 4507 | <div class="drawer-toggle"> | 4568 | <div class="drawer-toggle"> |
| 4508 | <div class="drawer-icon fa-solid fa-face-smile closedIcon" title="Persona Management" data-i18n="[title]Persona Management"></div> | 4569 | <div class="drawer-icon fa-solid fa-face-smile fa-fw closedIcon" title="Persona Management" data-i18n="[title]Persona Management"></div> |
| 4509 | </div> | 4570 | </div> |
| 4510 | <div class="drawer-content closedDrawer"> | 4571 | <div class="drawer-content closedDrawer"> |
| 4511 | <div class="flex-container wide100p alignitemscenter spaceBetween flexNoGap"> | 4572 | <div class="flex-container wide100p alignitemscenter spaceBetween flexNoGap"> |
| @@ -4539,7 +4600,7 @@ | |||
| 4539 | <i class="fa-solid fa-person-circle-question fa-fw"></i> | 4600 | <i class="fa-solid fa-person-circle-question fa-fw"></i> |
| 4540 | <div data-i18n="Create">Create</div> | 4601 | <div data-i18n="Create">Create</div> |
| 4541 | </div> | 4602 | </div> |
| 4542 | <input id="persona_search_bar" class="text_pole width100p flex1 margin0" type="search" data-i18n="[placeholder]Search..." placeholder="Search..." maxlength="100"> | 4603 | <input id="persona_search_bar" class="text_pole width100p flex1 margin0" type="search" data-i18n="[placeholder]Search..." placeholder="Search..."> |
| 4543 | <select id="persona_sort_order" class="margin0"> | 4604 | <select id="persona_sort_order" class="margin0"> |
| 4544 | <option value="search" data-i18n="Search" hidden>Search</option> | 4605 | <option value="search" data-i18n="Search" hidden>Search</option> |
| 4545 | <option value="asc">A-Z</option> | 4606 | <option value="asc">A-Z</option> |
| @@ -4559,7 +4620,7 @@ | |||
| 4559 | <div class="flex1"> | 4620 | <div class="flex1"> |
| 4560 | <h4 data-i18n="Name">Name</h4> | 4621 | <h4 data-i18n="Name">Name</h4> |
| 4561 | <div class="change_name"> | 4622 | <div class="change_name"> |
| 4562 | <input id="your_name" name="your_name" data-i18n="[placeholder]Enter your name" placeholder="Enter your name" class="text_pole wide100p" maxlength="100" value="" autocomplete="off"> | 4623 | <input id="your_name" name="your_name" data-i18n="[placeholder]Enter your name" placeholder="Enter your name" class="text_pole wide100p" value="" autocomplete="off"> |
| 4563 | <div id="your_name_button" class="menu_button fa-solid fa-check" title="Click to set a new User Name" data-i18n="[title]Click to set a new User Name"> | 4624 | <div id="your_name_button" class="menu_button fa-solid fa-check" title="Click to set a new User Name" data-i18n="[title]Click to set a new User Name"> |
| 4564 | </div> | 4625 | </div> |
| 4565 | <div id="lock_user_name" class="menu_button fa-solid fa-unlock" title="Click to lock your selected persona to the current chat. Click again to remove the lock." data-i18n="[title]Click to lock your selected persona to the current chat. Click again to remove the lock."> | 4626 | <div id="lock_user_name" class="menu_button fa-solid fa-unlock" title="Click to lock your selected persona to the current chat. Click again to remove the lock." data-i18n="[title]Click to lock your selected persona to the current chat. Click again to remove the lock."> |
| @@ -4569,13 +4630,14 @@ | |||
| 4569 | </div> | 4630 | </div> |
| 4570 | <div> | 4631 | <div> |
| 4571 | <h4 data-i18n="Persona Description">Persona Description</h4> | 4632 | <h4 data-i18n="Persona Description">Persona Description</h4> |
| 4572 | <textarea id="persona_description" name="persona_description" data-i18n="[placeholder]Example: [{{user}} is a 28-year-old Romanian cat girl.]" placeholder="Example: [{{user}} is a 28-year-old Romanian cat girl.]" class="text_pole textarea_compact" maxlength="50000" value="" autocomplete="off" rows="8"></textarea> | 4633 | <textarea id="persona_description" name="persona_description" data-i18n="[placeholder]Example: [{{user}} is a 28-year-old Romanian cat girl.]" placeholder="Example: [{{user}} is a 28-year-old Romanian cat girl.]" class="text_pole textarea_compact" value="" autocomplete="off" rows="8"></textarea> |
| 4573 | <div class="extension_token_counter"> | 4634 | <div class="extension_token_counter"> |
| 4574 | <span data-i18n="Tokens persona description">Tokens</span>: <span id="persona_description_token_count">0</span> | 4635 | <span data-i18n="Tokens persona description">Tokens</span>: <span id="persona_description_token_count">0</span> |
| 4575 | </div> | 4636 | </div> |
| 4576 | <div data-newbie-hidden> | 4637 | <div> |
| 4577 | <label for="persona_description_position" data-i18n="Position:">Position:</label> | 4638 | <label for="persona_description_position" data-i18n="Position:">Position:</label> |
| 4578 | <select id="persona_description_position"> | 4639 | <select id="persona_description_position"> |
| 4640 | <option value="9" data-i18n="None (disabled)">None (disabled)</option> | ||
| 4579 | <option value="0" data-i18n="In Story String / Prompt Manager">In Story String / Prompt Manager</option> | 4641 | <option value="0" data-i18n="In Story String / Prompt Manager">In Story String / Prompt Manager</option> |
| 4580 | <option value="2" data-i18n="Top of Author's Note">Top of Author's Note</option> | 4642 | <option value="2" data-i18n="Top of Author's Note">Top of Author's Note</option> |
| 4581 | <option value="3" data-i18n="Bottom of Author's Note">Bottom of Author's Note</option> | 4643 | <option value="3" data-i18n="Bottom of Author's Note">Bottom of Author's Note</option> |
| @@ -4612,7 +4674,7 @@ | |||
| 4612 | </div> | 4674 | </div> |
| 4613 | <div id="rightNavHolder" class="drawer"> | 4675 | <div id="rightNavHolder" class="drawer"> |
| 4614 | <div id="unimportantYes" class="drawer-toggle drawer-header"> | 4676 | <div id="unimportantYes" class="drawer-toggle drawer-header"> |
| 4615 | <div id="rightNavDrawerIcon" class="drawer-icon fa-solid fa-address-card closedIcon" title="Character Management" data-i18n="[title]Character Management"> | 4677 | <div id="rightNavDrawerIcon" class="drawer-icon fa-solid fa-address-card fa-fw closedIcon" title="Character Management" data-i18n="[title]Character Management"> |
| 4616 | </div> | 4678 | </div> |
| 4617 | </div> | 4679 | </div> |
| 4618 | <nav id="right-nav-panel" class="drawer-content closedDrawer fillRight"> | 4680 | <nav id="right-nav-panel" class="drawer-content closedDrawer fillRight"> |
| @@ -4662,7 +4724,7 @@ | |||
| 4662 | <form id="form_create" action="javascript:void(null);" method="post" enctype="multipart/form-data"> | 4724 | <form id="form_create" action="javascript:void(null);" method="post" enctype="multipart/form-data"> |
| 4663 | <div id="avatar-and-name-block"> | 4725 | <div id="avatar-and-name-block"> |
| 4664 | <div id="name_div"> | 4726 | <div id="name_div"> |
| 4665 | <input id="character_name_pole" name="ch_name" class="text_pole" data-i18n="[placeholder]Name this character" placeholder="Name this character" maxlength="100" value="" autocomplete="off"> | 4727 | <input id="character_name_pole" name="ch_name" class="text_pole" data-i18n="[placeholder]Name this character" placeholder="Name this character" value="" autocomplete="off"> |
| 4666 | <div class="extension_token_counter"> | 4728 | <div class="extension_token_counter"> |
| 4667 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="character_name_pole" data-token-permanent="true">counting...</span> | 4729 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="character_name_pole" data-token-permanent="true">counting...</span> |
| 4668 | </div> | 4730 | </div> |
| @@ -4733,7 +4795,7 @@ | |||
| 4733 | </div> | 4795 | </div> |
| 4734 | <div id="tags_div"> | 4796 | <div id="tags_div"> |
| 4735 | <div class="tag_controls"> | 4797 | <div class="tag_controls"> |
| 4736 | <input id="tagInput" class="text_pole textarea_compact tag_input wide100p margin0" data-i18n="[placeholder]Search / Create Tags" placeholder="Search / Create tags" maxlength="50" /> | 4798 | <input id="tagInput" class="text_pole textarea_compact tag_input wide100p margin0" data-i18n="[placeholder]Search / Create Tags" placeholder="Search / Create tags" /> |
| 4737 | <div class="tags_view menu_button fa-solid fa-tags" title="View all tags" data-i18n="[title]View all tags"></div> | 4799 | <div class="tags_view menu_button fa-solid fa-tags" title="View all tags" data-i18n="[title]View all tags"></div> |
| 4738 | </div> | 4800 | </div> |
| 4739 | <div id="tagList" class="tags"></div> | 4801 | <div id="tagList" class="tags"></div> |
| @@ -4753,7 +4815,7 @@ | |||
| 4753 | <hr> | 4815 | <hr> |
| 4754 | <div id="description_div" class="title_restorable"> | 4816 | <div id="description_div" class="title_restorable"> |
| 4755 | <div class="flex-container alignitemscenter"> | 4817 | <div class="flex-container alignitemscenter"> |
| 4756 | <span data-i18n="Character Description">Description</span> | 4818 | <span data-i18n="Character Description" class="mdhotkey_location">Description</span> |
| 4757 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="description_textarea" title="Expand the editor" data-i18n="[title]Expand the editor"></i> | 4819 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="description_textarea" title="Expand the editor" data-i18n="[title]Expand the editor"></i> |
| 4758 | <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#character-description" class="notes-link" target="_blank"> | 4820 | <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#character-description" class="notes-link" target="_blank"> |
| 4759 | <span class="fa-solid fa-circle-question note-link-span"></span> | 4821 | <span class="fa-solid fa-circle-question note-link-span"></span> |
| @@ -4767,7 +4829,7 @@ | |||
| 4767 | </span> | 4829 | </span> |
| 4768 | </div> | 4830 | </div> |
| 4769 | </div> | 4831 | </div> |
| 4770 | <textarea id="description_textarea" data-i18n="[placeholder]Describe your character's physical and mental traits here." placeholder="Describe your character's physical and mental traits here." name="description" placeholder=""></textarea> | 4832 | <textarea id="description_textarea" class="mdHotkeys" data-i18n="[placeholder]Describe your character's physical and mental traits here." placeholder="Describe your character's physical and mental traits here." name="description" placeholder=""></textarea> |
| 4771 | <div class="extension_token_counter"> | 4833 | <div class="extension_token_counter"> |
| 4772 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="description_textarea" data-token-permanent="true">counting...</span> | 4834 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="description_textarea" data-token-permanent="true">counting...</span> |
| 4773 | </div> | 4835 | </div> |
| @@ -4775,7 +4837,7 @@ | |||
| 4775 | <div id="firstMessageWrapper" class="flex-container flexFlowColumn flex1"> | 4837 | <div id="firstMessageWrapper" class="flex-container flexFlowColumn flex1"> |
| 4776 | <div id="first_message_div" class="title_restorable"> | 4838 | <div id="first_message_div" class="title_restorable"> |
| 4777 | <div class="flex-container alignitemscenter flex1"> | 4839 | <div class="flex-container alignitemscenter flex1"> |
| 4778 | <span data-i18n="First message">First message</span> | 4840 | <span data-i18n="First message" class="mdhotkey_location">First message</span> |
| 4779 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="firstmessage_textarea" title="Expand the editor" data-i18n="[title]Expand the editor"></i> | 4841 | <i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="firstmessage_textarea" title="Expand the editor" data-i18n="[title]Expand the editor"></i> |
| 4780 | <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#first-message" class="notes-link" target="_blank"> | 4842 | <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#first-message" class="notes-link" target="_blank"> |
| 4781 | <span class="fa-solid fa-circle-question note-link-span"></span> | 4843 | <span class="fa-solid fa-circle-question note-link-span"></span> |
| @@ -4787,7 +4849,7 @@ | |||
| 4787 | </span> | 4849 | </span> |
| 4788 | </div> | 4850 | </div> |
| 4789 | </div> | 4851 | </div> |
| 4790 | <textarea id="firstmessage_textarea" data-i18n="[placeholder]This will be the first message from the character that starts every chat." placeholder="This will be the first message from the character that starts every chat." name="first_mes" placeholder=""></textarea> | 4852 | <textarea class="mdHotkeys" id="firstmessage_textarea" data-i18n="[placeholder]This will be the first message from the character that starts every chat." placeholder="This will be the first message from the character that starts every chat." name="first_mes" placeholder=""></textarea> |
| 4791 | <div class="extension_token_counter"> | 4853 | <div class="extension_token_counter"> |
| 4792 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="firstmessage_textarea">counting...</span> | 4854 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="firstmessage_textarea">counting...</span> |
| 4793 | </div> | 4855 | </div> |
| @@ -4818,12 +4880,12 @@ | |||
| 4818 | <div class="inline-drawer-content"> | 4880 | <div class="inline-drawer-content"> |
| 4819 | <div id="group-metadata-controls" class="marginTopBot5"> | 4881 | <div id="group-metadata-controls" class="marginTopBot5"> |
| 4820 | <div class="flex-container wide100p"> | 4882 | <div class="flex-container wide100p"> |
| 4821 | <input id="rm_group_chat_name" class="text_pole flex1" type="text" name="chat_name" data-i18n="[placeholder]Chat Name (Optional)" placeholder="Chat Name (Optional)" maxlength="200" /> | 4883 | <input id="rm_group_chat_name" class="text_pole flex1" type="text" name="chat_name" data-i18n="[placeholder]Chat Name (Optional)" placeholder="Chat Name (Optional)" /> |
| 4822 | <div class="chat_lorebook_button menu_button fa-solid fa-passport" title="Chat Lore" data-i18n="[title]Chat Lore"></div> | 4884 | <div class="chat_lorebook_button menu_button fa-solid fa-passport" title="Chat Lore" data-i18n="[title]Chat Lore"></div> |
| 4823 | </div> | 4885 | </div> |
| 4824 | <div id="group_tags_div" class="wide100p"> | 4886 | <div id="group_tags_div" class="wide100p"> |
| 4825 | <div class="tag_controls"> | 4887 | <div class="tag_controls"> |
| 4826 | <input id="groupTagInput" class="text_pole textarea_compact tag_input flex1 margin0" data-i18n="[placeholder]Search / Create Tags" placeholder="Search / Create tags" maxlength="50" /> | 4888 | <input id="groupTagInput" class="text_pole textarea_compact tag_input flex1 margin0" data-i18n="[placeholder]Search / Create Tags" placeholder="Search / Create tags" /> |
| 4827 | <div class="tags_view menu_button fa-solid fa-tags margin0" title="View all tags" data-i18n="[title]View all tags"></div> | 4889 | <div class="tags_view menu_button fa-solid fa-tags margin0" title="View all tags" data-i18n="[title]View all tags"></div> |
| 4828 | </div> | 4890 | </div> |
| 4829 | <div id="groupTagList" class="tags paddingTopBot5"></div> | 4891 | <div id="groupTagList" class="tags paddingTopBot5"></div> |
| @@ -4865,7 +4927,7 @@ | |||
| 4865 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]When 'Join character cards' is selected, all respective fields of the characters are being joined together.This means that in the story string for example all character descriptions will be joined to one big text.If you want those fields to be separated, you can define a prefix or suffix here.This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)" title="When 'Join character cards' is selected, all respective fields of the characters are being joined together. This means that in the story string for example all character descriptions will be joined to one big text. If you want those fields to be separated, you can define a prefix or suffix here. This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)"> | 4927 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]When 'Join character cards' is selected, all respective fields of the characters are being joined together.This means that in the story string for example all character descriptions will be joined to one big text.If you want those fields to be separated, you can define a prefix or suffix here.This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)" title="When 'Join character cards' is selected, all respective fields of the characters are being joined together. This means that in the story string for example all character descriptions will be joined to one big text. If you want those fields to be separated, you can define a prefix or suffix here. This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)"> |
| 4866 | </div> | 4928 | </div> |
| 4867 | </label> | 4929 | </label> |
| 4868 | <textarea id="rm_group_generation_mode_join_prefix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | 4930 | <textarea id="rm_group_generation_mode_join_prefix" class="text_pole wide100p textarea_compact autoSetHeight" placeholder="—" rows="1"></textarea> |
| 4869 | </div> | 4931 | </div> |
| 4870 | <div class="flex1 flexGap5" title="Inserted after each part of the joined fields." data-i18n="[title]Inserted after each part of the joined fields."> | 4932 | <div class="flex1 flexGap5" title="Inserted after each part of the joined fields." data-i18n="[title]Inserted after each part of the joined fields."> |
| 4871 | <label for="rm_group_generation_mode_join_suffix" class="flexnowrap width100p whitespacenowrap"> | 4933 | <label for="rm_group_generation_mode_join_suffix" class="flexnowrap width100p whitespacenowrap"> |
| @@ -4873,7 +4935,7 @@ | |||
| 4873 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]When 'Join character cards' is selected, all respective fields of the characters are being joined together.This means that in the story string for example all character descriptions will be joined to one big text.If you want those fields to be separated, you can define a prefix or suffix here.This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)" title="When 'Join character cards' is selected, all respective fields of the characters are being joined together. This means that in the story string for example all character descriptions will be joined to one big text. If you want those fields to be separated, you can define a prefix or suffix here. This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)"> | 4935 | <div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]When 'Join character cards' is selected, all respective fields of the characters are being joined together.This means that in the story string for example all character descriptions will be joined to one big text.If you want those fields to be separated, you can define a prefix or suffix here.This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)" title="When 'Join character cards' is selected, all respective fields of the characters are being joined together. This means that in the story string for example all character descriptions will be joined to one big text. If you want those fields to be separated, you can define a prefix or suffix here. This value supports normal macros and will also replace {{char}} with the relevant char's name and <FIELDNAME> with the name of the part (e.g.: description, personality, scenario, etc.)"> |
| 4874 | </div> | 4936 | </div> |
| 4875 | </label> | 4937 | </label> |
| 4876 | <textarea id="rm_group_generation_mode_join_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="—" rows="1"></textarea> | 4938 | <textarea id="rm_group_generation_mode_join_suffix" class="text_pole wide100p textarea_compact autoSetHeight" placeholder="—" rows="1"></textarea> |
| 4877 | </div> | 4939 | </div> |
| 4878 | </div> | 4940 | </div> |
| 4879 | <div id="GroupFavDelOkBack" class="flex-container flexGap5 spaceEvenly flex1"> | 4941 | <div id="GroupFavDelOkBack" class="flex-container flexGap5 spaceEvenly flex1"> |
| @@ -4928,7 +4990,7 @@ | |||
| 4928 | <div class="inline-drawer-content"> | 4990 | <div class="inline-drawer-content"> |
| 4929 | <div name="Unadded Char List" class="flex-container flexFlowColumn overflowYAuto flex1"> | 4991 | <div name="Unadded Char List" class="flex-container flexFlowColumn overflowYAuto flex1"> |
| 4930 | <div id="rm_group_add_members_header"> | 4992 | <div id="rm_group_add_members_header"> |
| 4931 | <input id="rm_group_filter" class="text_pole margin0" type="search" data-i18n="[placeholder]Search..." placeholder="Search..." maxlength="200" /> | 4993 | <input id="rm_group_filter" class="text_pole margin0" type="search" data-i18n="[placeholder]Search..." placeholder="Search..." /> |
| 4932 | </div> | 4994 | </div> |
| 4933 | <div class="rm_tag_controls"> | 4995 | <div class="rm_tag_controls"> |
| 4934 | <div class="tags rm_tag_filter"></div> | 4996 | <div class="tags rm_tag_filter"></div> |
| @@ -4942,7 +5004,7 @@ | |||
| 4942 | <div id="rm_character_import" class="right_menu" style="display: none;"> | 5004 | <div id="rm_character_import" class="right_menu" style="display: none;"> |
| 4943 | <form id="form_import" action="javascript:void(null);" method="post" enctype="multipart/form-data"> | 5005 | <form id="form_import" action="javascript:void(null);" method="post" enctype="multipart/form-data"> |
| 4944 | <input multiple type="file" id="character_import_file" accept=".json, image/png, .yaml, .yml, .charx" name="avatar"> | 5006 | <input multiple type="file" id="character_import_file" accept=".json, image/png, .yaml, .yml, .charx" name="avatar"> |
| 4945 | <input id="character_import_file_type" name="file_type" class="text_pole" maxlength="999" size="2" value="" autocomplete="off"> | 5007 | <input id="character_import_file_type" name="file_type" class="text_pole" value="" autocomplete="off"> |
| 4946 | </form> | 5008 | </form> |
| 4947 | <input type="file" id="character_replace_file" accept=".json, image/png, .yaml, .yml, .charx" name="replace_avatar" hidden> | 5009 | <input type="file" id="character_replace_file" accept=".json, image/png, .yaml, .yml, .charx" name="replace_avatar" hidden> |
| 4948 | </div> | 5010 | </div> |
| @@ -4953,7 +5015,7 @@ | |||
| 4953 | <div id="character_import_button" title="Import Character from File" data-i18n="[title]Import Character from File" class="menu_button fa-solid fa-file-import faSmallFontSquareFix"></div> | 5015 | <div id="character_import_button" title="Import Character from File" data-i18n="[title]Import Character from File" class="menu_button fa-solid fa-file-import faSmallFontSquareFix"></div> |
| 4954 | <div id="external_import_button" title="Import content from external URL" data-i18n="[title]Import content from external URL" class="menu_button fa-solid fa-cloud-arrow-down faSmallFontSquareFix"></div> | 5016 | <div id="external_import_button" title="Import content from external URL" data-i18n="[title]Import content from external URL" class="menu_button fa-solid fa-cloud-arrow-down faSmallFontSquareFix"></div> |
| 4955 | <div id="rm_button_group_chats" title="Create New Chat Group" data-i18n="[title]Create New Chat Group" class="menu_button fa-solid fa-users-gear "></div> | 5017 | <div id="rm_button_group_chats" title="Create New Chat Group" data-i18n="[title]Create New Chat Group" class="menu_button fa-solid fa-users-gear "></div> |
| 4956 | <input id="character_search_bar" class="text_pole width100p" type="search" data-i18n="[placeholder]Search..." placeholder="Search..." maxlength="100" /> | 5018 | <input id="character_search_bar" class="text_pole width100p" type="search" data-i18n="[placeholder]Search..." placeholder="Search..." /> |
| 4957 | <select id="character_sort_order" title="Characters sorting order" data-i18n="[title]Characters sorting order"> | 5019 | <select id="character_sort_order" title="Characters sorting order" data-i18n="[title]Characters sorting order"> |
| 4958 | <option data-field="search" data-order="desc" data-i18n="Search" hidden>Search</option> | 5020 | <option data-field="search" data-order="desc" data-i18n="Search" hidden>Search</option> |
| 4959 | <option data-field="name" data-order="asc" data-i18n="A-Z">A-Z</option> | 5021 | <option data-field="name" data-order="asc" data-i18n="A-Z">A-Z</option> |
| @@ -4989,1063 +5051,1091 @@ | |||
| 4989 | </div> | 5051 | </div> |
| 4990 | </div> | 5052 | </div> |
| 4991 | <!-- various fullscreen popups --> | 5053 | <!-- various fullscreen popups --> |
| 4992 | <template id="popup_template" data-i18n="[popup-button-save]popup-button-save;[popup-button-yes]popup-button-yes;[popup-button-no]popup-button-no;[popup-button-cancel]popup-button-cancel;[popup-button-import]popup-button-import;[popup-button-crop]popup-button-crop" popup-button-save="Save" popup-button-yes="Yes" popup-button-no="No" popup-button-cancel="Cancel" popup-button-import="Import" popup-button-crop="Crop"> <!-- localization data holder for popups --> | 5054 | <div name="templatesAndPopupsWrapper"> <!--this div is just for IDE sanity for quick collapsing--> |
| 4993 | <dialog class="popup"> | 5055 | <div id="export_format_popup" class="list-group"> |
| 4994 | <div class="popup-body"> | 5056 | <div class="export_format list-group-item" data-format="png">PNG</div> |
| 4995 | <div class="popup-content"> | 5057 | <div class="export_format list-group-item" data-format="json">JSON</div> |
| 4996 | <h3 class="popup-header">text</h3> | 5058 | </div> |
| 5059 | <div id="zoomed_avatar_template" class="template_element"> | ||
| 5060 | <div class="zoomed_avatar"> | ||
| 5061 | <div class="panelControlBar flex-container"> | ||
| 5062 | <div class="fa-fw fa-solid fa-grip drag-grabber"></div> | ||
| 5063 | <div class="fa-fw fa-solid fa-circle-xmark dragClose" id="closeZoom"></div> | ||
| 4997 | </div> | 5064 | </div> |
| 4998 | <div class="popup-crop-wrap"> | 5065 | <div class="zoomed_avatar_container"> |
| 4999 | <img class="popup-crop-image" src=""> | 5066 | <img class="zoomed_avatar_img" src="" data-izoomify-url="" data-izoomify-magnify="1.8" data-izoomify-duration="300" alt=""> |
| 5000 | </div> | 5067 | </div> |
| 5001 | <textarea class="popup-input text_pole result-control auto-select" rows="1" data-result="1" data-result-event="submit"></textarea> | 5068 | </div> |
| 5002 | <div class="popup-inputs"></div> | 5069 | </div> |
| 5003 | <div class="popup-controls"> | 5070 | <template id="generic_draggable_template"> |
| 5004 | <div class="popup-button-ok menu_button result-control" data-result="1" data-i18n="Delete">Delete</div> | 5071 | <div class="draggable"> |
| 5005 | <div class="popup-button-cancel menu_button result-control" data-result="0" data-i18n="Cancel">Cancel</div> | 5072 | <div class="dragTitle"></div> |
| 5073 | <div class="panelControlBar flex-container"> | ||
| 5074 | <div class="fa-fw fa-solid fa-grip drag-grabber"></div> | ||
| 5075 | <div class="fa-fw fa-solid fa-circle-xmark dragClose"></div> | ||
| 5006 | </div> | 5076 | </div> |
| 5007 | </div> | 5077 | </div> |
| 5008 | <div class="popup-button-close right_menu_button fa-solid fa-circle-xmark" data-result="0" title="Close popup" data-i18n="[title]Close popup"></div> | 5078 | </template> |
| 5009 | </dialog> | 5079 | <div id="user_avatar_template" class="template_element"> |
| 5010 | </template> | 5080 | <div class="avatar-container"> |
| 5011 | <div id="shadow_popup"> | 5081 | <div imgfile="" class="avatar"> |
| 5012 | <div id="dialogue_popup"> | 5082 | <img src="" alt="User Avatar"> |
| 5013 | <div id="dialogue_popup_holder"> | ||
| 5014 | <div id="dialogue_popup_text"> | ||
| 5015 | <h3 class="margin0">text</h3> | ||
| 5016 | </div> | 5083 | </div> |
| 5017 | <textarea id="dialogue_popup_input" class="text_pole" rows="1"></textarea> | 5084 | <div class="flex-container wide100pLess70px character_select_container"> |
| 5018 | <div id="dialogue_popup_controls"> | 5085 | <div class="wide100p character_name_block"> |
| 5019 | <div id="dialogue_popup_ok" class="menu_button" data-i18n="Delete" data-result="1">Delete</div> | 5086 | <span class="ch_name flex1"></span> |
| 5020 | <div id="dialogue_popup_cancel" class="menu_button" data-i18n="Cancel" data-result="0">Cancel</div> | 5087 | <div class="avatar-buttons"> |
| 5088 | <button class="menu_button bind_user_name" title="Bind user name to that avatar" data-i18n="[title]Bind user name to that avatar"> | ||
| 5089 | <i class="fa-fw fa-solid fa-user-edit"></i> | ||
| 5090 | </button> | ||
| 5091 | <button class="menu_button set_persona_image" title="Change persona image" data-i18n="[title]Change persona image"> | ||
| 5092 | <i class="fa-fw fa-solid fa-image"></i> | ||
| 5093 | </button> | ||
| 5094 | <button class="menu_button set_default_persona" title="Select this as default persona for the new chats." data-i18n="[title]Select this as default persona for the new chats."> | ||
| 5095 | <i class="fa-fw fa-solid fa-crown"></i> | ||
| 5096 | </button> | ||
| 5097 | <button class="menu_button duplicate_persona" title="Duplicate persona" data-i18n="[title]Duplicate persona"> | ||
| 5098 | <i class="fa-fw fa-solid fa-clone"></i> | ||
| 5099 | </button> | ||
| 5100 | <button class="menu_button delete_avatar" title="Delete persona" data-i18n="[title]Delete persona"> | ||
| 5101 | <i class="fa-fw fa-solid fa-trash-alt"></i> | ||
| 5102 | </button> | ||
| 5103 | </div> | ||
| 5104 | </div> | ||
| 5105 | <div class="ch_description"></div> | ||
| 5021 | </div> | 5106 | </div> |
| 5022 | </div> | 5107 | </div> |
| 5023 | </div> | 5108 | </div> |
| 5024 | </div> | 5109 | <template id="popup_template" data-i18n="[popup-button-save]popup-button-save;[popup-button-yes]popup-button-yes;[popup-button-no]popup-button-no;[popup-button-cancel]popup-button-cancel;[popup-button-import]popup-button-import;[popup-button-crop]popup-button-crop" popup-button-save="Save" popup-button-yes="Yes" popup-button-no="No" popup-button-cancel="Cancel" popup-button-import="Import" popup-button-crop="Crop"> <!-- localization data holder for popups --> |
| 5025 | <div id="character_popup" class="flex-container flexFlowColumn flexNoGap"> | 5110 | <dialog class="popup"> |
| 5026 | <div id="character_popup_text"> | 5111 | <div class="popup-body"> |
| 5027 | <h3 id="character_popup-button-h3" class="margin0"></h3> <span data-i18n="Advanced Defininitions">- Advanced | 5112 | <div class="popup-content"> |
| 5028 | Definitions</span> | 5113 | <h3 class="popup-header">text</h3> |
| 5029 | </div> | 5114 | </div> |
| 5030 | <hr class="margin-bot-10px"> | 5115 | <div class="popup-crop-wrap"> |
| 5031 | <div id="character_cross" class="fa-solid fa-circle-xmark"></div> | 5116 | <img class="popup-crop-image" src=""> |
| 5032 | <div class="inline-drawer"> | 5117 | </div> |
| 5033 | <div class="inline-drawer-toggle inline-drawer-header"> | 5118 | <textarea class="popup-input text_pole result-control auto-select" rows="1" data-result="1" data-result-event="submit"></textarea> |
| 5034 | <h4> | 5119 | <div class="popup-inputs"></div> |
| 5035 | <span data-i18n="Prompt Overrides">Prompt Overrides</span> | 5120 | <div class="popup-controls"> |
| 5036 | <small data-i18n="(For Chat Completion and Instruct Mode)">(For Chat Completion and Instruct Mode)</small> | 5121 | <div class="popup-button-ok menu_button result-control" data-result="1" data-i18n="Delete">Delete</div> |
| 5037 | </h4> | 5122 | <div class="popup-button-cancel menu_button result-control" data-result="0" data-i18n="Cancel">Cancel</div> |
| 5038 | <div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div> | ||
| 5039 | </div> | ||
| 5040 | <div class="inline-drawer-content"> | ||
| 5041 | <small data-i18n="Insert {{original}} into either box to include the respective default prompt from system settings.">Insert {{original}} into either box to include the respective default prompt from system settings.</small> | ||
| 5042 | <div> | ||
| 5043 | <h4 data-i18n="Main Prompt">Main Prompt</h4> | ||
| 5044 | <textarea id="system_prompt_textarea" name="system_prompt" data-i18n="[placeholder]Any contents here will replace the default Main Prompt used for this character. (v2 spec: system_prompt)" placeholder="Any contents here will replace the default Main Prompt used for this character. (v2 spec: system_prompt)" form="form_create" class="text_pole" autocomplete="off" rows="3" maxlength="50000"></textarea> | ||
| 5045 | <div class="extension_token_counter"> | ||
| 5046 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="system_prompt_textarea">counting...</span> | ||
| 5047 | </div> | 5123 | </div> |
| 5048 | </div> | 5124 | </div> |
| 5049 | <div> | 5125 | <div class="popup-button-close right_menu_button fa-solid fa-circle-xmark" data-result="0" title="Close popup" data-i18n="[title]Close popup"></div> |
| 5050 | <h4 data-i18n="Post-History Instructions">Post-History Instructions</h4> | 5126 | </dialog> |
| 5051 | <textarea id="post_history_instructions_textarea" name="post_history_instructions" data-i18n="[placeholder]Any contents here will replace the default Post-History Instructions used for this character. (v2 spec: post_history_instructions)" placeholder="Any contents here will replace the default Post-History Instructions used for this character. (v2 spec: post_history_instructions)" form="form_create" class="text_pole" autocomplete="off" rows="3" maxlength="50000"></textarea> | 5127 | </template> |
| 5052 | <div class="extension_token_counter"> | 5128 | <div id="shadow_popup"> |
| 5053 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="post_history_instructions_textarea">counting...</span> | 5129 | <div id="dialogue_popup"> |
| 5130 | <div id="dialogue_popup_holder"> | ||
| 5131 | <div id="dialogue_popup_text"> | ||
| 5132 | <h3 class="margin0">text</h3> | ||
| 5133 | </div> | ||
| 5134 | <textarea id="dialogue_popup_input" class="text_pole" rows="1"></textarea> | ||
| 5135 | <div id="dialogue_popup_controls"> | ||
| 5136 | <div id="dialogue_popup_ok" class="menu_button" data-i18n="Delete" data-result="1">Delete</div> | ||
| 5137 | <div id="dialogue_popup_cancel" class="menu_button" data-i18n="Cancel" data-result="0">Cancel</div> | ||
| 5054 | </div> | 5138 | </div> |
| 5055 | </div> | 5139 | </div> |
| 5056 | </div> | 5140 | </div> |
| 5057 | </div> | 5141 | </div> |
| 5058 | <hr> | 5142 | <div id="character_popup" class="flex-container flexFlowColumn flexNoGap"> |
| 5059 | <div class="inline-drawer"> | 5143 | <div id="character_popup_text"> |
| 5060 | <div class="inline-drawer-toggle inline-drawer-header"> | 5144 | <h3 id="character_popup-button-h3" class="margin0"></h3> <span data-i18n="Advanced Defininitions">- Advanced |
| 5061 | <h4 data-i18n="Creator's Metadata (Not sent with the AI prompt)"><!-- This data-i18n attribute on the left is kept for backward compatibility, use the ones below when translating --> | 5145 | Definitions</span> |
| 5062 | <span data-i18n="Creator's Metadata">Creator's Metadata</span> | ||
| 5063 | <small data-i18n="(Not sent with the AI Prompt)">(Not sent with the AI Prompt)</small> | ||
| 5064 | </h4> | ||
| 5065 | <div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div> | ||
| 5066 | </div> | 5146 | </div> |
| 5067 | <div class="inline-drawer-content"> | 5147 | <hr class="margin-bot-10px"> |
| 5068 | <small data-i18n="Everything here is optional">Everything here is optional</small> | 5148 | <div id="character_cross" class="fa-solid fa-circle-xmark"></div> |
| 5069 | <div class="flex-container flexnowrap"> | 5149 | <div class="inline-drawer"> |
| 5070 | <div class="flex1"> | 5150 | <div class="inline-drawer-toggle inline-drawer-header"> |
| 5071 | <h4 data-i18n="Created by">Created by</h4> | 5151 | <h4> |
| 5072 | <textarea id="creator_textarea" name="creator" data-i18n="[placeholder](Botmaker's name / Contact Info)" placeholder="(Botmaker's name / Contact info)" form="form_create" class="text_pole" autocomplete="off" rows="2" maxlength="5000"></textarea> | 5152 | <span data-i18n="Prompt Overrides">Prompt Overrides</span> |
| 5153 | <small data-i18n="(For Chat Completion and Instruct Mode)">(For Chat Completion and Instruct Mode)</small> | ||
| 5154 | </h4> | ||
| 5155 | <div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div> | ||
| 5156 | </div> | ||
| 5157 | <div class="inline-drawer-content"> | ||
| 5158 | <small data-i18n="Insert {{original}} into either box to include the respective default prompt from system settings.">Insert {{original}} into either box to include the respective default prompt from system settings.</small> | ||
| 5159 | <div> | ||
| 5160 | <h4 data-i18n="Main Prompt">Main Prompt</h4> | ||
| 5161 | <textarea id="system_prompt_textarea" name="system_prompt" data-i18n="[placeholder]Any contents here will replace the default Main Prompt used for this character. (v2 spec: system_prompt)" placeholder="Any contents here will replace the default Main Prompt used for this character. (v2 spec: system_prompt)" form="form_create" class="text_pole" autocomplete="off" rows="3"></textarea> | ||
| 5162 | <div class="extension_token_counter"> | ||
| 5163 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="system_prompt_textarea">counting...</span> | ||
| 5164 | </div> | ||
| 5073 | </div> | 5165 | </div> |
| 5074 | <div class="flex1"> | 5166 | <div> |
| 5075 | <h4 data-i18n="Character Version">Character Version</h4> | 5167 | <h4 data-i18n="Post-History Instructions">Post-History Instructions</h4> |
| 5076 | <textarea id="character_version_textarea" name="character_version" data-i18n="[placeholder](If you want to track character versions)" placeholder="(If you want to track character versions)" form="form_create" class="text_pole" autocomplete="off" rows="2" maxlength="500"></textarea> | 5168 | <textarea id="post_history_instructions_textarea" name="post_history_instructions" data-i18n="[placeholder]Any contents here will replace the default Post-History Instructions used for this character. (v2 spec: post_history_instructions)" placeholder="Any contents here will replace the default Post-History Instructions used for this character. (v2 spec: post_history_instructions)" form="form_create" class="text_pole" autocomplete="off" rows="3"></textarea> |
| 5169 | <div class="extension_token_counter"> | ||
| 5170 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="post_history_instructions_textarea">counting...</span> | ||
| 5171 | </div> | ||
| 5077 | </div> | 5172 | </div> |
| 5078 | </div> | 5173 | </div> |
| 5079 | <div class="flex-container flexnowrap"> | 5174 | </div> |
| 5080 | <div class="flex1"> | 5175 | <hr> |
| 5081 | <h4 class="flex-box" data-i18n="Creator's Notes">Creator's Notes<i class="editor_maximize fa-solid fa-maximize" data-for="creator_notes_textarea" title="Expand the editor" data-i18n="[title]Expand the editor"></i></h4> | 5176 | <div class="inline-drawer"> |
| 5082 | <textarea id="creator_notes_textarea" name="creator_notes" data-i18n="[placeholder](Describe the bot, give use tips, or list the chat models it has been tested on. This will be displayed in the character list.)" placeholder="(Describe the bot, give use tips, or list the chat models it has been tested on. This will be displayed in the character list.)" form="form_create" class="text_pole" autocomplete="off" rows="4" maxlength="20000"></textarea> | 5177 | <div class="inline-drawer-toggle inline-drawer-header"> |
| 5178 | <h4 data-i18n="Creator's Metadata (Not sent with the AI prompt)"><!-- This data-i18n attribute on the left is kept for backward compatibility, use the ones below when translating --> | ||
| 5179 | <span data-i18n="Creator's Metadata">Creator's Metadata</span> | ||
| 5180 | <small data-i18n="(Not sent with the AI Prompt)">(Not sent with the AI Prompt)</small> | ||
| 5181 | </h4> | ||
| 5182 | <div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div> | ||
| 5183 | </div> | ||
| 5184 | <div class="inline-drawer-content"> | ||
| 5185 | <small data-i18n="Everything here is optional">Everything here is optional</small> | ||
| 5186 | <div class="flex-container flexnowrap"> | ||
| 5187 | <div class="flex1"> | ||
| 5188 | <h4 data-i18n="Created by">Created by</h4> | ||
| 5189 | <textarea id="creator_textarea" name="creator" data-i18n="[placeholder](Botmaker's name / Contact Info)" placeholder="(Botmaker's name / Contact info)" form="form_create" class="text_pole" autocomplete="off" rows="2"></textarea> | ||
| 5190 | </div> | ||
| 5191 | <div class="flex1"> | ||
| 5192 | <h4 data-i18n="Character Version">Character Version</h4> | ||
| 5193 | <textarea id="character_version_textarea" name="character_version" data-i18n="[placeholder](If you want to track character versions)" placeholder="(If you want to track character versions)" form="form_create" class="text_pole" autocomplete="off" rows="2"></textarea> | ||
| 5194 | </div> | ||
| 5083 | </div> | 5195 | </div> |
| 5084 | <div class="flex1"> | 5196 | <div class="flex-container flexnowrap"> |
| 5085 | <h4 data-i18n="Tags to Embed">Tags to Embed</h4> | 5197 | <div class="flex1"> |
| 5086 | <textarea id="tags_textarea" name="tags" data-i18n="[placeholder](Write a comma-separated list of tags)" placeholder="(Write a comma-separated list of tags)" form="form_create" class="text_pole" autocomplete="off" rows="4" maxlength="5000"></textarea> | 5198 | <h4 class="flex-box" data-i18n="Creator's Notes">Creator's Notes<i class="editor_maximize fa-solid fa-maximize" data-for="creator_notes_textarea" title="Expand the editor" data-i18n="[title]Expand the editor"></i></h4> |
| 5199 | <textarea id="creator_notes_textarea" name="creator_notes" data-i18n="[placeholder](Describe the bot, give use tips, or list the chat models it has been tested on. This will be displayed in the character list.)" placeholder="(Describe the bot, give use tips, or list the chat models it has been tested on. This will be displayed in the character list.)" form="form_create" class="text_pole" autocomplete="off" rows="4"></textarea> | ||
| 5200 | </div> | ||
| 5201 | <div class="flex1"> | ||
| 5202 | <h4 data-i18n="Tags to Embed">Tags to Embed</h4> | ||
| 5203 | <textarea id="tags_textarea" name="tags" data-i18n="[placeholder](Write a comma-separated list of tags)" placeholder="(Write a comma-separated list of tags)" form="form_create" class="text_pole" autocomplete="off" rows="4"></textarea> | ||
| 5204 | </div> | ||
| 5087 | </div> | 5205 | </div> |
| 5088 | </div> | 5206 | </div> |
| 5089 | </div> | 5207 | </div> |
| 5090 | </div> | 5208 | <hr> |
| 5091 | <hr> | 5209 | <div id="personality_div"> |
| 5092 | <div id="personality_div"> | 5210 | <h4 class="flex-container alignItemsBaseline"> |
| 5093 | <h4> | 5211 | <span data-i18n="Personality summary">Personality summary</span> |
| 5094 | <span data-i18n="Personality summary">Personality summary</span> | 5212 | <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#personality-summary" class="notes-link" target="_blank"><span class="fa-solid fa-circle-question note-link-span"></span></a> |
| 5095 | <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#personality-summary" class="notes-link" target="_blank"><span class="fa-solid fa-circle-question note-link-span"></span></a> | ||
| 5096 | </h4> | ||
| 5097 | <textarea id="personality_textarea" name="personality" data-i18n="[placeholder](A brief description of the personality)" placeholder="(A brief description of the personality)" form="form_create" class="text_pole" autocomplete="off" rows="4" maxlength="50000"></textarea> | ||
| 5098 | <div class="extension_token_counter"> | ||
| 5099 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="personality_textarea" data-token-permanent="true">counting...</span> | ||
| 5100 | </div> | ||
| 5101 | </div> | ||
| 5102 | <div id="scenario_div"> | ||
| 5103 | <h4> | ||
| 5104 | <span data-i18n="Scenario">Scenario</span> | ||
| 5105 | <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#scenario" class="notes-link" target="_blank"> | ||
| 5106 | <span class="fa-solid fa-circle-question note-link-span"></span> | ||
| 5107 | </a> | ||
| 5108 | </h4> | ||
| 5109 | <textarea id="scenario_pole" name="scenario" data-i18n="[placeholder](Circumstances and context of the interaction)" placeholder="(Circumstances and context of the interaction)" class="text_pole" maxlength="50000" value="" autocomplete="off" form="form_create" rows="4"></textarea> | ||
| 5110 | <div class="extension_token_counter"> | ||
| 5111 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="scenario_pole" data-token-permanent="true">counting...</span> | ||
| 5112 | </div> | ||
| 5113 | </div> | ||
| 5114 | <div id="depth_prompt_div" class="flex-container"> | ||
| 5115 | <div class="flex1"> | ||
| 5116 | <h4> | ||
| 5117 | <span data-i18n="Character's Note"> | ||
| 5118 | Character's Note | ||
| 5119 | </span> | ||
| 5120 | </h4> | 5213 | </h4> |
| 5121 | <textarea id="depth_prompt_prompt" name="depth_prompt_prompt" class="text_pole" rows="5" maxlength="50000" autocomplete="off" form="form_create" data-i18n="[placeholder](Text to be inserted in-chat @ designated depth and role)" placeholder="(Text to be inserted in-chat @ designated depth and role)"></textarea> | 5214 | <textarea id="personality_textarea" name="personality" data-i18n="[placeholder](A brief description of the personality)" placeholder="(A brief description of the personality)" form="form_create" class="text_pole" autocomplete="off" rows="4"></textarea> |
| 5215 | <div class="extension_token_counter"> | ||
| 5216 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="personality_textarea" data-token-permanent="true">counting...</span> | ||
| 5217 | </div> | ||
| 5122 | </div> | 5218 | </div> |
| 5123 | <div> | 5219 | <div id="scenario_div"> |
| 5124 | <h4> | 5220 | <h4 class="flex-container alignItemsBaseline"> |
| 5125 | <span data-i18n="@ Depth"> | 5221 | <span data-i18n="Scenario">Scenario</span> |
| 5126 | @ Depth | 5222 | <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#scenario" class="notes-link" target="_blank"> |
| 5127 | </span> | 5223 | <span class="fa-solid fa-circle-question note-link-span"></span> |
| 5224 | </a> | ||
| 5128 | </h4> | 5225 | </h4> |
| 5129 | <input id="depth_prompt_depth" name="depth_prompt_depth" class="text_pole textarea_compact m-t-0" type="number" min="0" max="999" value="4" form="form_create" /> | 5226 | <textarea id="scenario_pole" name="scenario" data-i18n="[placeholder](Circumstances and context of the interaction)" placeholder="(Circumstances and context of the interaction)" class="text_pole" value="" autocomplete="off" form="form_create" rows="4"></textarea> |
| 5130 | <h4> | ||
| 5131 | <span data-i18n="Role"> | ||
| 5132 | Role | ||
| 5133 | </span> | ||
| 5134 | </h4> | ||
| 5135 | <select id="depth_prompt_role" name="depth_prompt_role" form="form_create" class="text_pole textarea_compact m-t-0"> | ||
| 5136 | <option value="system" data-i18n="System">System</option> | ||
| 5137 | <option value="user" data-i18n="User">User</option> | ||
| 5138 | <option value="assistant" data-i18n="Assistant">Assistant</option> | ||
| 5139 | </select> | ||
| 5140 | <div class="extension_token_counter"> | 5227 | <div class="extension_token_counter"> |
| 5141 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="depth_prompt_prompt" data-token-permanent="true">counting...</span> | 5228 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="scenario_pole" data-token-permanent="true">counting...</span> |
| 5142 | </div> | 5229 | </div> |
| 5143 | </div> | 5230 | </div> |
| 5144 | </div> | 5231 | <div id="depth_prompt_div" class="flex-container"> |
| 5145 | <div id="talkativeness_div"> | 5232 | <div class="flex1"> |
| 5146 | <h4><span data-i18n="Talkativeness">Talkativeness</span></h4> | 5233 | <h4> |
| 5147 | <h5 data-i18n="How often the character speaks in group chats!"><!-- This data-i18n attribute on the left is kept for backward compatibility, use the ones below when translating --> | 5234 | <span data-i18n="Character's Note"> |
| 5148 | <span data-i18n="How often the character speaks in">How often the character speaks in</span> <span class="warning" data-i18n="group chats!">group chats!</span> | 5235 | Character's Note |
| 5149 | </h5> | 5236 | </span> |
| 5150 | <input id="talkativeness_slider" name="talkativeness" type="range" min="0" max="1" step="0.05" value="0.5" form="form_create"> | 5237 | </h4> |
| 5151 | <div class="slider_hint"> | 5238 | <textarea id="depth_prompt_prompt" name="depth_prompt_prompt" class="text_pole" rows="5" autocomplete="off" form="form_create" data-i18n="[placeholder](Text to be inserted in-chat @ designated depth and role)" placeholder="(Text to be inserted in-chat @ designated depth and role)"></textarea> |
| 5152 | <span data-i18n="Shy">Shy</span> | 5239 | </div> |
| 5153 | <span data-i18n="Normal">Normal</span> | 5240 | <div> |
| 5154 | <span data-i18n="Chatty">Chatty</span> | 5241 | <h4> |
| 5242 | <span data-i18n="@ Depth"> | ||
| 5243 | @ Depth | ||
| 5244 | </span> | ||
| 5245 | </h4> | ||
| 5246 | <input id="depth_prompt_depth" name="depth_prompt_depth" class="text_pole textarea_compact m-t-0" type="number" min="0" max="999" value="4" form="form_create" /> | ||
| 5247 | <h4> | ||
| 5248 | <span data-i18n="Role"> | ||
| 5249 | Role | ||
| 5250 | </span> | ||
| 5251 | </h4> | ||
| 5252 | <select id="depth_prompt_role" name="depth_prompt_role" form="form_create" class="text_pole textarea_compact m-t-0"> | ||
| 5253 | <option value="system" data-i18n="System">System</option> | ||
| 5254 | <option value="user" data-i18n="User">User</option> | ||
| 5255 | <option value="assistant" data-i18n="Assistant">Assistant</option> | ||
| 5256 | </select> | ||
| 5257 | <div class="extension_token_counter"> | ||
| 5258 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="depth_prompt_prompt" data-token-permanent="true">counting...</span> | ||
| 5259 | </div> | ||
| 5260 | </div> | ||
| 5155 | </div> | 5261 | </div> |
| 5156 | </div> | 5262 | <div id="talkativeness_div"> |
| 5157 | <hr> | 5263 | <h4><span data-i18n="Talkativeness">Talkativeness</span></h4> |
| 5158 | <div id="mes_example_div" class="flex-container flexFlowColumn"> | 5264 | <h5 data-i18n="How often the character speaks in group chats!"><!-- This data-i18n attribute on the left is kept for backward compatibility, use the ones below when translating --> |
| 5159 | <div> | 5265 | <span data-i18n="How often the character speaks in">How often the character speaks in</span> <span class="warning" data-i18n="group chats!">group chats!</span> |
| 5160 | <h4><span data-i18n="Examples of dialogue">Examples of dialogue</span></h4> | 5266 | </h5> |
| 5161 | <h5 data-i18n="Important to set the character's writing style.">Important to set the character's writing style. <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#examples-of-dialogue" class="notes-link" target="_blank"><span class="fa-solid fa-circle-question note-link-span"></span></a></h5> | 5267 | <input id="talkativeness_slider" name="talkativeness" type="range" min="0" max="1" step="0.05" value="0.5" form="form_create"> |
| 5268 | <div class="slider_hint"> | ||
| 5269 | <span data-i18n="Shy">Shy</span> | ||
| 5270 | <span data-i18n="Normal">Normal</span> | ||
| 5271 | <span data-i18n="Chatty">Chatty</span> | ||
| 5272 | </div> | ||
| 5162 | </div> | 5273 | </div> |
| 5163 | <textarea id="mes_example_textarea" class="flexGrow" name="mes_example" data-i18n="[placeholder](Examples of chat dialog. Begin each example with START on a new line.)" placeholder="(Examples of chat dialog. Begin each example with <START> on a new line.)" form="form_create" maxlength="50000" rows="6"></textarea> | 5274 | <hr> |
| 5164 | <div class="extension_token_counter"> | 5275 | <div id="mes_example_div" class="flex-container flexFlowColumn"> |
| 5165 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="mes_example_textarea">counting...</span> | 5276 | <div> |
| 5277 | <h4 class="flex-container gap5px alignItemsBaseline"><span data-i18n="Examples of dialogue" class="mdhotkey_location">Examples of dialogue</span></h4> | ||
| 5278 | <h5 data-i18n="Important to set the character's writing style.">Important to set the character's writing style. <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#examples-of-dialogue" class="notes-link" target="_blank"><span class="fa-solid fa-circle-question note-link-span"></span></a></h5> | ||
| 5279 | </div> | ||
| 5280 | <textarea id="mes_example_textarea" class="flexGrow mdHotkeys" name="mes_example" data-i18n="[placeholder](Examples of chat dialog. Begin each example with START on a new line.)" placeholder="(Examples of chat dialog. Begin each example with <START> on a new line.)" form="form_create" rows="6"></textarea> | ||
| 5281 | <div class="extension_token_counter"> | ||
| 5282 | <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="mes_example_textarea">counting...</span> | ||
| 5283 | </div> | ||
| 5284 | <!-- TODO: Example chats handhold-editor concept: https://gist.github.com/Cohee1207/50da02a4001ac1adae9b440f9b8e1079 --> | ||
| 5166 | </div> | 5285 | </div> |
| 5167 | <!-- PLACEHOLDER CODE FOR NEW EXAMPLE CHAT HANDLING | 5286 | <div id="character_popup_ok" class="menu_button" data-i18n="Save">Save</div> |
| 5168 | <div name="exampleChatsBlockTemplate" class="flex-container flexFlowColumn"> | 5287 | </div> |
| 5169 | <div class="flex-container alignitemscenter"> | 5288 | |
| 5170 | <textarea class="flexShrink flexGrow wideMinContent" rows="1" placeholder="Name for this example chat"></textarea> | 5289 | <div id="shadow_select_chat_popup"> |
| 5171 | <div class="fa-solid fa-plus menu_button" title="Add a new message to this example chat block"></div> | 5290 | <div id="select_chat_popup"> |
| 5291 | <div name="selectChatPopupHeader" class="flex-container alignitemscenter justifySpaceBetween flexGap10"> | ||
| 5292 | <div id="select_chat_import"> <!-- import chat popup header --> | ||
| 5293 | <form id="form_import_chat" action="javascript:void(null);" method="post" enctype="multipart/form-data" style="display: none;"> | ||
| 5294 | <input type="file" id="chat_import_file" accept=".json, .jsonl" name="avatar"> | ||
| 5295 | <input id="chat_import_file_type" name="file_type" class="text_pole" value="" autocomplete="off" style="display: none;"> | ||
| 5296 | <input id="chat_import_avatar_url" name="avatar_url" class="text_pole" value="" autocomplete="off" style="display: none;"> | ||
| 5297 | <input id="chat_import_character_name" name="character_name" class="text_pole" value="" autocomplete="off" style="display: none;"> | ||
| 5298 | </form> | ||
| 5172 | </div> | 5299 | </div> |
| 5173 | <div class="flex-container whitespacenowrap"> | 5300 | <div id="selectChatPopupHeaderText" class="TxtLrgBoldCenter"> |
| 5174 | <div class="flex-container flexFlowColumn"> | 5301 | <span id="ChatHistoryCharName"></span><span data-i18n="Chat History">Chat History</span> |
| 5175 | <select> | 5302 | <a href="https://docs.sillytavern.app/usage/core-concepts/chatfilemanagement/#chat-import" class="notes-link" target="_blank"><span class="fa-solid fa-circle-question note-link-span"></span></a> |
| 5176 | <option>{{user}}</option> | ||
| 5177 | <option>{{char}}</option> | ||
| 5178 | <option>Custom</option> | ||
| 5179 | </select> | ||
| 5180 | <textarea rows="1" placeholder="Custom Entity"></textarea> | ||
| 5181 | </div> | ||
| 5182 | <textarea class="flexShrink flexGrow wideMinContent" placeholder="Content of the example chat."></textarea> | ||
| 5183 | </div> | 5303 | </div> |
| 5184 | <div class="flex-container whitespacenowrap"> | 5304 | <div id="newChatFromManageScreenButton" class="menu_button menu_button_icon"> |
| 5185 | <div class="flex-container flexFlowColumn"> | 5305 | <i class="fa-solid fa-plus"></i> |
| 5186 | <select> | 5306 | <span data-i18n="New Chat">New Chat</span> |
| 5187 | <option>{{user}}</option> | ||
| 5188 | <option>{{char}}</option> | ||
| 5189 | <option>Custom</option> | ||
| 5190 | </select> | ||
| 5191 | <textarea rows="1" placeholder="Custom Entity"></textarea> | ||
| 5192 | </div> | ||
| 5193 | <textarea class="flexShrink flexGrow wideMinContent" placeholder="Content of the example chat."></textarea> | ||
| 5194 | </div> | 5307 | </div> |
| 5308 | <div id="chat_import_button" class="menu_button menu_button_icon"> | ||
| 5309 | <i class="fa-solid fa-file-import"></i> | ||
| 5310 | <span data-i18n="Import Chat">Import Chat</span> | ||
| 5311 | </div> | ||
| 5312 | <input type="text" id="select_chat_search" class="text_pole flex1" data-i18n="[placeholder]Search..." placeholder="Search..." autocomplete="off"> | ||
| 5313 | <div id="select_chat_cross" class="opacity50p hoverglow fa-solid fa-circle-xmark fontsize120p" alt="Close Past Chat Popup"></div> | ||
| 5195 | </div> | 5314 | </div> |
| 5196 | --> | 5315 | <div id="select_chat_div"></div> |
| 5197 | </div> | 5316 | <div id="load_select_chat_div"> |
| 5198 | <div id="character_popup_ok" class="menu_button" data-i18n="Save">Save</div> | 5317 | <div class="fa-solid fa-hourglass fa-spin"></div> |
| 5199 | </div> | ||
| 5200 | <div id="shadow_select_chat_popup"> | ||
| 5201 | <div id="select_chat_popup"> | ||
| 5202 | <div name="selectChatPopupHeader" class="flex-container alignitemscenter justifySpaceBetween flexGap10"> | ||
| 5203 | <div id="select_chat_import"> <!-- import chat popup header --> | ||
| 5204 | <form id="form_import_chat" action="javascript:void(null);" method="post" enctype="multipart/form-data" style="display: none;"> | ||
| 5205 | <input type="file" id="chat_import_file" accept=".json, .jsonl" name="avatar"> | ||
| 5206 | <input id="chat_import_file_type" name="file_type" class="text_pole" maxlength="999" size="2" value="" autocomplete="off" style="display: none;"> | ||
| 5207 | <input id="chat_import_avatar_url" name="avatar_url" class="text_pole" maxlength="999" size="2" value="" autocomplete="off" style="display: none;"> | ||
| 5208 | <input id="chat_import_character_name" name="character_name" class="text_pole" maxlength="999" size="2" value="" autocomplete="off" style="display: none;"> | ||
| 5209 | </form> | ||
| 5210 | </div> | ||
| 5211 | <div id="selectChatPopupHeaderText" class="TxtLrgBoldCenter"> | ||
| 5212 | <span id="ChatHistoryCharName"></span><span data-i18n="Chat History">Chat History</span> | ||
| 5213 | <a href="https://docs.sillytavern.app/usage/core-concepts/chatfilemanagement/#chat-import" class="notes-link" target="_blank"><span class="fa-solid fa-circle-question note-link-span"></span></a> | ||
| 5214 | </div> | ||
| 5215 | <div id="newChatFromManageScreenButton" class="menu_button menu_button_icon"> | ||
| 5216 | <i class="fa-solid fa-plus"></i> | ||
| 5217 | <span data-i18n="New Chat">New Chat</span> | ||
| 5218 | </div> | ||
| 5219 | <div id="chat_import_button" class="menu_button menu_button_icon"> | ||
| 5220 | <i class="fa-solid fa-file-import"></i> | ||
| 5221 | <span data-i18n="Import Chat">Import Chat</span> | ||
| 5222 | </div> | 5318 | </div> |
| 5223 | <input type="text" id="select_chat_search" class="text_pole flex1" data-i18n="[placeholder]Search..." placeholder="Search..." autocomplete="off"> | ||
| 5224 | <div id="select_chat_cross" class="opacity50p hoverglow fa-solid fa-circle-xmark fontsize120p" alt="Close Past Chat Popup"></div> | ||
| 5225 | </div> | ||
| 5226 | <div id="select_chat_div"></div> | ||
| 5227 | <div id="load_select_chat_div"> | ||
| 5228 | <div class="fa-solid fa-hourglass fa-spin"></div> | ||
| 5229 | </div> | 5319 | </div> |
| 5230 | </div> | 5320 | </div> |
| 5231 | </div> | 5321 | <div id="background_template" class="template_element"> |
| 5232 | <div id="background_template" class="template_element"> | 5322 | <div class="bg_example flex-container" bgfile="" class="bg_example_img" title=""> |
| 5233 | <div class="bg_example flex-container" bgfile="" class="bg_example_img" title=""> | 5323 | <div title="Copy to system backgrounds" data-i18n="[title]Copy to system backgrounds" class="bg_button bg_example_copy fa-solid fa-file-arrow-up"></div> |
| 5234 | <div title="Copy to system backgrounds" data-i18n="[title]Copy to system backgrounds" class="bg_button bg_example_copy fa-solid fa-file-arrow-up"></div> | 5324 | <div title="Rename background" data-i18n="[title]Rename background" class="bg_button bg_example_edit fa-solid fa-pencil"></div> |
| 5235 | <div title="Rename background" data-i18n="[title]Rename background" class="bg_button bg_example_edit fa-solid fa-pencil"></div> | 5325 | <div title="Lock" data-i18n="[title]Lock" class="bg_button bg_example_lock fa-solid fa-lock"></div> |
| 5236 | <div title="Lock" data-i18n="[title]Lock" class="bg_button bg_example_lock fa-solid fa-lock"></div> | 5326 | <div title="Unlock" data-i18n="[title]Unlock" class="bg_button bg_example_unlock fa-solid fa-lock-open"></div> |
| 5237 | <div title="Unlock" data-i18n="[title]Unlock" class="bg_button bg_example_unlock fa-solid fa-lock-open"></div> | 5327 | <div title="Delete background" data-i18n="[title]Delete background" class="bg_button bg_example_cross fa-solid fa-circle-xmark"></div> |
| 5238 | <div title="Delete background" data-i18n="[title]Delete background" class="bg_button bg_example_cross fa-solid fa-circle-xmark"></div> | 5328 | <div class="BGSampleTitle"> |
| 5239 | <div class="BGSampleTitle"> | 5329 | </div> |
| 5240 | </div> | 5330 | </div> |
| 5241 | </div> | 5331 | </div> |
| 5242 | </div> | 5332 | <!-- templates for JS to reuse when needed --> |
| 5243 | <!-- templates for JS to reuse when needed --> | 5333 | <div id="chat_world_template" class="template_element"> |
| 5244 | <div id="chat_world_template" class="template_element"> | 5334 | <div class="chat_world range-block flexFlowColumn flex-container"> |
| 5245 | <div class="chat_world range-block flexFlowColumn flex-container"> | 5335 | <div class="range-block-title"> |
| 5246 | <div class="range-block-title"> | 5336 | <h4 data-i18n="Chat Lorebook"><!-- This data-i18n attribute is kept for backward compatibility, use the ones below when translating --> |
| 5247 | <h4 data-i18n="Chat Lorebook"><!-- This data-i18n attribute is kept for backward compatibility, use the ones below when translating --> | 5337 | <span data-i18n="Chat Lorebook for">Chat Lorebook for</span> <span class="chat_name"></span> |
| 5248 | <span data-i18n="Chat Lorebook for">Chat Lorebook for</span> <span class="chat_name"></span> | 5338 | </h4> |
| 5249 | </h4> | 5339 | </div> |
| 5250 | </div> | 5340 | <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px"> |
| 5251 | <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px"> | 5341 | <span data-i18n="chat_world_template_txt"> |
| 5252 | <span data-i18n="chat_world_template_txt"> | 5342 | A selected World Info will be bound to this chat. When generating an AI reply, |
| 5253 | A selected World Info will be bound to this chat. When generating an AI reply, | 5343 | it will be combined with the entries from global and character lorebooks. |
| 5254 | it will be combined with the entries from global and character lorebooks. | 5344 | </span> |
| 5255 | </span> | 5345 | </div> |
| 5256 | </div> | 5346 | <div class="range-block-range wide100p"> |
| 5257 | <div class="range-block-range wide100p"> | 5347 | <select class="chat_world_info_selector wide100p"> |
| 5258 | <select class="chat_world_info_selector wide100p"> | 5348 | <option value="">--- None ---</option> |
| 5259 | <option value="">--- None ---</option> | 5349 | </select> |
| 5260 | </select> | 5350 | </div> |
| 5261 | </div> | 5351 | </div> |
| 5262 | </div> | 5352 | </div> |
| 5263 | </div> | 5353 | <div id="character_world_template" class="template_element"> |
| 5264 | <div id="character_world_template" class="template_element"> | 5354 | <div class="character_world range-block flexFlowColumn flex-container"> |
| 5265 | <div class="character_world range-block flexFlowColumn flex-container"> | 5355 | <div class="range-block-title"> |
| 5266 | <div class="range-block-title"> | 5356 | <h3> |
| 5267 | <h3> | 5357 | <span data-i18n="Select a World Info file for"> Select a World Info file for <span class="character_name"></span></span>: |
| 5268 | <span data-i18n="Select a World Info file for"> Select a World Info file for <span class="character_name"></span></span>: | 5358 | </h3> |
| 5269 | </h3> | 5359 | </div> |
| 5270 | </div> | 5360 | <h4 data-i18n="Primary Lorebook">Primary Lorebook</h4> |
| 5271 | <h4 data-i18n="Primary Lorebook">Primary Lorebook</h4> | 5361 | <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px"> |
| 5272 | <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px"> | 5362 | <span data-i18n="A selected World Info will be bound to this character as its own Lorebook.">A selected World Info will be bound to this character as its own Lorebook.</span> |
| 5273 | <span data-i18n="A selected World Info will be bound to this character as its own Lorebook.">A selected World Info will be bound to this character as its own Lorebook.</span> | 5363 | <span data-i18n="When generating an AI reply, it will be combined with the entries from a global World Info selector.">When generating an AI reply, it will be combined with the entries from a global World Info selector.</span> |
| 5274 | <span data-i18n="When generating an AI reply, it will be combined with the entries from a global World Info selector.">When generating an AI reply, it will be combined with the entries from a global World Info selector.</span> | 5364 | <span data-i18n="Exporting a character would also export the selected Lorebook file embedded in the JSON data.">Exporting a character would also export the selected Lorebook file embedded in the JSON data.</span> |
| 5275 | <span data-i18n="Exporting a character would also export the selected Lorebook file embedded in the JSON data.">Exporting a character would also export the selected Lorebook file embedded in the JSON data.</span> | 5365 | </div> |
| 5276 | </div> | 5366 | <div class="range-block-range wide100p"> |
| 5277 | <div class="range-block-range wide100p"> | 5367 | <select class="character_world_info_selector wide100p"> |
| 5278 | <select class="character_world_info_selector wide100p"> | 5368 | <option value="">--- None ---</option> |
| 5279 | <option value="">--- None ---</option> | 5369 | </select> |
| 5280 | </select> | 5370 | </div> |
| 5281 | </div> | 5371 | <div class="range-block-title"> |
| 5282 | <div class="range-block-title"> | 5372 | <h4> |
| 5283 | <h4> | 5373 | <span data-i18n="Additional Lorebooks">Additional Lorebooks</span> |
| 5284 | <span data-i18n="Additional Lorebooks">Additional Lorebooks</span> | 5374 | </h4> |
| 5285 | </h4> | 5375 | </div> |
| 5286 | </div> | 5376 | <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px"> |
| 5287 | <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px"> | 5377 | <span data-i18n="Associate one or more auxillary Lorebooks with this character.">Associate one or more auxillary Lorebooks with this character.</span><br> |
| 5288 | <span data-i18n="Associate one or more auxillary Lorebooks with this character.">Associate one or more auxillary Lorebooks with this character.</span><br> | 5378 | <span data-i18n="NOTE: These choices are optional and won't be preserved on character export!">NOTE: These choices are optional and won't be preserved on character export!</span> |
| 5289 | <span data-i18n="NOTE: These choices are optional and won't be preserved on character export!">NOTE: These choices are optional and won't be preserved on character export!</span> | 5379 | </div> |
| 5290 | </div> | 5380 | <div class="range-block-range wide100p"> |
| 5291 | <div class="range-block-range wide100p"> | 5381 | <select class="character_extra_world_info_selector wide100p" multiple> |
| 5292 | <select class="character_extra_world_info_selector wide100p" multiple> | 5382 | <option value="" data-i18n="-- World Info not found --">-- World Info not found --</option> |
| 5293 | <option value="" data-i18n="-- World Info not found --">-- World Info not found --</option> | 5383 | </select> |
| 5294 | </select> | 5384 | </div> |
| 5295 | </div> | 5385 | </div> |
| 5296 | </div> | 5386 | </div> |
| 5297 | </div> | 5387 | <div id="past_chat_template" class="template_element"> |
| 5298 | <div id="past_chat_template" class="template_element"> | 5388 | <div class="select_chat_block_wrapper flex-container"> |
| 5299 | <div class="select_chat_block_wrapper flex-container"> | 5389 | <div class="select_chat_block wide100p flex-container" file_name=""> |
| 5300 | <div class="select_chat_block wide100p flex-container" file_name=""> | 5390 | <div id="select_chat_name_wrapper" class="flex-container alignitemscenter justifySpaceBetween wide100p"> |
| 5301 | <div id="select_chat_name_wrapper" class="flex-container alignitemscenter justifySpaceBetween wide100p"> | 5391 | <div> |
| 5302 | <div> | 5392 | <small class="select_chat_block_filename select_chat_block_filename_item"></small> |
| 5303 | <small class="select_chat_block_filename select_chat_block_filename_item"></small> | 5393 | <div title="Rename chat file" class="renameChatButton hoverglow opacity50p fa-solid fa-pencil" data-i18n="[title]Rename chat file"></div> |
| 5304 | <div title="Rename chat file" class="renameChatButton hoverglow opacity50p fa-solid fa-pencil" data-i18n="[title]Rename chat file"></div> | ||
| 5305 | </div> | ||
| 5306 | <div class="flex-container gap10px"> | ||
| 5307 | <div class="select_chat_info flex-container"> | ||
| 5308 | <small class="chat_messages_date select_chat_block_filename_item"></small> | ||
| 5309 | <small class="chat_file_size select_chat_block_filename_item"></small> | ||
| 5310 | <small class="chat_messages_num select_chat_block_filename_item"></small> | ||
| 5311 | </div> | 5394 | </div> |
| 5312 | <div class="flex-container gap10px"> | 5395 | <div class="flex-container gap10px"> |
| 5313 | <div title="Export JSONL chat file" data-format="jsonl" class="exportRawChatButton opacity50p hoverglow fa-solid fa-file-export" data-i18n="[title]Export JSONL chat file"></div> | 5396 | <div class="select_chat_info flex-container"> |
| 5314 | <div title="Download chat as plain text document" data-format="txt" class="exportChatButton opacity50p hoverglow fa-solid fa-file-lines" data-i18n="[title]Download chat as plain text document"></div> | 5397 | <small class="chat_messages_date select_chat_block_filename_item"></small> |
| 5315 | <div title="Delete chat file" file_name="" class="PastChat_cross opacity50p hoverglow fa-solid fa-skull" data-i18n="[title]Delete chat file"></div> | 5398 | <small class="chat_file_size select_chat_block_filename_item"></small> |
| 5399 | <small class="chat_messages_num select_chat_block_filename_item"></small> | ||
| 5400 | </div> | ||
| 5401 | <div class="flex-container gap10px"> | ||
| 5402 | <div title="Export JSONL chat file" data-format="jsonl" class="exportRawChatButton opacity50p hoverglow fa-solid fa-file-export" data-i18n="[title]Export JSONL chat file"></div> | ||
| 5403 | <div title="Download chat as plain text document" data-format="txt" class="exportChatButton opacity50p hoverglow fa-solid fa-file-lines" data-i18n="[title]Download chat as plain text document"></div> | ||
| 5404 | <div title="Delete chat file" file_name="" class="PastChat_cross opacity50p hoverglow fa-solid fa-skull" data-i18n="[title]Delete chat file"></div> | ||
| 5405 | </div> | ||
| 5316 | </div> | 5406 | </div> |
| 5317 | </div> | 5407 | </div> |
| 5408 | <div class="select_chat_block_mes"></div> | ||
| 5318 | </div> | 5409 | </div> |
| 5319 | <div class="select_chat_block_mes"></div> | ||
| 5320 | </div> | 5410 | </div> |
| 5321 | </div> | 5411 | </div> |
| 5322 | </div> | 5412 | <div id="tag_view_template" class="template_element"> |
| 5323 | <div id="tag_view_template" class="template_element"> | 5413 | <div class="tag_view_item"> |
| 5324 | <div class="tag_view_item"> | 5414 | <div class="drag-handle" data-i18n="[title]Drag to reorder tag">☰</div> |
| 5325 | <div class="drag-handle" data-i18n="[title]Drag to reorder tag">☰</div> | 5415 | <div title="Tag as folder" class="tag_as_folder fa-solid fa-folder-open right_menu_button" data-i18n="[title]Use tag as folder"> |
| 5326 | <div title="Tag as folder" class="tag_as_folder fa-solid fa-folder-open right_menu_button" data-i18n="[title]Use tag as folder"> | 5416 | <span class="tag_folder_indicator"></span> |
| 5327 | <span class="tag_folder_indicator"></span> | 5417 | </div> |
| 5418 | <div class="tag_view_color_picker" data-value="color"></div> | ||
| 5419 | <div class="tag_view_color_picker" data-value="color2"></div> | ||
| 5420 | <div class="tag_view_name" contenteditable="true"></div> | ||
| 5421 | <div class="tag_view_counter"><span class="tag_view_counter_value"></span> entries</div> | ||
| 5422 | <div title="Delete tag" class="tag_delete fa-solid fa-trash-can right_menu_button" data-i18n="[title]Delete tag"></div> | ||
| 5328 | </div> | 5423 | </div> |
| 5329 | <div class="tag_view_color_picker" data-value="color"></div> | ||
| 5330 | <div class="tag_view_color_picker" data-value="color2"></div> | ||
| 5331 | <div class="tag_view_name" contenteditable="true"></div> | ||
| 5332 | <div class="tag_view_counter"><span class="tag_view_counter_value"></span> entries</div> | ||
| 5333 | <div title="Delete tag" class="tag_delete fa-solid fa-trash-can right_menu_button" data-i18n="[title]Delete tag"></div> | ||
| 5334 | </div> | 5424 | </div> |
| 5335 | </div> | 5425 | <div id="entry_edit_template" class="template_element"> |
| 5336 | <div id="entry_edit_template" class="template_element"> | 5426 | <div class="world_entry"> |
| 5337 | <div class="world_entry"> | 5427 | <form class="world_entry_form wi-card-entry"> |
| 5338 | <form class="world_entry_form wi-card-entry"> | 5428 | <div class="inline-drawer wide100p"> |
| 5339 | <div class="inline-drawer wide100p"> | 5429 | <div class="inline-drawer-header gap5px padding0"> |
| 5340 | <div class="inline-drawer-header gap5px padding0"> | 5430 | <span class="drag-handle">☰</span> |
| 5341 | <span class="drag-handle">☰</span> | 5431 | <div class="gap5px world_entry_thin_controls wide100p alignitemscenter"> |
| 5342 | <div class="gap5px world_entry_thin_controls wide100p alignitemscenter"> | 5432 | <div class="inline-drawer-toggle fa-fw fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> |
| 5343 | <div class="inline-drawer-toggle fa-fw fa-solid fa-circle-chevron-down inline-drawer-icon down"></div> | 5433 | <div class="fa-solid fa-toggle-on killSwitch" name="entryKillSwitch" title="Toggle entry's active state."></div> |
| 5344 | <div class="fa-solid fa-toggle-on killSwitch" name="entryKillSwitch" title="Toggle entry's active state."></div> | 5434 | <div class="flex-container alignitemscenter wide100p"> |
| 5345 | <div class="flex-container alignitemscenter wide100p"> | 5435 | <div class="WIEntryTitleAndStatus flex-container flex1 alignitemscenter"> |
| 5346 | 5436 | <div class="flex-container flex1"> | |
| 5347 | <div class="WIEntryTitleAndStatus flex-container flex1 alignitemscenter"> | 5437 | <textarea class="text_pole" rows="1" name="comment" data-i18n="[placeholder]Entry Title/Memo" placeholder="Entry Title/Memo"></textarea> |
| 5348 | 5438 | </div> | |
| 5349 | <div class="flex-container flex1"> | 5439 | <!-- <span class="world_entry_form_position_value"></span> --> |
| 5350 | <textarea class="text_pole" rows="1" name="comment" maxlength="5000" data-i18n="[placeholder]Entry Title/Memo" placeholder="Entry Title/Memo"></textarea> | 5440 | <select data-i18n="[title]WI Entry Status:🔵 Constant🟢 Normal🔗 Vectorized❌ Disabled" title="WI Entry Status: 🔵 Constant 🟢 Normal 🔗 Vectorized ❌ Disabled" name="entryStateSelector" class="text_pole widthNatural margin0"> |
| 5351 | </div> | 5441 | <option value="constant" title="Constant" data-i18n="[title]WI_Entry_Status_Constant">🔵</option> |
| 5352 | <select data-i18n="[title]WI Entry Status:🔵 Constant🟢 Normal🔗 Vectorized❌ Disabled" title="WI Entry Status: 🔵 Constant 🟢 Normal 🔗 Vectorized ❌ Disabled" name="entryStateSelector" class="text_pole widthNatural margin0"> | 5442 | <option value="normal" title="Normal" data-i18n="[title]WI_Entry_Status_Normal">🟢</option> |
| 5353 | <option value="constant" title="Constant" data-i18n="[title]WI_Entry_Status_Constant">🔵</option> | 5443 | <option value="vectorized" title="Vectorized" data-i18n="[title]WI_Entry_Status_Vectorized">🔗</option> |
| 5354 | <option value="normal" title="Normal" data-i18n="[title]WI_Entry_Status_Normal">🟢</option> | ||
| 5355 | <option value="vectorized" title="Vectorized" data-i18n="[title]WI_Entry_Status_Vectorized">🔗</option> | ||
| 5356 | </select> | ||
| 5357 | </div> | ||
| 5358 | <div class="WIEnteryHeaderControls flex-container"> | ||
| 5359 | <div name="PositionBlock" class="world_entry_form_control world_entry_form_radios wi-enter-footer-text"> | ||
| 5360 | <label for="position" class="WIEntryHeaderTitleMobile" data-i18n="Position:">Position:</label> | ||
| 5361 | <select name="position" class="text_pole widthNatural margin0" data-i18n="[title]T_Position" title="↑Char: Before Character Definitions ↓Char: After Character Definitions ↑EM: Before Example Messages ↓EM: After Example Messages ↑AN: Before Author's Note ↓AN: After Author's Note @D ⚙️: at Depth (System) @D 👤: at Depth (User) @D 🤖: at Depth (Assistant)"> | ||
| 5362 | <option value="0" data-role="" data-i18n="Before Char Defs"> | ||
| 5363 | ↑Char | ||
| 5364 | </option> | ||
| 5365 | <option value="1" data-role="" data-i18n="After Char Defs"> | ||
| 5366 | ↓Char | ||
| 5367 | </option> | ||
| 5368 | <option value="5" data-role="" data-i18n="Before EM"> | ||
| 5369 | ↑EM | ||
| 5370 | </option> | ||
| 5371 | <option value="6" data-role="" data-i18n="After EM"> | ||
| 5372 | ↓EM | ||
| 5373 | </option> | ||
| 5374 | <option value="2" data-role="" data-i18n="Before AN"> | ||
| 5375 | ↑AN | ||
| 5376 | </option> | ||
| 5377 | <option value="3" data-role="" data-i18n="After AN"> | ||
| 5378 | ↓AN | ||
| 5379 | </option> | ||
| 5380 | <option value="4" data-role="0" data-i18n="at Depth System"> | ||
| 5381 | @D ⚙️ | ||
| 5382 | </option> | ||
| 5383 | <option value="4" data-role="1" data-i18n="at Depth User"> | ||
| 5384 | @D 👤 | ||
| 5385 | </option> | ||
| 5386 | <option value="4" data-role="2" data-i18n="at Depth AI"> | ||
| 5387 | @D 🤖 | ||
| 5388 | </option> | ||
| 5389 | </select> | 5444 | </select> |
| 5390 | </div> | 5445 | </div> |
| 5391 | <div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap"> | 5446 | <div class="WIEnteryHeaderControls flex-container"> |
| 5392 | <label for="depth" class="WIEntryHeaderTitleMobile" data-i18n="Depth:">Depth:</label> | 5447 | <div name="PositionBlock" class="world_entry_form_control world_entry_form_radios wi-enter-footer-text"> |
| 5393 | <input title="Depth" class="text_pole wideMax100px margin0" type="number" name="depth" data-i18n="[title]Depth" placeholder="" min="0" max="999" /> | 5448 | <label for="position" class="WIEntryHeaderTitleMobile" data-i18n="Position:">Position:</label> |
| 5394 | </div> | 5449 | <select name="position" class="text_pole widthNatural margin0" data-i18n="[title]T_Position" title="↑Char: Before Character Definitions ↓Char: After Character Definitions ↑EM: Before Example Messages ↓EM: After Example Messages ↑AN: Before Author's Note ↓AN: After Author's Note @D ⚙️: at Depth (System) @D 👤: at Depth (User) @D 🤖: at Depth (Assistant)"> |
| 5395 | <div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap"> | 5450 | <option value="0" data-role="" data-i18n="Before Char Defs"> |
| 5396 | <label for="order" class="WIEntryHeaderTitleMobile" data-i18n="Order:">Order:</label> | 5451 | ↑Char |
| 5397 | <input title="Order" data-i18n="[title]Order" class="text_pole wideMax100px margin0" type="number" name="order" placeholder="" min="0" max="999" /> | 5452 | </option> |
| 5398 | </div> | 5453 | <option value="1" data-role="" data-i18n="After Char Defs"> |
| 5399 | <div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap probabilityContainer"> | 5454 | ↓Char |
| 5400 | <label for="order" class="WIEntryHeaderTitleMobile" data-i18n="Trigger %:">Trigger %:</label> | 5455 | </option> |
| 5401 | <input title="Probability" data-i18n="[title]Probability" class="text_pole wideMax100px margin0" type="number" name="probability" placeholder="" min="0" max="100" /> | 5456 | <option value="5" data-role="" data-i18n="Before EM"> |
| 5457 | ↑EM | ||
| 5458 | </option> | ||
| 5459 | <option value="6" data-role="" data-i18n="After EM"> | ||
| 5460 | ↓EM | ||
| 5461 | </option> | ||
| 5462 | <option value="2" data-role="" data-i18n="Before AN"> | ||
| 5463 | ↑AN | ||
| 5464 | </option> | ||
| 5465 | <option value="3" data-role="" data-i18n="After AN"> | ||
| 5466 | ↓AN | ||
| 5467 | </option> | ||
| 5468 | <option value="4" data-role="0" data-i18n="at Depth System"> | ||
| 5469 | @D ⚙️ | ||
| 5470 | </option> | ||
| 5471 | <option value="4" data-role="1" data-i18n="at Depth User"> | ||
| 5472 | @D 👤 | ||
| 5473 | </option> | ||
| 5474 | <option value="4" data-role="2" data-i18n="at Depth AI"> | ||
| 5475 | @D 🤖 | ||
| 5476 | </option> | ||
| 5477 | </select> | ||
| 5478 | </div> | ||
| 5479 | <div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap"> | ||
| 5480 | <label for="depth" class="WIEntryHeaderTitleMobile" data-i18n="Depth:">Depth:</label> | ||
| 5481 | <input title="Depth" class="text_pole wideMax100px margin0" type="number" name="depth" data-i18n="[title]Depth" placeholder="" min="0" max="999" /> | ||
| 5482 | </div> | ||
| 5483 | <div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap"> | ||
| 5484 | <label for="order" class="WIEntryHeaderTitleMobile" data-i18n="Order:">Order:</label> | ||
| 5485 | <input title="Order" data-i18n="[title]Order" class="text_pole wideMax100px margin0" type="number" name="order" placeholder="" min="0" max="999" /> | ||
| 5486 | </div> | ||
| 5487 | <div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap probabilityContainer"> | ||
| 5488 | <label for="order" class="WIEntryHeaderTitleMobile" data-i18n="Trigger %:">Trigger %:</label> | ||
| 5489 | <input title="Probability" data-i18n="[title]Probability" class="text_pole wideMax100px margin0" type="number" name="probability" placeholder="" min="0" max="100" /> | ||
| 5490 | </div> | ||
| 5402 | </div> | 5491 | </div> |
| 5403 | </div> | 5492 | </div> |
| 5404 | </div> | 5493 | </div> |
| 5494 | <i class="menu_button duplicate_entry_button fa-solid fa-paste" title="Duplicate world info entry" data-i18n="[title]Duplicate world info entry" type="submit" value=""></i> | ||
| 5495 | <i class="menu_button delete_entry_button fa-solid fa-trash-can" title="Delete world info entry" data-i18n="[title]Delete world info entry" type="submit" value=""></i> | ||
| 5405 | </div> | 5496 | </div> |
| 5406 | <i class="menu_button duplicate_entry_button fa-solid fa-paste" title="Duplicate world info entry" data-i18n="[title]Duplicate world info entry" type="submit" value=""></i> | 5497 | <div class="inline-drawer-content flex-container paddingBottom5px wide100p"> |
| 5407 | <i class="menu_button delete_entry_button fa-solid fa-trash-can" title="Delete world info entry" data-i18n="[title]Delete world info entry" type="submit" value=""></i> | 5498 | <div class="flex-container wide100p alignitemscenter"> |
| 5408 | </div> | 5499 | <div name="keywordsAndLogicBlock" class="flex-container wide100p alignitemscenter"> |
| 5409 | <div class="inline-drawer-content flex-container paddingBottom5px wide100p"> | 5500 | <div class="world_entry_form_control flex1"> |
| 5410 | <div class="flex-container wide100p alignitemscenter"> | 5501 | <small class="displayNone"> |
| 5411 | <div name="keywordsAndLogicBlock" class="flex-container wide100p alignitemscenter"> | 5502 | <span data-i18n="Comma separated (required)"> |
| 5412 | <div class="world_entry_form_control flex1"> | 5503 | Comma separated (required) |
| 5413 | <small class="displayNone"> | ||
| 5414 | <span data-i18n="Comma separated (required)"> | ||
| 5415 | Comma separated (required) | ||
| 5416 | </span> | ||
| 5417 | </small> | ||
| 5418 | <small class="textAlignCenter" data-i18n="Primary Keywords">Primary Keywords</small> | ||
| 5419 | <select class="keyprimaryselect keyselect select2_multi_sameline" name="key" data-i18n="[placeholder]Keywords or Regexes" placeholder="Keywords or Regexes" multiple="multiple"></select> | ||
| 5420 | <textarea class="text_pole keyprimarytextpole mobile" name="key" rows="1" data-i18n="[placeholder]Comma separated list" placeholder="Comma separated list" maxlength="2000" style="display: none;"></textarea> | ||
| 5421 | <button type="button" class="switch_input_type_icon" tabindex="-1" title="Switch to plaintext mode" data-i18n="[title]Switch to plaintext mode" data-icon-on="✨" data-icon-off="⌨️" data-tooltip-on="Switch to fancy mode" data-tooltip-off="Switch to plaintext mode"> | ||
| 5422 | ⌨️ | ||
| 5423 | </button> | ||
| 5424 | </div> | ||
| 5425 | <div class="world_entry_form_control"> | ||
| 5426 | <small class="textAlignCenter" data-i18n="Logic">Logic</small> | ||
| 5427 | <select name="entryLogicType" class="text_pole widthFitContent margin0"> | ||
| 5428 | <option value="0" data-i18n="AND ANY">AND ANY</option> | ||
| 5429 | <option value="3" data-i18n="AND ALL">AND ALL</option> | ||
| 5430 | <option value="1" data-i18n="NOT ALL">NOT ALL</option> | ||
| 5431 | <option value="2" data-i18n="NOT ANY">NOT ANY</option> | ||
| 5432 | </select> | ||
| 5433 | </div> | ||
| 5434 | <div class="world_entry_form_control keysecondary flex1"> | ||
| 5435 | <small class="displayNone"> | ||
| 5436 | <span data-i18n="(ignored if empty)"> | ||
| 5437 | (ignored if empty) | ||
| 5438 | </span> | ||
| 5439 | </small> | ||
| 5440 | <small class="textAlignCenter" data-i18n="Optional Filter">Optional Filter</small> | ||
| 5441 | <select class="keysecondaryselect keyselect select2_multi_sameline" name="keysecondary" data-i18n="[placeholder]Keywords or Regexes (ignored if empty)" placeholder="Keywords or Regexes (ignored if empty)" multiple="multiple"></select> | ||
| 5442 | <textarea class="text_pole keysecondarytextpole mobile" name="keysecondary" rows="1" data-i18n="[placeholder]Comma separated list (ignored if empty)" placeholder="Comma separated list (ignored if empty)" maxlength="2000" style="display: none;"></textarea> | ||
| 5443 | <button type="button" class="switch_input_type_icon" tabindex="-1" title="Switch to plaintext mode" data-i18n="[title]Switch to plaintext mode" data-icon-on="✨" data-icon-off="⌨️" data-tooltip-on="Switch to fancy mode" data-tooltip-off="Switch to plaintext mode"> | ||
| 5444 | ⌨️ | ||
| 5445 | </button> | ||
| 5446 | </div> | ||
| 5447 | </div> | ||
| 5448 | <div name="perEntryOverridesBlock" class="flex-container wide100p alignitemscenter"> | ||
| 5449 | <div class="world_entry_form_control flex1"> | ||
| 5450 | <small class="textAlignCenter" data-i18n="Scan Depth">Scan Depth</small> | ||
| 5451 | <input class="text_pole margin0" name="scanDepth" type="number" placeholder="Use global setting" data-i18n="[placeholder]Use global setting" max="1000"> | ||
| 5452 | </div> | ||
| 5453 | <div class="world_entry_form_control flex1"> | ||
| 5454 | <small class="textAlignCenter" data-i18n="Case-Sensitive">Case-Sensitive</small> | ||
| 5455 | <select name="caseSensitive" class="text_pole widthNatural margin0"> | ||
| 5456 | <option value="null" data-i18n="Use global setting">Use global setting</option> | ||
| 5457 | <option value="true" data-i18n="Yes">Yes</option> | ||
| 5458 | <option value="false" data-i18n="No">No</option> | ||
| 5459 | </select> | ||
| 5460 | </div> | ||
| 5461 | <div class="world_entry_form_control flex1"> | ||
| 5462 | <small class="textAlignCenter" data-i18n="Match Whole Words">Match Whole Words</small> | ||
| 5463 | <select name="matchWholeWords" class="text_pole widthNatural margin0"> | ||
| 5464 | <option value="null" data-i18n="Use global setting">Use global setting</option> | ||
| 5465 | <option value="true" data-i18n="Yes">Yes</option> | ||
| 5466 | <option value="false" data-i18n="No">No</option> | ||
| 5467 | </select> | ||
| 5468 | </div> | ||
| 5469 | <div class="world_entry_form_control flex1"> | ||
| 5470 | <small class="textAlignCenter" data-i18n="Use Group Scoring">Use Group Scoring</small> | ||
| 5471 | <select name="useGroupScoring" class="text_pole widthNatural margin0"> | ||
| 5472 | <option value="null" data-i18n="Use global setting">Use global setting</option> | ||
| 5473 | <option value="true" data-i18n="Yes">Yes</option> | ||
| 5474 | <option value="false" data-i18n="No">No</option> | ||
| 5475 | </select> | ||
| 5476 | </div> | ||
| 5477 | <div class="world_entry_form_control flex1" title="Can be used to automatically activate Quick Replies" data-i18n="[title]Can be used to automatically activate Quick Replies"> | ||
| 5478 | <small class="textAlignCenter" data-i18n="Automation ID">Automation ID</small> | ||
| 5479 | <input class="text_pole margin0" name="automationId" type="text" placeholder="( None )" data-i18n="[placeholder]( None )"> | ||
| 5480 | </div> | ||
| 5481 | </div> | ||
| 5482 | <div name="contentAndCharFilterBlock" class="world_entry_thin_controls flex2"> | ||
| 5483 | <div class="world_entry_form_control flex1"> | ||
| 5484 | <label for="content "> | ||
| 5485 | <small> | ||
| 5486 | <span class="alignitemscenter flex-container flexnowrap wide100p justifySpaceBetween"> | ||
| 5487 | <span data-i18n="Content" class="alignitemscenter flex-container flexNoGap"> | ||
| 5488 | Content | ||
| 5489 | </span> | ||
| 5490 | <span> | ||
| 5491 | (<span data-i18n="extension_token_counter">Tokens:</span> <span class="world_entry_form_token_counter" data-first-run="true">counting...</span>) | ||
| 5492 | <span class="world_entry_form_uid_value" data-first-run="true"></span> | ||
| 5493 | </span> | ||
| 5494 | <div> | ||
| 5495 | <label class="checkbox flex-container alignitemscenter flexNoGap"> | ||
| 5496 | <input type="checkbox" name="exclude_recursion" /> | ||
| 5497 | <span data-i18n="Exclude from recursion"> | ||
| 5498 | Non-recursable (this entry will not be activated by another) | ||
| 5499 | </span> | ||
| 5500 | </label> | ||
| 5501 | <label class="checkbox flex-container alignitemscenter flexNoGap"> | ||
| 5502 | <input type="checkbox" name="prevent_recursion" /> | ||
| 5503 | <span data-i18n="Prevent further recursion (this entry will not activate others)"> | ||
| 5504 | Prevent further recursion (this entry will not activate others) | ||
| 5505 | </span> | ||
| 5506 | </label> | ||
| 5507 | <label class="checkbox flex-container alignitemscenter flexNoGap"> | ||
| 5508 | <input type="checkbox" name="delay_until_recursion" /> | ||
| 5509 | <span data-i18n="Delay until recursion (this entry can only be activated on recursive checking)"> | ||
| 5510 | Delay until recursion (this entry can only be activated on recursive checking) | ||
| 5511 | </span> | ||
| 5512 | </label> | ||
| 5513 | </div> | ||
| 5514 | </span> | 5504 | </span> |
| 5515 | </small> | 5505 | </small> |
| 5506 | <small class="textAlignCenter" data-i18n="Primary Keywords">Primary Keywords</small> | ||
| 5507 | <select class="keyprimaryselect keyselect select2_multi_sameline" name="key" data-i18n="[placeholder]Keywords or Regexes" placeholder="Keywords or Regexes" multiple="multiple"></select> | ||
| 5508 | <textarea class="text_pole keyprimarytextpole mobile" name="key" rows="1" data-i18n="[placeholder]Comma separated list" placeholder="Comma separated list" style="display: none;"></textarea> | ||
| 5509 | <button type="button" class="switch_input_type_icon" tabindex="-1" title="Switch to plaintext mode" data-i18n="[title]Switch to plaintext mode" data-icon-on="✨" data-icon-off="⌨️" data-tooltip-on="Switch to fancy mode" data-tooltip-off="Switch to plaintext mode"> | ||
| 5510 | ⌨️ | ||
| 5511 | </button> | ||
| 5512 | </div> | ||
| 5513 | <div class="world_entry_form_control"> | ||
| 5514 | <small class="textAlignCenter" data-i18n="Logic">Logic</small> | ||
| 5515 | <select name="entryLogicType" class="text_pole widthFitContent margin0"> | ||
| 5516 | <option value="0" data-i18n="AND ANY">AND ANY</option> | ||
| 5517 | <option value="3" data-i18n="AND ALL">AND ALL</option> | ||
| 5518 | <option value="1" data-i18n="NOT ALL">NOT ALL</option> | ||
| 5519 | <option value="2" data-i18n="NOT ANY">NOT ANY</option> | ||
| 5520 | </select> | ||
| 5521 | </div> | ||
| 5522 | <div class="world_entry_form_control keysecondary flex1"> | ||
| 5516 | <small class="displayNone"> | 5523 | <small class="displayNone"> |
| 5517 | <span data-i18n="What this keyword should mean to the AI, sent verbatim"> | 5524 | <span data-i18n="(ignored if empty)"> |
| 5518 | What this keyword should mean to the AI, sent verbatim | 5525 | (ignored if empty) |
| 5519 | </span> | 5526 | </span> |
| 5520 | </small> | 5527 | </small> |
| 5521 | </label> | 5528 | <small class="textAlignCenter" data-i18n="Optional Filter">Optional Filter</small> |
| 5522 | <textarea class="text_pole" name="content" rows="8" data-i18n="[placeholder]What this keyword should mean to the AI, sent verbatim" placeholder="What this keyword should mean to the AI, sent verbatim"></textarea> | 5529 | <select class="keysecondaryselect keyselect select2_multi_sameline" name="keysecondary" data-i18n="[placeholder]Keywords or Regexes (ignored if empty)" placeholder="Keywords or Regexes (ignored if empty)" multiple="multiple"></select> |
| 5530 | <textarea class="text_pole keysecondarytextpole mobile" name="keysecondary" rows="1" data-i18n="[placeholder]Comma separated list (ignored if empty)" placeholder="Comma separated list (ignored if empty)" style="display: none;"></textarea> | ||
| 5531 | <button type="button" class="switch_input_type_icon" tabindex="-1" title="Switch to plaintext mode" data-i18n="[title]Switch to plaintext mode" data-icon-on="✨" data-icon-off="⌨️" data-tooltip-on="Switch to fancy mode" data-tooltip-off="Switch to plaintext mode"> | ||
| 5532 | ⌨️ | ||
| 5533 | </button> | ||
| 5534 | </div> | ||
| 5535 | </div> | ||
| 5536 | <div name="perEntryOverridesBlock" class="flex-container wide100p alignitemscenter"> | ||
| 5537 | <div class="world_entry_form_control flex1"> | ||
| 5538 | <small class="textAlignCenter" data-i18n="Scan Depth">Scan Depth</small> | ||
| 5539 | <input class="text_pole margin0" name="scanDepth" type="number" placeholder="Use global setting" data-i18n="[placeholder]Use global setting" max="1000"> | ||
| 5540 | </div> | ||
| 5541 | <div class="world_entry_form_control flex1"> | ||
| 5542 | <small class="textAlignCenter" data-i18n="Case-Sensitive">Case-Sensitive</small> | ||
| 5543 | <select name="caseSensitive" class="text_pole widthNatural margin0"> | ||
| 5544 | <option value="null" data-i18n="Use global">Use global</option> | ||
| 5545 | <option value="true" data-i18n="Yes">Yes</option> | ||
| 5546 | <option value="false" data-i18n="No">No</option> | ||
| 5547 | </select> | ||
| 5548 | </div> | ||
| 5549 | <div class="world_entry_form_control flex1"> | ||
| 5550 | <small class="textAlignCenter" data-i18n="Whole Words">Whole Words</small> | ||
| 5551 | <select name="matchWholeWords" class="text_pole widthNatural margin0"> | ||
| 5552 | <option value="null" data-i18n="Use global">Use global</option> | ||
| 5553 | <option value="true" data-i18n="Yes">Yes</option> | ||
| 5554 | <option value="false" data-i18n="No">No</option> | ||
| 5555 | </select> | ||
| 5556 | </div> | ||
| 5557 | <div class="world_entry_form_control flex1"> | ||
| 5558 | <small class="textAlignCenter" data-i18n="Group Scoring">Group Scoring</small> | ||
| 5559 | <select name="useGroupScoring" class="text_pole widthNatural margin0"> | ||
| 5560 | <option value="null" data-i18n="Use global">Use global</option> | ||
| 5561 | <option value="true" data-i18n="Yes">Yes</option> | ||
| 5562 | <option value="false" data-i18n="No">No</option> | ||
| 5563 | </select> | ||
| 5564 | </div> | ||
| 5565 | <div class="world_entry_form_control flex1" title="Can be used to automatically activate Quick Replies" data-i18n="[title]Can be used to automatically activate Quick Replies"> | ||
| 5566 | <small class="textAlignCenter" data-i18n="Automation ID">Automation ID</small> | ||
| 5567 | <input class="text_pole margin0" name="automationId" type="text" placeholder="( None )" data-i18n="[placeholder]( None )"> | ||
| 5568 | </div> | ||
| 5569 | <div class="world_entry_form_control flex1" title="Defines delay levels for recursive scans. Initially, only the first level (smallest number) will match. Once no matches are found, the next level becomes eligible for matching. This repeats until all levels are checked. Tied to the "Delay until recursion" setting." data-i18n="[title]delay_until_recursion_level"> | ||
| 5570 | <small class="textAlignCenter"> | ||
| 5571 | <span data-i18n="Recursion Level">Recursion Level</span> | ||
| 5572 | <div class="fa-solid fa-circle-info opacity50p"></div> | ||
| 5573 | </small> | ||
| 5574 | <input class="text_pole margin0" name="delayUntilRecursionLevel" type="text" placeholder="1"> | ||
| 5575 | </div> | ||
| 5523 | </div> | 5576 | </div> |
| 5524 | </div> | 5577 | <div name="contentAndCharFilterBlock" class="world_entry_thin_controls flex2"> |
| 5525 | <div class="world_entry_thin_controls commentContainer"> | 5578 | <div class="world_entry_form_control flex1"> |
| 5526 | </div> | 5579 | <label for="content "> |
| 5527 | </div> | 5580 | <small> |
| 5528 | <div class="flex-container wide100p flexGap10"> | 5581 | <span class="alignitemscenter flex-container flexnowrap wide100p justifySpaceBetween"> |
| 5529 | <div class="flex4 flex-container flexFlowColumn flexNoGap"> | 5582 | <span data-i18n="Content" class="alignitemscenter flex-container flexNoGap mdhotkey_location"> |
| 5530 | <div class="flex-container justifySpaceBetween"> | 5583 | Content |
| 5531 | <small for="group"> | 5584 | </span> |
| 5532 | <span data-i18n="Inclusion Group">Inclusion Group</span> | 5585 | <span> |
| 5533 | <a href="https://docs.sillytavern.app/usage/core-concepts/worldinfo/#inclusion-group" class="notes-link" target="_blank" title="Inclusion Groups ensure only one entry from a group is activated at a time, if multiple are triggered. Supports multiple comma-separated groups. Documentation: World Info - Inclusion Group" data-i18n="[title]Inclusion Groups ensure only one entry from a group is activated at a time, if multiple are triggered.Documentation: World Info - Inclusion Group"> | 5586 | (<span data-i18n="extension_token_counter">Tokens:</span> <span class="world_entry_form_token_counter" data-first-run="true">counting...</span>) |
| 5534 | <span class="fa-solid fa-circle-question note-link-span"></span> | 5587 | <span class="world_entry_form_uid_value" data-first-run="true"></span> |
| 5535 | </a> | 5588 | </span> |
| 5536 | </small> | 5589 | <div> |
| 5537 | <label class="checkbox_label flexNoGap margin-r5" for="groupOverride"> | 5590 | <label class="checkbox flex-container alignitemscenter flexNoGap"> |
| 5538 | <input type="checkbox" name="groupOverride" /> | 5591 | <input type="checkbox" name="exclude_recursion" /> |
| 5539 | <span> | 5592 | <span data-i18n="Non-recursable (will not be activated by another)"> |
| 5540 | <small title="Prioritize this entry: When checked, this entry is prioritized out of all selections. If multiple are prioritized, the one with the highest 'Order' is chosen. " data-i18n="[title]Prioritize this entry: When checked, this entry is prioritized out of all selections.If multiple are prioritized, the one with the highest 'Order' is chosen."> | 5593 | Non-recursable (will not be activated by another) |
| 5541 | <span data-i18n="Prioritize">Prioritize</span> | 5594 | </span> |
| 5542 | <div class="fa-solid fa-circle-info opacity50p"></div> | 5595 | </label> |
| 5596 | <label class="checkbox flex-container alignitemscenter flexNoGap"> | ||
| 5597 | <input type="checkbox" name="prevent_recursion" /> | ||
| 5598 | <span data-i18n="Prevent further recursion (this entry will not activate others)"> | ||
| 5599 | Prevent further recursion (will not activate others) | ||
| 5600 | </span> | ||
| 5601 | </label> | ||
| 5602 | <label class="checkbox flex-container alignitemscenter flexNoGap"> | ||
| 5603 | <input type="checkbox" name="delay_until_recursion" /> | ||
| 5604 | <span data-i18n="Delay until recursion (can only be activated on recursive checking)"> | ||
| 5605 | Delay until recursion (can only be activated on recursive checking) | ||
| 5606 | </span> | ||
| 5607 | </label> | ||
| 5608 | </div> | ||
| 5609 | </span> | ||
| 5543 | </small> | 5610 | </small> |
| 5544 | </span> | 5611 | <small class="displayNone"> |
| 5545 | </label> | 5612 | <span data-i18n="What this keyword should mean to the AI, sent verbatim"> |
| 5613 | What this keyword should mean to the AI, sent verbatim | ||
| 5614 | </span> | ||
| 5615 | </small> | ||
| 5616 | </label> | ||
| 5617 | <textarea class="text_pole mdHotkeys" name="content" rows="8" data-i18n="[placeholder]What this keyword should mean to the AI, sent verbatim" placeholder="What this keyword should mean to the AI, sent verbatim"></textarea> | ||
| 5618 | </div> | ||
| 5546 | </div> | 5619 | </div> |
| 5547 | <div class="range-block-range"> | 5620 | <div class="world_entry_thin_controls commentContainer"> |
| 5548 | <input type="text" class="text_pole margin0" name="group" rows="1" data-i18n="[placeholder]Only one entry with the same label will be activated" placeholder="Only one entry with the same label will be activated"> | ||
| 5549 | </div> | 5621 | </div> |
| 5550 | </div> | 5622 | </div> |
| 5551 | <div class="flex2 flex-container flexFlowColumn flexNoGap" data-i18n="[title]A relative likelihood of entry activation within the group" title="A relative likelihood of entry activation within the group"> | 5623 | <div class="flex-container wide100p flexGap10"> |
| 5552 | <div class="flex-container justifySpaceBetween marginBot5"> | 5624 | <div class="flex4 flex-container flexFlowColumn flexNoGap"> |
| 5553 | <small for="groupWeight" data-i18n="Group Weight"> | 5625 | <div class="flex-container justifySpaceBetween"> |
| 5554 | Group Weight | 5626 | <small for="group"> |
| 5555 | </small> | 5627 | <span data-i18n="Inclusion Group">Inclusion Group</span> |
| 5556 | </div> | 5628 | <a href="https://docs.sillytavern.app/usage/core-concepts/worldinfo/#inclusion-group" class="notes-link" target="_blank" title="Inclusion Groups ensure only one entry from a group is activated at a time, if multiple are triggered. Supports multiple comma-separated groups. Documentation: World Info - Inclusion Group" data-i18n="[title]Inclusion Groups ensure only one entry from a group is activated at a time, if multiple are triggered.Documentation: World Info - Inclusion Group"> |
| 5557 | <div class="range-block-range"> | 5629 | <span class="fa-solid fa-circle-question note-link-span"></span> |
| 5558 | <input type="number" class="text_pole margin0" name="groupWeight" rows="1" placeholder="100" min="1" max="999999"> | 5630 | </a> |
| 5631 | </small> | ||
| 5632 | <label class="checkbox_label flexNoGap margin-r5" for="groupOverride"> | ||
| 5633 | <input type="checkbox" name="groupOverride" /> | ||
| 5634 | <span> | ||
| 5635 | <small title="Prioritize this entry: When checked, this entry is prioritized out of all selections. If multiple are prioritized, the one with the highest 'Order' is chosen. " data-i18n="[title]Prioritize this entry: When checked, this entry is prioritized out of all selections.If multiple are prioritized, the one with the highest 'Order' is chosen."> | ||
| 5636 | <span data-i18n="Prioritize">Prioritize</span> | ||
| 5637 | <div class="fa-solid fa-circle-info opacity50p"></div> | ||
| 5638 | </small> | ||
| 5639 | </span> | ||
| 5640 | </label> | ||
| 5641 | </div> | ||
| 5642 | <div class="range-block-range"> | ||
| 5643 | <input type="text" class="text_pole margin0" name="group" rows="1" data-i18n="[placeholder]Only one entry with the same label will be activated" placeholder="Only one entry with the same label will be activated"> | ||
| 5644 | </div> | ||
| 5559 | </div> | 5645 | </div> |
| 5560 | </div> | 5646 | <div class="flex2 flex-container flexFlowColumn flexNoGap" data-i18n="[title]A relative likelihood of entry activation within the group" title="A relative likelihood of entry activation within the group"> |
| 5561 | <div class="flex2 flex-container flexFlowColumn flexNoGap" data-i18n="[title]Sticky entries will stay active for N messages after being triggered." title="Sticky entries will stay active for N messages after being triggered."> | 5647 | <div class="flex-container justifySpaceBetween marginBot5"> |
| 5562 | <div class="flex-container justifySpaceBetween marginBot5"> | 5648 | <small for="groupWeight" data-i18n="Group Weight"> |
| 5563 | <small class="flex-container alignItemsBaseline" for="sticky" data-i18n="Sticky"> | 5649 | Group Weight |
| 5564 | <span data-i18n="Sticky"> | 5650 | </small> |
| 5565 | Sticky | 5651 | </div> |
| 5566 | </span> | 5652 | <div class="range-block-range"> |
| 5567 | <i class="fa-solid fa-comments fa-xs"></i> | 5653 | <input type="number" class="text_pole margin0" name="groupWeight" rows="1" placeholder="100" min="1" max="999999"> |
| 5568 | </small> | 5654 | </div> |
| 5569 | </div> | 5655 | </div> |
| 5570 | <div class="range-block-range"> | 5656 | <div class="flex2 flex-container flexFlowColumn flexNoGap" data-i18n="[title]Sticky entries will stay active for N messages after being triggered." title="Sticky entries will stay active for N messages after being triggered."> |
| 5571 | <input class="text_pole margin0" name="sticky" type="number" placeholder="Non-sticky" min="0" max="999999"> | 5657 | <div class="flex-container justifySpaceBetween marginBot5"> |
| 5658 | <small class="flex-container alignItemsBaseline" for="sticky" data-i18n="Sticky"> | ||
| 5659 | <span data-i18n="Sticky"> | ||
| 5660 | Sticky | ||
| 5661 | </span> | ||
| 5662 | <i class="fa-solid fa-comments fa-xs"></i> | ||
| 5663 | </small> | ||
| 5664 | </div> | ||
| 5665 | <div class="range-block-range"> | ||
| 5666 | <input class="text_pole margin0" name="sticky" type="number" placeholder="Non-sticky" min="0" max="999999"> | ||
| 5667 | </div> | ||
| 5572 | </div> | 5668 | </div> |
| 5573 | </div> | 5669 | <div class="flex2 flex-container flexFlowColumn flexNoGap" data-i18n="[title]Entries with a cooldown can't be activated N messages after being triggered." title="Entries with a cooldown can't be activated N messages after being triggered."> |
| 5574 | <div class="flex2 flex-container flexFlowColumn flexNoGap" data-i18n="[title]Entries with a cooldown can't be activated N messages after being triggered." title="Entries with a cooldown can't be activated N messages after being triggered."> | 5670 | <div class="flex-container justifySpaceBetween marginBot5"> |
| 5575 | <div class="flex-container justifySpaceBetween marginBot5"> | 5671 | <small class="flex-container alignItemsBaseline" for="cooldown" data-i18n="Cooldown"> |
| 5576 | <small class="flex-container alignItemsBaseline" for="cooldown" data-i18n="Cooldown"> | 5672 | <span data-i18n="Cooldown"> |
| 5577 | <span data-i18n="Cooldown"> | 5673 | Cooldown |
| 5578 | Cooldown | 5674 | </span> |
| 5579 | </span> | 5675 | <i class="fa-solid fa-comments fa-xs"></i> |
| 5580 | <i class="fa-solid fa-comments fa-xs"></i> | 5676 | </small> |
| 5581 | </small> | 5677 | </div> |
| 5678 | <div class="range-block-range"> | ||
| 5679 | <input class="text_pole margin0" name="cooldown" type="number" placeholder="No cooldown" min="0" max="999999"> | ||
| 5680 | </div> | ||
| 5582 | </div> | 5681 | </div> |
| 5583 | <div class="range-block-range"> | 5682 | <div class="flex2 flex-container flexFlowColumn flexNoGap" data-i18n="[title]Entries with a delay can't be activated until there are N messages present in the chat." title="Entries with a delay can't be activated until there are N messages present in the chat."> |
| 5584 | <input class="text_pole margin0" name="cooldown" type="number" placeholder="No cooldown" min="0" max="999999"> | 5683 | <div class="flex-container justifySpaceBetween marginBot5"> |
| 5684 | <small class="flex-container alignItemsBaseline" for="delay" data-i18n="Delay"> | ||
| 5685 | <span data-i18n="Delay"> | ||
| 5686 | Delay | ||
| 5687 | </span> | ||
| 5688 | <i class="fa-solid fa-comments fa-xs"></i> | ||
| 5689 | </small> | ||
| 5690 | </div> | ||
| 5691 | <div class="range-block-range"> | ||
| 5692 | <input class="text_pole margin0" name="delay" type="number" placeholder="No delay" min="0" max="999999"> | ||
| 5693 | </div> | ||
| 5585 | </div> | 5694 | </div> |
| 5586 | </div> | 5695 | </div> |
| 5587 | <div class="flex2 flex-container flexFlowColumn flexNoGap" data-i18n="[title]Entries with a delay can't be activated until there are N messages present in the chat." title="Entries with a delay can't be activated until there are N messages present in the chat."> | 5696 | <div class="flex-container wide100p flexGap10"> |
| 5588 | <div class="flex-container justifySpaceBetween marginBot5"> | 5697 | <div class="flex4 flex-container flexFlowColumn flexNoGap"> |
| 5589 | <small class="flex-container alignItemsBaseline" for="delay" data-i18n="Delay"> | 5698 | <div class="flex-container justifySpaceBetween"> |
| 5590 | <span data-i18n="Delay"> | 5699 | <small for="characterFilter" data-i18n="Filter to Characters or Tags"> |
| 5591 | Delay | 5700 | Filter to Characters or Tags |
| 5592 | </span> | 5701 | </small> |
| 5593 | <i class="fa-solid fa-comments fa-xs"></i> | 5702 | <label class="checkbox_label flexNoGap margin-r5" for="character_exclusion"> |
| 5594 | </small> | 5703 | <input type="checkbox" name="character_exclusion" /> |
| 5595 | </div> | 5704 | <span> |
| 5596 | <div class="range-block-range"> | 5705 | <small title="Switch the Character/Tags filter around to exclude the listed characters and tags from matching for this entry" data-i18n="[title]Switch the Character/Tags filter around to exclude the listed characters and tags from matching for this entry"> |
| 5597 | <input class="text_pole margin0" name="delay" type="number" placeholder="No delay" min="0" max="999999"> | 5706 | <span data-i18n="Exclude">Exclude</span> |
| 5707 | <div class="fa-solid fa-circle-info opacity50p"></div> | ||
| 5708 | </small> | ||
| 5709 | </span> | ||
| 5710 | </label> | ||
| 5711 | </div> | ||
| 5712 | <div class="range-block-range"> | ||
| 5713 | <select name="characterFilter" class="select2_multi_sameline" multiple> | ||
| 5714 | <option value="" data-i18n="-- Characters not found --"> | ||
| 5715 | -- Characters not found -- | ||
| 5716 | </option> | ||
| 5717 | </select> | ||
| 5718 | </div> | ||
| 5598 | </div> | 5719 | </div> |
| 5599 | </div> | 5720 | </div> |
| 5600 | </div> | 5721 | <div name="WIEntryBottomControls" class="flex-container flex1 justifySpaceBetween world_entry_form_horizontal"> |
| 5601 | <div class="flex-container wide100p flexGap10"> | 5722 | <div class="flex-container flexFlowColumn flexNoGap wi-enter-footer-text "> |
| 5602 | <div class="flex4 flex-container flexFlowColumn flexNoGap"> | 5723 | <label class="checkbox flex-container"> |
| 5603 | <div class="flex-container justifySpaceBetween"> | 5724 | <input type="checkbox" name="selective" /> |
| 5604 | <small for="characterFilter" data-i18n="Filter to Characters or Tags"> | 5725 | <span data-i18n="Selective">Selective</span> |
| 5605 | Filter to Characters or Tags | 5726 | </label> |
| 5606 | </small> | 5727 | <label class="checkbox flex-container"> |
| 5607 | <label class="checkbox_label flexNoGap margin-r5" for="character_exclusion"> | 5728 | <input type="checkbox" name="useProbability" /> |
| 5608 | <input type="checkbox" name="character_exclusion" /> | 5729 | <span data-i18n="Use Probability">Use Probability</span> |
| 5609 | <span> | 5730 | </label> |
| 5610 | <small title="Switch the Character/Tags filter around to exclude the listed characters and tags from matching for this entry" data-i18n="[title]Switch the Character/Tags filter around to exclude the listed characters and tags from matching for this entry"> | 5731 | <label class="checkbox flex-container"> |
| 5611 | <span data-i18n="Exclude">Exclude</span> | 5732 | <input type="checkbox" name="addMemo"> |
| 5612 | <div class="fa-solid fa-circle-info opacity50p"></div> | 5733 | <span data-i18n="Add Memo">Add Memo</span> |
| 5613 | </small> | ||
| 5614 | </span> | ||
| 5615 | </label> | 5734 | </label> |
| 5616 | </div> | 5735 | </div> |
| 5617 | <div class="range-block-range"> | ||
| 5618 | <select name="characterFilter" class="select2_multi_sameline" multiple> | ||
| 5619 | <option value=""> | ||
| 5620 | <span data-i18n="-- Characters not found --">-- Characters not found --</span> | ||
| 5621 | </option> | ||
| 5622 | </select> | ||
| 5623 | </div> | ||
| 5624 | </div> | ||
| 5625 | </div> | ||
| 5626 | <div name="WIEntryBottomControls" class="flex-container flex1 justifySpaceBetween world_entry_form_horizontal"> | ||
| 5627 | <div class="flex-container flexFlowColumn flexNoGap wi-enter-footer-text "> | ||
| 5628 | <label class="checkbox flex-container"> | ||
| 5629 | <input type="checkbox" name="selective" /> | ||
| 5630 | <span data-i18n="Selective">Selective</span> | ||
| 5631 | </label> | ||
| 5632 | <label class="checkbox flex-container"> | ||
| 5633 | <input type="checkbox" name="useProbability" /> | ||
| 5634 | <span data-i18n="Use Probability">Use Probability</span> | ||
| 5635 | </label> | ||
| 5636 | <label class="checkbox flex-container"> | ||
| 5637 | <input type="checkbox" name="addMemo"> | ||
| 5638 | <span data-i18n="Add Memo">Add Memo</span> | ||
| 5639 | </label> | ||
| 5640 | </div> | 5736 | </div> |
| 5641 | </div> | 5737 | </div> |
| 5642 | </div> | 5738 | </div> |
| 5643 | </div> | 5739 | </form> |
| 5644 | </form> | ||
| 5645 | </div> | ||
| 5646 | </div> | ||
| 5647 | <div id="character_template" class="template_element"> | ||
| 5648 | <div class="character_select entity_block flex-container wide100p alignitemsflexstart" chid="" id=""> | ||
| 5649 | <div class="avatar" title=""> | ||
| 5650 | <img src=""> | ||
| 5651 | </div> | 5740 | </div> |
| 5652 | <div class="flex-container wide100pLess70px character_select_container"> | 5741 | </div> |
| 5653 | <div class="wide100p character_name_block"> | 5742 | <div id="character_template" class="template_element"> |
| 5654 | <span class="ch_name"></span> | 5743 | <div class="character_select entity_block flex-container wide100p alignitemsflexstart" chid="" id=""> |
| 5655 | <small class="ch_additional_info ch_add_placeholder">+++</small> | 5744 | <div class="avatar" title=""> |
| 5656 | <small class="ch_additional_info character_version"></small> | 5745 | <img src=""> |
| 5657 | <small class="ch_additional_info ch_avatar_url"></small> | 5746 | </div> |
| 5747 | <div class="flex-container wide100pLess70px character_select_container"> | ||
| 5748 | <div class="wide100p character_name_block"> | ||
| 5749 | <span class="ch_name"></span> | ||
| 5750 | <small class="ch_additional_info ch_add_placeholder">+++</small> | ||
| 5751 | <small class="ch_additional_info character_version"></small> | ||
| 5752 | <small class="ch_additional_info ch_avatar_url"></small> | ||
| 5753 | </div> | ||
| 5754 | <i class="ch_fav_icon fa-solid fa-star"></i> | ||
| 5755 | <input class="ch_fav" value="" hidden /> | ||
| 5756 | <div class="ch_description"></div> | ||
| 5757 | <div class="tags tags_inline"></div> | ||
| 5658 | </div> | 5758 | </div> |
| 5659 | <i class="ch_fav_icon fa-solid fa-star"></i> | ||
| 5660 | <input class="ch_fav" value="" hidden /> | ||
| 5661 | <div class="ch_description"></div> | ||
| 5662 | <div class="tags tags_inline"></div> | ||
| 5663 | </div> | 5759 | </div> |
| 5664 | </div> | 5760 | </div> |
| 5665 | </div> | 5761 | <div id="tag_template" class="template_element"> |
| 5666 | <div id="tag_template" class="template_element"> | 5762 | <span id="" class="tag"> |
| 5667 | <span id="" class="tag"> | 5763 | <span class="tag_name"></span> |
| 5668 | <span class="tag_name"></span> | 5764 | <i class="fa-solid fa-circle-xmark tag_remove"></i> |
| 5669 | <i class="fa-solid fa-circle-xmark tag_remove"></i> | 5765 | </span> |
| 5670 | </span> | ||
| 5671 | </div> | ||
| 5672 | <div id="openai_logit_bias_template" class="template_element"> | ||
| 5673 | <div class="openai_logit_bias_form"> | ||
| 5674 | <input class="openai_logit_bias_text text_pole" data-i18n="[placeholder]Text or token ids" placeholder="Text or [token ids]" /> | ||
| 5675 | <input class="openai_logit_bias_value text_pole" type="number" min="-100" value="0" max="100" /> | ||
| 5676 | <i class="menu_button fa-solid fa-xmark openai_logit_bias_remove"></i> | ||
| 5677 | </form> | ||
| 5678 | </div> | 5766 | </div> |
| 5679 | </div> | 5767 | <div id="openai_logit_bias_template" class="template_element"> |
| 5680 | <div id="logit_bias_template" class="template_element"> | 5768 | <div class="openai_logit_bias_form"> |
| 5681 | <div class="logit_bias_form"> | 5769 | <input class="openai_logit_bias_text text_pole" data-i18n="[placeholder]Text or token ids" placeholder="Text or [token ids]" /> |
| 5682 | <input class="logit_bias_text text_pole" data-i18n="[placeholder]Type here..." placeholder="type here..." /> | 5770 | <input class="openai_logit_bias_value text_pole" type="number" min="-100" value="0" max="100" /> |
| 5683 | <input class="logit_bias_value text_pole" type="number" min="-100" value="0" max="100" step="0.01" /> | 5771 | <i class="menu_button fa-solid fa-xmark openai_logit_bias_remove"></i> |
| 5684 | <i class="menu_button fa-solid fa-xmark logit_bias_remove"></i> | 5772 | </div> |
| 5685 | </div> | 5773 | </div> |
| 5686 | </div> | 5774 | <div id="logit_bias_template" class="template_element"> |
| 5687 | <div id="completion_prompt_manager_popup" class="drawer-content" style="display:none;"> | 5775 | <div class="logit_bias_form"> |
| 5688 | <div id="completion_prompt_manager_popup_inspect"> | 5776 | <input class="logit_bias_text text_pole" data-i18n="[placeholder]Type here..." placeholder="type here..." /> |
| 5689 | <h3>Inspect</h3> | 5777 | <input class="logit_bias_value text_pole" type="number" min="-100" value="0" max="100" step="0.01" /> |
| 5690 | <div class="completion_prompt_manager_popup_entry"> | 5778 | <i class="menu_button fa-solid fa-xmark logit_bias_remove"></i> |
| 5691 | <form class="completion_prompt_manager_popup_entry_form"> | ||
| 5692 | <div class="completion_prompt_manager_popup_entry_form_control"> | ||
| 5693 | <div class="completion_prompt_manager_popup_header"> | ||
| 5694 | <label for="completion_prompt_manager_popup_entry_form_prompt"> | ||
| 5695 | <span>Prompt List</span> | ||
| 5696 | </label> | ||
| 5697 | <a id="completion_prompt_manager_popup_close_button" title="close" data-i18n="[title]close" class="fa-solid fa-close menu_button"></a> | ||
| 5698 | </div> | ||
| 5699 | <div class="text_muted">The list of prompts associated with this marker.</div> | ||
| 5700 | <div id="completion_prompt_manager_popup_entry_form_inspect_list"></div> | ||
| 5701 | </div> | ||
| 5702 | </form> | ||
| 5703 | </div> | 5779 | </div> |
| 5704 | </div> | 5780 | </div> |
| 5705 | <div id="completion_prompt_manager_popup_edit"> | 5781 | <div id="completion_prompt_manager_popup" class="drawer-content" style="display:none;"> |
| 5706 | <h3 data-i18n="prompt_manager_edit">Edit</h3> | 5782 | <div id="completion_prompt_manager_popup_inspect"> |
| 5707 | <div class="completion_prompt_manager_popup_entry"> | 5783 | <h3>Inspect</h3> |
| 5708 | <form class="completion_prompt_manager_popup_entry_form"> | 5784 | <div class="completion_prompt_manager_popup_entry"> |
| 5709 | <div class="flex-container gap10px"> | 5785 | <form class="completion_prompt_manager_popup_entry_form"> |
| 5710 | <div class="completion_prompt_manager_popup_entry_form_control flex1"> | 5786 | <div class="completion_prompt_manager_popup_entry_form_control"> |
| 5711 | <label for="completion_prompt_manager_popup_entry_form_name"> | 5787 | <div class="completion_prompt_manager_popup_header"> |
| 5712 | <span data-i18n="prompt_manager_name">Name</span> | 5788 | <label for="completion_prompt_manager_popup_entry_form_prompt"> |
| 5713 | </label> | 5789 | <span>Prompt List</span> |
| 5714 | <div class="text_muted" data-i18n="A name for this prompt.">A name for this prompt.</div> | 5790 | </label> |
| 5715 | <input id="completion_prompt_manager_popup_entry_form_name" class="text_pole" type="text" name="name" /> | 5791 | <a id="completion_prompt_manager_popup_close_button" title="close" data-i18n="[title]close" class="fa-solid fa-close menu_button"></a> |
| 5716 | </div> | 5792 | </div> |
| 5717 | <div class="completion_prompt_manager_popup_entry_form_control flex1"> | 5793 | <div class="text_muted">The list of prompts associated with this marker.</div> |
| 5718 | <label for="completion_prompt_manager_popup_entry_form_role"> | 5794 | <div id="completion_prompt_manager_popup_entry_form_inspect_list"></div> |
| 5719 | <span data-i18n="Role">Role</span> | ||
| 5720 | </label> | ||
| 5721 | <div class="text_muted" data-i18n="To whom this message will be attributed.">To whom this message will be attributed.</div> | ||
| 5722 | <select id="completion_prompt_manager_popup_entry_form_role" class="text_pole" name="role"> | ||
| 5723 | <option data-i18n="System" value="system">System</option> | ||
| 5724 | <option data-i18n="User" value="user">User</option> | ||
| 5725 | <option data-i18n="AI Assistant" value="assistant">AI Assistant</option> | ||
| 5726 | </select> | ||
| 5727 | </div> | ||
| 5728 | </div> | ||
| 5729 | <div class="flex-container gap10px"> | ||
| 5730 | <div class="completion_prompt_manager_popup_entry_form_control flex1"> | ||
| 5731 | <label for="completion_prompt_manager_popup_entry_form_injection_position"> | ||
| 5732 | <span data-i18n="prompt_manager_position">Position</span> | ||
| 5733 | </label> | ||
| 5734 | <div class="text_muted" data-i18n="Injection position. Relative (to other prompts in prompt manager) or In-chat @ Depth.">Injection position. Relative (to other prompts in prompt manager) or In-chat @ Depth.</div> | ||
| 5735 | <select id="completion_prompt_manager_popup_entry_form_injection_position" class="text_pole" name="injection_position"> | ||
| 5736 | <option data-i18n="prompt_manager_relative" value="0">Relative</option> | ||
| 5737 | <option data-i18n="prompt_manager_in_chat" value="1">In-chat</option> | ||
| 5738 | </select> | ||
| 5739 | </div> | 5795 | </div> |
| 5740 | <div id="completion_prompt_manager_depth_block" class="completion_prompt_manager_popup_entry_form_control flex1"> | 5796 | </form> |
| 5741 | <label for="completion_prompt_manager_popup_entry_form_injection_depth"> | 5797 | </div> |
| 5742 | <span data-i18n="prompt_manager_depth">Depth</span> | 5798 | </div> |
| 5743 | </label> | 5799 | <div id="completion_prompt_manager_popup_edit"> |
| 5744 | <div class="text_muted" data-i18n="Injection depth. 0 = after the last message, 1 = before the last message, etc.">Injection depth. 0 = after the last message, 1 = before the last message, etc.</div> | 5800 | <h3 data-i18n="prompt_manager_edit">Edit</h3> |
| 5745 | <input id="completion_prompt_manager_popup_entry_form_injection_depth" class="text_pole" type="number" name="injection_depth" min="0" max="999" value="4" /> | 5801 | <div class="completion_prompt_manager_popup_entry"> |
| 5802 | <form class="completion_prompt_manager_popup_entry_form"> | ||
| 5803 | <div class="flex-container gap10px"> | ||
| 5804 | <div class="completion_prompt_manager_popup_entry_form_control flex1"> | ||
| 5805 | <label for="completion_prompt_manager_popup_entry_form_name"> | ||
| 5806 | <span data-i18n="prompt_manager_name">Name</span> | ||
| 5807 | </label> | ||
| 5808 | <div class="text_muted" data-i18n="A name for this prompt.">A name for this prompt.</div> | ||
| 5809 | <input id="completion_prompt_manager_popup_entry_form_name" class="text_pole" type="text" name="name" /> | ||
| 5810 | </div> | ||
| 5811 | <div class="completion_prompt_manager_popup_entry_form_control flex1"> | ||
| 5812 | <label for="completion_prompt_manager_popup_entry_form_role"> | ||
| 5813 | <span data-i18n="Role">Role</span> | ||
| 5814 | </label> | ||
| 5815 | <div class="text_muted" data-i18n="To whom this message will be attributed.">To whom this message will be attributed.</div> | ||
| 5816 | <select id="completion_prompt_manager_popup_entry_form_role" class="text_pole" name="role"> | ||
| 5817 | <option data-i18n="System" value="system">System</option> | ||
| 5818 | <option data-i18n="User" value="user">User</option> | ||
| 5819 | <option data-i18n="AI Assistant" value="assistant">AI Assistant</option> | ||
| 5820 | </select> | ||
| 5821 | </div> | ||
| 5746 | </div> | 5822 | </div> |
| 5747 | </div> | 5823 | <div class="flex-container gap10px"> |
| 5748 | <div class="completion_prompt_manager_popup_entry_form_control"> | 5824 | <div class="completion_prompt_manager_popup_entry_form_control flex1"> |
| 5749 | <div class="flex-container alignItemsCenter"> | 5825 | <label for="completion_prompt_manager_popup_entry_form_injection_position"> |
| 5750 | <div class="flex1"> | 5826 | <span data-i18n="prompt_manager_position">Position</span> |
| 5751 | <label for="completion_prompt_manager_popup_entry_form_prompt"> | ||
| 5752 | <span data-i18n="Prompt">Prompt</span> | ||
| 5753 | </label> | 5827 | </label> |
| 5754 | <div class="text_muted" data-i18n="The prompt to be sent.">The prompt to be sent.</div> | 5828 | <div class="text_muted" data-i18n="Injection position. Relative (to other prompts in prompt manager) or In-chat @ Depth.">Injection position. Relative (to other prompts in prompt manager) or In-chat @ Depth.</div> |
| 5829 | <select id="completion_prompt_manager_popup_entry_form_injection_position" class="text_pole" name="injection_position"> | ||
| 5830 | <option data-i18n="prompt_manager_relative" value="0">Relative</option> | ||
| 5831 | <option data-i18n="prompt_manager_in_chat" value="1">In-chat</option> | ||
| 5832 | </select> | ||
| 5755 | </div> | 5833 | </div> |
| 5756 | <div id="completion_prompt_manager_forbid_overrides_block"> | 5834 | <div id="completion_prompt_manager_depth_block" class="completion_prompt_manager_popup_entry_form_control flex1"> |
| 5757 | <label class="checkbox_label" for="completion_prompt_manager_popup_entry_form_forbid_overrides" title="This prompt cannot be overridden by character cards, even if overrides are preferred." data-i18n="[title]This prompt cannot be overridden by character cards, even if overrides are preferred."> | 5835 | <label for="completion_prompt_manager_popup_entry_form_injection_depth"> |
| 5758 | <input type="checkbox" id="completion_prompt_manager_popup_entry_form_forbid_overrides" name="forbid_overrides" /> | 5836 | <span data-i18n="prompt_manager_depth">Depth</span> |
| 5759 | <span data-i18n="prompt_manager_forbid_overrides">Forbid Overrides</span> | ||
| 5760 | </label> | 5837 | </label> |
| 5838 | <div class="text_muted" data-i18n="Injection depth. 0 = after the last message, 1 = before the last message, etc.">Injection depth. 0 = after the last message, 1 = before the last message, etc.</div> | ||
| 5839 | <input id="completion_prompt_manager_popup_entry_form_injection_depth" class="text_pole" type="number" name="injection_depth" min="0" max="999" value="4" /> | ||
| 5761 | </div> | 5840 | </div> |
| 5762 | </div> | 5841 | </div> |
| 5763 | <textarea id="completion_prompt_manager_popup_entry_form_prompt" class="text_pole" name="prompt"> | 5842 | <div class="completion_prompt_manager_popup_entry_form_control"> |
| 5843 | <div class="flex-container alignItemsCenter"> | ||
| 5844 | <div class="flex1"> | ||
| 5845 | <label for="completion_prompt_manager_popup_entry_form_prompt"> | ||
| 5846 | <span data-i18n="Prompt">Prompt</span> | ||
| 5847 | </label> | ||
| 5848 | <div class="text_muted" data-i18n="The prompt to be sent.">The prompt to be sent.</div> | ||
| 5849 | </div> | ||
| 5850 | <div id="completion_prompt_manager_forbid_overrides_block"> | ||
| 5851 | <label class="checkbox_label" for="completion_prompt_manager_popup_entry_form_forbid_overrides" title="This prompt cannot be overridden by character cards, even if overrides are preferred." data-i18n="[title]This prompt cannot be overridden by character cards, even if overrides are preferred."> | ||
| 5852 | <input type="checkbox" id="completion_prompt_manager_popup_entry_form_forbid_overrides" name="forbid_overrides" /> | ||
| 5853 | <span data-i18n="prompt_manager_forbid_overrides">Forbid Overrides</span> | ||
| 5854 | </label> | ||
| 5855 | </div> | ||
| 5856 | </div> | ||
| 5857 | <textarea id="completion_prompt_manager_popup_entry_form_prompt" class="text_pole" name="prompt"> | ||
| 5764 | </textarea> | 5858 | </textarea> |
| 5765 | </div> | 5859 | </div> |
| 5766 | <div class="completion_prompt_manager_popup_entry_form_footer"> | 5860 | <div class="completion_prompt_manager_popup_entry_form_footer"> |
| 5767 | <a id="completion_prompt_manager_popup_entry_form_close" title="close" data-i18n="[title]close" class="fa-solid fa-close menu_button"></a> | 5861 | <a id="completion_prompt_manager_popup_entry_form_close" title="close" data-i18n="[title]close" class="fa-solid fa-close menu_button"></a> |
| 5768 | <a id="completion_prompt_manager_popup_entry_form_reset" title="reset" data-i18n="[title]reset" class="fa-solid fa-undo menu_button"></a> | 5862 | <a id="completion_prompt_manager_popup_entry_form_reset" title="reset" data-i18n="[title]reset" class="fa-solid fa-undo menu_button"></a> |
| 5769 | <a id="completion_prompt_manager_popup_entry_form_save" title="save" data-i18n="[title]save" class="fa-solid fa-save menu_button" data-pm-prompt=""></a> | 5863 | <a id="completion_prompt_manager_popup_entry_form_save" title="save" data-i18n="[title]save" class="fa-solid fa-save menu_button" data-pm-prompt=""></a> |
| 5770 | </div> | 5864 | </div> |
| 5771 | </form> | 5865 | </form> |
| 5866 | </div> | ||
| 5772 | </div> | 5867 | </div> |
| 5773 | </div> | 5868 | </div> |
| 5774 | </div> | 5869 | <div id="message_template" class="template_element"> |
| 5775 | <div id="message_template" class="template_element"> | 5870 | <div class="mes" mesid="" ch_name="" is_user="" is_system="" bookmark_link=""> |
| 5776 | <div class="mes" mesid="" ch_name="" is_user="" is_system="" bookmark_link=""> | 5871 | <div class="for_checkbox"></div><input type="checkbox" class="del_checkbox"> |
| 5777 | <div class="for_checkbox"></div><input type="checkbox" class="del_checkbox"> | 5872 | <div class="mesAvatarWrapper"> |
| 5778 | <div class="mesAvatarWrapper"> | 5873 | <div class="avatar"> |
| 5779 | <div class="avatar"> | 5874 | <img src=""> |
| 5780 | <img src=""> | 5875 | </div> |
| 5876 | <div class="mesIDDisplay"></div> | ||
| 5877 | <div class="mes_timer"></div> | ||
| 5878 | <div class="tokenCounterDisplay"></div> | ||
| 5781 | </div> | 5879 | </div> |
| 5782 | <div class="mesIDDisplay"></div> | 5880 | <div class="swipe_left fa-solid fa-chevron-left" style="display: none;"></div> |
| 5783 | <div class="mes_timer"></div> | 5881 | <div class="mes_block"> |
| 5784 | <div class="tokenCounterDisplay"></div> | 5882 | <div class="ch_name flex-container justifySpaceBetween"> |
| 5785 | </div> | 5883 | <div class="flex-container flex1 alignitemscenter"> |
| 5786 | <div class="swipe_left fa-solid fa-chevron-left" style="display: none;"></div> | 5884 | <div class="flex-container alignItemsBaseline"> |
| 5787 | <div class="mes_block"> | 5885 | <span class="name_text">${characterName}</span> |
| 5788 | <div class="ch_name flex-container justifySpaceBetween"> | 5886 | <i class="mes_ghost fa-solid fa-ghost" title="This message is invisible for the AI" data-i18n="[title]This message is invisible for the AI"></i> |
| 5789 | <div class="flex-container flex1 alignitemscenter"> | 5887 | <small class="timestamp"></small> |
| 5790 | <div class="flex-container alignItemsBaseline"> | 5888 | </div> |
| 5791 | <span class="name_text">${characterName}</span> | ||
| 5792 | <i class="mes_ghost fa-solid fa-ghost" title="This message is invisible for the AI" data-i18n="[title]This message is invisible for the AI"></i> | ||
| 5793 | <small class="timestamp"></small> | ||
| 5794 | </div> | 5889 | </div> |
| 5795 | </div> | 5890 | <div class="mes_buttons"> |
| 5796 | <div class="mes_buttons"> | 5891 | <div title="Message Actions" class="mes_button extraMesButtonsHint fa-solid fa-ellipsis" data-i18n="[title]Message Actions"></div> |
| 5797 | <div title="Message Actions" class="mes_button extraMesButtonsHint fa-solid fa-ellipsis" data-i18n="[title]Message Actions"></div> | 5892 | <div class="extraMesButtons"> |
| 5798 | <div class="extraMesButtons"> | 5893 | <div title="Translate message" class="mes_button mes_translate fa-solid fa-language" data-i18n="[title]Translate message"></div> |
| 5799 | <div title="Translate message" class="mes_button mes_translate fa-solid fa-language" data-i18n="[title]Translate message"></div> | 5894 | <div title="Generate Image" class="mes_button sd_message_gen fa-solid fa-paintbrush" data-i18n="[title]Generate Image"></div> |
| 5800 | <div title="Generate Image" class="mes_button sd_message_gen fa-solid fa-paintbrush" data-i18n="[title]Generate Image"></div> | 5895 | <div title="Narrate" class="mes_button mes_narrate fa-solid fa-bullhorn" data-i18n="[title]Narrate"></div> |
| 5801 | <div title="Narrate" class="mes_button mes_narrate fa-solid fa-bullhorn" data-i18n="[title]Narrate"></div> | 5896 | <div title="Prompt" class="mes_button mes_prompt fa-solid fa-square-poll-horizontal " data-i18n="[title]Prompt" style="display: none;"></div> |
| 5802 | <div title="Prompt" class="mes_button mes_prompt fa-solid fa-square-poll-horizontal " data-i18n="[title]Prompt" style="display: none;"></div> | 5897 | <div title="Exclude message from prompts" class="mes_button mes_hide fa-solid fa-eye" data-i18n="[title]Exclude message from prompts"></div> |
| 5803 | <div title="Exclude message from prompts" class="mes_button mes_hide fa-solid fa-eye" data-i18n="[title]Exclude message from prompts"></div> | 5898 | <div title="Include message in prompts" class="mes_button mes_unhide fa-solid fa-eye-slash" data-i18n="[title]Include message in prompts"></div> |
| 5804 | <div title="Include message in prompts" class="mes_button mes_unhide fa-solid fa-eye-slash" data-i18n="[title]Include message in prompts"></div> | 5899 | <div title="Embed file or image" class="mes_button mes_embed fa-solid fa-paperclip" data-i18n="[title]Embed file or image"></div> |
| 5805 | <div title="Embed file or image" class="mes_button mes_embed fa-solid fa-paperclip" data-i18n="[title]Embed file or image"></div> | 5900 | <div title="Create checkpoint" class="mes_button mes_create_bookmark fa-regular fa-solid fa-flag-checkered" data-i18n="[title]Create checkpoint"></div> |
| 5806 | <div title="Create checkpoint" class="mes_button mes_create_bookmark fa-regular fa-solid fa-flag-checkered" data-i18n="[title]Create checkpoint"></div> | 5901 | <div title="Create branch" class="mes_button mes_create_branch fa-regular fa-code-branch" data-i18n="[title]Create Branch"></div> |
| 5807 | <div title="Create branch" class="mes_button mes_create_branch fa-regular fa-code-branch" data-i18n="[title]Create Branch"></div> | 5902 | <div title="Copy" class="mes_button mes_copy fa-solid fa-copy " data-i18n="[title]Copy"></div> |
| 5808 | <div title="Copy" class="mes_button mes_copy fa-solid fa-copy " data-i18n="[title]Copy"></div> | 5903 | </div> |
| 5904 | <div data-tooltip="Click to open checkpoint chat Shift+Click to replace the existing checkpoint with a new one" class="mes_button mes_bookmark fa-solid fa-flag" data-i18n="[data-tooltip]Open checkpoint chat Shift+Click to replace the existing checkpoint with a new one"></div> | ||
| 5905 | <div title="Edit" class="mes_button mes_edit fa-solid fa-pencil " data-i18n="[title]Edit"></div> | ||
| 5906 | </div> | ||
| 5907 | <div class="mes_edit_buttons"> | ||
| 5908 | <div class="mes_edit_done menu_button fa-solid fa-check" title="Confirm" data-i18n="[title]Confirm"></div> | ||
| 5909 | <div class="mes_edit_copy menu_button fa-solid fa-copy" title="Copy this message" data-i18n="[title]Copy this message"></div> | ||
| 5910 | <div class="mes_edit_delete menu_button fa-solid fa-trash-can" title="Delete this message" data-i18n="[title]Delete this message"> | ||
| 5911 | </div> | ||
| 5912 | <div class="mes_edit_up menu_button fa-solid fa-chevron-up " title="Move message up" data-i18n="[title]Move message up"></div> | ||
| 5913 | <div class="mes_edit_down menu_button fa-solid fa-chevron-down" title="Move message down" data-i18n="[title]Move message down"> | ||
| 5914 | </div> | ||
| 5915 | <div class="mes_edit_cancel menu_button fa-solid fa-xmark" title="Cancel" data-i18n="[title]Cancel"></div> | ||
| 5809 | </div> | 5916 | </div> |
| 5810 | <div title="Open checkpoint chat" class="mes_button mes_bookmark fa-solid fa-flag" data-i18n="[title]Open checkpoint chat"></div> | ||
| 5811 | <div title="Edit" class="mes_button mes_edit fa-solid fa-pencil " data-i18n="[title]Edit"></div> | ||
| 5812 | </div> | 5917 | </div> |
| 5813 | <div class="mes_edit_buttons"> | 5918 | <div class="mes_text"></div> |
| 5814 | <div class="mes_edit_done menu_button fa-solid fa-check" title="Confirm" data-i18n="[title]Confirm"></div> | 5919 | <div class="mes_img_container"> |
| 5815 | <div class="mes_edit_copy menu_button fa-solid fa-copy" title="Copy this message" data-i18n="[title]Copy this message"></div> | 5920 | <div class="mes_img_controls"> |
| 5816 | <div class="mes_edit_delete menu_button fa-solid fa-trash-can" title="Delete this message" data-i18n="[title]Delete this message"> | 5921 | <div title="Enlarge" class="right_menu_button fa-lg fa-solid fa-magnifying-glass mes_img_enlarge" data-i18n="[title]Enlarge"></div> |
| 5922 | <div title="Caption" class="right_menu_button fa-lg fa-solid fa-envelope-open-text mes_img_caption" data-i18n="[title]Caption"></div> | ||
| 5923 | <div title="Delete" class="right_menu_button fa-lg fa-solid fa-trash-can mes_img_delete" data-i18n="[title]Delete"></div> | ||
| 5817 | </div> | 5924 | </div> |
| 5818 | <div class="mes_edit_up menu_button fa-solid fa-chevron-up " title="Move message up" data-i18n="[title]Move message up"></div> | 5925 | <div class="mes_img_swipes"> |
| 5819 | <div class="mes_edit_down menu_button fa-solid fa-chevron-down" title="Move message down" data-i18n="[title]Move message down"> | 5926 | <div title="Swipe left" class="right_menu_button fa-lg fa-solid fa-chevron-left mes_img_swipe_left" data-i18n="[title]Swipe left"></div> |
| 5927 | <div class="mes_img_swipe_counter">1/1</div> | ||
| 5928 | <div title="Swipe right" class="right_menu_button fa-lg fa-solid fa-chevron-right mes_img_swipe_right" data-i18n="[title]Swipe right"></div> | ||
| 5820 | </div> | 5929 | </div> |
| 5821 | <div class="mes_edit_cancel menu_button fa-solid fa-xmark" title="Cancel" data-i18n="[title]Cancel"></div> | 5930 | <img class="mes_img" src="" /> |
| 5822 | </div> | 5931 | </div> |
| 5932 | <div class="mes_bias"></div> | ||
| 5823 | </div> | 5933 | </div> |
| 5824 | <div class="mes_text"></div> | 5934 | <div class="swipe_right fa-solid fa-chevron-right" style="display: none;"> |
| 5825 | <div class="mes_img_container"> | 5935 | <div class="swipes-counter"></div> |
| 5826 | <div class="mes_img_controls"> | ||
| 5827 | <div title="Enlarge" class="right_menu_button fa-lg fa-solid fa-magnifying-glass mes_img_enlarge" data-i18n="[title]Enlarge"></div> | ||
| 5828 | <div title="Caption" class="right_menu_button fa-lg fa-solid fa-envelope-open-text mes_img_caption" data-i18n="[title]Caption"></div> | ||
| 5829 | <div title="Delete" class="right_menu_button fa-lg fa-solid fa-trash-can mes_img_delete" data-i18n="[title]Delete"></div> | ||
| 5830 | </div> | ||
| 5831 | <div class="mes_img_swipes"> | ||
| 5832 | <div title="Swipe left" class="right_menu_button fa-lg fa-solid fa-chevron-left mes_img_swipe_left" data-i18n="[title]Swipe left"></div> | ||
| 5833 | <div class="mes_img_swipe_counter">1/1</div> | ||
| 5834 | <div title="Swipe right" class="right_menu_button fa-lg fa-solid fa-chevron-right mes_img_swipe_right" data-i18n="[title]Swipe right"></div> | ||
| 5835 | </div> | ||
| 5836 | <img class="mes_img" src="" /> | ||
| 5837 | </div> | 5936 | </div> |
| 5838 | <div class="mes_bias"></div> | ||
| 5839 | </div> | ||
| 5840 | <div class="swipe_right fa-solid fa-chevron-right" style="display: none;"> | ||
| 5841 | <div class="swipes-counter"></div> | ||
| 5842 | </div> | 5937 | </div> |
| 5843 | </div> | 5938 | </div> |
| 5844 | </div> | 5939 | <div id="group_avatars_template" class="template_element"> |
| 5845 | <div id="group_avatars_template" class="template_element"> | 5940 | <div class="avatar avatar_collage collage_1"> |
| 5846 | <div class="avatar avatar_collage collage_1"> | 5941 | <img alt="img1" class="img_1" src=""> |
| 5847 | <img alt="img1" class="img_1" src=""> | ||
| 5848 | </div> | ||
| 5849 | <div class="avatar avatar_collage collage_2"> | ||
| 5850 | <img alt="img1" class="img_1" src=""> | ||
| 5851 | <img alt="img2" class="img_2" src=""> | ||
| 5852 | </div> | ||
| 5853 | <div class="avatar avatar_collage collage_3"> | ||
| 5854 | <img alt="img1" class="img_1" src=""> | ||
| 5855 | <img alt="img2" class="img_2" src=""> | ||
| 5856 | <img alt="img3" class="img_3" src=""> | ||
| 5857 | </div> | ||
| 5858 | <div class="avatar avatar_collage collage_4"> | ||
| 5859 | <img alt="img1" class="img_1" src=""> | ||
| 5860 | <img alt="img2" class="img_2" src=""> | ||
| 5861 | <img alt="img3" class="img_3" src=""> | ||
| 5862 | <img alt="img4" class="img_4" src=""> | ||
| 5863 | </div> | ||
| 5864 | </div> | ||
| 5865 | |||
| 5866 | <div id="onboarding_template" class="template_element"> | ||
| 5867 | <div class="onboarding"> | ||
| 5868 | <h3 data-i18n="Welcome to SillyTavern!">Welcome to SillyTavern!</h3> | ||
| 5869 | <ul class="justifyLeft margin-bot-10px"> | ||
| 5870 | <li><span data-i18n="welcome_message_part_1">Read the</span> <a href="https://docs.sillytavern.app/" target="_blank" data-i18n="welcome_message_part_2">Official Documentation</a><span data-i18n="welcome_message_part_3">.</span></li> | ||
| 5871 | <li><span data-i18n="welcome_message_part_4">Type</span> <code>/help</code> <span data-i18n="welcome_message_part_5">in chat for commands and macros.</span></li> | ||
| 5872 | <li><span data-i18n="welcome_message_part_6">Join the</span> <a href="https://discord.gg/sillytavern" data-i18n="Discord server" target="_blank">Discord server</a> <span data-i18n="welcome_message_part_7">for info and announcements.</span></li> | ||
| 5873 | </ul> | ||
| 5874 | <div id="onboarding-UI-language-block" class="flex-container alignItemsBaseline"> | ||
| 5875 | <span data-i18n="UI Language">Language:</span> | ||
| 5876 | <select id="onboarding_ui_language_select" class="flex1 margin0"> | ||
| 5877 | <option value="en">English</option> | ||
| 5878 | </select> | ||
| 5879 | </div> | 5942 | </div> |
| 5880 | <b data-i18n="SillyTavern is aimed at advanced users."> | 5943 | <div class="avatar avatar_collage collage_2"> |
| 5881 | SillyTavern is aimed at advanced users. | 5944 | <img alt="img1" class="img_1" src=""> |
| 5882 | </b> | 5945 | <img alt="img2" class="img_2" src=""> |
| 5883 | <div> | ||
| 5884 | <span data-i18n="If you're new to this, enable the simplified UI mode below."> | ||
| 5885 | If you're new to this, enable the simplified UI mode below. | ||
| 5886 | </span> | ||
| 5887 | <br> | ||
| 5888 | <span data-i18n="Change it later in the 'User Settings' panel."> | ||
| 5889 | Change it later in the 'User Settings' panel. | ||
| 5890 | </span> | ||
| 5891 | </div> | 5946 | </div> |
| 5892 | <label class="checkbox_label"> | 5947 | <div class="avatar avatar_collage collage_3"> |
| 5893 | <input type="checkbox" name="enable_simple_mode" /> | 5948 | <img alt="img1" class="img_1" src=""> |
| 5894 | <span data-i18n="Enable simple UI mode"> | 5949 | <img alt="img2" class="img_2" src=""> |
| 5895 | Enable simple UI mode | 5950 | <img alt="img3" class="img_3" src=""> |
| 5896 | </span> | ||
| 5897 | </label> | ||
| 5898 | <div class="expander"></div> | ||
| 5899 | <div class="textAlignCenter"> | ||
| 5900 | <h3 data-i18n="Looking for AI characters?"> | ||
| 5901 | Looking for AI characters? | ||
| 5902 | </h3> | ||
| 5903 | <span> | ||
| 5904 | <span class="menu_button menu_button_icon external_import_button"> | ||
| 5905 | <i class="fa-solid fa-cloud-arrow-down"></i> | ||
| 5906 | <span data-i18n="onboarding_import">Import</span> | ||
| 5907 | </span> | ||
| 5908 | <span data-i18n="from supported sources or view"> | ||
| 5909 | from supported sources or view | ||
| 5910 | </span> | ||
| 5911 | <span class="open_characters_library menu_button menu_button_icon"> | ||
| 5912 | <i class="fa-solid fa-image-portrait"></i> | ||
| 5913 | <span data-i18n="Sample characters">Sample characters</span> | ||
| 5914 | </span> | ||
| 5915 | </span> | ||
| 5916 | </div> | 5951 | </div> |
| 5917 | <div class="expander"></div> | 5952 | <div class="avatar avatar_collage collage_4"> |
| 5918 | <h3 data-i18n="Your Persona"> | 5953 | <img alt="img1" class="img_1" src=""> |
| 5919 | Your Persona | 5954 | <img alt="img2" class="img_2" src=""> |
| 5920 | </h3> | 5955 | <img alt="img3" class="img_3" src=""> |
| 5921 | <div class="justifyLeft margin-bot-10px"> | 5956 | <img alt="img4" class="img_4" src=""> |
| 5922 | <span data-i18n="Before you get started, you must select a persona name."> | ||
| 5923 | Before you get started, you must select a persona name. | ||
| 5924 | </span> | ||
| 5925 | <br> | ||
| 5926 | <span data-i18n="welcome_message_part_8">This can be changed at any time via the</span> <code><i class="fa-solid fa-face-smile"></i></code> <span data-i18n="welcome_message_part_9">icon.</span> | ||
| 5927 | </div> | 5957 | </div> |
| 5928 | <h4 data-i18n="Persona Name:">Persona Name:</h4> | ||
| 5929 | </div> | 5958 | </div> |
| 5930 | </div> | 5959 | |
| 5931 | <div id="group_member_template" class="template_element"> | 5960 | <div id="onboarding_template" class="template_element"> |
| 5932 | <div class="group_member"> | 5961 | <div class="onboarding"> |
| 5933 | <div class="avatar"> | 5962 | <h3 data-i18n="Welcome to SillyTavern!">Welcome to SillyTavern!</h3> |
| 5934 | <img alt="Avatar" src="" /> | 5963 | <div id="onboarding-UI-language-block" class="flex-container alignItemsBaseline"> |
| 5935 | </div> | 5964 | <span data-i18n="UI Language">Language:</span> |
| 5936 | <div class="group_member_name"> | 5965 | <select id="onboarding_ui_language_select" class="flex1 margin0"> |
| 5937 | <div class="ch_name"></div> | 5966 | <option value="en">English</option> |
| 5938 | <div class="tags tags_inline"></div> | 5967 | </select> |
| 5939 | </div> | ||
| 5940 | <input class="ch_fav" value="" hidden /> | ||
| 5941 | <div class="queue_position"></div> | ||
| 5942 | <div class="group_member_icon"> | ||
| 5943 | <div title="Temporarily disable automatic replies from this character" data-action="disable" class="right_menu_button fa-solid fa-lg fa-comment-slash" data-i18n="[title]Temporarily disable automatic replies from this character"></div> | ||
| 5944 | <div title="Enable automatic replies from this character" data-action="enable" class="right_menu_button fa-solid fa-lg fa-comment-slash" data-i18n="[title]Enable automatic replies from this character"></div> | ||
| 5945 | <div title="Trigger a message from this character" data-action="speak" class="right_menu_button fa-solid fa-lg fa-comment" data-i18n="[title]Trigger a message from this character"></div> | ||
| 5946 | <div class="flexFlowColumn flex-container"> | ||
| 5947 | <div title="Move up" data-action="up" class="right_menu_button fa-solid fa-chevron-up" data-i18n="[title]Move up"></div> | ||
| 5948 | <div title="Move down" data-action="down" class="right_menu_button fa-solid fa-chevron-down" data-i18n="[title]Move down"></div> | ||
| 5949 | </div> | 5968 | </div> |
| 5950 | <div title="View character card" data-action="view" class="right_menu_button fa-solid fa-xl fa-image-portrait" data-i18n="[title]View character card"></div> | 5969 | <b data-i18n="SillyTavern is aimed at advanced users."> |
| 5951 | <div title="Remove from group" data-action="remove" class="right_menu_button fa-solid fa-2xl fa-xmark" data-i18n="[title]Remove from group"> | 5970 | SillyTavern is aimed at advanced users. |
| 5971 | </b> | ||
| 5972 | <ul class="justifyLeft marginTopBot5"> | ||
| 5973 | <li><span data-i18n="welcome_message_part_1">Read the</span> <a href="https://docs.sillytavern.app/" target="_blank" data-i18n="welcome_message_part_2">Official Documentation</a><span data-i18n="welcome_message_part_3">.</span></li> | ||
| 5974 | <li><span data-i18n="welcome_message_part_4">Type</span> <code>/help</code> <span data-i18n="welcome_message_part_5">in chat for commands and macros.</span></li> | ||
| 5975 | <li><span data-i18n="welcome_message_part_6">Join the</span> <a href="https://discord.gg/sillytavern" data-i18n="Discord server" target="_blank">Discord server</a> <span data-i18n="welcome_message_part_7">for info and announcements.</span></li> | ||
| 5976 | </ul> | ||
| 5977 | <div class="expander"></div> | ||
| 5978 | <div class="textAlignCenter"> | ||
| 5979 | <h3 data-i18n="Looking for AI characters?"> | ||
| 5980 | Looking for AI characters? | ||
| 5981 | </h3> | ||
| 5982 | <span> | ||
| 5983 | <span class="menu_button menu_button_icon external_import_button"> | ||
| 5984 | <i class="fa-solid fa-cloud-arrow-down"></i> | ||
| 5985 | <span data-i18n="onboarding_import">Import</span> | ||
| 5986 | </span> | ||
| 5987 | <span data-i18n="from supported sources or view"> | ||
| 5988 | from supported sources or view | ||
| 5989 | </span> | ||
| 5990 | <span class="open_characters_library menu_button menu_button_icon"> | ||
| 5991 | <i class="fa-solid fa-image-portrait"></i> | ||
| 5992 | <span data-i18n="Sample characters">Sample characters</span> | ||
| 5993 | </span> | ||
| 5994 | </span> | ||
| 5995 | </div> | ||
| 5996 | <div class="expander"></div> | ||
| 5997 | <h3 data-i18n="Your Persona"> | ||
| 5998 | Your Persona | ||
| 5999 | </h3> | ||
| 6000 | <div class="justifyLeft margin-bot-10px"> | ||
| 6001 | <span data-i18n="Before you get started, you must select a persona name."> | ||
| 6002 | Before you get started, you must select a persona name. | ||
| 6003 | </span> | ||
| 6004 | <br> | ||
| 6005 | <span data-i18n="welcome_message_part_8">This can be changed at any time via the</span> <code><i class="fa-solid fa-face-smile"></i></code> <span data-i18n="welcome_message_part_9">icon.</span> | ||
| 5952 | </div> | 6006 | </div> |
| 5953 | <div title="Add to group" data-action="add" class="right_menu_button fa-solid fa-2xl fa-plus" data-i18n="[title]Add to group"></div> | 6007 | <h4 data-i18n="Persona Name:">Persona Name:</h4> |
| 5954 | </div> | 6008 | </div> |
| 5955 | </div> | 6009 | </div> |
| 5956 | </div> | 6010 | <div id="group_member_template" class="template_element"> |
| 5957 | <div id="group_list_template" class="template_element"> | 6011 | <div class="group_member"> |
| 5958 | <div class="group_select entity_block flex-container wide100p alignitemsflexstart"> | 6012 | <div class="avatar"> |
| 5959 | <div class="avatar"> | 6013 | <img alt="Avatar" src="" /> |
| 5960 | <img src=""> | 6014 | </div> |
| 5961 | </div> | 6015 | <div class="group_member_name"> |
| 5962 | <div class="flex-container wide100pLess70px gap5px group_select_container"> | ||
| 5963 | <div class="wide100p group_name_block character_name_block"> | ||
| 5964 | <div class="ch_name"></div> | 6016 | <div class="ch_name"></div> |
| 5965 | <small class="ch_additional_info group_select_counter"></small> | 6017 | <div class="tags tags_inline"></div> |
| 5966 | </div> | 6018 | </div> |
| 5967 | <small class="character_name_block_sub_line">in this group</small> | ||
| 5968 | <i class='group_fav_icon fa-solid fa-star'></i> | ||
| 5969 | <input class="ch_fav" value="" hidden /> | 6019 | <input class="ch_fav" value="" hidden /> |
| 5970 | <div class="group_select_block_list ch_description"></div> | 6020 | <div class="queue_position"></div> |
| 5971 | <div class="tags tags_inline"></div> | 6021 | <div class="group_member_icon"> |
| 6022 | <div title="Temporarily disable automatic replies from this character" data-action="disable" class="right_menu_button fa-solid fa-lg fa-comment-slash" data-i18n="[title]Temporarily disable automatic replies from this character"></div> | ||
| 6023 | <div title="Enable automatic replies from this character" data-action="enable" class="right_menu_button fa-solid fa-lg fa-comment-slash" data-i18n="[title]Enable automatic replies from this character"></div> | ||
| 6024 | <div title="Trigger a message from this character" data-action="speak" class="right_menu_button fa-solid fa-lg fa-comment" data-i18n="[title]Trigger a message from this character"></div> | ||
| 6025 | <div class="flexFlowColumn flex-container"> | ||
| 6026 | <div title="Move up" data-action="up" class="right_menu_button fa-solid fa-chevron-up" data-i18n="[title]Move up"></div> | ||
| 6027 | <div title="Move down" data-action="down" class="right_menu_button fa-solid fa-chevron-down" data-i18n="[title]Move down"></div> | ||
| 6028 | </div> | ||
| 6029 | <div title="View character card" data-action="view" class="right_menu_button fa-solid fa-xl fa-image-portrait" data-i18n="[title]View character card"></div> | ||
| 6030 | <div title="Remove from group" data-action="remove" class="right_menu_button fa-solid fa-2xl fa-xmark" data-i18n="[title]Remove from group"> | ||
| 6031 | </div> | ||
| 6032 | <div title="Add to group" data-action="add" class="right_menu_button fa-solid fa-2xl fa-plus" data-i18n="[title]Add to group"></div> | ||
| 6033 | </div> | ||
| 5972 | </div> | 6034 | </div> |
| 5973 | </div> | 6035 | </div> |
| 5974 | </div> | 6036 | <div id="group_list_template" class="template_element"> |
| 5975 | <div id="bogus_folder_template" class="template_element"> | 6037 | <div class="group_select entity_block flex-container wide100p alignitemsflexstart"> |
| 5976 | <div class="bogus_folder_select entity_block flex-container wide100p alignitemsflexstart"> | 6038 | <div class="avatar"> |
| 5977 | <div class="avatar flex alignitemscenter textAlignCenter"> | 6039 | <img src=""> |
| 5978 | <i class="bogus_folder_icon fa-solid fa-xl"></i> | 6040 | </div> |
| 5979 | </div> | 6041 | <div class="flex-container wide100pLess70px gap5px group_select_container"> |
| 5980 | <div class="flex-container wide100pLess70px character_select_container"> | 6042 | <div class="wide100p group_name_block character_name_block"> |
| 5981 | <div class="wide100p character_name_block"> | 6043 | <div class="ch_name"></div> |
| 5982 | <span class="ch_name"></span> | 6044 | <small class="ch_additional_info group_select_counter"></small> |
| 5983 | <small class="ch_additional_info bogus_folder_counter"></small> | 6045 | </div> |
| 6046 | <small class="character_name_block_sub_line">in this group</small> | ||
| 6047 | <i class='group_fav_icon fa-solid fa-star'></i> | ||
| 6048 | <input class="ch_fav" value="" hidden /> | ||
| 6049 | <div class="group_select_block_list ch_description"></div> | ||
| 6050 | <div class="tags tags_inline"></div> | ||
| 5984 | </div> | 6051 | </div> |
| 5985 | <small class="character_name_block_sub_line bogus_folder_hidden_counter"></small> | ||
| 5986 | <div class="bogus_folder_avatars_block avatars_inline avatars_inline_small tags tags_inline"></div> | ||
| 5987 | </div> | 6052 | </div> |
| 5988 | </div> | 6053 | </div> |
| 5989 | </div> | 6054 | <div id="bogus_folder_template" class="template_element"> |
| 5990 | <div id="bogus_folder_back_template" class="template_element"> | 6055 | <div class="bogus_folder_select entity_block flex-container wide100p alignitemsflexstart"> |
| 5991 | <div class="bogus_folder_select bogus_folder_select_back flex-container wide100p alignitemsflexstart" id="BogusFolderBack" tagid="back"> | 6056 | <div class="avatar flex alignitemscenter textAlignCenter"> |
| 5992 | <div class="avatar flex alignitemscenter textAlignCenter"> | 6057 | <i class="bogus_folder_icon fa-solid fa-xl"></i> |
| 5993 | <i class="bogus_folder_icon fa-solid fa-xl fa-right-from-bracket fa-flip-horizontal"></i> | 6058 | </div> |
| 5994 | </div> | 6059 | <div class="flex-container wide100pLess70px character_select_container"> |
| 5995 | <div class="bogus_folder_back_placeholder flex alignitemscenter textAlignCenter"> | 6060 | <div class="wide100p character_name_block"> |
| 5996 | <i class="bogus_folder_icon fa-solid fa-xl fa-right-from-bracket fa-flip-horizontal"></i> | 6061 | <span class="ch_name"></span> |
| 5997 | </div> | 6062 | <small class="ch_additional_info bogus_folder_counter"></small> |
| 5998 | <div class="flex-container wide100pLess70px character_select_container height100p alignitemscenter"> | 6063 | </div> |
| 5999 | <div class="wide100p character_name_block"> | 6064 | <small class="character_name_block_sub_line bogus_folder_hidden_counter"></small> |
| 6000 | <span class="ch_name">Go back</span> | 6065 | <div class="bogus_folder_avatars_block avatars_inline avatars_inline_small tags tags_inline"></div> |
| 6001 | </div> | 6066 | </div> |
| 6002 | </div> | 6067 | </div> |
| 6003 | </div> | 6068 | </div> |
| 6004 | </div> | 6069 | <div id="bogus_folder_back_template" class="template_element"> |
| 6005 | <div id="inline_avatar_template" class="template_element"> | 6070 | <div class="bogus_folder_select bogus_folder_select_back flex-container wide100p alignitemsflexstart" id="BogusFolderBack" tagid="back"> |
| 6006 | <div class="avatar inline_avatar flex alignitemscenter textAlignCenter"> | 6071 | <div class="avatar flex alignitemscenter textAlignCenter"> |
| 6007 | <img src=""> | 6072 | <i class="bogus_folder_icon fa-solid fa-xl fa-right-from-bracket fa-flip-horizontal"></i> |
| 6073 | </div> | ||
| 6074 | <div class="bogus_folder_back_placeholder flex alignitemscenter textAlignCenter"> | ||
| 6075 | <i class="bogus_folder_icon fa-solid fa-xl fa-right-from-bracket fa-flip-horizontal"></i> | ||
| 6076 | </div> | ||
| 6077 | <div class="flex-container wide100pLess70px character_select_container height100p alignitemscenter"> | ||
| 6078 | <div class="wide100p character_name_block"> | ||
| 6079 | <span class="ch_name">Go back</span> | ||
| 6080 | </div> | ||
| 6081 | </div> | ||
| 6082 | </div> | ||
| 6008 | </div> | 6083 | </div> |
| 6009 | </div> | 6084 | <div id="inline_avatar_template" class="template_element"> |
| 6010 | <div id="alternate_greetings_template" class="template_element"> | 6085 | <div class="avatar inline_avatar flex alignitemscenter textAlignCenter"> |
| 6011 | <div class="alternate_grettings flexFlowColumn flex-container"> | 6086 | <img src=""> |
| 6012 | <div class="title_restorable"> | ||
| 6013 | <h3><span data-i18n="Alternate Greetings">Alternate Greetings</span></h3> | ||
| 6014 | <div title="Add" class="menu_button fa-solid fa-plus add_alternate_greeting" data-i18n="[title]Add"></div> | ||
| 6015 | </div> | 6087 | </div> |
| 6016 | <small class="justifyLeft" data-i18n="Alternate_Greetings_desc"> | 6088 | </div> |
| 6017 | These will be displayed as swipes on the first message when starting a new chat. | 6089 | <div id="alternate_greetings_template" class="template_element"> |
| 6018 | Group members can select one of them to initiate the conversation. | 6090 | <div class="alternate_grettings flexFlowColumn flex-container"> |
| 6019 | </small> | 6091 | <div class="title_restorable"> |
| 6020 | <hr> | 6092 | <h3><span data-i18n="Alternate Greetings" class="mdhotkey_location">Alternate Greetings</span></h3> |
| 6021 | <div class="alternate_greetings_list flexFlowColumn flex-container wide100p"> | 6093 | <div class="menu_button menu_button_icon add_alternate_greeting"> |
| 6022 | <strong class="alternate_grettings_hint margin-bot-10px"> | 6094 | <i class="fa-solid fa-plus"></i> |
| 6023 | <span data-i18n="alternate_greetings_hint_1">Click the</span> <i class="fa-solid fa-plus"></i> <span data-i18n="alternate_greetings_hint_2">button to get started!</span> | 6095 | <span data-i18n="Add">Add</span> |
| 6024 | </strong> | 6096 | </div> |
| 6097 | </div> | ||
| 6098 | <small class="justifyLeft" data-i18n="Alternate_Greetings_desc"> | ||
| 6099 | These will be displayed as swipes on the first message when starting a new chat. | ||
| 6100 | Group members can select one of them to initiate the conversation. | ||
| 6101 | </small> | ||
| 6102 | <hr> | ||
| 6103 | <div class="alternate_greetings_list flexFlowColumn flex-container wide100p"> | ||
| 6104 | <strong class="alternate_grettings_hint margin-bot-10px"> | ||
| 6105 | <span data-i18n="alternate_greetings_hint_1">Click the</span> <i class="fa-solid fa-plus"></i> <span data-i18n="alternate_greetings_hint_2">button to get started!</span> | ||
| 6106 | </strong> | ||
| 6107 | </div> | ||
| 6025 | </div> | 6108 | </div> |
| 6026 | </div> | 6109 | </div> |
| 6027 | </div> | 6110 | <div id="alternate_greeting_form_template" class="template_element"> |
| 6028 | <div id="alternate_greeting_form_template" class="template_element"> | 6111 | <div class="alternate_greeting"> |
| 6029 | <div class="alternate_greeting"> | 6112 | <details open> |
| 6030 | <div class="title_restorable"> | 6113 | <summary> |
| 6031 | <strong><span data-i18n="Alternate Greeting #">Alternate Greeting #</span><span class="greeting_index"></span></strong> | 6114 | <div class="title_restorable"> |
| 6032 | <div class="menu_button fa-solid fa-trash-alt delete_alternate_greeting"></div> | 6115 | <strong><span data-i18n="Alternate Greeting #">Alternate Greeting #</span><span class="greeting_index"></span></strong> |
| 6116 | <div class="menu_button menu_button_icon delete_alternate_greeting"> | ||
| 6117 | <i class="fa-solid fa-trash-alt"></i> | ||
| 6118 | <span data-i18n="Delete">Delete</span> | ||
| 6119 | </div> | ||
| 6120 | </div> | ||
| 6121 | </summary> | ||
| 6122 | <textarea name="alternate_greetings" data-i18n="[placeholder](This will be the first message from the character that starts every chat)" placeholder="(This will be the first message from the character that starts every chat)" class="text_pole textarea_compact alternate_greeting_text mdHotkeys" value="" autocomplete="off" rows="12"></textarea> | ||
| 6123 | </details> | ||
| 6033 | </div> | 6124 | </div> |
| 6034 | <textarea name="alternate_greetings" data-i18n="[placeholder](This will be the first message from the character that starts every chat)" placeholder="(This will be the first message from the character that starts every chat)" class="text_pole textarea_compact alternate_greeting_text" maxlength="50000" value="" autocomplete="off" rows="16"></textarea> | ||
| 6035 | </div> | 6125 | </div> |
| 6036 | </div> | ||
| 6037 | 6126 | ||
| 6038 | <!-- chat and input bar --> | 6127 | <!-- chat and input bar --> |
| 6039 | <div id="typing_indicator_template" class="template_element"> | 6128 | <div id="typing_indicator_template" class="template_element"> |
| 6040 | <div class="typing_indicator"><span class="typing_indicator_name">CHAR</span> is typing</div> | 6129 | <div class="typing_indicator"><span class="typing_indicator_name">CHAR</span> is typing</div> |
| 6041 | </div> | 6130 | </div> |
| 6042 | <div id="message_file_template" class="template_element"> | 6131 | <div id="message_file_template" class="template_element"> |
| 6043 | <div class="mes_file_container"> | 6132 | <div class="mes_file_container"> |
| 6044 | <div class="fa-lg fa-solid fa-file-alt mes_file_icon"></div> | 6133 | <div class="fa-lg fa-solid fa-file-alt mes_file_icon"></div> |
| 6045 | <div class="mes_file_name"></div> | 6134 | <div class="mes_file_name"></div> |
| 6046 | <div class="mes_file_size"></div> | 6135 | <div class="mes_file_size"></div> |
| 6047 | <div class="right_menu_button mes_file_open fa-solid fa-magnifying-glass" title="View contents" data-i18n="[title]View contents"></div> | 6136 | <div class="right_menu_button mes_file_open fa-solid fa-magnifying-glass" title="View contents" data-i18n="[title]View contents"></div> |
| 6048 | <div class="right_menu_button mes_file_delete fa-solid fa-trash-can" title="Remove the file" data-i18n="[title]Remove the file"></div> | 6137 | <div class="right_menu_button mes_file_delete fa-solid fa-trash-can" title="Remove the file" data-i18n="[title]Remove the file"></div> |
| 6138 | </div> | ||
| 6049 | </div> | 6139 | </div> |
| 6050 | </div> | 6140 | </div> |
| 6051 | <div id="movingDivs"> | 6141 | <div id="movingDivs"> |
| @@ -6068,7 +6158,7 @@ | |||
| 6068 | <b data-i18n="Unique to this chat">Unique to this chat</b>.<br> | 6158 | <b data-i18n="Unique to this chat">Unique to this chat</b>.<br> |
| 6069 | <span data-i18n="Checkpoints inherit the Note from their parent, and can be changed individually after that.">Checkpoints inherit the Note from their parent, and can be changed individually after that.</span><br> | 6159 | <span data-i18n="Checkpoints inherit the Note from their parent, and can be changed individually after that.">Checkpoints inherit the Note from their parent, and can be changed individually after that.</span><br> |
| 6070 | </small> | 6160 | </small> |
| 6071 | <textarea id="extension_floating_prompt" class="text_pole textarea_compact" rows="8" maxlength="50000"></textarea> | 6161 | <textarea id="extension_floating_prompt" class="text_pole textarea_compact" rows="8"></textarea> |
| 6072 | <div class="extension_token_counter"> | 6162 | <div class="extension_token_counter"> |
| 6073 | <span data-i18n="extension_token_counter">Tokens:</span> <span id="extension_floating_prompt_token_counter">0</span> | 6163 | <span data-i18n="extension_token_counter">Tokens:</span> <span id="extension_floating_prompt_token_counter">0</span> |
| 6074 | </div> | 6164 | </div> |
| @@ -6125,7 +6215,7 @@ | |||
| 6125 | <div class="inline-drawer-content"> | 6215 | <div class="inline-drawer-content"> |
| 6126 | <small data-i18n="Will be automatically added as the author's note for this character. Will be used in groups, but can't be modified when a group chat is open.">Will be automatically added as the author's note for this character. Will be used in groups, but | 6216 | <small data-i18n="Will be automatically added as the author's note for this character. Will be used in groups, but can't be modified when a group chat is open.">Will be automatically added as the author's note for this character. Will be used in groups, but |
| 6127 | can't be modified when a group chat is open.</small> | 6217 | can't be modified when a group chat is open.</small> |
| 6128 | <textarea id="extension_floating_chara" class="text_pole textarea_compact" rows="8" maxlength="50000" placeholder="Example: [Scenario: wacky adventures; Genre: romantic comedy; Style: verbose, creative]"></textarea> | 6218 | <textarea id="extension_floating_chara" class="text_pole textarea_compact" rows="8" placeholder="Example: [Scenario: wacky adventures; Genre: romantic comedy; Style: verbose, creative]"></textarea> |
| 6129 | <div class="extension_token_counter"> | 6219 | <div class="extension_token_counter"> |
| 6130 | <span data-i18n="extension_token_counter">Tokens:</span> <span id="extension_floating_chara_token_counter">0</span> | 6220 | <span data-i18n="extension_token_counter">Tokens:</span> <span id="extension_floating_chara_token_counter">0</span> |
| 6131 | </div> | 6221 | </div> |
| @@ -6157,7 +6247,7 @@ | |||
| 6157 | </div> | 6247 | </div> |
| 6158 | <div class="inline-drawer-content"> | 6248 | <div class="inline-drawer-content"> |
| 6159 | <small data-i18n="Will be automatically added as the Author's Note for all new chats.">Will be automatically added as the Author's Note for all new chats.</small> | 6249 | <small data-i18n="Will be automatically added as the Author's Note for all new chats.">Will be automatically added as the Author's Note for all new chats.</small> |
| 6160 | <textarea id="extension_floating_default" class="text_pole textarea_compact" rows="8" maxlength="50000" placeholder="Example: [Scenario: wacky adventures; Genre: romantic comedy; Style: verbose, creative]"></textarea> | 6250 | <textarea id="extension_floating_default" class="text_pole textarea_compact" rows="8" placeholder="Example: [Scenario: wacky adventures; Genre: romantic comedy; Style: verbose, creative]"></textarea> |
| 6161 | <div class="extension_token_counter"> | 6251 | <div class="extension_token_counter"> |
| 6162 | <span data-i18n="extension_token_counter">Tokens:</span> <span id="extension_floating_default_token_counter">0</span> | 6252 | <span data-i18n="extension_token_counter">Tokens:</span> <span id="extension_floating_default_token_counter">0</span> |
| 6163 | </div> | 6253 | </div> |
| @@ -6414,7 +6504,7 @@ | |||
| 6414 | <div id="leftSendForm" class="alignContentCenter"> | 6504 | <div id="leftSendForm" class="alignContentCenter"> |
| 6415 | <div id="options_button" class="fa-solid fa-bars interactable"></div> | 6505 | <div id="options_button" class="fa-solid fa-bars interactable"></div> |
| 6416 | </div> | 6506 | </div> |
| 6417 | <textarea id="send_textarea" name="text" data-i18n="[no_connection_text]Not connected to API!;[connected_text]Type a message, or /? for help" placeholder="Not connected to API!" no_connection_text="Not connected to API!" connected_text="Type a message, or /? for help"></textarea> | 6507 | <textarea id="send_textarea" name="text" class="mdHotkeys" data-i18n="[no_connection_text]Not connected to API!;[connected_text]Type a message, or /? for help" placeholder="Not connected to API!" no_connection_text="Not connected to API!" connected_text="Type a message, or /? for help"></textarea> |
| 6418 | <div id="rightSendForm" class="alignContentCenter"> | 6508 | <div id="rightSendForm" class="alignContentCenter"> |
| 6419 | <div id="stscript_continue" title="Continue script execution" class="stscript_btn stscript_continue" data-i18n="[title]Continue script execution"> | 6509 | <div id="stscript_continue" title="Continue script execution" class="stscript_btn stscript_continue" data-i18n="[title]Continue script execution"> |
| 6420 | <i class="fa-solid fa-play"></i> | 6510 | <i class="fa-solid fa-play"></i> |
| @@ -6451,11 +6541,11 @@ | |||
| 6451 | <i class="fa-lg fa-solid fa-note-sticky"></i> | 6541 | <i class="fa-lg fa-solid fa-note-sticky"></i> |
| 6452 | <span data-i18n="Author's Note">Author's Note</span> | 6542 | <span data-i18n="Author's Note">Author's Note</span> |
| 6453 | </a> | 6543 | </a> |
| 6454 | <a data-newbie-hidden id="option_toggle_CFG"> | 6544 | <a id="option_toggle_CFG"> |
| 6455 | <i class="fa-lg fa-solid fa-scale-balanced"></i> | 6545 | <i class="fa-lg fa-solid fa-scale-balanced"></i> |
| 6456 | <span data-i18n="CFG Scale">CFG Scale</span> | 6546 | <span data-i18n="CFG Scale">CFG Scale</span> |
| 6457 | </a> | 6547 | </a> |
| 6458 | <a data-newbie-hidden id="option_toggle_logprobs"> | 6548 | <a id="option_toggle_logprobs"> |
| 6459 | <i class="fa-lg fa-solid fa-pie-chart"></i> | 6549 | <i class="fa-lg fa-solid fa-pie-chart"></i> |
| 6460 | <span data-i18n="Token Probabilities">Token Probabilities</span> | 6550 | <span data-i18n="Token Probabilities">Token Probabilities</span> |
| 6461 | </a> | 6551 | </a> |
| @@ -6503,69 +6593,17 @@ | |||
| 6503 | </a> | 6593 | </a> |
| 6504 | </div> | 6594 | </div> |
| 6505 | </div> | 6595 | </div> |
| 6506 | <div id="export_format_popup" class="list-group"> | ||
| 6507 | <div class="export_format list-group-item" data-format="png">PNG</div> | ||
| 6508 | <div class="export_format list-group-item" data-format="json">JSON</div> | ||
| 6509 | </div> | ||
| 6510 | <div id="zoomed_avatar_template" class="template_element"> | ||
| 6511 | <div class="zoomed_avatar"> | ||
| 6512 | <div class="panelControlBar flex-container"> | ||
| 6513 | <div class="fa-fw fa-solid fa-grip drag-grabber"></div> | ||
| 6514 | <div class="fa-fw fa-solid fa-circle-xmark dragClose" id="closeZoom"></div> | ||
| 6515 | </div> | ||
| 6516 | <div class="zoomed_avatar_container"> | ||
| 6517 | <img class="zoomed_avatar_img" src="" data-izoomify-url="" data-izoomify-magnify="1.8" data-izoomify-duration="300" alt=""> | ||
| 6518 | </div> | ||
| 6519 | </div> | ||
| 6520 | </div> | ||
| 6521 | <template id="generic_draggable_template"> | ||
| 6522 | <div class="draggable"> | ||
| 6523 | <div class="dragTitle"></div> | ||
| 6524 | <div class="panelControlBar flex-container"> | ||
| 6525 | <div class="fa-fw fa-solid fa-grip drag-grabber"></div> | ||
| 6526 | <div class="fa-fw fa-solid fa-circle-xmark dragClose"></div> | ||
| 6527 | </div> | ||
| 6528 | </div> | ||
| 6529 | </template> | ||
| 6530 | <div id="user_avatar_template" class="template_element"> | ||
| 6531 | <div class="avatar-container"> | ||
| 6532 | <div imgfile="" class="avatar"> | ||
| 6533 | <img src="" alt="User Avatar"> | ||
| 6534 | </div> | ||
| 6535 | <div class="flex-container wide100pLess70px character_select_container"> | ||
| 6536 | <div class="wide100p character_name_block"> | ||
| 6537 | <span class="ch_name flex1"></span> | ||
| 6538 | <div class="avatar-buttons"> | ||
| 6539 | <button class="menu_button bind_user_name" title="Bind user name to that avatar" data-i18n="[title]Bind user name to that avatar"> | ||
| 6540 | <i class="fa-fw fa-solid fa-user-edit"></i> | ||
| 6541 | </button> | ||
| 6542 | <button class="menu_button set_persona_image" title="Change persona image" data-i18n="[title]Change persona image"> | ||
Binary file
Diff truncated