├── .github
├── ISSUE_TEMPLATE
│ ├── bug-report.yml
│ └── feature-request.yml
├── labeler.yml
└── workflows
│ └── labeler.yml
├── .gitignore
├── LICENSE
├── Launcher.bat
├── README-zh-cn.md
├── README-zh-tw.md
├── README.md
├── bin
└── functions
│ ├── Home
│ ├── exit_stl.bat
│ ├── info_vram.bat
│ └── log_wrapper.bat
│ ├── SSL
│ └── create_ssl.bat
│ └── Toolbox
│ ├── App_Installer
│ ├── Core_Utilities
│ │ ├── config_tailscale.bat
│ │ ├── install_7zip.bat
│ │ ├── install_cudatoolkit.bat
│ │ ├── install_ffmpeg.bat
│ │ ├── install_nodejs.bat
│ │ ├── install_tailscale.bat
│ │ ├── install_vsbuildtools.bat
│ │ ├── install_w64devkit.bat
│ │ └── install_yq.bat
│ ├── Image_Generation
│ │ ├── install_comfyui.bat
│ │ ├── install_fooocus.bat
│ │ ├── install_invokeai.bat
│ │ ├── install_ostris_aitoolkit.bat
│ │ ├── install_sdwebui.bat
│ │ └── install_sdwebuiforge.bat
│ ├── Text_Completion
│ │ ├── install_koboldcpp.bat
│ │ ├── install_koboldcpp_raw.bat
│ │ ├── install_llamacpp.bat
│ │ ├── install_ooba.bat
│ │ ├── install_tabbyapi.bat
│ │ └── install_tabbyapi_st_ext.bat
│ └── Voice_Generation
│ │ ├── install_alltalk.bat
│ │ ├── install_alltalk_v2.bat
│ │ ├── install_rvc.bat
│ │ ├── install_rvc_python.bat
│ │ └── install_xtts.bat
│ ├── App_Launcher
│ ├── Core_Utilities
│ │ ├── start_extras.bat
│ │ ├── start_st.bat
│ │ └── update_start_st.bat
│ ├── Image_Generation
│ │ ├── start_comfyui.bat
│ │ ├── start_invokeai.bat
│ │ ├── start_sdwebui.bat
│ │ └── start_sdwebuiforge.bat
│ ├── Text_Completion
│ │ ├── start_koboldcpp.bat
│ │ └── start_tabbyapi.bat
│ └── Voice_Generation
│ │ ├── start_alltalk.bat
│ │ ├── start_alltalk_v2.bat
│ │ ├── start_alltalk_v2_diag.bat
│ │ ├── start_alltalk_v2_finetune.bat
│ │ ├── start_rvc.bat
│ │ ├── start_rvc_python.bat
│ │ ├── start_rvc_realtime.bat
│ │ └── start_xtts.bat
│ ├── App_Uninstaller
│ ├── Core_Utilities
│ │ ├── uninstall_7zip.bat
│ │ ├── uninstall_cudatoolkit.bat
│ │ ├── uninstall_extras.bat
│ │ ├── uninstall_ffmpeg.bat
│ │ ├── uninstall_nodejs.bat
│ │ ├── uninstall_st.bat
│ │ ├── uninstall_tailscale.bat
│ │ ├── uninstall_vsbuildtools.bat
│ │ ├── uninstall_w64devkit.bat
│ │ └── uninstall_yq.bat
│ ├── Image_Generation
│ │ ├── uninstall_comfyui.bat
│ │ ├── uninstall_fooocus.bat
│ │ ├── uninstall_invokeai.bat
│ │ ├── uninstall_ostris_aitoolkit.bat
│ │ ├── uninstall_sdwebui.bat
│ │ └── uninstall_sdwebuiforge.bat
│ ├── Text_Completion
│ │ ├── uninstall_koboldcpp.bat
│ │ ├── uninstall_llamacpp.bat
│ │ ├── uninstall_ooba.bat
│ │ └── uninstall_tabbyapi.bat
│ └── Voice_Generation
│ │ ├── uninstall_alltalk.bat
│ │ ├── uninstall_alltalk_v2.bat
│ │ ├── uninstall_rvc.bat
│ │ ├── uninstall_rvc_python.bat
│ │ └── uninstall_xtts.bat
│ ├── Backup
│ ├── create_backup.bat
│ └── restore_backup.bat
│ ├── Editor
│ ├── Core_Utilities
│ │ ├── edit_env_var.bat
│ │ ├── edit_extras_modules.bat
│ │ └── edit_st_config.bat
│ ├── Image_Generation
│ │ ├── edit_comfyui_modules.bat
│ │ ├── edit_fooocus_modules.bat
│ │ ├── edit_sdwebui_modules.bat
│ │ └── edit_sdwebuiforge_modules.bat
│ ├── Text_Completion
│ │ ├── edit_koboldcpp_modules.bat
│ │ ├── edit_ooba_modules.bat
│ │ └── edit_tabbyapi_modules.bat
│ └── Voice_Generation
│ │ ├── edit_rvc_python_modules.bat
│ │ └── edit_xtts_modules.bat
│ └── Troubleshooting
│ ├── Support
│ └── discord.bat
│ ├── detect_vpn.bat
│ ├── export_dxdiag.bat
│ ├── fetch_st_version.js
│ ├── fetch_title.js
│ ├── find_app_port.bat
│ ├── fix_github_conflicts.bat
│ ├── gpu_info.bat
│ ├── home_port_check.bat
│ ├── onboarding_flow.bat
│ ├── remove_node_modules.bat
│ ├── remove_npm_cache.bat
│ ├── remove_pip_cache.bat
│ └── restart_stl.bat
├── install.sh
├── installer.bat
├── launcher.sh
├── st-launcher.ico
└── st.ico
/.github/ISSUE_TEMPLATE/bug-report.yml:
--------------------------------------------------------------------------------
1 | name: Bug Report 🐛
2 | description: Report something that's not working the intended way. Support requests for external programs (reverse proxies, 3rd party servers, other peoples' forks) will be refused!
3 | title: '[BUG]
'
4 | labels: ['🐛Bug']
5 | body:
6 | - type: dropdown
7 | id: environment
8 | attributes:
9 | label: Environment
10 | description: What OS are you running the file from?
11 | options:
12 | - 🪟 Windows
13 | - 🐧 Linux
14 | - 📱 Termux
15 | - 🐋 Docker
16 | - 🍎 Mac
17 | validations:
18 | required: true
19 |
20 | - type: input
21 | id: system
22 | attributes:
23 | label: System
24 | description: >-
25 | Specify your OS/Distro version and/or Docker version.
26 | For Windows:
27 | - Press WINDOWS KEY + R.
28 | - Type `winver` and press Enter.
29 | For Linux:
30 | - Open a terminal.
31 | - Run one of the following commands based on your distribution:
32 | - For Ubuntu/Debian: `lsb_release -a`
33 | - For CentOS/Fedora: `cat /etc/os-release`
34 | - For others: Check your distribution's documentation.
35 | For macOS:
36 | - Click on the Apple logo in the top-left corner.
37 | - Select "About This Mac" to see the macOS version.
38 | placeholder:
39 | validations:
40 | required: true
41 |
42 | - type: textarea
43 | id: repro
44 | attributes:
45 | label: Describe the problem
46 | description: Please describe exactly what is not working, include the steps to reproduce, actual result and expected result
47 | placeholder: When doing ABC then DEF, I expect to see XYZ, but I actually see ZYX
48 | validations:
49 | required: true
50 |
51 | - type: textarea
52 | id: logs
53 | attributes:
54 | label: Additional info
55 | description: Logs? Screenshots? Yes, please.
56 | placeholder: If the issue happens during build-time, include terminal logs. For run-time errors, include browser logs which you can view in the Dev Tools (F12), under the Console tab. Take care to blank out any personal info.
57 | validations:
58 | required: false
59 |
60 | - type: checkboxes
61 | id: user-check
62 | attributes:
63 | label: Please tick the boxes
64 | description: Before submitting, please ensure that you have completed the following checklist
65 | options:
66 | - label: I have explained the issue clearly, and I included all relevant info
67 | required: true
68 | - label: I have checked that this [issue hasn't already been raised](https://github.com/SillyTavern/SillyTavern/issues?q=is%3Aissue)
69 | required: true
70 | - label: I have checked the [docs](https://docs.sillytavern.app/) 
71 | required: true
72 |
73 | - type: markdown
74 | attributes:
75 | value: |-
76 | ## Thanks 🙏
77 | Thank you for raising this ticket - in doing so you are helping to make SillyTavern-Launcher better for everyone.
78 | validations:
79 | required: false
80 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature-request.yml:
--------------------------------------------------------------------------------
1 | name: Feature Request ✨
2 | description: Suggest an idea for future development of this project
3 | title: '[FEATURE_REQUEST] '
4 | labels: ['🦄 Feature Request']
5 |
6 | body:
7 |
8 | # Field 1 - Did the user searched for similar requests
9 | - type: dropdown
10 | id: similarRequest
11 | attributes:
12 | label: Have you searched for similar requests?
13 | description:
14 | options:
15 | - 'No'
16 | - 'Yes'
17 | validations:
18 | required: true
19 |
20 | # Field 2 - Is it bug-related
21 | - type: textarea
22 | id: issue
23 | attributes:
24 | label: Is your feature request related to a problem? If so, please describe.
25 | description:
26 | placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
27 | validations:
28 | required: false
29 |
30 | # Field 3 - Describe feature
31 | - type: textarea
32 | id: solution
33 | attributes:
34 | label: Describe the solution you'd like
35 | placeholder: An outline of how you would like this to be implemented, include as much details as possible
36 | validations:
37 | required: true
38 |
39 | # Field 4 - Describe alternatives
40 | - type: textarea
41 | id: alternatives
42 | attributes:
43 | label: Describe alternatives you've considered
44 | placeholder: A clear and concise description of any alternative solutions or features you've considered.
45 | validations:
46 | required: false
47 |
48 | # Field 5 - Additional context
49 | - type: textarea
50 | id: addcontext
51 | attributes:
52 | label: Additional context
53 | placeholder: Add any other context or screenshots about the feature request here.
54 | validations:
55 | required: false
56 |
57 | # Field 6 - Priority
58 | - type: dropdown
59 | id: priority
60 | attributes:
61 | label: Priority
62 | description: How urgent is the development of this feature
63 | options:
64 | - Low (Nice-to-have)
65 | - Medium (Would be very useful)
66 | - High (The app does not function without it)
67 | validations:
68 | required: true
69 |
70 | # Field 7 - Can the user implement
71 | - type: dropdown
72 | id: canImplement
73 | attributes:
74 | label: Is this something you would be keen to implement?
75 | description: Are you raising this ticket in order to get an issue number for your PR?
76 | options:
77 | - 'No'
78 | - 'Maybe'
79 | - 'Yes!'
80 | validations:
81 | required: false
82 |
83 | # Final text
84 | - type: markdown
85 | attributes:
86 | value: |-
87 | ## Thanks 🙏
88 | Thank you for your feature suggestion.
89 | Please note that there is no guarantee that your idea will be implemented.
90 | validations:
91 | required: false
92 |
--------------------------------------------------------------------------------
/.github/labeler.yml:
--------------------------------------------------------------------------------
1 | # Add/remove 'critical' label if issue contains the words 'urgent' or 'critical'
2 | #critical:
3 | # - '(critical|urgent)'
4 |
5 | 🪟 Windows:
6 | - '(🪟 Windows)'
7 |
8 | 🍎 Mac:
9 | - '(🍎 Mac)'
10 |
11 | 🐋 Docker:
12 | - '(🐋 Docker)'
13 |
14 | 📱 Termux:
15 | - '(📱 Termux)'
16 |
17 | 🐧 Linux:
18 | - '(🐧 Linux)'
--------------------------------------------------------------------------------
/.github/workflows/labeler.yml:
--------------------------------------------------------------------------------
1 | name: "Issue Labeler"
2 | on:
3 | issues:
4 | types: [opened, edited]
5 |
6 | permissions:
7 | issues: write
8 | contents: read
9 |
10 | jobs:
11 | triage:
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: github/issue-labeler@v3.4
15 | with:
16 | configuration-path: .github/labeler.yml
17 | # not-before: 2020-01-15T02:54:32Z # optional and will result in any issues prior to this timestamp to be ignored.
18 | enable-versioned-regex: 0
19 | repo-token: ${{ github.token }}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | SillyTavern/
2 | SillyTavern-backups/
3 | SillyTavern-extras/
4 | text-completion/
5 | image-generation/
6 | voice-generation/
7 | xtts/
8 | bin/*
9 | !bin/functions/
10 | !bin/functions/**
11 | *.txt
12 | *.logs
13 | /bin/functions/Toolbox/Troubleshooting/telemetry/venv
14 | bin/functions/Toolbox/Troubleshooting/detect_vpn - OLD.bat
15 | bin/functions/Toolbox/Troubleshooting/home_port_check - OLD.bat
16 | bin/functions/Toolbox/Troubleshooting/gpu_info - CUDA DETECT IN DEV.bat
17 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 SillyTavern
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README-zh-cn.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |

6 |
7 |
SillyTavern Launcher - (STL)
8 |
9 |
10 | English | 中文 | 繁體中文 | 日本語 | 한국어 | Nederlands | Français | Tiếng Việt | Português | Español
11 |
12 | [](https://github.com/SillyTavern/SillyTavern-Launcher/stargazers)
13 | [](https://github.com/SillyTavern/SillyTavern-Launcher/network)
14 | [](https://github.com/SillyTavern/SillyTavern-Launcher/issues)
15 | [](https://github.com/SillyTavern/SillyTavern-Launcher/pulls)
16 |
17 |
18 | 🔧 # 安装
19 | ## 🖥️ window
20 | 方法一
21 | 1.安装git(安装过git可以跳过),在键盘上:按“WINDOWS + R”打开“运行”对话框。然后,运行以下命令安装 git:
22 | ```shell
23 | cmd /c winget install -e --id Git.Git
24 | ```
25 | 2. 在键盘上:按“WINDOWS + E”** 打开文件资源管理器,然后导航到要安装启动器的文件夹。进入所需文件夹后,在地址栏中键入“cmd”,然后按回车键。然后,运行以下命令:
26 | ```shell
27 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher && start installer.bat
28 | ```
29 |
30 | 推销下我自己的分支,建设中[纯中文界面汉化版](https://github.com/vircus/SillyTavern-Launcher-zh/)
31 |
32 | ## 🐧 Linux
33 | 1. 打开你喜欢的终端并安装 git
34 | 2. Git 克隆 Sillytavern-Launcher:
35 | ```shell
36 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher
37 | ```
38 | 3. 以以下方式开始 installer.sh:
39 | ```shell
40 | chmod +x install.sh && ./install.sh
41 | ```
42 | 4. 安装后,通过以下方式启动 launcher.sh:
43 | ```shell
44 | chmod +x launcher.sh && ./launcher.sh
45 | ```
46 |
47 |
48 | ## 🍎 Mac
49 | 1. 打开终端并安装 brew:
50 | ```shell
51 | /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
52 | ```
53 | 2. 使用以下命令安装 git:
54 | ```shell
55 | brew install git
56 | ```
57 | 3. Git 克隆 Sillytavern-Launcher:
58 | ```shell
59 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher
60 | ```
61 | 4. 以以下方式开始 installer.sh:
62 | ```shell
63 | chmod +x install.sh && ./install.sh
64 | ```
65 | 5. 安装后,通过以下方式启动 launcher.sh:
66 | ```shell
67 | chmod +x launcher.sh && ./launcher.sh
68 | ```
69 |
70 |
71 | ✨ # 特性
72 | * 能够自动安装带有可选应用的核心app:
73 | * SillyTavern,
74 | * Extras,
75 | * XTTS,
76 | * 7-Zip,
77 | * FFmpeg,
78 | * Node.js,
79 | * yq,
80 | * Visual Studio BuildTools,
81 | * CUDA Toolkit
82 |
83 | * 能够自动安装文本完成应用程序:
84 | * Text generation web UI oobabooga
85 | * koboldcpp
86 | * TabbyAPI
87 |
88 | * 能够自动安装图像生成应用程序:
89 | * Stable Diffusion web UI
90 | * Stable Diffusion web UI Forge
91 | * ComfyUI
92 | * Fooocus
93 |
94 | *自动更新所有应用程序
95 | *备份和恢复SillyTavern
96 | * 开关分支
97 | * 模块编辑器
98 | * 应用程序安装程序和卸载程序来管理应用程序
99 | * 故障排除菜单可解决最常见的问题
100 |
101 | #问题或建议?
102 |
103 | |[![][discord-shield-badge]][discord-link] |[加入我们的 Discord 社区!](https://discord.gg/sillytavern)获得支持,分享角色和提示。|
104 | |:---------------------------------------- |:------------------------------------------------------------------------------------------------------- |
105 |
106 | # Screenshots
107 |
108 |
109 |
110 |
111 |
112 | [![][back-to-top]](#readme-top)
113 |
114 |
115 |
116 |
117 |
118 | [back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square
119 | [discord-link]: https://discord.gg/sillytavern
120 | [discord-shield]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
121 | [discord-shield-badge]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge
122 |
--------------------------------------------------------------------------------
/README-zh-tw.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |

6 |
7 |
SillyTavern Launcher - (STL)
8 |
9 |
10 | English | 中文 | 繁體中文 | 日本語 | 한국어 | Nederlands | Français | Tiếng Việt | Português | Español
11 |
12 | [](https://github.com/SillyTavern/SillyTavern-Launcher/stargazers)
13 | [](https://github.com/SillyTavern/SillyTavern-Launcher/network)
14 | [](https://github.com/SillyTavern/SillyTavern-Launcher/issues)
15 | [](https://github.com/SillyTavern/SillyTavern-Launcher/pulls)
16 |
17 |
18 | # 🔧 安裝指南
19 | ## 🪟 Windows
20 | 1. 按下 **`Windows + R`** 開啟「執行」對話框後,輸入以下指令安裝 Git:
21 | ```shell
22 | cmd /c winget install -e --id Git.Git
23 | ```
24 | 2. 按下 **`Windows + E`** 打開檔案總管,前往要安裝啟動器的資料夾,在地址欄輸入 `cmd` 並按 Enter ,執行:
25 | ```shell
26 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher && start installer.bat
27 | ```
28 |
29 | ## 🐧 Linux
30 | 1. 開啟您偏好的終端機(Terminal)並安裝 Git
31 | 2. 使用以下指令從 GitHub 複製 SillyTavern Launcher:
32 | ```shell
33 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher
34 | ```
35 | 3. 執行安裝腳本(`installer.sh`):
36 | ```shell
37 | chmod +x install.sh && ./install.sh
38 | ```
39 | 4. 安裝完成後啟動 SillyTavern Launcher(`launcher.sh`):
40 | ```shell
41 | chmod +x launcher.sh && ./launcher.sh
42 | ```
43 |
44 | ## 🍎 Mac
45 | 1. 開啟終端機(Terminal)並安裝 Homebrew:
46 | ```shell
47 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
48 | ```
49 | 2. 安裝 Git:
50 | ```shell
51 | brew install git
52 | ```
53 | 3. 使用以下指令從 GitHub 複製 SillyTavern Launcher:
54 | ```shell
55 | git clone https://github.com/SillyTavern/SillyTavern-Launcher.git && cd SillyTavern-Launcher
56 | ```
57 | 4. 執行安裝腳本(`installer.sh`):
58 | ```shell
59 | chmod +x install.sh && ./install.sh
60 | ```
61 | 5. 安裝完成後啟動 SillyTavern Launcher(`launcher.sh`):
62 | ```shell
63 | chmod +x launcher.sh && ./launcher.sh
64 | ```
65 |
66 | # ✨ 功能
67 | ## **核心工具**
68 | 管理 SillyTavern 及其他應用程式的關鍵工具
69 |
70 | ### **支援**
71 | - SillyTavern
72 | - 7-Zip, FFmpeg, Node.js, yq, Visual Studio BuildTools, CUDA Toolkit, Tailscale, w64devkit
73 |
74 | ### **功能**
75 | - 安裝、解除安裝與設定核心工具
76 | - 透過選單管理環境變數與設定
77 |
78 | ## **文字生成應用**
79 | 設定與管理文字生成模型與其應用程式
80 |
81 | ### **支援**
82 | - Text Generation Web UI (oobabooga)
83 | - KoboldCPP
84 | - KoboldCPP Raw
85 | - LlamaCPP
86 | - TabbyAPI
87 | - TabbyAPI(SillyTavern 擴充功能版)
88 |
89 | ### **功能**
90 | - 透過選單安裝、啟動、移除並自訂各類文字生成模組
91 |
92 | ## **影像生成應用**
93 | 管理 AI 圖像生成應用程式。
94 |
95 | ### **支援**
96 | - Stable Diffusion Web UI
97 | - Stable Diffusion Web UI Forge
98 | - ComfyUI
99 | - Fooocus
100 | - Ostris AI Toolkit
101 |
102 | ### **功能**
103 | - 透過選單安裝、啟動、移除並調整設定
104 |
105 | ## **Voice Generation Apps**
106 | Manage voice synthesis and processing tools.
107 |
108 | ### **語音合成應用**
109 | - XTTS
110 | - AllTalk
111 | - AllTalk v2(包含診斷與微調模式)
112 | - RVC(Retrieval-based Voice Conversion,支援即時語音轉換)
113 |
114 | ### **功能**
115 | - 安裝、啟動、移除並調整語音處理工具的設定
116 |
117 | ## **Additional Features**
118 | - **備份與還原**:建立並還原 SillyTavern 的備份
119 | - **SSL 支援**:透過選單建立 SSL 憑證
120 | - **故障排除工具**:
121 | - 檢測 VPN 問題
122 | - 取得 GPU 資訊
123 | - 檢查網路埠
124 | - 解決 GitHub 衝突
125 | - 清除快取(Node.js、npm、pip)
126 | - 匯出診斷資料
127 | - 重新啟動啟動器
128 | - Discord 伺服器
129 | - **應用程式管理**:自動更新、切換不同的 Git 分支、安裝與移除應用程式
130 | - **日誌記錄**:可在 `logs/` 目錄中查看日誌,以便排除錯誤
131 | - **自訂設定**:在 `settings/` 目錄中設定快捷鍵與模組
132 |
133 |
134 | # 有任何有疑問或建議?
135 |
136 | | [![][discord-shield-badge]][discord-link] | [加入我們的 Discord 社群!](https://discord.gg/sillytavern) 取得支援、分享角色設定與 AI 提示詞。 |
137 | | :---------------------------------------- | :------------------------------------------------------------------------------------------------------- |
138 |
139 | # 截圖
140 | ## Windows
141 |
142 |
143 |
144 | ## Linux
145 |
146 |
147 |
148 |
149 |
150 |
151 | [![][back-to-top]](#readme-top)
152 |
153 |
154 |
155 |
156 |
157 | [back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square
158 | [discord-link]: https://discord.gg/sillytavern
159 | [discord-shield]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
160 | [discord-shield-badge]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge
161 |
--------------------------------------------------------------------------------
/bin/functions/Home/exit_stl.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | set /p "exit_choice=Are you sure you wanna exit SillyTavern-Launcher? [Y/N]: "
4 | if /i "%exit_choice%"=="" set exit_choice=Y
5 | if /i "%exit_choice%"=="Y" (
6 | echo %red_bg%[%time%]%reset% %red_fg_strong%Terminating all PID processes...%reset%
7 | for /f %%a in ('type "%log_dir%\pids.txt"') do (
8 | taskkill /F /PID %%a
9 | )
10 | del "%log_dir%\pids.txt"
11 | exit
12 | ) else (
13 | goto :home
14 | )
--------------------------------------------------------------------------------
/bin/functions/Home/log_wrapper.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | setlocal
3 |
4 | REM Set necessary environment variables for Node.js
5 | set NODE_ENV=production
6 |
7 | REM Determine the command to run
8 | if "%1"=="ssl" (
9 | set NODE_CMD=node server.js --ssl
10 | ) else (
11 | set NODE_CMD=node server.js
12 | )
13 |
14 | REM Start the Node.js server and log the output using PowerShell Tee-Object, suppressing specific warnings
15 | echo Starting Node.js server with command: %NODE_CMD%
16 | powershell -Command "& {%NODE_CMD% 2>&1 | Where-Object {$_ -notmatch 'Security has been overridden'} | Tee-Object -FilePath '%logs_st_console_path%'}"
17 | echo Node.js server started.
18 | pause
19 |
20 | REM Pause to keep the window open
21 | pause
22 |
--------------------------------------------------------------------------------
/bin/functions/SSL/create_ssl.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | setlocal
3 |
4 | :: Check if a specific argument is passed to detect if called by another batch file
5 | set "pauseRequired=false"
6 | set "silentMode=false"
7 | if "%~1"=="" (
8 | set "pauseRequired=true"
9 | ) else (
10 | set "silentMode=true"
11 | )
12 |
13 | :: Redirect output to NUL if in silent mode
14 | if "%silentMode%"=="true" (
15 | set "outputRedirection=>nul 2>&1"
16 | ) else (
17 | set "outputRedirection="
18 | )
19 |
20 | REM Set the SSL certificate directory and files
21 | set "CERT_DIR=%st_install_path%\certs"
22 | set "CERT_FILE=%CERT_DIR%\cert.pem"
23 | set "KEY_FILE=%CERT_DIR%\privkey.pem"
24 | set "CERT_INFO_FILE=%CERT_DIR%\SillyTavernSSLInfo.txt"
25 | set "ERROR_LOG=%CERT_DIR%\error_log.txt"
26 |
27 | :: Check if the SillyTavern directory exists
28 | if not exist "%st_install_path%" (
29 | echo Please install SillyTavern first.
30 | if "%pauseRequired%"=="true" pause
31 | endlocal
32 | exit /b 1
33 | )
34 |
35 | :: Create the SSL certificate directory if it doesn't exist
36 | if not exist "%CERT_DIR%" (
37 | mkdir "%CERT_DIR%"
38 | echo Created directory %CERT_DIR% %outputRedirection%
39 | ) else (
40 | echo Directory %CERT_DIR% already exists. %outputRedirection%
41 | )
42 |
43 | :: Check if the certificate already exists and delete it if it does
44 | if exist "%CERT_FILE%" (
45 | del "%CERT_FILE%"
46 | echo Existing certificate deleted. %outputRedirection%
47 | )
48 |
49 | if exist "%KEY_FILE%" (
50 | del "%KEY_FILE%"
51 | echo Existing key deleted. %outputRedirection%
52 | )
53 |
54 | :: Find the Git installation directory
55 | for /f "delims=" %%i in ('where git') do (
56 | set "gitPath=%%i"
57 | goto :foundGit
58 | )
59 |
60 | :foundGit
61 | :: Extract the directory from the git.exe path
62 | for %%i in ("%gitPath%") do set "gitDir=%%~dpi"
63 |
64 | :: Remove the bin\ or cmd\ part to get the main Git installation directory
65 | set "gitDir=%gitDir:bin\=%"
66 | set "gitDir=%gitDir:cmd\=%"
67 |
68 | echo Git is installed at: %gitDir% %outputRedirection%
69 |
70 | :: Find openssl.exe within the Git installation directory
71 | for /f "delims=" %%i in ('dir "%gitDir%" /s /b ^| findstr \\openssl.exe') do (
72 | set "opensslPath=%%i"
73 | goto :foundOpenSSL
74 | )
75 |
76 | :foundOpenSSL
77 | echo OpenSSL is located at: %opensslPath% %outputRedirection%
78 |
79 | :: Generate the self-signed certificate in PEM format
80 | echo Generating self-signed certificate... %outputRedirection%
81 | "%opensslPath%" req -x509 -newkey rsa:4096 -keyout "%KEY_FILE%" -out "%CERT_FILE%" -days 825 -nodes -subj "/CN=127.0.0.1" %outputRedirection%
82 |
83 | if %errorlevel% neq 0 goto error
84 | echo Certificate generation complete. %outputRedirection%
85 |
86 | :: Calculate the expiration date (today + 825 days) and format as mm/dd/yyyy
87 | for /f %%i in ('powershell -command "[datetime]::Now.AddDays(825).ToString('MM/dd/yyyy')"') do (
88 | set "expDate=%%i"
89 | )
90 |
91 | :: Store the certificate and key path, and expiration date in the text file
92 | echo %CERT_FILE% > "%CERT_INFO_FILE%"
93 | echo %KEY_FILE% >> "%CERT_INFO_FILE%"
94 | echo SSL Expiration Date (mm/dd/yyyy): %expDate% >> "%CERT_INFO_FILE%"
95 | echo Certificate and key paths and expiration date stored in %CERT_INFO_FILE%. %outputRedirection%
96 |
97 | echo Done. %outputRedirection%
98 | if "%pauseRequired%"=="true" pause
99 | endlocal
100 | exit /b 0
101 |
102 | :error
103 | echo An error occurred. Please check the console output for details. %outputRedirection%
104 | :: Log the error to the log file
105 | echo [%date% %time%] An error occurred during certificate generation. >> "%ERROR_LOG%"
106 | if "%pauseRequired%"=="true" pause
107 | endlocal
108 | exit /b 1
109 | goto :eof
110 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Core_Utilities/config_tailscale.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | setlocal enabledelayedexpansion
3 |
4 |
5 | title STL [TAILSCALE CONFIGURATION]
6 | cls
7 | echo / Home / Toolbox / App Installer / Core Utilities / Tailscale
8 | echo -------------------------------------------------------------
9 |
10 | rem Calculate the path to the logs folder based on the current script location
11 | set log_dir=%~dp0..\..\..\..\logs
12 | rem Normalize the path
13 | for %%i in ("%log_dir%") do set log_dir=%%~fi
14 |
15 | set log_file=%log_dir%\tailscale_status.txt
16 |
17 | rem Check if the log file exists before attempting to clear it
18 | if exist "%log_file%" (
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Clearing existing log file...
20 | powershell -command "Clear-Content '%log_file%'"
21 | ) else (
22 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Log file does not exist, no need to clear.
23 | )
24 |
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Configuring Tailscale...
26 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Tailscale login...
27 |
28 | tailscale up
29 |
30 | if %errorlevel%==0 (
31 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Tailscale configuration successful.
32 |
33 | echo -------------------------------------------------------------
34 | echo Select an option:
35 | echo 1. Find Tailscale SillyTavern Remote URLs
36 | echo 2. Home
37 |
38 | choice /c 12 /m "Enter the number corresponding to your choice:"
39 |
40 | if errorlevel 2 (
41 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Returning to Home...
42 | ) else if errorlevel 1 (
43 | echo.
44 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Fetching Tailscale status...
45 | rem Use the dynamic path based on %~dp0 to write to the logs folder
46 | powershell -command ^
47 | "$json = tailscale status --json | ConvertFrom-Json; " ^
48 | "$self = $json.Self; " ^
49 | "$ip4 = $self.TailscaleIPs[0]; " ^
50 | "$hostName = $self.HostName; " ^
51 | "$dnsName = $self.DNSName; " ^
52 | "$logPath = '%~dp0..\..\..\..\logs\tailscale_status.txt'; " ^
53 | "Out-File -FilePath $logPath -InputObject $ip4 -Encoding ascii; " ^
54 | "Out-File -FilePath $logPath -InputObject $hostName -Append -Encoding ascii; " ^
55 | "Out-File -FilePath $logPath -InputObject $dnsName -Append -Encoding ascii"
56 |
57 | rem Read the values directly using delayed expansion
58 | set count=0
59 | for /f "tokens=* delims=" %%i in (%log_file%) do (
60 | set /a count+=1
61 | if !count! equ 1 set ip4=%%i
62 | if !count! equ 2 set hostName=%%i
63 | if !count! equ 3 set dnsName=%%i
64 | )
65 |
66 | rem Remove trailing period from dnsName if it exists
67 | if "!dnsName:~-1!"=="." set "dnsName=!dnsName:~0,-1!"
68 |
69 | echo %blue_fg_strong%-------------------------------------------------------------%reset%
70 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% "Tailscale Remote SillyTavern URLs (if you changed your SillyTavern Port # change 8000 to that new port):"
71 | echo %cyan_fg_strong%IP4:%reset% http://!ip4!:8000
72 | echo %cyan_fg_strong%Machine Name:%reset% http://!hostName!:8000
73 | echo %cyan_fg_strong%MagicDNS Name:%reset% http://!dnsName!:8000
74 | echo %blue_fg_strong%-------------------------------------------------------------%reset%
75 |
76 | rem Prompt the user to open the additional config instructions page
77 | set /p userChoice="Do you want to open the additional configuration instructions page (Y/N)? "
78 | if /i "!userChoice!"=="Y" (
79 | rem Open the configuration URL
80 | powershell -command ^
81 | "$url = 'https://sillytavernai.com/tailscale-config/?HostName=!hostName!&DNSName=!dnsName!&IP4=!ip4!#STL'; " ^
82 | "Start-Process $url"
83 | ) else (
84 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Skipping additional configuration instructions.
85 | )
86 | )
87 | ) else (
88 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[ERROR]%reset% %red_fg_strong%Tailscale configuration failed.%reset%
89 | )
90 |
91 | pause
92 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Core_Utilities/install_7zip.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_7zip
4 | title STL [INSTALL-7Z]
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing 7-Zip...
6 | winget install -e --id 7zip.7zip
7 |
8 | rem Get the current PATH value from the registry
9 | for /f "tokens=2*" %%A in ('reg query "HKCU\Environment" /v PATH') do set "current_path=%%B"
10 |
11 | rem Check if the paths are already in the current PATH
12 | echo %current_path% | find /i "%zip7_install_path%" > nul
13 | set "zip7_path_exists=%errorlevel%"
14 |
15 | setlocal enabledelayedexpansion
16 |
17 | REM Append the new paths to the current PATH only if they don't exist
18 | if %zip7_path_exists% neq 0 (
19 | set "new_path=%current_path%;%zip7_install_path%"
20 | echo.
21 | echo [DEBUG] "current_path is:%cyan_fg_strong% %current_path%%reset%"
22 | echo.
23 | echo [DEBUG] "zip7_install_path is:%cyan_fg_strong% %zip7_install_path%%reset%"
24 | echo.
25 | echo [DEBUG] "new_path is:%cyan_fg_strong% !new_path!%reset%"
26 |
27 | REM Update the PATH value in the registry
28 | reg add "HKCU\Environment" /v PATH /t REG_EXPAND_SZ /d "!new_path!" /f
29 |
30 | REM Update the PATH value for the current session
31 | setx PATH "!new_path!" > nul
32 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%7-zip added to PATH.%reset%
33 | ) else (
34 | set "new_path=%current_path%"
35 | echo %blue_fg_strong%[INFO] 7-Zip already exists in PATH.%reset%
36 | )
37 |
38 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%7-Zip installed successfully.%reset%
39 |
40 | REM Prompt user to restart
41 | echo Restarting launcher...
42 | timeout /t 5
43 | cd /d %stl_root%
44 | start %stl_root%Launcher.bat
45 | exit
46 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Core_Utilities/install_cudatoolkit.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_cudatoolkit
4 | REM Check if file exists and remove it if it does
5 | if exist "%bin_dir%\cuda_12.6.1_windows_network.exe" (
6 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] Removing existing "cuda_12.6.1_windows_network.exe".%reset%
7 | del "%bin_dir%\cuda_12.6.1_windows_network.exe"
8 | )
9 |
10 | REM Download the CUDA installer
11 | curl -L -o "%bin_dir%\cuda_12.6.1_windows_network.exe" "https://developer.download.nvidia.com/compute/cuda/12.6.1/network_installers/cuda_12.6.1_windows_network.exe"
12 |
13 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing CUDA Toolkit...
14 | start "" "%bin_dir%\cuda_12.6.1_windows_network.exe" visual_studio_integration_12.6.1
15 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%When install is finished:%reset%
16 |
17 | REM If CUDA Toolkit fails to install then copy all files from MSBuildExtensions into BuildCustomizations
18 | REM xcopy /s /i /y "%ProgramFiles%\NVIDIA GPU Computing Toolkit\CUDA\v12.5.1\extras\visual_studio_integration\MSBuildExtensions\*" "%ProgramFiles%\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\BuildCustomizations"
19 |
20 | pause
21 | REM Prompt user to restart
22 | echo Restarting launcher...
23 | timeout /t 5
24 | cd /d %stl_root%
25 | start %stl_root%Launcher.bat
26 | exit
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Core_Utilities/install_ffmpeg.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_ffmpeg
4 | title STL [INSTALL-FFMPEG]
5 | REM Check if 7-Zip is installed
6 | 7z > nul 2>&1
7 | if %errorlevel% neq 0 (
8 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] 7z command not found in PATH.%reset%
9 | echo %red_fg_strong%7-Zip is not installed or not found in the system PATH.%reset%
10 | echo %red_fg_strong%To install 7-Zip go to:%reset% %blue_bg%/ Toolbox / App Installer / Core Utilities / Install 7-Zip%reset%
11 | pause
12 | goto :app_installer_core_utilities
13 | )
14 |
15 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Downloading FFmpeg archive...
16 | curl -L -o "%ffmpeg_download_path%" "%ffmpeg_download_url%"
17 |
18 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating ffmpeg directory if it doesn't exist...
19 | if not exist "%ffmpeg_install_path%" (
20 | mkdir "%ffmpeg_install_path%"
21 | )
22 |
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Extracting FFmpeg archive...
24 | 7z x "%ffmpeg_download_path%" -o"%ffmpeg_install_path%"
25 |
26 |
27 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Moving FFmpeg contents to C:\ffmpeg...
28 | for /d %%i in ("%ffmpeg_install_path%\ffmpeg-*-full_build") do (
29 | xcopy "%%i\bin" "%ffmpeg_install_path%\bin" /E /I /Y
30 | xcopy "%%i\doc" "%ffmpeg_install_path%\doc" /E /I /Y
31 | xcopy "%%i\presets" "%ffmpeg_install_path%\presets" /E /I /Y
32 | rd "%%i" /S /Q
33 | )
34 |
35 | rem Get the current PATH value from the registry
36 | for /f "tokens=2*" %%A in ('reg query "HKCU\Environment" /v PATH') do set "current_path=%%B"
37 |
38 | rem Check if the paths are already in the current PATH
39 | echo %current_path% | find /i "%ffmpeg_path_bin%" > nul
40 | set "ff_path_exists=%errorlevel%"
41 |
42 | setlocal enabledelayedexpansion
43 |
44 | REM Append the new paths to the current PATH only if they don't exist
45 | if %ff_path_exists% neq 0 (
46 | set "new_path=%current_path%;%ffmpeg_path_bin%"
47 | echo.
48 | echo [DEBUG] "current_path is:%cyan_fg_strong% %current_path%%reset%"
49 | echo.
50 | echo [DEBUG] "ffmpeg_path_bin is:%cyan_fg_strong% %ffmpeg_path_bin%%reset%"
51 | echo.
52 | echo [DEBUG] "new_path is:%cyan_fg_strong% !new_path!%reset%"
53 |
54 | REM Update the PATH value in the registry
55 | reg add "HKCU\Environment" /v PATH /t REG_EXPAND_SZ /d "!new_path!" /f
56 |
57 | REM Update the PATH value for the current session
58 | setx PATH "!new_path!" > nul
59 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%ffmpeg added to PATH.%reset%
60 | ) else (
61 | set "new_path=%current_path%"
62 | echo %blue_fg_strong%[INFO] ffmpeg already exists in PATH.%reset%
63 | )
64 | del "%ffmpeg_download_path%"
65 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%ffmpeg installed successfully.%reset%
66 |
67 | REM Prompt user to restart
68 | echo Restarting launcher...
69 | timeout /t 5
70 | cd /d %stl_root%
71 | start %stl_root%Launcher.bat
72 | exit
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Core_Utilities/install_nodejs.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_nodejs
4 | title STL [INSTALL NODEJS]
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing Node.js...
6 | winget install -e --id OpenJS.NodeJS.LTS
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Node.js is installed.%reset%
8 |
9 | REM Prompt user to restart
10 | echo Restarting launcher...
11 | timeout /t 5
12 | cd /d %stl_root%
13 | start %stl_root%Launcher.bat
14 | exit
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Core_Utilities/install_tailscale.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | setlocal enabledelayedexpansion
3 |
4 | :install_tailscale
5 | title STL [INSTALL-TAILSCALE]
6 | set log_dir=%log_dir%
7 |
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Do you already have a Tailscale account set up? (Y/N)
9 | set /p tailscale_account="Answer (Y/N): "
10 |
11 | if /i "%tailscale_account%"=="Y" (
12 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing Tailscale...
13 | winget install Tailscale.Tailscale
14 |
15 | if %errorlevel%==0 (
16 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Tailscale installed successfully.%reset%
17 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Tailscale configuration...
18 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Restart the launcher and go to Toolbox / Editor / Core Utilities / View Tailscale Configuration to see your Tailscale Remote SillyTavern URLS.
19 | echo Press any key to restart the launcher
20 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Restarting launcher...%reset%
21 | timeout /t 10
22 | start %stl_root%/launcher.bat
23 | exit
24 | ) else (
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[ERROR]%reset% %red_fg_strong%Tailscale installation failed.%reset%
26 | )
27 | ) else (
28 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Opening Tailscale sign-up page...
29 | start "" "https://login.tailscale.com/start"
30 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Press any key after signing up to continue installation...
31 | pause
32 |
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing Tailscale...
34 | winget install Tailscale.Tailscale
35 |
36 | if %errorlevel%==0 (
37 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Tailscale installed successfully.%reset%
38 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Restart the launcher, your Tailscale Remote SillyTavern URLS should appear on the home menu.
39 | echo If they don't appear, go to Toolbox / Editor / Core Utilities / View Tailscale Configuration.
40 | echo Press any key to restart the launcher
41 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Restarting launcher...%reset%
42 | timeout /t 10
43 | start %stl_root%/launcher.bat
44 | exit
45 | ) else (
46 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[ERROR]%reset% %red_fg_strong%Tailscale installation failed.%reset%
47 | )
48 | )
49 |
50 | pause
51 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Core_Utilities/install_vsbuildtools.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_vsbuildtools
4 | REM Check if file exists
5 | if not exist "%bin_dir%\vs_buildtools.exe" (
6 | REM Check if the folder exists
7 | if not exist "%bin_dir%" (
8 | mkdir "%bin_dir%"
9 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "bin"
10 | ) else (
11 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "bin" folder already exists.%reset%
12 | )
13 | curl -L -o "%bin_dir%\vs_buildtools.exe" "https://aka.ms/vs/17/release/vs_BuildTools.exe"
14 | ) else (
15 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "vs_buildtools.exe" file already exists. Downloading latest version...%reset%
16 | del "%bin_dir%\vs_buildtools.exe"
17 | curl -L -o "%bin_dir%\vs_buildtools.exe" "https://aka.ms/vs/17/release/vs_BuildTools.exe"
18 | )
19 |
20 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing Visual Studio BuildTools 2022...
21 | start "" "%bin_dir%\vs_buildtools.exe" --norestart --passive --downloadThenInstall --includeRecommended --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.MSBuildTools
22 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%When install is finished:%reset%
23 | pause
24 |
25 | REM Prompt user to restart
26 | echo Restarting launcher...
27 | timeout /t 5
28 | cd /d %stl_root%
29 | start %stl_root%Launcher.bat
30 | exit
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Core_Utilities/install_w64devkit.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_w64devkit
4 | REM Check if 7-Zip is installed
5 | 7z > nul 2>&1
6 | if %errorlevel% neq 0 (
7 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] 7z command not found in PATH.%reset%
8 | echo %red_fg_strong%7-Zip is not installed or not found in the system PATH.%reset%
9 | echo %red_fg_strong%To install 7-Zip go to:%reset% %blue_bg%/ Toolbox / App Installer / Core Utilities / Install 7-Zip%reset%
10 | pause
11 | goto :app_installer_core_utilities
12 | )
13 |
14 | REM Check if the folder exists
15 | if exist "%w64devkit_install_path%" (
16 | REM Remove w64devkit folder if it already exist
17 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing existing w64devkit installation...
18 | rmdir /s /q "%w64devkit_install_path%"
19 | )
20 |
21 | REM Download w64devkit zip archive
22 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Downloading w64devkit...
23 | curl -L -o "%w64devkit_download_path%" "%w64devkit_download_url%"
24 |
25 | REM Extract w64devkit zip archive
26 | 7z x "%w64devkit_download_path%" -o"C:\"
27 |
28 | REM Remove leftovers
29 | del "%w64devkit_download_path%"
30 |
31 | REM Get the current PATH value from the registry
32 | for /f "tokens=2*" %%A in ('reg query "HKCU\Environment" /v PATH') do set "current_path=%%B"
33 |
34 | REM Check if the paths are already in the current PATH
35 | echo %current_path% | find /i "%w64devkit_path_bin%" > nul
36 | set "ff_path_exists=%errorlevel%"
37 |
38 | setlocal enabledelayedexpansion
39 |
40 | REM Append the new paths to the current PATH only if they don't exist
41 | if %ff_path_exists% neq 0 (
42 | set "new_path=%current_path%;%w64devkit_path_bin%"
43 | echo.
44 | echo [DEBUG] "current_path is:%cyan_fg_strong% %current_path%%reset%"
45 | echo.
46 | echo [DEBUG] "w64devkit_path_bin is:%cyan_fg_strong% %w64devkit_path_bin%%reset%"
47 | echo.
48 | echo [DEBUG] "new_path is:%cyan_fg_strong% !new_path!%reset%"
49 |
50 | REM Update the PATH value in the registry
51 | reg add "HKCU\Environment" /v PATH /t REG_EXPAND_SZ /d "!new_path!" /f
52 |
53 | REM Update the PATH value for the current session
54 | setx PATH "!new_path!" > nul
55 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%w64devkit added to PATH.%reset%
56 | ) else (
57 | set "new_path=%current_path%"
58 | echo %blue_fg_strong%[INFO] w64devkit already exists in PATH.%reset%
59 | )
60 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%w64devkit is installed.%reset%
61 |
62 | REM Prompt user to restart
63 | echo Restarting launcher...
64 | timeout /t 5
65 | cd /d %stl_root%
66 | start %stl_root%Launcher.bat
67 | exit
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Core_Utilities/install_yq.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_yq
4 | title STL [INSTALL-YQ]
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing yq...
6 | winget install -e --id MikeFarah.yq
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%yq is installed.%reset%
8 |
9 | REM Prompt user to restart
10 | echo Restarting launcher...
11 | timeout /t 5
12 | cd /d %stl_root%
13 | start %stl_root%Launcher.bat
14 | exit
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Image_Generation/install_comfyui.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_comfyui
4 | title STL [INSTALL COMFYUI]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Image Generation / Install ComfyUI%reset%
7 | echo -------------------------------------------------------------
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing ComfyUI...
9 |
10 | REM Check if the folder exists
11 | if not exist "%image_generation_dir%" (
12 | mkdir "%image_generation_dir%"
13 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "image-generation"
14 | ) else (
15 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "image-generation" folder already exists.%reset%
16 | )
17 | cd /d "%image_generation_dir%"
18 |
19 |
20 | set max_retries=3
21 | set retry_count=0
22 | :retry_install_comfyui
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning the ComfyUI repository...
24 | git clone https://github.com/comfyanonymous/ComfyUI.git
25 |
26 | if %errorlevel% neq 0 (
27 | set /A retry_count+=1
28 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
29 | if %retry_count% lss %max_retries% goto :retry_install_comfyui
30 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
31 | pause
32 | goto :app_installer_image_generation
33 | )
34 | cd /d "%comfyui_install_path%"
35 |
36 | REM Run conda activate from the Miniconda installation
37 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
38 | call "%miniconda_path%\Scripts\activate.bat"
39 |
40 | REM Create a Conda environment named comfyui
41 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating Conda environment: %cyan_fg_strong%comfyui%reset%
42 | call conda create -n comfyui python=3.12 -y
43 |
44 | REM Activate the comfyui environment
45 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment %cyan_fg_strong%comfyui%reset%
46 | call conda activate comfyui
47 |
48 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing pytorch...
49 | pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu128
50 |
51 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing pip requirements...
52 | pip install -r requirements.txt
53 |
54 | REM Clone extensions for ComfyUI
55 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning extensions for ComfyUI...
56 | cd /d "%comfyui_install_path%\custom_nodes"
57 | git clone https://github.com/ltdrdata/ComfyUI-Manager.git
58 |
59 | REM Installs better upscaler models
60 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing Better Upscaler models...
61 | cd /d "%comfyui_install_path%\models"
62 | mkdir ESRGAN && cd ESRGAN
63 | curl -o 4x-AnimeSharp.pth https://huggingface.co/konohashinobi4/4xAnimesharp/resolve/main/4x-AnimeSharp.pth
64 | curl -o 4x-UltraSharp.pth https://huggingface.co/lokCX/4x-Ultrasharp/resolve/main/4x-UltraSharp.pth
65 |
66 |
67 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%ComfyUI successfully installed.%reset%
68 | pause
69 | goto :app_installer_image_generation
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Image_Generation/install_fooocus.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_fooocus
4 | title STL [INSTALL FOOOCUS]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Image Generation / Install Fooocus%reset%
7 | echo -------------------------------------------------------------
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing Fooocus...
9 |
10 | REM Check if the folder exists
11 | if not exist "%image_generation_dir%" (
12 | mkdir "%image_generation_dir%"
13 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "image-generation"
14 | ) else (
15 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "image-generation" folder already exists.%reset%
16 | )
17 | cd /d "%image_generation_dir%"
18 |
19 |
20 | set max_retries=3
21 | set retry_count=0
22 | :retry_install_fooocus
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning the Fooocus repository...
24 | git clone https://github.com/lllyasviel/Fooocus.git
25 |
26 | if %errorlevel% neq 0 (
27 | set /A retry_count+=1
28 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
29 | if %retry_count% lss %max_retries% goto :retry_install_fooocus
30 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
31 | pause
32 | goto :app_installer_image_generation
33 | )
34 | cd /d "%fooocus_install_path%"
35 |
36 | REM Run conda activate from the Miniconda installation
37 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
38 | call "%miniconda_path%\Scripts\activate.bat"
39 |
40 | REM Create a Conda environment named fooocus
41 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating Conda environment: %cyan_fg_strong%fooocus%reset%
42 | call conda create -n fooocus python=3.10 -y
43 |
44 | REM Activate the fooocus environment
45 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment %cyan_fg_strong%fooocus%reset%
46 | call conda activate fooocus
47 |
48 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing pip requirements...
49 | pip install -r requirements_versions.txt
50 |
51 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Fooocus successfully installed.%reset%
52 | pause
53 | goto :app_installer_image_generation
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Image_Generation/install_invokeai.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_invokeai
4 | title STL [INSTALL INVOKEAI]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Image Generation / Install invokeai%reset%
7 | echo ---------------------------------------------------------------
8 | REM GPU menu - Frontend
9 | echo What is your GPU?
10 | echo 1. NVIDIA
11 | echo 2. AMD
12 | echo 0. Cancel
13 |
14 | setlocal enabledelayedexpansion
15 | chcp 65001 > nul
16 | REM Get GPU information
17 | set "gpu_info="
18 | for /f "tokens=*" %%i in ('powershell -Command "Get-CimInstance Win32_VideoController | Select-Object -ExpandProperty Name -First 1"') do (
19 | set "gpu_info=%%i"
20 | )
21 |
22 | echo.
23 | echo %blue_bg%╔════ GPU INFO ═════════════════════════════════╗%reset%
24 | echo %blue_bg%║ ║%reset%
25 | echo %blue_bg%║* %gpu_info:~1% ║%reset%
26 | echo %blue_bg%║ ║%reset%
27 | echo %blue_bg%╚═══════════════════════════════════════════════╝%reset%
28 | echo.
29 |
30 | endlocal
31 | set /p gpu_choice=Enter number corresponding to your GPU:
32 |
33 | REM GPU menu - Backend
34 | REM Set the GPU choice in an environment variable for choise callback
35 | set "GPU_CHOICE=%gpu_choice%"
36 |
37 | REM Check the user's response
38 | if "%gpu_choice%"=="1" (
39 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to NVIDIA
40 | goto :install_invokeai_pre
41 | ) else if "%gpu_choice%"=="2" (
42 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to AMD
43 | goto :install_invokeai_pre
44 | ) else if "%gpu_choice%"=="0" (
45 | goto :app_installer_image_generation
46 | ) else (
47 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Invalid input. Please enter a valid number.%reset%
48 | pause
49 | goto :install_invokeai
50 | )
51 | :install_invokeai_pre
52 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing InvokeAI...
53 |
54 | REM Check if the folder exists
55 | if not exist "%image_generation_dir%" (
56 | mkdir "%image_generation_dir%"
57 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "image-generation"
58 | ) else (
59 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "image-generation" folder already exists.%reset%
60 | )
61 | cd /d "%image_generation_dir%"
62 |
63 | set max_retries=3
64 | set retry_count=0
65 |
66 | :retry_install_invokeai
67 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning InvokeAI repository...
68 | git clone https://github.com/invoke-ai/InvokeAI.git
69 |
70 | if %errorlevel% neq 0 (
71 | set /A retry_count+=1
72 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
73 | if %retry_count% lss %max_retries% goto :retry_install_invokeai
74 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
75 | pause
76 | goto :home
77 | )
78 | cd /d "%invokeai_install_path%"
79 |
80 | REM Activate the Miniconda installation
81 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
82 | call "%miniconda_path%\Scripts\activate.bat"
83 |
84 | REM Create a Conda environment named invokeai
85 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating Conda environment: %cyan_fg_strong%invokeai%reset%
86 | call conda create -n invokeai python=3.11 -y
87 |
88 | REM Activate the invokeai environment
89 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%invokeai%reset%
90 | call conda activate invokeai
91 |
92 | REM Use the GPU choice made earlier to install requirements for invokeai
93 | if "%GPU_CHOICE%"=="1" (
94 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[invokeai]%reset% %blue_fg_strong%[INFO]%reset% Installing NVIDIA version of PyTorch in conda enviroment: %cyan_fg_strong%invokeai%reset%
95 | pip install InvokeAI --use-pep517 --extra-index-url https://download.pytorch.org/whl/cu121
96 | goto :install_invokeai_final
97 | ) else if "%GPU_CHOICE%"=="2" (
98 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[invokeai]%reset% %blue_fg_strong%[INFO]%reset% Installing AMD version of PyTorch in conda enviroment: %cyan_fg_strong%invokeai%reset%
99 | pip install InvokeAI --use-pep517 --extra-index-url https://download.pytorch.org/whl/rocm5.6
100 | goto :install_invokeai_final
101 | )
102 | :install_invokeai_final
103 |
104 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%InvokeAI installed successfully%reset%
105 | pause
106 | goto :app_installer_image_generation
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Image_Generation/install_ostris_aitoolkit.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_ostrisaitoolkit
4 | title STL [INSTALL OSTRIS AI TOOLKIT]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Image Generation / Install Ostris AI Toolkit%reset%
7 | echo -------------------------------------------------------------
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing Ostris AI Toolkit...
9 |
10 | REM Check if the folder exists
11 | if not exist "%image_generation_dir%" (
12 | mkdir "%image_generation_dir%"
13 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "image-generation"
14 | ) else (
15 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "image-generation" folder already exists.%reset%
16 | )
17 | cd /d "%image_generation_dir%"
18 |
19 |
20 | set max_retries=3
21 | set retry_count=0
22 | :retry_install_ostrisaitoolkit
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning the ostris ai-toolkit repository...
24 | git clone https://github.com/ostris/ai-toolkit.git
25 |
26 | if %errorlevel% neq 0 (
27 | set /A retry_count+=1
28 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
29 | if %retry_count% lss %max_retries% goto :retry_install_ostrisaitoolkit
30 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
31 | pause
32 | goto :app_installer_image_generation
33 | )
34 | cd /d "%ostrisaitoolkit_install_path%"
35 | git submodule update --init --recursive
36 |
37 | REM Run conda activate from the Miniconda installation
38 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
39 | call "%miniconda_path%\Scripts\activate.bat"
40 |
41 | REM Create a Conda environment named ostrisaitoolkit
42 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating Conda environment: %cyan_fg_strong%ostrisaitoolkit%reset%
43 | call conda create -n ostrisaitoolkit python=3.11 -y
44 |
45 | REM Activate the ostrisaitoolkit environment
46 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%ostrisaitoolkit%reset%
47 | call conda activate ostrisaitoolkit
48 |
49 | REM Install pip requirements
50 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing pip requirements
51 | pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
52 | pip install -r requirements.txt
53 |
54 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Ostris AI Toolkit installed Successfully.%reset%
55 | pause
56 | goto :install_ostrisaitoolkit_menu
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Image_Generation/install_sdwebui.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_sdwebui
4 | title STL [INSTALL STABLE DIFFUSION WEBUI]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Image Generation / Install Stable Diffusion web UI%reset%
7 | echo -------------------------------------------------------------
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing Stable Diffusion web UI...
9 |
10 | REM Check if the folder exists
11 | if not exist "%image_generation_dir%" (
12 | mkdir "%image_generation_dir%"
13 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "image-generation"
14 | ) else (
15 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "image-generation" folder already exists.%reset%
16 | )
17 | cd /d "%image_generation_dir%"
18 |
19 |
20 | set max_retries=3
21 | set retry_count=0
22 | :retry_install_sdwebui
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning the stable-diffusion-webui repository...
24 | git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
25 |
26 | if %errorlevel% neq 0 (
27 | set /A retry_count+=1
28 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
29 | if %retry_count% lss %max_retries% goto :retry_install_sdwebui
30 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
31 | pause
32 | goto :app_installer_image_generation
33 | )
34 | cd /d "%sdwebui_install_path%"
35 |
36 | REM Run conda activate from the Miniconda installation
37 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
38 | call "%miniconda_path%\Scripts\activate.bat"
39 |
40 | REM Create a Conda environment named sdwebui
41 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating Conda environment: %cyan_fg_strong%sdwebui%reset%
42 | call conda create -n sdwebui python=3.10.6 -y
43 |
44 | REM Activate the sdwebui environment
45 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%sdwebui%reset%
46 | call conda activate sdwebui
47 |
48 | REM Install pip requirements
49 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing pip requirements
50 | pip install civitdl
51 |
52 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Stable Diffusion web UI installed Successfully.%reset%
53 | pause
54 | goto :install_sdwebui_menu
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Image_Generation/install_sdwebuiforge.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_sdwebuiforge
4 | title STL [INSTALL SDWEBUI FORGE]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Text Completion / Install Stable Diffusion web UI forge%reset%
7 | echo -------------------------------------------------------------
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing Stable Diffusion web UI forge...
9 |
10 | REM Check if the folder exists
11 | if not exist "%image_generation_dir%" (
12 | mkdir "%image_generation_dir%"
13 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "image-generation"
14 | ) else (
15 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "image-generation" folder already exists.%reset%
16 | )
17 | cd /d "%image_generation_dir%"
18 |
19 |
20 | set max_retries=3
21 | set retry_count=0
22 | :retry_install_sdwebuiforge
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning the stable-diffusion-webui-forge repository...
24 | git clone https://github.com/lllyasviel/stable-diffusion-webui-forge.git
25 |
26 | if %errorlevel% neq 0 (
27 | set /A retry_count+=1
28 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
29 | if %retry_count% lss %max_retries% goto :retry_install_sdwebuiforge
30 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
31 | pause
32 | goto :app_installer_image_generation
33 | )
34 | cd /d "%sdwebuiforge_install_path%"
35 |
36 | REM Run conda activate from the Miniconda installation
37 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
38 | call "%miniconda_path%\Scripts\activate.bat"
39 |
40 | REM Create a Conda environment named sdwebuiforge
41 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating Conda environment: %cyan_fg_strong%sdwebuiforge%reset%
42 | call conda create -n sdwebuiforge python=3.10.6 -y
43 |
44 | REM Activate the sdwebuiforge environment
45 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%sdwebuiforge%reset%
46 | call conda activate sdwebuiforge
47 |
48 | REM Install pip requirements
49 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing pip requirements
50 | pip install civitdl
51 |
52 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Stable Diffusion WebUI forge installed Successfully.%reset%
53 | pause
54 | goto :install_sdwebuiforge_menu
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Text_Completion/install_koboldcpp.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_koboldcpp
4 | title STL [INSTALL KOBOLDCPP]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Text Completion / Install koboldcpp%reset%
7 | echo -------------------------------------------------------------
8 | REM GPU menu - Frontend
9 | echo What is your GPU?
10 | echo 1. NVIDIA
11 | echo 2. AMD
12 | echo 0. Cancel
13 |
14 | setlocal enabledelayedexpansion
15 | chcp 65001 > nul
16 | REM Get GPU information
17 | set "gpu_info="
18 | for /f "tokens=*" %%i in ('powershell -Command "Get-CimInstance Win32_VideoController | Select-Object -ExpandProperty Name -First 1"') do (
19 | set "gpu_info=%%i"
20 | )
21 |
22 | echo.
23 | echo %blue_bg%╔════ GPU INFO ═════════════════════════════════╗%reset%
24 | echo %blue_bg%║ ║%reset%
25 | echo %blue_bg%║* %gpu_info:~1% ║%reset%
26 | echo %blue_bg%║ ║%reset%
27 | echo %blue_bg%╚═══════════════════════════════════════════════╝%reset%
28 | echo.
29 |
30 | endlocal
31 | set /p gpu_choice=Enter number corresponding to your GPU:
32 |
33 | REM GPU menu - Backend
34 | REM Set the GPU choice in an environment variable for choise callback
35 | set "GPU_CHOICE=%gpu_choice%"
36 |
37 | REM Check the user's response
38 | if "%gpu_choice%"=="1" (
39 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to NVIDIA
40 | goto :install_koboldcpp_pre
41 | ) else if "%gpu_choice%"=="2" (
42 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to AMD
43 | goto :install_koboldcpp_pre
44 | ) else if "%gpu_choice%"=="0" (
45 | goto :install_koboldcpp_menu
46 | ) else (
47 | echo [%DATE% %TIME%] %log_invalidinput% >> %logs_stl_console_path%
48 | echo %red_bg%[%time%]%reset% %echo_invalidinput%
49 | pause
50 | goto :install_koboldcpp
51 | )
52 |
53 | :install_koboldcpp_pre
54 | REM Check if text-completion folder exists
55 | if not exist "%text_completion_dir%" (
56 | mkdir "%text_completion_dir%"
57 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "text-completion"
58 | ) else (
59 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "text-completion" folder already exists.%reset%
60 | )
61 |
62 | REM Check if dev-koboldcpp folder exists
63 | if not exist "%koboldcpp_install_path%" (
64 | mkdir "%koboldcpp_install_path%"
65 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "dev-koboldcpp"
66 | ) else (
67 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "dev-koboldcpp" folder already exists.%reset%
68 | )
69 | cd /d "%koboldcpp_install_path%"
70 |
71 | REM Use the GPU choice made earlier to install koboldcpp
72 | if "%GPU_CHOICE%"=="1" (
73 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Downloading koboldcpp.exe for: %cyan_fg_strong%NVIDIA%reset%
74 | curl -L -o "%koboldcpp_install_path%\koboldcpp.exe" "https://github.com/LostRuins/koboldcpp/releases/latest/download/koboldcpp_cu12.exe"
75 | start "" "koboldcpp.exe"
76 | goto :install_koboldcpp_final
77 | ) else if "%GPU_CHOICE%"=="2" (
78 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Downloading koboldcpp_rocm.exe for: %cyan_fg_strong%AMD%reset%
79 | curl -L -o "%koboldcpp_install_path%\koboldcpp_rocm.exe" "https://github.com/YellowRoseCx/koboldcpp-rocm/releases/latest/download/koboldcpp_rocm.exe"
80 | start "" "koboldcpp_rocm.exe"
81 | goto :install_koboldcpp_final
82 | )
83 |
84 | :install_koboldcpp_final
85 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Successfully installed koboldcpp%reset%
86 | pause
87 | goto :app_installer_text_completion
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Text_Completion/install_koboldcpp_raw.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_koboldcpp_raw
4 | title STL [INSTALL KOBOLDCPP RAW]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Text Completion / Install koboldcpp RAW%reset%
7 | echo -------------------------------------------------------------
8 |
9 | REM Check if the folder exists
10 | if not exist "%w64devkit_install_path%" (
11 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] w64devkit not found.%reset%
12 | echo %red_fg_strong%w64devkit is not installed or not found in the system PATH.%reset%
13 | echo %red_fg_strong%To install w64devkit go to:%reset% %blue_bg%/ Toolbox / App Installer / Core Utilities / Install w64devkit%reset%
14 | pause
15 | goto :app_installer_core_utilities
16 | )
17 |
18 | REM Check if the folder exists
19 | if not exist "%text_completion_dir%" (
20 | mkdir "%text_completion_dir%"
21 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "text-completion"
22 | ) else (
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "text-completion" folder already exists.%reset%
24 | )
25 |
26 | REM Check if the folder exists
27 | if not exist "%koboldcpp_install_path%" (
28 | mkdir "%koboldcpp_install_path%"
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "dev-koboldcpp"
30 | ) else (
31 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "dev-koboldcpp" folder already exists.%reset%
32 | )
33 | cd /d "%koboldcpp_install_path%"
34 |
35 | REM Check if file exists
36 | if not exist "make.sh" (
37 | echo make -C "${1}" > "make.sh"
38 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created new file: "make.sh"
39 | ) else (
40 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "make.sh" already exists.%reset%
41 | )
42 |
43 | REM Activate the Miniconda installation
44 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
45 | call "%miniconda_path%\Scripts\activate.bat"
46 |
47 | REM Create a Conda environment named koboldcpp
48 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating Conda environment: %cyan_fg_strong%koboldcpp%reset%
49 | call conda create -n koboldcpp python=3.11 -y
50 |
51 | REM Activate the conda environment named koboldcpp
52 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%koboldcpp%reset%
53 | call conda activate koboldcpp
54 |
55 | REM Install pip requirements
56 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing pip requirements
57 | pip install pyinstaller
58 |
59 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing koboldcpp...
60 |
61 | set max_retries=3
62 | set retry_count=0
63 |
64 | :retry_install_koboldcpp
65 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning the koboldcpp repository...
66 | git clone https://github.com/LostRuins/koboldcpp.git
67 |
68 | if %errorlevel% neq 0 (
69 | set /A retry_count+=1
70 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
71 | if %retry_count% lss %max_retries% goto :retry_install_koboldcpp
72 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
73 | pause
74 | goto :app_installer_text_completion
75 | )
76 |
77 | REM Add new lines to CMakeLists.txt
78 | cd /d "koboldcpp"
79 | echo add_compile_options("$<$:-utf-8>")>> CMakeLists.txt
80 | echo add_compile_options("$<$:-utf-8>")>> CMakeLists.txt
81 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% successfully added new lines to: CMakeLists.txt
82 |
83 | make
84 | PyInstaller --noconfirm --onefile --clean --console --collect-all customtkinter --icon "./niko.ico" --add-data "./winclinfo.exe;." --add-data "./OpenCL.dll;." --add-data "./klite.embd;." --add-data "./kcpp_docs.embd;." --add-data "./koboldcpp_default.dll;." --add-data "./koboldcpp_openblas.dll;." --add-data "./koboldcpp_failsafe.dll;." --add-data "./koboldcpp_noavx2.dll;." --add-data "./libopenblas.dll;." --add-data "./koboldcpp_clblast.dll;." --add-data "./koboldcpp_clblast_noavx2.dll;." --add-data "./koboldcpp_vulkan_noavx2.dll;." --add-data "./clblast.dll;." --add-data "./koboldcpp_vulkan.dll;." --add-data "./vulkan-1.dll;." --add-data "./rwkv_vocab.embd;." --add-data "./rwkv_world_vocab.embd;." "./koboldcpp.py" -n "koboldcpp.exe"
85 | start "" "koboldcpp.exe"
86 |
87 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Successfully installed koboldcpp%reset%
88 | pause
89 | goto :app_installer_text_completion
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Text_Completion/install_llamacpp.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_llamacpp
4 | title STL [INSTALL LLAMACPP]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Text Completion / Install llamacpp%reset%
7 | echo -------------------------------------------------------------
8 |
9 | REM Check if the folder exists
10 | if not exist "%w64devkit_install_path%" (
11 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] w64devkit not found.%reset%
12 | echo %red_fg_strong%w64devkit is not installed or not found in the system PATH.%reset%
13 | echo %red_fg_strong%To install w64devkit go to:%reset% %blue_bg%/ Toolbox / App Installer / Core Utilities / Install w64devkit%reset%
14 | pause
15 | goto :app_installer_core_utilities
16 | )
17 |
18 | REM Check if the folder exists
19 | if not exist "%text_completion_dir%" (
20 | mkdir "%text_completion_dir%"
21 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "text-completion"
22 | ) else (
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "text-completion" folder already exists.%reset%
24 | )
25 |
26 | REM Check if the folder exists
27 | if not exist "%llamacpp_install_path%" (
28 | mkdir "%llamacpp_install_path%"
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "dev-llamacpp"
30 | ) else (
31 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "dev-llamacpp" folder already exists.%reset%
32 | )
33 | cd /d "%llamacpp_install_path%"
34 |
35 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing llamacpp...
36 |
37 | set max_retries=3
38 | set retry_count=0
39 |
40 | :retry_install_llamacpp
41 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning the llamacpp repository...
42 | git clone https://github.com/ggerganov/llama.cpp.git
43 |
44 | if %errorlevel% neq 0 (
45 | set /A retry_count+=1
46 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
47 | if %retry_count% lss %max_retries% goto :retry_install_llamacpp
48 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
49 | pause
50 | goto :app_installer_text_completion
51 | )
52 | cd /d "llama.cpp"
53 | make
54 |
55 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Successfully installed llamacpp%reset%
56 | pause
57 | goto :app_installer_text_completion
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Text_Completion/install_ooba.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_ooba
4 | title STL [INSTALL OOBABOOGA]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Text Completion / Install oobabooga%reset%
7 | echo -------------------------------------------------------------
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% installing Text generation web UI oobabooga...
9 |
10 | REM Check if the folder exists
11 | if not exist "%stl_root%/text-completion" (
12 | mkdir "%stl_root%/text-completion"
13 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "text-completion"
14 | ) else (
15 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "text-completion" folder already exists.%reset%
16 | )
17 | cd /d "%stl_root%/text-completion"
18 |
19 |
20 | set max_retries=3
21 | set retry_count=0
22 |
23 | :retry_install_ooba
24 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning the text-generation-webui repository...
25 | git clone https://github.com/oobabooga/text-generation-webui.git
26 |
27 | if %errorlevel% neq 0 (
28 | set /A retry_count+=1
29 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
30 | if %retry_count% lss %max_retries% goto :retry_install_ooba
31 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
32 | pause
33 | goto :ooba_install_exit
34 | )
35 |
36 | cd /d "%ooba_install_path%"
37 | start "" "start_windows.bat"
38 | echo %yellow_fg_strong%[INFO]%reset% Another Command Window will open, wait for the installation to finish then
39 | pause
40 |
41 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Text generation web UI oobabooga Installed Successfully.%reset%
42 | pause
43 |
44 | :ooba_install_exit
45 | goto :app_installer_text_completion
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Text_Completion/install_tabbyapi.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_tabbyapi
4 | title STL [INSTALL TABBYAPI]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Text Completion / Install TabbyAPI%reset%
7 | echo -------------------------------------------------------------
8 | REM GPU menu - Frontend
9 | echo What is your GPU?
10 | echo 1. NVIDIA
11 | echo 2. AMD
12 | echo 0. Cancel
13 |
14 | setlocal enabledelayedexpansion
15 | chcp 65001 > nul
16 | REM Get GPU information
17 | set "gpu_info="
18 | for /f "tokens=*" %%i in ('powershell -Command "Get-CimInstance Win32_VideoController | Select-Object -ExpandProperty Name -First 1"') do (
19 | set "gpu_info=%%i"
20 | )
21 |
22 | echo.
23 | echo %blue_bg%╔════ GPU INFO ═════════════════════════════════╗%reset%
24 | echo %blue_bg%║ ║%reset%
25 | echo %blue_bg%║* %gpu_info:~1% ║%reset%
26 | echo %blue_bg%║ ║%reset%
27 | echo %blue_bg%╚═══════════════════════════════════════════════╝%reset%
28 | echo.
29 |
30 | endlocal
31 | set /p gpu_choice=Enter number corresponding to your GPU:
32 |
33 | REM GPU menu - Backend
34 | REM Set the GPU choice in an environment variable for choise callback
35 | set "GPU_CHOICE=%gpu_choice%"
36 |
37 | REM Check the user's response
38 | if "%gpu_choice%"=="1" (
39 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to NVIDIA
40 | goto :install_tabbyapi_pre
41 | ) else if "%gpu_choice%"=="2" (
42 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to AMD
43 | goto :install_tabbyapi_pre
44 | ) else if "%gpu_choice%"=="0" (
45 | goto :app_installer_text_completion
46 | ) else (
47 | echo [%DATE% %TIME%] %log_invalidinput% >> %logs_stl_console_path%
48 | echo %red_bg%[%time%]%reset% %echo_invalidinput%
49 | pause
50 | goto :install_tabbyapi
51 | )
52 |
53 | :install_tabbyapi_pre
54 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing TabbyAPI...
55 |
56 | REM Check if the folder exists
57 | if not exist "%text_completion_dir%" (
58 | mkdir "%text_completion_dir%"
59 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "text-completion"
60 | ) else (
61 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "text-completion" folder already exists.%reset%
62 | )
63 | cd /d "%text_completion_dir%"
64 |
65 | set max_retries=3
66 | set retry_count=0
67 |
68 | :retry_install_tabbyapi
69 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning the tabbyAPI repository...
70 | git clone https://github.com/theroyallab/tabbyAPI.git
71 |
72 | if %errorlevel% neq 0 (
73 | set /A retry_count+=1
74 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
75 | if %retry_count% lss %max_retries% goto :retry_install_tabbyapi
76 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
77 | pause
78 | goto :app_installer_text_completion
79 | )
80 |
81 | REM Activate the Miniconda installation
82 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
83 | call "%miniconda_path%\Scripts\activate.bat"
84 |
85 | REM Create a Conda environment named tabbyapi
86 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating Conda environment: %cyan_fg_strong%tabbyapi%reset%
87 | call conda create -n tabbyapi python=3.11 -y
88 |
89 | REM Activate the conda environment named tabbyapi
90 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%tabbyapi%reset%
91 | call conda activate tabbyapi
92 |
93 | cd /d "%tabbyapi_install_path%"
94 | REM Use the GPU choice made earlier to install requirements for tabbyapi
95 | if "%GPU_CHOICE%"=="1" (
96 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[tabbyapi]%reset% %blue_fg_strong%[INFO]%reset% Setting TabbyAPI to use NVIDIA GPUs: %cyan_fg_strong%tabbyapi%reset%
97 | echo cu121 > "gpu_lib.txt"
98 | goto :install_tabbyapi_final
99 | ) else if "%GPU_CHOICE%"=="2" (
100 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[tabbyapi]%reset% %blue_fg_strong%[INFO]%reset% Setting TabbyAPI to use AMD GPUs: %cyan_fg_strong%tabbyapi%reset%
101 | echo amd > "gpu_lib.txt"
102 | goto :install_tabbyapi_final
103 | )
104 |
105 | :install_tabbyapi_final
106 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Downgrading numpy to: %cyan_fg_strong%1.26.4%reset%
107 | pip install numpy==1.26.4
108 |
109 | echo Loading solely the API may not be your optimal usecase.
110 | echo Therefore, a config.yml exists to tune initial launch parameters and other configuration options.
111 | echo.
112 | echo A config.yml file is required for overriding project defaults.
113 | echo If you are okay with the defaults, you don't need a config file!
114 | echo.
115 | echo If you do want a config file, copy over config_sample.yml to config.yml. All the fields are commented,
116 | echo so make sure to read the descriptions and comment out or remove fields that you don't need.
117 | echo.
118 |
119 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%TabbyAPI installed successfully.%reset%
120 |
121 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Updating TabbyAPI Dependencies...
122 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] This process could take a while, typically around 10 minutes or less. Please be patient and do not close this window until the update is complete.%reset%
123 |
124 | REM Run the update process and log the output
125 | python start.py --update-deps > %log_dir%\tabby_update_log.txt 2>&1
126 |
127 | REM Scan the log file for the specific success message
128 | findstr /c:"Dependencies updated. Please run TabbyAPI" %log_dir%\tabby_update_log.txt >nul
129 | if %errorlevel% == 0 (
130 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% OK
131 | ) else (
132 | echo %red_bg%[ERROR] TabbyAPI Update Failed. Please run the installer again%reset%
133 | )
134 |
135 | REM Delete the log file
136 | del %log_dir%\tabby_update_log.txt
137 |
138 | REM Continue with the rest of the script
139 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%TabbyAPI Dependencies updated successfully.%reset%
140 | pause
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Text_Completion/install_tabbyapi_st_ext.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_tabbyapi_st_ext
4 | title STL [INSTALL TABBYAPI ST EXT]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Text Completion / Install ST-tabbyAPI-loader Extension%reset%
7 | echo -------------------------------------------------------------
8 |
9 | REM Scan for user folders
10 | set "user_folders="
11 | for /d %%d in ("%st_install_path%\data\*") do (
12 | if /i not "%%~nxd"=="_storage" if /i not "%%~nxd"=="_uploads" (
13 | set "user_folders=!user_folders!%%~nxd|"
14 | )
15 | )
16 |
17 | echo Detected accounts:
18 | echo ================================
19 | REM Remove the trailing pipe character
20 | set "user_folders=%user_folders:~0,-1%"
21 |
22 | REM Split user_folders into an array
23 | set i=1
24 | set "user_count=0"
25 | for %%a in (%user_folders:|= %) do (
26 | echo !i!. %cyan_fg_strong%%%a%reset%
27 | set "user_folder_!i!=%%a"
28 | set /a i+=1
29 | set /a user_count+=1
30 | )
31 | echo ================================
32 |
33 | REM If only one user folder is found, skip the selection
34 | if %user_count%==1 (
35 | set "selected_user_folder=!user_folder_1!"
36 | goto skip_user_selection
37 | )
38 |
39 | :select_user_folder
40 | REM Prompt user to select a folder
41 | echo 0. Cancel
42 | echo.
43 | set "selected_user_folder="
44 | set /p user_choice="Select a folder to install ST-tabbyAPI-loader: "
45 |
46 | REM Check if the user wants to exit
47 | if "%user_choice%"=="0" (
48 | exit /b 0
49 | )
50 |
51 | REM Get the selected folder name
52 | for /l %%i in (1,1,%user_count%) do (
53 | if "%user_choice%"=="%%i" set "selected_user_folder=!user_folder_%%i!"
54 | )
55 |
56 | if "%selected_user_folder%"=="" (
57 | echo %red_fg_strong%[ERROR] Invalid selection. Please enter a number between 1 and %user_count%, or press 0 to cancel.%reset%
58 | pause
59 | goto :create_backup
60 | )
61 |
62 | :skip_user_selection
63 | REM Replace backslashes with double backslashes in st_install_path
64 | set "escaped_st_install_path=%st_install_path:\=\\%"
65 |
66 | REM install the extension in selected user folder
67 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing ST-tabbyAPI-loader extension...
68 | cd /d "%st_install_path%\data\%selected_user_folder%\extensions"
69 | git clone https://github.com/theroyallab/ST-tabbyAPI-loader.git
70 |
71 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%ST-tabbyAPI-loader Extension for SillyTavern has been installed successfully.%reset%
72 | pause
73 | goto :install_tabbyapi_menu
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Voice_Generation/install_alltalk.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_alltalk
4 | title STL [INSTALL ALLTALK]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Voice Generation / Install AllTalk%reset%
7 | echo ---------------------------------------------------------------
8 | REM GPU menu - Frontend
9 | echo What is your GPU?
10 | echo 1. NVIDIA
11 | echo 2. AMD
12 | echo 0. Cancel
13 |
14 | setlocal enabledelayedexpansion
15 | chcp 65001 > nul
16 | REM Get GPU information
17 | set "gpu_info="
18 | for /f "tokens=*" %%i in ('powershell -Command "Get-CimInstance Win32_VideoController | Select-Object -ExpandProperty Name -First 1"') do (
19 | set "gpu_info=%%i"
20 | )
21 |
22 | echo.
23 | echo %blue_bg%╔════ GPU INFO ═════════════════════════════════╗%reset%
24 | echo %blue_bg%║ ║%reset%
25 | echo %blue_bg%║* %gpu_info:~1% ║%reset%
26 | echo %blue_bg%║ ║%reset%
27 | echo %blue_bg%╚═══════════════════════════════════════════════╝%reset%
28 | echo.
29 |
30 | endlocal
31 | set /p gpu_choice=Enter number corresponding to your GPU:
32 |
33 | REM GPU menu - Backend
34 | REM Set the GPU choice in an environment variable for choise callback
35 | set "GPU_CHOICE=%gpu_choice%"
36 |
37 | REM Check the user's response
38 | if "%gpu_choice%"=="1" (
39 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to NVIDIA
40 | goto :install_alltalk_pre
41 | ) else if "%gpu_choice%"=="2" (
42 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to AMD
43 | goto :install_alltalk_pre
44 | ) else if "%gpu_choice%"=="0" (
45 | goto :app_installer_voice_generation
46 | ) else (
47 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Invalid input. Please enter a valid number.%reset%
48 | pause
49 | goto :install_alltalk
50 | )
51 | :install_alltalk_pre
52 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing AllTalk...
53 |
54 | REM Check if the folder exists
55 | if not exist "%voice_generation_dir%" (
56 | mkdir "%voice_generation_dir%"
57 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "voice-generation"
58 | ) else (
59 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "voice-generation" folder already exists.%reset%
60 | )
61 | cd /d "%voice_generation_dir%"
62 |
63 | set max_retries=3
64 | set retry_count=0
65 |
66 | :retry_install_alltalk
67 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning alltalk_tts repository...
68 | git clone https://github.com/erew123/alltalk_tts.git
69 |
70 | if %errorlevel% neq 0 (
71 | set /A retry_count+=1
72 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
73 | if %retry_count% lss %max_retries% goto :retry_install_alltalk
74 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
75 | pause
76 | goto :home
77 | )
78 | cd /d "%alltalk_install_path%"
79 |
80 | REM Activate the Miniconda installation
81 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
82 | call "%miniconda_path%\Scripts\activate.bat"
83 |
84 | REM Create a Conda environment named alltalk
85 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating Conda environment: %cyan_fg_strong%alltalk%reset%
86 | call conda create -n alltalk python=3.11.5 -y
87 |
88 | REM Activate the alltalk environment
89 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%alltalk%reset%
90 | call conda activate alltalk
91 |
92 | REM Use the GPU choice made earlier to install requirements for alltalk
93 | if "%GPU_CHOICE%"=="1" (
94 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[alltalk]%reset% %blue_fg_strong%[INFO]%reset% Installing NVIDIA version of PyTorch in conda enviroment: %cyan_fg_strong%alltalk%reset%
95 | pip install torch==2.2.0+cu121 torchaudio==2.2.0+cu121 --upgrade --force-reinstall --extra-index-url https://download.pytorch.org/whl/cu121
96 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[alltalk]%reset% %blue_fg_strong%[INFO]%reset% Installing deepspeed...
97 | curl -LO https://github.com/erew123/alltalk_tts/releases/download/DeepSpeed-14.0/deepspeed-0.14.0+ce78a63-cp311-cp311-win_amd64.whl
98 | pip install deepspeed-0.14.0+ce78a63-cp311-cp311-win_amd64.whl
99 | del deepspeed-0.14.0+ce78a63-cp311-cp311-win_amd64.whl
100 | goto :install_alltalk_final
101 | ) else if "%GPU_CHOICE%"=="2" (
102 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[alltalk]%reset% %blue_fg_strong%[INFO]%reset% Installing AMD version of PyTorch in conda enviroment: %cyan_fg_strong%alltalk%reset%
103 | pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.6
104 | goto :install_alltalk_final
105 | )
106 | :install_alltalk_final
107 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[alltalk]%reset% %blue_fg_strong%[INFO]%reset% Installing pip requirements from requirements_standalone.txt
108 | pip install -r system\requirements\requirements_standalone.txt
109 |
110 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%AllTalk installed successfully%reset%
111 | pause
112 | goto :app_installer_voice_generation
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Voice_Generation/install_rvc.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_rvc
4 | title STL [INSTALL RVC]
5 | cls
6 | echo %blue_fg_strong%/ Home / Install RVC%reset%
7 | echo ---------------------------------------------------------------
8 | REM GPU menu - Frontend
9 | echo What is your GPU?
10 | echo 1. NVIDIA
11 | echo 2. AMD
12 | echo 3. AMD/Intel DirectML
13 | echo 4. Intel Arc IPEX
14 | echo 0. Cancel
15 |
16 | setlocal enabledelayedexpansion
17 | chcp 65001 > nul
18 | REM Get GPU information
19 | set "gpu_info="
20 | for /f "tokens=*" %%i in ('powershell -Command "Get-CimInstance Win32_VideoController | Select-Object -ExpandProperty Name -First 1"') do (
21 | set "gpu_info=%%i"
22 | )
23 |
24 | echo.
25 | echo %blue_bg%╔════ GPU INFO ═════════════════════════════════╗%reset%
26 | echo %blue_bg%║ ║%reset%
27 | echo %blue_bg%║* %gpu_info:~1% ║%reset%
28 | echo %blue_bg%║ ║%reset%
29 | echo %blue_bg%╚═══════════════════════════════════════════════╝%reset%
30 | echo.
31 |
32 | endlocal
33 | set /p gpu_choice=Enter number corresponding to your GPU:
34 |
35 | REM GPU menu - Backend
36 | REM Set the GPU choice in an environment variable for choise callback
37 | set "GPU_CHOICE=%gpu_choice%"
38 |
39 | REM Check the user's response
40 | if "%gpu_choice%"=="1" (
41 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to: NVIDIA
42 | goto :install_rvc_pre
43 | ) else if "%gpu_choice%"=="2" (
44 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to: AMD
45 | goto :install_rvc_pre
46 | ) else if "%gpu_choice%"=="3" (
47 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to: AMD/Intel DirectML
48 | goto :install_rvc_pre
49 | ) else if "%gpu_choice%"=="4" (
50 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to: Intel Arc IPEX
51 | goto :install_rvc_pre
52 | ) else if "%gpu_choice%"=="0" (
53 | goto :app_installer_voice_generation
54 | ) else (
55 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Invalid input. Please enter a valid number.%reset%
56 | pause
57 | goto :install_rvc
58 | )
59 | :install_rvc_pre
60 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing RVC...
61 |
62 | REM Check if the folder exists
63 | if not exist "%voice_generation_dir%" (
64 | mkdir "%voice_generation_dir%"
65 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "voice-generation"
66 | ) else (
67 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "voice-generation" folder already exists.%reset%
68 | )
69 | cd /d "%voice_generation_dir%"
70 |
71 | set max_retries=3
72 | set retry_count=0
73 |
74 | :retry_install_rvc
75 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning the Retrieval-based-Voice-Conversion-WebUI repository...
76 | git clone https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git
77 |
78 | if %errorlevel% neq 0 (
79 | set /A retry_count+=1
80 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
81 | if %retry_count% lss %max_retries% goto :retry_install_rvc
82 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to clone repository after %max_retries% retries.%reset%
83 | pause
84 | goto :home
85 | )
86 | cd /d "%rvc_install_path%"
87 |
88 | REM Run conda activate from the Miniconda installation
89 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
90 | call "%miniconda_path%\Scripts\activate.bat"
91 |
92 | REM Create a Conda environment named rvc
93 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating Conda environment: %cyan_fg_strong%rvc%reset%
94 | call conda create -n rvc python=3.10.9 -y
95 |
96 | REM Activate the rvc environment
97 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%rvc%reset%
98 | call conda activate rvc
99 |
100 | REM Downgrade pip to version 24.0.0 because fairseq from facebookresearch fails at pip-24.2
101 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Downgrading pip-24.2 to: %cyan_fg_strong%pip-24.0%reset%
102 | python -m pip install pip==24.0.0
103 |
104 | REM Use the GPU choice made earlier to install requirements for RVC
105 | if "%GPU_CHOICE%"=="1" (
106 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[rvc]%reset% %blue_fg_strong%[INFO]%reset% Installing NVIDIA version from requirements.txt in conda enviroment: %cyan_fg_strong%rvc%reset%
107 | pip install torch==2.2.1+cu121 torchaudio==2.2.1+cu121 --upgrade --force-reinstall --extra-index-url https://download.pytorch.org/whl/cu121
108 | pip install -r requirements.txt
109 | goto :install_rvc_final
110 | ) else if "%GPU_CHOICE%"=="2" (
111 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[rvc]%reset% %blue_fg_strong%[INFO]%reset% Installing AMD version from requirements-amd.txt in conda enviroment: %cyan_fg_strong%rvc%reset%
112 | pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.6
113 | pip install -r requirements-amd.txt
114 | goto :install_rvc_final
115 | ) else if "%GPU_CHOICE%"=="3" (
116 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[rvc]%reset% %blue_fg_strong%[INFO]%reset% Installing AMD/Intel DirectML version from requirements-dml.txt in conda enviroment: %cyan_fg_strong%rvc%reset%
117 | pip install torch torchvision torchaudio
118 | pip install -r requirements-dml.txt
119 | goto :install_rvc_final
120 | ) else if "%GPU_CHOICE%"=="4" (
121 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[rvc]%reset% %blue_fg_strong%[INFO]%reset% Installing Intel Arc IPEX version from requirements-ipex.txt in conda enviroment: %cyan_fg_strong%rvc%reset%
122 | pip install torch torchvision torchaudio
123 | pip install -r requirements-ipex.txt
124 | goto :install_rvc_final
125 | )
126 | :install_rvc_final
127 | REM Install pip packages that are not in requirements list
128 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing pip modules for GUI
129 | pip install FreeSimpleGUI
130 | pip install sounddevice
131 | REM pip install python-dotenv
132 |
133 |
134 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%RVC successfully installed.%reset%
135 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] In order to start RVC correctly please install FFMPEG from: / Home / Toolbox / App Installer / Core Utilities / Install FFmpeg%reset%
136 | pause
137 | goto :app_installer_voice_generation
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Installer/Voice_Generation/install_xtts.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :install_xtts
4 | title STL [INSTALL XTTS]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / App Installer / Voice Generation / Install XTTS%reset%
7 | echo ---------------------------------------------------------------
8 | REM GPU menu - Frontend
9 | echo What is your GPU?
10 | echo 1. NVIDIA
11 | echo 2. AMD
12 | echo 3. None CPU-only mode
13 | echo 0. Cancel
14 |
15 | setlocal enabledelayedexpansion
16 | chcp 65001 > nul
17 | REM Get GPU information
18 | set "gpu_info="
19 | for /f "tokens=*" %%i in ('powershell -Command "Get-CimInstance Win32_VideoController | Select-Object -ExpandProperty Name -First 1"') do (
20 | set "gpu_info=%%i"
21 | )
22 |
23 | echo.
24 | echo %blue_bg%╔════ GPU INFO ═════════════════════════════════╗%reset%
25 | echo %blue_bg%║ ║%reset%
26 | echo %blue_bg%║* %gpu_info:~1% ║%reset%
27 | echo %blue_bg%║ ║%reset%
28 | echo %blue_bg%╚═══════════════════════════════════════════════╝%reset%
29 | echo.
30 |
31 | endlocal
32 | set /p gpu_choice=Enter number corresponding to your GPU:
33 |
34 | REM GPU menu - Backend
35 | REM Set the GPU choice in an environment variable for choise callback
36 | set "GPU_CHOICE=%gpu_choice%"
37 |
38 | REM Check the user's response
39 | if "%gpu_choice%"=="1" (
40 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to NVIDIA
41 | goto :install_xtts_pre
42 | ) else if "%gpu_choice%"=="2" (
43 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% GPU choice set to AMD
44 | goto :install_xtts_pre
45 | ) else if "%gpu_choice%"=="3" (
46 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Using CPU-only mode
47 | goto :install_xtts_pre
48 | ) else if "%gpu_choice%"=="0" (
49 | goto :installer
50 | ) else (
51 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Invalid input. Please enter a valid number.%reset%
52 | pause
53 | goto :install_xtts
54 | )
55 | :install_xtts_pre
56 | REM Check if the folder exists
57 | if not exist "%voice_generation_dir%" (
58 | mkdir "%voice_generation_dir%"
59 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Created folder: "voice-generation"
60 | ) else (
61 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO] "voice-generation" folder already exists.%reset%
62 | )
63 | cd /d "%voice_generation_dir%"
64 |
65 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Installing XTTS...
66 |
67 | REM Activate the Miniconda installation
68 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
69 | call "%miniconda_path%\Scripts\activate.bat"
70 |
71 | REM Create a Conda environment named xtts
72 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating Conda environment: %cyan_fg_strong%xtts%reset%
73 | call conda create -n xtts python=3.10 -y
74 |
75 | REM Activate the xtts environment
76 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%xtts%reset%
77 | call conda activate xtts
78 |
79 | REM Use the GPU choice made earlier to install requirements for XTTS
80 | if "%GPU_CHOICE%"=="1" (
81 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[xtts]%reset% %blue_fg_strong%[INFO]%reset% Installing NVIDIA version of PyTorch in conda enviroment: %cyan_fg_strong%xtts%reset%
82 | pip install torch==2.1.1+cu118 torchvision==0.16.1+cu118 torchaudio==2.1.1+cu118 --index-url https://download.pytorch.org/whl/cu118
83 | goto :install_xtts_final
84 | ) else if "%GPU_CHOICE%"=="2" (
85 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[xtts]%reset% %blue_fg_strong%[INFO]%reset% Installing AMD version of PyTorch in conda enviroment: %cyan_fg_strong%xtts%reset%
86 | pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.6
87 | goto :install_xtts_final
88 | ) else if "%GPU_CHOICE%"=="3" (
89 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[xtts]%reset% %blue_fg_strong%[INFO]%reset% Installing CPU-only version of PyTorch in conda enviroment: %cyan_fg_strong%xtts%reset%
90 | pip install torch torchvision torchaudio
91 | goto :install_xtts_final
92 | )
93 | :install_xtts_final
94 | REM Clone the xtts-api-server repository for voice examples
95 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Cloning xtts-api-server repository...
96 | git clone https://github.com/daswer123/xtts-api-server.git
97 | cd /d "xtts-api-server"
98 |
99 | REM Create requirements-custom.txt to install pip requirements
100 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[xtts]%reset% %blue_fg_strong%[INFO]%reset% Creating file: requirements-custom.txt%reset%
101 | echo xtts-api-server > requirements-custom.txt
102 | echo pydub >> requirements-custom.txt
103 | echo stream2sentence >> requirements-custom.txt
104 | echo spacy==3.7.4 >> requirements-custom.txt
105 |
106 | REM Install pip requirements
107 | echo %blue_bg%[%time%]%reset% %cyan_fg_strong%[xtts]%reset% %blue_fg_strong%[INFO]%reset% Installing pip requirements in conda enviroment: %cyan_fg_strong%xtts%reset%
108 | pip install -r requirements-custom.txt
109 |
110 | REM Create folders for xtts
111 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Creating xtts folders...
112 | mkdir "%xtts_install_path%"
113 | mkdir "%xtts_install_path%\speakers"
114 | mkdir "%xtts_install_path%\output"
115 |
116 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Adding voice examples to speakers directory...
117 | xcopy "%voice_generation_dir%\xtts-api-server\example\*" "%xtts_install_path%\speakers\" /y /e
118 |
119 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the xtts-api-server directory...
120 | rmdir /s /q "%voice_generation_dir%\xtts-api-server"
121 |
122 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%XTTS installed successfully%reset%
123 | pause
124 | goto :app_installer_voice_generation
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Core_Utilities/start_extras.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_extras
4 | REM Run conda activate from the Miniconda installation
5 | call "%miniconda_path%\Scripts\activate.bat"
6 |
7 | REM Activate the extras environment
8 | call conda activate extras
9 |
10 | REM Start SillyTavern Extras with desired configurations
11 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Extras launched in a new window.
12 |
13 | REM Read modules-extras and find the extras_start_command line
14 | set "extras_start_command="
15 |
16 | for /F "tokens=*" %%a in ('findstr /I "extras_start_command=" "%extras_modules_path%"') do (
17 | set "%%a"
18 | )
19 |
20 | set "extras_start_command=%extras_start_command:extras_start_command=%"
21 | start cmd /k "title SillyTavern Extras && cd /d %extras_install_path% && %extras_start_command%"
22 | goto :home
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Core_Utilities/start_st.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | REM Check if the folder exists
4 | if not exist "%st_install_path%" (
5 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Directory:%reset% %red_bg%SillyTavern%reset% %red_fg_strong%not found.%reset%
6 | echo %red_fg_strong%Please make sure SillyTavern is located in: %~dp0%reset%
7 | pause
8 | exit /b 1
9 | )
10 |
11 | REM Check if Node.js is installed
12 | node --version > nul 2>&1
13 | if %errorlevel% neq 0 (
14 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] node command not found in PATH.%reset%
15 | echo %red_fg_strong%Node.js is not installed or not found in the system PATH.%reset%
16 | echo %red_fg_strong%To install Node.js go to:%reset% %blue_bg%/ Toolbox / App Installer / Core Utilities / Install Node.js%reset%
17 | pause
18 | exit /b 1
19 | )
20 |
21 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Node.js in: %cyan_fg_strong%%NODE_ENV% %reset%
22 | setlocal
23 | set "command=%~1"
24 | start /B cmd /C "%command%"
25 | for /f "tokens=2 delims=," %%a in ('tasklist /FI "IMAGENAME eq cmd.exe" /FO CSV /NH') do (
26 | set "pid=%%a"
27 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Started process with PID: %cyan_fg_strong%!pid!%reset%
28 | echo !pid!>>"%log_dir%\pids.txt"
29 | goto :st_found_pid
30 | )
31 | :st_found_pid
32 | endlocal
33 |
34 | REM Check if SSL info file exists and set the command accordingly
35 | set "sslPathsFound=false"
36 | if exist "%SSL_INFO_FILE%" (
37 | for /f %%i in ('type "%SSL_INFO_FILE%"') do (
38 | set "sslPathsFound=true"
39 | goto :ST_SSL_Start
40 | )
41 | )
42 |
43 | REM Debugging: Check auto-repair setting
44 | if not exist "%log_dir%\autorepair-setting.txt" (
45 | echo NO > "%log_dir%\autorepair-setting.txt"
46 | )
47 |
48 | REM Read and sanitize autorepair-setting.txt
49 | set "st_auto_repair="
50 | for /f "tokens=*" %%a in ('type "%log_dir%\autorepair-setting.txt" 2^>nul ^| findstr /v "^$"') do set "st_auto_repair=%%a"
51 |
52 | REM Remove leading/trailing spaces and validate value
53 |
54 | set "st_auto_repair=!st_auto_repair: =!"
55 | if /i "!st_auto_repair!" neq "YES" if /i "!st_auto_repair!" neq "NO" (
56 | set "st_auto_repair=NO"
57 | )
58 |
59 | REM Conditional Logic Based on st_auto_repair
60 | if "%st_auto_repair%"=="YES" (
61 | echo DEBUG: Entered the YES block
62 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Auto-repair process enabled [this can be toggled in the troubleshooting menu].
63 | goto :ST_SSL_Start
64 | ) else (
65 | echo DEBUG: Entered the NO block
66 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Auto-repair disabled [this can be toggled in the troubleshooting menu]. Launching SillyTavern normally...
67 | goto :fallback
68 | )
69 |
70 | :ST_SSL_Start
71 | if "%sslPathsFound%"=="true" (
72 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% SillyTavern opened with SSL in a new window.
73 | start cmd /k "title SillyTavern && cd /d %st_install_path% && call npm install --no-audit --no-fund --loglevel=error --no-progress --omit=dev && call %functions_dir%\Home\log_wrapper.bat ssl"
74 | ) else (
75 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% SillyTavern opened in a new window.
76 | start cmd /k "title SillyTavern && cd /d %st_install_path% && call npm install --no-audit --no-fund --loglevel=error --no-progress --omit=dev && call %functions_dir%\Home\log_wrapper.bat"
77 | )
78 |
79 | REM Clear the old log file if it exists
80 | if exist "%logs_st_console_path%" (
81 | del "%logs_st_console_path%"
82 | )
83 | REM Wait for log file to be created, timeout after 30 seconds (10 iterations of 3 seconds)
84 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Waiting for 30 seconds for SillyTavern to fully launch...
85 | set "counter=0"
86 | :wait_for_log
87 | timeout /t 3 > nul
88 | set /a counter+=1
89 | if not exist "%logs_st_console_path%" (
90 | if %counter% lss 10 (
91 | goto :wait_for_log
92 | ) else (
93 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR]%reset% Log file not found, something went wrong. Launching ST with fallback method.
94 | goto :fallback
95 | )
96 | )
97 |
98 | goto :scan_log
99 |
100 | :fallback
101 | REM Fallback to %st_install_path% and start
102 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Starting SillyTavern from %st_install_path%...
103 | start cmd /k "title SillyTavern && cd /d %st_install_path% && call npm install --no-audit --no-fund --loglevel=error --no-progress --omit=dev && call Start.bat"
104 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% SillyTavern should now be launching in a new window, if you still receive errors please contact the launcher devs in the #launcher-help channel on discord.
105 | timeout /t 10
106 | exit /b 1
107 |
108 | :scan_log
109 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Log file found, scanning log for errors...
110 |
111 | :loop
112 | REM Use PowerShell to search for the error message
113 | powershell -Command "try { $content = Get-Content '%logs_st_console_path%' -Raw; if ($content -match 'Error: Cannot find module') { exit 1 } elseif ($content -match 'SillyTavern is listening' -or $content -match 'Go to' -or $content -match '\[\s*\r?\n\s*\x27') { exit 0 } else { exit 2 } } catch { exit 2 }"
114 | set "ps_errorlevel=%errorlevel%"
115 |
116 | if %ps_errorlevel% equ 0 (
117 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%SillyTavern Launched Successfully. Returning home...%reset%
118 | timeout /t 10
119 | exit /b 0
120 | ) else if %ps_errorlevel% equ 1 (
121 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Node.js Code: MODULE_NOT_FOUND%reset%
122 | goto :attemptnodefix
123 | ) else (
124 | timeout /t 3 > nul
125 | goto :loop
126 | )
127 |
128 | :attemptnodefix
129 | set /p "choice=Run troubleshooter to fix this error? (If yes, close any open SillyTavern Command Windows first) [Y/n]: "
130 | if /i "%choice%"=="" set choice=Y
131 | if /i "%choice%"=="Y" (
132 | set "caller=home"
133 | call "%troubleshooting_dir%\remove_node_modules.bat"
134 | if %errorlevel% equ 0 goto :home
135 | )
136 | exit /b 1
137 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Core_Utilities/update_start_st.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | REM Check if the folder exists
4 | if not exist "%st_install_path%" (
5 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Directory:%reset% %red_bg%SillyTavern%reset% %red_fg_strong%not found.%reset%
6 | echo %red_fg_strong%Please make sure SillyTavern is located in: %~dp0%reset%
7 | pause
8 | exit /b 1
9 | )
10 |
11 | REM Check if Node.js is installed
12 | node --version > nul 2>&1
13 | if %errorlevel% neq 0 (
14 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] node command not found in PATH.%reset%
15 | echo %red_fg_strong%Node.js is not installed or not found in the system PATH.%reset%
16 | echo %red_fg_strong%To install Node.js go to:%reset% %blue_bg%/ Toolbox / App Installer / Core Utilities / Install Node.js%reset%
17 | pause
18 | exit /b 1
19 | )
20 |
21 |
22 | REM Update SillyTavern
23 | set max_retries=3
24 | set retry_count=0
25 |
26 | :retry_update_st
27 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Updating SillyTavern...
28 | cd /d "%st_install_path%"
29 | call git pull
30 | if %errorlevel% neq 0 (
31 | set /A retry_count+=1
32 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN] Retry %retry_count% of %max_retries%%reset%
33 | if %retry_count% lss %max_retries% goto :retry_update_st
34 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Failed to update SillyTavern repository after %max_retries% retries.%reset%
35 | pause
36 | goto :home
37 | )
38 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%SillyTavern updated successfully.%reset%
39 |
40 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Node.js in: %cyan_fg_strong%%NODE_ENV% %reset%
41 | setlocal
42 | set "command=%~1"
43 | start /B cmd /C "%command%"
44 | for /f "tokens=2 delims=," %%a in ('tasklist /FI "IMAGENAME eq cmd.exe" /FO CSV /NH') do (
45 | set "pid=%%a"
46 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Started process with PID: %cyan_fg_strong%!pid!%reset%
47 | echo !pid!>>"%log_dir%\pids.txt"
48 | goto :st_found_pid
49 | )
50 | :st_found_pid
51 | endlocal
52 |
53 | REM Check if SSL info file exists and set the command accordingly
54 | set "sslPathsFound=false"
55 | if exist "%SSL_INFO_FILE%" (
56 | for /f %%i in ('type "%SSL_INFO_FILE%"') do (
57 | set "sslPathsFound=true"
58 | goto :ST_SSL_Start
59 | )
60 | )
61 |
62 | :ST_SSL_Start
63 | if "%sslPathsFound%"=="true" (
64 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% SillyTavern opened with SSL in a new window.
65 | start cmd /k "title SillyTavern && cd /d %st_install_path% && call npm install --no-audit --no-fund --loglevel=error --no-progress --omit=dev && call %functions_dir%\Home\log_wrapper.bat ssl"
66 | ) else (
67 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% SillyTavern opened in a new window.
68 | start cmd /k "title SillyTavern && cd /d %st_install_path% && call npm install --no-audit --no-fund --loglevel=error --no-progress --omit=dev && call %functions_dir%\Home\log_wrapper.bat"
69 | )
70 |
71 | REM Clear the old log file if it exists
72 | if exist "%logs_st_console_path%" (
73 | del "%logs_st_console_path%"
74 | )
75 | REM Wait for log file to be created, timeout after 60 seconds (20 iterations of 3 seconds)
76 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Waiting for SillyTavern to fully launch...
77 | set "counter=0"
78 | :wait_for_log
79 | timeout /t 3 > nul
80 | set /a counter+=1
81 | if not exist "%logs_st_console_path%" (
82 | if %counter% lss 20 (
83 | goto :wait_for_log
84 | ) else (
85 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR]%reset% Log file not found, something went wrong. Close all SillyTavern command windows and try again.
86 | pause
87 | goto :home
88 | )
89 | )
90 |
91 |
92 | goto :scan_log
93 |
94 | :scan_log
95 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Log file found, scanning log for errors...
96 |
97 | :loop
98 | REM Use PowerShell to search for the error message
99 | powershell -Command "try { $content = Get-Content '%logs_st_console_path%' -Raw; if ($content -match 'Error: Cannot find module') { exit 1 } elseif ($content -match 'SillyTavern is listening' -or $content -match 'Go to' -or $content -match '\[\s*\r?\n\s*\x27') { exit 0 } else { exit 2 } } catch { exit 2 }"
100 | set "ps_errorlevel=%errorlevel%"
101 |
102 | if %ps_errorlevel% equ 0 (
103 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%SillyTavern Launched Successfully. Returning home...%reset%
104 | timeout /t 10
105 | exit /b 0
106 | ) else if %ps_errorlevel% equ 1 (
107 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Node.js Code: MODULE_NOT_FOUND%reset%
108 | goto :attemptnodefix
109 | ) else (
110 | timeout /t 3 > nul
111 | goto :loop
112 | )
113 |
114 | :attemptnodefix
115 | set /p "choice=Run troubleshooter to fix this error? (If yes, close any open SillyTavern Command Windows first) [Y/n]: "
116 | if /i "%choice%"=="" set choice=Y
117 | if /i "%choice%"=="Y" (
118 | set "caller=home"
119 | call "%troubleshooting_dir%\remove_node_modules.bat"
120 | if %errorlevel% equ 0 goto :home
121 | )
122 | exit /b 1
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Image_Generation/start_comfyui.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_comfyui
4 | cd /d "%comfyui_install_path%"
5 |
6 | REM Run conda activate from the Miniconda installation
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
8 | call "%miniconda_path%\Scripts\activate.bat"
9 |
10 | REM Activate the comfyui environment
11 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%comfyui%reset%
12 | call conda activate comfyui
13 |
14 | REM Read modules-comfyui and find the comfyui_start_command line
15 | set "comfyui_start_command="
16 |
17 | for /F "tokens=*" %%a in ('findstr /I "comfyui_start_command=" "%comfyui_modules_path%"') do (
18 | set "%%a"
19 | )
20 |
21 | if not defined comfyui_start_command (
22 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] No modules enabled.%reset%
23 | echo %red_bg%Please make sure you enabled at least one of the modules from Edit comfyui Modules.%reset%
24 | echo.
25 | echo %blue_bg%We will redirect you to the Edit comfyui Modules menu.%reset%
26 | pause
27 | set "caller=editor_image_generation"
28 | if exist "%editor_image_generation_dir%\edit_comfyui_modules.bat" (
29 | call %editor_image_generation_dir%\edit_comfyui_modules.bat
30 | goto :home
31 | ) else (
32 | echo [%DATE% %TIME%] ERROR: edit_comfyui_modules.bat not found in: editor_image_generation_dir% >> %logs_stl_console_path%
33 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] edit_comfyui_modules.bat not found in: %editor_image_generation_dir%%reset%
34 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Automatic Repair...
35 | git pull
36 | pause
37 | goto :home
38 | )
39 | )
40 |
41 | set "comfyui_start_command=%comfyui_start_command:comfyui_start_command=%"
42 |
43 | REM Start ComfyUI with desired configurations
44 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% ComfyUI launched in a new window.
45 | start cmd /k "title comfyui && cd /d %comfyui_install_path% && %comfyui_start_command%"
46 | goto :home
47 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Image_Generation/start_invokeai.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | REM Check if the folder exists
4 | if not exist "%invokeai_install_path%" (
5 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Directory:%reset% %red_bg% %invokeai_install_path% %reset% %red_fg_strong%not found.%reset%
6 | pause
7 | exit /b 1
8 | )
9 |
10 | :start_invokeai
11 | REM Activate the invokeai environment
12 | call conda activate invokeai
13 |
14 | REM Start InvokeAI
15 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% InvokeAI launched in a new window.
16 |
17 | start cmd /k "title InvokeAI && cd /d %invokeai_install_path% && invokeai-web"
18 | goto :home
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Image_Generation/start_sdwebui.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_sdwebui
4 | cd /d "%sdwebui_install_path%"
5 |
6 | REM Run conda activate from the Miniconda installation
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
8 | call "%miniconda_path%\Scripts\activate.bat"
9 |
10 | REM Activate the sdwebui environment
11 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%sdwebui%reset%
12 | call conda activate sdwebui
13 |
14 | REM Read modules-sdwebui and find the sdwebui_start_command line
15 | set "sdwebui_start_command="
16 |
17 | for /F "tokens=*" %%a in ('findstr /I "sdwebui_start_command=" "%sdwebui_modules_path%"') do (
18 | set "%%a"
19 | )
20 |
21 | if not defined sdwebui_start_command (
22 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] No modules enabled.%reset%
23 | echo %red_bg%Please make sure you enabled at least one of the modules from Edit SDWEBUI Modules.%reset%
24 | echo.
25 | echo %blue_bg%We will redirect you to the Edit SDWEBUI Modules menu.%reset%
26 | pause
27 | set "caller=editor_image_generation"
28 | if exist "%editor_image_generation_dir%\edit_sdwebui_modules.bat" (
29 | call %editor_image_generation_dir%\edit_sdwebui_modules.bat
30 | goto :home
31 | ) else (
32 | echo [%DATE% %TIME%] ERROR: edit_sdwebui_modules.bat not found in: editor_image_generation_dir% >> %logs_stl_console_path%
33 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] edit_sdwebui_modules.bat not found in: %editor_image_generation_dir%%reset%
34 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Automatic Repair...
35 | git pull
36 | pause
37 | goto :home
38 | )
39 | )
40 |
41 | set "sdwebui_start_command=%sdwebui_start_command:sdwebui_start_command=%"
42 |
43 | REM Start Stable Diffusion WebUI with desired configurations
44 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Stable Diffusion WebUI launched in a new window.
45 | start cmd /k "title SDWEBUI && cd /d %sdwebui_install_path% && %sdwebui_start_command%"
46 | goto :home
47 |
48 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Image_Generation/start_sdwebuiforge.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_sdwebuiforge
4 | cd /d "%sdwebuiforge_install_path%"
5 |
6 | REM Run conda activate from the Miniconda installation
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Miniconda environment...
8 | call "%miniconda_path%\Scripts\activate.bat"
9 |
10 | REM Activate the sdwebuiforge environment
11 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Activating Conda environment: %cyan_fg_strong%sdwebuiforge%reset%
12 | call conda activate sdwebuiforge
13 |
14 | REM Read modules-sdwebuiforge and find the sdwebuiforge_start_command line
15 | set "sdwebuiforge_start_command="
16 |
17 | for /F "tokens=*" %%a in ('findstr /I "sdwebuiforge_start_command=" "%sdwebuiforge_modules_path%"') do (
18 | set "%%a"
19 | )
20 |
21 | if not defined sdwebuiforge_start_command (
22 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] No modules enabled.%reset%
23 | echo %red_bg%Please make sure you enabled at least one of the modules from Edit SDWEBUI FORGE Modules.%reset%
24 | echo.
25 | echo %blue_bg%We will redirect you to the Edit SDWEBUI FORGE Modules menu.%reset%
26 | pause
27 | set "caller=editor_image_generation"
28 | if exist "%editor_image_generation_dir%\edit_sdwebuiforge_modules.bat" (
29 | call %editor_image_generation_dir%\edit_sdwebuiforge_modules.bat
30 | goto :home
31 | ) else (
32 | echo [%DATE% %TIME%] ERROR: edit_sdwebuiforge_modules.bat not found in: editor_image_generation_dir% >> %logs_stl_console_path%
33 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] edit_sdwebuiforge_modules.bat not found in: %editor_image_generation_dir%%reset%
34 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Automatic Repair...
35 | git pull
36 | pause
37 | goto :home
38 | )
39 | )
40 |
41 | set "sdwebuiforge_start_command=%sdwebuiforge_start_command:sdwebuiforge_start_command=%"
42 |
43 | REM Start Stable Diffusion WebUI with desired configurations
44 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Stable Diffusion WebUI launched in a new window.
45 | start cmd /k "title SDWEBUI FORGE && cd /d %sdwebuiforge_install_path% && %sdwebuiforge_start_command%"
46 | goto :home
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Text_Completion/start_koboldcpp.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_koboldcpp
4 | REM Check if dev-koboldcpp directory exists
5 | if not exist "%koboldcpp_install_path%" (
6 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] dev-koboldcpp directory not found in: %text_completion_dir%%reset%
7 | pause
8 | goto :home
9 | )
10 |
11 | cd /d "%koboldcpp_install_path%"
12 |
13 | REM Check if koboldcpp file exists [koboldcpp NVIDIA]
14 | if exist "%koboldcpp_install_path%\koboldcpp.exe" (
15 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% koboldcpp launched in a new window.
16 | start "" "koboldcpp.exe"
17 | goto :home
18 | )
19 |
20 | REM Check if koboldcpp file exists [koboldcpp AMD]
21 | if exist "%koboldcpp_install_path%\koboldcpp_rocm.exe" (
22 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% koboldcpp launched in a new window.
23 | start "" "koboldcpp_rocm.exe"
24 | goto :home
25 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Text_Completion/start_tabbyapi.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_tabbyapi
4 | REM Read modules-tabbyapi and find the tabyapi_start_command line
5 | set "tabbyapi_start_command="
6 |
7 | for /F "tokens=*" %%a in ('findstr /I "tabbyapi_start_command=" "%tabbyapi_modules_path%"') do (
8 | set "%%a"
9 | )
10 |
11 | if not defined tabbyapi_start_command (
12 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] No modules enabled.%reset%
13 | echo %red_bg%Please make sure you enabled at least one of the modules from Edit tabbyapi Modules.%reset%
14 | echo.
15 | echo %blue_bg%We will redirect you to the Edit tabbyapi Modules menu.%reset%
16 | pause
17 | set "caller=editor_text_completion"
18 | if exist "%editor_text_completion_dir%\edit_tabbyapi_modules.bat" (
19 | call %editor_text_completion_dir%\edit_tabbyapi_modules.bat
20 | goto :app_launcher_text_completion
21 | ) else (
22 | echo [%DATE% %TIME%] ERROR: edit_tabbyapi_modules.bat not found in: %editor_text_completion_dir% >> %logs_stl_console_path%
23 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] edit_tabbyapi_modules.bat not found in: %editor_text_completion_dir%%reset%
24 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Automatic Repair...
25 | git pull
26 | pause
27 | goto :app_launcher_text_completion
28 | )
29 | )
30 |
31 | set "tabbyapi_start_command=%tabbyapi_start_command:tabbyapi_start_command=%"
32 |
33 |
34 | REM Run conda activate from the Miniconda installation
35 | call "%miniconda_path%\Scripts\activate.bat"
36 |
37 | REM Activate the extras environment
38 | call conda activate tabbyapi
39 |
40 | REM Start TabbyAPI with desired configurations
41 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% TabbyAPI launched in a new window.
42 | start cmd /k "title TabbyAPI && cd /d %tabbyapi_install_path% && %tabbyapi_start_command%"
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Voice_Generation/start_alltalk.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_alltalk
4 | REM Activate the alltalk environment
5 | call conda activate alltalk
6 |
7 | REM Start AllTalk
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% AllTalk launched in a new window.
9 | start cmd /k "title AllTalk && cd /d %alltalk_install_path% && python script.py"
10 | goto :home
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Voice_Generation/start_alltalk_v2.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_alltalk_v2
4 | REM Activate the alltalk environment
5 | call conda activate alltalkv2
6 |
7 | REM Start AllTalkV2
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% AllTalkV2 launched in a new window.
9 | start cmd /k "title AllTalkV2 && cd /d %alltalk_v2_install_path% && python script.py"
10 | goto :home
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Voice_Generation/start_alltalk_v2_diag.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_alltalk_v2_diag
4 | REM Activate the alltalk environment
5 | call conda activate alltalkv2
6 |
7 | REM Start AllTalkV2
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% AllTalkV2 Diagnostics launched in a new window.
9 | start cmd /k "title AllTalkV2 && cd /d %alltalk_v2_install_path% && python diagnostics.py"
10 | goto :home
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Voice_Generation/start_alltalk_v2_finetune.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_alltalk_v2_finetune
4 | REM Activate the alltalk environment
5 | call conda activate alltalkv2
6 |
7 | REM Start AllTalkV2
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% AllTalkV2 Finetune launched in a new window.
9 | start cmd /k "title AllTalkV2 && cd /d %alltalk_v2_install_path% && python finetune.py"
10 | goto :home
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Voice_Generation/start_rvc.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_rvc
4 | REM Activate the alltalk environment
5 | call conda activate rvc
6 |
7 | REM Start RVC with desired configurations
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% RVC launched in a new window.
9 | start cmd /k "title RVC WEBUI && cd /d %rvc_install_path% && python infer-web.py --port 7897"
10 | goto :home
11 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Voice_Generation/start_rvc_python.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_rvc_python
4 | REM Activate the rvc-python environment
5 | call conda activate rvc-python
6 |
7 | REM Start rvc-python
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% rvc-python launched in a new window.
9 |
10 | REM Read modules-rvc-python and find the rvc_python_start_command line
11 | set "rvc_python_start_command="
12 |
13 | for /F "tokens=*" %%a in ('findstr /I "rvc_python_start_command=" "%rvc_python_modules_path%"') do (
14 | set "%%a"
15 | )
16 |
17 |
18 | if not defined rvc_python_start_command (
19 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] No modules enabled.%reset%
20 | echo %red_bg%Please make sure you enabled at least one of the modules from Edit rvc-python Modules.%reset%
21 | echo.
22 | echo %blue_bg%We will redirect you to the Edit rvc-python Modules menu.%reset%
23 | pause
24 | set "caller=editor_image_generation"
25 | if exist "%editor_voice_generation_dir%\edit_rvc_python_modules.bat" (
26 | call %editor_voice_generation_dir%\edit_rvc_python_modules.bat
27 | goto :home
28 | ) else (
29 | echo [%DATE% %TIME%] ERROR: edit_rvc_python_modules.bat not found in: editor_voice_generation_dir% >> %logs_stl_console_path%
30 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] edit_rvc_python_modules.bat not found in: %editor_voice_generation_dir%%reset%
31 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Automatic Repair...
32 | git pull
33 | pause
34 | goto :home
35 | )
36 | )
37 |
38 |
39 | set "rvc_python_start_command=%rvc_python_start_command:rvc_python_start_command=%"
40 | start cmd /k "title RVC-Python && cd /d %rvc_python_install_path% && %rvc_python_start_command%"
41 | goto :home
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Voice_Generation/start_rvc_realtime.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_rvc
4 | REM Activate the alltalk environment
5 | call conda activate rvc
6 |
7 | REM Start RVC with desired configurations
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% RVC launched in a new window.
9 | start cmd /k "title RVC REALTIME && cd /d %rvc_install_path% && python gui_v1.py"
10 | goto :home
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Launcher/Voice_Generation/start_xtts.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :start_xtts
4 | REM Activate the xtts environment
5 | call conda activate xtts
6 |
7 | REM Start XTTS
8 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% XTTS launched in a new window.
9 |
10 | REM Read modules-xtts and find the xtts_start_command line
11 | set "xtts_start_command="
12 |
13 | for /F "tokens=*" %%a in ('findstr /I "xtts_start_command=" "%xtts_modules_path%"') do (
14 | set "%%a"
15 | )
16 |
17 |
18 | if not defined xtts_start_command (
19 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] No modules enabled.%reset%
20 | echo %red_bg%Please make sure you enabled at least one of the modules from Edit XTTS Modules.%reset%
21 | echo.
22 | echo %blue_bg%We will redirect you to the Edit XTTS Modules menu.%reset%
23 | pause
24 | set "caller=editor_image_generation"
25 | if exist "%editor_voice_generation_dir%\edit_xtts_modules.bat" (
26 | call %editor_voice_generation_dir%\edit_xtts_modules.bat
27 | goto :home
28 | ) else (
29 | echo [%DATE% %TIME%] ERROR: edit_xtts_modules.bat not found in: editor_voice_generation_dir% >> %logs_stl_console_path%
30 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] edit_xtts_modules.bat not found in: %editor_voice_generation_dir%%reset%
31 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Automatic Repair...
32 | git pull
33 | pause
34 | goto :home
35 | )
36 | )
37 |
38 |
39 | set "xtts_start_command=%xtts_start_command:xtts_start_command=%"
40 | start cmd /k "title XTTSv2 API Server && cd /d %xtts_install_path% && %xtts_start_command%"
41 | goto :home
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Core_Utilities/uninstall_7zip.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_7zip
4 | title STL [UNINSTALL-7ZIP]
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstalling 7-Zip...
6 | winget uninstall --id 7zip.7zip
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%7-Zip has been uninstalled successfully.%reset%
8 | pause
9 | goto :app_uninstaller_core_utilities
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Core_Utilities/uninstall_cudatoolkit.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_cudatoolkit
4 | title STL [UNINSTALL-CUDATOOLKIT]
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstalling CUDA Toolkit...
6 | winget uninstall --id Nvidia.CUDA
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%CUDA Toolkit has been uninstalled successfully.%reset%
8 | pause
9 | goto :app_uninstaller_core_utilities
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Core_Utilities/uninstall_extras.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_extras
4 | title STL [UNINSTALL EXTRAS]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of Extras ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%extras%reset%
20 | call conda deactivate
21 | call conda remove --name extras --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder SillyTavern-extras
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the SillyTavern-extras directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%extras_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Extras has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_core_utilities
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_core_utilities
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Core_Utilities/uninstall_ffmpeg.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_ffmpeg
4 | title STL [UNINSTALL-FFMPEG]
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstalling ffmpeg...
6 | rmdir /s /q "%ffmpeg_install_path%"
7 |
8 | setlocal EnableDelayedExpansion
9 | rem Get the current PATH value from the registry
10 | for /f "tokens=2*" %%A in ('reg query "HKCU\Environment" /v PATH') do set "current_path=%%B"
11 |
12 | rem Remove the path from the current PATH if it exists
13 | set "new_path=!current_path:%ffmpeg_path_bin%=!"
14 |
15 | REM Update the PATH value in the registry
16 | reg add "HKCU\Environment" /v PATH /t REG_EXPAND_SZ /d "!new_path!" /f
17 |
18 | REM Update the PATH value for the current session
19 | setx PATH "!new_path!" > nul
20 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%ffmpeg removed from PATH.%reset%
21 | endlocal
22 |
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%ffmpeg has been uninstalled successfully.%reset%
24 | goto :app_uninstaller_core_utilities
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Core_Utilities/uninstall_nodejs.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_nodejs
4 | title STL [UNINSTALL-NODEJS]
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstalling Node.js...
6 | winget uninstall --id OpenJS.NodeJS.LTS
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Node.js has been uninstalled successfully.%reset%
8 | goto :app_uninstaller_core_utilities
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Core_Utilities/uninstall_st.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_st
4 | title STL [UNINSTALL ST]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of SillyTavern ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the folder SillyTavern
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the SillyTavern directory...
20 | cd /d "%~dp0"
21 | rmdir /s /q "%st_install_path%"
22 |
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%SillyTavern has been uninstalled successfully.%reset%
24 | pause
25 | goto :app_uninstaller_core_utilities
26 | ) else (
27 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
28 | pause
29 | goto :app_uninstaller_core_utilities
30 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Core_Utilities/uninstall_tailscale.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_tailscale
4 | title STL [UNINSTALL-TAILSCALE]
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstalling Tailscale...
6 | winget uninstall --id tailscale.tailscale
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Tailscale has been uninstalled successfully.%reset%
8 | goto :app_uninstaller_core_utilities
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Core_Utilities/uninstall_vsbuildtools.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_vsbuildtools
4 | title STL [UNINSTALL-VSBUILDTOOLS]
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstalling Visual Studio BuildTools 2022...
6 | winget uninstall --id Microsoft.VisualStudio.2022.BuildTools
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Visual Studio BuildTools 2022 has been uninstalled successfully.%reset%
8 | pause
9 | goto :app_uninstaller_core_utilities
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Core_Utilities/uninstall_w64devkit.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_w64devkit
4 | title STL [UNINSTALL-VSBUILDTOOLS]
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstalling w64devkit...
6 | rmdir /s /q "%w64devkit_install_path%"
7 |
8 | setlocal EnableDelayedExpansion
9 | REM Get the current PATH value from the registry
10 | for /f "tokens=2*" %%A in ('reg query "HKCU\Environment" /v PATH') do set "current_path=%%B"
11 |
12 | REM Remove the path from the current PATH if it exists
13 | set "new_path=!current_path:%w64devkit_path_bin%=!"
14 |
15 | REM Update the PATH value in the registry
16 | reg add "HKCU\Environment" /v PATH /t REG_EXPAND_SZ /d "!new_path!" /f
17 |
18 | REM Update the PATH value for the current session
19 | setx PATH "!new_path!" > nul
20 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%w64devkit removed from PATH.%reset%
21 | endlocal
22 |
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%w64devkit has been uninstalled successfully.%reset%
24 | pause
25 | goto :app_uninstaller_core_utilities
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Core_Utilities/uninstall_yq.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_yq
4 | title STL [UNINSTALL-YQ]
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstalling yq...
6 | winget uninstall --id MikeFarah.yq
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%yq has been uninstalled successfully.%reset%
8 | pause
9 | goto :app_uninstaller_core_utilities
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Image_Generation/uninstall_comfyui.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_comfyui
4 | title STL [UNINSTALL COMFYUI]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of ComfyUI ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%comfyui%reset%
20 | call conda deactivate
21 | call conda remove --name comfyui --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder ComfyUI
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the ComfyUI directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%comfyui_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%ComfyUI has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_image_generation
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_image_generation
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Image_Generation/uninstall_fooocus.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_fooocus
4 | title STL [UNINSTALL FOOOCUS]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of Fooocus ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%fooocus%reset%
20 | call conda deactivate
21 | call conda remove --name fooocus --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder Fooocus
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Fooocus directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%fooocus_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Fooocus has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_image_generation
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_image_generation
36 | )
37 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Image_Generation/uninstall_invokeai.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_invokeai
4 | title STL [UNINSTALL INVOKEAI]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of InvokeAI ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%invokeai%reset%
20 | call conda deactivate
21 | call conda remove --name invokeai --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder InvokeAI
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the InvokeAI directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%invokeai_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%InvokeAI has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_image_generation
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_image_generation
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Image_Generation/uninstall_ostris_aitoolkit.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_ostrisaitoolkit
4 | title STL [UNINSTALL OSTRIS AI TOOLKIT]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of Ostris AI Toolkit ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%ostrisaitoolkit%reset%
20 | call conda deactivate
21 | call conda remove --name ostrisaitoolkit --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder ai-toolkit
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the ai-toolkit directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%ostrisaitoolkit_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Ostris AI Toolkit has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_image_generation
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_image_generation
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Image_Generation/uninstall_sdwebui.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_sdwebui
4 | title STL [UNINSTALL STABLE DIFUSSION WEBUI]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of Stable Diffusion web UI ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%sdwebui%reset%
20 | call conda deactivate
21 | call conda remove --name sdwebui --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder stable-diffusion-webui
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the stable-diffusion-webui directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%sdwebui_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Stable Diffusion web UI has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_image_generation
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_image_generation
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Image_Generation/uninstall_sdwebuiforge.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_sdwebuiforge
4 | title STL [UNINSTALL SDWEBUI FORGE]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of Stable Diffusion web UI forge ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%sdwebuiforge%reset%
20 | call conda deactivate
21 | call conda remove --name sdwebuiforge --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder stable-diffusion-webui
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the stable-diffusion-webui-forge directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%sdwebuiforge_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Stable Diffusion web UI forge has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_image_generation
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_image_generation
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Text_Completion/uninstall_koboldcpp.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_koboldcpp
4 | title STL [UNINSTALL KOBOLDCPP]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of koboldcpp ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%koboldcpp%reset%
20 | call conda deactivate
21 | call conda remove --name koboldcpp --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder koboldcpp
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the koboldcpp directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%koboldcpp_install_path%"
28 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the w64devkit directory...
29 | rmdir /s /q "%w64devkit_install_path%"
30 |
31 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%koboldcpp has been uninstalled successfully.%reset%
32 | pause
33 | goto :app_uninstaller_text_completion
34 | ) else (
35 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
36 | pause
37 | goto :app_uninstaller_text_completion
38 | )
39 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Text_Completion/uninstall_llamacpp.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_llamacpp
4 | title STL [UNINSTALL LLAMACPP]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of llamacpp ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the folder
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the llamacpp directory...
20 | cd /d "%~dp0"
21 | rmdir /s /q "%llamacpp_install_path%"
22 |
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%llamacpp has been uninstalled successfully.%reset%
24 | pause
25 | goto :app_uninstaller_text_completion
26 | ) else (
27 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
28 | pause
29 | goto :app_uninstaller_text_completion
30 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Text_Completion/uninstall_ooba.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_ooba
4 | title STL [UNINSTALL OOBABOOGA]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of Text generation web UI oobabooga ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the folder text-generation-webui
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the text-generation-webui directory...
20 | cd /d "%~dp0"
21 | rmdir /s /q "%ooba_install_path%"
22 |
23 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Text generation web UI oobabooga has been uninstalled successfully.%reset%
24 | pause
25 | goto :app_uninstaller_text_completion
26 | ) else (
27 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
28 | pause
29 | goto :app_uninstaller_text_completion
30 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Text_Completion/uninstall_tabbyapi.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_tabbyapi
4 | title STL [UNINSTALL TABBYAPI]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of TabbyAPI ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%tabbyapi%reset%
20 | call conda deactivate
21 | call conda remove --name tabbyapi --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder tabbyAPI
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the tabbyAPI directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%tabbyapi_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%TabbyAPI has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_text_completion
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_text_completion
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Voice_Generation/uninstall_alltalk.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_alltalk
4 | title STL [UNINSTALL ALLTALK]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of AllTalk ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%alltalk%reset%
20 | call conda deactivate
21 | call conda remove --name alltalk --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the alltalk directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%alltalk_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%AllTalk has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_voice_generation
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_voice_generation
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Voice_Generation/uninstall_alltalk_v2.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_alltalk_v2
4 | title STL [UNINSTALL ALLTALK V2]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of AllTalk V2 ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%alltalk%reset%
20 | call conda deactivate
21 | call conda remove --name alltalkv2 --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the alltalk directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%alltalk_v2_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%AllTalk V2 has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_voice_generation
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_voice_generation
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Voice_Generation/uninstall_rvc.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_rvc
4 | title STL [UNINSTALL RVC]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of RVC ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%rvc%reset%
20 | call conda deactivate
21 | call conda remove --name rvc --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Retrieval-based-Voice-Conversion-WebUI directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%rvc_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%RVC has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_voice_generation
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_voice_generation
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Voice_Generation/uninstall_rvc_python.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_rvc_python
4 | title STL [UNINSTALL RVC-PYTHON]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of RVC-Python ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%rvc%reset%
20 | call conda deactivate
21 | call conda remove --name rvcpython --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the rvc-python directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%rvc_python_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%rvc-python has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_voice_generation
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_voice_generation
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/App_Uninstaller/Voice_Generation/uninstall_xtts.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :uninstall_xtts
4 | title STL [UNINSTALL XTTS]
5 | setlocal enabledelayedexpansion
6 | chcp 65001 > nul
7 |
8 | REM Confirm with the user before proceeding
9 | echo.
10 | echo %red_bg%╔════ DANGER ZONE ══════════════════════════════════════════════════════════════════════════════╗%reset%
11 | echo %red_bg%║ WARNING: This will delete all data of XTTS ║%reset%
12 | echo %red_bg%║ If you want to keep any data, make sure to create a backup before proceeding. ║%reset%
13 | echo %red_bg%╚═══════════════════════════════════════════════════════════════════════════════════════════════╝%reset%
14 | echo.
15 | set /p "confirmation=Are you sure you want to proceed? [Y/N]: "
16 | if /i "%confirmation%"=="Y" (
17 |
18 | REM Remove the Conda environment
19 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the Conda enviroment: %cyan_fg_strong%xtts%reset%
20 | call conda deactivate
21 | call conda remove --name xtts --all -y
22 | call conda clean -a -y
23 |
24 | REM Remove the folder
25 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing the xtts directory...
26 | cd /d "%~dp0"
27 | rmdir /s /q "%xtts_install_path%"
28 |
29 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%XTTS has been uninstalled successfully.%reset%
30 | pause
31 | goto :app_uninstaller_voice_generation
32 | ) else (
33 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Uninstall canceled.
34 | pause
35 | goto :app_uninstaller_voice_generation
36 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Backup/create_backup.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | setlocal
3 |
4 | :create_backup
5 | title STL [CREATE BACKUP]
6 | cls
7 | echo %blue_fg_strong%/ Home / Toolbox / Backup / Create Backup%reset%
8 | echo ---------------------------------------------------------------
9 |
10 | REM Scan for user folders
11 | set "user_folders="
12 | for /d %%d in ("%st_install_path%\data\*") do (
13 | if /i not "%%~nxd"=="_storage" if /i not "%%~nxd"=="_uploads" (
14 | set "user_folders=!user_folders!%%~nxd|"
15 | )
16 | )
17 |
18 | echo Detected accounts:
19 | echo ================================
20 | REM Remove the trailing pipe character
21 | set "user_folders=%user_folders:~0,-1%"
22 |
23 | REM Split user_folders into an array
24 | set i=1
25 | set "user_count=0"
26 | for %%a in (%user_folders:|= %) do (
27 | echo !i!. %cyan_fg_strong%%%a%reset%
28 | set "user_folder_!i!=%%a"
29 | set /a i+=1
30 | set /a user_count+=1
31 | )
32 | echo ================================
33 |
34 | REM If only one user folder is found, skip the selection
35 | if %user_count%==1 (
36 | set "selected_user_folder=!user_folder_1!"
37 | goto skip_user_selection
38 | )
39 |
40 | :select_user_folder
41 | REM Prompt user to select a folder
42 | echo 0. Cancel
43 | echo.
44 | set "selected_user_folder="
45 | set /p user_choice="Select a folder to backup: "
46 |
47 | REM Check if the user wants to exit
48 | if "%user_choice%"=="0" (
49 | exit /b 0
50 | )
51 |
52 | REM Get the selected folder name
53 | for /l %%i in (1,1,%user_count%) do (
54 | if "%user_choice%"=="%%i" set "selected_user_folder=!user_folder_%%i!"
55 | )
56 |
57 | if "%selected_user_folder%"=="" (
58 | echo %red_fg_strong%[ERROR] Invalid selection. Please enter a number between 1 and %user_count%, or press 0 to cancel.%reset%
59 | pause
60 | goto :create_backup
61 | )
62 |
63 | :skip_user_selection
64 | REM Replace backslashes with double backslashes in st_install_path
65 | set "escaped_st_install_path=%st_install_path:\=\\%"
66 |
67 | REM Prompt user for custom name
68 | set "use_custom_name=N"
69 | set "custom_name="
70 | set /p rename_choice="Give backup file a custom name? (Default is st_backup_DATE_TIME.7z) [Y/N]: "
71 | if /i "%rename_choice%"=="Y" (
72 | set "use_custom_name=Y"
73 | set /p custom_name="Enter custom name for backup file (without extension): "
74 | ) else if "%rename_choice%"=="" (
75 | set "use_custom_name=N"
76 | )
77 |
78 | REM Get current date and time components
79 | for /f "tokens=2-4 delims=/ " %%a in ('echo %date%') do (
80 | set "day=%%a"
81 | set "month=%%b"
82 | set "year=%%c"
83 | )
84 |
85 | for /f "tokens=1-2 delims=:. " %%a in ('echo %time%') do (
86 | set "hour=%%a"
87 | set "minute=%%b"
88 | )
89 |
90 | REM Format the date and time
91 | set "formatted_date=%year%-%month%-%day%_%hour%-%minute%"
92 |
93 | REM Determine the backup file name
94 | if "%use_custom_name%"=="Y" (
95 | set "backup_filename=st_backup_%custom_name%.7z"
96 | ) else (
97 | set "backup_filename=st_backup_%formatted_date%.7z"
98 | )
99 |
100 | REM Create a backup using 7zip
101 | 7z a "%st_backup_path%\%backup_filename%" "%st_install_path%\data\%selected_user_folder%\*"
102 |
103 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%Backup created at %st_backup_path%\%backup_filename%%reset%
104 |
105 | pause
106 | endlocal
107 |
108 | if "%caller%"=="home" (
109 | exit /b 1
110 | ) else (
111 | exit /b 0
112 | )
113 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Backup/restore_backup.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :restore_backup
4 | title STL [RESTORE BACKUP]
5 | cls
6 | echo %blue_fg_strong%^| ^> / Home / Toolbox / Backup / Restore Backup ^|%reset%
7 | echo %blue_fg_strong% ==============================================================%reset%
8 | echo.
9 | echo +==== Available backups ==================+
10 | setlocal enabledelayedexpansion
11 | set "backup_count=0"
12 |
13 | for %%F in ("%st_backup_path%\st_backup_*.7z") do (
14 | set /a "backup_count+=1"
15 | set "backup_files[!backup_count!]=%%~nF"
16 | echo !backup_count!. %cyan_fg_strong%%%~nF%reset%
17 | )
18 | echo +=========================================+
19 | echo %cyan_fg_strong% ______________________________________________________________%reset%
20 | echo %cyan_fg_strong%^| Menu Options: ^|%reset%
21 | echo 0. Cancel
22 | echo.
23 | echo %cyan_fg_strong% ______________________________________________________________%reset%
24 | echo %cyan_fg_strong%^| ^|%reset%
25 | set /p "restore_choice=%BS% Select backup to restore: "
26 |
27 | if "%restore_choice%"=="0" goto :backup
28 |
29 | if "%restore_choice%" geq "1" (
30 | if "%restore_choice%" leq "%backup_count%" (
31 | set "selected_backup=!backup_files[%restore_choice%]!"
32 | echo Restoring backup !selected_backup!...
33 | REM Extract the contents of the "data" folder directly into the existing "data" folder
34 | 7z x "%st_backup_path%\!selected_backup!.7z" -o"temp" -aoa
35 | xcopy /y /e "temp\data\*" "%st_install_path%\data\"
36 | rmdir /s /q "temp"
37 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%!selected_backup! restored successfully.%reset%
38 | ) else (
39 | echo [%DATE% %TIME%] %log_invalidinput% >> %logs_stl_console_path%
40 | echo %red_bg%[%time%]%reset% %echo_invalidinput%
41 | )
42 | ) else (
43 | echo [%DATE% %TIME%] %log_invalidinput% >> %logs_stl_console_path%
44 | echo %red_bg%[%time%]%reset% %echo_invalidinput%
45 | )
46 |
47 | pause
48 |
49 | if "%caller%"=="home" (
50 | exit /b 1
51 | ) else (
52 | exit /b 0
53 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Editor/Core_Utilities/edit_env_var.bat:
--------------------------------------------------------------------------------
1 | :edit_env_var
2 | start "" rundll32.exe sysdm.cpl,EditEnvironmentVariables
3 | goto :editor_core_utilities
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Editor/Core_Utilities/edit_extras_modules.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | REM ############################################################
4 | REM ############## EDIT EXTRAS MODULES - FRONTEND ##############
5 | REM ############################################################
6 | :edit_extras_modules
7 | title STL [EDIT EXTRAS MODULES]
8 | cls
9 | echo %blue_fg_strong%/ Home / Toolbox / Editor / Edit Extras Modules%reset%
10 | echo -------------------------------------------------------------
11 | echo Choose extras modules to enable or disable (e.g., "1 2 4" to enable Cuda, RVC, and Caption)
12 |
13 | REM Display module options with colors based on their status
14 | call :printModule "1. Cuda (--cuda)" %cuda_trigger%
15 | call :printModule "2. RVC (--enable-modules=rvc --rvc-save-file --max-content-length=1000)" %rvc_trigger%
16 | call :printModule "3. talkinghead (--enable-modules=talkinghead --talkinghead-gpu)" %talkinghead_trigger%
17 | call :printModule "4. caption (--enable-modules=caption)" %caption_trigger%
18 | call :printModule "5. summarize (--enable-modules=summarize)" %summarize_trigger%
19 | call :printModule "6. listen (--listen)" %listen_trigger%
20 | call :printModule "7. whisper (--enable-modules=whisper-stt)" %whisper_trigger%
21 | call :printModule "8. Edge-tts (--enable-modules=edge-tts)" %edge_tts_trigger%
22 | call :printModule "9. Websearch (--enable-modules=websearch)" %websearch_trigger%
23 | echo 00. Quick Start Extras
24 | echo 0. Back
25 |
26 | set "python_command="
27 |
28 | set /p module_choices=Choose modules to enable/disable:
29 |
30 | REM Handle the user's module choices and construct the Python command
31 | for %%i in (%module_choices%) do (
32 | if "%%i"=="1" (
33 | if "%cuda_trigger%"=="true" (
34 | set "cuda_trigger=false"
35 | ) else (
36 | set "cuda_trigger=true"
37 | )
38 |
39 | ) else if "%%i"=="2" (
40 | if "%rvc_trigger%"=="true" (
41 | set "rvc_trigger=false"
42 | ) else (
43 | set "rvc_trigger=true"
44 | )
45 |
46 | ) else if "%%i"=="3" (
47 | if "%talkinghead_trigger%"=="true" (
48 | set "talkinghead_trigger=false"
49 | ) else (
50 | set "talkinghead_trigger=true"
51 | )
52 |
53 | ) else if "%%i"=="4" (
54 | if "%caption_trigger%"=="true" (
55 | set "caption_trigger=false"
56 | ) else (
57 | set "caption_trigger=true"
58 | )
59 |
60 | ) else if "%%i"=="5" (
61 | if "%summarize_trigger%"=="true" (
62 | set "summarize_trigger=false"
63 | ) else (
64 | set "summarize_trigger=true"
65 | )
66 | ) else if "%%i"=="6" (
67 | if "%listen_trigger%"=="true" (
68 | set "listen_trigger=false"
69 | ) else (
70 | set "listen_trigger=true"
71 | )
72 |
73 | ) else if "%%i"=="7" (
74 | if "%whisper_trigger%"=="true" (
75 | set "whisper_trigger=false"
76 | ) else (
77 | set "whisper_trigger=true"
78 | )
79 |
80 | ) else if "%%i"=="8" (
81 | if "%edge_tts_trigger%"=="true" (
82 | set "edge_tts_trigger=false"
83 | ) else (
84 | set "edge_tts_trigger=true"
85 | )
86 |
87 | ) else if "%%i"=="9" (
88 | if "%websearch_trigger%"=="true" (
89 | set "websearch_trigger=false"
90 | ) else (
91 | set "websearch_trigger=true"
92 | )
93 |
94 | ) else if "%%i"=="00" (
95 | set "caller=edit_extras_modules"
96 | if exist "%app_launcher_core_utilities_dir%\start_extras.bat" (
97 | call %app_launcher_core_utilities_dir%\start_extras.bat
98 | goto :eof
99 | ) else (
100 | echo "start_extras.bat not found"
101 | )
102 | ) else if "%%i"=="0" (
103 | goto :exit_edit_extras_modules
104 | )
105 | )
106 |
107 | REM Save the module flags
108 | echo cuda_trigger=%cuda_trigger%>%extras_modules_path%
109 | echo rvc_trigger=%rvc_trigger%>>%extras_modules_path%
110 | echo talkinghead_trigger=%talkinghead_trigger%>>%extras_modules_path%
111 | echo caption_trigger=%caption_trigger%>>%extras_modules_path%
112 | echo summarize_trigger=%summarize_trigger%>>%extras_modules_path%
113 | echo listen_trigger=%listen_trigger%>>%extras_modules_path%
114 | echo whisper_trigger=%whisper_trigger%>>%extras_modules_path%
115 | echo edge_tts_trigger=%edge_tts_trigger%>>%extras_modules_path%
116 | echo websearch_trigger=%websearch_trigger%>>%extras_modules_path%
117 |
118 |
119 | REM remove modules_enable
120 | set "modules_enable="
121 |
122 | REM Compile the Python command
123 | set "python_command=python server.py"
124 | if "%listen_trigger%"=="true" (
125 | set "python_command=%python_command% --listen"
126 | )
127 | if "%cuda_trigger%"=="true" (
128 | set "python_command=%python_command% --cuda"
129 | )
130 | if "%rvc_trigger%"=="true" (
131 | set "python_command=%python_command% --rvc-save-file --max-content-length=1000"
132 | set "modules_enable=%modules_enable%rvc,"
133 | )
134 | if "%talkinghead_trigger%"=="true" (
135 | set "python_command=%python_command% --talkinghead-gpu"
136 | set "modules_enable=%modules_enable%talkinghead,"
137 | )
138 | if "%caption_trigger%"=="true" (
139 | set "modules_enable=%modules_enable%caption,"
140 | )
141 | if "%summarize_trigger%"=="true" (
142 | set "modules_enable=%modules_enable%summarize,"
143 | )
144 | if "%whisper_trigger%"=="true" (
145 | set "modules_enable=%modules_enable%whisper-stt,"
146 | )
147 | if "%edge_tts_trigger%"=="true" (
148 | set "modules_enable=%modules_enable%edge-tts,"
149 | )
150 | if "%websearch_trigger%"=="true" (
151 | set "modules_enable=%modules_enable%websearch,"
152 | )
153 |
154 | REM is modules_enable empty?
155 | if defined modules_enable (
156 | REM remove last comma
157 | set "modules_enable=%modules_enable:~0,-1%"
158 | )
159 |
160 | REM command completed
161 | if defined modules_enable (
162 | set "python_command=%python_command% --enable-modules=%modules_enable%"
163 | )
164 |
165 | REM Save the constructed Python command to modules-extras for testing
166 | echo extras_start_command=%python_command%>>%extras_modules_path%
167 | goto :edit_extras_modules
168 |
169 | REM Function to print module options with color based on their status
170 | :printModule
171 | if "%2"=="true" (
172 | echo %green_fg_strong%%1 [Enabled]%reset%
173 | ) else (
174 | echo %red_fg_strong%%1 [Disabled]%reset%
175 | )
176 | exit /b
177 |
178 | :exit_edit_extras_modules
179 | goto :editor_core_utilities
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Editor/Core_Utilities/edit_st_config.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :edit_st_config
4 | start "" "%st_install_path%\config.yaml"
5 | goto :editor_core_utilities
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Editor/Image_Generation/edit_comfyui_modules.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | REM ############################################################
4 | REM ############## EDIT COMFYUI MODULES - FRONTEND #############
5 | REM ############################################################
6 | :edit_comfyui_modules
7 | title STL [EDIT COMFYUI MODULES]
8 | cls
9 | echo %blue_fg_strong%/ Home / Toolbox / Editor / Image Generation / Edit comfyui Modules%reset%
10 | echo -------------------------------------------------------------
11 | echo Choose comfyui modules to enable or disable (e.g., "2 3 5" to enable port, listen, and medvram)
12 |
13 | REM Display module options with colors based on their status
14 | call :printModule "1. Disable Auto Launch (--disable-auto-launch)" %comfyui_disableautolaunch_trigger%
15 | call :printModule "2. Port (--port 7969)" %comfyui_port_trigger%
16 | call :printModule "3. Listen (--listen)" %comfyui_listen_trigger%
17 | call :printModule "4. Low VRAM (--lowvram)" %comfyui_lowvram_trigger%
18 | call :printModule "5. Med VRAM (--medvram)" %comfyui_medvram_trigger%
19 | call :printModule "6. Use CPU Only (--cpu)" %comfyui_cpu_trigger%
20 | echo 00. Quick Start ComfyUI
21 | echo 0. Back
22 |
23 | set "python_command="
24 |
25 | set /p comfyui_module_choices=Choose modules to enable/disable:
26 |
27 | REM Handle the user's module choices and construct the Python command
28 | for %%i in (%comfyui_module_choices%) do (
29 | if "%%i"=="1" (
30 | if "%comfyui_disableautolaunch_trigger%"=="true" (
31 | set "comfyui_disableautolaunch_trigger=false"
32 | ) else (
33 | set "comfyui_disableautolaunch_trigger=true"
34 | )
35 |
36 | ) else if "%%i"=="2" (
37 | if "%comfyui_port_trigger%"=="true" (
38 | set "comfyui_port_trigger=false"
39 | ) else (
40 | set "comfyui_port_trigger=true"
41 | )
42 |
43 | ) else if "%%i"=="3" (
44 | if "%comfyui_listen_trigger%"=="true" (
45 | set "comfyui_listen_trigger=false"
46 | ) else (
47 | set "comfyui_listen_trigger=true"
48 | )
49 |
50 |
51 | ) else if "%%i"=="4" (
52 | if "%comfyui_lowvram_trigger%"=="true" (
53 | set "comfyui_lowvram_trigger=false"
54 | ) else (
55 | set "comfyui_lowvram_trigger=true"
56 | )
57 |
58 | ) else if "%%i"=="5" (
59 | if "%comfyui_medvram_trigger%"=="true" (
60 | set "comfyui_medvram_trigger=false"
61 | ) else (
62 | set "comfyui_medvram_trigger=true"
63 | )
64 |
65 | ) else if "%%i"=="6" (
66 | if "%comfyui_cpu_trigger%"=="true" (
67 | set "comfyui_cpu_trigger=false"
68 | ) else (
69 | set "comfyui_cpu_trigger=true"
70 | )
71 |
72 | ) else if "%%i"=="00" (
73 | set "caller=app_launcher_image_generation"
74 | if exist "%app_launcher_image_generation_dir%\start_comfyui.bat" (
75 | call %app_launcher_image_generation_dir%\start_comfyui.bat
76 | goto :home
77 | ) else (
78 | echo [%DATE% %TIME%] ERROR: start_comfyui.bat not found in: app_launcher_image_generation_dir% >> %logs_stl_console_path%
79 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] start_comfyui.bat not found in: %app_launcher_image_generation_dir%%reset%
80 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Automatic Repair...
81 | git pull
82 | pause
83 | goto :edit_comfyui_modules
84 | )
85 |
86 | ) else if "%%i"=="0" (
87 | goto :editor_image_generation
88 | )
89 | )
90 |
91 | REM Save the module flags to modules-comfyui
92 | echo comfyui_disableautolaunch_trigger=%comfyui_disableautolaunch_trigger%>%comfyui_modules_path%
93 | echo comfyui_port_trigger=%comfyui_port_trigger%>>%comfyui_modules_path%
94 | echo comfyui_listen_trigger=%comfyui_listen_trigger%>>%comfyui_modules_path%
95 | echo comfyui_lowvram_trigger=%comfyui_lowvram_trigger%>>%comfyui_modules_path%
96 | echo comfyui_medvram_trigger=%comfyui_medvram_trigger%>>%comfyui_modules_path%
97 | echo comfyui_cpu_trigger=%comfyui_cpu_trigger%>>%comfyui_modules_path%
98 |
99 | REM remove modules_enable
100 | set "modules_enable="
101 |
102 | REM Compile the Python command
103 | set "python_command=python main.py"
104 | if "%comfyui_disableautolaunch_trigger%"=="true" (
105 | set "python_command=%python_command% --disable-auto-launch"
106 | )
107 |
108 |
109 | if "%comfyui_port_trigger%"=="true" (
110 | set "python_command=%python_command% --port 7969"
111 | )
112 |
113 | if "%comfyui_listen_trigger%"=="true" (
114 | set "python_command=%python_command% --listen"
115 | )
116 |
117 | if "%comfyui_lowvram_trigger%"=="true" (
118 | set "python_command=%python_command% --lowvram"
119 | )
120 |
121 | if "%comfyui_medvram_trigger%"=="true" (
122 | set "python_command=%python_command% --medvram"
123 | )
124 |
125 | if "%comfyui_cpu_trigger%"=="true" (
126 | set "python_command=%python_command% --cpu"
127 | )
128 |
129 | REM is modules_enable empty?
130 | if defined modules_enable (
131 | REM remove last comma
132 | set "modules_enable=%modules_enable:~0,-1%"
133 | )
134 |
135 | REM command completed
136 | if defined modules_enable (
137 | set "python_command=%python_command% --enable-modules=%modules_enable%"
138 | )
139 |
140 | REM Save the constructed Python command to modules-comfyui for testing
141 | echo comfyui_start_command=%python_command%>>%comfyui_modules_path%
142 | goto :edit_comfyui_modules
143 |
144 | REM Function to print module options with color based on their status
145 | :printModule
146 | if "%2"=="true" (
147 | echo %green_fg_strong%%1 [Enabled]%reset%
148 | ) else (
149 | echo %red_fg_strong%%1 [Disabled]%reset%
150 | )
151 | exit /b
152 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Editor/Image_Generation/edit_fooocus_modules.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :edit_fooocus_modules
4 | echo COMING SOON
5 | pause
6 | goto :editor_image_generation
7 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Editor/Text_Completion/edit_koboldcpp_modules.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :edit_koboldcpp_modules
4 | echo COMING SOON
5 | pause
6 | goto :editor_text_completion
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Editor/Text_Completion/edit_ooba_modules.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | REM ############################################################
4 | REM ############## EDIT OOBA MODULES - FRONTEND ################
5 | REM ############################################################
6 | :edit_ooba_modules
7 | title STL [EDIT OOBA MODULES]
8 | cls
9 | echo %blue_fg_strong%/ Home / Toolbox / Editor / Text Completion / Edit OOBA Modules%reset%
10 | echo -------------------------------------------------------------
11 | echo Choose OOBA modules to enable or disable (e.g., "1 2 4" to enable extensions openai, listen, and api-port)
12 |
13 |
14 |
15 | REM Display module options with colors based on their status
16 | call :printModule "1. extensions openai (--extensions openai)" %ooba_extopenai_trigger%
17 | call :printModule "2. listen (--listen)" %ooba_listen_trigger%
18 | call :printModule "3. listen-port (--listen-port 7910)" %ooba_listenport_trigger%
19 | call :printModule "4. api-port (--api-port 7911)" %ooba_apiport_trigger%
20 | call :printModule "5. autolaunch (--autolaunch)" %ooba_autolaunch_trigger%
21 | call :printModule "6. verbose (--verbose)" %ooba_verbose_trigger%
22 |
23 | echo 00. Quick Start Text generation web UI oobabooga
24 | echo 0. Back
25 |
26 | set "python_command="
27 |
28 | set /p ooba_module_choices=Choose modules to enable/disable:
29 |
30 | REM Handle the user's module choices and construct the Python command
31 | for %%i in (%ooba_module_choices%) do (
32 | if "%%i"=="1" (
33 | if "%ooba_extopenai_trigger%"=="true" (
34 | set "ooba_extopenai_trigger=false"
35 | ) else (
36 | set "ooba_extopenai_trigger=true"
37 | )
38 |
39 | ) else if "%%i"=="2" (
40 | if "%ooba_listen_trigger%"=="true" (
41 | set "ooba_listen_trigger=false"
42 | ) else (
43 | set "ooba_listen_trigger=true"
44 | )
45 |
46 | ) else if "%%i"=="3" (
47 | if "%ooba_listenport_trigger%"=="true" (
48 | set "ooba_listenport_trigger=false"
49 | ) else (
50 | set "ooba_listenport_trigger=true"
51 | )
52 |
53 | ) else if "%%i"=="4" (
54 | if "%ooba_apiport_trigger%"=="true" (
55 | set "ooba_apiport_trigger=false"
56 | ) else (
57 | set "ooba_apiport_trigger=true"
58 | )
59 |
60 | ) else if "%%i"=="5" (
61 | if "%ooba_autolaunch_trigger%"=="true" (
62 | set "ooba_autolaunch_trigger=false"
63 | ) else (
64 | set "ooba_autolaunch_trigger=true"
65 | )
66 | ) else if "%%i"=="6" (
67 | if "%ooba_verbose_trigger%"=="true" (
68 | set "ooba_verbose_trigger=false"
69 | ) else (
70 | set "ooba_verbose_trigger=true"
71 | )
72 |
73 | ) else if "%%i"=="00" (
74 | goto :start_ooba
75 |
76 | ) else if "%%i"=="0" (
77 | goto :editor_text_completion
78 | )
79 | )
80 |
81 | REM Save the module flags to modules-ooba
82 | echo ooba_extopenai_trigger=%ooba_extopenai_trigger%>%ooba_modules_path%
83 | echo ooba_listen_trigger=%ooba_listen_trigger%>>%ooba_modules_path%
84 | echo ooba_listenport_trigger=%ooba_listenport_trigger%>>%ooba_modules_path%
85 | echo ooba_apiport_trigger=%ooba_apiport_trigger%>>%ooba_modules_path%
86 | echo ooba_autolaunch_trigger=%ooba_autolaunch_trigger%>>%ooba_modules_path%
87 | echo ooba_verbose_trigger=%ooba_verbose_trigger%>>%ooba_modules_path%
88 |
89 |
90 | REM remove modules_enable
91 | set "modules_enable="
92 |
93 | REM Compile the Python command
94 | set "python_command=start start_windows.bat"
95 | if "%ooba_extopenai_trigger%"=="true" (
96 | set "python_command=%python_command% --extensions openai"
97 | )
98 | if "%ooba_listen_trigger%"=="true" (
99 | set "python_command=%python_command% --listen"
100 | )
101 | if "%ooba_listenport_trigger%"=="true" (
102 | set "python_command=%python_command% --listen-port 7910"
103 | )
104 | if "%ooba_apiport_trigger%"=="true" (
105 | set "python_command=%python_command% --api-port 7911"
106 | )
107 | if "%ooba_autolaunch_trigger%"=="true" (
108 | set "python_command=%python_command% --auto-launch"
109 | )
110 | if "%ooba_verbose_trigger%"=="true" (
111 | set "python_command=%python_command% --verbose"
112 | )
113 |
114 |
115 | REM is modules_enable empty?
116 | if defined modules_enable (
117 | REM remove last comma
118 | set "modules_enable=%modules_enable:~0,-1%"
119 | )
120 |
121 | REM command completed
122 | if defined modules_enable (
123 | set "python_command=%python_command% --enable-modules=%modules_enable%"
124 | )
125 |
126 | REM Save the constructed Python command to modules-ooba for testing
127 | echo ooba_start_command=%python_command%>>%ooba_modules_path%
128 | goto :edit_ooba_modules
129 |
130 | REM Function to print module options with color based on their status
131 | :printModule
132 | if "%2"=="true" (
133 | echo %green_fg_strong%%1 [Enabled]%reset%
134 | ) else (
135 | echo %red_fg_strong%%1 [Disabled]%reset%
136 | )
137 | exit /b
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Editor/Voice_Generation/edit_rvc_python_modules.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | REM ############################################################
4 | REM ############## EDIT rvc-python MODULES - FRONTEND ##########
5 | REM ############################################################
6 | :edit_rvc_python_modules
7 | title STL [EDIT RVC-PYTHON MODULES]
8 | cls
9 | echo %blue_fg_strong%/ Home / Toolbox / Editor / Voice Generation / Edit RVC-PYTHON Modules%reset%
10 | echo -------------------------------------------------------------
11 | echo Choose RVC modules to enable or disable (e.g., "1 2 4" to enable CUDA, Harvest, and Preload Model)
12 |
13 | REM Display module options with colors based on their status
14 | call :printModule "1. CUDA (--device cuda:0)" %rvc_python_cuda_trigger%
15 | call :printModule "2. Harvest Method (--method harvest)" %rvc_python_harvest_trigger%
16 | call :printModule "3. Listen (--listen)" %rvc_python_listen_trigger%
17 | call :printModule "4. Preload Model (--preload-model)" %rvc_python_preload_trigger%
18 | echo 00. Quick Start RVC-Python
19 | echo 0. Back
20 |
21 | set "python_command="
22 |
23 | set /p rvc_python_module_choices=Choose modules to enable/disable:
24 |
25 | REM Handle the user's module choices and construct the Python command
26 | for %%i in (%rvc_python_module_choices%) do (
27 | if "%%i"=="1" (
28 | if "%rvc_python_cuda_trigger%"=="true" (
29 | set "rvc_python_cuda_trigger=false"
30 | ) else (
31 | set "rvc_python_cuda_trigger=true"
32 | )
33 |
34 | ) else if "%%i"=="2" (
35 | if "%rvc_python_harvest_trigger%"=="true" (
36 | set "rvc_python_harvest_trigger=false"
37 | ) else (
38 | set "rvc_python_harvest_trigger=true"
39 | )
40 |
41 | ) else if "%%i"=="3" (
42 | if "%rvc_python_listen_trigger%"=="true" (
43 | set "rvc_python_listen_trigger=false"
44 | ) else (
45 | set "rvc_python_listen_trigger=true"
46 | )
47 |
48 | ) else if "%%i"=="4" (
49 | if "%rvc_python_preload_trigger%"=="true" (
50 | set "rvc_python_preload_trigger=false"
51 | ) else (
52 | set "rvc_python_preload_trigger=true"
53 | )
54 |
55 | ) else if "%%i"=="00" (
56 | set "caller=app_launcher_voice_generation"
57 | if exist "%app_launcher_voice_generation_dir%\start_rvc_python.bat" (
58 | call %app_launcher_voice_generation_dir%\start_rvc_python.bat
59 | goto :home
60 | ) else (
61 | echo [%DATE% %TIME%] ERROR: start_rvc_python.bat not found in: app_launcher_voice_generation_dir% >> %logs_stl_console_path%
62 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] start_rvc_python.bat not found in: %app_launcher_voice_generation_dir%%reset%
63 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Running Automatic Repair...
64 | git pull
65 | pause
66 | goto :edit_rvc_python_modules
67 | )
68 |
69 | ) else if "%%i"=="0" (
70 | goto :editor_voice_generation
71 | )
72 | )
73 |
74 | REM Save the module flags to rvc-python
75 | echo rvc_python_cuda_trigger=%rvc_python_cuda_trigger%>%rvc_python_modules_path%
76 | echo rvc_python_harvest_trigger=%rvc_python_harvest_trigger%>>%rvc_python_modules_path%
77 | echo rvc_python_listen_trigger=%rvc_python_listen_trigger%>>%rvc_python_modules_path%
78 | echo rvc_python_preload_trigger=%rvc_python_preload_trigger%>>%rvc_python_modules_path%
79 |
80 | REM remove modules_enable
81 | set "modules_enable="
82 |
83 | REM Compile the Python command (default to API mode; adjust for CLI if needed)
84 | set "python_command=python -m rvc_python api"
85 | if "%rvc_python_cuda_trigger%"=="true" (
86 | set "python_command=%python_command% --device cuda:0"
87 | ) else (
88 | set "python_command=%python_command% --device cpu"
89 | )
90 | if "%rvc_python_harvest_trigger%"=="true" (
91 | set "python_command=%python_command% --method harvest"
92 | )
93 | if "%rvc_python_listen_trigger%"=="true" (
94 | set "python_command=%python_command% --listen"
95 | )
96 | if "%rvc_python_preload_trigger%"=="true" (
97 | set "python_command=%python_command% --preload-model default_model.pth"
98 | )
99 |
100 | REM is modules_enable empty?
101 | if defined modules_enable (
102 | REM remove last comma
103 | set "modules_enable=%modules_enable:~0,-1%"
104 | )
105 |
106 | REM command completed
107 | if defined modules_enable (
108 | set "python_command=%python_command% --enable-modules=%modules_enable%"
109 | )
110 |
111 | REM Save the constructed Python command to rvc-python for testing
112 | echo rvc_python_start_command=%python_command%>>%rvc_python_modules_path%
113 | goto :edit_rvc_python_modules
114 |
115 | REM Function to print module options with color based on their status
116 | :printModule
117 | if "%2"=="true" (
118 | echo %green_fg_strong%%1 [Enabled]%reset%
119 | ) else (
120 | echo %red_fg_strong%%1 [Disabled]%reset%
121 | )
122 | exit /b
123 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Editor/Voice_Generation/edit_xtts_modules.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | REM ############################################################
4 | REM ############## EDIT XTTS MODULES - FRONTEND ################
5 | REM ############################################################
6 | :edit_xtts_modules
7 | title STL [EDIT XTTS MODULES]
8 | cls
9 | echo %blue_fg_strong%/ Home / Toolbox / Editor / Edit XTTS Modules%reset%
10 | echo -------------------------------------------------------------
11 | echo Choose XTTS modules to enable or disable (e.g., "1 2 4" to enable Cuda, hs, and cache)
12 |
13 | REM Display module options with colors based on their status
14 | call :printModule "1. cuda (--device cuda)" %xtts_cuda_trigger%
15 | call :printModule "2. hs (-hs 0.0.0.0)" %xtts_hs_trigger%
16 | call :printModule "3. deepspeed (--deepspeed)" %xtts_deepspeed_trigger%
17 | call :printModule "4. cache (--use-cache)" %xtts_cache_trigger%
18 | call :printModule "5. listen (--listen)" %xtts_listen_trigger%
19 | call :printModule "6. model (--model-source local)" %xtts_model_trigger%
20 | echo 00. Quick Start XTTS
21 | echo 0. Back
22 |
23 | set "python_command="
24 |
25 | set /p xtts_module_choices=Choose modules to enable/disable:
26 |
27 | REM Handle the user's module choices and construct the Python command
28 | for %%i in (%xtts_module_choices%) do (
29 | if "%%i"=="1" (
30 | if "%xtts_cuda_trigger%"=="true" (
31 | set "xtts_cuda_trigger=false"
32 | ) else (
33 | set "xtts_cuda_trigger=true"
34 | )
35 |
36 | ) else if "%%i"=="2" (
37 | if "%xtts_hs_trigger%"=="true" (
38 | set "xtts_hs_trigger=false"
39 | ) else (
40 | set "xtts_hs_trigger=true"
41 | )
42 |
43 | ) else if "%%i"=="3" (
44 | if "%xtts_deepspeed_trigger%"=="true" (
45 | set "xtts_deepspeed_trigger=false"
46 | ) else (
47 | set "xtts_deepspeed_trigger=true"
48 | )
49 |
50 | ) else if "%%i"=="4" (
51 | if "%xtts_cache_trigger%"=="true" (
52 | set "xtts_cache_trigger=false"
53 | ) else (
54 | set "xtts_cache_trigger=true"
55 | )
56 |
57 | ) else if "%%i"=="5" (
58 | if "%xtts_listen_trigger%"=="true" (
59 | set "xtts_listen_trigger=false"
60 | ) else (
61 | set "xtts_listen_trigger=true"
62 | )
63 | ) else if "%%i"=="6" (
64 | if "%xtts_model_trigger%"=="true" (
65 | set "xtts_model_trigger=false"
66 | ) else (
67 | set "xtts_model_trigger=true"
68 | )
69 |
70 | ) else if "%%i"=="00" (
71 | goto :start_xtts
72 |
73 | ) else if "%%i"=="0" (
74 | goto :editor_voice_generation
75 | )
76 | )
77 |
78 | REM Save the module flags to modules-xtts
79 | echo xtts_cuda_trigger=%xtts_cuda_trigger%>%xtts_modules_path%
80 | echo xtts_hs_trigger=%xtts_hs_trigger%>>%xtts_modules_path%
81 | echo xtts_deepspeed_trigger=%xtts_deepspeed_trigger%>>%xtts_modules_path%
82 | echo xtts_cache_trigger=%xtts_cache_trigger%>>%xtts_modules_path%
83 | echo xtts_listen_trigger=%xtts_listen_trigger%>>%xtts_modules_path%
84 | echo xtts_model_trigger=%xtts_model_trigger%>>%xtts_modules_path%
85 |
86 | REM remove modules_enable
87 | set "modules_enable="
88 |
89 | REM Compile the Python command
90 | set "python_command=python -m xtts_api_server"
91 | if "%xtts_cuda_trigger%"=="true" (
92 | set "python_command=%python_command% --device cuda"
93 | )
94 | if "%xtts_hs_trigger%"=="true" (
95 | set "python_command=%python_command% -hs 0.0.0.0"
96 | )
97 | if "%xtts_deepspeed_trigger%"=="true" (
98 | set "python_command=%python_command% --deepspeed"
99 | )
100 | if "%xtts_cache_trigger%"=="true" (
101 | set "python_command=%python_command% --use-cache"
102 | )
103 | if "%xtts_listen_trigger%"=="true" (
104 | set "python_command=%python_command% --listen"
105 | )
106 | if "%xtts_model_trigger%"=="true" (
107 | set "python_command=%python_command% --model-source local"
108 | )
109 |
110 | REM is modules_enable empty?
111 | if defined modules_enable (
112 | REM remove last comma
113 | set "modules_enable=%modules_enable:~0,-1%"
114 | )
115 |
116 | REM command completed
117 | if defined modules_enable (
118 | set "python_command=%python_command% --enable-modules=%modules_enable%"
119 | )
120 |
121 | REM Save the constructed Python command to modules-xtts for testing
122 | echo xtts_start_command=%python_command%>>%xtts_modules_path%
123 | goto :edit_xtts_modules
124 |
125 | REM Function to print module options with color based on their status
126 | :printModule
127 | if "%2"=="true" (
128 | echo %green_fg_strong%%1 [Enabled]%reset%
129 | ) else (
130 | echo %red_fg_strong%%1 [Disabled]%reset%
131 | )
132 | exit /b
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/Support/discord.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | REM ############################################################
4 | REM ############## DISCORD SERVERS - FRONTEND ##################
5 | REM ############################################################
6 | :discord_servers_menu
7 | title STL [DISCORD SERVERS]
8 | cls
9 | echo %blue_fg_strong%^| ^> / Home / Troubleshooting ^& Support / Discord Servers ^|%reset%
10 | echo %blue_fg_strong% ==============================================================%reset%
11 | echo 1. Join SillyTavern
12 | echo %cyan_fg_strong% ______________________________________________________________%reset%
13 | echo %cyan_fg_strong%^| Discord - LLM Backends: ^|%reset%
14 | echo 2. Join TabbyAPI
15 | echo 3. Join KoboldAI
16 | echo 4. Join Text Generation WEBUI ooba
17 | echo %cyan_fg_strong% ______________________________________________________________%reset%
18 | echo %cyan_fg_strong%^| Discord - Cloud API: ^|%reset%
19 | echo 5. Join Mancer
20 | echo 6. Join OpenRouter
21 | echo 7. Join AI Horde
22 | echo %cyan_fg_strong% ______________________________________________________________%reset%
23 | echo %cyan_fg_strong%^| Discord - Model Devs ^& Research: ^|%reset%
24 | echo 8. Join TheBloke
25 | echo 9. Join PygmalionAI
26 | echo 10. Join Nous Research
27 | echo 11. Join RWKV
28 | echo 12. Join EleutherAI
29 | echo %cyan_fg_strong% ______________________________________________________________%reset%
30 | echo %cyan_fg_strong%^| Menu Options: ^|%reset%
31 | echo 0. Back
32 |
33 | echo %cyan_fg_strong% ______________________________________________________________%reset%
34 | echo %cyan_fg_strong%^| ^|%reset%
35 |
36 | REM Set the prompt with spaces
37 | set /p "discord_servers_choice=%BS% Choose Your Destiny: "
38 |
39 |
40 | REM ############## UPDATE MANAGER - BACKEND ####################
41 | if "%discord_servers_choice%"=="1" (
42 | call :discord_sillytavern
43 | ) else if "%discord_servers_choice%"=="2" (
44 | call :discord_tabbyapi
45 | ) else if "%discord_servers_choice%"=="3" (
46 | call :discord_koboldai
47 | ) else if "%discord_servers_choice%"=="4" (
48 | call :discord_textgenwebuiooba
49 | ) else if "%discord_servers_choice%"=="5" (
50 | call :discord_mancer
51 | ) else if "%discord_servers_choice%"=="6" (
52 | call :discord_openrouter
53 | ) else if "%discord_servers_choice%"=="7" (
54 | call :discord_aihorde
55 | ) else if "%discord_servers_choice%"=="8" (
56 | call :discord_thebloke
57 | ) else if "%discord_servers_choice%"=="9" (
58 | call :discord_pygmalionai
59 | ) else if "%discord_servers_choice%"=="10" (
60 | call :discord_nousresearch
61 | ) else if "%discord_servers_choice%"=="11" (
62 | call :discord_rwkv
63 | ) else if "%discord_servers_choice%"=="12" (
64 | call :discord_eleutherai
65 | ) else if "%discord_servers_choice%"=="0" (
66 | goto :exit_discord_servers_menu
67 | ) else (
68 | echo [%DATE% %TIME%] %log_invalidinput% >> %logs_stl_console_path%
69 | echo %red_bg%[%time%]%reset% %echo_invalidinput%
70 | pause
71 | )
72 |
73 | goto :discord_servers_menu
74 |
75 |
76 | :discord_sillytavern
77 | start "" "https://discord.gg/sillytavern"
78 | goto :eof
79 |
80 | :discord_tabbyapi
81 | start "" "https://discord.gg/sYQxnuD7Fj"
82 | goto :eof
83 |
84 | :discord_koboldai
85 | start "" "https://discord.gg/UCyXV7NssH"
86 | goto :eof
87 |
88 | :discord_textgenwebuiooba
89 | start "" "https://discord.gg/jwZCF2dPQN"
90 | goto :eof
91 |
92 | :discord_mancer
93 | start "" "https://discord.gg/6DZaU9Gv9F"
94 | goto :eof
95 |
96 | :discord_openrouter
97 | start "" "https://discord.gg/H9tjZYgauh"
98 | goto :eof
99 |
100 | :discord_aihorde
101 | start "" "https://discord.gg/3DxrhksKzn"
102 | goto :eof
103 |
104 | :discord_thebloke
105 | start "" "https://discord.gg/Jq4vkcDakD"
106 | goto :eof
107 |
108 | :discord_pygmalionai
109 | start "" "https://discord.gg/pygmalionai"
110 | goto :eof
111 |
112 | :discord_nousresearch
113 | start "" "https://discord.gg/jqVphNsB4H"
114 | goto :eof
115 |
116 | :discord_rwkv
117 | start "" "https://discord.gg/bDSBUMeFpc"
118 | goto :eof
119 |
120 | :discord_eleutherai
121 | start "" "https://discord.gg/zBGx3azzUn"
122 | goto :eof
123 |
124 | :exit_discord_servers_menu
125 | goto :troubleshooting
126 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/detect_vpn.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | REM This script detects if a VPN is active by checking network adapters using netsh.
3 |
4 | REM Initialize variables
5 | set "vpnDetected=false"
6 | setlocal enabledelayedexpansion
7 |
8 | REM Create a troubleshooting log
9 | set "logfile=%log_dir%\troubleshooting_vpn_detection.log"
10 | echo Troubleshooting VPN detection log > "%logfile%"
11 | echo ================================== >> "%logfile%"
12 | netsh interface show interface >> "%logfile%"
13 | echo ================================== >> "%logfile%"
14 |
15 | REM Loop through netsh output and check for active VPN adapters
16 | for /f "skip=3 tokens=1,2,3,4,* delims= " %%a in ('netsh interface show interface') do (
17 | set "adminState=%%a"
18 | set "state=%%b"
19 | set "type=%%c"
20 | set "name=%%d %%e %%f"
21 |
22 | REM Only check connected interfaces
23 | if /i "!state!"=="Connected" (
24 | echo Checking interface: !name! >> "%logfile%"
25 | if /i "!name:VPN=!" NEQ "!name!" (
26 | set "vpnDetected=true"
27 | echo Detected VPN adapter: !name! >> "%logfile%"
28 | goto :vpn_found
29 | )
30 | if /i "!name:Virtual Private=!" NEQ "!name!" (
31 | set "vpnDetected=true"
32 | echo Detected VPN adapter: !name! >> "%logfile%"
33 | goto :vpn_found
34 | )
35 | if /i "!name:TAP-Windows Adapter V9=!" NEQ "!name!" (
36 | set "vpnDetected=true"
37 | echo Detected VPN adapter: !name! >> "%logfile%"
38 | goto :vpn_found
39 | )
40 | if /i "!name:WireGuard Tunnel=!" NEQ "!name!" (
41 | set "vpnDetected=true"
42 | echo Detected VPN adapter: !name! >> "%logfile%"
43 | goto :vpn_found
44 | )
45 | if /i "!name:Mullvad=!" NEQ "!name!" (
46 | set "vpnDetected=true"
47 | echo Detected VPN adapter: !name! >> "%logfile%"
48 | goto :vpn_found
49 | )
50 | if /i "!name:OpenVPN Wintun=!" NEQ "!name!" (
51 | set "vpnDetected=true"
52 | echo Detected VPN adapter: !name! >> "%logfile%"
53 | goto :vpn_found
54 | )
55 | if /i "!name:ProtonVPN=!" NEQ "!name!" (
56 | set "vpnDetected=true"
57 | echo Detected VPN adapter: !name! >> "%logfile%"
58 | goto :vpn_found
59 | )
60 | if /i "!name:TunnelBear=!" NEQ "!name!" (
61 | set "vpnDetected=true"
62 | echo Detected VPN adapter: !name! >> "%logfile%"
63 | goto :vpn_found
64 | )
65 | if /i "!name:ExpressVPN=!" NEQ "!name!" (
66 | set "vpnDetected=true"
67 | echo Detected VPN adapter: !name! >> "%logfile%"
68 | goto :vpn_found
69 | )
70 | if /i "!name:SurfShark=!" NEQ "!name!" (
71 | set "vpnDetected=true"
72 | echo Detected VPN adapter: !name! >> "%logfile%"
73 | goto :vpn_found
74 | )
75 | )
76 | )
77 |
78 | :vpn_found
79 | if "%vpnDetected%"=="true" (
80 | echo VPN Status: %yellow_fg_strong%VPN detected. Local IP access and NodeJS install issues possible.%reset%
81 | ) else (
82 | echo VPN Status: %green_fg_strong%No VPN detected.%reset%
83 | )
84 |
85 | endlocal
86 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/export_dxdiag.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :export_dxdiag
4 | REM Create the logs folder if it doesn't exist
5 | if not exist "%log_dir%" (
6 | mkdir "%log_dir%"
7 | )
8 |
9 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Exporting DirectX Diagnostic Tool information...
10 | dxdiag /t "%log_dir%\dxdiag_info.txt"
11 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%You can find the dxdiag_info.txt at: "%log_dir%\dxdiag_info.txt"%reset%
12 | pause
13 |
14 | if "%caller%"=="home" (
15 | exit /b 1
16 | ) else (
17 | exit /b 0
18 | )
19 |
20 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/fetch_st_version.js:
--------------------------------------------------------------------------------
1 | const { getVersion } = require('./util.js');
2 |
3 | getVersion().then(version => {
4 | console.log(JSON.stringify(version));
5 | }).catch(err => {
6 | console.error('Error getting version:', err);
7 | });
8 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/fetch_title.js:
--------------------------------------------------------------------------------
1 | var x = new ActiveXObject("Microsoft.XMLHTTP");
2 | var url = WScript.Arguments(0);
3 | var timeout = 5000; // 5 seconds timeout
4 | var startTime = new Date().getTime();
5 |
6 | x.open("GET", url, false);
7 | x.setRequestHeader('User-Agent', 'XMLHTTP/1.0');
8 |
9 | try {
10 | x.send('');
11 | while (x.readyState != 4) {
12 | if (new Date().getTime() - startTime > timeout) {
13 | throw new Error("Request timed out");
14 | }
15 | WScript.Sleep(50);
16 | }
17 |
18 | if (x.status == 200) {
19 | var responseText = x.responseText;
20 | var matches = responseText.match(/(.*?)<\/title>/i);
21 | if (matches && matches[1]) {
22 | WScript.Echo(matches[1]);
23 | } else {
24 | WScript.Echo("Title tag not found");
25 | }
26 | } else if (x.status == 404) {
27 | WScript.Echo("No User Accessible Web Application running on port, May be an API (404 Not Found)");
28 | } else {
29 | WScript.Echo("HTTP Error: " + x.status);
30 | }
31 | } catch (e) {
32 | WScript.Echo(e.message);
33 | }
34 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/find_app_port.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | REM Function to find and display the application using the specified port
4 | :find_app_port
5 | cls
6 | setlocal EnableDelayedExpansion
7 |
8 | if "%~1"=="" (
9 | set /p port_choice="(0 to cancel)Insert port number: "
10 | ) else (
11 | set "port_choice=%~1"
12 | )
13 |
14 | if "%port_choice%"=="0" goto :troubleshooting
15 |
16 | REM Check if the input is a number
17 | set "valid=true"
18 | for /f "delims=0123456789" %%i in ("!port_choice!") do set "valid=false"
19 | if "!valid!"=="false" (
20 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Invalid input: Not a number.%reset%
21 | pause
22 | goto :troubleshooting
23 | )
24 |
25 | REM Check if the port is within range
26 | if !port_choice! gtr 65535 (
27 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Port out of range. There are only 65,535 possible port numbers.%reset%
28 | echo [0-1023]: These ports are reserved for system services or commonly used protocols.
29 | echo [1024-49151]: These ports can be used by user processes or applications.
30 | echo [49152-65535]: These ports are available for use by any application or service on the system.
31 | pause
32 | goto :troubleshooting
33 | )
34 |
35 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Searching for application using port: !port_choice!...
36 | for /f "tokens=5" %%a in ('netstat -aon ^| findstr /r "\"') do (
37 | set pid=%%a
38 | )
39 |
40 | if defined pid (
41 | for /f "tokens=2*" %%b in ('tasklist /fi "PID eq !pid!" /fo list ^| find "Image Name"') do (
42 | set app_name=%%c
43 | echo Application Name: %cyan_fg_strong%!app_name!%reset%
44 | echo PID of Port !port_choice!: %cyan_fg_strong%!pid!%reset%
45 |
46 | REM Fetch the page title for the specified port
47 | call :fetch_page_title !port_choice!
48 | if defined PAGE_TITLE (
49 | echo Title of Application: %cyan_fg_strong%!PAGE_TITLE!%reset%
50 | ) else (
51 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN]%reset% Could not retrieve page title.
52 | )
53 | )
54 | ) else (
55 | echo %yellow_bg%[%time%]%reset% %yellow_fg_strong%[WARN]%reset% Port: !port_choice! not found.
56 | )
57 | endlocal
58 | pause
59 | goto :port_exit
60 |
61 | :fetch_page_title
62 | setlocal
63 | set "PORT=%1"
64 | set "URL=http://localhost:%PORT%"
65 |
66 | REM Use JScript to fetch and parse the title
67 | for /f "delims=" %%I in ('cscript /nologo "%troubleshooting_dir%\fetch_title.js" "%URL%"') do (
68 | set "PAGE_TITLE=%%I"
69 | )
70 |
71 | endlocal & set "PAGE_TITLE=%PAGE_TITLE%"
72 | goto :EOF
73 |
74 | :port_exit
75 | if "%caller%"=="home" (
76 | exit /b 1
77 | ) else (
78 | exit /b 0
79 | )
80 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/fix_github_conflicts.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :fix_github_conflicts
4 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Trying to resolve unresolved conflicts in the working directory or unmerged files...
5 | cd /d "%st_install_path%"
6 | git merge --abort
7 | git reset --hard
8 | git pull --rebase --autostash
9 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Done.
10 | pause
11 |
12 | if "%caller%"=="home" (
13 | exit /b 1
14 | ) else (
15 | exit /b 0
16 | )
17 |
18 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/gpu_info.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | REM Initialize variables
4 | setlocal enabledelayedexpansion
5 | set /a iteration=0
6 | set /a last_VRAM=0
7 | set "last_GPU=Unknown"
8 | set "GPU_name=Unknown"
9 | set "VRAM=Unknown"
10 | set "primary_gpu_found=false"
11 |
12 | REM Detect GPU and store name, excluding integrated GPUs if discrete GPUs are found
13 | for /f "tokens=*" %%f in ('powershell -Command "Get-CimInstance Win32_VideoController | Select-Object -ExpandProperty Name"') do (
14 | REM If GPU name is blank, set it; else, if it is not blank and does not equal the current value of f,
15 | REM move gpu name to last_gpu and set gpu_name to the new value.
16 | if /i "!GPU_name!" equ "" (
17 | set "GPU_name=%%f"
18 | ) else if "!GPU_name!" neq "%%f" (
19 | set "last_GPU=!GPU_name!"
20 | set "GPU_name=%%f"
21 | )
22 |
23 | REM Run PowerShell command to retrieve VRAM size and divide by 1GB
24 | for /f "usebackq tokens=*" %%i in (`powershell -Command "$qwMemorySize = (Get-ItemProperty -Path 'HKLM:\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0*' -Name HardwareInformation.qwMemorySize -ErrorAction SilentlyContinue).'HardwareInformation.qwMemorySize'; if ($null -ne $qwMemorySize -and $qwMemorySize -is [array]) { $qwMemorySize = [double]$qwMemorySize[!iteration!] } else { $qwMemorySize = [double]$qwMemorySize }; if ($null -ne $qwMemorySize) { [math]::Round($qwMemorySize/1GB) } else { 'Property not found' }"`) do (
25 | set "VRAM=%%i"
26 | )
27 |
28 | REM Iterate to move through the objects in the PowerShell script
29 | set /a iteration=!iteration!+1
30 |
31 | REM Update VRAM and GPU name only if current VRAM is greater than last_VRAM
32 | if /i !VRAM! gtr !last_VRAM! (
33 | set /a last_VRAM=!VRAM!
34 | set "last_GPU=!GPU_name!"
35 | )
36 | )
37 |
38 | REM Restore the GPU name and VRAM to the one with the highest VRAM
39 | set "GPU_name=!last_GPU!"
40 | set "VRAM=!last_VRAM!"
41 |
42 | REM Display GPU name and VRAM
43 | echo GPU: %cyan_fg_strong%!GPU_name!%reset% - VRAM: %cyan_fg_strong%!VRAM!%reset% GB
44 | endlocal
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/home_port_check.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | setlocal enabledelayedexpansion
3 |
4 | REM Set the log file
5 | set "log_file=%log_dir%\port_8000_status.txt"
6 |
7 | REM Function to check the application using port 8000
8 | :check_port_8000
9 | setlocal EnableDelayedExpansion
10 |
11 | REM Initialize variables
12 | set "port_choice=8000"
13 | set "pid="
14 | set "app_name="
15 | set "PAGE_TITLE="
16 |
17 | for /f "tokens=5" %%a in ('netstat -aon ^| findstr /r "\"') do (
18 | set "pid=%%a"
19 | )
20 |
21 | if defined pid (
22 | if "!pid!" neq "0" (
23 | for /f "tokens=2*" %%b in ('tasklist /fi "PID eq !pid!" /fo list ^| find "Image Name"') do (
24 | set "app_name=%%c"
25 |
26 | REM Fetch the page title for the specified port
27 | call :fetch_page_title !port_choice!
28 | if "!PAGE_TITLE!"=="The server returned an invalid or unrecognized response" (
29 | set "portStatus=Port Status: %red_fg_strong%8000 in Use: App title not found, may be using HTTPS%reset%"
30 | ) else if defined PAGE_TITLE (
31 | set "portStatus=Port Status: %red_fg_strong%8000 in Use: !PAGE_TITLE!%reset%"
32 | ) else (
33 | set "portStatus=Port Status: %red_fg_strong%8000 in Use: !app_name!%reset%"
34 | )
35 | )
36 | ) else (
37 | set "portStatus=Port Status: %green_fg_strong%8000 not in use%reset%"
38 | )
39 | ) else (
40 | set "portStatus=Port Status: %green_fg_strong%8000 not in use%reset%"
41 | )
42 |
43 | echo !portStatus!
44 |
45 | endlocal
46 | goto :EOF
47 |
48 | :fetch_page_title
49 | setlocal
50 | set "PORT=%1"
51 |
52 | REM Attempt HTTP first
53 | set "URL=http://localhost:%PORT%"
54 |
55 | for /f "delims=" %%I in ('cscript /nologo "%troubleshooting_dir%\fetch_title.js" "%URL%" 2^>^&1') do (
56 | set "PAGE_TITLE=%%I"
57 | )
58 |
59 | REM Log if HTTP fails and do not attempt HTTPS
60 | if "!PAGE_TITLE!"=="The server returned an invalid or unrecognized response" (
61 | set "PAGE_TITLE=App title not found, may be using HTTPS"
62 | ) else (
63 | if "!PAGE_TITLE!"=="The download of the specified resource has failed." (
64 | set "PAGE_TITLE=App title not found, may be using HTTPS"
65 | )
66 | )
67 |
68 | REM Log if PAGE_TITLE is not retrieved
69 | if not defined PAGE_TITLE (
70 | set "PAGE_TITLE=Could not find App Title"
71 | )
72 |
73 | endlocal & set "PAGE_TITLE=%PAGE_TITLE%"
74 | goto :EOF
75 |
76 | REM Call the function to check port 8000
77 | call :check_port_8000
78 |
79 | pause
80 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/onboarding_flow.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :onboarding_flow
4 | title STL [ONBOARDING FLOW]
5 | cls
6 | echo %blue_fg_strong%/ Home / Toolbox / Troubleshooting / Set Onboarding Flow%reset%
7 | echo ---------------------------------------------------------------
8 |
9 | REM Scan for user folders
10 | set "user_folders="
11 | for /d %%d in ("%st_install_path%\data\*") do (
12 | if /i not "%%~nxd"=="_storage" if /i not "%%~nxd"=="_uploads" (
13 | set "user_folders=!user_folders!%%~nxd|"
14 | )
15 | )
16 |
17 | REM Remove the trailing pipe character
18 | set "user_folders=%user_folders:~0,-1%"
19 |
20 | REM Split user_folders into an array
21 | setlocal enabledelayedexpansion
22 | set i=1
23 | set "user_count=0"
24 | for %%a in (%user_folders:|= %) do (
25 | echo !i!. %%a
26 | set "user_folder_!i!=%%a"
27 | set /a i+=1
28 | set /a user_count+=1
29 | )
30 |
31 | REM If only one user folder is found, skip the selection
32 | if %user_count%==1 (
33 | set "selected_user_folder=!user_folder_1!"
34 | goto skip_user_selection
35 | )
36 |
37 | :select_user_folder
38 | REM Prompt user to select a folder
39 | echo 0. Cancel
40 | set "selected_user_folder="
41 | set /p user_choice="Select a folder to apply the setting: "
42 |
43 | REM Check if the user wants to exit
44 | if "%user_choice%"=="0" (
45 | if "%caller%"=="home" (
46 | exit /b 1
47 | ) else (
48 | exit /b 0
49 | )
50 | )
51 |
52 | REM Get the selected folder name
53 | for /l %%i in (1,1,%user_count%) do (
54 | if "%user_choice%"=="%%i" set "selected_user_folder=!user_folder_%%i!"
55 | )
56 |
57 | if "%selected_user_folder%"=="" (
58 | echo %red_fg_strong%[ERROR] Invalid selection. Please enter a number between 1 and %user_count%, or press 0 to cancel.%reset%
59 | pause
60 | goto :onboarding_flow
61 | )
62 |
63 | :skip_user_selection
64 | REM Replace backslashes with double backslashes in st_install_path
65 | set "escaped_st_install_path=%st_install_path:\=\\%"
66 |
67 | REM Get the current value of the Onboarding Flow setting using Node.js
68 | for /f "tokens=*" %%i in ('node -e "const fs = require(`fs`); const path = require(`path`); const settingsPath = path.join(`%escaped_st_install_path%`, `data`, `%selected_user_folder%`, `settings.json`); const settings = JSON.parse(fs.readFileSync(settingsPath, `utf-8`)); console.log(settings.firstRun);"') do (
69 | set "current_onboarding_value=%%i"
70 | )
71 |
72 | echo %blue_fg_strong%[INFO]%reset% Current Onboarding Flow value is: %yellow_fg_strong% %current_onboarding_value% %reset%
73 |
74 | REM Toggle the value
75 | if /i "%current_onboarding_value%"=="true" (
76 | set "new_onboarding_value=false"
77 | ) else (
78 | set "new_onboarding_value=true"
79 | )
80 |
81 | echo %blue_fg_strong%[INFO]%reset% New Onboarding Flow value will be: %green_fg_strong% %new_onboarding_value% %reset%
82 |
83 | REM Prompt for confirmation to toggle the value
84 | set /p confirm="Do you want to toggle the Onboarding Flow value to %new_onboarding_value%? (Y/N): "
85 | if /i "%confirm%"=="Y" (
86 | REM Update settings.json in the selected user folder using Node.js
87 | node -e "const fs = require(`fs`); const path = require(`path`); const settingsPath = path.join(`%escaped_st_install_path%`, `data`, `%selected_user_folder%`, `settings.json`); const settings = JSON.parse(fs.readFileSync(settingsPath, `utf-8`)); settings.firstRun = %new_onboarding_value%; fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2)); console.log('Saving...');"
88 | echo %green_fg_strong%[INFO]%reset% Onboarding flow updated for user: %selected_user_folder% to: %green_fg_strong%%new_onboarding_value%%reset%.
89 | ) else (
90 | echo %blue_fg_strong%[INFO]%reset% No changes made.
91 | )
92 |
93 | pause
94 | if "%caller%"=="home" (
95 | exit /b 1
96 | ) else (
97 | exit /b 0
98 | )
99 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/remove_node_modules.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :remove_node_modules
4 | cd /d "%st_install_path%"
5 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Removing node_modules folder...
6 | rmdir /s /q "node_modules"
7 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% node_modules successfully removed.
8 | pause
9 |
10 | if "%caller%"=="home" (
11 | exit /b 1
12 | ) else (
13 | exit /b 0
14 | )
15 |
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/remove_npm_cache.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :remove_npm_cache
4 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Clearing npm cache...
5 | npm cache clean --force
6 | if %errorlevel% neq 0 (
7 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Could not clear npm cache.%reset%
8 | echo Please try again.
9 | pause
10 | goto :npm_exit
11 | )
12 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%npm cache cleared successfully.%reset%
13 | pause
14 |
15 | :npm_exit
16 | if "%caller%"=="home" (
17 | exit /b 1
18 | ) else (
19 | exit /b 0
20 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/remove_pip_cache.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | :remove_pip_cache
4 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% Clearing pip cache...
5 | pip cache purge
6 | if %errorlevel% neq 0 (
7 | echo %red_bg%[%time%]%reset% %red_fg_strong%[ERROR] Could not clear pip cache.%reset%
8 | echo Please try again.
9 | pause
10 | goto :pip_exit
11 | )
12 | echo %blue_bg%[%time%]%reset% %blue_fg_strong%[INFO]%reset% %green_fg_strong%pip cache cleared successfully.%reset%
13 | pause
14 |
15 | :pip_exit
16 | if "%caller%"=="home" (
17 | exit /b 1
18 | ) else (
19 | exit /b 0
20 | )
--------------------------------------------------------------------------------
/bin/functions/Toolbox/Troubleshooting/restart_stl.bat:
--------------------------------------------------------------------------------
1 | echo Restarting launcher...
2 | timeout /t 3
3 | cd /d %stl_root%
4 | start %stl_root%Launcher.bat
5 | exit
--------------------------------------------------------------------------------
/st-launcher.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SillyTavern/SillyTavern-Launcher/c61a0f1c9cc397e9d3e329d1ec063b65f2a15003/st-launcher.ico
--------------------------------------------------------------------------------
/st.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SillyTavern/SillyTavern-Launcher/c61a0f1c9cc397e9d3e329d1ec063b65f2a15003/st.ico
--------------------------------------------------------------------------------