diff --git a/Launcher.bat b/Launcher.bat new file mode 100644 index 000000000..347554786 --- /dev/null +++ b/Launcher.bat @@ -0,0 +1,641 @@ +@echo off +REM -------------------------------------------- +REM This script was created by: Deffcolony +REM -------------------------------------------- +title SillyTavern Launcher +setlocal + +REM ANSI Escape Code for Colors +set "reset=[0m" + +REM Strong Foreground Colors +set "white_fg_strong=[90m" +set "red_fg_strong=[91m" +set "green_fg_strong=[92m" +set "yellow_fg_strong=[93m" +set "blue_fg_strong=[94m" +set "magenta_fg_strong=[95m" +set "cyan_fg_strong=[96m" + +REM Normal Background Colors +set "red_bg=[41m" +set "blue_bg=[44m" + +REM Environment Variables (TOOLBOX 7-Zip) +set "zip7version=7z2301-x64" +set "zip7_install_path=%ProgramFiles%\7-Zip" +set "zip7_download_path=%TEMP%\%zip7version%.exe" + +REM Environment Variables (TOOLBOX FFmpeg) +set "ffmpeg_url=https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z" +set "ffdownload_path=%TEMP%\ffmpeg.7z" +set "ffextract_path=C:\ffmpeg" +set "bin_path=%ffextract_path%\bin" + +REM Environment Variables (TOOLBOX Node.js) +set "node_installer_path=%temp%\NodejsInstaller.msi" + +REM Environment Variables (winget) +set "winget_path=%userprofile%\AppData\Local\Microsoft\WindowsApps" + +REM Environment Variables (TOOLBOX Install Extras) +set "miniconda_path=%userprofile%\miniconda" + + +REM Check if Winget is installed; if not, then install it +winget --version > nul 2>&1 +if %errorlevel% neq 0 ( + echo %yellow_fg_strong%[WARN] Winget is not installed on this system. + echo %blue_fg_strong%[INFO]%reset% Installing Winget... + bitsadmin /transfer "Microsoft.DesktopAppInstaller_8wekyb3d8bbwe" /download /priority FOREGROUND "https://github.com/microsoft/winget-cli/releases/download/v1.5.2201/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" "%temp%\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" + start "" "%temp%\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" + echo %green_fg_strong%Winget is now installed.%reset% +) else ( + echo %blue_fg_strong%[INFO] Winget is already installed.%reset% +) + +rem Get the current PATH value from the registry +for /f "tokens=2*" %%A in ('reg query "HKCU\Environment" /v PATH') do set "current_path=%%B" + +rem Check if the paths are already in the current PATH +echo %current_path% | find /i "%winget_path%" > nul +set "ff_path_exists=%errorlevel%" + +rem Append the new paths to the current PATH only if they don't exist +if %ff_path_exists% neq 0 ( + set "new_path=%current_path%;%winget_path%" + + rem Update the PATH value in the registry + reg add "HKCU\Environment" /v PATH /t REG_EXPAND_SZ /d "%new_path%" /f + + rem Update the PATH value for the current session + setx PATH "%new_path%" > nul + echo %green_fg_strong%winget added to PATH.%reset% +) else ( + set "new_path=%current_path%" + echo %blue_fg_strong%[INFO] winget already exists in PATH.%reset% +) + + +REM Check if Git is installed if not then install git +git --version > nul 2>&1 +if %errorlevel% neq 0 ( + echo %yellow_fg_strong%[WARN] Git is not installed on this system.%reset% + echo %blue_fg_strong%[INFO]%reset% Installing Git using Winget... + winget install -e --id Git.Git + echo %green_fg_strong%Git is installed. Please restart the Launcher.%reset% + pause + exit +) else ( + echo %blue_fg_strong%[INFO] Git is already installed.%reset% +) + +REM Check for updates +git fetch origin + +for /f %%i in ('git rev-list HEAD...origin/%current_branch%') do ( + set "update_status=%yellow_fg_strong%Update Available%reset%" + goto :found_update +) + +set "update_status=%green_fg_strong%Up to Date%reset%" +:found_update + + +REM Home - frontend +:home +cls +echo %blue_fg_strong%/ Home%reset% +echo ------------------------------------- +echo What would you like to do? +echo 1. Start SillyTavern +echo 2. Start SillyTavern + Extras +echo 3. Update +echo 4. Backup +echo 5. Switch branch +echo 6. Toolbox +echo 7. Exit + +REM Get the current Git branch +for /f %%i in ('git branch --show-current') do set current_branch=%%i +echo ======== VERSION STATUS ========= +echo SillyTavern branch: %cyan_fg_strong%%current_branch%%reset% +echo Update Status: %update_status% +echo ================================= + +set "choice=" +set /p "choice=Choose Your Destiny (default is 1): " + +REM Default to choice 1 if no input is provided +if not defined choice set "choice=1" + +REM Home - backend +if "%choice%"=="1" ( + call :start +) else if "%choice%"=="2" ( + call :start_extras +) else if "%choice%"=="3" ( + call :update +) else if "%choice%"=="4" ( + call :backup_menu +) else if "%choice%"=="5" ( + call :switchbrance_menu +) else if "%choice%"=="6" ( + call :toolbox +) else if "%choice%"=="7" ( + exit +) else ( + color 6 + echo WARNING: Invalid number. Please insert a valid number. + pause + goto :home +) + + +:start +REM Check if Node.js is installed +node --version > nul 2>&1 +if %errorlevel% neq 0 ( + echo %red_fg_strong%[ERROR] node command not found in PATH%reset% + echo %red_bg%Please make sure Node.js is installed and added to your PATH.%reset% + echo %blue_bg%To install Node.js go to Toolbox%reset% + pause + goto :home +) +echo %blue_fg_strong%[INFO]%reset% A new window has been launched. +start /wait cmd /c start.bat +goto :home + + +:start_extras +REM Run conda activate from the Miniconda installation +call "%miniconda_path%\Scripts\activate.bat" + +REM Activate the sillytavernextras environment +call conda activate sillytavernextras + +REM Start SillyTavern Extras with desired configurations +python server.py --coqui-gpu --rvc-save-file --cuda-device=0 --max-content-length=1000 --enable-modules=caption,summarize,classify,rvc,coqui-tts --classification-model=joeddav/distilbert-base-uncased-go-emotions-student --share +goto :home + + +:update +echo Updating... +pushd %~dp0 +REM Check if git is installed +git --version > nul 2>&1 +if %errorlevel% neq 0 ( + echo %red_fg_strong%[ERROR] git command not found in PATH. Skipping update.%reset% + echo %red_bg%Please make sure Git is installed and added to your PATH.%reset% + echo %blue_bg%To install Git go to Toolbox%reset% +) else ( + call git pull --rebase --autostash + if %errorlevel% neq 0 ( + REM incase there is still something wrong + echo There were errors while updating. Please download the latest version manually. + ) +) +pause +goto :home + + +REM Switch Brance - frontend +:switchbrance_menu +cls +echo %blue_fg_strong%/ Home / Switch Branch%reset% +echo ------------------------------------- +echo What would you like to do? +echo 1. Switch to Release - SillyTavern +echo 2. Switch to Staging - SillyTavern +echo 3. Switch to Main - Extras +echo 4. Switch to Neo - Extras +echo 5. Back to Home + +REM Get the current Git branch +for /f %%i in ('git branch --show-current') do set current_branch=%%i +echo ======== VERSION STATUS ========= +echo SillyTavern branch: %cyan_fg_strong%%current_branch%%reset% +echo Extras branch: %cyan_fg_strong%%current_branch%%reset% +echo ================================= +set /p brance_choice=Choose Your Destiny: + +REM Switch Brance - backend +if "%brance_choice%"=="1" ( + call :switch_release_st +) else if "%brance_choice%"=="2" ( + call :switch_staging_st +) else if "%brance_choice%"=="3" ( + call :switch_main_ste +) else if "%brance_choice%"=="4" ( + call :switch_neo_ste +) else if "%brance_choice%"=="5" ( + goto :home +) else ( + color 6 + echo WARNING: Invalid number. Please insert a valid number. + pause + goto :switchbrance_menu +) + + +:switch_release_st +echo %blue_fg_strong%[INFO]%reset% Switching to release branch... +git switch release +pause +goto :switchbrance_menu + + +:switch_staging_st +echo %blue_fg_strong%[INFO]%reset% Switching to staging branch... +git switch staging +pause +goto :switchbrance_menu + + +:switch_main_ste +echo %blue_fg_strong%[INFO]%reset% Switching to main branch... +cd SillyTavern-extras +git switch main +pause +goto :switchbrance_menu + + +:switch_neo_ste +echo %blue_fg_strong%[INFO]%reset% Switching to neo branch... +cd SillyTavern-extras +git switch neo +pause +goto :switchbrance_menu + + +REM Backup - Frontend +:backup_menu +REM Check if 7-Zip is installed +7z > nul 2>&1 +if %errorlevel% neq 0 ( + echo %red_fg_strong%[ERROR] 7z command not found in PATH%reset% + echo %red_bg%Please make sure 7-Zip is installed and added to your PATH.%reset% + echo %blue_bg%To install 7-Zip go to Toolbox%reset% + pause + goto :home +) +cls +echo %blue_fg_strong%/ Home / Backup%reset% +echo ------------------------------------- +echo What would you like to do? +REM color 7 +echo 1. Create Backup +echo 2. Restore Backup +echo 3. Back to Home + +set /p backup_choice=Choose Your Destiny: + +REM Backup - Backend +if "%backup_choice%"=="1" ( + call :create_backup +) else if "%backup_choice%"=="2" ( + call :restore_backup +) else if "%backup_choice%"=="3" ( + goto :home +) else ( + color 6 + echo WARNING: Invalid number. Please insert a valid number. + pause + goto :backup_menu +) + +:create_backup +REM Create a backup using 7zip +7z a "backups\backup_.7z" ^ + "public\assets\*" ^ + "public\Backgrounds\*" ^ + "public\Characters\*" ^ + "public\Chats\*" ^ + "public\context\*" ^ + "public\Group chats\*" ^ + "public\Groups\*" ^ + "public\instruct\*" ^ + "public\KoboldAI Settings\*" ^ + "public\movingUI\*" ^ + "public\NovelAI Settings\*" ^ + "public\OpenAI Settings\*" ^ + "public\QuickReplies\*" ^ + "public\TextGen Settings\*" ^ + "public\themes\*" ^ + "public\User Avatars\*" ^ + "public\user\*" ^ + "public\worlds\*" ^ + "public\settings.json" ^ + "secrets.json" + +REM Get current date and time components +for /f "tokens=1-3 delims=/- " %%d in ("%date%") do ( + set "day=%%d" + set "month=%%e" + set "year=%%f" +) + +for /f "tokens=1-2 delims=:." %%h in ("%time%") do ( + set "hour=%%h" + set "minute=%%i" +) + +REM Pad single digits with leading zeros +setlocal enabledelayedexpansion +set "day=0!day!" +set "month=0!month!" +set "hour=0!hour!" +set "minute=0!minute!" + +set "formatted_date=%month:~-2%-%day:~-2%-%year%_%hour:~-2%%minute:~-2%" + +REM Rename the backup file with the formatted date and time +rename "backups\backup_.7z" "backup_%formatted_date%.7z" + +endlocal + + +echo %green_fg_strong%Backup created successfully!%reset% +pause +endlocal +goto :backup_menu + + +:restore_backup +REM Restore a backup using 7zip + +echo List of available backups: +echo ========================= + +setlocal enabledelayedexpansion +set "backup_count=0" + +for %%F in ("backups\backup_*.7z") do ( + set /a "backup_count+=1" + set "backup_files[!backup_count!]=%%~nF" + echo !backup_count!. %cyan_fg_strong%%%~nF%reset% +) + +echo ========================= +set /p "restore_choice=Enter number of backup to restore: " + +if "%restore_choice%" geq "1" ( + if "%restore_choice%" leq "%backup_count%" ( + set "selected_backup=!backup_files[%restore_choice%]!" + echo Restoring backup !selected_backup!... + REM Extract the contents of the "public" folder directly into the existing "public" folder + 7z x "backups\!selected_backup!.7z" -o"temp" -aoa + xcopy /y /e "temp\public\*" "public\" + rmdir /s /q "temp" + echo %green_fg_strong%!selected_backup! restored successfully.%reset% + ) else ( + color 6 + echo WARNING: Invalid backup number. Please insert a valid number. + ) +) else ( + color 6 + echo WARNING: Invalid number. Please insert a valid number. +) +pause +goto :backup_menu + + +REM Toolbox - Frontend +:toolbox +cls +echo %blue_fg_strong%/ Home / Toolbox%reset% +echo ------------------------------------- +echo What would you like to do? +REM color 7 +echo 1. Install 7-Zip +echo 2. Install FFmpeg +echo 3. Install Node.js +echo 4. Edit Environment +echo 5. Reinstall SillyTavern +echo 6. Reinstall Extras +echo 7. Back to Home + +set /p toolbox_choice=Choose Your Destiny: + +REM Toolbox - Backend +if "%toolbox_choice%"=="1" ( + call :install7zip +) else if "%toolbox_choice%"=="2" ( + call :installffmpeg +) else if "%toolbox_choice%"=="3" ( + call :installnodejs +) else if "%toolbox_choice%"=="4" ( + call :editenvironment +) else if "%toolbox_choice%"=="5" ( + call :reinstallsillytavern +) else if "%toolbox_choice%"=="6" ( + call :reinstallextras +) else if "%toolbox_choice%"=="7" ( + goto :home +) else ( + color 6 + echo WARNING: Invalid number. Please insert a valid number. + pause + goto :toolbox +) + + +:install7zip +echo %blue_fg_strong%[INFO]%reset% Installing 7-Zip... +winget install -e --id 7zip.7zip + +rem Get the current PATH value from the registry +for /f "tokens=2*" %%A in ('reg query "HKCU\Environment" /v PATH') do set "current_path=%%B" + +rem Check if the paths are already in the current PATH +echo %current_path% | find /i "%zip7_install_path%" > nul +set "zip7_path_exists=%errorlevel%" + +rem Append the new paths to the current PATH only if they don't exist +if %zip7_path_exists% neq 0 ( + set "new_path=%current_path%;%zip7_install_path%" + echo %green_fg_strong%7-Zip added to PATH.%reset% +) else ( + set "new_path=%current_path%" + echo %blue_fg_strong%[INFO] 7-Zip already exists in PATH.%reset% +) + +rem Update the PATH value in the registry +reg add "HKCU\Environment" /v PATH /t REG_EXPAND_SZ /d "%new_path%" /f + +rem Update the PATH value for the current session +setx PATH "%new_path%" + +echo %green_fg_strong%7-Zip is installed. Please restart the Launcher.%reset% +pause +exit + + +:installffmpeg +REM Check if 7-Zip is installed +7z > nul 2>&1 +if %errorlevel% neq 0 ( + echo %red_fg_strong%[ERROR] 7z command not found in PATH%reset% + echo %red_bg%Please make sure 7-Zip is installed and added to your PATH.%reset% + echo %blue_bg%To install 7-Zip go to Toolbox%reset% + pause + goto :toolbox +) + +echo %blue_fg_strong%[INFO]%reset% Downloading FFmpeg archive... +rem bitsadmin /transfer "ffmpeg" /download /priority FOREGROUND "%ffmpeg_url%" "%ffdownload_path%" +curl -o "%ffdownload_path%" "%ffmpeg_url%" + +echo %blue_fg_strong%[INFO]%reset% Creating ffmpeg directory if it doesn't exist... +if not exist "%ffextract_path%" ( + mkdir "%ffextract_path%" +) + +echo %blue_fg_strong%[INFO]%reset% Extracting FFmpeg archive... +7z x "%ffdownload_path%" -o"%ffextract_path%" + + +echo %blue_fg_strong%[INFO]%reset% Moving FFmpeg contents to C:\ffmpeg... +for /d %%i in ("%ffextract_path%\ffmpeg-*-full_build") do ( + xcopy "%%i\bin" "%ffextract_path%\bin" /E /I /Y + xcopy "%%i\doc" "%ffextract_path%\doc" /E /I /Y + xcopy "%%i\presets" "%ffextract_path%\presets" /E /I /Y + rd "%%i" /S /Q +) + +rem Get the current PATH value from the registry +for /f "tokens=2*" %%A in ('reg query "HKCU\Environment" /v PATH') do set "current_path=%%B" + +rem Check if the paths are already in the current PATH +echo %current_path% | find /i "%bin_path%" > nul +set "ff_path_exists=%errorlevel%" + +rem Append the new paths to the current PATH only if they don't exist +if %ff_path_exists% neq 0 ( + set "new_path=%current_path%;%bin_path%" + echo %green_fg_strong%ffmpeg added to PATH.%reset% +) else ( + set "new_path=%current_path%" + echo %blue_fg_strong%[INFO] ffmpeg already exists in PATH.%reset% +) + +rem Update the PATH value in the registry +reg add "HKCU\Environment" /v PATH /t REG_EXPAND_SZ /d "%new_path%" /f + +rem Update the PATH value for the current session +setx PATH "%new_path%" > nul + +del "%ffdownload_path%" +echo %green_fg_strong%FFmpeg is installed. Please restart the Launcher.%reset% +pause +exit + + +:installnodejs +echo %blue_fg_strong%[INFO]%reset% Installing Node.js... +winget install -e --id OpenJS.NodeJS +echo %green_fg_strong%Node.js is installed. Please restart the Launcher.%reset% +pause +exit + +:editenvironment +rundll32.exe sysdm.cpl,EditEnvironmentVariables +goto :toolbox + +:reinstallsillytavern +setlocal enabledelayedexpansion +chcp 65001 > nul +REM Define the names of items to be excluded +set "script_name=%~nx0" +set "excluded_folders=backups" +set "excluded_files=!script_name!" + +REM Confirm with the user before proceeding +echo. +echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset% +echo %red_bg%║ WARNING: This will delete all data in the current branch except the Backups. ║%reset% +echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset% +echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset% +echo. +echo Are you sure you want to proceed? [Y/N] +set /p "confirmation=" +if /i "!confirmation!"=="Y" ( + REM Remove non-excluded folders + for /d %%D in (*) do ( + set "exclude_folder=" + for %%E in (!excluded_folders!) do ( + if "%%D"=="%%E" set "exclude_folder=true" + ) + if not defined exclude_folder ( + rmdir /s /q "%%D" 2>nul + ) + ) + + REM Remove non-excluded files + for %%F in (*) do ( + set "exclude_file=" + for %%E in (!excluded_files!) do ( + if "%%F"=="%%E" set "exclude_file=true" + ) + if not defined exclude_file ( + del /f /q "%%F" 2>nul + ) + ) + + REM Clone repo into %temp% folder + git clone https://github.com/SillyTavern/SillyTavern.git "%temp%\SillyTavernTemp" + + REM Move the contents of the temporary folder to the current directory + xcopy /e /y "%temp%\SillyTavernTemp\*" . + + REM Clean up the temporary folder + rmdir /s /q "%temp%\SillyTavernTemp" + + echo %green_fg_strong%SillyTavern reinstalled successfully!%reset% +) else ( + echo Reinstall canceled. +) +endlocal +pause +goto :toolbox + + +:reinstallextras +cls +echo %blue_fg_strong%SillyTavern Extras%reset% +echo --------------------------------------------------------------- +echo %blue_fg_strong%[INFO]%reset% Installing SillyTavern Extras... +echo -------------------------------- +echo %cyan_fg_strong%This may take a while. Please be patient.%reset% + +winget install -e --id Anaconda.Miniconda3 + +REM Run conda activate from the Miniconda installation +call "%miniconda_path%\Scripts\activate.bat" + +REM Create a Conda environment named sillytavernextras +call conda create -n sillytavernextras -y + +REM Activate the sillytavernextras environment +call conda activate sillytavernextras + +REM Install Python 3.11 and Git in the sillytavernextras environment +call conda install python=3.11 git -y + +REM Clone the SillyTavern Extras repository +git clone https://github.com/SillyTavern/SillyTavern-extras + +REM Navigate to the SillyTavern-extras directory +cd SillyTavern-extras + +REM Install Python dependencies from requirements files +pip install -r requirements-complete.txt +pip install -r requirements-rvc.txt + +REM Start SillyTavern Extras with desired configurations +python server.py --coqui-gpu --rvc-save-file --cuda-device=0 --max-content-length=1000 --enable-modules=caption,summarize,classify,rvc,coqui-tts --classification-model=joeddav/distilbert-base-uncased-go-emotions-student --share + +echo. +echo %green_fg_strong%SillyTavern Extras have been successfully installed.%reset% +pause +goto :toolbox diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000..aea622d99 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,25 @@ +# Security Policy + +We take the security of this project seriously. If you discover any security vulnerabilities or have concerns regarding the security of this repository, please reach out to us immediately. We appreciate your efforts in responsibly disclosing the issue and will make every effort to address it promptly. + +## Reporting a Vulnerability + +To report a security vulnerability, please follow these steps: + +1. Go to the **Security** tab of this repository on GitHub. +2. Click on **"Report a vulnerability"**. +3. Provide a clear description of the vulnerability and its potential impact. Be as detailed as possible. +4. If applicable, include steps or a PoC (Proof of Concept) to reproduce the vulnerability. +5. Submit the report. + +Once we receive the private report notification, we will promptly investigate and assess the reported vulnerability. + +Please do not disclose any potential vulnerabilities in public repositories, issue trackers, or forums until we have had a chance to review and address the issue. + +## Scope + +This security policy applies to all the code and files within this repository and its dependencies actively maintained by us. If you encounter a security issue in a dependency that is not directly maintained by us, please follow responsible disclosure practices and report it to the respective project. + +While we strive to ensure the security of this project, please note that there may be limitations on resources, response times, and mitigations. + +Thank you for your help in making this project more secure. diff --git a/default/config.conf b/default/config.conf index 92c99ba02..962c6ce5b 100644 --- a/default/config.conf +++ b/default/config.conf @@ -15,17 +15,21 @@ const skipContentCheck = false; // If true, no new default content will be deliv // Change this setting only on "trusted networks". Do not change this value unless you are aware of the issues that can arise from changing this setting and configuring a insecure setting. const securityOverride = false; +// Request overrides for additional headers +const requestOverrides = []; + module.exports = { - port, - whitelist, - whitelistMode, - basicAuthMode, - basicAuthUser, - autorun, - enableExtensions, - listen, - disableThumbnails, - allowKeysExposure, - securityOverride, - skipContentCheck, + port, + whitelist, + whitelistMode, + basicAuthMode, + basicAuthUser, + autorun, + enableExtensions, + listen, + disableThumbnails, + allowKeysExposure, + securityOverride, + skipContentCheck, + requestOverrides, }; diff --git a/default/settings.json b/default/settings.json index f90b1ab4c..2e520fdbb 100644 --- a/default/settings.json +++ b/default/settings.json @@ -68,7 +68,6 @@ "tokenizer": 99, "token_padding": 64, "collapse_newlines": false, - "pygmalion_formatting": 0, "pin_examples": false, "strip_examples": false, "trim_sentences": false, @@ -604,7 +603,6 @@ "proxy_password": "", "assistant_prefill": "", "use_ai21_tokenizer": false, - "exclude_assistant": false, - "nsfw_avoidance_prompt": "Avoid writing a NSFW/Smut reply. Creatively write around it NSFW/Smut scenarios in character." + "exclude_assistant": false } } diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 000000000..652e04b1c --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "module": "ESNext", + "target": "ESNext", + "moduleResolution": "node", + "strictNullChecks": true, + "strictFunctionTypes": true, + "checkJs": true, + "allowUmdGlobalAccess": true, + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true + }, + "exclude": [ + "node_modules", + "**/node_modules/*" + ] +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0863e0a49..ec0959a80 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,17 @@ { "name": "sillytavern", - "version": "1.10.0", + "version": "1.10.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "sillytavern", - "version": "1.10.0", + "version": "1.10.1", "license": "AGPL-3.0", "dependencies": { "@agnai/sentencepiece-js": "^1.1.1", "@agnai/web-tokenizers": "^0.1.3", "@dqbd/tiktoken": "^1.0.2", - "axios": "^1.4.0", "command-exists": "^1.2.9", "compression": "^1", "cookie-parser": "^1.4.6", @@ -32,8 +31,7 @@ "mime-types": "^2.1.35", "multer": "^1.4.5-lts.1", "node-fetch": "^2.6.11", - "node-rest-client": "^3.1.1", - "open": "^8.4.0", + "open": "^8.4.2", "piexifjs": "^1.0.6", "png-chunk-text": "^1.0.0", "png-chunks-encode": "^1.0.0", @@ -769,11 +767,6 @@ "node": ">=8" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -783,16 +776,6 @@ "node": ">= 4.0.0" } }, - "node_modules/axios": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", - "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -1011,17 +994,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/command-exists": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", @@ -1205,14 +1177,6 @@ "node": ">=8" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -1481,38 +1445,6 @@ "node": ">= 0.8" } }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -2272,40 +2204,6 @@ } } }, - "node_modules/node-rest-client": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-rest-client/-/node-rest-client-3.1.1.tgz", - "integrity": "sha512-O8RUGGhGLLbzlL7SFOBza1AgUWP3uITv4mas4f5Q7A87HAy6qtYpa8Sj5x4UG9cDf4374v7lWyvgWladI04zzQ==", - "dependencies": { - "debug": "~4.3.3", - "follow-redirects": ">=1.14.7", - "xml2js": ">=0.4.23" - }, - "engines": { - "node": "*" - } - }, - "node_modules/node-rest-client/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/node-rest-client/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -2752,11 +2650,6 @@ "node": ">= 0.10" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -3581,18 +3474,6 @@ "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==" }, - "node_modules/xml2js": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", - "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/xmlbuilder": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", diff --git a/package.json b/package.json index 232322b56..c0c95bc8f 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,6 @@ "@agnai/sentencepiece-js": "^1.1.1", "@agnai/web-tokenizers": "^0.1.3", "@dqbd/tiktoken": "^1.0.2", - "axios": "^1.4.0", "command-exists": "^1.2.9", "compression": "^1", "cookie-parser": "^1.4.6", @@ -23,8 +22,7 @@ "mime-types": "^2.1.35", "multer": "^1.4.5-lts.1", "node-fetch": "^2.6.11", - "node-rest-client": "^3.1.1", - "open": "^8.4.0", + "open": "^8.4.2", "piexifjs": "^1.0.6", "png-chunk-text": "^1.0.0", "png-chunks-encode": "^1.0.0", @@ -51,7 +49,7 @@ "type": "git", "url": "https://github.com/SillyTavern/SillyTavern.git" }, - "version": "1.10.0", + "version": "1.10.1", "scripts": { "start": "node server.js", "start-multi": "node server.js --disableCsrf", diff --git a/public/KoboldAI Settings/Adventurer-NeoX-20B-Erebus.settings b/public/KoboldAI Settings/Adventurer-NeoX-20B-Erebus.settings deleted file mode 100644 index d13c825ee..000000000 --- a/public/KoboldAI Settings/Adventurer-NeoX-20B-Erebus.settings +++ /dev/null @@ -1,21 +0,0 @@ -{ - "temp": 0.8, - "top_k": 28, - "top_p": 0.94, - "top_a": 0.00, - "tfs": 0.96, - "typical": 0.98, - "rep_pen": 1.03, - "rep_pen_slope": 0.8, - "rep_pen_range": 120.0, - "ikgen": 200, - "sampler_order": [ - 6, - 4, - 3, - 2, - 0, - 1, - 5 - ] -} \ No newline at end of file diff --git a/public/KoboldAI Settings/Calibrated-Pygmalion-6b.settings b/public/KoboldAI Settings/Calibrated-Pygmalion-6b.settings deleted file mode 100644 index 86877b02d..000000000 --- a/public/KoboldAI Settings/Calibrated-Pygmalion-6b.settings +++ /dev/null @@ -1,20 +0,0 @@ -{ - "temp": 1.0, - "top_p": 0.9, - "top_k": 40, - "top_a": 0.0, - "tfs": 0.9, - "typical": 1.0, - "rep_pen": 1.01, - "rep_pen_slope": 0.9, - "rep_pen_range": 1024, - "sampler_order": [ - 6, - 0, - 1, - 2, - 3, - 4, - 5 - ] -} \ No newline at end of file diff --git a/public/KoboldAI Settings/Classic-Pygmalion-2.7b.settings b/public/KoboldAI Settings/Classic-Pygmalion-2.7b.settings deleted file mode 100644 index 618d653f6..000000000 --- a/public/KoboldAI Settings/Classic-Pygmalion-2.7b.settings +++ /dev/null @@ -1,20 +0,0 @@ -{ - "temp": 0.43, - "top_p": 0.96, - "top_k": 0, - "top_a": 0.0, - "tfs": 0.68, - "typical": 1.0, - "rep_pen": 1.17, - "rep_pen_slope": 0.2, - "rep_pen_range": 1024, - "sampler_order": [ - 6, - 0, - 1, - 2, - 3, - 4, - 5 - ] -} \ No newline at end of file diff --git a/public/KoboldAI Settings/Classic-Pygmalion-6b.settings b/public/KoboldAI Settings/Classic-Pygmalion-6b.settings deleted file mode 100644 index c07f13324..000000000 --- a/public/KoboldAI Settings/Classic-Pygmalion-6b.settings +++ /dev/null @@ -1,20 +0,0 @@ -{ - "temp": 0.65, - "top_p": 0.9, - "top_k": 0, - "top_a": 0.0, - "tfs": 0.9, - "typical": 1.0, - "rep_pen": 1.1, - "rep_pen_slope": 0.9, - "rep_pen_range": 1024, - "sampler_order": [ - 6, - 0, - 1, - 2, - 3, - 4, - 5 - ] -} \ No newline at end of file diff --git a/public/KoboldAI Settings/Default-TavernAI.settings b/public/KoboldAI Settings/Default-TavernAI.settings deleted file mode 100644 index 47674f324..000000000 --- a/public/KoboldAI Settings/Default-TavernAI.settings +++ /dev/null @@ -1,20 +0,0 @@ -{ - "temp": 0.79, - "top_k": 0, - "top_p": 0.9, - "top_a": 0, - "typical": 1, - "tfs": 0.95, - "rep_pen": 1.19, - "rep_pen_range": 1024, - "rep_pen_slope": 0.9, - "sampler_order": [ - 6, - 0, - 1, - 2, - 3, - 4, - 5 - ] -} \ No newline at end of file diff --git a/public/KoboldAI Settings/DragonSlayer-Pygmalion-6b.settings b/public/KoboldAI Settings/DragonSlayer-Pygmalion-6b.settings deleted file mode 100644 index 2e3f4add3..000000000 --- a/public/KoboldAI Settings/DragonSlayer-Pygmalion-6b.settings +++ /dev/null @@ -1,20 +0,0 @@ -{ - "temp": 0.79, - "top_p": 0.9, - "top_k": 0, - "top_a": 0.0, - "tfs": 0.95, - "typical": 1.0, - "rep_pen": 1.19, - "rep_pen_slope": 0.9, - "rep_pen_range": 1024, - "sampler_order": [ - 6, - 0, - 1, - 2, - 3, - 4, - 5 - ] -} \ No newline at end of file diff --git a/public/KoboldAI Settings/GPU-Pygmalion-6b.settings b/public/KoboldAI Settings/GPU-Pygmalion-6b.settings deleted file mode 100644 index 637f3a735..000000000 --- a/public/KoboldAI Settings/GPU-Pygmalion-6b.settings +++ /dev/null @@ -1,20 +0,0 @@ -{ - "temp": 0.65, - "top_p": 0.9, - "top_k": 0, - "top_a": 0.0, - "tfs": 0.9, - "typical": 1.0, - "rep_pen": 1.08, - "rep_pen_slope": 0.9, - "rep_pen_range": 1024, - "sampler_order": [ - 6, - 0, - 1, - 2, - 3, - 4, - 5 - ] -} \ No newline at end of file diff --git a/public/KoboldAI Settings/Lancer-OPT-2.7B-Erebus.settings b/public/KoboldAI Settings/Lancer-OPT-2.7B-Erebus.settings deleted file mode 100644 index 5b1273e95..000000000 --- a/public/KoboldAI Settings/Lancer-OPT-2.7B-Erebus.settings +++ /dev/null @@ -1,20 +0,0 @@ -{ - "temp": 0.8, - "top_p": 0.94, - "top_k": 15, - "tfs": 0.96, - "typical": 0.98, - "top_a": 0.01, - "rep_pen": 1.02, - "rep_pen_slope": 0.8, - "rep_pen_range": 256.0, - "sampler_order": [ - 6, - 4, - 3, - 2, - 0, - 1, - 5 - ] -} \ No newline at end of file diff --git a/public/KoboldAI Settings/RA - Pygmalion-1.3b.settings b/public/KoboldAI Settings/RA - Pygmalion-1.3b.settings deleted file mode 100644 index d6d9b5598..000000000 --- a/public/KoboldAI Settings/RA - Pygmalion-1.3b.settings +++ /dev/null @@ -1,20 +0,0 @@ -{ - "temp": 1, - "top_p": 1, - "top_k": 0, - "top_a": 0.0, - "tfs": 0.97, - "typical": 1.0, - "rep_pen": 1.04, - "rep_pen_slope": 0.0, - "rep_pen_range": 1400, - "sampler_order": [ - 6, - 0, - 1, - 2, - 3, - 4, - 5 - ] -} \ No newline at end of file diff --git a/public/NovelAI Settings/Ace_of_Spades-Euterpe.settings b/public/NovelAI Settings/Ace_of_Spades-Euterpe.settings deleted file mode 100644 index 3a781522b..000000000 --- a/public/NovelAI Settings/Ace_of_Spades-Euterpe.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [3, 2, 1, 0], - "temperature": 1.15, - "max_length": 60, - "min_length": 60, - "top_k": 0, - "top_p": 0.95, - "top_a": 1, - "typical_p": 1, - "tail_free_sampling": 0.8, - "repetition_penalty": 2.75, - "repetition_penalty_range": 2048, - "repetition_penalty_slope": 7.02, - "repetition_penalty_frequency": 0, - "repetition_penalty_presence": 0, - "max_context": 2048 -} \ No newline at end of file diff --git a/public/NovelAI Settings/All_Nighter-Euterpe.settings b/public/NovelAI Settings/All_Nighter-Euterpe.settings deleted file mode 100644 index d393b92a5..000000000 --- a/public/NovelAI Settings/All_Nighter-Euterpe.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [1, 0, 3], - "temperature": 1.33, - "max_length": 60, - "min_length": 60, - "top_k": 13, - "top_p": 1, - "top_a": 1, - "typical_p": 1, - "tail_free_sampling": 0.836, - "repetition_penalty": 2.366, - "repetition_penalty_range": 400, - "repetition_penalty_slope": 0.33, - "repetition_penalty_frequency": 0.01, - "repetition_penalty_presence": 0, - "max_context": 2048 -} \ No newline at end of file diff --git a/public/NovelAI Settings/Basic_Coherence-Euterpe.settings b/public/NovelAI Settings/Basic_Coherence-Euterpe.settings deleted file mode 100644 index 22eddd1e5..000000000 --- a/public/NovelAI Settings/Basic_Coherence-Euterpe.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [0, 1, 2, 3], - "temperature": 0.585, - "max_length": 60, - "min_length": 60, - "top_k": 0, - "top_p": 1, - "top_a": 1, - "typical_p": 1, - "tail_free_sampling": 0.87, - "repetition_penalty": 3.05, - "repetition_penalty_range": 2048, - "repetition_penalty_slope": 0.33, - "repetition_penalty_frequency": 0, - "repetition_penalty_presence": 0, - "max_context": 2048 -} \ No newline at end of file diff --git a/public/NovelAI Settings/Classic-Euterpe.settings b/public/NovelAI Settings/Classic-Euterpe.settings deleted file mode 100644 index 94fc96d71..000000000 --- a/public/NovelAI Settings/Classic-Euterpe.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [2, 1, 3, 0], - "temperature": 0.63, - "max_length": 90, - "min_length": 1, - "tail_free_sampling": 0.975, - "repetition_penalty": 1.148125, - "repetition_penalty_range": 2048, - "repetition_penalty_frequency": 0, - "repetition_penalty_presence": 0, - "repetition_penalty_slope": 0.09, - "max_context":2048, - "top_p": 0.975, - "top_k": 0, - "top_a": 1, - "typical_p": 1 -} diff --git a/public/NovelAI Settings/Classic-Krake.settings b/public/NovelAI Settings/Classic-Krake.settings deleted file mode 100644 index 4fc586dbc..000000000 --- a/public/NovelAI Settings/Classic-Krake.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [3, 4, 5, 2, 0], - "temperature": 1.33, - "max_length": 90, - "min_length": 1, - "tail_free_sampling": 0.937, - "repetition_penalty": 1.05, - "repetition_penalty_range": 560, - "repetition_penalty_frequency": 0, - "repetition_penalty_presence": 0, - "repetition_penalty_slope": 0.18, - "max_context": 2048, - "top_p": 0.88, - "top_k": 0, - "top_a": 0.085, - "typical_p": 0.985 -} diff --git a/public/NovelAI Settings/Fandango-Euterpe.settings b/public/NovelAI Settings/Fandango-Euterpe.settings deleted file mode 100644 index 26452db91..000000000 --- a/public/NovelAI Settings/Fandango-Euterpe.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [2, 1, 3, 0], - "temperature": 0.86, - "max_length": 60, - "min_length": 60, - "top_k": 20, - "top_p": 0.95, - "top_a": 1, - "typical_p": 1, - "tail_free_sampling": 1, - "repetition_penalty": 2.25, - "repetition_penalty_range": 2048, - "repetition_penalty_slope": 0.09, - "repetition_penalty_frequency": 0, - "repetition_penalty_presence": 0, - "max_context": 2048 -} \ No newline at end of file diff --git a/public/NovelAI Settings/Genesis-Euterpe.settings b/public/NovelAI Settings/Genesis-Euterpe.settings deleted file mode 100644 index 3fe8fd89d..000000000 --- a/public/NovelAI Settings/Genesis-Euterpe.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [2, 1, 3, 0], - "temperature": 0.63, - "max_length": 60, - "min_length": 60, - "top_k": 0, - "top_p": 0.975, - "top_a": 1, - "typical_p": 1, - "tail_free_sampling": 0.975, - "repetition_penalty": 2.975, - "repetition_penalty_range": 2048, - "repetition_penalty_slope": 0.09, - "repetition_penalty_frequency": 0, - "repetition_penalty_presence": 0, - "max_context":2048 -} \ No newline at end of file diff --git a/public/NovelAI Settings/Low_Rider-Euterpe.settings b/public/NovelAI Settings/Low_Rider-Euterpe.settings deleted file mode 100644 index 974f0d62c..000000000 --- a/public/NovelAI Settings/Low_Rider-Euterpe.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [2, 1, 3, 0], - "temperature": 0.94, - "max_length": 60, - "min_length": 60, - "top_k": 12, - "top_p": 1, - "top_a": 1, - "typical_p": 1, - "tail_free_sampling": 0.94, - "repetition_penalty": 2.66, - "repetition_penalty_range": 2048, - "repetition_penalty_slope": 0.18, - "repetition_penalty_frequency": 0.013, - "repetition_penalty_presence": 0, - "max_context": 2048 -} \ No newline at end of file diff --git a/public/NovelAI Settings/Moonlit_Chronicler-Euterpe.settings b/public/NovelAI Settings/Moonlit_Chronicler-Euterpe.settings deleted file mode 100644 index ce72f642a..000000000 --- a/public/NovelAI Settings/Moonlit_Chronicler-Euterpe.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [1, 5, 4, 3, 0], - "temperature": 1.25, - "max_length": 60, - "min_length": 60, - "top_k": 300, - "top_p": 1, - "top_a": 0.782, - "typical_p": 0.95, - "tail_free_sampling": 0.802, - "repetition_penalty": 2.075, - "repetition_penalty_range": 512, - "repetition_penalty_slope": 0.36, - "repetition_penalty_frequency": 0, - "repetition_penalty_presence": 0, - "max_context": 2048 -} \ No newline at end of file diff --git a/public/NovelAI Settings/Morpho-Euterpe.settings b/public/NovelAI Settings/Morpho-Euterpe.settings deleted file mode 100644 index 15185a724..000000000 --- a/public/NovelAI Settings/Morpho-Euterpe.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [0], - "temperature": 0.6889, - "max_length": 60, - "min_length": 60, - "top_k": 0, - "top_p": 1, - "top_a": 1, - "typical_p": 1, - "tail_free_sampling": 1, - "repetition_penalty": 1, - "repetition_penalty_range": 2048, - "repetition_penalty_slope": 0, - "repetition_penalty_frequency": 0.1, - "repetition_penalty_presence": 0, - "max_context": 2048 -} \ No newline at end of file diff --git a/public/NovelAI Settings/Ouroborous-Euterpe.settings b/public/NovelAI Settings/Ouroborous-Euterpe.settings deleted file mode 100644 index 594b135da..000000000 --- a/public/NovelAI Settings/Ouroborous-Euterpe.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [1, 0, 3], - "temperature": 1.07, - "max_length": 60, - "min_length": 60, - "top_k": 264, - "top_p": 1, - "top_a": 1, - "typical_p": 1, - "tail_free_sampling": 0.925, - "repetition_penalty": 2.165, - "repetition_penalty_range": 404, - "repetition_penalty_slope": 0.84, - "repetition_penalty_frequency": 0, - "repetition_penalty_presence": 0, - "max_context":2048 -} diff --git a/public/NovelAI Settings/Pro_Writer-Euterpe.settings b/public/NovelAI Settings/Pro_Writer-Euterpe.settings deleted file mode 100644 index 34eacac1c..000000000 --- a/public/NovelAI Settings/Pro_Writer-Euterpe.settings +++ /dev/null @@ -1,17 +0,0 @@ -{ - "order": [3, 0], - "temperature": 1.348, - "max_length": 60, - "min_length": 60, - "top_k": 64, - "top_p": 0.909, - "top_a": 1, - "typical_p": 1, - "tail_free_sampling": 0.688, - "repetition_penalty": 4.967, - "repetition_penalty_range": 2048, - "repetition_penalty_slope": 0.09, - "repetition_penalty_frequency": 0, - "repetition_penalty_presence": 0, - "max_context": 2048 -} \ No newline at end of file diff --git a/public/TextGen Settings/Pygmalion.settings b/public/TextGen Settings/Pygmalion.settings deleted file mode 100644 index af78679a9..000000000 --- a/public/TextGen Settings/Pygmalion.settings +++ /dev/null @@ -1,21 +0,0 @@ -{ - "temp": 0.5, - "top_p": 0.9, - "top_k": 0, - "typical_p": 1, - "top_a": 0, - "tfs": 1, - "rep_pen": 1.1, - "rep_pen_range": 0, - "no_repeat_ngram_size": 0, - "penalty_alpha": 0, - "num_beams": 1, - "length_penalty": 1, - "min_length": 0, - "encoder_rep_pen": 1, - "do_sample": true, - "early_stopping": false, - "mirostat_mode": 0, - "mirostat_tau": 5, - "mirostat_eta": 0.1 -} diff --git a/public/css/mobile-styles.css b/public/css/mobile-styles.css index b0660b2c6..b5c58f969 100644 --- a/public/css/mobile-styles.css +++ b/public/css/mobile-styles.css @@ -270,6 +270,16 @@ } } +@media screen and (min-width: 1001px) { + #PygOverrides, + #ContextFormatting, + #UI-Theme-Block, + #UI-Customization, + #power-user-options-block { + flex: 1; + } +} + /*landscape mode phones and ipads*/ @media screen and (max-width: 1000px) and (orientation: landscape) { body.waifuMode img.expression { @@ -407,4 +417,4 @@ #horde_model { height: unset; } -} \ No newline at end of file +} diff --git a/public/css/promptmanager.css b/public/css/promptmanager.css index 479a08dda..1cd5a54bd 100644 --- a/public/css/promptmanager.css +++ b/public/css/promptmanager.css @@ -60,6 +60,7 @@ #completion_prompt_manager #completion_prompt_manager_list li.completion_prompt_manager_prompt .prompt_manager_prompt_controls { display: flex; justify-content: space-between; + font-size: calc(var(--mainFontSize)*1.2); } #completion_prompt_manager #completion_prompt_manager_list li.completion_prompt_manager_prompt .prompt_manager_prompt_controls span { @@ -77,7 +78,7 @@ height: 20px; width: 20px; filter: drop-shadow(0px 0px 2px black); - opacity: 0.2; + opacity: 0.4; } #completion_prompt_manager #completion_prompt_manager_list li.completion_prompt_manager_prompt span span:hover { @@ -171,6 +172,10 @@ color: var(--white30a); } +#completion_prompt_manager #completion_prompt_manager_list .completion_prompt_manager_prompt:not(.completion_prompt_manager_prompt_disabled) .prompt-manager-toggle-action { + color: var(--SmartThemeQuoteColor); +} + #completion_prompt_manager #completion_prompt_manager_list .completion_prompt_manager_prompt.completion_prompt_manager_prompt_disabled { border: 1px solid var(--white20a); } diff --git a/public/css/st-tailwind.css b/public/css/st-tailwind.css index b505fccd6..fe6258bd6 100644 --- a/public/css/st-tailwind.css +++ b/public/css/st-tailwind.css @@ -404,6 +404,7 @@ .widthFitContent { width: fit-content; + min-width: fit-content; } .flexGap5 { @@ -416,4 +417,4 @@ .opacity1 { opacity: 1 !important; -} +} \ No newline at end of file diff --git a/public/css/toggle-dependent.css b/public/css/toggle-dependent.css index d77e59eac..2b0e57483 100644 --- a/public/css/toggle-dependent.css +++ b/public/css/toggle-dependent.css @@ -8,15 +8,10 @@ body.tts .mes_narrate { display: inline-block; } -body.no-hotswap .hotswap { - display: none !important; -} - -body.no-timer .mes_timer { - display: none !important; -} - +body.no-hotswap .hotswap, +body.no-timer .mes_timer, body.no-timestamps .timestamp, +body.no-tokenCount .tokenCounterDisplay, body.no-mesIDDisplay .mesIDDisplay, body.no-modelIcons .icon-svg { display: none !important; @@ -347,6 +342,7 @@ body.movingUI #sheld, body.movingUI .drawer-content, body.movingUI #expression-holder, body.movingUI .zoomed_avatar, +body.movingUI .draggable, body.movingUI #floatingPrompt, body.movingUI #groupMemberListPopout { resize: both; diff --git a/public/i18n.json b/public/i18n.json index 6abab8c31..8c055d552 100644 --- a/public/i18n.json +++ b/public/i18n.json @@ -4,8 +4,9 @@ "ja-jp", "ko-kr", "ru-ru", - "it-it", - "nl-nl" + "it-it", + "nl-nl", + "es-spa" ], "zh-cn": { "clickslidertips": "点击滑块右侧数字可手动输入", @@ -113,8 +114,6 @@ "to get your NovelAI API key.": "以获取您的 NovelAI API 密钥。", "Enter it in the box below": "将其输入到下面的输入框中", "Novel AI Model": "NovelAI 模型", - "Euterpe": "Euterpe", - "Krake": "Krake", "No connection": "无连接", "oobabooga/text-generation-webui": "", "Make sure you run it with": "确保启动时包含 --api 参数", @@ -156,7 +155,6 @@ "Always add character's name to prompt": "始终将角色名称添加到提示符中", "Keep Example Messages in Prompt": "保持示例消息提示", "Remove Empty New Lines from Output": "从输出中删除空的新行", - "Pygmalion Formatting": "Pygmalion 格式", "Disabled for all models": "对所有模型禁用", "Automatic (based on model name)": "自动(基于型号名称)", "Enabled for all models": "所有模型启用", @@ -670,8 +668,6 @@ "to get your NovelAI API key.": "あなたの NovelAI API キーを取得するために。", "Enter it in the box below": "以下のボックスに入力してください", "Novel AI Model": "NovelAI モデル", - "Euterpe": "Euterpe", - "Krake": "Krake", "No connection": "接続なし", "oobabooga/text-generation-webui": "", "Make sure you run it with": "必ず --api の引数を含めて起動してください", @@ -712,7 +708,6 @@ "Always add character's name to prompt": "常にキャラクター名をプロンプトに追加", "Keep Example Messages in Prompt": "プロンプトに例示メッセージを保持", "Remove Empty New Lines from Output": "出力から空の改行を削除", - "Pygmalion Formatting": "ピグマリオンフォーマット", "Disabled for all models": "すべてのモデルで無効", "Automatic (based on model name)": "自動(モデル名に基づく)", "Enabled for all models": "すべてのモデルで有効", @@ -1229,8 +1224,6 @@ "to get your NovelAI API key.": "자세히 읽어주세요.", "Enter it in the box below": "밑 입력창에 입력하세요.", "Novel AI Model": "NovelAI 모델", - "Euterpe": "Euterpe", - "Krake": "Krake", "No connection": "접속 실패", "oobabooga/text-generation-webui": "oobabooga/text-generation-webui", "Make sure you run it with": "--api 인수를 반드시 사용해야 합니다.", @@ -1270,7 +1263,6 @@ "Always add character's name to prompt": "프롬프트에 항상 캐릭터 이름 삽입", "Keep Example Messages in Prompt": "예사 답변을 프롬프트에 유지", "Remove Empty New Lines from Output": "출력에서 빈줄 삭제", - "Pygmalion Formatting": "Pygmalion 서식", "Disabled for all models": "모든 모델에 비활성화", "Automatic (based on model name)": "모델 서식 자동탐지", "Enabled for all models": "모든 모델에 활성화", @@ -1712,19 +1704,19 @@ "Enable this if the streaming doesn't work with your proxy": "Включите это, если потоковый вывод текста не работает с вашим прокси", "Context Size (tokens)": "Размер контекста (в токенах)", "Max Response Length (tokens)": "Максимальная длина ответа (в токенах)", - "Temperature": "Temperature", - "Frequency Penalty": "Frequency Penalty", - "Presence Penalty": "Presence Penalty", + "Temperature": "Температура", + "Frequency Penalty": "Штраф за частоту", + "Presence Penalty": "Штраф за присутствие", "Top-p": "Top-p", "Display bot response text chunks as they are generated": "Отображать ответ ИИ по мере генерации текста", "Top A": "Top-a", - "Typical Sampling": "Typical Sampling", - "Tail Free Sampling": "Tail Free Sampling", - "Rep. Pen. Slope": "Rep. Pen. Slope", + "Typical Sampling": "Типичная выборка", + "Tail Free Sampling": "Бесхвостовая выборка", + "Rep. Pen. Slope": "Rep. Pen. Склон", "Single-line mode": "Режим одной строки", "Top K": "Top-k", "Top P": "Top-p", - "Do Sample": "Do Sample", + "Do Sample": "Сделать образец", "Add BOS Token": "Добавить BOS-токен", "Add the bos_token to the beginning of prompts. Disabling this can make the replies more creative.": "Добавлять BOS-токен в начале инструкции. Выключение этого может сделать ответы более креативными. ", "Ban EOS Token": "Заблокировать EOS-токен", @@ -1732,11 +1724,24 @@ "Skip Special Tokens": "Пропускать специальные токены", "Beam search": "Поиск Beam", "Number of Beams": "Количество Beam", - "Length Penalty": "Length Penalty", + "Length Penalty": "Штраф за длину", "Early Stopping": "Преждевременная остановка", - "Contrastive search": "Contrastive search", - "Penalty Alpha": "Penalty Alpha", + "Contrastive search": "Контрастный поиск", + "Penalty Alpha": "Штраф Альфа", "Seed": "Зерно", + "Epsilon Cutoff": "Отсечение эпсилона", + "Eta Cutoff": "Отсечка Eta", + "Negative Prompt": "Отрицательная подсказка", + "Mirostat (mode=1 is only for llama.cpp)": "Mirostat (режим = 1 только для llama.cpp)", + "Add text here that would make the AI generate things you don't want in your outputs.": "Добавьте сюда текст, который заставит ИИ генерировать то, что вы не хотите видеть в своих выводах", + "Phrase Repetition Penalty": "Штраф за повторение фразы", + "Preamble": "Преамбула", + "Use style tags to modify the writing style of the output.": "Используйте теги стиля, чтобы изменить стиль написания вывода.", + "Banned Tokens": "Запрещенные токены", + "Sequences you don't want to appear in the output. One per line.": "Последовательности, которые вы не хотите отображать в выводе. По одному на строку.", + "AI Module": "Модуль ИИ", + "Changes the style of the generated text.": "Изменяет стиль создаваемого текста.", + "Used if CFG Scale is unset globally, per chat or character": "Используется, если масштаб CFG не установлен глобально, для каждого чата или персонажа.", "Inserts jailbreak as a last system message.": "Вставлять JailBreak последним системным сообщением.", "This tells the AI to ignore its usual content restrictions.": "Сообщает AI о необходимости игнорировать стандартные ограничения контента.", "NSFW Encouraged": "Поощрять NSFW", @@ -1759,7 +1764,7 @@ "Prompt that is used when the Jailbreak toggle is on": "Инструкция, отправляемая ИИ при включенном JailBreak.", "Impersonation prompt": "Инструкция для перевоплощения", "Prompt that is used for Impersonation function": "Инструкция, отправляемая ИИ для генерации действий за пользователя", - "Logit Bias": "Logit Bias", + "Logit Bias": "Ошибка логита", "Helps to ban or reenforce the usage of certain words": "Позволяет запретить или поощрять использование определенных слов", "View / Edit bias preset": "Посмотреть/Настроить предустановку для bias", "Add bias entry": "Добавить инструкцию в Bias", @@ -1769,42 +1774,70 @@ "Bot must send this back to confirm jailbreak": "Это сообщение будет отправлено ИИ при успешном включении JailBreak.", "Character Note": "Заметки о персонаже", "Influences bot behavior in its responses": "Влияет на поведение ИИ и его ответы.", + "Connect": "Подключить", + "Test Message": "Тестовое сообщение", "API": "API", "KoboldAI": "KoboldAI", "Use Horde": "Использовать Horde", "API url": "API URL", "Register a Horde account for faster queue times": "Заведите учетную запись Horde для ускорения генерации", "Learn how to contribute your idle GPU cycles to the Hord": "Узнайте подробнее о том, как использовать время простоя GPU для Hord", - "Adjust context size to worker capabilities": "Уточнить размер контекста для возможностей рабочих", - "Adjust response length to worker capabilities": "Уточнить длинну ответа для возможностей рабочий", + "Adjust context size to worker capabilities": "Уточнить размер контекста в соответствии с возможностями рабочих машин", + "Adjust response length to worker capabilities": "Уточнить длинну ответа в соответствии с возможностями рабочих машин", "API key": "API-ключ", - "Register": "Регист", + "Get it here:": "Получить здесь:", + "Register": "Регистрация", + "View my Kudos": "Посмотреть мой рейтинг(Kudos)", + "Enter": "Вставьте", + "to use anonymous mode.": "чтобы использовать анонимный режим.", "For privacy reasons": "В целях конфиденциальности API-ключ будет скрыт после перезагрузки страницы", - "Model": "Модель", + "Models": "Модели", "Hold Control / Command key to select multiple models.": "Удерживайте Control / Command для выбора нескольких моделей.", "Horde models not loaded": "Модели Horde не загружены", - "Not connected": "Нет подключения", + "Not connected...": "Не подключено...", "Novel API key": "API-ключ для NovelAI", "Follow": "Следуйте", "these directions": "данным инструкциям", "to get your NovelAI API key.": "чтобы получить свой API-ключ от NovelAI", "Enter it in the box below": "Введите это в окошко ниже", "Novel AI Model": "Модель NovelAI", - "Euterpe": "Euterpe", - "Krake": "Krake", - "No connection": "Нет подключения", + "If you are using:": "Если вы используете:", "oobabooga/text-generation-webui": "", "Make sure you run it with": "Убедитесь, что при запуске указали аргумент --api", - "Blocking API url": "Блокирующий API URL", + "Mancer AI": "", + "Use API key (Only required for Mancer)": "Нажмите на ячейку (и добавьте свой API ключ!):", + "Blocking API url": "Блокирующий API url", + "Example: http://127.0.0.1:5000/api": "Пример: http://127.0.0.1:5000/api", "Streaming API url": "Потоковый API URL", + "Example: ws://127.0.0.1:5005/api/v1/stream": "Пример: ws://127.0.0.1:5005/api/v1/stream", + "Mancer API key": "Mancer API ключ", + "Example: https://neuro.mancer.tech/webui/MODEL/api": "Пример: https://neuro.mancer.tech/webui/MODEL/api", "to get your OpenAI API key.": "для получения API-ключа OpenAI", + "Window AI Model": "Модель Window AI", "OpenAI Model": "Модель OpenAI", + "Claude API Key": "Claude API ключ", + "Get your key from": "Получить ключ из", + "Anthropic's developer console": "Консоли разработчика Anthropic", + "Slack and Poe cookies will not work here, do not bother trying.": "Файлы cookie Slack и Poe здесь не подойдут, не пытайтесь.", + "Claude Model": "Модель Claude", + "Scale API Key": "Scale API ключ", + "Alt Method": "Альтернативный метод", + "AI21 API Key": "AI21 API ключ", + "AI21 Model": "Модель AI21", "View API Usage Metrics": "Посмотреть статистику использования API", + "Show External models (provided by API)": "Показать \"сторонние\" модели (предоставленные API)", "Bot": "Бот:", + "Allow fallback routes": "Разрешить резервные маршруты", + "Allow fallback routes Description": "Автоматически выбирает альтернативную модель, если выбранная модель не может удовлетворить ваш запрос.", + "OpenRouter API Key": "OpenRouter API ключ", "Connect to the API": "Соединение с API", + "OpenRouter Model": "Модель OpenRouter", + "View Remaining Credits": "Посмотреть оставшиеся кредиты", + "Click Authorize below or get the key from": "Нажмите «Авторизовать» ниже или получите ключ от", "Auto-connect to Last Server": "Автоматическое подключение к последнему серверу", "View hidden API keys": "Посмотреть скрытые API-ключи", "Advanced Formatting": "Расширенное форматирование", + "Context Template": "Шаблон контекста", "AutoFormat Overrides": "Замена АвтоФормата", "Disable description formatting": "Отключить форматирование описания", "Disable personality formatting": "Отключить форматирование личности", @@ -1812,18 +1845,26 @@ "Disable example chats formatting": "Отключить форматирование примеров чата", "Disable chat start formatting": "Отключить форматирование начала чата", "Custom Chat Separator": "Пользовательское разделение чата", - "Instruct Mode": "Режим Instruct", + "Replace Macro in Custom Stopping Strings": "Заменить макрос в пользовательских стоп-строках", + "Strip Example Messages from Prompt": "Удалить примеры сообщений из подсказки", + "Story String": "Строка истории", + "Example Separator": "Пример разделителя", + "Chat Start": "Начало чата", + "Activation Regex": "Активация Regex", + "Instruct Mode": "Режим \"Инструктаж\"", "Enabled": "Включен", "Wrap Sequences with Newline": "Отделять последовательности красной строкой", "Include Names": "Показывать имена", + "Force for Groups and Personas": "Усилия для Групп и Персон", "System Prompt": "Системная инструкция", "Instruct Mode Sequences": "Последовательности режима обучения", - "Input Sequence": "Input Sequence", + "Input Sequence": "Входная последовательность", + "Output Sequence": "Выходная последовательность", "First Output Sequence": "Первая выходная последовательность", "Last Output Sequence": "Последняя выходная последовательность", "System Sequence Prefix": "Префикс системной последовательности", "System Sequence Suffix": "Суффикс системной последовательности", - "Stop Sequence": "Stop Sequence", + "Stop Sequence": "Последовательность остановки", "Context Formatting": "Форматирование контекста", "Tokenizer": "Токенайзер", "None / Estimated": "Отсутствует/Приблизительно", @@ -1832,7 +1873,6 @@ "Always add character's name to prompt": "Всегда добавлять имя персонажа в инструкции", "Keep Example Messages in Prompt": "Сохранять примеры сообщений в инструкции", "Remove Empty New Lines from Output": "Удалять пустые строчки из вывода", - "Pygmalion Formatting": "Форматирование Pygmalion", "Disabled for all models": "Выключено для всех моделей", "Automatic (based on model name)": "Автоматически (выбор по названию модели)", "Enabled for all models": "Включить для всех моделей", @@ -1846,6 +1886,9 @@ "Style Anchor": "Стиль Anchors", "World Info": "Информация о мире", "Scan Depth": "Глубина сканирования", + "Context %": "Процент контекста", + "Budget Cap": "Бюджетный лимит", + "(0 = disabled)": "(0 = отключено)", "depth": "глубина", "Token Budget": "Объем токенов", "budget": "объем", @@ -1854,7 +1897,10 @@ "About soft prompts": "О мягких инструкциях", "None": "Отсутствует", "User Settings": "Настройки пользователя", - "UI Customization": "Настройки UI", + "UI Mode": "Режим интерфейса", + "UI Language": "Язык интерфейса", + "MovingUI Preset": "Предустановка MovingUI", + "UI Customization": "Настройки интерфейса", "Avatar Style": "Стиль аватаров", "Circle": "Круглые", "Rectangle": "Прямоугольные", @@ -1866,6 +1912,14 @@ "No Text Shadows": "Отключить тень текста", "Waifu Mode": "!!!РЕЖИМ ВАЙФУ!!!", "Message Timer": "Таймер сообщений", + "Model Icon": "Показать значки модели", + "Lazy Chat Loading": "Ленивая загрузка чата", + "# of messages (0 = disabled)": "# сообщений (0 = отключено)", + "Advanced Character Search": "Расширенный поиск персонажей", + "Allow {{char}}: in bot messages": "Показывать {{char}}: в ответах", + "Allow {{user}}: in bot messages": "Показать {{user}}: в ответах", + "Show tags in responses": "Показывать <теги> в ответах", + "Relaxed API URLS": "Смягченные URL-адреса API", "Characters Hotswap": "Смена персонажей на лету", "Movable UI Panels": "Перемещение панелей интерфейса", "Reset Panels": "Сбросить панели", @@ -1893,6 +1947,7 @@ "Always disabled": "Всегда выключена", "Automatic (desktop)": "Автоматически (системные настройки)", "Always enabled": "Всегда включена", + "Debug Menu": "Меню отладки", "Name": "Имя", "Your Avatar": "Ваш Аватар", "Extensions API:": "API для расширений", @@ -1976,9 +2031,9 @@ "Unrestricted maximum value for the context slider": "Неограниченное максимальное значение для ползунка с размером контекста", "Chat Completion Source": "Источник для Chat Completion", "Avoid sending sensitive information to the Horde.": "Избегайте отправки личной информации Horde", - "Review the Privacy statement": "Посмотреть Privacy statement", + "Review the Privacy statement": "Ознакомиться с заявлением о конфиденциальности", "Learn how to contribute your idel GPU cycles to the Horde": "Изучите, как использовать GPU в состоянии простоя на благо Horde", - "Trusted workers only": "Только доверенные рабочие", + "Trusted workers only": "Только доверенные рабочие машины", "For privacy reasons, your API key will be hidden after you reload the page.": "По причинам безопасности ваш API-ключ будет скрыт после перезагрузки страницы.", "-- Horde models not loaded --": "--Модель Horde не загружена--", "Example: http://127.0.0.1:5000/api ": "Пример: http://127.0.0.1:5000/api", @@ -1992,7 +2047,7 @@ "Trim spaces": "Обрезать пробелы", "Trim Incomplete Sentences": "Обрезать неоконченные предложения", "Include Newline": "Использовать красную строку", - "Non-markdown strings": "Неподчеркиваемые Strings", + "Non-markdown strings": "Строки без разметки", "Replace Macro in Sequences": "Заменить макросы в последовательности", "Presets": "Предустановки", "Separator": "Разделитель", @@ -2002,12 +2057,16 @@ "Active World(s)": "Активные миры", "Character Lore Insertion Strategy": "Порядок включения сведений", "Sorted Evenly": "Равномерная сортировка", + "Active World(s) for all chats": "Активные миры для всех чатов", + "-- World Info not found --": "-- Информация о мире не найдена --", + "--- Pick to Edit ---": "Редактировать", + "or": "или", "Character Lore First": "Сначала сведения о персонаже", "Global Lore First": "Сначала общие сведения", - "-- World Info not found --": "Информация о Мире не найдена", "Recursive Scan": "Рекурсивное сканирование", "Case Sensitive": "Учитывать регистр", "Match whole words": "Только полное совпадение", + "Alert On Overflow": "Оповещение о переполнении", "World/Lore Editor": "Редактировать Мир/Сведения", "--- None ---": "---Отсутствует---", "Comma seperated (ignored if empty)": "Разделение запятыми (не используется, если оставлено пустым)", @@ -2044,8 +2103,12 @@ "Not Connected": "Не подключено", "Persona Management": "Управление Персоной", "Persona Description": "Описание Персоны", + "Your Persona": "Ваша Персона", + "Show notifications on switching personas": "Показывать уведомления о смене персоны", + "Blank": "Пустой", "In Story String / Chat Completion: Before Character Card": "В строке истории / Дополнение диалога: Перед Карточкой Персонажа", "In Story String / Chat Completion: After Character Card": "В строке истории / Дополнение диалога: После Карточки Персонажа", + "In Story String / Prompt Manager": "В строке истории/Менеджер подсказок", "Top of Author's Note": "Перед Авторскими Заметками", "Bottom of Author's Note": "После Авторских Заметок", "How do I use this?": "Как мне это использовать?", @@ -2080,8 +2143,6 @@ "Samplers Order": "Порядок семплирования", "Samplers will be applied in a top-down order. Use with caution.": "Семплирование будет применено в порядке сверху-вниз. Используйте с осторожностью.", "Repetition Penalty": "Наказание за повторы", - "Epsilon Cutoff": "Epsilon Cutoff", - "Eta Cutoff": "Eta Cutoff", "Rep. Pen. Range.": "Размер наказания за повторы", "Rep. Pen. Freq.": "Частота наказания за повторы", "Rep. Pen. Presence": "Наличие наказания за повторы", @@ -2092,7 +2153,8 @@ "Show suggested replies. Not all bots support this.": "Показывать предлагаемые ответы. Не все боты поддерживают это.", "Use 'Unlocked Context' to enable chunked generation.": "Использовать 'Безлимитный контекст' для активации кусочной генерации", "It extends the context window in exchange for reply generation speed.": "Увеличивает размер контекста в обмен на скорость генерации.", - "Continue": "Пролдолжить", + "Continue": "Продолжить", + "CFG Scale": "Масштаб CFG", "Editing:": "Изменения", "AI reply prefix": "Префикс Ответ ИИ", "Custom Stopping Strings": "Настройка ограничивающий нитей", @@ -2243,7 +2305,7 @@ "Change persona image": "Сменить изображение личности", "Delete persona": "Удалить личность" }, - "it-it": { + "it-it": { "clickslidertips": "consigli per gli slider", "kobldpresets": "Preset Kobold", "guikoboldaisettings": "settaggi KoboldAI", @@ -2349,8 +2411,6 @@ "to get your NovelAI API key.": "per acquisire la chiave API di NovelAI.", "Enter it in the box below": "Inserisci la chiave all'interno della casella qui sotto", "Novel AI Model": "Modello di NovelAI", - "Euterpe": "Euterpe", - "Krake": "Krake", "No connection": "Nessuna connessione", "oobabooga/text-generation-webui": "oobabooga/text-generation-webui", "Make sure you run it with": "assicurati di farlo partire con", @@ -2391,7 +2451,6 @@ "Always add character's name to prompt": "Aggiungi sempre il nome del personaggio al prompt", "Keep Example Messages in Prompt": "Mantieni i messaggi d'esempio nel Prompt", "Remove Empty New Lines from Output": "Rimuovi le linee di testo vuote dall'output", - "Pygmalion Formatting": "Formattazione Pygmalion", "Disabled for all models": "Disabilita per tutti i modelli", "Automatic (based on model name)": "Automatico (basato sul nome del modello)", "Enabled for all models": "Abilita per tutti i modelli", @@ -2799,133 +2858,131 @@ "Select this as default persona for the new chats.": "Seleziona questo alterego come predefinito per tutte le nuove chat", "Change persona image": "Cambia l'immagine del tuo alterego", "Delete persona": "Elimina il tuo alterego", - "--- Pick to Edit ---": "--- Scegli per modificare ---", - "Add text here that would make the AI generate things you don't want in your outputs.": "Scrivi qui ciò che non vuoi l'IA generi nel suo output.", - "write short replies, write replies using past tense": "Scrivi risposte brevi, scrivi risposte usando il passato", - "Alert if your world info is greater than the allocated budget.": "Questo avvisa nel momento in cui le 'Info Mondo' consumano più di quanto allocato nel budget.", - "Clear your cookie": "Cancella i cookie", - "Restore new group chat prompt": "Ripristina il prompt della nuova chat di gruppo", - "Save movingUI changes to a new file": "Salva i cambiamenti apportati alla posizione dei pannelli dell'UI (MovingUI) in un nuovo file", - "Export all": "Esporta tutto", - "Import": "Importa", - "Insert": "Inserisci", - "New": "Nuovo", - "Prompts": "Prompt", - "Tokens": "Token", - "Reset current character": "Ripristina il personaggio attuale", - "(0 = disabled)": "(0 = disabilitato)", - "1 = disabled": "1 = disabilitato", - "Activation Regex": "Attivazione Regex", - "Active World(s) for all chats": "Attiva i Mondi per tutte le chat", - "Add character names": "Aggiungi i nomi dei personaggi", - "Add Memo": "Aggiungi note", - "Advanced Character Search": "Ricerca dei personaggi avanzata", - "Aggressive": "Aggressivo", - "AI21 Model": "Modello AI21", - "Alert On Overflow": "Avviso in caso di Overflow", - "Allow fallback routes": "Permetti fallback routes", - "Allow fallback routes Description": "Permetti la descrizione di fallback routes", - "Alt Method": "Metodo Alt", - "Alternate Greetings": "Alterna i saluti", - "Alternate Greetings Hint": "Suggerimenti per i saluti alternati", - "Alternate Greetings Subtitle": "Sottotitoli per i saluti alternati", - "Assistant Prefill": "Assistant Prefill", - "Banned Tokens": "Token banditi", - "Blank": "In bianco", - "Browser default": "Predefinito del browser", - "Budget Cap": "Limite budget", - "CFG": "CFG", - "CFG Scale": "CFG Scale", - "Changes the style of the generated text.": "Cambia lo stile del testo generato.", - "Character Negatives": "Character Negatives", - "Chat Negatives": "Chat Negatives", - "Chat Scenario Override": "Sovrascrittura dello scenario della chat", - "Chat Start": "Avvio della chat", - "Claude Model": "Modello Claude", - "Close chat": "Chiudi chat", - "Context %": "Context %", - "Context Template": "Context Template", - "Count Penalty": "Count Penalty", - "Example Separator": "Separatore d'esempio", - "Exclude Assistant suffix": "Escludi il suffisso assistente", - "Exclude the assistant suffix from being added to the end of prompt.": "Esclude il suffisso assistente dall'essere aggiunto alla fine del prompt.", - "Force for Groups and Personas": "Forzalo per gruppi e alterego", - "Global Negatives": "Global Negatives", - "In Story String / Chat Completion: After Character Card": "Nella stringa narrativa / Chat Completion: Dopo la 'Carta Personaggio'", - "In Story String / Chat Completion: Before Character Card": "Nella stringa narrativa / Chat Completion: Prima della 'Carta Personaggio", - "Instruct": "Instruct", - "Instruct Mode": "Modalità Instruct", - "Last Sequence": "Ultima sequenza", - "Lazy Chat Loading": "Caricamento svogliato della chat", - "Least tokens": "Token minimi", - "Light": "Leggero", - "Load koboldcpp order": "Ripristina l'ordine di koboldcpp", - "Main": "Principale", - "Mancer API key": "Chiave API di Mancer", - "Mancer API url": "Url API di Mancer", - "May help the model to understand context. Names must only contain letters or numbers.": "Può aiutare il modello a comprendere meglio il contesto. I nomi devono contenere solo numeri e lettere.", - "Medium": "Medium", - "Mirostat": "Mirostat", - "Mirostat (mode=1 is only for llama.cpp)": "Mirostat (mode=1 è valido solo per llama.cpp)", - "Mirostat Eta": "Mirostat Eta", - "Mirostat LR": "Mirostat LR", - "Mirostat Mode": "Mirostat Mode", - "Mirostat Tau": "Mirostat Tau", - "Model Icon": "Icona del modello", - "Most tokens": "Token massimi", - "MovingUI Preset": "Preset MovingUI", - "Negative Prompt": "Prompt negativo", - "No Module": "Nessun modulo", - "NSFW": "NSFW", - "Nucleus Sampling": "Nucleus Sampling", - "Off": "Spento", - "OpenRouter API Key": "Chiave API di OpenRouter", - "OpenRouter Model": "Modello OpenRouter", - "or": "o", - "Phrase Repetition Penalty": "Phrase Repetition Penalty", - "Positive Prompt": "Prompt positivo", - "Preamble": "Premessa", - "Prompt Overrides (For OpenAI/Claude/Scale APIs, Window/OpenRouter, and Instruct Mode)": "Sovrascrittura del prompt (Per le API di OpenAI/Claude/Scale, Window/OpenRouter, e la Modalità Instruct)", - "Prompt that is used when the NSFW toggle is O": "Prompt utilizzato quando l'interruttore NSFW è disattivato.", - "Prose Augmenter": "Prose Augmenter", - "Proxy Password": "Password proxy", - "Quick Edit": "Editing rapido", - "Random": "Casuale", - "Relaxed API URLS": "URL API sciatto", - "Replace Macro in Custom Stopping Strings": "Rimpiazza le macro nelle stringe d'arresto personalizzate", - "Scale": "Scale", - "Scale": "Scale", - "Sequences you don't want to appear in the output. One per line.": "Sequenze che non vuoi appaiano nell'output. Una per linea.", - "Set at the beginning of Dialogue examples to indicate that a new example chat is about to start.": "Impostato all'inizio degli Esempi di dialogo per indicare che un nuovo esempio di chat sta per iniziare.", - "Set at the beginning of the chat history to indicate that a new chat is about to start.": "Impostato all'inizio degli esempi di dialogo per indicare che una nuova chat sta per iniziare.", - "Set at the beginning of the chat history to indicate that a new chat is about to start.": "Impostato all'inizio della cronologia chat per indicare che una nuova chat sta per iniziare.", - "Set at the beginning of the chat history to indicate that a new group chat is about to start.": "Impostato all'inizio della cronologia chat per indicare che un nuova chat di gruppo sta per iniziare.", - "Show External models (provided by API)": "Mostra modelli esterni (Forniti dall'API)", - "Show Notifications Show notifications on switching personas": "Mostra una notifica quando l'alterego viene cambiato", - "Show tags in responses": "Mostra i tag nelle risposte", - "Story String": "Stringa narrativa", - "Text Adventure": "Avventura testuale", - "Text Gen WebUI (ooba/Mancer) presets": "Preset Text Gen WebUI (ooba/Mancer)", - "Toggle Panels": "Interruttore pannelli", - "Top A Sampling": "Top A Sampling", - "Top K Sampling": "Top K Sampling", - "UI Language": "Linguaggio interfaccia grafica", - "Unlocked Context Size": "Sblocca dimensione contesto", - "Usage Stats": "Statistiche di utilizzo", - "Use AI21 Tokenizer": "Utilizza il Tokenizer di AI21", - "Use API key (Only required for Mancer)": "Utilizza la chiave API (Necessario soltanto per Mancer)", - "Use character author's note": "Utilizza le note d'autore del personaggio", - "Use character CFG scales": "Utilizza CFG scales del personaggio", - "Use Proxy password field instead. This input will be ignored.": "Utilizza il campo del password proxy al suo posto. Questo input verrà ignorato.", - "Use style tags to modify the writing style of the output": "Utilizza lo stile delle tag per modificare lo stile di scrittura in output", - "Use the appropriate tokenizer for Jurassic models, which is more efficient than GPT's.": "Utilizza il tokenizer appropiato per i modelli giurassici, visto che è più efficente di quello di GPT.", - "Used if CFG Scale is unset globally, per chat or character": "Usato se CFG Scale non è settato globalmente, per le chat o per i personaggi", - "Very aggressive": "Esageratamente aggressivo", - "Very light": "Esageratamente leggero", - "Welcome to SillyTavern!": "Benvenuto in SillyTavern!", - "Will be used as a password for the proxy instead of API key.": "Verrà usato come password per il proxy invece che la chiave API.", - "Window AI Model": "Modello Window AI", - "Your Persona": "Il tuo alterego" + "--- Pick to Edit ---": "--- Scegli per modificare ---", + "Add text here that would make the AI generate things you don't want in your outputs.": "Scrivi qui ciò che non vuoi l'IA generi nel suo output.", + "write short replies, write replies using past tense": "Scrivi risposte brevi, scrivi risposte usando il passato", + "Alert if your world info is greater than the allocated budget.": "Questo avvisa nel momento in cui le 'Info Mondo' consumano più di quanto allocato nel budget.", + "Clear your cookie": "Cancella i cookie", + "Restore new group chat prompt": "Ripristina il prompt della nuova chat di gruppo", + "Save movingUI changes to a new file": "Salva i cambiamenti apportati alla posizione dei pannelli dell'UI (MovingUI) in un nuovo file", + "Export all": "Esporta tutto", + "Import": "Importa", + "Insert": "Inserisci", + "New": "Nuovo", + "Prompts": "Prompt", + "Tokens": "Token", + "Reset current character": "Ripristina il personaggio attuale", + "(0 = disabled)": "(0 = disabilitato)", + "1 = disabled": "1 = disabilitato", + "Activation Regex": "Attivazione Regex", + "Active World(s) for all chats": "Attiva i Mondi per tutte le chat", + "Add character names": "Aggiungi i nomi dei personaggi", + "Add Memo": "Aggiungi note", + "Advanced Character Search": "Ricerca dei personaggi avanzata", + "Aggressive": "Aggressivo", + "AI21 Model": "Modello AI21", + "Alert On Overflow": "Avviso in caso di Overflow", + "Allow fallback routes": "Permetti fallback routes", + "Allow fallback routes Description": "Permetti la descrizione di fallback routes", + "Alt Method": "Metodo Alt", + "Alternate Greetings": "Alterna i saluti", + "Alternate Greetings Hint": "Suggerimenti per i saluti alternati", + "Alternate Greetings Subtitle": "Sottotitoli per i saluti alternati", + "Assistant Prefill": "Assistant Prefill", + "Banned Tokens": "Token banditi", + "Blank": "In bianco", + "Browser default": "Predefinito del browser", + "Budget Cap": "Limite budget", + "CFG": "CFG", + "CFG Scale": "CFG Scale", + "Changes the style of the generated text.": "Cambia lo stile del testo generato.", + "Character Negatives": "Character Negatives", + "Chat Negatives": "Chat Negatives", + "Chat Scenario Override": "Sovrascrittura dello scenario della chat", + "Chat Start": "Avvio della chat", + "Claude Model": "Modello Claude", + "Close chat": "Chiudi chat", + "Context %": "Context %", + "Context Template": "Context Template", + "Count Penalty": "Count Penalty", + "Example Separator": "Separatore d'esempio", + "Exclude Assistant suffix": "Escludi il suffisso assistente", + "Exclude the assistant suffix from being added to the end of prompt.": "Esclude il suffisso assistente dall'essere aggiunto alla fine del prompt.", + "Force for Groups and Personas": "Forzalo per gruppi e alterego", + "Global Negatives": "Global Negatives", + "In Story String / Chat Completion: After Character Card": "Nella stringa narrativa / Chat Completion: Dopo la 'Carta Personaggio'", + "In Story String / Chat Completion: Before Character Card": "Nella stringa narrativa / Chat Completion: Prima della 'Carta Personaggio", + "Instruct": "Instruct", + "Instruct Mode": "Modalità Instruct", + "Last Sequence": "Ultima sequenza", + "Lazy Chat Loading": "Caricamento svogliato della chat", + "Least tokens": "Token minimi", + "Light": "Leggero", + "Load koboldcpp order": "Ripristina l'ordine di koboldcpp", + "Main": "Principale", + "Mancer API key": "Chiave API di Mancer", + "Mancer API url": "Url API di Mancer", + "May help the model to understand context. Names must only contain letters or numbers.": "Può aiutare il modello a comprendere meglio il contesto. I nomi devono contenere solo numeri e lettere.", + "Medium": "Medium", + "Mirostat": "Mirostat", + "Mirostat (mode=1 is only for llama.cpp)": "Mirostat (mode=1 è valido solo per llama.cpp)", + "Mirostat Eta": "Mirostat Eta", + "Mirostat LR": "Mirostat LR", + "Mirostat Mode": "Mirostat Mode", + "Mirostat Tau": "Mirostat Tau", + "Model Icon": "Icona del modello", + "Most tokens": "Token massimi", + "MovingUI Preset": "Preset MovingUI", + "Negative Prompt": "Prompt negativo", + "No Module": "Nessun modulo", + "NSFW": "NSFW", + "Nucleus Sampling": "Nucleus Sampling", + "Off": "Spento", + "OpenRouter API Key": "Chiave API di OpenRouter", + "OpenRouter Model": "Modello OpenRouter", + "or": "o", + "Phrase Repetition Penalty": "Phrase Repetition Penalty", + "Positive Prompt": "Prompt positivo", + "Preamble": "Premessa", + "Prompt Overrides (For OpenAI/Claude/Scale APIs, Window/OpenRouter, and Instruct Mode)": "Sovrascrittura del prompt (Per le API di OpenAI/Claude/Scale, Window/OpenRouter, e la Modalità Instruct)", + "Prompt that is used when the NSFW toggle is O": "Prompt utilizzato quando l'interruttore NSFW è disattivato.", + "Prose Augmenter": "Prose Augmenter", + "Proxy Password": "Password proxy", + "Quick Edit": "Editing rapido", + "Random": "Casuale", + "Relaxed API URLS": "URL API sciatto", + "Replace Macro in Custom Stopping Strings": "Rimpiazza le macro nelle stringe d'arresto personalizzate", + "Scale": "Scale", + "Sequences you don't want to appear in the output. One per line.": "Sequenze che non vuoi appaiano nell'output. Una per linea.", + "Set at the beginning of Dialogue examples to indicate that a new example chat is about to start.": "Impostato all'inizio degli Esempi di dialogo per indicare che un nuovo esempio di chat sta per iniziare.", + "Set at the beginning of the chat history to indicate that a new chat is about to start.": "Impostato all'inizio della cronologia chat per indicare che una nuova chat sta per iniziare.", + "Set at the beginning of the chat history to indicate that a new group chat is about to start.": "Impostato all'inizio della cronologia chat per indicare che un nuova chat di gruppo sta per iniziare.", + "Show External models (provided by API)": "Mostra modelli esterni (Forniti dall'API)", + "Show Notifications Show notifications on switching personas": "Mostra una notifica quando l'alterego viene cambiato", + "Show tags in responses": "Mostra i tag nelle risposte", + "Story String": "Stringa narrativa", + "Text Adventure": "Avventura testuale", + "Text Gen WebUI (ooba/Mancer) presets": "Preset Text Gen WebUI (ooba/Mancer)", + "Toggle Panels": "Interruttore pannelli", + "Top A Sampling": "Top A Sampling", + "Top K Sampling": "Top K Sampling", + "UI Language": "Linguaggio interfaccia grafica", + "Unlocked Context Size": "Sblocca dimensione contesto", + "Usage Stats": "Statistiche di utilizzo", + "Use AI21 Tokenizer": "Utilizza il Tokenizer di AI21", + "Use API key (Only required for Mancer)": "Utilizza la chiave API (Necessario soltanto per Mancer)", + "Use character author's note": "Utilizza le note d'autore del personaggio", + "Use character CFG scales": "Utilizza CFG scales del personaggio", + "Use Proxy password field instead. This input will be ignored.": "Utilizza il campo del password proxy al suo posto. Questo input verrà ignorato.", + "Use style tags to modify the writing style of the output": "Utilizza lo stile delle tag per modificare lo stile di scrittura in output", + "Use the appropriate tokenizer for Jurassic models, which is more efficient than GPT's.": "Utilizza il tokenizer appropiato per i modelli giurassici, visto che è più efficente di quello di GPT.", + "Used if CFG Scale is unset globally, per chat or character": "Usato se CFG Scale non è settato globalmente, per le chat o per i personaggi", + "Very aggressive": "Esageratamente aggressivo", + "Very light": "Esageratamente leggero", + "Welcome to SillyTavern!": "Benvenuto in SillyTavern!", + "Will be used as a password for the proxy instead of API key.": "Verrà usato come password per il proxy invece che la chiave API.", + "Window AI Model": "Modello Window AI", + "Your Persona": "Il tuo alterego" }, "nl-nl": { "clickslidertips": "klikregel tips", @@ -3033,8 +3090,6 @@ "to get your NovelAI API key.": "om je NovelAI API-sleutel te verkrijgen.", "Enter it in the box below": "Voer het in in het vak hieronder", "Novel AI Model": "NovelAI-model", - "Euterpe": "Euterpe", - "Krake": "Krake", "No connection": "Geen verbinding", "oobabooga/text-generation-webui": "oobabooga/text-generation-webui", "Make sure you run it with": "Zorg ervoor dat je het uitvoert met", @@ -3075,7 +3130,6 @@ "Always add character's name to prompt": "Voeg altijd de naam van het personage toe aan de prompt", "Keep Example Messages in Prompt": "Behoud voorbeeldberichten in de prompt", "Remove Empty New Lines from Output": "Verwijder lege regels uit de uitvoer", - "Pygmalion Formatting": "Pygmalion-opmaak", "Disabled for all models": "Uitgeschakeld voor alle modellen", "Automatic (based on model name)": "Automatisch (op basis van modelnaam)", "Enabled for all models": "Ingeschakeld voor alle modellen", @@ -3483,5 +3537,133 @@ "Select this as default persona for the new chats.": "Selecteer dit als standaard persona voor de nieuwe chats.", "Change persona image": "persona afbeelding wijzigen", "Delete persona": "persona verwijderen" - } + }, + "es-spa": { + "clickslidertips": "Haz click en el número al lado de la barra \npara seleccionar un número manualmente.", + "kobldpresets": "Configuraciones de KoboldAI", + "guikoboldaisettings": "Configuración actual de la interfaz de KoboldAI", + "novelaipreserts": "Configuraciones de NovelAI", + "default": "Predeterminado", + "openaipresets": "Configuraciones de OpenAI", + "text gen webio(ooba) presets": "Configuraciones de WebUI(ooba)", + "response legth(tokens)": "Largo de la respuesta de la IA (en Tokens)", + "select": "Seleccionar", + "context size(tokens)": "Tamaño del contexto (en Tokens)", + "unlocked": "Desbloqueado", + "only select modls support context sizes greater than 2048 tokens. proceed only is you know you're doing": "Solo algunos modelos tienen soporte para tamaños de más de 2048 tokens. Procede solo si sabes lo que estás haciendo.", + "rep.pen": "Rep. Pen.", + "rep.pen range": "Rango de Rep. Pen.", + "temperature": "Temperature", + "Encoder Rep. Pen.": "Encoder Rep. Pen.", + "No Repeat Ngram Size": "No Repeat Ngram Size", + "Min Length": "Largo mínimo", + "OpenAI Reverse Proxy": "Reverse Proxy de OpenAI", + "Alternative server URL (leave empty to use the default value).": "URL del server alternativo (deja vacío para usar el predeterminado)", + "Remove your real OAI API Key from the API panel BEFORE typing anything into this box": "Borra tu clave(API) real de OpenAI ANTES de escribir nada en este campo.", + "We cannot provide support for problems encountered while using an unofficial OpenAI proxy": "SillyTaven no puede dar soporte por problemas encontrados durante el uso de un proxy no-oficial de OpenAI", + "Legacy Streaming Processing": "Processo Streaming Legacy", + "Enable this if the streaming doesn't work with your proxy": "Habilita esta opción si el \"streaming\" no está funcionando.", + "Context Size (tokens)": "Tamaño del contexto (en Tokens)", + "Max Response Length (tokens)": "Tamaño máximo (en Tokens)", + "Temperature": "Temperatura", + "Frequency Penalty": "Frequency Penalty", + "Presence Penalty": "Presence Penalty", + "Top-p": "Top-p", + "Display bot response text chunks as they are generated": "Muestra el texto poco a poco al mismo tiempo que es generado.", + "Top A": "Top-a", + "Typical Sampling": "Typical Sampling", + "Tail Free Sampling": "Tail Free Sampling", + "Rep. Pen. Slope": "Rep. Pen. Slope", + "Single-line mode": "Modo \"Solo una línea\"", + "Top K": "Top-k", + "Top P": "Top-p", + "Do Sample": "Do Sample", + "Add BOS Token": "Añadir BOS Token", + "Add the bos_token to the beginning of prompts. Disabling this can make the replies more creative.": "Añade el \"bos_token\" al inicio del prompt. Desabilitar esto puede hacer las respuestas de la IA más creativas", + "Ban EOS Token": "Prohibir EOS Token", + "Ban the eos_token. This forces the model to never end the generation prematurely": "Prohibe el \"eos_token\". Esto obliga a la IA a no terminar su generación de forma prematura", + "Skip Special Tokens": "Saltarse Tokens Especiales", + "Beam search": "Beam Search", + "Number of Beams": "Number of Beams", + "Length Penalty": "Length Penalty", + "Early Stopping": "Early Stopping", + "Contrastive search": "Contrastive search", + "Penalty Alpha": "Penalty Alpha", + "Seed": "Seed", + "Inserts jailbreak as a last system message.": "Inserta el \"jailbreak\" como el último mensaje del Sistema", + "This tells the AI to ignore its usual content restrictions.": "Esto ayuda a la IA para ignorar sus restricciones de contenido", + "NSFW Encouraged": "Alentar \"NSFW\"", + "Tell the AI that NSFW is allowed.": "Le dice a la IA que el contenido NSFW (+18) está permitido", + "NSFW Prioritized": "Priorizar NSFW", + "NSFW prompt text goes first in the prompt to emphasize its effect.": "El \"prompt NSFW\" va antes para enfatizar su efecto", + "Streaming": "Streaming", + "Display the response bit by bit as it is generated.": "Enseña el texto poco a poco mientras es generado", + "When this is off, responses will be displayed all at once when they are complete.": "Cuando esto está deshabilitado, las respuestas se mostrarán de una vez cuando la generación se haya completado", + "Enhance Definitions": "Definiciones Mejoradas", + "Use OAI knowledge base to enhance definitions for public figures and known fictional characters": "Usa el conocimiento de OpenAI (GPT 3.5, GPT 4, ChatGPT) para mejorar las definiciones de figuras públicas y personajes ficticios", + "Wrap in Quotes": "Envolver En Comillas", + "Wrap entire user message in quotes before sending.": "Envuelve todo el mensaje en comillas antes de enviar", + "Leave off if you use quotes manually for speech.": "Déjalo deshabilitado si usas comillas manualmente para denotar diálogo", + "Main prompt": "Prompt Principal", + "The main prompt used to set the model behavior": "El prompt principal usado para definir el comportamiento de la IA", + "NSFW prompt": "Prompt NSFW", + "Prompt that is used when the NSFW toggle is on": "Prompt que es utilizado cuando \"Alentar NSFW\" está activado", + "Jailbreak prompt": "Jailbreak prompt", + "Prompt that is used when the Jailbreak toggle is on": "Prompt que es utilizado cuando Jailbreak Prompt está activado", + "Impersonation prompt": "Prompt \"Impersonar\"", + "Prompt that is used for Impersonation function": "Prompt que es utilizado para la función \"Impersonar\"", + "Logit Bias": "Logit Bias", + "Helps to ban or reenforce the usage of certain words": "Ayuda a prohibir o alentar el uso de algunas palabras", + "View / Edit bias preset": "Ver/Editar configuración de \"Logit Bias\"", + "Add bias entry": "Añadir bias", + "Jailbreak activation message": "Mensaje de activación de Jailbrak", + "Message to send when auto-jailbreak is on.": "Mensaje enviado cuando auto-jailbreak está activado", + "Jailbreak confirmation reply": "Mensaje de confirmación de Jailbreak", + "Bot must send this back to confirm jailbreak": "La IA debe enviar un mensaje para confirmar el jailbreak", + "Character Note": "Nota del personaje", + "Influences bot behavior in its responses": "Influencia el comportamiento de la IA y sus respuestas", + "API": "API", + "KoboldAI": "KoboldAI", + "Use Horde": "Usar AI Horde de KoboldAI", + "API url": "URL de la API", + "Register a Horde account for faster queue times": "Regístrate en KoboldAI para conseguir respuestas más rápido", + "Learn how to contribute your idle GPU cycles to the Hord": "Aprende cómo contribuir a AI Horde con tu GPU", + "Adjust context size to worker capabilities": "Ajustar tamaño del contexto a las capacidades del trabajador", + "Adjust response length to worker capabilities": "Ajustar tamaño de la respuesta a las capacidades del trabajador", + "API key": "API key", + "Register": "Registrarse", + "For privacy reasons": "Por motivos de privacidad, tu API será ocultada cuando se vuelva a cargar la página", + "Model": "Modelo IA", + "Hold Control / Command key to select multiple models.": "Presiona Ctrl/Command Key para seleccionar multiples modelos", + "Horde models not loaded": "Modelos del Horde no cargados", + "Not connected": "Desconectado", + "Novel API key": "API key de NovelAI", + "Follow": "Sigue", + "these directions": "estas instrucciones", + "to get your NovelAI API key.": "para conseguir tu NovelAI API key", + "Enter it in the box below": "Introduce tu NovelAI API key en el siguiente campo", + "Novel AI Model": "Modelo IA de NovelAI", + "No connection": "Desconectado", + "oobabooga/text-generation-webui": "oobabooga/text-generation-webui", + "Make sure you run it with": "Asegúrate de usar el argumento --api cuando se ejecute", + "Blocking API url": "API URL", + "Streaming API url": "Streaming API URL", + "to get your OpenAI API key.": "para conseguir tu clave API de OpenAI", + "OpenAI Model": "Modelo AI de OpenAI", + "View API Usage Metrics": "Ver métricas de uso de la API", + "Bot": "Bot", + "Auto-connect to Last Server": "Auto-conectarse con el último servidor", + "View hidden API keys": "Ver claves API ocultas", + "Advanced Formatting": "Formateo avanzado", + "AutoFormat Overrides": "Autoformateo de overrides", + "Samplers Order": "Orden de Samplers", + "Samplers will be applied in a top-down order. Use with caution.": "Los Samplers serán aplicados de orden superior a inferior. \nUsa con precaución", + "Load koboldcpp order": "Cargar el orden de koboldcpp", + "Repetition Penalty": "Repetition Penalty", + "Epsilon Cutoff": "Epsilon Cutoff", + "Eta Cutoff": "Eta Cutoff", + "Rep. Pen. Range.": "Rep. Pen. Range.", + "Rep. Pen. Freq.": "Rep. Pen. Freq.", + "Rep. Pen. Presence": "Rep. Pen. Presence." + } } diff --git a/public/index.html b/public/index.html index 18376a045..616e69e15 100644 --- a/public/index.html +++ b/public/index.html @@ -191,7 +191,7 @@