AF panel 3column reshuffle, autoComplete to UserSettings, collaspify Auto* settings

a764e2d6bf68758af6191cf9bd02b2bda6ae99c5

RossAscends <124905043+RossAscends@users.noreply.github.com>

5 files changed, +1369 -1394Ignore whitespace
public/css/mobile-styles.css+1 -2
@@ -344,7 +344,6 @@
344344
345345@media screen and (min-width: 1001px) {
346346
347- #PygOverrides,
348347 #ContextFormatting,
349348 #UI-Theme-Block,
350349 #UI-Customization,
@@ -503,4 +502,4 @@
503502 #horde_model {
504503 height: unset;
505504 }
506505}
505 \ No newline at end of file
public/css/st-tailwind.css+7 -2
@@ -360,6 +360,10 @@
360360 margin-right: 2px;
361361}
362362
363+.flexAuto {
364+ flex: auto;
365+}
366+
363367.flex0 {
364368 flex: 0;
365369}
@@ -490,7 +494,8 @@
490494}
491495
492496input:disabled,
493497textarea:disabled {,
498+.disabled {
494499 cursor: not-allowed;
495500 filter: brightness(0.5);
496501}
@@ -603,4 +608,4 @@ ul.li-padding-bot5 li {
603608
604609ul.li-padding-bot10 li {
605610 padding-bottom: 10px;
606611}
611 \ No newline at end of file
public/index.html+1301 -1372
@@ -3033,8 +3033,8 @@
30333033 <h3 class="margin0" data-i18n="Advanced Formatting">
30343034 Advanced Formatting
30353035 </h3>
30363036 <div class="flex-container spaceEvenly">
30373037 <div id="PygOverridesContextSettings" class="flex-container flexNoGap flexFlowColumn flex1">
30383038 <div>
30393039 <h4 class="standoutHeader title_restorable">
30403040 <div>
@@ -3043,19 +3043,21 @@
30433043 <span class="fa-solid fa-circle-question note-link-span"></span>
30443044 </a>
30453045 </div>
3046- <div class="flex-container">
3046+
3047- <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>
3048- <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>
3049- <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>
3050- <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>
3051- </div>
30523047 </h4>
30533048 <div class="flex-container">
3054- <select id="context_presets" data-preset-manager-for="context" class="flex1 text_pole"></select>
3049+
30553050 <input type="file" hidden data-preset-manager-file="context" accept=".json, .settings">
30563051 <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>
30573052 <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>
30583053 <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>
3054+ <i data-newbie-hidden data-preset-manager-import="context" class="menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i>
3055+ <i data-newbie-hidden data-preset-manager-export="context" class="menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i>
3056+ <i data-newbie-hidden data-preset-manager-restore="context" class="menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i>
3057+ <i data-newbie-hidden id="context_delete_preset" data-preset-manager-delete="context" class="menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i>
3058+ </div>
3059+ <div class="flex-container">
3060+ <select id="context_presets" data-preset-manager-for="context" class="flex1 text_pole"></select>
30593061 </div>
30603062 <div data-newbie-hidden>
30613063 <label for="context_story_string">
@@ -3080,383 +3082,198 @@
30803082 </div>
30813083 </div>
30823084 </div>
3083- <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.">
3085+ <div>
30843086 <inputh4 iddata-i18n="context_use_stop_strings"Context type="checkboxFormatting" />
3085- <small data-i18n="Separators as Stop Strings">Separators as Stop Strings</small>
3087+ Context Formatting
3086- </label>
3088+ <small data-i18n="(Saves to Template)">
3087- <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.">
3089+ &nbsp;(Saves to Template)
3088- <input id="context_names_as_stop_strings" type="checkbox" />
3090+ </small>
3089- <small data-i18n="Names as Stop Strings">Names as Stop Strings</small>
3091+ </h4>
3090- </label>
3092+
3093+
3094+ <label class="checkbox_label" for="always-force-name2-checkbox">
3095+ <input id="always-force-name2-checkbox" type="checkbox" />
3096+ <small data-i18n="Always add character's name to prompt">
3097+ Always add character's name to prompt
3098+ </small>
3099+ </label>
3100+ <label class="checkbox_label" for="single_line">
3101+ <input id="single_line" type="checkbox" />
3102+ <small data-i18n="Generate only one line per request">
3103+ Generate only one line per request
3104+ </small>
3105+ </label>
3106+ <label class="checkbox_label" for="collapse-newlines-checkbox">
3107+ <input id="collapse-newlines-checkbox" type="checkbox" />
3108+ <small data-i18n="Collapse Consecutive Newlines">
3109+ Collapse Consecutive Newlines
3110+ </small>
3111+ </label>
3112+ <label data-newbie-hidden class="checkbox_label" for="trim_spaces">
3113+ <input id="trim_spaces" type="checkbox" />
3114+ <small data-i18n="Trim spaces">Trim spaces</small>
3115+ </label>
3116+ <label class="checkbox_label" for="trim_sentences_checkbox">
3117+ <input id="trim_sentences_checkbox" type="checkbox" />
3118+ <small data-i18n="Trim Incomplete Sentences">
3119+ Trim Incomplete Sentences
3120+ </small>
3121+ </label>
3122+ <!-- Add margin since this is a child of above -->
3123+ <label data-newbie-hidden class="checkbox_label indent20p" for="include_newline_checkbox">
3124+ <input id="include_newline_checkbox" type="checkbox" />
3125+ <small data-i18n="Include Newline">Include Newline</small>
3126+ </label>
3127+ <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.">
3128+ <input id="context_use_stop_strings" type="checkbox" />
3129+ <small data-i18n="Separators as Stop Strings">Separators as Stop Strings</small>
3130+ </label>
3131+ <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.">
3132+ <input id="context_names_as_stop_strings" type="checkbox" />
3133+ <small data-i18n="Names as Stop Strings">Names as Stop Strings</small>
3134+ </label>
3135+ </div>
3136+
30913137 <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.&#10;THIS IS NOT RECOMMENDED FOR TEXT COMPLETION MODELS, CAN LEAD TO BAD OUTPUT." data-i18n="[title]context_allow_post_history_instructions">
30923138 <input id="context_allow_jailbreak" type="checkbox" />
30933139 <small data-i18n="Allow Post-History Instructions">Allow Post-History Instructions</small>
30943140 </label>
30953141 </div>
3142+ <hr>
3143+ <div>
3144+ <h4 class="range-block-title justifyLeft">
3145+ <span data-i18n="Custom Stopping Strings">
3146+ Custom Stopping Strings
3147+ </span>
3148+ <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#custom-stopping-strings" class="notes-link" target="_blank">
3149+ <span class="fa-solid fa-circle-question note-link-span"></span>
3150+ </a>
3151+ </h4>
3152+ <div>
3153+
3154+ <small data-i18n="JSON serialized array of strings">JSON serialized array of strings</small>
30963155
3097- <div data-newbie-hidden class="inline-drawer wide100p flexFlowColumn margin-bot-10px" style="display:none;">
3098- <div class="inline-drawer-toggle inline-drawer-header">
3099- <b><span data-i18n="Context Order">Context Order</span></b>
3100- <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div>
31013156 </div>
3102- <div class="inline-drawer-content">
3157+ <div>
3103- <div id="context_order" class="prompt_order">
3158+ <div contenteditable="true" id="custom_stopping_strings" rows="2" class="text_pole textarea_compact monospace" placeholder="[&quot;Ford&quot;, &quot;BMW&quot;, &quot;Fiat&quot;]"></div>
3104- <div data-id="0">
3105- <span data-i18n="Story String">Story String</span>
3106- <small>0</small>
3107- </div>
3108- <div data-id="1">
3109- <span data-i18n="Summary">Summary</span>
3110- <small>1</small>
3111- </div>
3112- <div data-id="2">
3113- <span data-i18n="Author's Note">Author's Note</span>
3114- <small>2</small>
3115- </div>
3116- <div data-id="3">
3117- <span data-i18n="Example Dialogues">Example Dialogues</span>
3118- <small>3</small>
3119- </div>
3120- <div data-id="4">
3121- <span data-i18n="Chat Start">Chat History</span>
3122- <small>4</small>
3123- </div>
3124- </div>
3125- <small>
3126- <b data-i18n="Hint">Hint:</b>
3127- <span data-i18n="In-Chat Position not affected">
3128- Summary and Author's Note orders are only affected when they don't have an In-Chat position set.
3129- </span>
3130- </small>
31313159 </div>
3160+ <label class="checkbox_label" for="custom_stopping_strings_macro">
3161+ <input id="custom_stopping_strings_macro" type="checkbox" checked>
3162+ <small data-i18n="Replace Macro in Custom Stopping Strings">
3163+ Replace Macro in Custom Stopping Strings
3164+ </small>
3165+ </label>
3166+
31323167 </div>
31333168 </div>
3134- <div>
3169+
3135- <h4 class="standoutHeader title_restorable">
3170+
31363171 </div>
3172+ <div id="InstructSettingsColumn" class="flex-container flexNoGap flexFlowColumn flex1">
3173+ <div name="instructSettingsBlock">
3174+ <h4 class="standoutHeader title_restorable justifySpaceBetween">
3175+ <div class="flex-container">
31373176 <span data-i18n="Instruct Mode">Instruct Mode</span>
31383177 <a href="https://docs.sillytavern.app/usage/core-concepts/instructmode/" class="notes-link" target="_blank">
31393178 <span class="fa-solid fa-circle-question note-link-span"></span>
31403179 </a>
31413180 </div>
31423181 <div class="flex-container">
3143- <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>
3182+ <label for="instruct_enabled" class="checkbox_label flex1">
3144- <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>
3183+ <input id="instruct_enabled" type="checkbox" />
3145- <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>
3184+ <small data-i18n="Enabled"><i class="fa-solid fa-power-off"></i></small>
3146- <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>
3185+ </label>
3186+ <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">
3187+ <input id="instruct_bind_to_context" type="checkbox" />
3188+ <small data-i18n="Bind to Context"><i class="fa-solid fa-link"></i></small>
3189+ </label>
31473190 </div>
31483191 </h4>
31493192 <div class="flex-container margin0">
3150- <label for="instruct_enabled" class="checkbox_label flex1">
3151- <input id="instruct_enabled" type="checkbox" />
3152- <span data-i18n="Enabled">Enabled</span>
3153- </label>
3154- <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">
3155- <input id="instruct_bind_to_context" type="checkbox" />
3156- <span data-i18n="Bind to Context">Bind to Context</span>
3157- </label>
3158- </div>
3159- <label for="instruct_presets">
3160- <span data-i18n="Presets">Presets</span>
3161- </label>
3162- <div class="flex-container">
3163- <select id="instruct_presets" data-preset-manager-for="instruct" class="flex1 text_pole"></select>
31643193 <input type="file" hidden data-preset-manager-file="instruct" accept=".json, .settings">
31653194 <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>
31663195 <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>
31673196 <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>
3197+ <i data-newbie-hidden data-preset-manager-import="instruct" class=" menu_button fa-solid fa-file-import" title="Import preset" data-i18n="[title]Import preset"></i>
3198+ <i data-newbie-hidden data-preset-manager-export="instruct" class=" menu_button fa-solid fa-file-export" title="Export preset" data-i18n="[title]Export preset"></i>
3199+ <i data-newbie-hidden data-preset-manager-restore="instruct" class=" menu_button fa-solid fa-recycle" title="Restore current preset" data-i18n="[title]Restore current preset"></i>
3200+ <i data-newbie-hidden data-preset-manager-delete="instruct" class=" menu_button fa-solid fa-trash-can" title="Delete the preset" data-i18n="[title]Delete the preset"></i>
3201+ </div>
3202+
3203+ <div class="flex-container">
3204+ <select id="instruct_presets" data-preset-manager-for="instruct" class="flex1 text_pole"></select>
3205+ </div>
3206+ <div data-newbie-hidden>
3207+ <label>
3208+ <small data-i18n="System Prompt">System Prompt</small>
3209+ </label>
3210+ <div contenteditable="true" id="instruct_system_prompt" class="text_pole textarea_compact autoSetHeight" rows="1"></div>
31683211 </div>
31693212 <label data-newbie-hidden>
31703213 <small data-i18n="Activation Regex">
3171- Activation Regex
3214+ Activation Regex <span class="fa-solid fa-circle-question" title="When connecting to an API or choosing a model, automatically activate this Instruct Mode template if the model name matches the provided regular expression."></span>
31723215 </small>
31733216 </label>
31743217 <div data-newbie-hidden>
31753218 <divinput type="text" contenteditable="true" id="instruct_activation_regex" class="text_pole textarea_compact autoSetHeight" maxlength="5000" rows="1" placeholder="e.g. /llama(-)?[3|3.1]/i"></divinput>
31763219 </div>
31773220 <div data-newbie-hidden>
31783221 <label for="instruct_wrap" class="checkbox_label">
31793222 <input id="instruct_wrap" type="checkbox" />
31803223 <spansmall data-i18n="Wrap Sequences with Newline">Wrap Sequences with Newline</spansmall>
31813224 </label>
31823225 <label for="instruct_macro" class="checkbox_label">
31833226 <input id="instruct_macro" type="checkbox" />
31843227 <spansmall data-i18n="Replace Macro in Sequences">Replace Macro in Sequences</spansmall>
31853228 </label>
31863229 <label for="instruct_skip_examples" class="checkbox_label">
31873230 <input id="instruct_skip_examples" type="checkbox" />
31883231 <spansmall data-i18n="Skip Example Dialogues Formatting">Skip Example Dialogues Formatting</spansmall>
31893232 </label>
31903233 <label for="instruct_names" class="checkbox_label">
31913234 <input id="instruct_names" type="checkbox" />
31923235 <spansmall data-i18n="Include Names">Include Names</spansmall>
31933236 </label>
31943237 <label for="instruct_names_force_groups" class="checkbox_label indent20p">
31953238 <input id="instruct_names_force_groups" type="checkbox" />
31963239 <spansmall data-i18n="Force for Groups and Personas">Force for Groups and Personas</spansmall>
31973240 </label>
31983241 </div>
3199- <div data-newbie-hidden>
3242+ <hr>
3200- <label>
3243+ <div name="tokenizerSettingsBlock">
3201- <small data-i18n="System Prompt">System Prompt</small>
3244+ <div data-newbie-hidden name="tokenizerSelectorBlock">
3202- </label>
3245+ <h4><span data-i18n="Tokenizer">Tokenizer</span>
3203- <div contenteditable="true" id="instruct_system_prompt" class="text_pole textarea_compact autoSetHeight" rows="1"></div>
3246+ <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#tokenizer" class="notes-link" target="_blank">
3204- </div>
3247+ <span class="fa-solid fa-circle-question note-link-span"></span>
3205- <div data-newbie-hidden class="inline-drawer wide100p flexFlowColumn">
3248+ </a>
3206- <div class="inline-drawer-toggle inline-drawer-header">
3249+ </h4>
3207- <b><span data-i18n="Instruct Mode Sequences">Instruct Mode Sequences</span></b>
3250+ <select id="tokenizer">
3208- <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div>
3251+ <option value="99">Best match (recommended)</option>
3252+ <option value="0">None / Estimated</option>
3253+ <option value="1">GPT-2</option>
3254+ <!-- Option #2 was a legacy GPT-2/3 tokenizer -->
3255+ <option value="3">Llama 1/2</option>
3256+ <option value="12">Llama 3</option>
3257+ <option value="4">NerdStash (NovelAI Clio)</option>
3258+ <option value="5">NerdStash v2 (NovelAI Kayra)</option>
3259+ <option value="7">Mistral</option>
3260+ <option value="8">Yi</option>
3261+ <option value="11">Claude 1/2</option>
3262+ <option value="6">API (WebUI / koboldcpp)</option>
3263+ </select>
32093264 </div>
32103265 <div class="inlinerange-drawerblock flex-contentcontainer flexnowrap" data-newbie-hidden name="tokenPaddingBlock">
32113266 <h5div class="textAlignCenter" datarange-i18n="System Promptblock-title WrappingjustifyLeft">
3212- System Prompt Wrapping
3267+ <small data-i18n="Token Padding" class="flex-container">Token Padding
3213- </h5>
3268+ <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#token-padding" class="notes-link" target="_blank">
3214- <div class="flex-container">
3269+ <span class="fa-solid fa-circle-question note-link-span"></span>
3215- <div class="flex1" title="Inserted before a System prompt." data-i18n="[title]Inserted before a System prompt.">
3270+ </a>
3216- <label for="instruct_system_sequence_prefix">
3271+ </small>
3217- <small data-i18n="System Prompt Prefix">System Prompt Prefix</small>
3218- </label>
3219- <div>
3220- <div contenteditable="true" id="instruct_system_sequence_prefix" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3221- </div>
3222- </div>
3223- <div class="flex1" title="Inserted after a System prompt." data-i18n="[title]Inserted after a System prompt.">
3224- <label for="instruct_system_sequence_suffix">
3225- <small data-i18n="System Prompt Suffix">System Prompt Suffix</small>
3226- </label>
3227- <div>
3228- <div contenteditable="true" id="instruct_system_sequence_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3229- </div>
3230- </div>
3231- </div>
3232- <h5 class="textAlignCenter" data-i18n="Chat Messages Wrapping">
3233- Chat Messages Wrapping
3234- </h5>
3235- <div class="flex-container">
3236- <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.">
3237- <label for="instruct_input_sequence">
3238- <small data-i18n="User Message Prefix">User Message Prefix</small>
3239- </label>
3240- <div>
3241- <div contenteditable="true" id="instruct_input_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3242- </div>
3243- </div>
3244- <div class="flex1" title="Inserted after a User message." data-i18n="[title]Inserted after a User message.">
3245- <label for="instruct_input_suffix">
3246- <small data-i18n="User Message Suffix">User Message Suffix</small>
3247- </label>
3248- <div>
3249- <div contenteditable="true" id="instruct_input_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3250- </div>
3251- </div>
3252- </div>
3253- <div class="flex-container">
3254- <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.">
3255- <label for="instruct_output_sequence">
3256- <small data-i18n="Assistant Message Prefix">Assistant Message Prefix</small>
3257- </label>
3258- <div>
3259- <div contenteditable="true" id="instruct_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3260- </div>
3261- </div>
3262- <div class="flex1" title="Inserted after an Assistant message." data-i18n="[title]Inserted after an Assistant message.">
3263- <label for="instruct_output_suffix">
3264- <small data-i18n="Assistant Message Suffix">Assistant Message Suffix</small>
3265- </label>
3266- <div>
3267- <div contenteditable="true" id="instruct_output_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3268- </div>
3269- </div>
3270- </div>
3271- <div class="flex-container">
3272- <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.">
3273- <label for="instruct_system_sequence">
3274- <small data-i18n="System Message Prefix">System Message Prefix</small>
3275- </label>
3276- <div>
3277- <div contenteditable="true" id="instruct_system_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3278- </div>
3279- </div>
3280- <div class="flex1" title="Inserted after a System message." data-i18n="[title]Inserted after a System message.">
3281- <label for="instruct_system_suffix">
3282- <small data-i18n="System Message Suffix">System Message Suffix</small>
3283- </label>
3284- <div>
3285- <div contenteditable="true" id="instruct_system_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3286- </div>
3287- </div>
3288- <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.">
3289- <label class="checkbox_label" for="instruct_system_same_as_user">
3290- <input id="instruct_system_same_as_user" type="checkbox" />
3291- <small data-i18n="System same as User">System same as User</small>
3292- </label>
3293- </div>
3294- </div>
3295- <h5 class="textAlignCenter" data-i18n="Misc. Sequences">
3296- Misc. Sequences
3297- </h5>
3298- <div class="flex-container">
3299- <div class="flex1" title="Inserted before the first Assistant's message." data-i18n="[title]Inserted before the first Assistant's message.">
3300- <label for="instruct_first_output_sequence">
3301- <small data-i18n="First Assistant Prefix">First Assistant Prefix</small>
3302- </label>
3303- <div>
3304- <div contenteditable="true" id="instruct_first_output_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3305- </div>
3306- </div>
3307- <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">
3308- <label for="instruct_last_output_sequence">
3309- <small data-i18n="Last Assistant Prefix">Last Assistant Prefix</small>
3310- </label>
3311- <div>
3312- <div contenteditable="true" id="instruct_last_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3313- </div>
3314- </div>
3315- </div>
3316- <div class="flex-container">
3317- <div class="flex1" title="Inserted before the first User's message." data-i18n="[title]Inserted before the first User's message.">
3318- <label for="instruct_first_input_sequence">
3319- <small data-i18n="First User Prefix">First User Prefix</small>
3320- </label>
3321- <div>
3322- <div contenteditable="true" id="instruct_first_input_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3323- </div>
3324- </div>
3325- <div class="flex1" title="Inserted before the last User's message." data-i18n="[title]instruct_last_input_sequence">
3326- <label for="instruct_last_input_sequence">
3327- <small data-i18n="Last User Prefix">Last User Prefix</small>
3328- </label>
3329- <div>
3330- <div contenteditable="true" id="instruct_last_input_sequence" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3331- </div>
3332- </div>
3333- </div>
3334- <div class="flex-container">
3335- <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.">
3336- <label for="instruct_last_system_sequence">
3337- <small data-i18n="System Instruction Prefix">System Instruction Prefix</small>
3338- </label>
3339- <div>
3340- <div contenteditable="true" id="instruct_last_system_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3341- </div>
3342- </div>
3343- <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).">
3344- <label for="instruct_stop_sequence">
3345- <small data-i18n="Stop Sequence">Stop Sequence</small>
3346- </label>
3347- <div>
3348- <div contenteditable="true" id="instruct_stop_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3349- </div>
3350- </div>
3351- </div>
3352- <div class="flex-container">
3353- <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.">
3354- <label for="instruct_user_alignment_message">
3355- <small data-i18n="User Filler Message">User Filler Message</small>
3356- </label>
3357- <div>
3358- <div contenteditable="true" id="instruct_user_alignment_message" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3359- </div>
3360- </div>
33613272 </div>
3273+ <input id="token_padding" class="text_pole textarea_compact" type="number" min="-2048" max="2048" />
33623274 </div>
33633275 </div>
3364- </div>
3276+
3365- </div>
3366- <div id="ContextFormatting">
3367- <div>
3368- <div class="flex-container alignItemsBaseline">
3369- <h4 data-i18n="Context Formatting">
3370- Context Formatting
3371- </h4>
3372- <small data-i18n="(Saved to Context Template)">
3373- &nbsp;(Saved to Context Template)
3374- </small>
3375- </div>
3376- <label class="checkbox_label" for="always-force-name2-checkbox">
3377- <input id="always-force-name2-checkbox" type="checkbox" />
3378- <span data-i18n="Always add character's name to prompt">
3379- Always add character's name to prompt
3380- </span>
3381- </label>
3382- <label class="checkbox_label" for="single_line">
3383- <input id="single_line" type="checkbox" />
3384- <span data-i18n="Generate only one line per request">
3385- Generate only one line per request
3386- </span>
3387- </label>
3388- <label class="checkbox_label" for="trim_sentences_checkbox">
3389- <input id="trim_sentences_checkbox" type="checkbox" />
3390- <span data-i18n="Trim Incomplete Sentences">
3391- Trim Incomplete Sentences
3392- </span>
3393- </label>
3394- <!-- Add margin since this is a child of above -->
3395- <label data-newbie-hidden class="checkbox_label indent20p" for="include_newline_checkbox">
3396- <input id="include_newline_checkbox" type="checkbox" />
3397- <span data-i18n="Include Newline">Include Newline</span>
3398- </label>
3399- </div>
3400- <h4 data-i18n="Misc. Settings">
3401- Misc. Settings
3402- </h4>
3403- <label class="checkbox_label" for="collapse-newlines-checkbox">
3404- <input id="collapse-newlines-checkbox" type="checkbox" />
3405- <span data-i18n="Collapse Consecutive Newlines">
3406- Collapse Consecutive Newlines
3407- </span>
3408- </label>
3409- <label data-newbie-hidden class="checkbox_label" for="trim_spaces">
3410- <input id="trim_spaces" type="checkbox" />
3411- <span data-i18n="Trim spaces">Trim spaces</span>
3412- </label>
3413- <div data-newbie-hidden>
3414- <h4><span data-i18n="Tokenizer">Tokenizer</span>
3415- <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#tokenizer" class="notes-link" target="_blank">
3416- <span class="fa-solid fa-circle-question note-link-span"></span>
3417- </a>
3418- </h4>
3419- <select id="tokenizer">
3420- <option value="99">Best match (recommended)</option>
3421- <option value="0">None / Estimated</option>
3422- <option value="1">GPT-2</option>
3423- <!-- Option #2 was a legacy GPT-2/3 tokenizer -->
3424- <option value="3">Llama 1/2</option>
3425- <option value="12">Llama 3</option>
3426- <option value="4">NerdStash (NovelAI Clio)</option>
3427- <option value="5">NerdStash v2 (NovelAI Kayra)</option>
3428- <option value="7">Mistral</option>
3429- <option value="8">Yi</option>
3430- <option value="11">Claude 1/2</option>
3431- <option value="6">API (WebUI / koboldcpp)</option>
3432- </select>
3433- </div>
3434- <div class="range-block" data-newbie-hidden>
3435- <div class="range-block-title justifyLeft">
3436- <span data-i18n="Token Padding">Token Padding</span>
3437- <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#token-padding" class="notes-link" target="_blank">
3438- <span class="fa-solid fa-circle-question note-link-span"></span>
3439- </a>
3440- </div>
3441- <input id="token_padding" class="text_pole textarea_compact" type="number" min="-2048" max="2048" />
3442- </div>
3443- <div class="flex-container flexFlowColumn" data-newbie-hidden>
3444- <div>
3445- <h4 class="range-block-title justifyLeft">
3446- <span data-i18n="Start Reply With">
3447- Start Reply With
3448- </span>
3449- </h4>
3450- <div>
3451- <div contenteditable="true" id="start_reply_with" rows="2" class="text_pole textarea_compact" data-i18n="[placeholder]AI reply prefix" placeholder="AI reply prefix"></div>
3452- </div>
3453- <label class="checkbox_label" for="chat-show-reply-prefix-checkbox">
3454- <input id="chat-show-reply-prefix-checkbox" type="checkbox" />
3455- <span data-i18n="Show reply prefix in chat">
3456- Show reply prefix in chat
3457- </span>
3458- </label>
3459- </div>
34603277 <div>
34613278 <h4 class="range-block-title justifyLeft">
34623279 <span data-i18n="Non-markdown strings">
@@ -3467,60 +3284,133 @@
34673284 <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" />
34683285 </div>
34693286 </div>
3470- <div>
3287+
3471- <h4 class="range-block-title justifyLeft">
3288+ <div class="flex-container flexFlowColumn" data-newbie-hidden name="startReplyWithBlock">
3472- <span data-i18n="Custom Stopping Strings">
3473- Custom Stopping Strings
3474- </span>
3475- <a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#custom-stopping-strings" class="notes-link" target="_blank">
3476- <span class="fa-solid fa-circle-question note-link-span"></span>
3477- </a>
3478- </h4>
3479- <div>
3480- <small>
3481- <span data-i18n="JSON serialized array of strings">JSON serialized array of strings</span>
3482- </small>
3483- </div>
34843289 <div>
3485- <div contenteditable="true" id="custom_stopping_strings" rows="2" class="text_pole textarea_compact monospace" placeholder="[&quot;Ford&quot;, &quot;BMW&quot;, &quot;Fiat&quot;]"></div>
3290+ <h4 class="range-block-title justifyLeft">
3291+ <span data-i18n="Start Reply With">
3292+ Start Reply With
3293+ </span>
3294+ </h4>
3295+ <div>
3296+ <div contenteditable="true" id="start_reply_with" rows="2" class="text_pole textarea_compact" data-i18n="[placeholder]AI reply prefix" placeholder="AI reply prefix"></div>
3297+ </div>
3298+ <label class="checkbox_label" for="chat-show-reply-prefix-checkbox">
3299+ <input id="chat-show-reply-prefix-checkbox" type="checkbox" />
3300+ <small data-i18n="Show reply prefix in chat">
3301+ Show reply prefix in chat
3302+ </small>
3303+ </label>
34863304 </div>
3487- <label class="checkbox_label" for="custom_stopping_strings_macro">
3488- <input id="custom_stopping_strings_macro" type="checkbox" checked>
3489- <span data-i18n="Replace Macro in Custom Stopping Strings">
3490- Replace Macro in Custom Stopping Strings
3491- </span>
3492- </label>
34933305 </div>
34943306 </div>
3495- <div data-newbie-hidden>
3307+ </div>
3496- <h4>
3308+ <div id="InstructSequencesColumn" class="flex-container flexNoGap flexFlowColumn flex1">
3497- <span data-i18n="Auto-Continue">Auto-Continue</span>
3309+ <div data-newbie-hidden class="inline-drawer wide100p flexFlowColumn">
3310+ <h4 class="standoutHeader title_restorable">
3311+ <b><span data-i18n="Instruct Mode Sequences">Instruct Sequences</span></b>
34983312 </h4>
34993313 <div class="flex-container">
3500- <label class="checkbox_label" for="auto_continue_enabled">
3314+ <div class="flexAuto" title="Inserted before a System prompt." data-i18n="[title]Inserted before a System prompt.">
35013315 <input id="auto_continue_enabled"label typefor="checkboxinstruct_system_sequence_prefix" />
3502- <span data-i18n="Enabled">
3316+ <small data-i18n="System Prompt Prefix">System Prompt Prefix</small>
3503- Enabled
3317+ </label>
35043318 </spandiv>
3505- </label>
3319+ <div contenteditable="true" id="instruct_system_sequence_prefix" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3506- <label class="checkbox_label" for="auto_continue_allow_chat_completions">
3320+ </div>
3507- <input id="auto_continue_allow_chat_completions" type="checkbox" />
3321+ </div>
3508- <span data-i18n="Allow for Chat Completion APIs">
3322+ <div class="flexAuto" title="Inserted after a System prompt." data-i18n="[title]Inserted after a System prompt.">
3509- Allow for Chat Completion APIs
3323+ <label for="instruct_system_sequence_suffix">
3510- </span>
3324+ <small data-i18n="System Prompt Suffix">System Prompt Suffix</small>
3325+ </label>
3326+ <div>
3327+ <div contenteditable="true" id="instruct_system_sequence_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3328+ </div>
3329+ </div>
3330+ </div>
3331+ <div class="flex-container">
3332+ <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.">
3333+ <small data-i18n="User Prefix">User Message Prefix</small>
3334+ <div contenteditable="true" id="instruct_input_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3335+ </div>
3336+ <div class="flexAuto" title="Inserted after a User message." data-i18n="[title]Inserted after a User message.">
3337+ <small data-i18n="User Suffix">User Message Suffix</small>
3338+ <div contenteditable="true" id="instruct_input_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3339+ </div>
3340+ </div>
3341+ <div class="flex-container">
3342+ <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.">
3343+ <small data-i18n="Assistant Prefix">Assistant Message Prefix</small>
3344+ <div contenteditable="true" id="instruct_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3345+ </div>
3346+ <div class="flexAuto" title="Inserted after an Assistant message." data-i18n="[title]Inserted after an Assistant message.">
3347+ <small data-i18n="Assistant Suffix">Assistant Message Suffix</small>
3348+ <div contenteditable="true" id="instruct_output_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3349+ </div>
3350+ </div>
3351+ <div class="flex-container">
3352+ <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.">
3353+ <small data-i18n="System Prefix">System Message Prefix</small>
3354+ <div contenteditable="true" id="instruct_system_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3355+ </div>
3356+ <div class="flexAuto" id="instruct_system_suffix_block" title="Inserted after a System message." data-i18n="[title]Inserted after a System message.">
3357+ <small data-i18n="System Suffix">System Message Suffix</small>
3358+ <div contenteditable="true" id="instruct_system_suffix" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3359+ </div>
3360+ </div>
3361+ <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.">
3362+ <label class="checkbox_label" for="instruct_system_same_as_user">
3363+ <input id="instruct_system_same_as_user" type="checkbox" />
3364+ <small data-i18n="System same as User">System same as User</small>
35113365 </label>
35123366 </div>
35133367
35143368 <divh5 class="auto_continue_settings_blocktextAlignCenter" data-i18n="Misc. Sequences">
3515- <label for="auto_continue_target_length">
3369+ Misc. Sequences
3516- <span data-i18n="Target length (tokens)">Target length (tokens)</span>
3370+ </h5>
3517- <input id="auto_continue_target_length" type="number" class="text_pole textarea_compact" min="0" max="1024" />
3371+ <div class="flex-container">
3518- </label>
3372+ <div class="flexAuto" title="Inserted before the first Assistant's message." data-i18n="[title]Inserted before the first Assistant's message.">
3373+ <small data-i18n="First Assistant Prefix">First Assistant Prefix</small>
3374+ <div contenteditable="true" id="instruct_first_output_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3375+ </div>
3376+ <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">
3377+ <small data-i18n="Last Assistant Prefix">Last Assistant Prefix</small>
3378+ <div contenteditable="true" id="instruct_last_output_sequence" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3379+ </div>
3380+ </div>
3381+ <div class="flex-container">
3382+ <div class="flexAuto" title="Inserted before the first User's message." data-i18n="[title]Inserted before the first User's message.">
3383+ <small data-i18n="First User Prefix">First User Prefix</small>
3384+ <div contenteditable="true" id="instruct_first_input_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3385+ </div>
3386+ <div class="flexAuto" title="Inserted before the last User's message." data-i18n="[title]instruct_last_input_sequence">
3387+
3388+ <small data-i18n="Last User Prefix">Last User Prefix</small>
3389+ <div contenteditable="true" id="instruct_last_input_sequence" class="text_pole wide100p textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3390+ </div>
3391+ </div>
3392+ <div class="flex-container">
3393+ <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.">
3394+ <small data-i18n="System Instruction Prefix">System Instruction Prefix</small>
3395+ <div contenteditable="true" id="instruct_last_system_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3396+ </div>
3397+ <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).">
3398+ <small data-i18n="Stop Sequence">Stop Sequence</small>
3399+ <div contenteditable="true" id="instruct_stop_sequence" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3400+ </div>
35193401 </div>
3402+ <div class="flex-container">
3403+ <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.">
3404+ <small data-i18n="User Filler Message">User Filler Message</small>
3405+ <div contenteditable="true" id="instruct_user_alignment_message" class="text_pole textarea_compact autoSetHeight" maxlength="2000" placeholder="&mdash;" rows="1"></div>
3406+ </div>
3407+ </div>
3408+
35203409 </div>
35213410 </div>
35223411 </div>
35233412 </div>
3413+
35243414 </div>
35253415 <div id="WI-SP-button" class="drawer">
35263416 <div class="drawer-toggle drawer-header">
@@ -4259,69 +4149,104 @@
42594149 </div>
42604150 </div>
42614151 </div>
4262- </div>
4152+ <div data-newbie-hidden nane="AutoContiueBlock" class="inline-drawer wide100p flexFlowColumn">
4263- <div name="AutoCompleteToggle">
4153+ <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.">
4264- <h4 data-i18n="AutoComplete Settings">AutoComplete Settings</h4>
4154+ <b><span data-i18n="Auto-swipe">Auto-Continue</span></b>
4265- <label data-newbie-hidden class="checkbox_label" for="stscript_autocomplete_autoHide">
4155+ <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div>
4266- <input id="stscript_autocomplete_autoHide" type="checkbox" />
4267- <small data-i18n="Automatically hide details">
4268- Automatically hide details
4269- </small>
4270- </label>
4271- <div class="flex-container">
4272- <div class="flex1" title="Determines how entries are found for autocomplete." data-i18n="[title]Determines how entries are found for autocomplete.">
4273- <label for="stscript_matching" data-i18n="Autocomplete Matching"><small>Matching</small></label>
4274- <select id="stscript_matching">
4275- <option data-i18n="Starts with" value="strict">Starts with</option>
4276- <option data-i18n="Includes" value="includes">Includes</option>
4277- <option data-i18n="Fuzzy" value="fuzzy">Fuzzy</option>
4278- </select>
42794156 </div>
4280- <div class="flex1" title="Sets the style of the autocomplete." data-i18n="[title]Sets the style of the autocomplete.">
4157+ <div class="inline-drawer-content">
4281- <label for="stscript_autocomplete_style" data-i18n="Autocomplete Style"><small>Style</small></label>
4158+ <div class="flex-container">
42824159 <divlabel class="flex-container flexFlowRowcheckbox_label" alignItemsBaselinefor="auto_continue_enabled">
42834160 <selectinput id="stscript_autocomplete_styleauto_continue_enabled" type="checkbox" />
42844161 <optionsmall data-i18n="Follow Theme" value="themeEnabled">Follow Theme</option>
4285- <option data-i18n="Dark" value="dark">Dark</option>
4162+ Enabled
4286- <option data-i18n="Light" value="light">Light</option>
4163+ </small>
42874164 </selectlabel>
4288- <!-- <div class="menu_button fa-solid fa-pen-to-square" title="Customize colors"></div> -->
4165+ <label class="checkbox_label" for="auto_continue_allow_chat_completions">
4166+ <input id="auto_continue_allow_chat_completions" type="checkbox" />
4167+ <small data-i18n="Allow for Chat Completion APIs">
4168+ Allow for Chat Completion APIs
4169+ </small>
4170+ </label>
4171+ </div>
4172+ <div class="auto_continue_settings_block">
4173+ <label for="auto_continue_target_length">
4174+ <small data-i18n="Target length (tokens)">Target length (tokens)</small>
4175+ <input id="auto_continue_target_length" type="number" class="text_pole textarea_compact" min="0" max="1024" />
4176+ </label>
42894177 </div>
42904178 </div>
4179+
4180+
42914181 </div>
4292- <div title="Determines which keys select an item from the AutoComplete suggestions">
4182+ </div>
4293- <label data-i18n="Keyboard">
4183+ <div name="AutoCompleteToggle" class="inline-drawer wide100p flexFlowColumn">
4294- <small>Keyboard:</small>
4184+ <div class="inline-drawer-toggle inline-drawer-header userSettingsInnerExpandable" title="Options for the various autocompelte input boxes.">
4295- </label>
4185+ <b><span data-i18n="AutoComplete Settings">AutoComplete Settings</span></b>
4296- <select id="stscript_autocomplete_select">
4186+ <div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div>
4297- <option value="3" data-i18n="Select with Tab or Enter">Select with Tab or Enter</option>
4298- <option value="1" data-i18n="Select with Tab">Select with Tab</option>
4299- <option value="2" data-i18n="Select with Enter">Select with Enter</option>
4300- </select>
4301- </div>
4302- <div class="flex-container flexFlowColumn gap0" title="Sets the font size of the autocomplete." data-i18n="[title]Sets the font size of the autocomplete.">
4303- <label for="stscript_autocomplete_font_scale"><small>Font Scale</small></label>
4304- <input class="neo-range-slider" type="range" id="stscript_autocomplete_font_scale" min="0.5" max="2" step="0.01">
4305- <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">
43064187 </div>
4307- <div title="Sets the width of the autocomplete." data-i18n="[title]Sets the width of the autocomplete.">
4188+ <div class="inline-drawer-content">
4308- <label for="stscript_autocomplete_width" data-i18n="Autocomplete Width"><small>Width</small></label>
4189+ <label data-newbie-hidden class="checkbox_label" for="stscript_autocomplete_autoHide">
4309- <div class="doubleRangeContainer">
4190+ <input id="stscript_autocomplete_autoHide" type="checkbox" />
43104191 <divsmall classdata-i18n="doubleRangeInputContainerAutomatically hide details">
4311- <input type="range" id="stscript_autocomplete_width_left" min="0" max="2" step="1">
4192+ Automatically hide details
4312- <datalist id="stscript_autocomplete_width_left_values">
4193+ </small>
4313- <option value="0" label="input" title="chat input box" data-i18n="[title]chat input box"></option>
4194+ </label>
4314- <option value="1" label="chat" title="entire chat width" data-i18n="[title]entire chat width"></option>
4195+ <div class="flex-container">
43154196 <option value="2"div labelclass="fullflex1" title="fullDetermines windowhow widthentries are found for autocomplete." data-i18n="[title]fullDetermines windowhow widthentries are found for autocomplete."></option>
4316- </datalist>
4197+ <label for="stscript_matching" data-i18n="Autocomplete Matching"><small>Matching</small></label>
4198+ <select id="stscript_matching">
4199+ <option data-i18n="Starts with" value="strict">Starts with</option>
4200+ <option data-i18n="Includes" value="includes">Includes</option>
4201+ <option data-i18n="Fuzzy" value="fuzzy">Fuzzy</option>
4202+ </select>
43174203 </div>
4318- <div class="doubleRangeInputContainer">
4204+ <div class="flex1" title="Sets the style of the autocomplete." data-i18n="[title]Sets the style of the autocomplete.">
4319- <input type="range" id="stscript_autocomplete_width_right" min="0" max="2" step="1">
4205+ <label for="stscript_autocomplete_style" data-i18n="Autocomplete Style"><small>Style</small></label>
43204206 <datalistdiv idclass="stscript_autocomplete_width_right_valuesflex-container flexFlowRow alignItemsBaseline">
4321- <option value="0" label="input" title="chat input box" data-i18n="[title]chat input box"></option>
4207+ <select id="stscript_autocomplete_style">
4322- <option value="1" label="chat" title="entire chat width" data-i18n="[title]entire chat width"></option>
4208+ <option data-i18n="Follow Theme" value="theme">Follow Theme</option>
4323- <option value="2" label="full" title="full window width" data-i18n="[title]full window width"></option>
4209+ <option data-i18n="Dark" value="dark">Dark</option>
4324- </datalist>
4210+ <option data-i18n="Light" value="light">Light</option>
4211+ </select>
4212+ <!-- <div class="menu_button fa-solid fa-pen-to-square" title="Customize colors"></div> -->
4213+ </div>
4214+ </div>
4215+ </div>
4216+ <div title="Determines which keys select an item from the AutoComplete suggestions">
4217+ <label data-i18n="Keyboard">
4218+ <small>Keyboard:</small>
4219+ </label>
4220+ <select id="stscript_autocomplete_select">
4221+ <option value="3" data-i18n="Select with Tab or Enter">Select with Tab or Enter</option>
4222+ <option value="1" data-i18n="Select with Tab">Select with Tab</option>
4223+ <option value="2" data-i18n="Select with Enter">Select with Enter</option>
4224+ </select>
4225+ </div>
4226+ <div class="flex-container flexFlowColumn gap0" title="Sets the font size of the autocomplete." data-i18n="[title]Sets the font size of the autocomplete.">
4227+ <label for="stscript_autocomplete_font_scale"><small>Font Scale</small></label>
4228+ <input class="neo-range-slider" type="range" id="stscript_autocomplete_font_scale" min="0.5" max="2" step="0.01">
4229+ <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">
4230+ </div>
4231+ <div title="Sets the width of the autocomplete." data-i18n="[title]Sets the width of the autocomplete.">
4232+ <label for="stscript_autocomplete_width" data-i18n="Autocomplete Width"><small>Width</small></label>
4233+ <div class="doubleRangeContainer">
4234+ <div class="doubleRangeInputContainer">
4235+ <input type="range" id="stscript_autocomplete_width_left" min="0" max="2" step="1">
4236+ <datalist id="stscript_autocomplete_width_left_values">
4237+ <option value="0" label="input" title="chat input box" data-i18n="[title]chat input box"></option>
4238+ <option value="1" label="chat" title="entire chat width" data-i18n="[title]entire chat width"></option>
4239+ <option value="2" label="full" title="full window width" data-i18n="[title]full window width"></option>
4240+ </datalist>
4241+ </div>
4242+ <div class="doubleRangeInputContainer">
4243+ <input type="range" id="stscript_autocomplete_width_right" min="0" max="2" step="1">
4244+ <datalist id="stscript_autocomplete_width_right_values">
4245+ <option value="0" label="input" title="chat input box" data-i18n="[title]chat input box"></option>
4246+ <option value="1" label="chat" title="entire chat width" data-i18n="[title]entire chat width"></option>
4247+ <option value="2" label="full" title="full window width" data-i18n="[title]full window width"></option>
4248+ </datalist>
4249+ </div>
43254250 </div>
43264251 </div>
43274252 </div>
@@ -4949,182 +4874,237 @@
49494874 </div>
49504875 </div>
49514876 <!-- various fullscreen popups -->
4952- <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 -->
4877+ <div name="templatesAndPopupsWrapper"> <!--this div is just for IDE sanity for quick collapsing-->
49534878 <dialogdiv id="export_format_popup" class="popuplist-group">
4954- <div class="popup-body">
4879+ <div class="export_format list-group-item" data-format="png">PNG</div>
4955- <div class="popup-content">
4880+ <div class="export_format list-group-item" data-format="json">JSON</div>
4956- <h3 class="popup-header">text</h3>
4881+ </div>
4882+ <div id="zoomed_avatar_template" class="template_element">
4883+ <div class="zoomed_avatar">
4884+ <div class="panelControlBar flex-container">
4885+ <div class="fa-fw fa-solid fa-grip drag-grabber"></div>
4886+ <div class="fa-fw fa-solid fa-circle-xmark dragClose" id="closeZoom"></div>
49574887 </div>
49584888 <div class="popup-crop-wrapzoomed_avatar_container">
4959- <img class="popup-crop-image" src="">
4889+ <img class="zoomed_avatar_img" src="" data-izoomify-url="" data-izoomify-magnify="1.8" data-izoomify-duration="300" alt="">
49604890 </div>
4961- <textarea class="popup-input text_pole result-control" rows="1" data-result="1" data-result-event="submit"></textarea>
4891+ </div>
4962- <div class="popup-inputs"></div>
4892+ </div>
49634893 <divtemplate classid="popup-controlsgeneric_draggable_template">
4964- <div class="popup-button-ok menu_button result-control" data-result="1" data-i18n="Delete">Delete</div>
4894+ <div class="draggable">
4965- <div class="popup-button-cancel menu_button result-control" data-result="0" data-i18n="Cancel">Cancel</div>
4895+ <div class="dragTitle"></div>
4896+ <div class="panelControlBar flex-container">
4897+ <div class="fa-fw fa-solid fa-grip drag-grabber"></div>
4898+ <div class="fa-fw fa-solid fa-circle-xmark dragClose"></div>
49664899 </div>
49674900 </div>
4968- <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>
4901+ </template>
4969- </dialog>
4902+ <div id="user_avatar_template" class="template_element">
4970- </template>
4903+ <div class="avatar-container">
49714904 <div idimgfile="shadow_popup" class="avatar">
4972- <div id="dialogue_popup">
4905+ <img src="" alt="User Avatar">
4973- <div id="dialogue_popup_holder">
4974- <div id="dialogue_popup_text">
4975- <h3 class="margin0">text</h3>
49764906 </div>
4977- <textarea id="dialogue_popup_input" class="text_pole" rows="1"></textarea>
4907+ <div class="flex-container wide100pLess70px character_select_container">
49784908 <div idclass="dialogue_popup_controlswide100p character_name_block">
4979- <div id="dialogue_popup_ok" class="menu_button" data-i18n="Delete" data-result="1">Delete</div>
4909+ <span class="ch_name flex1"></span>
4980- <div id="dialogue_popup_cancel" class="menu_button" data-i18n="Cancel" data-result="0">Cancel</div>
4910+ <div class="avatar-buttons">
4911+ <button class="menu_button bind_user_name" title="Bind user name to that avatar" data-i18n="[title]Bind user name to that avatar">
4912+ <i class="fa-fw fa-solid fa-user-edit"></i>
4913+ </button>
4914+ <button class="menu_button set_persona_image" title="Change persona image" data-i18n="[title]Change persona image">
4915+ <i class="fa-fw fa-solid fa-image"></i>
4916+ </button>
4917+ <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.">
4918+ <i class="fa-fw fa-solid fa-crown"></i>
4919+ </button>
4920+ <button class="menu_button duplicate_persona" title="Duplicate persona" data-i18n="[title]Duplicate persona">
4921+ <i class="fa-fw fa-solid fa-clone"></i>
4922+ </button>
4923+ <button class="menu_button delete_avatar" title="Delete persona" data-i18n="[title]Delete persona">
4924+ <i class="fa-fw fa-solid fa-trash-alt"></i>
4925+ </button>
4926+ </div>
4927+ </div>
4928+ <div class="ch_description"></div>
49814929 </div>
49824930 </div>
49834931 </div>
4984- </div>
4932+ <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 -->
4985- <div id="character_popup" class="flex-container flexFlowColumn flexNoGap">
4933+ <dialog class="popup">
49864934 <div idclass="character_popup_textpopup-body">
4987- <h3 id="character_popup-button-h3" class="margin0"></h3> <span data-i18n="Advanced Defininitions">- Advanced
4935+ <div class="popup-content">
4988- Definitions</span>
4936+ <h3 class="popup-header">text</h3>
49894937 </div>
49904938 <hrdiv class="marginpopup-botcrop-10pxwrap">
4991- <div id="character_cross" class="fa-solid fa-circle-xmark"></div>
4939+ <img class="popup-crop-image" src="">
4992- <div class="inline-drawer">
4940+ </div>
4993- <div class="inline-drawer-toggle inline-drawer-header">
4941+ <textarea class="popup-input text_pole result-control" rows="1" data-result="1" data-result-event="submit"></textarea>
4994- <h4>
4942+ <div class="popup-inputs"></div>
4995- <span data-i18n="Prompt Overrides">Prompt Overrides</span>
4943+ <div class="popup-controls">
4996- <small data-i18n="(For Chat Completion and Instruct Mode)">(For Chat Completion and Instruct Mode)</small>
4944+ <div class="popup-button-ok menu_button result-control" data-result="1" data-i18n="Delete">Delete</div>
4997- </h4>
4945+ <div class="popup-button-cancel menu_button result-control" data-result="0" data-i18n="Cancel">Cancel</div>
4998- <div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
4999- </div>
5000- <div class="inline-drawer-content">
5001- <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>
5002- <div>
5003- <h4 data-i18n="Main Prompt">Main Prompt</h4>
5004- <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.&#10;(v2 spec: system_prompt)" form="form_create" class="text_pole" autocomplete="off" rows="3" maxlength="50000"></textarea>
5005- <div class="extension_token_counter">
5006- <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="system_prompt_textarea">counting...</span>
50074946 </div>
50084947 </div>
5009- <div>
4948+ <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>
5010- <h4 data-i18n="Post-History Instructions">Post-History Instructions</h4>
4949+ </dialog>
5011- <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.&#10;(v2 spec: post_history_instructions)" form="form_create" class="text_pole" autocomplete="off" rows="3" maxlength="50000"></textarea>
4950+ </template>
50124951 <div classid="extension_token_countershadow_popup">
5013- <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="post_history_instructions_textarea">counting...</span>
4952+ <div id="dialogue_popup">
4953+ <div id="dialogue_popup_holder">
4954+ <div id="dialogue_popup_text">
4955+ <h3 class="margin0">text</h3>
4956+ </div>
4957+ <textarea id="dialogue_popup_input" class="text_pole" rows="1"></textarea>
4958+ <div id="dialogue_popup_controls">
4959+ <div id="dialogue_popup_ok" class="menu_button" data-i18n="Delete" data-result="1">Delete</div>
4960+ <div id="dialogue_popup_cancel" class="menu_button" data-i18n="Cancel" data-result="0">Cancel</div>
50144961 </div>
50154962 </div>
50164963 </div>
50174964 </div>
5018- <hr>
4965+ <div id="character_popup" class="flex-container flexFlowColumn flexNoGap">
50194966 <div classid="inline-drawercharacter_popup_text">
5020- <div class="inline-drawer-toggle inline-drawer-header">
4967+ <h3 id="character_popup-button-h3" class="margin0"></h3> <span data-i18n="Advanced Defininitions">- Advanced
5021- <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 -->
4968+ Definitions</span>
5022- <span data-i18n="Creator's Metadata">Creator's Metadata</span>
5023- <small data-i18n="(Not sent with the AI Prompt)">(Not sent with the AI Prompt)</small>
5024- </h4>
5025- <div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
50264969 </div>
50274970 <divhr class="inlinemargin-drawerbot-content10px">
5028- <small data-i18n="Everything here is optional">Everything here is optional</small>
4971+ <div id="character_cross" class="fa-solid fa-circle-xmark"></div>
50294972 <div class="flexinline-container flexnowrapdrawer">
50304973 <div class="flex1inline-drawer-toggle inline-drawer-header">
5031- <h4 data-i18n="Created by">Created by</h4>
4974+ <h4>
5032- <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>
4975+ <span data-i18n="Prompt Overrides">Prompt Overrides</span>
4976+ <small data-i18n="(For Chat Completion and Instruct Mode)">(For Chat Completion and Instruct Mode)</small>
4977+ </h4>
4978+ <div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
4979+ </div>
4980+ <div class="inline-drawer-content">
4981+ <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>
4982+ <div>
4983+ <h4 data-i18n="Main Prompt">Main Prompt</h4>
4984+ <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.&#10;(v2 spec: system_prompt)" form="form_create" class="text_pole" autocomplete="off" rows="3" maxlength="50000"></textarea>
4985+ <div class="extension_token_counter">
4986+ <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="system_prompt_textarea">counting...</span>
4987+ </div>
50334988 </div>
50344989 <div class="flex1">
50354990 <h4 data-i18n="CharacterPost-History VersionInstructions">CharacterPost-History VersionInstructions</h4>
50364991 <textarea id="character_version_textareapost_history_instructions_textarea" name="character_versionpost_history_instructions" data-i18n="[placeholder](IfAny youcontents wanthere towill trackreplace the default Post-History Instructions used for this character. versions(v2 spec: post_history_instructions)" placeholder="(IfAny youcontents wanthere towill trackreplace the default Post-History Instructions used for this character.&#10;(v2 versionsspec: post_history_instructions)" form="form_create" class="text_pole" autocomplete="off" rows="23" maxlength="50050000"></textarea>
4992+ <div class="extension_token_counter">
4993+ <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="post_history_instructions_textarea">counting...</span>
4994+ </div>
50374995 </div>
50384996 </div>
5039- <div class="flex-container flexnowrap">
4997+ </div>
5040- <div class="flex1">
4998+ <hr>
5041- <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>
4999+ <div class="inline-drawer">
5042- <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>
5000+ <div class="inline-drawer-toggle inline-drawer-header">
5001+ <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 -->
5002+ <span data-i18n="Creator's Metadata">Creator's Metadata</span>
5003+ <small data-i18n="(Not sent with the AI Prompt)">(Not sent with the AI Prompt)</small>
5004+ </h4>
5005+ <div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
5006+ </div>
5007+ <div class="inline-drawer-content">
5008+ <small data-i18n="Everything here is optional">Everything here is optional</small>
5009+ <div class="flex-container flexnowrap">
5010+ <div class="flex1">
5011+ <h4 data-i18n="Created by">Created by</h4>
5012+ <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>
5013+ </div>
5014+ <div class="flex1">
5015+ <h4 data-i18n="Character Version">Character Version</h4>
5016+ <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>
5017+ </div>
50435018 </div>
50445019 <div class="flex1flex-container flexnowrap">
5045- <h4 data-i18n="Tags to Embed">Tags to Embed</h4>
5020+ <div class="flex1">
5046- <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>
5021+ <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>
5022+ <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>
5023+ </div>
5024+ <div class="flex1">
5025+ <h4 data-i18n="Tags to Embed">Tags to Embed</h4>
5026+ <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>
5027+ </div>
50475028 </div>
50485029 </div>
50495030 </div>
5050- </div>
5031+ <hr>
5051- <hr>
5032+ <div id="personality_div">
5052- <div id="personality_div">
5053- <h4>
5054- <span data-i18n="Personality summary">Personality summary</span>
5055- <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>
5056- </h4>
5057- <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>
5058- <div class="extension_token_counter">
5059- <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="personality_textarea" data-token-permanent="true">counting...</span>
5060- </div>
5061- </div>
5062- <div id="scenario_div">
5063- <h4>
5064- <span data-i18n="Scenario">Scenario</span>
5065- <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#scenario" class="notes-link" target="_blank">
5066- <span class="fa-solid fa-circle-question note-link-span"></span>
5067- </a>
5068- </h4>
5069- <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>
5070- <div class="extension_token_counter">
5071- <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="scenario_pole" data-token-permanent="true">counting...</span>
5072- </div>
5073- </div>
5074- <div id="depth_prompt_div" class="flex-container">
5075- <div class="flex1">
50765033 <h4>
50775034 <span data-i18n="Character'sPersonality Notesummary">Personality summary</span>
5078- Character's Note
5035+ <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>
5079- </span>
50805036 </h4>
5081- <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>
5037+ <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>
5038+ <div class="extension_token_counter">
5039+ <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="personality_textarea" data-token-permanent="true">counting...</span>
5040+ </div>
50825041 </div>
50835042 <div id="scenario_div">
5084- <h4>
5085- <span data-i18n="@ Depth">
5086- @ Depth
5087- </span>
5088- </h4>
5089- <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" />
50905043 <h4>
50915044 <span data-i18n="RoleScenario">Scenario</span>
5092- Role
5045+ <a href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#scenario" class="notes-link" target="_blank">
5093- </span>
5046+ <span class="fa-solid fa-circle-question note-link-span"></span>
5047+ </a>
50945048 </h4>
5095- <select id="depth_prompt_role" name="depth_prompt_role" form="form_create" class="text_pole textarea_compact m-t-0">
5049+ <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>
5096- <option value="system" data-i18n="System">System</option>
5097- <option value="user" data-i18n="User">User</option>
5098- <option value="assistant" data-i18n="Assistant">Assistant</option>
5099- </select>
51005050 <div class="extension_token_counter">
51015051 <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="depth_prompt_promptscenario_pole" data-token-permanent="true">counting...</span>
51025052 </div>
51035053 </div>
5104- </div>
5054+ <div id="depth_prompt_div" class="flex-container">
51055055 <div idclass="talkativeness_divflex1">
5106- <h4><span data-i18n="Talkativeness">Talkativeness</span></h4>
5056+ <h4>
5107- <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 -->
5057+ <span data-i18n="Character's Note">
5108- <span data-i18n="How often the character speaks in">How often the character speaks in</span>&nbsp;<span class="warning" data-i18n="group chats!">group chats!</span>
5058+ Character's Note
51095059 </h5span>
5110- <input id="talkativeness_slider" name="talkativeness" type="range" min="0" max="1" step="0.05" value="0.5" form="form_create">
5060+ </h4>
5111- <div class="slider_hint">
5061+ <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>
5112- <span data-i18n="Shy">Shy</span>
5062+ </div>
5113- <span data-i18n="Normal">Normal</span>
5063+ <div>
5114- <span data-i18n="Chatty">Chatty</span>
5064+ <h4>
5115- </div>
5065+ <span data-i18n="@ Depth">
5116- </div>
5066+ @ Depth
5117- <hr>
5067+ </span>
5118- <div id="mes_example_div" class="flex-container flexFlowColumn">
5068+ </h4>
5119- <div>
5069+ <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" />
5120- <h4><span data-i18n="Examples of dialogue">Examples of dialogue</span></h4>
5070+ <h4>
5121- <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>
5071+ <span data-i18n="Role">
5072+ Role
5073+ </span>
5074+ </h4>
5075+ <select id="depth_prompt_role" name="depth_prompt_role" form="form_create" class="text_pole textarea_compact m-t-0">
5076+ <option value="system" data-i18n="System">System</option>
5077+ <option value="user" data-i18n="User">User</option>
5078+ <option value="assistant" data-i18n="Assistant">Assistant</option>
5079+ </select>
5080+ <div class="extension_token_counter">
5081+ <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="depth_prompt_prompt" data-token-permanent="true">counting...</span>
5082+ </div>
5083+ </div>
51225084 </div>
5123- <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 &lt;START&gt; on a new line.)" form="form_create" maxlength="50000" rows="6"></textarea>
5085+ <div id="talkativeness_div">
5124- <div class="extension_token_counter">
5086+ <h4><span data-i18n="Talkativeness">Talkativeness</span></h4>
5125- <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="mes_example_textarea">counting...</span>
5087+ <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 -->
5088+ <span data-i18n="How often the character speaks in">How often the character speaks in</span>&nbsp;<span class="warning" data-i18n="group chats!">group chats!</span>
5089+ </h5>
5090+ <input id="talkativeness_slider" name="talkativeness" type="range" min="0" max="1" step="0.05" value="0.5" form="form_create">
5091+ <div class="slider_hint">
5092+ <span data-i18n="Shy">Shy</span>
5093+ <span data-i18n="Normal">Normal</span>
5094+ <span data-i18n="Chatty">Chatty</span>
5095+ </div>
51265096 </div>
5127- <!-- PLACEHOLDER CODE FOR NEW EXAMPLE CHAT HANDLING
5097+ <hr>
5098+ <div id="mes_example_div" class="flex-container flexFlowColumn">
5099+ <div>
5100+ <h4><span data-i18n="Examples of dialogue">Examples of dialogue</span></h4>
5101+ <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>
5102+ </div>
5103+ <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 &lt;START&gt; on a new line.)" form="form_create" maxlength="50000" rows="6"></textarea>
5104+ <div class="extension_token_counter">
5105+ <span data-i18n="extension_token_counter">Tokens:</span> <span data-token-counter="mes_example_textarea">counting...</span>
5106+ </div>
5107+ <!-- PLACEHOLDER CODE FOR NEW EXAMPLE CHAT HANDLING
51285108 <div name="exampleChatsBlockTemplate" class="flex-container flexFlowColumn">
51295109 <div class="flex-container alignitemscenter">
51305110 <textarea class="flexShrink flexGrow wideMinContent" rows="1" placeholder="Name for this example chat"></textarea>
@@ -5154,849 +5134,851 @@
51545134 </div>
51555135 </div>
51565136 -->
5137+ </div>
5138+ <div id="character_popup_ok" class="menu_button" data-i18n="Save">Save</div>
51575139 </div>
5158- <div id="character_popup_ok" class="menu_button" data-i18n="Save">Save</div>
5140+
5159- </div>
5141+ <div id="shadow_select_chat_popup">
51605142 <div id="shadow_select_chat_popupselect_chat_popup">
5161- <div id="select_chat_popup">
5143+ <div name="selectChatPopupHeader" class="flex-container alignitemscenter justifySpaceBetween flexGap10">
5162- <div name="selectChatPopupHeader" class="flex-container alignitemscenter justifySpaceBetween flexGap10">
5144+ <div id="select_chat_import"> <!-- import chat popup header -->
5163- <div id="select_chat_import"> <!-- import chat popup header -->
5145+ <form id="form_import_chat" action="javascript:void(null);" method="post" enctype="multipart/form-data" style="display: none;">
5164- <form id="form_import_chat" action="javascript:void(null);" method="post" enctype="multipart/form-data" style="display: none;">
5146+ <input type="file" id="chat_import_file" accept=".json, .jsonl" name="avatar">
5165- <input type="file" id="chat_import_file" accept=".json, .jsonl" name="avatar">
5147+ <input id="chat_import_file_type" name="file_type" class="text_pole" maxlength="999" size="2" value="" autocomplete="off" style="display: none;">
51665148 <input id="chat_import_file_typechat_import_avatar_url" name="file_typeavatar_url" class="text_pole" maxlength="999" size="2" value="" autocomplete="off" style="display: none;">
51675149 <input id="chat_import_avatar_urlchat_import_character_name" name="avatar_urlcharacter_name" class="text_pole" maxlength="999" size="2" value="" autocomplete="off" style="display: none;">
5168- <input id="chat_import_character_name" name="character_name" class="text_pole" maxlength="999" size="2" value="" autocomplete="off" style="display: none;">
5150+ </form>
51695151 </formdiv>
5170- </div>
5152+ <div id="selectChatPopupHeaderText" class="TxtLrgBoldCenter">
5171- <div id="selectChatPopupHeaderText" class="TxtLrgBoldCenter">
5153+ <span id="ChatHistoryCharName"></span><span data-i18n="Chat History">Chat History</span>
5172- <span id="ChatHistoryCharName"></span><span data-i18n="Chat History">Chat History</span>
5154+ <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>
5173- <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>
5155+ </div>
5174- </div>
5156+ <div id="newChatFromManageScreenButton" class="menu_button menu_button_icon">
5175- <div id="newChatFromManageScreenButton" class="menu_button menu_button_icon">
5157+ <i class="fa-solid fa-plus"></i>
5176- <i class="fa-solid fa-plus"></i>
5158+ <span data-i18n="New Chat">New Chat</span>
5177- <span data-i18n="New Chat">New Chat</span>
5159+ </div>
5160+ <div id="chat_import_button" class="menu_button menu_button_icon">
5161+ <i class="fa-solid fa-file-import"></i>
5162+ <span data-i18n="Import Chat">Import Chat</span>
5163+ </div>
5164+ <input type="text" id="select_chat_search" class="text_pole flex1" data-i18n="[placeholder]Search..." placeholder="Search..." autocomplete="off">
5165+ <div id="select_chat_cross" class="opacity50p hoverglow fa-solid fa-circle-xmark fontsize120p" alt="Close Past Chat Popup"></div>
51785166 </div>
51795167 <div id="chat_import_button" class="menu_button menu_button_iconselect_chat_div"></div>
5180- <i class="fa-solid fa-file-import"></i>
5168+ <div id="load_select_chat_div">
5181- <span data-i18n="Import Chat">Import Chat</span>
5169+ <div class="fa-solid fa-hourglass fa-spin"></div>
51825170 </div>
5183- <input type="text" id="select_chat_search" class="text_pole flex1" data-i18n="[placeholder]Search..." placeholder="Search..." autocomplete="off">
5184- <div id="select_chat_cross" class="opacity50p hoverglow fa-solid fa-circle-xmark fontsize120p" alt="Close Past Chat Popup"></div>
5185- </div>
5186- <div id="select_chat_div"></div>
5187- <div id="load_select_chat_div">
5188- <div class="fa-solid fa-hourglass fa-spin"></div>
51895171 </div>
51905172 </div>
5191- </div>
5173+ <div id="background_template" class="template_element">
51925174 <div idclass="background_templatebg_example flex-container" bgfile="" class="template_elementbg_example_img" title="">
5193- <div class="bg_example flex-container" bgfile="" class="bg_example_img" title="">
5175+ <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>
51945176 <div title="Copy to systemRename backgroundsbackground" data-i18n="[title]Copy to systemRename backgroundsbackground" class="bg_button bg_example_copybg_example_edit fa-solid fa-file-arrow-uppencil"></div>
51955177 <div title="Rename backgroundLock" data-i18n="[title]Rename backgroundLock" class="bg_button bg_example_editbg_example_lock fa-solid fa-pencillock"></div>
51965178 <div title="LockUnlock" data-i18n="[title]LockUnlock" class="bg_button bg_example_lockbg_example_unlock fa-solid fa-lock-open"></div>
51975179 <div title="UnlockDelete background" data-i18n="[title]UnlockDelete background" class="bg_button bg_example_unlockbg_example_cross fa-solid fa-lockcircle-openxmark"></div>
5198- <div title="Delete background" data-i18n="[title]Delete background" class="bg_button bg_example_cross fa-solid fa-circle-xmark"></div>
5180+ <div class="BGSampleTitle">
5199- <div class="BGSampleTitle">
5181+ </div>
52005182 </div>
52015183 </div>
5202- </div>
5184+ <!-- templates for JS to reuse when needed -->
5203- <!-- templates for JS to reuse when needed -->
5185+ <div id="chat_world_template" class="template_element">
5204- <div id="chat_world_template" class="template_element">
5186+ <div class="chat_world range-block flexFlowColumn flex-container">
52055187 <div class="chat_world range-block flexFlowColumn flex-containertitle">
5206- <div class="range-block-title">
5188+ <h4 data-i18n="Chat Lorebook"><!-- This data-i18n attribute is kept for backward compatibility, use the ones below when translating -->
5207- <h4 data-i18n="Chat Lorebook"><!-- This data-i18n attribute is kept for backward compatibility, use the ones below when translating -->
5189+ <span data-i18n="Chat Lorebook for">Chat Lorebook for</span> <span class="chat_name"></span>
5208- <span data-i18n="Chat Lorebook for">Chat Lorebook for</span> <span class="chat_name"></span>
5190+ </h4>
52095191 </h4div>
5210- </div>
5192+ <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px">
5211- <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px">
5193+ <span data-i18n="chat_world_template_txt">
5212- <span data-i18n="chat_world_template_txt">
5194+ A selected World Info will be bound to this chat. When generating an AI reply,
5213- A selected World Info will be bound to this chat. When generating an AI reply,
5195+ it will be combined with the entries from global and character lorebooks.
5214- it will be combined with the entries from global and character lorebooks.
5196+ </span>
52155197 </spandiv>
5216- </div>
5198+ <div class="range-block-range wide100p">
52175199 <divselect class="range-block-rangechat_world_info_selector wide100p">
5218- <select class="chat_world_info_selector wide100p">
5200+ <option value="">--- None ---</option>
5219- <option value="">--- None ---</option>
5201+ </select>
52205202 </selectdiv>
52215203 </div>
52225204 </div>
5223- </div>
5205+ <div id="character_world_template" class="template_element">
5224- <div id="character_world_template" class="template_element">
5206+ <div class="character_world range-block flexFlowColumn flex-container">
52255207 <div class="character_world range-block flexFlowColumn flex-containertitle">
5226- <div class="range-block-title">
5208+ <h3>
5227- <h3>
5209+ <span data-i18n="Select a World Info file for"> Select a World Info file for <span class="character_name"></span></span>:
5228- <span data-i18n="Select a World Info file for"> Select a World Info file for <span class="character_name"></span></span>:
5210+ </h3>
52295211 </h3div>
5230- </div>
5212+ <h4 data-i18n="Primary Lorebook">Primary Lorebook</h4>
5231- <h4 data-i18n="Primary Lorebook">Primary Lorebook</h4>
5213+ <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px">
5232- <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px">
5214+ <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>
52335215 <span data-i18n="AWhen selectedgenerating Worldan InfoAI reply, it will be boundcombined towith thisthe characterentries asfrom itsa ownglobal LorebookWorld Info selector.">AWhen selectedgenerating Worldan InfoAI reply, it will be boundcombined towith thisthe characterentries asfrom itsa ownglobal LorebookWorld Info selector.</span>
52345216 <span data-i18n="When generating an AI reply,Exporting ita willcharacter bewould combinedalso withexport the entriesselected fromLorebook afile globalembedded Worldin Infothe selectorJSON data.">When generating an AI reply,Exporting ita willcharacter bewould combinedalso withexport the entriesselected fromLorebook afile globalembedded Worldin Infothe selectorJSON data.</span>
5235- <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>
5217+ </div>
5236- </div>
5218+ <div class="range-block-range wide100p">
52375219 <divselect class="range-block-rangecharacter_world_info_selector wide100p">
5238- <select class="character_world_info_selector wide100p">
5220+ <option value="">--- None ---</option>
5239- <option value="">--- None ---</option>
5221+ </select>
52405222 </selectdiv>
5241- </div>
5223+ <div class="range-block-title">
5242- <div class="range-block-title">
5224+ <h4>
5243- <h4>
5225+ <span data-i18n="Additional Lorebooks">Additional Lorebooks</span>
5244- <span data-i18n="Additional Lorebooks">Additional Lorebooks</span>
5226+ </h4>
52455227 </h4div>
5246- </div>
5228+ <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px">
5247- <div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px">
5229+ <span data-i18n="Associate one or more auxillary Lorebooks with this character.">Associate one or more auxillary Lorebooks with this character.</span><br>
52485230 <span data-i18n="AssociateNOTE: oneThese orchoices moreare auxillaryoptional Lorebooksand withwon't thisbe preserved on character. export!">AssociateNOTE: oneThese orchoices moreare auxillaryoptional Lorebooksand withwon't thisbe preserved on character. export!</span><br>
5249- <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>
5231+ </div>
5250- </div>
5232+ <div class="range-block-range wide100p">
52515233 <divselect class="range-block-rangecharacter_extra_world_info_selector wide100p" multiple>
5252- <select class="character_extra_world_info_selector wide100p" multiple>
5234+ <option value="" data-i18n="-- World Info not found --">-- World Info not found --</option>
5253- <option value="" data-i18n="-- World Info not found --">-- World Info not found --</option>
5235+ </select>
52545236 </selectdiv>
52555237 </div>
52565238 </div>
5257- </div>
5239+ <div id="past_chat_template" class="template_element">
52585240 <div id="past_chat_template" class="template_elementselect_chat_block_wrapper flex-container">
52595241 <div class="select_chat_block_wrapperselect_chat_block wide100p flex-container" file_name="">
52605242 <div classid="select_chat_block wide100pselect_chat_name_wrapper" class="flex-container" file_name="alignitemscenter justifySpaceBetween wide100p">
5261- <div id="select_chat_name_wrapper" class="flex-container alignitemscenter justifySpaceBetween wide100p">
5243+ <div>
5262- <div>
5244+ <small class="select_chat_block_filename select_chat_block_filename_item"></small>
5263- <small class="select_chat_block_filename select_chat_block_filename_item"></small>
5245+ <div title="Rename chat file" class="renameChatButton hoverglow opacity50p fa-solid fa-pencil" data-i18n="[title]Rename chat file"></div>
5264- <div title="Rename chat file" class="renameChatButton hoverglow opacity50p fa-solid fa-pencil" data-i18n="[title]Rename chat file"></div>
5265- </div>
5266- <div class="flex-container gap10px">
5267- <div class="select_chat_info flex-container">
5268- <small class="chat_messages_date select_chat_block_filename_item"></small>
5269- <small class="chat_file_size select_chat_block_filename_item"></small>
5270- <small class="chat_messages_num select_chat_block_filename_item"></small>
52715246 </div>
52725247 <div class="flex-container gap10px">
5273- <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>
5248+ <div class="select_chat_info flex-container">
5274- <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>
5249+ <small class="chat_messages_date select_chat_block_filename_item"></small>
5275- <div title="Delete chat file" file_name="" class="PastChat_cross opacity50p hoverglow fa-solid fa-skull" data-i18n="[title]Delete chat file"></div>
5250+ <small class="chat_file_size select_chat_block_filename_item"></small>
5251+ <small class="chat_messages_num select_chat_block_filename_item"></small>
5252+ </div>
5253+ <div class="flex-container gap10px">
5254+ <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>
5255+ <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>
5256+ <div title="Delete chat file" file_name="" class="PastChat_cross opacity50p hoverglow fa-solid fa-skull" data-i18n="[title]Delete chat file"></div>
5257+ </div>
52765258 </div>
52775259 </div>
5260+ <div class="select_chat_block_mes"></div>
52785261 </div>
5279- <div class="select_chat_block_mes"></div>
52805262 </div>
52815263 </div>
5282- </div>
5264+ <div id="tag_view_template" class="template_element">
52835265 <div id="tag_view_template" class="template_elementtag_view_item">
5284- <div class="tag_view_item">
5266+ <div class="drag-handle" data-i18n="[title]Drag to reorder tag">☰</div>
52855267 <div title="Tag as folder" class="dragtag_as_folder fa-handlesolid fa-folder-open right_menu_button" data-i18n="[title]DragUse totag reorderas tagfolder">☰</div>
5286- <div title="Tag as folder" class="tag_as_folder fa-solid fa-folder-open right_menu_button" data-i18n="[title]Use tag as folder">
5268+ <span class="tag_folder_indicator"></span>
5287- <span class="tag_folder_indicator"></span>
5269+ </div>
5270+ <div class="tag_view_color_picker" data-value="color"></div>
5271+ <div class="tag_view_color_picker" data-value="color2"></div>
5272+ <div class="tag_view_name" contenteditable="true"></div>
5273+ <div class="tag_view_counter"><span class="tag_view_counter_value"></span>&nbsp;entries</div>
5274+ <div title="Delete tag" class="tag_delete fa-solid fa-trash-can right_menu_button" data-i18n="[title]Delete tag"></div>
52885275 </div>
5289- <div class="tag_view_color_picker" data-value="color"></div>
5290- <div class="tag_view_color_picker" data-value="color2"></div>
5291- <div class="tag_view_name" contenteditable="true"></div>
5292- <div class="tag_view_counter"><span class="tag_view_counter_value"></span>&nbsp;entries</div>
5293- <div title="Delete tag" class="tag_delete fa-solid fa-trash-can right_menu_button" data-i18n="[title]Delete tag"></div>
52945276 </div>
5295- </div>
5277+ <div id="entry_edit_template" class="template_element">
52965278 <div id="entry_edit_template" class="template_elementworld_entry">
52975279 <divform class="world_entryworld_entry_form wi-card-entry">
52985280 <formdiv class="world_entry_form wi-cardinline-entrydrawer wide100p">
52995281 <div class="inline-drawer-toggle wide100pinline-drawer-header gap5px padding0">
5300- <div class="inline-drawer-toggle inline-drawer-header gap5px padding0">
5282+ <span class="drag-handle">&#9776;</span>
5301- <span class="drag-handle">&#9776;</span>
5283+ <div class="gap5px world_entry_thin_controls wide100p alignitemscenter">
5302- <div class="gap5px world_entry_thin_controls wide100p alignitemscenter">
5284+ <div class="fa-fw fa-solid fa-circle-chevron-down inline-drawer-icon down"></div>
5303- <div class="fa-fw fa-solid fa-circle-chevron-down inline-drawer-icon down"></div>
5285+ <div class="flex-container alignitemscenter wide100p">
53045286 <div class="WIEntryTitleAndStatus flex-container alignitemscenterflex1 wide100palignitemscenter">
53055287 <div class="WIEntryTitleAndStatus flex-container flex1 alignitemscenter">
5306- <div class="flex-container flex1">
5288+ <textarea class="text_pole" rows="1" name="comment" maxlength="5000" data-i18n="[placeholder]Entry Title/Memo" placeholder="Entry Title/Memo"></textarea>
5307- <textarea class="text_pole" rows="1" name="comment" maxlength="5000" data-i18n="[placeholder]Entry Title/Memo" placeholder="Entry Title/Memo"></textarea>
5289+ </div>
5308- </div>
5290+ <!-- <span class="world_entry_form_position_value"></span> -->
5309- <!-- <span class="world_entry_form_position_value"></span> -->
5291+ <select data-i18n="[title]WI Entry Status:🔵 Constant🟢 Normal🔗 Vectorized❌ Disabled" title="WI Entry Status:&#13;🔵 Constant&#13;🟢 Normal&#13;🔗 Vectorized&#13;❌ Disabled" name="entryStateSelector" class="text_pole widthNatural margin0">
5310- <select data-i18n="[title]WI Entry Status:🔵 Constant🟢 Normal🔗 Vectorized❌ Disabled" title="WI Entry Status:&#13;🔵 Constant&#13;🟢 Normal&#13;🔗 Vectorized&#13;❌ Disabled" name="entryStateSelector" class="text_pole widthNatural margin0">
5292+ <option value="constant" title="Constant" data-i18n="[title]WI_Entry_Status_Constant">🔵</option>
53115293 <option value="constantnormal" title="ConstantNormal" data-i18n="[title]WI_Entry_Status_ConstantWI_Entry_Status_Normal">🔵🟢</option>
53125294 <option value="normalvectorized" title="NormalVectorized" data-i18n="[title]WI_Entry_Status_NormalWI_Entry_Status_Vectorized">🟢🔗</option>
53135295 <option value="vectorizeddisabled" title="VectorizedDisabled" data-i18n="[title]WI_Entry_Status_VectorizedWI_Entry_Status_Disabled">🔗</option>
5314- <option value="disabled" title="Disabled" data-i18n="[title]WI_Entry_Status_Disabled">❌</option>
5315- </select>
5316- </div>
5317- <div class="WIEnteryHeaderControls flex-container">
5318- <div name="PositionBlock" class="world_entry_form_control world_entry_form_radios wi-enter-footer-text">
5319- <label for="position" class="WIEntryHeaderTitleMobile" data-i18n="Position:">Position:</label>
5320- <select name="position" class="text_pole widthNatural margin0" data-i18n="[title]T_Position" title="↑Char: Before Character Definitions&#13;↓Char: After Character Definitions&#13;↑EM: Before Example Messages&#13;↓EM: After Example Messages&#13;↑AN: Before Author's Note&#13;↓AN: After Author's Note&#13;@D ⚙️: at Depth (System)&#13;@D 👤: at Depth (User)&#13;@D 🤖: at Depth (Assistant)">
5321- <option value="0" data-role="" data-i18n="Before Char Defs">
5322- ↑Char
5323- </option>
5324- <option value="1" data-role="" data-i18n="After Char Defs">
5325- ↓Char
5326- </option>
5327- <option value="5" data-role="" data-i18n="Before EM">
5328- ↑EM
5329- </option>
5330- <option value="6" data-role="" data-i18n="After EM">
5331- ↓EM
5332- </option>
5333- <option value="2" data-role="" data-i18n="Before AN">
5334- ↑AN
5335- </option>
5336- <option value="3" data-role="" data-i18n="After AN">
5337- ↓AN
5338- </option>
5339- <option value="4" data-role="0" data-i18n="at Depth System">
5340- @D ⚙️
5341- </option>
5342- <option value="4" data-role="1" data-i18n="at Depth User">
5343- @D 👤
5344- </option>
5345- <option value="4" data-role="2" data-i18n="at Depth AI">
5346- @D 🤖
5347- </option>
53485296 </select>
53495297 </div>
53505298 <div class="world_entry_form_control wi-enter-footer-textWIEnteryHeaderControls flex-container flexNoGap">
5351- <label for="depth" class="WIEntryHeaderTitleMobile" data-i18n="Depth:">Depth:</label>
5299+ <div name="PositionBlock" class="world_entry_form_control world_entry_form_radios wi-enter-footer-text">
5352- <input title="Depth" class="text_pole wideMax100px margin0" type="number" name="depth" data-i18n="[title]Depth" placeholder="" min="0" max="999" />
5300+ <label for="position" class="WIEntryHeaderTitleMobile" data-i18n="Position:">Position:</label>
5353- </div>
5301+ <select name="position" class="text_pole widthNatural margin0" data-i18n="[title]T_Position" title="↑Char: Before Character Definitions&#13;↓Char: After Character Definitions&#13;↑EM: Before Example Messages&#13;↓EM: After Example Messages&#13;↑AN: Before Author's Note&#13;↓AN: After Author's Note&#13;@D ⚙️: at Depth (System)&#13;@D 👤: at Depth (User)&#13;@D 🤖: at Depth (Assistant)">
5354- <div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap">
5302+ <option value="0" data-role="" data-i18n="Before Char Defs">
5355- <label for="order" class="WIEntryHeaderTitleMobile" data-i18n="Order:">Order:</label>
5303+ ↑Char
5356- <input title="Order" data-i18n="[title]Order" class="text_pole wideMax100px margin0" type="number" name="order" placeholder="" min="0" max="999" />
5304+ </option>
5357- </div>
5305+ <option value="1" data-role="" data-i18n="After Char Defs">
5358- <div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap probabilityContainer">
5306+ ↓Char
5359- <label for="order" class="WIEntryHeaderTitleMobile" data-i18n="Trigger %:">Trigger %:</label>
5307+ </option>
5360- <input title="Probability" data-i18n="[title]Probability" class="text_pole wideMax100px margin0" type="number" name="probability" placeholder="" min="0" max="100" />
5308+ <option value="5" data-role="" data-i18n="Before EM">
5361- </div>
5309+ ↑EM
53625310 </divoption>
5363- </div>
5311+ <option value="6" data-role="" data-i18n="After EM">
5364- </div>
5312+ ↓EM
5365- <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>
5313+ </option>
5366- <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>
5314+ <option value="2" data-role="" data-i18n="Before AN">
5367- </div>
5315+ ↑AN
5368- <div class="inline-drawer-content flex-container paddingBottom5px wide100p">
5316+ </option>
5369- <div class="flex-container wide100p alignitemscenter">
5317+ <option value="3" data-role="" data-i18n="After AN">
5370- <div name="keywordsAndLogicBlock" class="flex-container wide100p alignitemscenter">
5318+ ↓AN
5371- <div class="world_entry_form_control flex1">
5319+ </option>
5372- <small class="displayNone">
5320+ <option value="4" data-role="0" data-i18n="at Depth System">
5373- <span data-i18n="Comma separated (required)">
5321+ @D ⚙️
5374- Comma separated (required)
5322+ </option>
5375- </span>
5323+ <option value="4" data-role="1" data-i18n="at Depth User">
5376- </small>
5324+ @D 👤
5377- <small class="textAlignCenter" data-i18n="Primary Keywords">Primary Keywords</small>
5325+ </option>
5378- <select class="keyprimaryselect keyselect select2_multi_sameline" name="key" data-i18n="[placeholder]Keywords or Regexes" placeholder="Keywords or Regexes" multiple="multiple"></select>
5326+ <option value="4" data-role="2" data-i18n="at Depth AI">
5379- <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>
5327+ @D 🤖
5380- <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">
5328+ </option>
5381- ⌨️
5329+ </select>
53825330 </buttondiv>
5383- </div>
5331+ <div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap">
5384- <div class="world_entry_form_control">
5332+ <label for="depth" class="WIEntryHeaderTitleMobile" data-i18n="Depth:">Depth:</label>
5385- <small class="textAlignCenter" data-i18n="Logic">Logic</small>
5333+ <input title="Depth" class="text_pole wideMax100px margin0" type="number" name="depth" data-i18n="[title]Depth" placeholder="" min="0" max="999" />
5386- <select name="entryLogicType" class="text_pole widthFitContent margin0">
5334+ </div>
5387- <option value="0" data-i18n="AND ANY">AND ANY</option>
5335+ <div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap">
53885336 <optionlabel valuefor="3order" class="WIEntryHeaderTitleMobile" data-i18n="AND ALLOrder:">AND ALLOrder:</optionlabel>
5389- <option value="1" data-i18n="NOT ALL">NOT ALL</option>
5337+ <input title="Order" data-i18n="[title]Order" class="text_pole wideMax100px margin0" type="number" name="order" placeholder="" min="0" max="999" />
5390- <option value="2" data-i18n="NOT ANY">NOT ANY</option>
5338+ </div>
5391- </select>
5339+ <div class="world_entry_form_control wi-enter-footer-text flex-container flexNoGap probabilityContainer">
5392- </div>
5340+ <label for="order" class="WIEntryHeaderTitleMobile" data-i18n="Trigger %:">Trigger %:</label>
5393- <div class="world_entry_form_control keysecondary flex1">
5341+ <input title="Probability" data-i18n="[title]Probability" class="text_pole wideMax100px margin0" type="number" name="probability" placeholder="" min="0" max="100" />
5394- <small class="displayNone">
5342+ </div>
5395- <span data-i18n="(ignored if empty)">
5343+ </div>
5396- (ignored if empty)
5397- </span>
5398- </small>
5399- <small class="textAlignCenter" data-i18n="Optional Filter">Optional Filter</small>
5400- <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>
5401- <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>
5402- <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">
5403- ⌨️
5404- </button>
5405- </div>
5406- </div>
5407- <div name="perEntryOverridesBlock" class="flex-container wide100p alignitemscenter">
5408- <div class="world_entry_form_control flex1">
5409- <small class="textAlignCenter" data-i18n="Scan Depth">Scan Depth</small>
5410- <input class="text_pole margin0" name="scanDepth" type="number" placeholder="Use global setting" data-i18n="[placeholder]Use global setting" max="1000">
5411- </div>
5412- <div class="world_entry_form_control flex1">
5413- <small class="textAlignCenter" data-i18n="Case-Sensitive">Case-Sensitive</small>
5414- <select name="caseSensitive" class="text_pole widthNatural margin0">
5415- <option value="null" data-i18n="Use global setting">Use global setting</option>
5416- <option value="true" data-i18n="Yes">Yes</option>
5417- <option value="false" data-i18n="No">No</option>
5418- </select>
5419- </div>
5420- <div class="world_entry_form_control flex1">
5421- <small class="textAlignCenter" data-i18n="Match Whole Words">Match Whole Words</small>
5422- <select name="matchWholeWords" class="text_pole widthNatural margin0">
5423- <option value="null" data-i18n="Use global setting">Use global setting</option>
5424- <option value="true" data-i18n="Yes">Yes</option>
5425- <option value="false" data-i18n="No">No</option>
5426- </select>
5427- </div>
5428- <div class="world_entry_form_control flex1">
5429- <small class="textAlignCenter" data-i18n="Use Group Scoring">Use Group Scoring</small>
5430- <select name="useGroupScoring" class="text_pole widthNatural margin0">
5431- <option value="null" data-i18n="Use global setting">Use global setting</option>
5432- <option value="true" data-i18n="Yes">Yes</option>
5433- <option value="false" data-i18n="No">No</option>
5434- </select>
5435- </div>
5436- <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">
5437- <small class="textAlignCenter" data-i18n="Automation ID">Automation ID</small>
5438- <input class="text_pole margin0" name="automationId" type="text" placeholder="( None )" data-i18n="[placeholder]( None )">
54395344 </div>
54405345 </div>
5441- <div name="contentAndCharFilterBlock" class="world_entry_thin_controls flex2">
5346+ <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>
5442- <div class="world_entry_form_control flex1">
5347+ <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>
5443- <label for="content ">
5348+ </div>
5444- <small>
5349+ <div class="inline-drawer-content flex-container paddingBottom5px wide100p">
54455350 <spandiv class="alignitemscenter flex-container flexnowrap wide100p justifySpaceBetweenalignitemscenter">
54465351 <spandiv data-i18nname="ContentkeywordsAndLogicBlock" class="alignitemscenter flex-container flexNoGapwide100p alignitemscenter">
5447- Content
5352+ <div class="world_entry_form_control flex1">
5448- </span>
5353+ <small class="displayNone">
5449- <span>
5354+ <span data-i18n="Comma separated (required)">
5450- (<span data-i18n="extension_token_counter">Tokens:</span>&nbsp; <span class="world_entry_form_token_counter" data-first-run="true">counting...</span>)&nbsp;
5355+ Comma separated (required)
5451- <span class="world_entry_form_uid_value" data-first-run="true"></span>
5452- </span>
5453- <div>
5454- <label class="checkbox flex-container alignitemscenter flexNoGap">
5455- <input type="checkbox" name="exclude_recursion" />
5456- <span data-i18n="Exclude from recursion">
5457- Non-recursable (this entry will not be activated by another)
5458- </span>
5459- </label>
5460- <label class="checkbox flex-container alignitemscenter flexNoGap">
5461- <input type="checkbox" name="prevent_recursion" />
5462- <span data-i18n="Prevent further recursion (this entry will not activate others)">
5463- Prevent further recursion (this entry will not activate others)
5464- </span>
5465- </label>
5466- <label class="checkbox flex-container alignitemscenter flexNoGap">
5467- <input type="checkbox" name="delay_until_recursion" />
5468- <span data-i18n="Delay until recursion (this entry can only be activated on recursive checking)">
5469- Delay until recursion (this entry can only be activated on recursive checking)
5470- </span>
5471- </label>
5472- </div>
54735356 </span>
54745357 </small>
5358+ <small class="textAlignCenter" data-i18n="Primary Keywords">Primary Keywords</small>
5359+ <select class="keyprimaryselect keyselect select2_multi_sameline" name="key" data-i18n="[placeholder]Keywords or Regexes" placeholder="Keywords or Regexes" multiple="multiple"></select>
5360+ <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>
5361+ <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">
5362+ ⌨️
5363+ </button>
5364+ </div>
5365+ <div class="world_entry_form_control">
5366+ <small class="textAlignCenter" data-i18n="Logic">Logic</small>
5367+ <select name="entryLogicType" class="text_pole widthFitContent margin0">
5368+ <option value="0" data-i18n="AND ANY">AND ANY</option>
5369+ <option value="3" data-i18n="AND ALL">AND ALL</option>
5370+ <option value="1" data-i18n="NOT ALL">NOT ALL</option>
5371+ <option value="2" data-i18n="NOT ANY">NOT ANY</option>
5372+ </select>
5373+ </div>
5374+ <div class="world_entry_form_control keysecondary flex1">
54755375 <small class="displayNone">
54765376 <span data-i18n="What this keyword should mean to the AI,(ignored sentif verbatimempty)">
5477- What this keyword should mean to the AI, sent verbatim
5377+ (ignored if empty)
54785378 </span>
54795379 </small>
5480- </label>
5380+ <small class="textAlignCenter" data-i18n="Optional Filter">Optional Filter</small>
54815381 <textareaselect class="text_pole"keysecondaryselect name="contentkeyselect select2_multi_sameline" rowsname="8keysecondary" data-i18n="[placeholder]What this keyword should meanKeywords toor theRegexes AI,(ignored sentif verbatimempty)" placeholder="What this keyword shouldKeywords meanor toRegexes the(ignored AI,if sentempty)" verbatimmultiple="multiple"></textareaselect>
5382+ <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>
5383+ <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">
5384+ ⌨️
5385+ </button>
5386+ </div>
5387+ </div>
5388+ <div name="perEntryOverridesBlock" class="flex-container wide100p alignitemscenter">
5389+ <div class="world_entry_form_control flex1">
5390+ <small class="textAlignCenter" data-i18n="Scan Depth">Scan Depth</small>
5391+ <input class="text_pole margin0" name="scanDepth" type="number" placeholder="Use global setting" data-i18n="[placeholder]Use global setting" max="1000">
5392+ </div>
5393+ <div class="world_entry_form_control flex1">
5394+ <small class="textAlignCenter" data-i18n="Case-Sensitive">Case-Sensitive</small>
5395+ <select name="caseSensitive" class="text_pole widthNatural margin0">
5396+ <option value="null" data-i18n="Use global setting">Use global setting</option>
5397+ <option value="true" data-i18n="Yes">Yes</option>
5398+ <option value="false" data-i18n="No">No</option>
5399+ </select>
5400+ </div>
5401+ <div class="world_entry_form_control flex1">
5402+ <small class="textAlignCenter" data-i18n="Match Whole Words">Match Whole Words</small>
5403+ <select name="matchWholeWords" class="text_pole widthNatural margin0">
5404+ <option value="null" data-i18n="Use global setting">Use global setting</option>
5405+ <option value="true" data-i18n="Yes">Yes</option>
5406+ <option value="false" data-i18n="No">No</option>
5407+ </select>
5408+ </div>
5409+ <div class="world_entry_form_control flex1">
5410+ <small class="textAlignCenter" data-i18n="Use Group Scoring">Use Group Scoring</small>
5411+ <select name="useGroupScoring" class="text_pole widthNatural margin0">
5412+ <option value="null" data-i18n="Use global setting">Use global setting</option>
5413+ <option value="true" data-i18n="Yes">Yes</option>
5414+ <option value="false" data-i18n="No">No</option>
5415+ </select>
5416+ </div>
5417+ <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">
5418+ <small class="textAlignCenter" data-i18n="Automation ID">Automation ID</small>
5419+ <input class="text_pole margin0" name="automationId" type="text" placeholder="( None )" data-i18n="[placeholder]( None )">
5420+ </div>
54825421 </div>
5483- </div>
5422+ <div name="contentAndCharFilterBlock" class="world_entry_thin_controls flex2">
54845423 <div class="world_entry_thin_controlsworld_entry_form_control commentContainerflex1">
5485- </div>
5424+ <label for="content ">
5486- </div>
5425+ <small>
54875426 <divspan class="alignitemscenter flex-container flexnowrap wide100p flexGap10justifySpaceBetween">
54885427 <divspan data-i18n="Content" class="flex4alignitemscenter flex-container flexFlowColumn flexNoGap">
5489- <div class="flex-container justifySpaceBetween">
5428+ Content
5490- <small for="group">
5429+ </span>
5491- <span data-i18n="Inclusion Group">Inclusion Group</span>
5430+ <span>
5492- <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.&#13;Supports multiple comma-separated groups.&#13;&#13;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">
5431+ (<span data-i18n="extension_token_counter">Tokens:</span>&nbsp; <span class="world_entry_form_token_counter" data-first-run="true">counting...</span>)&nbsp;
54935432 <span class="fa-solid fa-circle-questionworld_entry_form_uid_value" notedata-linkfirst-spanrun="true"></span>
54945433 </aspan>
5495- </small>
5434+ <div>
54965435 <label class="checkbox_label flexNoGapcheckbox marginflex-r5"container for="groupOverridealignitemscenter flexNoGap">
54975436 <input type="checkbox" name="groupOverrideexclude_recursion" />
5498- <span>
5437+ <span data-i18n="Exclude from recursion">
5499- <small title="Prioritize this entry: When checked, this entry is prioritized out of all selections.&#13;If multiple are prioritized, the one with the highest 'Order' is chosen.&#13;" 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.">
5438+ Non-recursable (this entry will not be activated by another)
5500- <span data-i18n="Prioritize">Prioritize</span>
5439+ </span>
5501- <div class="fa-solid fa-circle-info opacity50p"></div>
5440+ </label>
5441+ <label class="checkbox flex-container alignitemscenter flexNoGap">
5442+ <input type="checkbox" name="prevent_recursion" />
5443+ <span data-i18n="Prevent further recursion (this entry will not activate others)">
5444+ Prevent further recursion (this entry will not activate others)
5445+ </span>
5446+ </label>
5447+ <label class="checkbox flex-container alignitemscenter flexNoGap">
5448+ <input type="checkbox" name="delay_until_recursion" />
5449+ <span data-i18n="Delay until recursion (this entry can only be activated on recursive checking)">
5450+ Delay until recursion (this entry can only be activated on recursive checking)
5451+ </span>
5452+ </label>
5453+ </div>
5454+ </span>
55025455 </small>
5503- </span>
5456+ <small class="displayNone">
5504- </label>
5457+ <span data-i18n="What this keyword should mean to the AI, sent verbatim">
5458+ What this keyword should mean to the AI, sent verbatim
5459+ </span>
5460+ </small>
5461+ </label>
5462+ <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>
5463+ </div>
55055464 </div>
55065465 <div class="range-block-rangeworld_entry_thin_controls commentContainer">
5507- <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">
55085466 </div>
55095467 </div>
5510- <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">
5468+ <div class="flex-container wide100p flexGap10">
55115469 <div class="flex4 flex-container justifySpaceBetweenflexFlowColumn marginBot5flexNoGap">
55125470 <smalldiv forclass="groupWeight" dataflex-i18n="Groupcontainer WeightjustifySpaceBetween">
5513- Group Weight
5471+ <small for="group">
5514- </small>
5472+ <span data-i18n="Inclusion Group">Inclusion Group</span>
5515- </div>
5473+ <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.&#13;Supports multiple comma-separated groups.&#13;&#13;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">
5516- <div class="range-block-range">
5474+ <span class="fa-solid fa-circle-question note-link-span"></span>
5517- <input type="number" class="text_pole margin0" name="groupWeight" rows="1" placeholder="100" min="1" max="999999">
5475+ </a>
5476+ </small>
5477+ <label class="checkbox_label flexNoGap margin-r5" for="groupOverride">
5478+ <input type="checkbox" name="groupOverride" />
5479+ <span>
5480+ <small title="Prioritize this entry: When checked, this entry is prioritized out of all selections.&#13;If multiple are prioritized, the one with the highest 'Order' is chosen.&#13;" 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.">
5481+ <span data-i18n="Prioritize">Prioritize</span>
5482+ <div class="fa-solid fa-circle-info opacity50p"></div>
5483+ </small>
5484+ </span>
5485+ </label>
5486+ </div>
5487+ <div class="range-block-range">
5488+ <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">
5489+ </div>
55185490 </div>
5519- </div>
5491+ <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">
5520- <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.">
5492+ <div class="flex-container justifySpaceBetween marginBot5">
5521- <div class="flex-container justifySpaceBetween marginBot5">
5493+ <small for="groupWeight" data-i18n="Group Weight">
5522- <small class="flex-container alignItemsBaseline" for="sticky" data-i18n="Sticky">
5494+ Group Weight
5523- <span data-i18n="Sticky">
5495+ </small>
5524- Sticky
5496+ </div>
5525- </span>
5497+ <div class="range-block-range">
5526- <i class="fa-solid fa-comments fa-xs"></i>
5498+ <input type="number" class="text_pole margin0" name="groupWeight" rows="1" placeholder="100" min="1" max="999999">
55275499 </smalldiv>
55285500 </div>
5529- <div class="range-block-range">
5501+ <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.">
5530- <input class="text_pole margin0" name="sticky" type="number" placeholder="Non-sticky" min="0" max="999999">
5502+ <div class="flex-container justifySpaceBetween marginBot5">
5503+ <small class="flex-container alignItemsBaseline" for="sticky" data-i18n="Sticky">
5504+ <span data-i18n="Sticky">
5505+ Sticky
5506+ </span>
5507+ <i class="fa-solid fa-comments fa-xs"></i>
5508+ </small>
5509+ </div>
5510+ <div class="range-block-range">
5511+ <input class="text_pole margin0" name="sticky" type="number" placeholder="Non-sticky" min="0" max="999999">
5512+ </div>
55315513 </div>
5532- </div>
5514+ <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.">
5533- <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.">
5515+ <div class="flex-container justifySpaceBetween marginBot5">
55345516 <divsmall class="flex-container justifySpaceBetweenalignItemsBaseline" marginBot5for="cooldown" data-i18n="Cooldown">
55355517 <small class="flex-container alignItemsBaseline" for="cooldown"span data-i18n="Cooldown">
5536- <span data-i18n="Cooldown">
5518+ Cooldown
5537- Cooldown
5519+ </span>
5538- </span>
5520+ <i class="fa-solid fa-comments fa-xs"></i>
5539- <i class="fa-solid fa-comments fa-xs"></i>
5521+ </small>
55405522 </smalldiv>
5523+ <div class="range-block-range">
5524+ <input class="text_pole margin0" name="cooldown" type="number" placeholder="No cooldown" min="0" max="999999">
5525+ </div>
55415526 </div>
5542- <div class="range-block-range">
5527+ <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.">
5543- <input class="text_pole margin0" name="cooldown" type="number" placeholder="No cooldown" min="0" max="999999">
5528+ <div class="flex-container justifySpaceBetween marginBot5">
5529+ <small class="flex-container alignItemsBaseline" for="delay" data-i18n="Delay">
5530+ <span data-i18n="Delay">
5531+ Delay
5532+ </span>
5533+ <i class="fa-solid fa-comments fa-xs"></i>
5534+ </small>
5535+ </div>
5536+ <div class="range-block-range">
5537+ <input class="text_pole margin0" name="delay" type="number" placeholder="No delay" min="0" max="999999">
5538+ </div>
55445539 </div>
55455540 </div>
5546- <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.">
5541+ <div class="flex-container wide100p flexGap10">
55475542 <div class="flex4 flex-container justifySpaceBetweenflexFlowColumn marginBot5flexNoGap">
55485543 <smalldiv class="flex-container alignItemsBaseline" for="delay" data-i18n="DelayjustifySpaceBetween">
55495544 <spansmall for="characterFilter" data-i18n="DelayFilter to Character(s)">
5550- Delay
5545+ Filter to Character(s)
55515546 </spansmall>
5552- <i class="fa-solid fa-comments fa-xs"></i>
5547+ <label class="checkbox_label flexNoGap margin-r5" for="character_exclusion">
5553- </small>
5548+ <input type="checkbox" name="character_exclusion" />
5554- </div>
5549+ <span>
5555- <div class="range-block-range">
5550+ <small data-i18n="Character Exclusion">Character Exclusion</small>
5556- <input class="text_pole margin0" name="delay" type="number" placeholder="No delay" min="0" max="999999">
5551+ </span>
5552+ </label>
5553+ </div>
5554+ <div class="range-block-range">
5555+ <select name="characterFilter" class="select2_multi_sameline" multiple>
5556+ <option value="">
5557+ <span data-i18n="-- Characters not found --">-- Characters not found --</span>
5558+ </option>
5559+ </select>
5560+ </div>
55575561 </div>
55585562 </div>
5559- </div>
5563+ <div name="WIEntryBottomControls" class="flex-container flex1 justifySpaceBetween world_entry_form_horizontal">
55605564 <div class="flex-container wide100pflexFlowColumn flexGap10flexNoGap wi-enter-footer-text ">
55615565 <divlabel class="flex4checkbox flex-container flexFlowColumn flexNoGap">
5562- <div class="flex-container justifySpaceBetween">
5566+ <input type="checkbox" name="selective" />
5563- <small for="characterFilter" data-i18n="Filter to Character(s)">
5567+ <span data-i18n="Selective">Selective</span>
5564- Filter to Character(s)
5568+ </label>
5565- </small>
5569+ <label class="checkbox flex-container">
55665570 <labelinput classtype="checkbox_label flexNoGap margin-r5checkbox" forname="character_exclusionuseProbability" />
55675571 <inputspan typedata-i18n="checkbox"Use name="character_exclusionProbability">Use Probability</span>
5568- <span>
5572+ </label>
5569- <small data-i18n="Character Exclusion">Character Exclusion</small>
5573+ <label class="checkbox flex-container">
5570- </span>
5574+ <input type="checkbox" name="addMemo">
5575+ <span data-i18n="Add Memo">Add Memo</span>
55715576 </label>
55725577 </div>
5573- <div class="range-block-range">
5574- <select name="characterFilter" class="select2_multi_sameline" multiple>
5575- <option value="">
5576- <span data-i18n="-- Characters not found --">-- Characters not found --</span>
5577- </option>
5578- </select>
5579- </div>
5580- </div>
5581- </div>
5582- <div name="WIEntryBottomControls" class="flex-container flex1 justifySpaceBetween world_entry_form_horizontal">
5583- <div class="flex-container flexFlowColumn flexNoGap wi-enter-footer-text ">
5584- <label class="checkbox flex-container">
5585- <input type="checkbox" name="selective" />
5586- <span data-i18n="Selective">Selective</span>
5587- </label>
5588- <label class="checkbox flex-container">
5589- <input type="checkbox" name="useProbability" />
5590- <span data-i18n="Use Probability">Use Probability</span>
5591- </label>
5592- <label class="checkbox flex-container">
5593- <input type="checkbox" name="addMemo">
5594- <span data-i18n="Add Memo">Add Memo</span>
5595- </label>
55965578 </div>
55975579 </div>
55985580 </div>
55995581 </divform>
5600- </form>
5601- </div>
5602- </div>
5603- <div id="character_template" class="template_element">
5604- <div class="character_select entity_block flex-container wide100p alignitemsflexstart" chid="" id="">
5605- <div class="avatar" title="">
5606- <img src="">
56075582 </div>
5608- <div class="flex-container wide100pLess70px character_select_container">
5583+ </div>
56095584 <div classid="wide100pcharacter_template" character_name_blockclass="template_element">
5610- <span class="ch_name"></span>
5585+ <div class="character_select entity_block flex-container wide100p alignitemsflexstart" chid="" id="">
5611- <small class="ch_additional_info ch_add_placeholder">+++</small>
5586+ <div class="avatar" title="">
56125587 <smallimg classsrc="ch_additional_info character_version"></small>
5613- <small class="ch_additional_info ch_avatar_url"></small>
5588+ </div>
5589+ <div class="flex-container wide100pLess70px character_select_container">
5590+ <div class="wide100p character_name_block">
5591+ <span class="ch_name"></span>
5592+ <small class="ch_additional_info ch_add_placeholder">+++</small>
5593+ <small class="ch_additional_info character_version"></small>
5594+ <small class="ch_additional_info ch_avatar_url"></small>
5595+ </div>
5596+ <i class="ch_fav_icon fa-solid fa-star"></i>
5597+ <input class="ch_fav" value="" hidden />
5598+ <div class="ch_description"></div>
5599+ <div class="tags tags_inline"></div>
56145600 </div>
5615- <i class="ch_fav_icon fa-solid fa-star"></i>
5616- <input class="ch_fav" value="" hidden />
5617- <div class="ch_description"></div>
5618- <div class="tags tags_inline"></div>
56195601 </div>
56205602 </div>
5621- </div>
5603+ <div id="tag_template" class="template_element">
56225604 <divspan id="tag_template" class="template_elementtag">
56235605 <span id="" class="tagtag_name"></span>
56245606 <spani class="tag_namefa-solid fa-circle-xmark tag_remove"></spani>
5625- <i class="fa-solid fa-circle-xmark tag_remove"></i>
5607+ </span>
5626- </span>
5627- </div>
5628- <div id="openai_logit_bias_template" class="template_element">
5629- <div class="openai_logit_bias_form">
5630- <input class="openai_logit_bias_text text_pole" data-i18n="[placeholder]Text or token ids" placeholder="Text or [token ids]" />
5631- <input class="openai_logit_bias_value text_pole" type="number" min="-100" value="0" max="100" />
5632- <i class="menu_button fa-solid fa-xmark openai_logit_bias_remove"></i>
5633- </form>
5634- </div>
5635- </div>
5636- <div id="logit_bias_template" class="template_element">
5637- <div class="logit_bias_form">
5638- <input class="logit_bias_text text_pole" data-i18n="[placeholder]Type here..." placeholder="type here..." />
5639- <input class="logit_bias_value text_pole" type="number" min="-100" value="0" max="100" step="0.01" />
5640- <i class="menu_button fa-solid fa-xmark logit_bias_remove"></i>
56415608 </div>
5642- </div>
5609+ <div id="openai_logit_bias_template" class="template_element">
5643- <div id="completion_prompt_manager_popup" class="drawer-content" style="display:none;">
5610+ <div class="openai_logit_bias_form">
5644- <div id="completion_prompt_manager_popup_inspect">
5611+ <input class="openai_logit_bias_text text_pole" data-i18n="[placeholder]Text or token ids" placeholder="Text or [token ids]" />
5645- <h3>Inspect</h3>
5612+ <input class="openai_logit_bias_value text_pole" type="number" min="-100" value="0" max="100" />
5646- <div class="completion_prompt_manager_popup_entry">
5613+ <i class="menu_button fa-solid fa-xmark openai_logit_bias_remove"></i>
5647- <form class="completion_prompt_manager_popup_entry_form">
5648- <div class="completion_prompt_manager_popup_entry_form_control">
5649- <div class="completion_prompt_manager_popup_header">
5650- <label for="completion_prompt_manager_popup_entry_form_prompt">
5651- <span>Prompt List</span>
5652- </label>
5653- <a id="completion_prompt_manager_popup_close_button" title="close" data-i18n="[title]close" class="fa-solid fa-close menu_button"></a>
5654- </div>
5655- <div class="text_muted">The list of prompts associated with this marker.</div>
5656- <div id="completion_prompt_manager_popup_entry_form_inspect_list"></div>
5657- </div>
56585614 </form>
56595615 </div>
56605616 </div>
56615617 <div id="completion_prompt_manager_popup_editlogit_bias_template" class="template_element">
56625618 <h3div data-i18nclass="prompt_manager_editlogit_bias_form">Edit</h3>
5663- <div class="completion_prompt_manager_popup_entry">
5619+ <input class="logit_bias_text text_pole" data-i18n="[placeholder]Type here..." placeholder="type here..." />
5664- <form class="completion_prompt_manager_popup_entry_form">
5620+ <input class="logit_bias_value text_pole" type="number" min="-100" value="0" max="100" step="0.01" />
5665- <div class="flex-container gap10px">
5621+ <i class="menu_button fa-solid fa-xmark logit_bias_remove"></i>
5666- <div class="completion_prompt_manager_popup_entry_form_control flex1">
5622+ </div>
5667- <label for="completion_prompt_manager_popup_entry_form_name">
5623+ </div>
5668- <span data-i18n="prompt_manager_name">Name</span>
5624+ <div id="completion_prompt_manager_popup" class="drawer-content" style="display:none;">
5669- </label>
5625+ <div id="completion_prompt_manager_popup_inspect">
5670- <div class="text_muted" data-i18n="A name for this prompt.">A name for this prompt.</div>
5626+ <h3>Inspect</h3>
5671- <input id="completion_prompt_manager_popup_entry_form_name" class="text_pole" type="text" name="name" />
5627+ <div class="completion_prompt_manager_popup_entry">
5672- </div>
5628+ <form class="completion_prompt_manager_popup_entry_form">
56735629 <div class="completion_prompt_manager_popup_entry_form_control flex1">
56745630 <labeldiv forclass="completion_prompt_manager_popup_entry_form_rolecompletion_prompt_manager_popup_header">
56755631 <spanlabel data-i18nfor="Rolecompletion_prompt_manager_popup_entry_form_prompt">Role</span>
5676- </label>
5632+ <span>Prompt List</span>
5677- <div class="text_muted" data-i18n="To whom this message will be attributed.">To whom this message will be attributed.</div>
5633+ </label>
5678- <select id="completion_prompt_manager_popup_entry_form_role" class="text_pole" name="role">
5634+ <a id="completion_prompt_manager_popup_close_button" title="close" data-i18n="[title]close" class="fa-solid fa-close menu_button"></a>
5679- <option data-i18n="System" value="system">System</option>
5635+ </div>
5680- <option data-i18n="User" value="user">User</option>
5636+ <div class="text_muted">The list of prompts associated with this marker.</div>
5681- <option data-i18n="AI Assistant" value="assistant">AI Assistant</option>
5637+ <div id="completion_prompt_manager_popup_entry_form_inspect_list"></div>
5682- </select>
5683- </div>
5684- </div>
5685- <div class="flex-container gap10px">
5686- <div class="completion_prompt_manager_popup_entry_form_control flex1">
5687- <label for="completion_prompt_manager_popup_entry_form_injection_position">
5688- <span data-i18n="prompt_manager_position">Position</span>
5689- </label>
5690- <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>
5691- <select id="completion_prompt_manager_popup_entry_form_injection_position" class="text_pole" name="injection_position">
5692- <option data-i18n="prompt_manager_relative" value="0">Relative</option>
5693- <option data-i18n="prompt_manager_in_chat" value="1">In-chat</option>
5694- </select>
56955638 </div>
5696- <div id="completion_prompt_manager_depth_block" class="completion_prompt_manager_popup_entry_form_control flex1">
5639+ </form>
5697- <label for="completion_prompt_manager_popup_entry_form_injection_depth">
5640+ </div>
5698- <span data-i18n="prompt_manager_depth">Depth</span>
5641+ </div>
5699- </label>
5642+ <div id="completion_prompt_manager_popup_edit">
5700- <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>
5643+ <h3 data-i18n="prompt_manager_edit">Edit</h3>
5701- <input id="completion_prompt_manager_popup_entry_form_injection_depth" class="text_pole" type="number" name="injection_depth" min="0" max="999" value="4" />
5644+ <div class="completion_prompt_manager_popup_entry">
5645+ <form class="completion_prompt_manager_popup_entry_form">
5646+ <div class="flex-container gap10px">
5647+ <div class="completion_prompt_manager_popup_entry_form_control flex1">
5648+ <label for="completion_prompt_manager_popup_entry_form_name">
5649+ <span data-i18n="prompt_manager_name">Name</span>
5650+ </label>
5651+ <div class="text_muted" data-i18n="A name for this prompt.">A name for this prompt.</div>
5652+ <input id="completion_prompt_manager_popup_entry_form_name" class="text_pole" type="text" name="name" />
5653+ </div>
5654+ <div class="completion_prompt_manager_popup_entry_form_control flex1">
5655+ <label for="completion_prompt_manager_popup_entry_form_role">
5656+ <span data-i18n="Role">Role</span>
5657+ </label>
5658+ <div class="text_muted" data-i18n="To whom this message will be attributed.">To whom this message will be attributed.</div>
5659+ <select id="completion_prompt_manager_popup_entry_form_role" class="text_pole" name="role">
5660+ <option data-i18n="System" value="system">System</option>
5661+ <option data-i18n="User" value="user">User</option>
5662+ <option data-i18n="AI Assistant" value="assistant">AI Assistant</option>
5663+ </select>
5664+ </div>
57025665 </div>
5703- </div>
5666+ <div class="flex-container gap10px">
57045667 <div class="completion_prompt_manager_popup_entry_form_control flex1">
57055668 <divlabel classfor="flex-container alignItemsCentercompletion_prompt_manager_popup_entry_form_injection_position">
5706- <div class="flex1">
5669+ <span data-i18n="prompt_manager_position">Position</span>
5707- <label for="completion_prompt_manager_popup_entry_form_prompt">
5708- <span data-i18n="Prompt">Prompt</span>
57095670 </label>
57105671 <div class="text_muted" data-i18n="TheInjection promptposition. Relative (to beother sentprompts in prompt manager) or In-chat @ Depth.">TheInjection promptposition. Relative (to beother sentprompts in prompt manager) or In-chat @ Depth.</div>
5672+ <select id="completion_prompt_manager_popup_entry_form_injection_position" class="text_pole" name="injection_position">
5673+ <option data-i18n="prompt_manager_relative" value="0">Relative</option>
5674+ <option data-i18n="prompt_manager_in_chat" value="1">In-chat</option>
5675+ </select>
57115676 </div>
57125677 <div id="completion_prompt_manager_forbid_overrides_blockcompletion_prompt_manager_depth_block" class="completion_prompt_manager_popup_entry_form_control flex1">
5713- <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.">
5678+ <label for="completion_prompt_manager_popup_entry_form_injection_depth">
5714- <input type="checkbox" id="completion_prompt_manager_popup_entry_form_forbid_overrides" name="forbid_overrides" />
5679+ <span data-i18n="prompt_manager_depth">Depth</span>
5715- <span data-i18n="prompt_manager_forbid_overrides">Forbid Overrides</span>
57165680 </label>
5681+ <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>
5682+ <input id="completion_prompt_manager_popup_entry_form_injection_depth" class="text_pole" type="number" name="injection_depth" min="0" max="999" value="4" />
57175683 </div>
57185684 </div>
57195685 <textarea id="completion_prompt_manager_popup_entry_form_prompt"div class="text_pole" name="promptcompletion_prompt_manager_popup_entry_form_control">
5686+ <div class="flex-container alignItemsCenter">
5687+ <div class="flex1">
5688+ <label for="completion_prompt_manager_popup_entry_form_prompt">
5689+ <span data-i18n="Prompt">Prompt</span>
5690+ </label>
5691+ <div class="text_muted" data-i18n="The prompt to be sent.">The prompt to be sent.</div>
5692+ </div>
5693+ <div id="completion_prompt_manager_forbid_overrides_block">
5694+ <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.">
5695+ <input type="checkbox" id="completion_prompt_manager_popup_entry_form_forbid_overrides" name="forbid_overrides" />
5696+ <span data-i18n="prompt_manager_forbid_overrides">Forbid Overrides</span>
5697+ </label>
5698+ </div>
5699+ </div>
5700+ <textarea id="completion_prompt_manager_popup_entry_form_prompt" class="text_pole" name="prompt">
57205701 </textarea>
57215702 </div>
57225703 <div class="completion_prompt_manager_popup_entry_form_footer">
57235704 <a id="completion_prompt_manager_popup_entry_form_close" title="close" data-i18n="[title]close" class="fa-solid fa-close menu_button"></a>
57245705 <a id="completion_prompt_manager_popup_entry_form_reset" title="reset" data-i18n="[title]reset" class="fa-solid fa-undo menu_button"></a>
57255706 <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>
57265707 </div>
57275708 </form>
5709+ </div>
57285710 </div>
57295711 </div>
5730- </div>
5712+ <div id="message_template" class="template_element">
5731- <div id="message_template" class="template_element">
5713+ <div class="mes" mesid="" ch_name="" is_user="" is_system="" bookmark_link="">
57325714 <div class="mes" mesid="" ch_name="" is_user="for_checkbox"></div><input is_systemtype="checkbox" bookmark_linkclass="del_checkbox">
5733- <div class="for_checkbox"></div><input type="checkbox" class="del_checkbox">
5715+ <div class="mesAvatarWrapper">
57345716 <div class="mesAvatarWrapperavatar">
57355717 <divimg classsrc="avatar">
5736- <img src="">
5718+ </div>
5719+ <div class="mesIDDisplay"></div>
5720+ <div class="mes_timer"></div>
5721+ <div class="tokenCounterDisplay"></div>
57375722 </div>
57385723 <div class="mesIDDisplayswipe_left fa-solid fa-chevron-left" style="display: none;"></div>
57395724 <div class="mes_timermes_block"></div>
57405725 <div class="tokenCounterDisplaych_name flex-container justifySpaceBetween"></div>
5741- </div>
5726+ <div class="flex-container flex1 alignitemscenter">
5742- <div class="swipe_left fa-solid fa-chevron-left" style="display: none;"></div>
5727+ <div class="flex-container alignItemsBaseline">
57435728 <divspan class="mes_blockname_text">${characterName}</span>
5744- <div class="ch_name flex-container justifySpaceBetween">
5729+ <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>
5745- <div class="flex-container flex1 alignitemscenter">
5730+ <small class="timestamp"></small>
5746- <div class="flex-container alignItemsBaseline">
5731+ </div>
5747- <span class="name_text">${characterName}</span>
5748- <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>
5749- <small class="timestamp"></small>
57505732 </div>
5751- </div>
5733+ <div class="mes_buttons">
5752- <div class="mes_buttons">
5734+ <div title="Message Actions" class="mes_button extraMesButtonsHint fa-solid fa-ellipsis" data-i18n="[title]Message Actions"></div>
5753- <div title="Message Actions" class="mes_button extraMesButtonsHint fa-solid fa-ellipsis" data-i18n="[title]Message Actions"></div>
5735+ <div class="extraMesButtons">
5754- <div class="extraMesButtons">
5736+ <div title="Translate message" class="mes_button mes_translate fa-solid fa-language" data-i18n="[title]Translate message"></div>
57555737 <div title="TranslateGenerate messageImage" class="mes_button mes_translatesd_message_gen fa-solid fa-languagepaintbrush" data-i18n="[title]TranslateGenerate messageImage"></div>
57565738 <div title="Generate ImageNarrate" class="mes_button sd_message_genmes_narrate fa-solid fa-paintbrushbullhorn" data-i18n="[title]Generate ImageNarrate"></div>
57575739 <div title="NarratePrompt" class="mes_button mes_narratemes_prompt fa-solid fa-bullhornsquare-poll-horizontal " data-i18n="[title]NarratePrompt" style="display: none;"></div>
57585740 <div title="PromptExclude message from prompts" class="mes_button mes_promptmes_hide fa-solid fa-square-poll-horizontal eye" data-i18n="[title]Prompt"Exclude style="display:message none;from prompts"></div>
57595741 <div title="ExcludeInclude message fromin prompts" class="mes_button mes_hidemes_unhide fa-solid fa-eye-slash" data-i18n="[title]ExcludeInclude message fromin prompts"></div>
57605742 <div title="IncludeEmbed messagefile inor promptsimage" class="mes_button mes_unhidemes_embed fa-solid fa-eye-slashpaperclip" data-i18n="[title]IncludeEmbed messagefile inor promptsimage"></div>
57615743 <div title="Embed file orCreate imagecheckpoint" class="mes_button mes_embedmes_create_bookmark fa-regular fa-solid fa-paperclipflag-checkered" data-i18n="[title]Embed file orCreate imagecheckpoint"></div>
57625744 <div title="Create checkpointbranch" class="mes_button mes_create_bookmarkmes_create_branch fa-regular fa-solid fa-flagcode-checkeredbranch" data-i18n="[title]Create checkpointBranch"></div>
57635745 <div title="Create branchCopy" class="mes_button mes_create_branchmes_copy fa-regularsolid fa-code-branchcopy " data-i18n="[title]Create BranchCopy"></div>
5764- <div title="Copy" class="mes_button mes_copy fa-solid fa-copy " data-i18n="[title]Copy"></div>
5746+ </div>
5747+ <div title="Open checkpoint chat" class="mes_button mes_bookmark fa-solid fa-flag" data-i18n="[title]Open checkpoint chat"></div>
5748+ <div title="Edit" class="mes_button mes_edit fa-solid fa-pencil " data-i18n="[title]Edit"></div>
57655749 </div>
5766- <div title="Open checkpoint chat" class="mes_button mes_bookmark fa-solid fa-flag" data-i18n="[title]Open checkpoint chat"></div>
5750+ <div class="mes_edit_buttons">
57675751 <div title="Edit" class="mes_button mes_editmes_edit_done menu_button fa-solid fa-pencilcheck" title="Confirm" data-i18n="[title]EditConfirm"></div>
5768- </div>
5752+ <div class="mes_edit_copy menu_button fa-solid fa-copy" title="Copy this message" data-i18n="[title]Copy this message"></div>
5769- <div class="mes_edit_buttons">
5753+ <div class="mes_edit_delete menu_button fa-solid fa-trash-can" title="Delete this message" data-i18n="[title]Delete this message">
5770- <div class="mes_edit_done menu_button fa-solid fa-check" title="Confirm" data-i18n="[title]Confirm"></div>
5754+ </div>
57715755 <div class="mes_edit_copymes_edit_up menu_button fa-solid fa-copychevron-up " title="Copy thisMove message up" data-i18n="[title]Copy thisMove message up"></div>
57725756 <div class="mes_edit_deletemes_edit_down menu_button fa-solid fa-trashchevron-candown" title="Delete thisMove message down" data-i18n="[title]Delete thisMove message down">
5757+ </div>
5758+ <div class="mes_edit_cancel menu_button fa-solid fa-xmark" title="Cancel" data-i18n="[title]Cancel"></div>
57735759 </div>
5774- <div class="mes_edit_up menu_button fa-solid fa-chevron-up " title="Move message up" data-i18n="[title]Move message up"></div>
5760+ </div>
5775- <div class="mes_edit_down menu_button fa-solid fa-chevron-down" title="Move message down" data-i18n="[title]Move message down">
5761+ <div class="mes_text"></div>
5762+ <div class="mes_img_container">
5763+ <div class="mes_img_controls">
5764+ <div title="Enlarge" class="right_menu_button fa-lg fa-solid fa-magnifying-glass mes_img_enlarge" data-i18n="[title]Enlarge"></div>
5765+ <div title="Caption" class="right_menu_button fa-lg fa-solid fa-envelope-open-text mes_img_caption" data-i18n="[title]Caption"></div>
5766+ <div title="Delete" class="right_menu_button fa-lg fa-solid fa-trash-can mes_img_delete" data-i18n="[title]Delete"></div>
57765767 </div>
5777- <div class="mes_edit_cancel menu_button fa-solid fa-xmark" title="Cancel" data-i18n="[title]Cancel"></div>
5768+ <img class="mes_img" src="" />
57785769 </div>
5770+ <div class="mes_bias"></div>
57795771 </div>
5780- <div class="mes_text"></div>
5772+ <div class="swipe_right fa-solid fa-chevron-right" style="display: none;">
57815773 <div class="mes_img_containerswipes-counter"></div>
5782- <div class="mes_img_controls">
5783- <div title="Enlarge" class="right_menu_button fa-lg fa-solid fa-magnifying-glass mes_img_enlarge" data-i18n="[title]Enlarge"></div>
5784- <div title="Caption" class="right_menu_button fa-lg fa-solid fa-envelope-open-text mes_img_caption" data-i18n="[title]Caption"></div>
5785- <div title="Delete" class="right_menu_button fa-lg fa-solid fa-trash-can mes_img_delete" data-i18n="[title]Delete"></div>
5786- </div>
5787- <img class="mes_img" src="" />
57885774 </div>
5789- <div class="mes_bias"></div>
57905775 </div>
5791- <div class="swipe_right fa-solid fa-chevron-right" style="display: none;">
5792- <div class="swipes-counter"></div>
5793- </div>
5794- </div>
5795- </div>
5796- <div id="group_avatars_template" class="template_element">
5797- <div class="avatar avatar_collage collage_1">
5798- <img alt="img1" class="img_1" src="">
5799- </div>
5800- <div class="avatar avatar_collage collage_2">
5801- <img alt="img1" class="img_1" src="">
5802- <img alt="img2" class="img_2" src="">
5803- </div>
5804- <div class="avatar avatar_collage collage_3">
5805- <img alt="img1" class="img_1" src="">
5806- <img alt="img2" class="img_2" src="">
5807- <img alt="img3" class="img_3" src="">
5808- </div>
5809- <div class="avatar avatar_collage collage_4">
5810- <img alt="img1" class="img_1" src="">
5811- <img alt="img2" class="img_2" src="">
5812- <img alt="img3" class="img_3" src="">
5813- <img alt="img4" class="img_4" src="">
58145776 </div>
5815- </div>
5777+ <div id="group_avatars_template" class="template_element">
5816-
5778+ <div class="avatar avatar_collage collage_1">
58175779 <divimg idalt="onboarding_templateimg1" class="template_elementimg_1" src="">
5818- <div class="onboarding">
5819- <h3 data-i18n="Welcome to SillyTavern!">Welcome to SillyTavern!</h3>
5820- <ul class="justifyLeft margin-bot-10px">
5821- <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>
5822- <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>
5823- <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>
5824- </ul>
5825- <div id="onboarding-UI-language-block" class="flex-container alignItemsBaseline">
5826- <span data-i18n="UI Language">Language:</span>
5827- <select id="onboarding_ui_language_select" class="flex1 margin0">
5828- <option value="en">English</option>
5829- </select>
58305780 </div>
5831- <b data-i18n="SillyTavern is aimed at advanced users.">
5781+ <div class="avatar avatar_collage collage_2">
5832- SillyTavern is aimed at advanced users.
5782+ <img alt="img1" class="img_1" src="">
5833- </b>
5783+ <img alt="img2" class="img_2" src="">
5834- <div>
5835- <span data-i18n="If you're new to this, enable the simplified UI mode below.">
5836- If you're new to this, enable the simplified UI mode below.
5837- </span>
5838- <br>
5839- <span data-i18n="Change it later in the 'User Settings' panel.">
5840- Change it later in the 'User Settings' panel.
5841- </span>
58425784 </div>
58435785 <labeldiv class="checkbox_labelavatar avatar_collage collage_3">
58445786 <inputimg typealt="checkboximg1" nameclass="enable_simple_modeimg_1" /src="">
5845- <span data-i18n="Enable simple UI mode">
5787+ <img alt="img2" class="img_2" src="">
5846- Enable simple UI mode
5788+ <img alt="img3" class="img_3" src="">
5847- </span>
5848- </label>
5849- <div class="expander"></div>
5850- <div class="textAlignCenter">
5851- <h3 data-i18n="Looking for AI characters?">
5852- Looking for AI characters?
5853- </h3>
5854- <span>
5855- <span class="menu_button menu_button_icon external_import_button">
5856- <i class="fa-solid fa-cloud-arrow-down"></i>
5857- <span data-i18n="onboarding_import">Import</span>
5858- </span>
5859- <span data-i18n="from supported sources or view">
5860- from supported sources or view
5861- </span>
5862- <span class="open_characters_library menu_button menu_button_icon">
5863- <i class="fa-solid fa-image-portrait"></i>
5864- <span data-i18n="Sample characters">Sample characters</span>
5865- </span>
5866- </span>
58675789 </div>
58685790 <div class="expanderavatar avatar_collage collage_4"></div>
5869- <h3 data-i18n="Your Persona">
5791+ <img alt="img1" class="img_1" src="">
5870- Your Persona
5792+ <img alt="img2" class="img_2" src="">
5871- </h3>
5793+ <img alt="img3" class="img_3" src="">
5872- <div class="justifyLeft margin-bot-10px">
5794+ <img alt="img4" class="img_4" src="">
5873- <span data-i18n="Before you get started, you must select a persona name.">
5874- Before you get started, you must select a persona name.
5875- </span>
5876- <br>
5877- <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>
58785795 </div>
5879- <h4 data-i18n="Persona Name:">Persona Name:</h4>
58805796 </div>
5881- </div>
5797+
58825798 <div id="group_member_templateonboarding_template" class="template_element">
58835799 <div class="group_memberonboarding">
5884- <div class="avatar">
5800+ <h3 data-i18n="Welcome to SillyTavern!">Welcome to SillyTavern!</h3>
5885- <img alt="Avatar" src="" />
5801+ <ul class="justifyLeft margin-bot-10px">
5886- </div>
5802+ <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>
5887- <div class="group_member_name">
5803+ <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>
5888- <div class="ch_name"></div>
5804+ <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>
5889- <div class="tags tags_inline"></div>
5805+ </ul>
5890- </div>
5806+ <div id="onboarding-UI-language-block" class="flex-container alignItemsBaseline">
5891- <input class="ch_fav" value="" hidden />
5807+ <span data-i18n="UI Language">Language:</span>
5892- <div class="queue_position"></div>
5808+ <select id="onboarding_ui_language_select" class="flex1 margin0">
5893- <div class="group_member_icon">
5809+ <option value="en">English</option>
5894- <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>
5810+ </select>
5895- <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>
5811+ </div>
5896- <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>
5812+ <b data-i18n="SillyTavern is aimed at advanced users.">
5897- <div class="flexFlowColumn flex-container">
5813+ SillyTavern is aimed at advanced users.
5898- <div title="Move up" data-action="up" class="right_menu_button fa-solid fa-chevron-up" data-i18n="[title]Move up"></div>
5814+ </b>
5899- <div title="Move down" data-action="down" class="right_menu_button fa-solid fa-chevron-down" data-i18n="[title]Move down"></div>
5815+ <div>
5816+ <span data-i18n="If you're new to this, enable the simplified UI mode below.">
5817+ If you're new to this, enable the simplified UI mode below.
5818+ </span>
5819+ <br>
5820+ <span data-i18n="Change it later in the 'User Settings' panel.">
5821+ Change it later in the 'User Settings' panel.
5822+ </span>
5823+ </div>
5824+ <label class="checkbox_label">
5825+ <input type="checkbox" name="enable_simple_mode" />
5826+ <span data-i18n="Enable simple UI mode">
5827+ Enable simple UI mode
5828+ </span>
5829+ </label>
5830+ <div class="expander"></div>
5831+ <div class="textAlignCenter">
5832+ <h3 data-i18n="Looking for AI characters?">
5833+ Looking for AI characters?
5834+ </h3>
5835+ <span>
5836+ <span class="menu_button menu_button_icon external_import_button">
5837+ <i class="fa-solid fa-cloud-arrow-down"></i>
5838+ <span data-i18n="onboarding_import">Import</span>
5839+ </span>
5840+ <span data-i18n="from supported sources or view">
5841+ from supported sources or view
5842+ </span>
5843+ <span class="open_characters_library menu_button menu_button_icon">
5844+ <i class="fa-solid fa-image-portrait"></i>
5845+ <span data-i18n="Sample characters">Sample characters</span>
5846+ </span>
5847+ </span>
59005848 </div>
5901- <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>
5849+ <div class="expander"></div>
5902- <div title="Remove from group" data-action="remove" class="right_menu_button fa-solid fa-2xl fa-xmark" data-i18n="[title]Remove from group">
5850+ <h3 data-i18n="Your Persona">
5851+ Your Persona
5852+ </h3>
5853+ <div class="justifyLeft margin-bot-10px">
5854+ <span data-i18n="Before you get started, you must select a persona name.">
5855+ Before you get started, you must select a persona name.
5856+ </span>
5857+ <br>
5858+ <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>
59035859 </div>
5904- <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>
5860+ <h4 data-i18n="Persona Name:">Persona Name:</h4>
59055861 </div>
59065862 </div>
5907- </div>
5863+ <div id="group_member_template" class="template_element">
59085864 <div id="group_list_template" class="template_elementgroup_member">
59095865 <div class="group_select entity_block flex-container wide100p alignitemsflexstartavatar">
5910- <div class="avatar">
5866+ <img alt="Avatar" src="" />
5911- <img src="">
5867+ </div>
5912- </div>
5868+ <div class="group_member_name">
5913- <div class="flex-container wide100pLess70px gap5px group_select_container">
5914- <div class="wide100p group_name_block character_name_block">
59155869 <div class="ch_name"></div>
59165870 <smalldiv class="ch_additional_infotags group_select_countertags_inline"></smalldiv>
59175871 </div>
5918- <small class="character_name_block_sub_line">in this group</small>
5919- <i class='group_fav_icon fa-solid fa-star'></i>
59205872 <input class="ch_fav" value="" hidden />
59215873 <div class="group_select_block_list ch_descriptionqueue_position"></div>
59225874 <div class="tags tags_inlinegroup_member_icon"></div>
5875+ <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>
5876+ <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>
5877+ <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>
5878+ <div class="flexFlowColumn flex-container">
5879+ <div title="Move up" data-action="up" class="right_menu_button fa-solid fa-chevron-up" data-i18n="[title]Move up"></div>
5880+ <div title="Move down" data-action="down" class="right_menu_button fa-solid fa-chevron-down" data-i18n="[title]Move down"></div>
5881+ </div>
5882+ <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>
5883+ <div title="Remove from group" data-action="remove" class="right_menu_button fa-solid fa-2xl fa-xmark" data-i18n="[title]Remove from group">
5884+ </div>
5885+ <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>
5886+ </div>
59235887 </div>
59245888 </div>
5925- </div>
5889+ <div id="group_list_template" class="template_element">
5926- <div id="bogus_folder_template" class="template_element">
5890+ <div class="group_select entity_block flex-container wide100p alignitemsflexstart">
59275891 <div class="bogus_folder_select entity_block flex-container wide100p alignitemsflexstartavatar">
5928- <div class="avatar flex alignitemscenter textAlignCenter">
5892+ <img src="">
5929- <i class="bogus_folder_icon fa-solid fa-xl"></i>
5893+ </div>
5930- </div>
5894+ <div class="flex-container wide100pLess70px gap5px group_select_container">
59315895 <div class="flex-containerwide100p wide100pLess70pxgroup_name_block character_select_containercharacter_name_block">
59325896 <div class="wide100p character_name_blockch_name"></div>
59335897 <spansmall class="ch_namech_additional_info group_select_counter"></spansmall>
5934- <small class="ch_additional_info bogus_folder_counter"></small>
5898+ </div>
5899+ <small class="character_name_block_sub_line">in this group</small>
5900+ <i class='group_fav_icon fa-solid fa-star'></i>
5901+ <input class="ch_fav" value="" hidden />
5902+ <div class="group_select_block_list ch_description"></div>
5903+ <div class="tags tags_inline"></div>
59355904 </div>
5936- <small class="character_name_block_sub_line bogus_folder_hidden_counter"></small>
5937- <div class="bogus_folder_avatars_block avatars_inline avatars_inline_small tags tags_inline"></div>
59385905 </div>
59395906 </div>
5940- </div>
5907+ <div id="bogus_folder_template" class="template_element">
5941- <div id="bogus_folder_back_template" class="template_element">
5908+ <div class="bogus_folder_select entity_block flex-container wide100p alignitemsflexstart">
59425909 <div class="bogus_folder_select bogus_folder_select_backavatar flex-container wide100p alignitemsflexstart" id="BogusFolderBack"alignitemscenter tagid="backtextAlignCenter">
5943- <div class="avatar flex alignitemscenter textAlignCenter">
5910+ <i class="bogus_folder_icon fa-solid fa-xl"></i>
5944- <i class="bogus_folder_icon fa-solid fa-xl fa-right-from-bracket fa-flip-horizontal"></i>
5911+ </div>
5945- </div>
5912+ <div class="flex-container wide100pLess70px character_select_container">
59465913 <div class="bogus_folder_back_placeholder flex alignitemscenterwide100p textAlignCentercharacter_name_block">
5947- <i class="bogus_folder_icon fa-solid fa-xl fa-right-from-bracket fa-flip-horizontal"></i>
5914+ <span class="ch_name"></span>
5948- </div>
5915+ <small class="ch_additional_info bogus_folder_counter"></small>
5949- <div class="flex-container wide100pLess70px character_select_container height100p alignitemscenter">
5916+ </div>
59505917 <divsmall class="wide100pcharacter_name_block_sub_line character_name_blockbogus_folder_hidden_counter"></small>
59515918 <spandiv class="ch_namebogus_folder_avatars_block avatars_inline avatars_inline_small tags tags_inline">Go back</spandiv>
59525919 </div>
59535920 </div>
59545921 </div>
5955- </div>
5922+ <div id="bogus_folder_back_template" class="template_element">
59565923 <div class="bogus_folder_select bogus_folder_select_back flex-container wide100p alignitemsflexstart" id="inline_avatar_templateBogusFolderBack" classtagid="template_elementback">
59575924 <div class="avatar inline_avatar flex alignitemscenter textAlignCenter">
5958- <img src="">
5925+ <i class="bogus_folder_icon fa-solid fa-xl fa-right-from-bracket fa-flip-horizontal"></i>
5926+ </div>
5927+ <div class="bogus_folder_back_placeholder flex alignitemscenter textAlignCenter">
5928+ <i class="bogus_folder_icon fa-solid fa-xl fa-right-from-bracket fa-flip-horizontal"></i>
5929+ </div>
5930+ <div class="flex-container wide100pLess70px character_select_container height100p alignitemscenter">
5931+ <div class="wide100p character_name_block">
5932+ <span class="ch_name">Go back</span>
5933+ </div>
5934+ </div>
5935+ </div>
59595936 </div>
5960- </div>
5937+ <div id="inline_avatar_template" class="template_element">
5961- <div id="alternate_greetings_template" class="template_element">
5938+ <div class="avatar inline_avatar flex alignitemscenter textAlignCenter">
5962- <div class="alternate_grettings flexFlowColumn flex-container">
5939+ <img src="">
5963- <div class="title_restorable">
5964- <h3><span data-i18n="Alternate Greetings">Alternate Greetings</span></h3>
5965- <div title="Add" class="menu_button fa-solid fa-plus add_alternate_greeting" data-i18n="[title]Add"></div>
59665940 </div>
5967- <small class="justifyLeft" data-i18n="Alternate_Greetings_desc">
5941+ </div>
5968- These will be displayed as swipes on the first message when starting a new chat.
5942+ <div id="alternate_greetings_template" class="template_element">
5969- Group members can select one of them to initiate the conversation.
5943+ <div class="alternate_grettings flexFlowColumn flex-container">
5970- </small>
5944+ <div class="title_restorable">
5971- <hr>
5945+ <h3><span data-i18n="Alternate Greetings">Alternate Greetings</span></h3>
5972- <div class="alternate_greetings_list flexFlowColumn flex-container wide100p">
5946+ <div title="Add" class="menu_button fa-solid fa-plus add_alternate_greeting" data-i18n="[title]Add"></div>
5973- <strong class="alternate_grettings_hint margin-bot-10px">
5947+ </div>
5974- <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>
5948+ <small class="justifyLeft" data-i18n="Alternate_Greetings_desc">
5975- </strong>
5949+ These will be displayed as swipes on the first message when starting a new chat.
5950+ Group members can select one of them to initiate the conversation.
5951+ </small>
5952+ <hr>
5953+ <div class="alternate_greetings_list flexFlowColumn flex-container wide100p">
5954+ <strong class="alternate_grettings_hint margin-bot-10px">
5955+ <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>
5956+ </strong>
5957+ </div>
59765958 </div>
59775959 </div>
5978- </div>
5960+ <div id="alternate_greeting_form_template" class="template_element">
59795961 <div id="alternate_greeting_form_template" class="template_elementalternate_greeting">
59805962 <div class="alternate_greetingtitle_restorable">
5981- <div class="title_restorable">
5963+ <strong><span data-i18n="Alternate Greeting #">Alternate Greeting #</span><span class="greeting_index"></span></strong>
5982- <strong><span data-i18n="Alternate Greeting #">Alternate Greeting #</span><span class="greeting_index"></span></strong>
5964+ <div class="menu_button fa-solid fa-trash-alt delete_alternate_greeting"></div>
5983- <div class="menu_button fa-solid fa-trash-alt delete_alternate_greeting"></div>
5965+ </div>
5966+ <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>
59845967 </div>
5985- <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>
59865968 </div>
5987- </div>
59885969
59895970 <!-- chat and input bar -->
59905971 <div id="typing_indicator_template" class="template_element">
59915972 <div class="typing_indicator"><span class="typing_indicator_name">CHAR</span> is typing</div>
59925973 </div>
59935974 <div id="message_file_template" class="template_element">
59945975 <div class="mes_file_container">
59955976 <div class="fa-lg fa-solid fa-file-alt mes_file_icon"></div>
59965977 <div class="mes_file_name"></div>
59975978 <div class="mes_file_size"></div>
59985979 <div class="right_menu_button mes_file_open fa-solid fa-magnifying-glass" title="View contents" data-i18n="[title]View contents"></div>
59995980 <div class="right_menu_button mes_file_delete fa-solid fa-trash-can" title="Remove the file" data-i18n="[title]Remove the file"></div>
5981+ </div>
60005982 </div>
60015983 </div>
60025984 <div id="movingDivs">
@@ -6454,60 +6436,7 @@
64546436 </a>
64556437 </div>
64566438 </div>
6457- <div id="export_format_popup" class="list-group">
6439+
6458- <div class="export_format list-group-item" data-format="png">PNG</div>
6459- <div class="export_format list-group-item" data-format="json">JSON</div>
6460- </div>
6461- <div id="zoomed_avatar_template" class="template_element">
6462- <div class="zoomed_avatar">
6463- <div class="panelControlBar flex-container">
6464- <div class="fa-fw fa-solid fa-grip drag-grabber"></div>
6465- <div class="fa-fw fa-solid fa-circle-xmark dragClose" id="closeZoom"></div>
6466- </div>
6467- <div class="zoomed_avatar_container">
6468- <img class="zoomed_avatar_img" src="" data-izoomify-url="" data-izoomify-magnify="1.8" data-izoomify-duration="300" alt="">
6469- </div>
6470- </div>
6471- </div>
6472- <template id="generic_draggable_template">
6473- <div class="draggable">
6474- <div class="dragTitle"></div>
6475- <div class="panelControlBar flex-container">
6476- <div class="fa-fw fa-solid fa-grip drag-grabber"></div>
6477- <div class="fa-fw fa-solid fa-circle-xmark dragClose"></div>
6478- </div>
6479- </div>
6480- </template>
6481- <div id="user_avatar_template" class="template_element">
6482- <div class="avatar-container">
6483- <div imgfile="" class="avatar">
6484- <img src="" alt="User Avatar">
6485- </div>
6486- <div class="flex-container wide100pLess70px character_select_container">
6487- <div class="wide100p character_name_block">
6488- <span class="ch_name flex1"></span>
6489- <div class="avatar-buttons">
6490- <button class="menu_button bind_user_name" title="Bind user name to that avatar" data-i18n="[title]Bind user name to that avatar">
6491- <i class="fa-fw fa-solid fa-user-edit"></i>
6492- </button>
6493- <button class="menu_button set_persona_image" title="Change persona image" data-i18n="[title]Change persona image">
6494- <i class="fa-fw fa-solid fa-image"></i>
6495- </button>
6496- <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.">
6497- <i class="fa-fw fa-solid fa-crown"></i>
6498- </button>
6499- <button class="menu_button duplicate_persona" title="Duplicate persona" data-i18n="[title]Duplicate persona">
6500- <i class="fa-fw fa-solid fa-clone"></i>
6501- </button>
6502- <button class="menu_button delete_avatar" title="Delete persona" data-i18n="[title]Delete persona">
6503- <i class="fa-fw fa-solid fa-trash-alt"></i>
6504- </button>
6505- </div>
6506- </div>
6507- <div class="ch_description"></div>
6508- </div>
6509- </div>
6510- </div>
65116440 <!-- Script includes -->
65126441 <script src="lib/diff_match_patch.js"></script>
65136442 <script src="lib/object-hasown.js"></script>
public/scripts/instruct-mode.js+31 -2
@@ -85,6 +85,12 @@ export function loadInstructMode(data) {
8585
8686 migrateInstructModeSettings(power_user.instruct);
8787
88+ if (power_user.instruct.enabled) {
89+ $('#instruct_enabled').parent().find('i').addClass('toggleEnabled');
90+ } else {
91+ $('#instruct_enabled').parent().find('i').removeClass('toggleEnabled');
92+ }
93+
8894 controls.forEach(control => {
8995 const $element = $(`#${control.id}`);
9096
@@ -606,11 +612,34 @@ jQuery(() => {
606612
607613 $('#instruct_system_same_as_user').on('input', function () {
608614 const state = !!$(this).prop('checked');
609- $('#instruct_system_sequence').prop('disabled', state);
615+ if (state == true) {
610616 let tempHeightForDisabled = $('#instruct_system_suffixinstruct_system_sequence').propcss('disabledheight', state);
617+ $('#instruct_system_sequence_block').addClass('disabled');
618+ $('#instruct_system_suffix_block').addClass('disabled');
619+ $('#instruct_system_sequence').css('height', tempHeightForDisabled);
620+ $('#instruct_system_suffix').css('height', tempHeightForDisabled);
621+
622+ $('#instruct_system_sequence').prop('contenteditable', false);
623+ $('#instruct_system_suffix').prop('contenteditable', false);
624+ } else {
625+ $('#instruct_system_sequence_block').removeClass('disabled');
626+ $('#instruct_system_suffix_block').removeClass('disabled');
627+ $('#instruct_system_sequence').css('height', '');
628+ $('#instruct_system_sequence').css('height', '');
629+ $('#instruct_system_sequence').prop('contenteditable', true);
630+ $('#instruct_system_suffix').prop('contenteditable', true);
631+ }
632+
611633 });
612634
613635 $('#instruct_enabled').on('change', function () {
636+ //color toggle for the main switch
637+ if (power_user.instruct.enabled) {
638+ $('#instruct_enabled').parent().find('i').addClass('toggleEnabled');
639+ } else {
640+ $('#instruct_enabled').parent().find('i').removeClass('toggleEnabled');
641+ }
642+
614643 if (!power_user.instruct.bind_to_context) {
615644 return;
616645 }
public/style.css+29 -16
@@ -1602,6 +1602,7 @@ body[data-stscript-style] .hljs.language-stscript {
16021602 .hljs-pipe {
16031603 color: var(--ac-style-color-punctuation);
16041604 }
1605+
16051606 .hljs-pipebreak {
16061607 color: var(--ac-style-color-type);
16071608 }
@@ -1695,6 +1696,7 @@ body[data-stscript-style] .hljs.language-stscript {
16951696 background-color: var(--ac-color-selectedBackground);
16961697 color: var(--ac-color-selectedText);
16971698 }
1699+
16981700 &.selected.not-selectable>* {
16991701 background-color: var(--ac-color-notSelectableBackground);
17001702 color: var(--ac-color-notSelectableText);
@@ -1776,11 +1778,13 @@ body[data-stscript-style] .hljs.language-stscript {
17761778 padding: 0.25em 0.25em 0.5em 0.25em;
17771779 border-bottom: 1px solid var(--ac-color-border);
17781780
17791781 > .head {
17801782 display: flex;
17811783 gap: 0.5em;
17821784 }
1783- > .head > .name, > .name {
1785+
1786+ >.head>.name,
1787+ >.name {
17841788 flex: 1 1 auto;
17851789 font-weight: bold;
17861790 color: var(--ac-color-text);
@@ -1790,20 +1794,25 @@ body[data-stscript-style] .hljs.language-stscript {
17901794 text-decoration: 1px dotted underline;
17911795 }
17921796 }
1793- > .head > .source {
1797+
1798+ >.head>.source {
17941799 padding: 0 0.5em;
17951800 cursor: help;
17961801 display: flex;
17971802 align-items: center;
17981803 gap: 0.5em;
1804+
17991805 &.isThirdParty.isExtension {
18001806 color: #F89406;
18011807 }
1808+
18021809 &.isCore {
18031810 color: transparent;
1811+
18041812 &.isExtension {
18051813 color: #51A351;
18061814 }
1815+
18071816 &:after {
18081817 content: '';
18091818 order: -1;
@@ -2606,7 +2615,8 @@ select option:not(:checked) {
26062615 color: var(--golden) !important;
26072616}
26082617
26092618.world_set {,
2619+.toggleEnabled {
26102620 color: var(--active) !important;
26112621}
26122622
@@ -5374,6 +5384,7 @@ body:not(.movingUI) .drawer-content.maximized {
53745384.popup:has(.faPicker) {
53755385 /* Fix height for fa picker popup, otherwise search is making it resize weirdly */
53765386 height: 70%;
5387+
53775388 .popup-content {
53785389 display: flex;
53795390 flex-direction: column;
@@ -5383,7 +5394,8 @@ body:not(.movingUI) .drawer-content.maximized {
53835394.faPicker-container {
53845395 display: flex;
53855396 flex-direction: column;
53865397 overflow: hidden;;
5398+ ;
53875399}
53885400
53895401.faQuery-container {
@@ -5393,26 +5405,27 @@ body:not(.movingUI) .drawer-content.maximized {
53935405.faPicker {
53945406 flex: 1 1 auto;
53955407 overflow: auto;
53965408 gap: 1em;
53975409 display: grid;
53985410 grid-template-columns: repeat(auto-fill, minmax(3.5em, 1fr));
53995411
54005412 .menu_button {
54015413 aspect-ratio: 1 / 1;
54025414 font-size: 2em;
54035415 height: 1lh;
54045416 line-height: 1.2;
54055417 padding: 0.25em;
54065418 width: unset;
54075419 box-sizing: content-box;
5420+
54085421 &.hidden {
54095422 display: none;
54105423 }
54115424 }
54125425}
54135426
54145427.faPicker:not(:has(:not(.hidden)))::after {
54155428 content: 'No icons found';
54165429 color: var(--SmartThemeBodyColor);
54175430 opacity: 0.7;
54185431}
5431 \ No newline at end of file