🎨 优化扩展模块,完成ai接入和对话功能
This commit is contained in:
115
data/st-core-scripts/scripts/templates/admin.html
Normal file
115
data/st-core-scripts/scripts/templates/admin.html
Normal file
@@ -0,0 +1,115 @@
|
||||
<div class="adminTabs wide100p">
|
||||
<nav class="adminNav flex-container alignItemsCenter justifyCenter">
|
||||
<button type="button" class="manageUsersButton menu_button menu_button_icon" data-target-tab="usersList">
|
||||
<h4 data-i18n="Manager Users">Manage Users</h4>
|
||||
</button>
|
||||
<button type="button" class="newUserButton menu_button menu_button_icon" data-target-tab="registerNewUserBlock">
|
||||
<h4 data-i18n="New User">New User</h4>
|
||||
</button>
|
||||
</nav>
|
||||
<div class="userAccountTemplate template_element">
|
||||
<div class="flex-container userAccount alignItemsCenter flexGap10">
|
||||
<div class="flex-container flexFlowColumn alignItemsCenter flexNoGap">
|
||||
<div class="avatar" title="If a custom avatar is not set, the user's default persona image will be displayed.">
|
||||
<img src="img/ai4.png" alt="avatar">
|
||||
</div>
|
||||
<div class="flex-container alignItemsCenter">
|
||||
<div class="userAvatarChange right_menu_button" title="Set a custom avatar.">
|
||||
<i class="fa-fw fa-solid fa-image"></i>
|
||||
</div>
|
||||
<div class="userAvatarRemove right_menu_button" title="Remove a custom avatar.">
|
||||
<i class="fa-fw fa-solid fa-trash"></i>
|
||||
</div>
|
||||
</div>
|
||||
<form>
|
||||
<input type="file" class="avatarUpload" accept="image/*" hidden>
|
||||
</form>
|
||||
</div>
|
||||
<div class="flex1 flex-container flexFlowColumn flexNoGap justifyLeft">
|
||||
<div class="flex-container flexGap10 alignItemsCenter">
|
||||
<i class="hasPassword fa-solid fa-lock" title="This account is password protected."></i>
|
||||
<i class="noPassword fa-solid fa-lock-open" title="This account is not password protected."></i>
|
||||
<h3 class="userName margin0"></h3>
|
||||
<small class="userHandle"> </small>
|
||||
</div>
|
||||
<div class="flex-container flexFlowColumn flexNoGap">
|
||||
<span>
|
||||
<span data-i18n="Role:">Role:</span>
|
||||
<span class="userRole"></span>
|
||||
</span>
|
||||
<span>
|
||||
<span data-i18n="Status:">Status:</span>
|
||||
<span class="userStatus"> </span>
|
||||
</span>
|
||||
<span>
|
||||
<span data-i18n="Created:">Created:</span>
|
||||
<span class="userCreated"> </span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-container flexFlowColumn">
|
||||
<div class="flex-container">
|
||||
<div class="userChangeNameButton menu_button" title="Change user display name.">
|
||||
<i class="fa-fw fa-solid fa-pencil"></i>
|
||||
</div>
|
||||
<div class="userEnableButton menu_button" title="Enable user account.">
|
||||
<i class="fa-fw fa-solid fa-check"></i>
|
||||
</div>
|
||||
<div class="userDisableButton menu_button" title="Disable user account.">
|
||||
<i class="fa-fw fa-solid fa-ban"></i>
|
||||
</div>
|
||||
<div class="userPromoteButton menu_button" title="Promote user to admin.">
|
||||
<i class="fa-fw fa-solid fa-arrow-up"></i>
|
||||
</div>
|
||||
<div class="userDemoteButton menu_button" title="Demote user to regular user.">
|
||||
<i class="fa-fw fa-solid fa-arrow-down"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class="userBackupButton menu_button menu_button_icon" title="Download a backup of user data.">
|
||||
<i class="fa-fw fa-solid fa-download"></i>
|
||||
</div>
|
||||
<div class="userChangePasswordButton menu_button" title="Change user password.">
|
||||
<i class="fa-fw fa-solid fa-key"></i>
|
||||
</div>
|
||||
<div class="userDelete menu_button warning" title="Delete user account.">
|
||||
<i class="fa-fw fa-solid fa-trash"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="navTab usersList flex-container flexFlowColumn">
|
||||
</div>
|
||||
<div class="navTab registerNewUserBlock" style="display: none;">
|
||||
<form class="flex-container flexFlowColumn flexGap10 userCreateForm" action="javascript:void(0);">
|
||||
<div class="flex-container flexNoGap">
|
||||
<span data-i18n="Display Name:">Display Name:</span>
|
||||
<span class="warning">*</span>
|
||||
<input name="_name" class="createUserDisplayName text_pole" type="text" placeholder="e.g. John Snow" autocomplete="username">
|
||||
</div>
|
||||
<div class="flex-container flexNoGap">
|
||||
<span data-i18n="User Handle:">User Handle:</span>
|
||||
<span class="warning">*</span>
|
||||
<input name="handle" class="createUserHandle text_pole" placeholder="e.g. john-snow (lowercase letters, numbers, and dashes only)" type="text" pattern="[a-z0-9-]+">
|
||||
</div>
|
||||
<div class="flex-container flexNoGap">
|
||||
<span data-i18n="Password:">Password:</span>
|
||||
<input name="password" class="createUserPassword text_pole" type="password" placeholder="[ No password ]" autocomplete="new-password">
|
||||
</div>
|
||||
<div class="flex-container flexNoGap">
|
||||
<span data-i18n="Confirm Password:">Confirm Password:</span>
|
||||
<input name="confirm" class="createUserConfirmPassword text_pole" type="password" placeholder="[ No password ]" autocomplete="new-password">
|
||||
</div>
|
||||
<span data-i18n="This will create a new subfolder...">
|
||||
This will create a new subfolder in the /data/ directory with the user's handle as the folder name.
|
||||
</span>
|
||||
<div class="flex-container justifyCenter">
|
||||
<button type="submit" class="menu_button menu_button_icon newUserRegisterFinalizeButton">
|
||||
<i class="fa-fw fa-solid fa-user-plus"></i>
|
||||
<span data-i18n="Create">Create</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
13
data/st-core-scripts/scripts/templates/assistantNote.html
Normal file
13
data/st-core-scripts/scripts/templates/assistantNote.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<div data-type="assistant_note">
|
||||
<div class="assistant_note_title">
|
||||
<b data-i18n="Note:">Note:</b> <span data-i18n="this chat is temporary and will be deleted as soon as you leave it.">this chat is temporary and will be deleted as soon as you leave it.</span>
|
||||
</div>
|
||||
<button class="assistant_note_import menu_button menu_button_icon margin0" data-i18n="[title]Import from JSONL" title="Import from JSONL">
|
||||
<i class="fa-solid fa-file-import"></i>
|
||||
<span data-i18n="Load">Load</span>
|
||||
</button>
|
||||
<button class="assistant_note_export menu_button menu_button_icon margin0" data-i18n="[title]Export as JSONL" title="Export as JSONL">
|
||||
<i class="fa-solid fa-file-export"></i>
|
||||
<span data-i18n="Save">Save</span>
|
||||
</button>
|
||||
</div>
|
||||
5
data/st-core-scripts/scripts/templates/changeName.html
Normal file
5
data/st-core-scripts/scripts/templates/changeName.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<div class="flex-container">
|
||||
<h3 data-i18n="Enter a new display name:">
|
||||
Enter a new display name:
|
||||
</h3>
|
||||
</div>
|
||||
14
data/st-core-scripts/scripts/templates/changePassword.html
Normal file
14
data/st-core-scripts/scripts/templates/changePassword.html
Normal file
@@ -0,0 +1,14 @@
|
||||
<form action="javascript:void(0);" class="flex-container flexFlowColumn">
|
||||
<div class="currentPasswordBlock">
|
||||
<label data-i18n="Current Password:" for="user">Current Password:</label>
|
||||
<input type="password" name="current" class="text_pole" placeholder="[ No password ]" autocomplete="current-password">
|
||||
</div>
|
||||
<div class="newPasswordBlock">
|
||||
<label data-i18n="New Password:" for="password">New Password:</label>
|
||||
<input type="password" name="password" class="text_pole" placeholder="[ No password ]" autocomplete="new-password">
|
||||
</div>
|
||||
<div class="confirmPasswordBlock">
|
||||
<label data-i18n="Confirm New Password:" for="confirm">Confirm New Password:</label>
|
||||
<input type="password" name="confirm" class="text_pole" placeholder="[ No password ]" autocomplete="new-password">
|
||||
</div>
|
||||
</form>
|
||||
22
data/st-core-scripts/scripts/templates/charTagImport.html
Normal file
22
data/st-core-scripts/scripts/templates/charTagImport.html
Normal file
@@ -0,0 +1,22 @@
|
||||
<h3><span data-i18n="Import Tags For _begin">Import Tags For </span>{{charName}}<span data-i18n="Import Tags For _end"></span></h3>
|
||||
<div class="import_avatar_placeholder"></div>
|
||||
<div class="import_tags_content justifyLeft">
|
||||
<small data-i18n="Click remove on any tag to remove it from this import.<br />Select one of the import options to finish importing the tags.">
|
||||
Click remove on any tag to remove it from this import.<br />
|
||||
Select one of the import options to finish importing the tags.
|
||||
</small>
|
||||
|
||||
<h4 class="m-t-1" data-i18n="Existing Tags">Existing Tags</h4>
|
||||
<div id="import_existing_tags_list" class="tags" style="min-height: 20px;"></div>
|
||||
|
||||
<h4 class="m-t-1" data-i18n="New Tags">New Tags</h4>
|
||||
<div id="import_new_tags_list" class="tags" style="min-height: 20px;"></div>
|
||||
|
||||
<div id="folder_tags_block" class="m-t-1">
|
||||
<h4 data-i18n="Folder Tags">Folder Tags</h4>
|
||||
<small data-i18n="The following tags will be auto-imported based on the currently selected folders">
|
||||
The following tags will be auto-imported based on the currently selected folders
|
||||
</small>
|
||||
<div id="import_folder_tags_list" class="tags" style="margin-top: 5px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
<!-- I18n data for tools used to auto generate translations -->
|
||||
<div data-i18n="Import None">Import None</div>
|
||||
<div data-i18n="Import All">Import All</div>
|
||||
<div data-i18n="Import Existing">Import Existing</div>
|
||||
<div data-i18n="Import">Import</div>
|
||||
18
data/st-core-scripts/scripts/templates/chatLorebook.html
Normal file
18
data/st-core-scripts/scripts/templates/chatLorebook.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<div class="chat_world range-block flexFlowColumn flex-container">
|
||||
<div class="range-block-title">
|
||||
<h4 data-i18n="Chat Lorebook"><!-- This data-i18n attribute is kept for backward compatibility, use the ones below when translating -->
|
||||
<span data-i18n="Chat Lorebook for">Chat Lorebook for</span> <span class="chat_name"></span>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px">
|
||||
<span data-i18n="chat_world_template_txt">
|
||||
A selected World Info will be bound to this chat. When generating an AI reply,
|
||||
it will be combined with the entries from global and character lorebooks.
|
||||
</span>
|
||||
</div>
|
||||
<div class="range-block-range wide100p">
|
||||
<select class="chat_world_info_selector wide100p">
|
||||
<option value="">--- None ---</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
6
data/st-core-scripts/scripts/templates/chatRename.html
Normal file
6
data/st-core-scripts/scripts/templates/chatRename.html
Normal file
@@ -0,0 +1,6 @@
|
||||
<h3 data-i18n="chat_rename_1">Enter the new name for the chat:</h3>
|
||||
<small>
|
||||
<span data-i18n="chat_rename_2">!!Using an existing filename will produce an error!!</span><br>
|
||||
<span data-i18n="chat_rename_3">This will break the link between checkpoint chats.</span><br>
|
||||
<span data-i18n="chat_rename_4">No need to add '.jsonl' at the end.</span><br>
|
||||
</small>
|
||||
@@ -0,0 +1,8 @@
|
||||
<div>
|
||||
<span class="margin-right-10px" data-i18n="Enter Checkpoint Name:">Enter Checkpoint Name:</span><small data-i18n="(Leave empty to auto-generate)">(Leave empty to auto-generate)</small>
|
||||
</div>
|
||||
{{#if isReplace}}
|
||||
<div class="m-t-1">
|
||||
<small data-i18n="The currently existing checkpoint will be unlinked and replaced with the new checkpoint, but can still be found in the Chat Management.">The currently existing checkpoint will be unlinked and replaced with the new checkpoint, but can still be found in the Chat Management.</small>
|
||||
</div>
|
||||
{{/if}}
|
||||
@@ -0,0 +1,15 @@
|
||||
<div class="flex-container flexFlowColumn height100p">
|
||||
<h3 data-i18n="Additional Parameters">Additional Parameters</h3>
|
||||
<div class="flex1 flex-container flexFlowColumn">
|
||||
<h4 data-i18n="Include Body Parameters">Include Body Parameters</h4>
|
||||
<textarea id="custom_include_body" class="flex1" placeholder="Parameters to be included in the Chat Completion request body (YAML object) Example: top_k: 20 repetition_penalty: 1.1" data-i18n="[placeholder]custom_include_body_desc"></textarea>
|
||||
</div>
|
||||
<div class="flex1 flex-container flexFlowColumn">
|
||||
<h4 data-i18n="Exclude Body Parameters">Exclude Body Parameters</h4>
|
||||
<textarea id="custom_exclude_body" class="flex1" placeholder="Parameters to be excluded from the Chat Completion request body (YAML array) Example: - frequency_penalty - presence_penalty" data-i18n="[placeholder]custom_exclude_body_desc"></textarea>
|
||||
</div>
|
||||
<div class="flex1 flex-container flexFlowColumn">
|
||||
<h4 data-i18n="Include Request Headers">Include Request Headers</h4>
|
||||
<textarea id="custom_include_headers" class="flex1" placeholder="Additional headers for Chat Completion requests (YAML object) Example: CustomHeader: custom-value AnotherHeader: custom-value" data-i18n="[placeholder]custom_include_headers_desc"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
68
data/st-core-scripts/scripts/templates/dataMaidCategory.html
Normal file
68
data/st-core-scripts/scripts/templates/dataMaidCategory.html
Normal file
@@ -0,0 +1,68 @@
|
||||
<div class="dataMaidCategory inline-drawer">
|
||||
<div class="inline-drawer-toggle inline-drawer-header">
|
||||
<div class="dataMaidCategoryHeader">
|
||||
<div class="dataMaidCategoryDetails">
|
||||
<div class="dataMaidCategoryName" data-i18n="{{name}}">
|
||||
{{name}}
|
||||
</div>
|
||||
<small>{{description}}</small>
|
||||
<div class="dataMaidCategoryInfo">
|
||||
<small>
|
||||
<i class="fa-solid fa-file-alt fa-sm"></i>
|
||||
{{totalItems}}
|
||||
</small>
|
||||
<span>∣</span>
|
||||
<small>
|
||||
<i class="fa-solid fa-hdd fa-sm"></i>
|
||||
{{totalSize}}
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dataMaidDeleteAll right_menu_button" title="Delete all items in this category" data-i18n="[title]Delete all items in this category">
|
||||
<i class="fa-solid fa-fw fa-broom"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div>
|
||||
</div>
|
||||
<div class="dataMaidCategoryContent inline-drawer-content">
|
||||
<div class="flex-container">
|
||||
{{#each items}}
|
||||
{{#with this}}
|
||||
<div class="dataMaidItem" data-hash="{{hash}}">
|
||||
<div class="dataMaidItemHeader">
|
||||
<div class="dataMaidItemName">
|
||||
{{#if parent}}
|
||||
<span class="dataMaidItemParent">({{parent}})</span>
|
||||
<span>/</span>
|
||||
{{/if}}
|
||||
<b>{{name}}</b>
|
||||
</div>
|
||||
<div class="dataMaidItemActions">
|
||||
<button class="dataMaidItemView menu_button menu_button_icon margin0" title="View item content" data-i18n="[title]View item content">
|
||||
<i class="fa-solid fa-fw fa-eye"></i>
|
||||
</button>
|
||||
<button class="dataMaidItemDownload menu_button menu_button_icon margin0" title="Download item" data-i18n="[title]Download item">
|
||||
<i class="fa-solid fa-fw fa-download"></i>
|
||||
</button>
|
||||
<button class="dataMaidItemDelete menu_button menu_button_icon margin0" title="Delete this item" data-i18n="[title]Delete this item">
|
||||
<i class="fa-solid fa-fw fa-trash-alt"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dataMaidItemInfo">
|
||||
<small>
|
||||
<i class="fa-solid fa-file fa-sm"></i>
|
||||
{{size}}
|
||||
</small>
|
||||
<span>∣</span>
|
||||
<small>
|
||||
<i class="fa-solid fa-calendar fa-sm"></i>
|
||||
{{date}}
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
{{/with}}
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
25
data/st-core-scripts/scripts/templates/dataMaidDialog.html
Normal file
25
data/st-core-scripts/scripts/templates/dataMaidDialog.html
Normal file
@@ -0,0 +1,25 @@
|
||||
<div class="dataMaidDialog">
|
||||
<div class="dataMaidDialogHeader">
|
||||
<div class="dataMaidHeaderInfo info-block warning margin0">
|
||||
<small data-i18n="Once deleted, the files will be gone forever!">
|
||||
Once deleted, the files will be gone forever!
|
||||
</small>
|
||||
<br>
|
||||
<small data-i18n="Make sure to back up your data in advance.">
|
||||
Make sure to back up your data in advance.
|
||||
</small>
|
||||
</div>
|
||||
<button class="menu_button menu_button_icon dataMaidStartButton">
|
||||
<i class="fa fa-cog"></i>
|
||||
<span data-i18n="Scan">Scan</span>
|
||||
</button>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="dataMaidPlaceholder" data-i18n="No results yet. Tap 'Scan' to start scanning.">
|
||||
No results yet. Tap 'Scan' to start scanning.
|
||||
</div>
|
||||
<div class="displayNone dataMaidSpinner">
|
||||
<i class="fa-solid fa-spinner fa-spin fa-3x"></i>
|
||||
</div>
|
||||
<div class="dataMaidResultsList"></div>
|
||||
</div>
|
||||
27
data/st-core-scripts/scripts/templates/debug.html
Normal file
27
data/st-core-scripts/scripts/templates/debug.html
Normal file
@@ -0,0 +1,27 @@
|
||||
<div>
|
||||
<h3 data-i18n="Debug Menu">Debug Menu</h3>
|
||||
<div data-i18n="Functions in this category are for advanced users only. Don't click anything if you're not sure about the consequences.">
|
||||
Functions in this category are for advanced users only. Don't click anything if you're not sure about the consequences.
|
||||
</div>
|
||||
<table id="debug_table" class="responsiveTable">
|
||||
{{#each functions}}
|
||||
{{#with this}}
|
||||
<tr>
|
||||
<td>
|
||||
<div class="justifyLeft">
|
||||
<b>{{this.name}}</b>
|
||||
</div>
|
||||
<div class="justifyLeft">
|
||||
{{this.description}}
|
||||
</div>
|
||||
<div class="flex-container justifyCenter">
|
||||
<div class="menu_button menu_button_icon" data-debug-function="{{this.functionId}}" data-i18n="Execute">
|
||||
Execute
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{{/with}}
|
||||
{{/each}}
|
||||
</table>
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
<b><span data-i18n="THIS IS PERMANENT!">THIS IS PERMANENT!</span><br><br>
|
||||
<label for="del_char_checkbox" class="checkbox_label justifyCenter">
|
||||
<input type="checkbox" id="del_char_checkbox" />
|
||||
<small data-i18n="Also delete the chat files">Also delete the chat files</small>
|
||||
</label></b>
|
||||
9
data/st-core-scripts/scripts/templates/deleteTag.html
Normal file
9
data/st-core-scripts/scripts/templates/deleteTag.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<h3 data-i18n="Delete Tag">Delete Tag</h3>
|
||||
<div><span data-i18n="Do you want to delete the tag">Do you want to delete the tag</span> <div id="tag_to_delete" class="tags_inline inline-flex margin-r2"></div>?</div>
|
||||
<div class="m-t-2 marginBot5" data-i18n="If you want to merge all references to this tag into another tag, select it below:">If you want to merge all references to this tag into another tag, select it below:</div>
|
||||
<select id="merge_tag_select">
|
||||
<option value="">--- None ---</option>
|
||||
{{#each otherTags}}
|
||||
<option value="{{this.id}}">{{this.name}}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
26
data/st-core-scripts/scripts/templates/deleteUser.html
Normal file
26
data/st-core-scripts/scripts/templates/deleteUser.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<div class="flex-container flexFlowColumn">
|
||||
<h3 data-i18n="Are you sure you want to delete this user?">
|
||||
Are you sure you want to delete this user?
|
||||
</h3>
|
||||
<div>
|
||||
<span data-i18n="Deleting:">Deleting:</span>
|
||||
<strong id="deleteUserName"></strong>
|
||||
</div>
|
||||
<label class="checkbox_label justifyCenter" for="deleteUserData">
|
||||
<input id="deleteUserData" name="deleteUserData" type="checkbox">
|
||||
<span data-i18n="Also wipe user data.">Also wipe user data.</span>
|
||||
</label>
|
||||
<hr>
|
||||
<div>
|
||||
<strong data-i18n="Warning:">Warning:</strong>
|
||||
<span data-i18n="This action is irreversible.">This action is irreversible.</span>
|
||||
</div>
|
||||
<div>
|
||||
<label for="deleteUserHandle">
|
||||
<strong data-i18n="Type the user's handle below to confirm:">
|
||||
Type the user's handle below to confirm:
|
||||
</strong>
|
||||
</label>
|
||||
<input id="deleteUserHandle" name="deleteUserHandle" type="text" class="text_pole" placeholder="[ Type here ]">
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
<div>
|
||||
<h3 data-i18n="Are you sure you want to duplicate this character?">Are you sure you want to duplicate this character?</h3>
|
||||
<span data-i18n="If you just want to start a new chat with the same character...">If you just want to start a new chat with the same character, use "Start new chat" option in the bottom-left options menu.</span>
|
||||
<br>
|
||||
</div>
|
||||
7
data/st-core-scripts/scripts/templates/emptyBlock.html
Normal file
7
data/st-core-scripts/scripts/templates/emptyBlock.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<div class="text_block empty_block">
|
||||
<i class="fa-solid {{icon}} fa-4x"></i>
|
||||
<h1>{{text}}</h1>
|
||||
<p data-i18n="There are no items to display.">
|
||||
There are no items to display.
|
||||
</p>
|
||||
</div>
|
||||
27
data/st-core-scripts/scripts/templates/exportPreset.html
Normal file
27
data/st-core-scripts/scripts/templates/exportPreset.html
Normal file
@@ -0,0 +1,27 @@
|
||||
<div class="flex-container flexFlowColumn marginBot10">
|
||||
<h3 data-i18n="Do you want to export connection data with the preset?">
|
||||
Do you want to export connection data with the preset?
|
||||
</h3>
|
||||
|
||||
<div data-i18n="This includes the selected source, models, and other preferences set in the API Connections panel.">
|
||||
This includes the selected source, models, and other preferences set in the API Connections panel.
|
||||
</div>
|
||||
|
||||
<strong data-i18n="Your stored API keys are never exported.">
|
||||
Your stored API keys are never exported.
|
||||
</strong>
|
||||
</div>
|
||||
<div class="flex-container flexFlowColumn">
|
||||
<label class="checkbox_label" for="export_connection_data_yes">
|
||||
<input type="radio" id="export_connection_data_yes" name="export_connection_data" value="true">
|
||||
<span data-i18n="Export connection data">
|
||||
Export connection data
|
||||
</span>
|
||||
</label>
|
||||
<label class="checkbox_label" for="export_connection_data_no">
|
||||
<input type="radio" id="export_connection_data_no" name="export_connection_data" value="false" checked>
|
||||
<span data-i18n="Do not export connection data">
|
||||
Do not export connection data
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
24
data/st-core-scripts/scripts/templates/forbidMedia.html
Normal file
24
data/st-core-scripts/scripts/templates/forbidMedia.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<div class="forbid_media_override flex-container flexFlowColumn">
|
||||
<h4 data-i18n="Forbid Media Override explanation" class="margin0">
|
||||
Ability of the current character/group to use external media in chats.
|
||||
</h4>
|
||||
<small data-i18n="Forbid Media Override subtitle" class="marginBot5">
|
||||
Media: images, videos, audio. External: not hosted on the local server.
|
||||
</small>
|
||||
<label class="checkbox_label" for="forbid_media_override_global">
|
||||
<input type="radio" id="forbid_media_override_global" name="forbid_media_override" />
|
||||
<span>
|
||||
<span data-i18n="Use global setting">Use global setting</span>
|
||||
<b data-i18n="forbid_media_global_state_forbidden" class="forbid_media_global_state_forbidden">(forbidden)</b>
|
||||
<b data-i18n="forbid_media_global_state_allowed" class="forbid_media_global_state_allowed">(allowed)</b>
|
||||
</span>
|
||||
</label>
|
||||
<label class="checkbox_label" for="forbid_media_override_forbidden">
|
||||
<input type="radio" id="forbid_media_override_forbidden" name="forbid_media_override" />
|
||||
<span data-i18n="Always forbidden">Always forbidden</span>
|
||||
</label>
|
||||
<label class="checkbox_label" for="forbid_media_override_allowed">
|
||||
<input type="radio" id="forbid_media_override_allowed" name="forbid_media_override" />
|
||||
<span data-i18n="Always allowed">Always allowed</span>
|
||||
</label>
|
||||
</div>
|
||||
24
data/st-core-scripts/scripts/templates/formatting.html
Normal file
24
data/st-core-scripts/scripts/templates/formatting.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<span data-i18n="help_format_1">Text formatting commands:</span>
|
||||
<ul> <!-- I know it seems like all these 'display as' could fit into just a couple entries, but other languages might need it with their grammar
|
||||
Actually I feel that languages with SOV might need even more extra entries, but let's KISS it for now, those can be easily added in the future without breaking anything -->
|
||||
<li><tt data-i18n="help_format_2">*text*</tt> - <span data-i18n="help_format_3">displays as </span><i data-i18n="help_format_4">italics</i></li>
|
||||
<li><tt data-i18n="help_format_5">**text**</tt> - <span data-i18n="help_format_6">displays as </span><b data-i18n="help_format_7">bold</b></li>
|
||||
<li><tt data-i18n="help_format_8">***text***</tt> - <span data-i18n="help_format_9">displays as </span><b><i data-i18n="help_format_10">bold italics</i></b></li>
|
||||
<li><tt data-i18n="help_format_11">__text__</tt> - <span data-i18n="help_format_12">displays as an </span><u data-i18n="help_format_13">underline</u></li>
|
||||
<li><tt data-i18n="help_format_14">~~text~~</tt> - <span data-i18n="help_format_15">displays as a </span><del data-i18n="help_format_16">strikethough</del></li>
|
||||
<li><tt data-i18n="help_format_17">[text](url)</tt> - <span data-i18n="help_format_18">displays as a </span><a href="#" data-i18n="help_format_19">hyperlink</a></li>
|
||||
<li><tt data-i18n="help_format_20"></tt> - <span data-i18n="help_format_21">displays as an image</span></li>
|
||||
<li><tt data-i18n="help_format_22">```text```</tt> - <span data-i18n="help_format_23">displays as a code block (new lines allowed between the backticks)</span></li>
|
||||
</ul>
|
||||
<pre><code data-i18n="help_format_like_this"> like this</code></pre>
|
||||
<ul>
|
||||
<li><tt data-i18n="help_format_24">`text`</tt> - <span data-i18n="help_format_25">displays as </span><code data-i18n="help_format_26">inline code</code></li>
|
||||
<li><tt data-i18n="help_format_27">> text</tt> - <span data-i18n="help_format_28">displays as a blockquote (note the space after >)</span></li>
|
||||
<blockquote data-i18n="help_format_like_this">like this</blockquote>
|
||||
<li><tt data-i18n="help_format_29"># text</tt> - <span data-i18n="help_format_30">displays as a large header (note the space)</span></li>
|
||||
<h1 data-i18n="help_format_like_this">like this</h1>
|
||||
<li><tt data-i18n="help_format_32">## text</tt> - <span data-i18n="help_format_33">displays as a medium header (note the space)</span></li>
|
||||
<h2 data-i18n="help_format_like_this">like this</h2>
|
||||
<li><tt data-i18n="help_format_35">### text</tt> - <span data-i18n="help_format_36">displays as a small header (note the space)</span></li>
|
||||
<h3 data-i18n="help_format_like_this">like this</h3>
|
||||
</ul>
|
||||
@@ -0,0 +1,27 @@
|
||||
<div class="flex-container flexFlowColumn">
|
||||
<h3 data-i18n="Creator's Notes contain CSS style tags. Do you want to apply them just to Creator's Notes or to the entire application?" class="margin0">
|
||||
Creator's Notes contain CSS style tags. Do you want to apply them just to Creator's Notes or to the entire application?
|
||||
</h3>
|
||||
<h4 data-i18n="CAUTION: Malformed styles may cause issues." class="neutral_warning">
|
||||
CAUTION: Malformed styles may cause issues.
|
||||
</h4>
|
||||
<hr>
|
||||
<small>
|
||||
<span data-i18n="To change the preference later, use the">
|
||||
To change the preference later, use the
|
||||
</span>
|
||||
<code class="fa-solid fa-palette"></code>
|
||||
<span data-i18n="button in the Creator's Notes block.">
|
||||
button in the Creator's Notes block.
|
||||
</span>
|
||||
</small>
|
||||
<textarea class="text_pole textarea_compact monospace" rows="8" readonly></textarea>
|
||||
<small class="justifyLeft">
|
||||
<b data-i18n="Note:">
|
||||
Note:
|
||||
</b>
|
||||
<span data-i18n="Class names will be automatically prefixed with 'custom-'.">
|
||||
Class names will be automatically prefixed with 'custom-'.
|
||||
</span>
|
||||
</small>
|
||||
</div>
|
||||
@@ -0,0 +1,16 @@
|
||||
<div class="flex-container flexFlowColumn">
|
||||
<h3 data-i18n="Choose how to apply CSS style tags if they are defined in Creator's Notes of this character:" class="margin0">
|
||||
Choose how to apply CSS style tags if they are defined in Creator's Notes of this character:
|
||||
</h3>
|
||||
<h4 data-i18n="CAUTION: Malformed styles may cause issues." class="neutral_warning">
|
||||
CAUTION: Malformed styles may cause issues.
|
||||
</h4>
|
||||
<label class="checkbox_label" for="global_styles_forbidden">
|
||||
<input type="radio" id="global_styles_forbidden" name="global_styles_preference" />
|
||||
<span data-i18n="Just to Creator's Notes">Just to Creator's Notes</span>
|
||||
</label>
|
||||
<label class="checkbox_label" for="global_styles_allowed">
|
||||
<input type="radio" id="global_styles_allowed" name="global_styles_preference" />
|
||||
<span data-i18n="Apply to the entire app">Apply to the entire app</span>
|
||||
</label>
|
||||
</div>
|
||||
11
data/st-core-scripts/scripts/templates/help.html
Normal file
11
data/st-core-scripts/scripts/templates/help.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<span data-i18n="help_1">Hello there! Please select the help topic you would like to learn more about:</span>
|
||||
<ul>
|
||||
<li><a href="#" data-displayHelp="1" data-i18n="help_2">Slash Commands</a> (<span data-i18n="help_or">or</span> <tt>/help slash</tt>)</li>
|
||||
<li><a href="#" data-displayHelp="2" data-i18n="help_3">Formatting</a> (<span data-i18n="help_or">or</span> <tt>/help format</tt>)</li>
|
||||
<li><a href="#" data-displayHelp="3" data-i18n="help_4">Hotkeys</a> (<span data-i18n="help_or">or</span> <tt>/help hotkeys</tt>)</li>
|
||||
<li><a href="#" data-displayHelp="4" data-i18n="help_5">{{Macros}}</a> (<span data-i18n="help_or">or</span> <tt>/help macros</tt>)</li>
|
||||
</ul>
|
||||
<br>
|
||||
<b>
|
||||
<span data-i18n="help_6">Still got questions left? The</span> <a target="_blank" href="https://docs.sillytavern.app/" data-i18n="help_7">Official SillyTavern Documentation Website</a><span data-i18n="help_8"> has much more information!</span>
|
||||
</b>
|
||||
6
data/st-core-scripts/scripts/templates/hiddenBlock.html
Normal file
6
data/st-core-scripts/scripts/templates/hiddenBlock.html
Normal file
@@ -0,0 +1,6 @@
|
||||
<div class="text_block hidden_block">
|
||||
<small>
|
||||
<p>{{text}}</p>
|
||||
<div class="fa-solid fa-circle-info opacity50p" data-i18n="[title]Characters and groups hidden by filters or closed folders" title="Characters and groups hidden by filters or closed folders"></div>
|
||||
</small>
|
||||
</div>
|
||||
31
data/st-core-scripts/scripts/templates/hotkeys.html
Normal file
31
data/st-core-scripts/scripts/templates/hotkeys.html
Normal file
@@ -0,0 +1,31 @@
|
||||
<div>
|
||||
<strong data-i18n="help_hotkeys_0">Chat Hotkeys</strong>
|
||||
</div>
|
||||
<ul>
|
||||
<li><kbd data-i18n="help_hotkeys_1">Up</kbd> = <span data-i18n="help_hotkeys_2">Edit last message in chat</span></li>
|
||||
<li><kbd data-i18n="help_hotkeys_3">Ctrl+Up</kbd> = <span data-i18n="help_hotkeys_4">Edit last USER message in chat</span></li>
|
||||
<li><kbd data-i18n="help_hotkeys_5">Left</kbd> = <span data-i18n="help_hotkeys_6">swipe left</span></li>
|
||||
<li><kbd data-i18n="help_hotkeys_7">Right</kbd> = <span data-i18n="help_hotkeys_8">swipe right (NOTE: swipe hotkeys only apply without modifiers and are disabled when chatbar has something typed into it)</span></li>
|
||||
<li><kbd data-i18n="help_hotkeys_9">Enter</kbd> <span data-i18n="help_hotkeys_10">(with chat bar selected)</span> = <span data-i18n="help_hotkeys_10_1">send your message to AI</span></li>
|
||||
<li><kbd data-i18n="help_hotkeys_11">Ctrl+Enter</kbd> = <span data-i18n="help_hotkeys_12">Regenerate the last AI response</span></li>
|
||||
<li><kbd data-i18n="help_hotkeys_13">Alt+Enter</kbd> = <span data-i18n="help_hotkeys_14">Continue the last AI response</span></li>
|
||||
<li><kbd data-i18n="help_hotkeys_15">Escape</kbd> = <span data-i18n="help_hotkeys_16">stop AI response generation, close UI panels, cancel message edit</span></li>
|
||||
<li><kbd data-i18n="help_hotkeys_17">Ctrl+Shift+Up</kbd> = <span data-i18n="help_hotkeys_18">Scroll to context line</span></li>
|
||||
<li><kbd data-i18n="help_hotkeys_19">Ctrl+Shift+Down</kbd> = <span data-i18n="help_hotkeys_20">Scroll chat to bottom</span></li>
|
||||
</ul>
|
||||
<div>
|
||||
<strong data-i18n="help_hotkeys_20">Markdown Hotkeys</strong>
|
||||
</div>
|
||||
<div>
|
||||
<small>
|
||||
<span data-i18n="help_hotkeys_21">Works in the chatbar and textareas marked with this icon:</span>
|
||||
<code><i class="fa-brands fa-markdown"></i></code>
|
||||
</small>
|
||||
</div>
|
||||
<ul>
|
||||
<li><kbd>Ctrl+B</kbd> = <span data-i18n="help_hotkeys_22">**bold**</span></li>
|
||||
<li><kbd>Ctrl+I</kbd> = <span data-i18n="help_hotkeys_23">*italic*</span></li>
|
||||
<li><kbd>Ctrl+U</kbd> = <span data-i18n="help_hotkeys_24">__underline__</span></li>
|
||||
<li><kbd>Ctrl+K</kbd> = <span data-i18n="help_hotkeys_25">`inline code`</span></li>
|
||||
<li><kbd>Ctrl+Shift+~</kbd> = <span data-i18n="help_hotkeys_26">~~strikethrough~~</span></li>
|
||||
</ul>
|
||||
23
data/st-core-scripts/scripts/templates/importCharacters.html
Normal file
23
data/st-core-scripts/scripts/templates/importCharacters.html
Normal file
@@ -0,0 +1,23 @@
|
||||
<h3 data-i18n="Import Characters">Import Characters</h3>
|
||||
<h4 data-i18n="Enter the URL of the content to import">Enter the URL of the content to import</h4>
|
||||
<div class="sources_list justifyLeft">
|
||||
<span data-i18n="Supported sources:">Supported sources:</span><br>
|
||||
<ul class="marginTop5 li-padding-bot5">
|
||||
<li><span data-i18n="char_import_1">Chub Character (Direct Link or ID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>Anonymous/example-character</tt></li>
|
||||
<li><span data-i18n="char_import_2">Chub Lorebook (Direct Link or ID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>lorebooks/bartleby/example-lorebook</tt></li>
|
||||
<li><span data-i18n="char_import_3">JanitorAI Character (Direct Link or UUID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>ddd1498a-a370-4136-b138-a8cd9461fdfe_character-aqua-the-useless-goddess</tt></li>
|
||||
<li><span data-i18n="char_import_4">Pygmalion.chat Character (Direct Link or UUID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>a7ca95a1-0c88-4e23-91b3-149db1e78ab9</tt></li>
|
||||
<li><span data-i18n="char_import_5">AICharacterCards.com Character (Direct Link or ID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>AICC/aicharcards/the-game-master</tt></li>
|
||||
<li><span data-i18n="char_import_6">Direct PNG Link (refer to</span> <code>config.yaml</code><span data-i18n="char_import_7"> for allowed hosts)</span><br><span data-i18n="char_import_example">Example:</span> <tt>https://files.catbox.moe/notarealfile.png</tt></li>
|
||||
<li><span data-i18n="char_import_8">RisuRealm Character (Direct Link)</span><br><span data-i18n="char_import_example">Example:</span> <tt>https://realm.risuai.net/character/3ca54c71-6efe-46a2-b9d0-4f62df23d712</tt></li>
|
||||
<li><span data-i18n="char_import_10">Perchance Character (Direct Link or UUID + .gz)</span><br><span data-i18n="char_import_example">Example:</span> <tt>https://perchance.org/ai-character-chat?data=Loreena~cb3a1b531477378db7cad0148ba62d71.gz</tt><br><span data-i18n="char_import_example">Example:</span> <tt>Loreena~cb3a1b531477378db7cad0148ba62d71.gz</tt></li>
|
||||
</ul>
|
||||
</div>
|
||||
<small>
|
||||
<span data-i18n="Supports importing multiple characters.">
|
||||
Supports importing multiple characters.
|
||||
</span>
|
||||
<span data-i18n="Write each URL or ID into a new line.">
|
||||
Write each URL or ID into a new line.
|
||||
</span>
|
||||
</small>
|
||||
10
data/st-core-scripts/scripts/templates/installExtension.html
Normal file
10
data/st-core-scripts/scripts/templates/installExtension.html
Normal file
@@ -0,0 +1,10 @@
|
||||
<h3 data-i18n="Enter the Git URL of the extension to install">Enter the Git URL of the extension to install</h3>
|
||||
<br>
|
||||
<p>
|
||||
<b data-i18n="Disclaimer:">Disclaimer:</b>
|
||||
<span data-i18n="Please be aware that using external extensions can have unintended side effects and may pose security risks. Always make sure you trust the source before importing an extension. We are not responsible for any damage caused by third-party extensions.">
|
||||
Please be aware that using external extensions can have unintended side effects and may pose security risks. Always make sure you trust the source before importing an extension. We are not responsible for any damage caused by third-party extensions.
|
||||
</span>
|
||||
</p>
|
||||
<br>
|
||||
<p><span data-i18n="Example:">Example:</span> <tt> https://github.com/author/extension-name </tt></p>
|
||||
156
data/st-core-scripts/scripts/templates/itemizationChat.html
Normal file
156
data/st-core-scripts/scripts/templates/itemizationChat.html
Normal file
@@ -0,0 +1,156 @@
|
||||
<h3 class="flex-container justifyCenter alignitemscenter">
|
||||
<span data-i18n="Prompt Itemization">Prompt Itemization</span>
|
||||
<div id="showRawPrompt" class="fa-solid fa-square-poll-horizontal menu_button" title="Show Raw Prompt" data-i18n="[title]Show Raw Prompt"></div>
|
||||
<div id="copyPromptToClipboard" class="fa-solid fa-copy menu_button" title="Copy Prompt" data-i18n="[title]Copy Prompt"></div>
|
||||
<div id="diffPrevPrompt" class="fa-solid fa-code-compare menu_button" title="Show Prompt Differences" data-i18n="[title]Show Prompt Differences"></div>
|
||||
</h3>
|
||||
<div>
|
||||
<div>
|
||||
<span data-i18n="API/Model:">API/Model:</span> {{mainApiFriendlyName}} {{#if apiUsed}}({{apiUsed}}){{/if}} {{#if modelUsed}}– {{modelUsed}}{{/if}}
|
||||
</div>
|
||||
<div>
|
||||
<small><span data-i18n="Preset:">Preset:</span> {{presetName}}</small>
|
||||
<span>|</span>
|
||||
<small><span data-i18n="Tokenizer:">Tokenizer:</span> {{selectedTokenizer}}</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="tokenItemizingSubclass" data-i18n="Only the white numbers really matter. All numbers are estimates. Grey color items may not have been included in the context due to certain prompt format settings.">
|
||||
Only the white numbers really matter. All numbers are estimates.
|
||||
Grey color items may not have been included in the context due to certain prompt format settings.
|
||||
</span>
|
||||
<hr>
|
||||
<div class="justifyLeft">
|
||||
<div class="flex-container">
|
||||
<div class="flex-container flex1 flexFlowColumns flexNoGap wide50p tokenGraph">
|
||||
<div class="wide100p" style="background-color: grey; height: {{oaiSystemTokensPercentage}}%;"></div>
|
||||
<div class="wide100p" style="background-color: salmon; height: {{oaiStartTokensPercentage}}%;"></div>
|
||||
<div class="wide100p" style="background-color: indianred; height: {{storyStringTokensPercentage}}%;"></div>
|
||||
<div class="wide100p" style="background-color: gold; height: {{worldInfoStringTokensPercentage}}%;"></div>
|
||||
<div class="wide100p" style="background-color: palegreen; height: {{ActualChatHistoryTokensPercentage}}%;">
|
||||
</div>
|
||||
<div class="wide100p" style="background-color: cornflowerblue; height: {{allAnchorsTokensPercentage}}%;">
|
||||
</div>
|
||||
<div class="wide100p" style="background-color: mediumpurple; height: {{promptBiasTokensPercentage}}%;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-container wide50p">
|
||||
<div class="wide100p flex-container flexNoGap flexFlowColumn">
|
||||
<div class="flex-container wide100p">
|
||||
<div class="flex1" style="color: grey;"><span data-i18n="System Info:">System Info:</span></div>
|
||||
<div class="">{{oaiSystemTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Chat Start: </div>
|
||||
<div class="tokenItemizingSubclass">{{oaiStartTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Main: </div>
|
||||
<div class="tokenItemizingSubclass">{{oaiMainTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Post-History: </div>
|
||||
<div class="tokenItemizingSubclass">{{oaiJailbreakTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Auxiliary: </div>
|
||||
<div class="tokenItemizingSubclass">{{oaiNsfwTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Nudge: </div>
|
||||
<div class="tokenItemizingSubclass">{{oaiNudgeTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Impersonate: </div>
|
||||
<div class="tokenItemizingSubclass">{{oaiImpersonateTokens}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wide100p flex-container flexNoGap flexFlowColumn">
|
||||
<div class="flex-container wide100p">
|
||||
<div class="flex1" style="color: indianred;"><span data-i18n="Prompt Tokens:">Prompt Tokens:</span></div>
|
||||
<div class="">{{oaiPromptTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Description: </div>
|
||||
<div class="tokenItemizingSubclass">{{charDescriptionTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Personality:</div>
|
||||
<div class="tokenItemizingSubclass">{{charPersonalityTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Scenario: </div>
|
||||
<div class="tokenItemizingSubclass">{{scenarioTextTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">
|
||||
<span>-- Examples:</span>
|
||||
{{#if examplesCount}}<small>({{examplesCount}})</small>{{/if}}
|
||||
</div>
|
||||
<div class="tokenItemizingSubclass">{{examplesStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- User Persona:</div>
|
||||
<div class="tokenItemizingSubclass">{{userPersonaStringTokens}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wide100p flex-container">
|
||||
<div class="flex1" style="color: gold;"><span data-i18n="World Info:">World Info:</span></div>
|
||||
<div class="">{{worldInfoStringTokens}}</div>
|
||||
</div>
|
||||
<div class="wide100p flex-container">
|
||||
<div class="flex1" style="color: palegreen;">
|
||||
<span data-i18n="Chat History:">Chat History:</span>
|
||||
{{#if messagesCount}}<small>({{messagesCount}})</small>{{/if}}
|
||||
</div>
|
||||
<div class="">{{ActualChatHistoryTokens}}</div>
|
||||
</div>
|
||||
<div class="wide100p flex-container flexNoGap flexFlowColumn">
|
||||
<div class="wide100p flex-container">
|
||||
<div class="flex1" style="color: cornflowerblue;"><span data-i18n="Extensions:">Extensions:</span></div>
|
||||
<div class="">{{allAnchorsTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Summarize: </div>
|
||||
<div class="tokenItemizingSubclass">{{summarizeStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Author's Note:</div>
|
||||
<div class="tokenItemizingSubclass">{{authorsNoteStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Smart Context:</div>
|
||||
<div class="tokenItemizingSubclass">{{smartContextStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Vector Storage (Chats):</div>
|
||||
<div class="tokenItemizingSubclass">{{chatVectorsStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Vector Storage (Data Bank):</div>
|
||||
<div class="tokenItemizingSubclass">{{dataBankVectorsStringTokens}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wide100p flex-container">
|
||||
<div class="flex1" style="color: mediumpurple;"><span>{{}}</span> <span data-i18n="Bias:">Bias:</span></div>
|
||||
<div class="">{{oaiBiasTokens}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<hr>
|
||||
<div class="wide100p flex-container flexFlowColumns">
|
||||
<div class="flex-container wide100p">
|
||||
<div class="flex1"><span data-i18n="Total Tokens in Prompt:">Total Tokens in Prompt:</span></div>
|
||||
<div class="">{{finalPromptTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container wide100p">
|
||||
<div class="flex1"><span data-i18n="Max Context">Max Context</span> <small data-i18n="(Context Size - Response Length)">(Context Size - Response Length)</small>:</div>
|
||||
<div class="">{{thisPrompt_max_context}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div id="rawPromptPopup" class="list-group">
|
||||
<div id="rawPromptWrapper" class="tokenItemizingMaintext"></div>
|
||||
</div>
|
||||
136
data/st-core-scripts/scripts/templates/itemizationText.html
Normal file
136
data/st-core-scripts/scripts/templates/itemizationText.html
Normal file
@@ -0,0 +1,136 @@
|
||||
<h3 class="flex-container justifyCenter alignitemscenter">
|
||||
Prompt Itemization
|
||||
<div id="showRawPrompt" class="fa-solid fa-square-poll-horizontal menu_button" title="Show Raw Prompt" data-i18n="[title]Show Raw Prompt"></div>
|
||||
<div id="copyPromptToClipboard" class="fa-solid fa-copy menu_button" title="Copy Prompt" data-i18n="[title]Copy Prompt"></div>
|
||||
<div id="diffPrevPrompt" class="fa-solid fa-code-compare menu_button" title="Show Prompt Differences" data-i18n="[title]Show Prompt Differences"></div>
|
||||
</h3>
|
||||
<div>
|
||||
<div>
|
||||
API/Model: {{mainApiFriendlyName}} {{#if apiUsed}}({{apiUsed}}){{/if}} {{#if modelUsed}}– {{modelUsed}}{{/if}}
|
||||
</div>
|
||||
<div>
|
||||
<small>Preset: {{presetName}}</small>
|
||||
<span>|</span>
|
||||
<small>Tokenizer: {{selectedTokenizer}}</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="tokenItemizingSubclass">
|
||||
Only the white numbers really matter. All numbers are estimates.
|
||||
Grey color items may not have been included in the context due to certain prompt format settings.
|
||||
</span>
|
||||
<hr>
|
||||
<div class="justifyLeft">
|
||||
<div class="flex-container">
|
||||
<div class="flex-container flex1 flexFlowColumns flexNoGap wide50p tokenGraph">
|
||||
<div class="wide100p" style="background-color: indianred; height: {{storyStringTokensPercentage}}%;"></div>
|
||||
<div class="wide100p" style="background-color: gold; height: {{worldInfoStringTokensPercentage}}%;"></div>
|
||||
<div class="wide100p" style="background-color: palegreen; height: {{ActualChatHistoryTokensPercentage}}%;">
|
||||
</div>
|
||||
<div class="wide100p" style="background-color: cornflowerblue; height: {{allAnchorsTokensPercentage}}%;">
|
||||
</div>
|
||||
<div class="wide100p" style="background-color: mediumpurple; height: {{promptBiasTokensPercentage}}%;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-container wide50p">
|
||||
<div class="wide100p flex-container flexNoGap flexFlowColumn">
|
||||
<div class="flex-container wide100p">
|
||||
<div class="flex1" style="color: indianred;"> Character Definitions:</div>
|
||||
<div class=""> {{storyStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Description: </div>
|
||||
<div class="tokenItemizingSubclass">{{charDescriptionTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Personality:</div>
|
||||
<div class="tokenItemizingSubclass"> {{charPersonalityTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Scenario: </div>
|
||||
<div class="tokenItemizingSubclass">{{scenarioTextTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class=" flex1 tokenItemizingSubclass">
|
||||
<span>-- Examples:</span>
|
||||
{{#if examplesCount}}<small>({{examplesCount}})</small>{{/if}}
|
||||
</div>
|
||||
<div class="tokenItemizingSubclass"> {{examplesStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- User Persona:</div>
|
||||
<div class="tokenItemizingSubclass"> {{userPersonaStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- System Prompt (Instruct):</div>
|
||||
<div class="tokenItemizingSubclass"> {{instructionTokens}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wide100p flex-container">
|
||||
<div class="flex1" style="color: gold;">World Info:</div>
|
||||
<div class="">{{worldInfoStringTokens}}</div>
|
||||
</div>
|
||||
<div class="wide100p flex-container">
|
||||
<div class="flex1" style="color: palegreen;">
|
||||
<span data-i18n="Chat History:">Chat History:</span>
|
||||
{{#if messagesCount}}<small>({{messagesCount}})</small>{{/if}}
|
||||
</div>
|
||||
<div class=""> {{ActualChatHistoryTokens}}</div>
|
||||
</div>
|
||||
<div class="wide100p flex-container flexNoGap flexFlowColumn">
|
||||
<div class="wide100p flex-container">
|
||||
<div class="flex1" style="color: cornflowerblue;">Extensions:</div>
|
||||
<div class="">{{allAnchorsTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Summarize: </div>
|
||||
<div class="tokenItemizingSubclass">{{summarizeStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Author's Note:</div>
|
||||
<div class="tokenItemizingSubclass"> {{authorsNoteStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Smart Context:</div>
|
||||
<div class="tokenItemizingSubclass"> {{smartContextStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Vector Storage (Chats):</div>
|
||||
<div class="tokenItemizingSubclass"> {{chatVectorsStringTokens}}</div>
|
||||
</div>
|
||||
<div class="flex-container ">
|
||||
<div class=" flex1 tokenItemizingSubclass">-- Vector Storage (Data Bank):</div>
|
||||
<div class="tokenItemizingSubclass"> {{dataBankVectorsStringTokens}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wide100p flex-container">
|
||||
<div class="flex1" style="color: mediumpurple;">{{}} Bias:</div>
|
||||
<div class="">{{promptBiasTokens}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<hr>
|
||||
<div class="wide100p flex-container flexFlowColumns">
|
||||
<div class="flex-container wide100p">
|
||||
<div class="flex1">Total Tokens in Prompt:</div>
|
||||
<div class=""> {{totalTokensInPrompt}}</div>
|
||||
</div>
|
||||
<div class="flex-container wide100p">
|
||||
<div class="flex1">Max Context (Context Size - Response Length):</div>
|
||||
<div class="">{{thisPrompt_max_context}}</div>
|
||||
</div>
|
||||
<div class="flex-container wide100p">
|
||||
<div class="flex1">- Padding:</div>
|
||||
<div class=""> {{thisPrompt_padding}}</div>
|
||||
</div>
|
||||
<div class="flex-container wide100p">
|
||||
<div class="flex1">Actual Max Context Allowed:</div>
|
||||
<div class="">{{thisPrompt_actual}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div id="rawPromptPopup" class="list-group">
|
||||
<div id="rawPromptWrapper" class="tokenItemizingSubclass"></div>
|
||||
</div>
|
||||
17
data/st-core-scripts/scripts/templates/masterExport.html
Normal file
17
data/st-core-scripts/scripts/templates/masterExport.html
Normal file
@@ -0,0 +1,17 @@
|
||||
<h3 data-i18n="Choose what to export">
|
||||
Choose what to export
|
||||
</h3>
|
||||
<div class="flex-container flexFlowColumn justifyLeft">
|
||||
{{#each sections}}
|
||||
{{#with this}}
|
||||
<label class="checkbox_label">
|
||||
{{#if checked}}
|
||||
<input type="checkbox" value="{{key}}" checked />
|
||||
{{else}}
|
||||
<input type="checkbox" value="{{key}}" />
|
||||
{{/if}}
|
||||
<span data-i18n="{{name}}">{{name}}</span>
|
||||
</label>
|
||||
{{/with}}
|
||||
{{/each}}
|
||||
</div>
|
||||
17
data/st-core-scripts/scripts/templates/masterImport.html
Normal file
17
data/st-core-scripts/scripts/templates/masterImport.html
Normal file
@@ -0,0 +1,17 @@
|
||||
<h3 data-i18n="Choose what to import">
|
||||
Choose what to import
|
||||
</h3>
|
||||
<div class="flex-container flexFlowColumn justifyLeft">
|
||||
{{#each sections}}
|
||||
{{#with this}}
|
||||
<label class="checkbox_label">
|
||||
<input type="checkbox" value="{{key}}" checked>
|
||||
<span data-i18n="{{name}}">{{name}}</span>
|
||||
{{#if preset}}
|
||||
<span>–</span>
|
||||
<small>{{preset}}</small>
|
||||
{{/if}}
|
||||
</label>
|
||||
{{/with}}
|
||||
{{/each}}
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
<h3>
|
||||
This instruct template also contains a system prompt.
|
||||
</h3>
|
||||
<div>
|
||||
Would you like to migrate the system prompt from the template?
|
||||
</div>
|
||||
{{#if existing}}
|
||||
<div class="marginTopBot5">
|
||||
<b>Note:</b>
|
||||
<span>you already have this prompt saved as:</span>
|
||||
<span>{{existing}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="justifyLeft marginTop5">
|
||||
<div>
|
||||
<small>
|
||||
<b>"Yes"</b> – The prompt will be imported and selected as a current system prompt.
|
||||
</small>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<small>
|
||||
<b>"No"</b> – The prompt will be ignored, no changes to the current system prompt.
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<textarea class="wide100p textarea_compact" rows="10">{{prompt}}</textarea>
|
||||
@@ -0,0 +1,4 @@
|
||||
<label for="del_chat_checkbox" class="checkbox_label justifyCenter" data-i18n="[title]If necessary, you can later restore this chat file from the /backups folder" title="If necessary, you can later restore this chat file from the /backups folder">
|
||||
<input type="checkbox" id="del_chat_checkbox" />
|
||||
<small data-i18n="Also delete the current chat file">Also delete the current chat file</small>
|
||||
</label>
|
||||
18
data/st-core-scripts/scripts/templates/personaLorebook.html
Normal file
18
data/st-core-scripts/scripts/templates/personaLorebook.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<div class="persona_world range-block flexFlowColumn flex-container">
|
||||
<div class="range-block-title">
|
||||
<h4>
|
||||
<span data-i18n="Persona Lorebook for">Persona Lorebook for</span> <span class="persona_name"></span>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="range-block-counter justifyLeft flex-container flexFlowColumn margin-bot-10px">
|
||||
<span data-i18n="persona_world_template_txt">
|
||||
A selected World Info will be bound to this persona. When generating an AI reply,
|
||||
it will be combined with the entries from global, character and chat lorebooks.
|
||||
</span>
|
||||
</div>
|
||||
<div class="range-block-range wide100p">
|
||||
<select class="persona_world_info_selector wide100p">
|
||||
<option value="">--- None ---</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,11 @@
|
||||
<div class="{{prefix}}prompt_manager_footer">
|
||||
<select id="{{prefix}}prompt_manager_footer_append_prompt" class="text_pole" name="append-prompt">
|
||||
{{{promptsHtml}}}
|
||||
</select>
|
||||
<a class="menu_button fa-chain fa-solid fa-fw" title="Insert prompt" data-i18n="[title]Insert prompt"></a>
|
||||
<a class="caution menu_button fa-x fa-solid fa-fw" title="Delete prompt" data-i18n="[title]Delete prompt"></a>
|
||||
<a class="menu_button fa-file-import fa-solid fa-fw" id="prompt-manager-import" title="Import a prompt list" data-i18n="[title]Import a prompt list"></a>
|
||||
<a class="menu_button fa-file-export fa-solid fa-fw" id="prompt-manager-export" title="Export this prompt list" data-i18n="[title]Export this prompt list"></a>
|
||||
<a class="menu_button fa-undo fa-solid fa-fw" id="prompt-manager-reset-character" title="Reset current character" data-i18n="[title]Reset current character"></a>
|
||||
<a class="menu_button fa-plus-square fa-solid fa-fw" title="New prompt" data-i18n="[title]New prompt"></a>
|
||||
</div>
|
||||
@@ -0,0 +1,12 @@
|
||||
<div class="range-block">
|
||||
{{#if error}}
|
||||
{{{errorDiv}}}
|
||||
{{/if}}
|
||||
<div class="{{prefix}}prompt_manager_header">
|
||||
<div class="{{prefix}}prompt_manager_header_advanced">
|
||||
<span data-i18n="Prompts">Prompts</span>
|
||||
</div>
|
||||
<div><span data-i18n="Total Tokens:">Total Tokens:</span> {{totalActiveTokens}} </div>
|
||||
</div>
|
||||
<ul id="{{prefix}}prompt_manager_list" class="text_pole"></ul>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
<li class="{{prefix}}prompt_manager_list_head">
|
||||
<span data-i18n="Name">Name</span>
|
||||
<span></span>
|
||||
<span class="prompt_manager_prompt_tokens" data-i18n="Tokens;prompt_manager_tokens">Tokens</span>
|
||||
</li>
|
||||
<li class="{{prefix}}prompt_manager_list_separator">
|
||||
<hr>
|
||||
</li>
|
||||
@@ -0,0 +1 @@
|
||||
<span data-i18n="Are you sure you want to connect to the following proxy URL?">Are you sure you want to connect to the following proxy URL?</span><var>{{proxyURL}}</var>
|
||||
4
data/st-core-scripts/scripts/templates/quotaError.html
Normal file
4
data/st-core-scripts/scripts/templates/quotaError.html
Normal file
@@ -0,0 +1,4 @@
|
||||
<h3><span data-i18n="Encountered an error while processing your request.">Encountered an error while processing your request.</span><br>
|
||||
<span data-i18n="Check you have credits available on your">Check you have credits available on your</span>
|
||||
<a href="https://platform.openai.com/account/usage" target="_blank" data-i18n="OpenAI account quora_error">OpenAI account</a><span data-i18n="dot quota_error">.</span><br>
|
||||
<span data-i18n="If you have sufficient credits, please try again later.">If you have sufficient credits, please try again later.</span></h3>
|
||||
13
data/st-core-scripts/scripts/templates/resetSettings.html
Normal file
13
data/st-core-scripts/scripts/templates/resetSettings.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<div class="flex-container flexFlowColumn marginBot10">
|
||||
<h3 data-i18n="Are you sure you want to reset your settings to factory defaults?">
|
||||
Are you sure you want to reset your settings to factory defaults?
|
||||
</h3>
|
||||
<div data-i18n="Don't forget to save a snapshot of your settings before proceeding.">
|
||||
Don't forget to save a snapshot of your settings before proceeding.
|
||||
</div>
|
||||
<hr>
|
||||
<div data-i18n="Enter your password below to confirm:">
|
||||
Enter your password below to confirm:
|
||||
</div>
|
||||
<input id="resetSettingsPassword" name="password" type="password" class="text_pole" placeholder="Password">
|
||||
</div>
|
||||
24
data/st-core-scripts/scripts/templates/samplerSelector.html
Normal file
24
data/st-core-scripts/scripts/templates/samplerSelector.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<div class="title_restorable flexFlowColumn alignItemsBaseline">
|
||||
<div class="flex-container justifySpaceBetween alignItemsBaseline wide100p">
|
||||
<h3 data-i18n="Sampler Select">Sampler Select</h3>
|
||||
<div class="flex-container alignItemsBaseline">
|
||||
<div id="resetSelectedSamplers" class="menu_button menu_button_icon" data-i18n="[title]Reset custom sampler selection" title="Reset custom sampler selection">
|
||||
<i class="fa-solid fa-recycle"></i>
|
||||
<span data-i18n="Reset">Reset</span>
|
||||
</div>
|
||||
<div id="prioritizeManuallySelectedSamplers" class="menu_button menu_button_icon" data-i18n="[title]Prioritize showing samplers manually selected from this popup." title="Prioritize showing samplers manually selected from this popup.">
|
||||
<i class="fa-solid fa-lock"></i>
|
||||
<span data-i18n="Prioritize">Prioritize</span>
|
||||
</div>
|
||||
<div class="margin5 fa-solid fa-exclamation-circle" data-i18n="[title]Toggle on to force the samplers selected in this menu to be shown when switching to the current API Type (API Connections Panel). By default, SillyTavern automatically selects samplers used or needed by the selected API Type." title="Toggle on to force the samplers selected in this menu to be shown when switching to the current API Type (API Connections Panel). By default, SillyTavern automatically selects samplers used or needed by the selected API Type."></div>
|
||||
</div>
|
||||
<!--<div class="flex-container alignItemsBaseline">
|
||||
<div class="menu_button menu_button_icon" title="Create a new sampler">
|
||||
<i class="fa-solid fa-plus"></i>
|
||||
<span data-i18n="Create">Create</span>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
<small data-i18n="Here you can toggle the display of individual samplers. (WIP)">Here you can toggle the display of individual samplers. (WIP)</small>
|
||||
</div>
|
||||
<hr>
|
||||
45
data/st-core-scripts/scripts/templates/scenarioOverride.html
Normal file
45
data/st-core-scripts/scripts/templates/scenarioOverride.html
Normal file
@@ -0,0 +1,45 @@
|
||||
<div class="scenario_override flexFlowColumn flex-container justifyLeft">
|
||||
<div class="title_restorable alignItemsBaseline">
|
||||
<h3><span data-i18n="Chat Character Settings Override" class="margin0">Chat Character Settings Override</span></h3>
|
||||
<div class="menu_button menu_button_icon remove_scenario_override">
|
||||
<i class="fa-solid fa-trash-can "></i>
|
||||
<span data-i18n="Remove">Remove</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<strong data-i18n="Unique to this chat.">Unique to this chat.</strong>
|
||||
<span data-group="true" data-i18n="All group members will use the following values instead of what is specified in their character cards.">All group members will use the following values instead of what is specified in their character cards.</span>
|
||||
<span data-character="true" data-i18n="The following values will be used instead of the value set in the character card.">The following values will be used instead of the value set in the character card.</span>
|
||||
<span data-i18n="Checkpoints inherit the overrides from their parent, and can be changed individually after that.">Checkpoints inherit the overrides from their parent, and can be changed individually after that.</span>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="wide100p flex-container flexFlowColumn">
|
||||
<h4 class="flex-container alignItemsBaseline">
|
||||
<span data-i18n="Scenario">Scenario</span>
|
||||
<i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="chat_scenario_override" title="Expand the editor" data-i18n="[title]Expand the editor"></i>
|
||||
</h4>
|
||||
<div>
|
||||
<textarea id="chat_scenario_override" class="chat_scenario text_pole" rows="6" data-i18n="[placeholder]Type Scenario here..." placeholder="Type Scenario here..."></textarea>
|
||||
</div>
|
||||
<h4 class="flex-container alignItemsBaseline">
|
||||
<span data-i18n="Examples of dialogue">Examples of dialogue</span>
|
||||
<i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="chat_examples_override" title="Expand the editor" data-i18n="[title]Expand the editor"></i>
|
||||
</h4>
|
||||
<div>
|
||||
<textarea id="chat_examples_override" class="chat_examples text_pole" rows="6" data-i18n="[placeholder]Type Example Messages here..." placeholder="Type Example Messages here..."></textarea>
|
||||
</div>
|
||||
<h4 class="flex-container alignItemsBaseline">
|
||||
<span data-i18n="Main Prompt">Main Prompt</span>
|
||||
<small>
|
||||
<small>—</small>
|
||||
<i class="fa-solid fa-user-cog"></i>
|
||||
<b data-i18n="Prefer Char. Prompt">Prefer Char. Prompt</b>
|
||||
<span data-i18n="MUST be enabled!">MUST be enabled!</span>
|
||||
</small>
|
||||
<i class="editor_maximize fa-solid fa-maximize right_menu_button" data-for="chat_system_prompt_override" title="Expand the editor" data-i18n="[title]Expand the editor"></i>
|
||||
</h4>
|
||||
<div>
|
||||
<textarea id="chat_system_prompt_override" class="chat_system_prompt text_pole" rows="6" data-i18n="[placeholder]Type System Prompt here..." placeholder="Type System Prompt here..."></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
27
data/st-core-scripts/scripts/templates/secretKeyManager.html
Normal file
27
data/st-core-scripts/scripts/templates/secretKeyManager.html
Normal file
@@ -0,0 +1,27 @@
|
||||
<div class="secretKeyManager">
|
||||
<div class="secretKeyManagerHeader">
|
||||
<div class="secretKeyManagerSubtitle">
|
||||
<div class="secretKeyManagerInfo">
|
||||
<div class="flex-container">
|
||||
<div data-i18n="API:">API:</div>
|
||||
<span>{{name}}</span>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div data-i18n="Key:">Key:</div>
|
||||
<code>{{key}}</code>
|
||||
</div>
|
||||
</div>
|
||||
<div class="secretKeyManagerActions">
|
||||
<button class="menu_button menu_button_icon" data-action="add-secret">
|
||||
<i class="fa-solid fa-plus"></i>
|
||||
<span data-i18n="Add Secret">Add Secret</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="secretKeyManagerList"></div>
|
||||
<div class="secretKeyManagerListEmpty">
|
||||
<span data-i18n="No secrets saved.">No secrets saved.</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,30 @@
|
||||
<div class="secretKeyManagerItem {{#if active}}active{{/if}}">
|
||||
<div class="secretKeyManagerItemInfo">
|
||||
<div class="secretKeyManagerItemHeader">
|
||||
<strong>{{label}}</strong>
|
||||
<small>{{value}}</small>
|
||||
</div>
|
||||
<div class="secretKeyManagerItemSubtitle">
|
||||
<strong>ID:</strong>
|
||||
<span class="secretKeyManagerItemId" data-action="copy-id" title="Copy ID" data-i18n="[title]Copy ID">{{id}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="secretKeyManagerItemActions">
|
||||
<div class="secretKeyManagerItemActionsRow">
|
||||
<button class="menu_button menu_button_icon {{#if active}}disabled{{/if}}" data-action="rotate-secret" data-id="{{id}}" title="Select" data-i18n="[title]Select">
|
||||
<i class="fa-fw fa-solid fa-check"></i>
|
||||
</button>
|
||||
<button class="menu_button menu_button_icon" data-action="copy-secret" data-id="{{id}}" title="Copy" data-i18n="[title]Copy">
|
||||
<i class="fa-fw fa-solid fa-copy"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="secretKeyManagerItemActionsRow">
|
||||
<button class="menu_button menu_button_icon" data-action="rename-secret" data-id="{{id}}" title="Rename" data-i18n="[title]Rename">
|
||||
<i class="fa-fw fa-solid fa-pen-to-square"></i>
|
||||
</button>
|
||||
<button class="menu_button menu_button_icon" data-action="delete-secret" data-id="{{id}}" title="Delete" data-i18n="[title]Delete">
|
||||
<i class="fa-fw fa-solid fa-trash"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
31
data/st-core-scripts/scripts/templates/snapshotsView.html
Normal file
31
data/st-core-scripts/scripts/templates/snapshotsView.html
Normal file
@@ -0,0 +1,31 @@
|
||||
<div class="padding5">
|
||||
<h3 class="title_restorable">
|
||||
<span data-i18n="Settings Snapshots">Settings Snapshots</span>
|
||||
<div class="makeSnapshotButton menu_button menu_button_icon" data-i18n="[title]Record a snapshot of your current settings." title="Record a snapshot of your current settings.">
|
||||
<i class="fa-fw fa-solid fa-camera"></i>
|
||||
<span data-i18n="Make a Snapshot">Make a Snapshot</span>
|
||||
</div>
|
||||
</h3>
|
||||
<hr>
|
||||
<div class="snapshotList flex-container flexFlowColumn">
|
||||
</div>
|
||||
<div class="template_element snapshotTemplate">
|
||||
<div class="snapshot inline-drawer wide100p">
|
||||
<div class="inline-drawer-toggle inline-drawer-header flexGap10">
|
||||
<div class="flex-container flexFlowColumn flexNoGap justifyLeft">
|
||||
<span class="snapshotName"></span>
|
||||
<div class="flex-container flexGap10">
|
||||
<small class="snapshotDate"></small>
|
||||
<small>(<span class="snapshotSize"></span>)</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="expander"></div>
|
||||
<div class="menu_button fa-solid fa-recycle snapshotRestoreButton" data-i18n="[title]Restore this snapshot" title="Restore this snapshot"></div>
|
||||
<div class="fa-solid fa-circle-chevron-down inline-drawer-icon down"></div>
|
||||
</div>
|
||||
<div class="inline-drawer-content">
|
||||
<textarea class="text_pole textarea_compact fontsize80p snapshotContent" readonly placeholder="Loading..." rows="25"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
61
data/st-core-scripts/scripts/templates/tabbyDownloader.html
Normal file
61
data/st-core-scripts/scripts/templates/tabbyDownloader.html
Normal file
@@ -0,0 +1,61 @@
|
||||
<div id="tabby_downloader_popup">
|
||||
<div>
|
||||
<h3><strong data-i18n="Download Model">Download Model</strong>
|
||||
<a href="https://github.com/theroyallab/async-hf-downloader" class="notes-link" target="_blank">
|
||||
<span class="note-link-span">?</span>
|
||||
</a>
|
||||
</h3>
|
||||
|
||||
<small class="flex-container extensions_info justifyCenter">
|
||||
Download a HuggingFace model with TabbyAPI
|
||||
</small>
|
||||
<small class="flex-container extensions_info justifyCenter">
|
||||
(Requires an admin key)
|
||||
</small>
|
||||
<hr />
|
||||
|
||||
<!-- Model parameter textboxes -->
|
||||
Repo ID
|
||||
<div class="flex-container">
|
||||
<input name="hf_repo_id" class="text_pole" type="text" placeholder="Ex. turboderp/Llama-3-8B-exl2" />
|
||||
</div>
|
||||
<div class="range-block-title justifyCenter">
|
||||
<span data-i18n="Downloader Options">Downloader Options</span>
|
||||
<div class="margin5 fa-solid fa-circle-info opacity50p " data-i18n="[title]Extra parameters for downloading/HuggingFace API" title="Extra parameters for downloading/HuggingFace API. If unsure, leave these blank."></div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class="flex1">
|
||||
<label for="revision">
|
||||
<small data-i18n="Revision">Revision</small>
|
||||
</label>
|
||||
<input name="revision" class="text_pole" type="text" placeholder="Ex. 6.0bpw" />
|
||||
</div>
|
||||
<div class="flex1">
|
||||
<label for="folder_name">
|
||||
<small data-i18n="Folder Name">Output Folder Name</small>
|
||||
</label>
|
||||
<input name="folder_name" class="text_pole" type="text" />
|
||||
</div>
|
||||
<div class="flex1">
|
||||
<label for="hf_token">
|
||||
<small data-i18n="HF Token">HF Token</small>
|
||||
</label>
|
||||
<input name="hf_token" class="text_pole" type="text" placeholder="For gated models" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="range-block-title justifyCenter">
|
||||
<span data-i18n="Include Patterns">Include Patterns</span>
|
||||
<div class="margin5 fa-solid fa-circle-info opacity50p" data-i18n="[title]Glob patterns of files to include in the download." title="Glob patterns of files to include in the download. Separate each pattern by a newline."></div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<textarea class="text_pole textarea_compact" name="tabby_download_include" placeholder="Ex. *.txt"></textarea>
|
||||
</div>
|
||||
<div class="range-block-title justifyCenter">
|
||||
<span data-i18n="Exclude Patterns">Exclude Patterns</span>
|
||||
<div class="margin5 fa-solid fa-circle-info opacity50p" data-i18n="[title]Glob patterns of files to exclude in the download." title="Glob patterns of files to exclude in the download. Separate each pattern by a newline."></div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<textarea class="text_pole textarea_compact" name="tabby_download_exclude" placeholder="Ex. *.txt"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
36
data/st-core-scripts/scripts/templates/tagManagement.html
Normal file
36
data/st-core-scripts/scripts/templates/tagManagement.html
Normal file
@@ -0,0 +1,36 @@
|
||||
<div class="title_restorable alignItemsBaseline">
|
||||
<h3 data-i18n="Tag Management">Tag Management</h3>
|
||||
<div class="flex-container alignItemsBaseline">
|
||||
<div class="menu_button menu_button_icon tag_view_prune" data-i18n="[title]Remove unused tags" title="Remove unused tags">
|
||||
<i class="fa-solid fa-scissors"></i>
|
||||
<span data-i18n="Prune">Prune</span>
|
||||
</div>
|
||||
<div class="menu_button menu_button_icon tag_view_backup" data-i18n="[title]Save your tags to a file" title="Save your tags to a file">
|
||||
<i class="fa-solid fa-file-export"></i>
|
||||
<span data-i18n="Backup">Backup</span>
|
||||
</div>
|
||||
<div class="menu_button menu_button_icon tag_view_restore" data-i18n="[title]Restore tags from a file" title="Restore tags from a file">
|
||||
<i class="fa-solid fa-file-import"></i>
|
||||
<span data-i18n="Restore">Restore</span>
|
||||
</div>
|
||||
<div class="menu_button menu_button_icon tag_view_create" data-i18n="[title]Create a new tag" title="Create a new tag">
|
||||
<i class="fa-solid fa-plus"></i>
|
||||
<span data-i18n="Create">Create</span>
|
||||
</div>
|
||||
<input type="file" id="tag_view_restore_input" hidden accept=".json">
|
||||
</div>
|
||||
</div>
|
||||
<div class="justifyLeft m-b-1">
|
||||
<div class="flex-container alignItemsBaseline">
|
||||
<span data-i18n="Sort mode">Sort mode:</span>
|
||||
<select id="tag_sort_mode_select" class="flex1 text_pole">
|
||||
<option value="manual" data-i18n="Manual (Drag & Drop)">Manual (Drag & Drop)</option>
|
||||
<option value="alphabetical" data-i18n="Alphabetical (A-Z)">Alphabetical (A-Z)</option>
|
||||
<option value="by_entries" data-i18n="Most Used (By Count)">Most Used (By Count)</option>
|
||||
</select>
|
||||
</div>
|
||||
<small>
|
||||
<span data-i18n="Drag handle to reorder. Click name to rename. Click color to change display.">Drag handle to reorder. Click name to rename. Click color to change display.</span><br>
|
||||
{{#if bogus_folders}}<span data-i18n="Click on the folder icon to use this tag as a folder.">Click on the folder icon to use this tag as a folder.</span><br>{{/if}}
|
||||
</small>
|
||||
</div>
|
||||
4
data/st-core-scripts/scripts/templates/themeDelete.html
Normal file
4
data/st-core-scripts/scripts/templates/themeDelete.html
Normal file
@@ -0,0 +1,4 @@
|
||||
<div>
|
||||
<div data-i18n="Are you sure you want to delete the theme?">Are you sure you want to delete the theme?</div>
|
||||
<b>"{{themeName}}"</b>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
<div>
|
||||
This theme contains @import lines in the Custom CSS. Press "Yes" to proceed.
|
||||
</div>
|
||||
97
data/st-core-scripts/scripts/templates/userProfile.html
Normal file
97
data/st-core-scripts/scripts/templates/userProfile.html
Normal file
@@ -0,0 +1,97 @@
|
||||
<div class="flex-container flexFlowColumn justifyLeft flexGap10">
|
||||
<div>
|
||||
<h2 class="marginBot10 flex-container">
|
||||
<span data-i18n="Hi,">Hi,</span><span class="userName margin0"></span>
|
||||
<div data-require-accounts class="userChangeNameButton right_menu_button" title="Change display name.">
|
||||
<i class="fa-fw fa-solid fa-pencil fa-xs"></i>
|
||||
</div>
|
||||
</h2>
|
||||
<div class="accountsDisabledHint" style="display: none;">
|
||||
<span data-i18n="To enable multi-account features, restart the SillyTavern server with">To enable multi-account features, restart the SillyTavern server with</span> <code>enableUserAccounts</code> <span data-i18n="set to true in the config.yaml file.">set to true in the config.yaml file.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3 data-i18n="Account Info">
|
||||
Account Info
|
||||
</h3>
|
||||
<div class="flex-container flexGap10">
|
||||
<div class="flex-container flexFlowColumn alignItemsCenter flexNoGap">
|
||||
<div class="avatar" data-i18n="[title]To change your user avatar, use the buttons below or select a default persona in the Persona Management menu." title="To change your user avatar, use the buttons below or select a default persona in the Persona Management menu.">
|
||||
<img src="img/ai4.png" alt="avatar">
|
||||
</div>
|
||||
<div class="flex-container alignItemsCenter">
|
||||
<div class="userAvatarChange right_menu_button" data-i18n="[title]Set your custom avatar." title="Set your custom avatar.">
|
||||
<i class="fa-fw fa-solid fa-image"></i>
|
||||
</div>
|
||||
<div class="userAvatarRemove right_menu_button" data-i18n="[title]Remove your custom avatar." title="Remove your custom avatar.">
|
||||
<i class="fa-fw fa-solid fa-trash"></i>
|
||||
</div>
|
||||
</div>
|
||||
<form>
|
||||
<input type="file" class="avatarUpload" accept="image/*" hidden>
|
||||
</form>
|
||||
</div>
|
||||
<div class="flex1 flex-container flexGap10">
|
||||
<div class="flex-container flexFlowColumn">
|
||||
<div>
|
||||
<span data-i18n="Handle:">Handle:</span>
|
||||
<span class="userHandle"></span>
|
||||
</div>
|
||||
<div>
|
||||
<span data-i18n="Role:">Role:</span>
|
||||
<span class="userRole"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-container flexFlowColumn">
|
||||
<div>
|
||||
<span data-i18n="Created:">Created:</span>
|
||||
<span class="userCreated"></span>
|
||||
</div>
|
||||
<div>
|
||||
<span data-i18n="Password:">Password:</span>
|
||||
<i class="hasPassword fa-fw fa-solid fa-lock" data-i18n="[title]This account is password protected." title="This account is password protected."></i>
|
||||
<i class="noPassword fa-fw fa-solid fa-lock-open" data-i18n="[title]This account is not password protected." title="This account is not password protected."></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3 data-i18n="Account Actions">
|
||||
Account Actions
|
||||
</h3>
|
||||
<div class="flex-container flexFlowColumn flexNoGap">
|
||||
<div data-require-accounts class="flex-container">
|
||||
<div class="userChangePasswordButton menu_button menu_button_icon" title="Change your password.">
|
||||
<i class="fa-fw fa-solid fa-key"></i>
|
||||
<span data-i18n="Change Password">Change Password</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-container">
|
||||
<div class="userSettingsSnapshotsButton menu_button menu_button_icon" data-i18n="[title]Manage your settings snapshots." title="Manage your settings snapshots.">
|
||||
<i class="fa-fw fa-solid fa-camera"></i>
|
||||
<span data-i18n="Settings Snapshots">Settings Snapshots</span>
|
||||
</div>
|
||||
<div class="userBackupButton menu_button menu_button_icon" data-i18n="[title]Download a complete backup of your user data." title="Download a complete backup of your user data.">
|
||||
<i class="fa-fw fa-solid fa-download"></i>
|
||||
<span data-i18n="Download Backup">Download Backup</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3 data-i18n="Danger Zone">
|
||||
Danger Zone
|
||||
</h3>
|
||||
<div class="flex-container">
|
||||
<div class="userResetSettingsButton menu_button menu_button_icon" data-i18n="[title]Reset your settings to factory defaults." title="Reset your settings to factory defaults.">
|
||||
<i class="fa-fw fa-solid fa-cog warning"></i>
|
||||
<span data-i18n="Reset Settings">Reset Settings</span>
|
||||
</div>
|
||||
<div class="userResetAllButton menu_button menu_button_icon" data-i18n="[title]Wipe all user data and reset your account to factory settings." title="Wipe all user data and reset your account to factory settings.">
|
||||
<i class="fa-fw fa-solid fa-skull warning"></i>
|
||||
<span data-i18n="Reset Everything">Reset Everything</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
19
data/st-core-scripts/scripts/templates/userReset.html
Normal file
19
data/st-core-scripts/scripts/templates/userReset.html
Normal file
@@ -0,0 +1,19 @@
|
||||
<form action="javascript:void(0);" class="flex-container flexFlowColumn">
|
||||
<h3 class="neutral_warning" data-i18n="This will delete all your settings and data. There will be no undo button. Make sure you have a backup before proceeding.">
|
||||
This will delete all your settings and data. There will be no undo button.
|
||||
Make sure you have a backup before proceeding.
|
||||
</h3>
|
||||
<hr>
|
||||
<div data-i18n="Account reset code has been posted to the server console.">
|
||||
Account reset code has been posted to the server console.
|
||||
</div>
|
||||
<br>
|
||||
<div class="currentPasswordBlock">
|
||||
<label data-i18n="Current Password:" for="user">Current Password:</label>
|
||||
<input type="password" name="password" class="text_pole" placeholder="[ No password ]" autocomplete="current-password">
|
||||
</div>
|
||||
<div class="resetCodeBlock">
|
||||
<label data-i18n="Reset Code:" for="password">Reset Code:</label>
|
||||
<input type="text" name="code" class="text_pole" placeholder="XXXX">
|
||||
</div>
|
||||
</form>
|
||||
1
data/st-core-scripts/scripts/templates/wandButton.html
Normal file
1
data/st-core-scripts/scripts/templates/wandButton.html
Normal file
@@ -0,0 +1 @@
|
||||
<div id="extensionsMenuButton" style="display: none;" class="fa-solid fa-magic-wand-sparkles interactable" title="Extensions" data-i18n="[title]Extensions"></div>
|
||||
16
data/st-core-scripts/scripts/templates/wandMenu.html
Normal file
16
data/st-core-scripts/scripts/templates/wandMenu.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<div id="extensionsMenu" class="options-content" style="display: none;">
|
||||
<div id="data_bank_wand_container" class="extension_container"></div>
|
||||
<div id="attach_file_wand_container" class="extension_container"></div>
|
||||
<div id="sd_wand_container" class="extension_container"></div>
|
||||
<div id="caption_wand_container" class="extension_container"></div>
|
||||
<div id="tts_wand_container" class="extension_container"></div>
|
||||
<div id="screen_share_wand_container" class="extension_container"></div>
|
||||
<div id="prompt_inspector_wand_container" class="extension_container"></div>
|
||||
<div id="emulatorjs_wand_container" class="extension_container"></div>
|
||||
<div id="notebook_wand_container" class="extension_container"></div>
|
||||
<div id="chess_wand_container" class="extension_container"></div>
|
||||
<div id="token_counter_wand_container" class="extension_container"></div>
|
||||
<div id="dice_wand_container" class="extension_container"></div>
|
||||
<div id="objective_wand_container" class="extension_container"></div>
|
||||
<div id="translate_wand_container" class="extension_container"></div>
|
||||
</div>
|
||||
89
data/st-core-scripts/scripts/templates/welcome.html
Normal file
89
data/st-core-scripts/scripts/templates/welcome.html
Normal file
@@ -0,0 +1,89 @@
|
||||
<h3>
|
||||
<span id="version_display_welcome">{{displayVersion}}</span>
|
||||
</h3>
|
||||
<a href="https://docs.sillytavern.app/usage/update/" target="_blank" data-i18n="Want to update?">
|
||||
Want to update?
|
||||
</a>
|
||||
<h3 data-i18n="How to start chatting?">How to start chatting?</h3>
|
||||
<ol>
|
||||
<li>
|
||||
<span data-i18n="Click _space">Click </span>
|
||||
<button class="menu_button menu_button_icon drawer-opener inline-flex" data-target="sys-settings-button">
|
||||
<i class="fa-solid fa-plug"></i>
|
||||
<span data-i18n="API Connections">API Connections</span>
|
||||
</button>
|
||||
<span data-i18n="and connect to an">and connect to an</span>
|
||||
<a href="https://docs.sillytavern.app/usage/api-connections/" target="_blank">
|
||||
<span class="fa-solid fa-circle-question"></span>
|
||||
<span data-i18n="API">API</span></a>.
|
||||
</li>
|
||||
<li>
|
||||
<span data-i18n="Click _space">Click </span>
|
||||
<button class="menu_button menu_button_icon drawer-opener inline-flex" data-target="rightNavHolder">
|
||||
<i class="fa-solid fa-address-card"></i>
|
||||
<span data-i18n="Character Management">Character Management</span>
|
||||
</button>
|
||||
<span data-i18n="and pick a character."> and pick a character.</span>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<div>
|
||||
<span data-i18n="You can add more">You can add more</span>
|
||||
<button class="open_characters_library menu_button menu_button_icon inline-flex">
|
||||
<i class="fa-solid fa-image-portrait"></i>
|
||||
<span data-i18n="Sample characters">Sample characters</span>
|
||||
</button>
|
||||
<span data-i18n="or;or_welcome">or</span>
|
||||
<button class="external_import_button menu_button menu_button_icon inline-flex">
|
||||
<i class="fa-solid fa-cloud-arrow-down"></i>
|
||||
<span data-i18n="Import Characters">Import characters</span>
|
||||
</button>
|
||||
<span data-i18n="from other websites">from other websites.</span>
|
||||
</div>
|
||||
<div>
|
||||
<span data-i18n="Go to the">Go to the</span>
|
||||
|
||||
<i data-i18n="Download Extensions & Assets">Download Extensions & Assets</i>
|
||||
<span data-i18n="menu within">menu within</span>
|
||||
|
||||
<button class="menu_button menu_button_icon drawer-opener inline-flex" data-target="extensions-settings-button">
|
||||
<i class="fa-solid fa-cubes"></i>
|
||||
<span data-i18n="Extensions">Extensions</span>
|
||||
</button>
|
||||
|
||||
<span data-i18n="to install additional features.">to install additional features.</span>
|
||||
</div>
|
||||
|
||||
<h3 data-i18n="Confused or lost?">Confused or lost?</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<span class="note-link-span"><a class="fa-solid fa-circle-question" target="_blank" href="https://docs.sillytavern.app/"></a></span> - <span data-i18n="click these icons!">click these icons!</span>
|
||||
</li>
|
||||
<li>
|
||||
<span data-i18n="Enter">Enter </span><code>/?</code><span data-i18n="in the chat bar"> in the chat bar</span>
|
||||
</li>
|
||||
<li>
|
||||
<a target="_blank" href="https://docs.sillytavern.app/" data-i18n="SillyTavern Documentation Site">
|
||||
SillyTavern Documentation Site
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 data-i18n="Still have questions?">Still have questions?</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<a target="_blank" href="https://discord.gg/sillytavern" data-i18n="Join the SillyTavern Discord">
|
||||
Join the SillyTavern Discord
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a target="_blank" href="https://github.com/SillyTavern/SillyTavern/issues" data-i18n="Post a GitHub issue">
|
||||
Post a GitHub issue
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a target="_blank" href="https://github.com/SillyTavern/SillyTavern#questions-or-suggestions" data-i18n="Contact the developers">
|
||||
Contact the developers
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
90
data/st-core-scripts/scripts/templates/welcomePanel.html
Normal file
90
data/st-core-scripts/scripts/templates/welcomePanel.html
Normal file
@@ -0,0 +1,90 @@
|
||||
<div class="welcomePanel">
|
||||
<div class="welcomeHeaderTitle">
|
||||
<img src="img/logo.png" alt="SillyTavern Logo" class="welcomeHeaderLogo">
|
||||
<span class="welcomeHeaderVersionDisplay">{{version}}</span>
|
||||
<div class="mes_button showRecentChats" title="Show recent chats" data-i18n="[title]Show recent chats">
|
||||
<i class="fa-solid fa-circle-chevron-down fa-fw fa-lg"></i>
|
||||
</div>
|
||||
<div class="mes_button hideRecentChats" title="Hide recent chats" data-i18n="[title]Hide recent chats">
|
||||
<i class="fa-solid fa-circle-xmark fa-fw fa-lg"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="welcomeHeader">
|
||||
<div class="recentChatsTitle" data-i18n="Recent Chats">
|
||||
Recent Chats
|
||||
</div>
|
||||
<div class="welcomeShortcuts">
|
||||
<a class="menu_button menu_button_icon" target="_blank" href="https://docs.sillytavern.app/">
|
||||
<i class="fa-solid fa-question-circle"></i>
|
||||
<span data-i18n="Docs">Docs</span>
|
||||
</a>
|
||||
<a class="menu_button menu_button_icon" target="_blank" href="https://github.com/SillyTavern/SillyTavern">
|
||||
<i class="fa-brands fa-github"></i>
|
||||
<span data-i18n="GitHub">GitHub</span>
|
||||
</a>
|
||||
<a class="menu_button menu_button_icon" target="_blank" href="https://discord.gg/sillytavern">
|
||||
<i class="fa-brands fa-discord"></i>
|
||||
<span data-i18n="Discord">Discord</span>
|
||||
</a>
|
||||
<span class="welcomeShortcutsSeparator">|</span>
|
||||
<button class="openTemporaryChat menu_button menu_button_icon">
|
||||
<i class="fa-solid fa-comment-dots"></i>
|
||||
<span data-i18n="Temporary Chat">Temporary Chat</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="welcomeRecent">
|
||||
<div class="recentChatList">
|
||||
{{#if empty}}
|
||||
<div class="noRecentChat">
|
||||
<i class="fa-solid fa-comment-dots"></i>
|
||||
<span data-i18n="No recent chats">No recent chats</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#each chats}}
|
||||
{{#with this}}
|
||||
<div class="recentChat {{#if hidden}}hidden{{/if}} {{#if is_group}}group{{/if}}" data-file="{{chat_name}}" data-avatar="{{avatar}}" data-group="{{group}}">
|
||||
<div class="avatar" title="[Character] {{char_name}} File: {{avatar}}">
|
||||
<img src="{{char_thumbnail}}" alt="{{char_name}}">
|
||||
</div>
|
||||
<div class="recentChatInfo">
|
||||
<div class="chatNameContainer">
|
||||
<div class="chatName" title="{{file_name}}">
|
||||
<strong class="characterName">{{char_name}}</strong>
|
||||
<span>–</span>
|
||||
<span>{{chat_name}}</span>
|
||||
</div>
|
||||
<small class="chatDate" title="{{date_long}}">{{date_short}}</small>
|
||||
<div class="chatActions">
|
||||
<button class="menu_button menu_button_icon renameChat" title="Rename chat" data-i18n="[title]Rename chat">
|
||||
<i class="fa-solid fa-pen-to-square fa-fw"></i>
|
||||
</button>
|
||||
<button class="menu_button menu_button_icon deleteChat" title="Delete chat" data-i18n="[title]Delete chat">
|
||||
<i class="fa-solid fa-trash fa-fw"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="chatMessageContainer">
|
||||
<div class="chatMessage" title="{{mes}}">
|
||||
{{mes}}
|
||||
</div>
|
||||
<div class="chatStats">
|
||||
<div class="counterBlock">
|
||||
<i class="fa-solid fa-comment fa-xs"></i>
|
||||
<small>{{chat_items}}</small>
|
||||
</div>
|
||||
<small class="fileSize">{{file_size}}</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/with}}
|
||||
{{/each}}
|
||||
{{#if more}}
|
||||
<button class="menu_button menu_button_icon showMoreChats">
|
||||
<small class="fa-solid fa-chevron-down fa-fw fa-1x"></small>
|
||||
</button>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
14
data/st-core-scripts/scripts/templates/welcomePrompt.html
Normal file
14
data/st-core-scripts/scripts/templates/welcomePrompt.html
Normal file
@@ -0,0 +1,14 @@
|
||||
<div class="flex-container">
|
||||
<button class="menu_button menu_button_icon drawer-opener inline-flex" data-target="sys-settings-button">
|
||||
<i class="fa-solid fa-plug"></i>
|
||||
<span data-i18n="API Connections">API Connections</span>
|
||||
</button>
|
||||
<button class="menu_button menu_button_icon drawer-opener inline-flex" data-target="rightNavHolder">
|
||||
<i class="fa-solid fa-address-card"></i>
|
||||
<span data-i18n="Character Management">Character Management</span>
|
||||
</button>
|
||||
<button class="menu_button menu_button_icon drawer-opener inline-flex" data-target="extensions-settings-button">
|
||||
<i class="fa-solid fa-cubes"></i>
|
||||
<span data-i18n="Extensions">Extensions</span>
|
||||
</button>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
<div id="WIEntryHeaderTitlesPC" class="flex-container wide100p spaceBetween justifyCenter textAlignCenter" style="padding:0 7.0em;">
|
||||
<small class="flex1" data-i18n="Title/Memo">Title/Memo</small>
|
||||
<small style="width: calc(3.5em + 10px)" data-i18n="Strategy">Strategy</small>
|
||||
<small style="width: calc(3.5em + 20px)" data-i18n="Position">Position</small>
|
||||
<small style="width: calc(3.5em + 15px)" data-i18n="Depth">Depth</small>
|
||||
<small style="width: calc(3.5em + 20px)" data-i18n="Order">Order</small>
|
||||
<small style="width: calc(3.5em + 15px)" data-i18n="Trigger %">Trigger %</small>
|
||||
</div>
|
||||
Reference in New Issue
Block a user