sillytavern 1.11.6 → 1.11.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug-report.yml +11 -11
- package/.github/ISSUE_TEMPLATE/feature-request.yml +7 -7
- package/.github/labeler.yml +18 -0
- package/.github/readme.md +85 -58
- package/.github/workflows/docker-publish.yml +53 -20
- package/.github/workflows/labeler.yml +19 -0
- package/Start.bat +1 -0
- package/Update-Instructions.txt +3 -0
- package/UpdateForkAndStart.bat +103 -0
- package/default/content/index.json +156 -0
- package/{public → default/content/presets}/context/Adventure.json +2 -0
- package/{public → default/content/presets}/context/Alpaca-Roleplay.json +9 -3
- package/{public → default/content/presets}/context/Alpaca-Single-Turn.json +1 -0
- package/default/content/presets/context/Alpaca.json +12 -0
- package/{public → default/content/presets}/context/ChatML.json +8 -2
- package/{public → default/content/presets}/context/Default.json +9 -3
- package/{public → default/content/presets}/context/DreamGen Role-Play V1.json +1 -0
- package/{public → default/content/presets}/context/Libra-32B.json +7 -1
- package/{public → default/content/presets}/context/Lightning 1.1.json +8 -2
- package/default/content/presets/context/Llama 2 Chat.json +12 -0
- package/{public → default/content/presets}/context/Minimalist.json +9 -3
- package/{public → default/content/presets}/context/Mistral.json +9 -3
- package/{public → default/content/presets}/context/NovelAI.json +8 -2
- package/{public → default/content/presets}/context/OldDefault.json +7 -1
- package/default/content/presets/context/Pygmalion.json +12 -0
- package/{public → default/content/presets}/context/Story.json +7 -1
- package/{public/context/Pygmalion.json → default/content/presets/context/Synthia.json} +8 -2
- package/{public → default/content/presets}/context/simple-proxy-for-tavern.json +9 -3
- package/{public → default/content/presets}/instruct/Adventure.json +8 -2
- package/default/content/presets/instruct/Alpaca-Roleplay.json +24 -0
- package/{public → default/content/presets}/instruct/Alpaca-Single-Turn.json +12 -5
- package/{public → default/content/presets}/instruct/Alpaca.json +13 -6
- package/default/content/presets/instruct/ChatML.json +24 -0
- package/{public → default/content/presets}/instruct/DreamGen Role-Play V1.json +14 -8
- package/{public → default/content/presets}/instruct/Koala.json +13 -6
- package/{public → default/content/presets}/instruct/Libra-32B.json +15 -8
- package/{public → default/content/presets}/instruct/Lightning 1.1.json +13 -7
- package/default/content/presets/instruct/Llama 2 Chat.json +24 -0
- package/{public → default/content/presets}/instruct/Metharme.json +13 -6
- package/{public → default/content/presets}/instruct/Mistral.json +16 -9
- package/{public → default/content/presets}/instruct/OpenOrca-OpenChat.json +15 -8
- package/{public → default/content/presets}/instruct/Pygmalion.json +13 -6
- package/{public → default/content/presets}/instruct/Story.json +8 -2
- package/{public → default/content/presets}/instruct/Synthia.json +16 -9
- package/{public → default/content/presets}/instruct/Vicuna 1.0.json +13 -6
- package/{public → default/content/presets}/instruct/Vicuna 1.1.json +13 -6
- package/{public → default/content/presets}/instruct/WizardLM-13B.json +13 -6
- package/{public → default/content/presets}/instruct/WizardLM.json +13 -6
- package/{public → default/content/presets}/instruct/simple-proxy-for-tavern.json +16 -9
- package/default/content/presets/openai/Default.json +245 -15
- package/default/settings.json +11 -6
- package/package.json +2 -2
- package/public/context/.gitkeep +0 -0
- package/public/css/logprobs.css +8 -0
- package/public/css/mobile-styles.css +9 -2
- package/public/css/promptmanager.css +14 -3
- package/public/css/st-tailwind.css +9 -0
- package/public/css/tags.css +93 -4
- package/public/css/toggle-dependent.css +98 -37
- package/public/img/cohere.svg +12 -0
- package/public/index.html +539 -177
- package/public/instruct/.gitkeep +0 -0
- package/public/lib/eventemitter.js +16 -2
- package/public/locales/ar-sa.json +60 -2
- package/public/locales/de-de.json +921 -0
- package/public/locales/es-es.json +905 -149
- package/public/locales/fr-fr.json +59 -3
- package/public/locales/is-is.json +58 -2
- package/public/locales/it-it.json +805 -643
- package/public/locales/ja-jp.json +59 -3
- package/public/locales/ko-kr.json +835 -471
- package/public/locales/lang.json +15 -14
- package/public/locales/nl-nl.json +61 -5
- package/public/locales/pt-pt.json +791 -628
- package/public/locales/ru-ru.json +86 -1
- package/public/locales/uk-ua.json +58 -1
- package/public/locales/vi-vn.json +59 -3
- package/public/locales/zh-cn.json +715 -350
- package/public/script.js +864 -369
- package/public/scripts/BulkEditOverlay.js +290 -67
- package/public/scripts/PromptManager.js +83 -23
- package/public/scripts/RossAscends-mods.js +87 -104
- package/public/scripts/authors-note.js +36 -3
- package/public/scripts/bulk-edit.js +43 -34
- package/public/scripts/chats.js +82 -0
- package/public/scripts/extensions/assets/index.js +54 -1
- package/public/scripts/extensions/assets/style.css +1 -1
- package/public/scripts/extensions/assets/window.html +5 -0
- package/public/scripts/extensions/caption/index.js +13 -5
- package/public/scripts/extensions/expressions/index.js +18 -1
- package/public/scripts/extensions/gallery/index.js +2 -2
- package/public/scripts/extensions/memory/index.js +294 -93
- package/public/scripts/extensions/memory/settings.html +136 -0
- package/public/scripts/extensions/memory/style.css +11 -1
- package/public/scripts/extensions/quick-reply/html/qrEditor.html +10 -2
- package/public/scripts/extensions/quick-reply/index.js +1 -1
- package/public/scripts/extensions/quick-reply/src/QuickReply.js +15 -0
- package/public/scripts/extensions/quick-reply/src/QuickReplySet.js +2 -2
- package/public/scripts/extensions/regex/engine.js +1 -1
- package/public/scripts/extensions/stable-diffusion/index.js +208 -11
- package/public/scripts/extensions/stable-diffusion/settings.html +37 -7
- package/public/scripts/extensions/token-counter/index.js +4 -2
- package/public/scripts/extensions/tts/index.js +20 -1
- package/public/scripts/extensions/tts/novel.js +2 -0
- package/public/scripts/extensions.js +1 -1
- package/public/scripts/filters.js +74 -12
- package/public/scripts/group-chats.js +61 -15
- package/public/scripts/instruct-mode.js +206 -54
- package/public/scripts/kai-settings.js +2 -2
- package/public/scripts/logprobs.js +9 -4
- package/public/scripts/macros.js +88 -30
- package/public/scripts/nai-settings.js +2 -2
- package/public/scripts/openai.js +316 -74
- package/public/scripts/personas.js +2 -9
- package/public/scripts/power-user.js +122 -16
- package/public/scripts/preset-manager.js +1 -1
- package/public/scripts/secrets.js +4 -0
- package/public/scripts/slash-commands.js +80 -26
- package/public/scripts/sse-stream.js +215 -0
- package/public/scripts/tags.js +800 -130
- package/public/scripts/templates/macros.html +15 -9
- package/public/scripts/textgen-settings.js +93 -69
- package/public/scripts/utils.js +50 -4
- package/public/scripts/world-info.js +85 -50
- package/public/settings.json +11 -6
- package/public/style.css +224 -67
- package/public/themes/.gitkeep +0 -0
- package/server.js +83 -206
- package/src/additional-headers.js +23 -34
- package/src/constants.js +2 -1
- package/src/endpoints/avatars.js +62 -0
- package/src/endpoints/backends/chat-completions.js +151 -2
- package/src/endpoints/backgrounds.js +1 -1
- package/src/endpoints/characters.js +7 -2
- package/src/endpoints/content-manager.js +5 -1
- package/src/endpoints/images.js +94 -0
- package/src/endpoints/moving-ui.js +22 -0
- package/src/endpoints/novelai.js +4 -3
- package/src/endpoints/quick-replies.js +36 -0
- package/src/endpoints/secrets.js +2 -0
- package/src/endpoints/stable-diffusion.js +73 -0
- package/src/endpoints/themes.js +41 -0
- package/src/endpoints/tokenizers.js +3 -3
- package/src/middleware/whitelist.js +31 -25
- package/src/nomicai-vectors.js +1 -1
- package/src/polyfill.js +8 -0
- package/src/{endpoints/prompt-converters.js → prompt-converters.js} +129 -43
- package/src/util.js +16 -4
- package/public/instruct/Alpaca-Roleplay.json +0 -17
- package/public/instruct/ChatML.json +0 -17
- package/public/instruct/Llama 2 Chat.json +0 -17
- /package/public/characters/{README.md → .gitkeep} +0 -0
- /package/public/chats/{README.md → .gitkeep} +0 -0
- /package/public/group chats/{README.md → .gitkeep} +0 -0
- /package/public/groups/{README.md → .gitkeep} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
name: Bug Report 🐛
|
|
2
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
3
|
title: '[BUG] <title>'
|
|
4
|
-
labels: ['
|
|
4
|
+
labels: ['🐛 Bug']
|
|
5
5
|
body:
|
|
6
6
|
- type: dropdown
|
|
7
7
|
id: environment
|
|
@@ -9,11 +9,11 @@ body:
|
|
|
9
9
|
label: Environment
|
|
10
10
|
description: Where are you running SillyTavern?
|
|
11
11
|
options:
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
12
|
+
- 🪟 Windows
|
|
13
|
+
- 🐧 Linux
|
|
14
|
+
- 📱 Termux
|
|
15
|
+
- 🐋 Docker
|
|
16
|
+
- 🍎 Mac
|
|
17
17
|
validations:
|
|
18
18
|
required: true
|
|
19
19
|
|
|
@@ -69,16 +69,16 @@ body:
|
|
|
69
69
|
required: false
|
|
70
70
|
|
|
71
71
|
- type: checkboxes
|
|
72
|
-
id:
|
|
72
|
+
id: user-check
|
|
73
73
|
attributes:
|
|
74
74
|
label: Please tick the boxes
|
|
75
|
-
description: Before submitting, please ensure that
|
|
75
|
+
description: Before submitting, please ensure that you have completed the following checklist
|
|
76
76
|
options:
|
|
77
|
-
- label:
|
|
77
|
+
- label: I have explained the issue clearly, and I included all relevant info
|
|
78
78
|
required: true
|
|
79
|
-
- label:
|
|
79
|
+
- label: I have checked that this [issue hasn't already been raised](https://github.com/SillyTavern/SillyTavern/issues?q=is%3Aissue)
|
|
80
80
|
required: true
|
|
81
|
-
- label:
|
|
81
|
+
- label: I have checked the [docs](https://docs.sillytavern.app/) 
|
|
82
82
|
required: true
|
|
83
83
|
|
|
84
84
|
- type: markdown
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
name: Feature Request ✨
|
|
2
2
|
description: Suggest an idea for future development of this project
|
|
3
3
|
title: '[FEATURE_REQUEST] <title>'
|
|
4
|
-
labels: ['
|
|
4
|
+
labels: ['🦄 Feature Request']
|
|
5
5
|
|
|
6
6
|
body:
|
|
7
7
|
|
|
@@ -15,7 +15,7 @@ body:
|
|
|
15
15
|
- 'No'
|
|
16
16
|
- 'Yes'
|
|
17
17
|
validations:
|
|
18
|
-
required:
|
|
18
|
+
required: true
|
|
19
19
|
|
|
20
20
|
# Field 2 - Is it bug-related
|
|
21
21
|
- type: textarea
|
|
@@ -67,16 +67,16 @@ body:
|
|
|
67
67
|
validations:
|
|
68
68
|
required: true
|
|
69
69
|
|
|
70
|
-
# Field 7 - Can the user
|
|
70
|
+
# Field 7 - Can the user user test in staging
|
|
71
71
|
- type: dropdown
|
|
72
|
-
id:
|
|
72
|
+
id: canTestStaging
|
|
73
73
|
attributes:
|
|
74
|
-
label:
|
|
75
|
-
description:
|
|
74
|
+
label: Are you willing to test this on staging/unstable branch if this is implemented?
|
|
75
|
+
description: Otherwise you'll need to wait until the next stable release after the feature is developed.
|
|
76
76
|
options:
|
|
77
77
|
- 'No'
|
|
78
78
|
- 'Maybe'
|
|
79
|
-
- 'Yes
|
|
79
|
+
- 'Yes'
|
|
80
80
|
validations:
|
|
81
81
|
required: false
|
|
82
82
|
|
|
@@ -0,0 +1,18 @@
|
|
|
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)'
|
package/.github/readme.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
<a name="readme-top"></a>
|
|
2
|
+
|
|
1
3
|
English | [中文](readme-zh_cn.md) | [日本語](readme-ja_jp.md)
|
|
2
4
|
|
|
3
|
-
![
|
|
5
|
+
![][cover]
|
|
4
6
|
|
|
5
7
|
Mobile-friendly layout, Multi-API (KoboldAI/CPP, Horde, NovelAI, Ooba, OpenAI, OpenRouter, Claude, Scale), VN-like Waifu Mode, Stable Diffusion, TTS, WorldInfo (lorebooks), customizable UI, auto-translate, and more prompt options than you'd ever want or need + ability to install third-party extensions.
|
|
6
8
|
|
|
@@ -22,6 +24,11 @@ SillyTavern is a user interface you can install on your computer (and Android ph
|
|
|
22
24
|
|
|
23
25
|
SillyTavern is a fork of TavernAI 1.2.8 which is under more active development and has added many major features. At this point, they can be thought of as completely independent programs.
|
|
24
26
|
|
|
27
|
+
## Screenshots
|
|
28
|
+
|
|
29
|
+
<img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/e902c7a2-45a6-4415-97aa-c59c597669c1">
|
|
30
|
+
<img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/f8a79c47-4fe9-4564-9e4a-bf247ed1c961">
|
|
31
|
+
|
|
25
32
|
### Branches
|
|
26
33
|
|
|
27
34
|
SillyTavern is being developed using a two-branch system to ensure a smooth experience for all users.
|
|
@@ -31,36 +38,25 @@ SillyTavern is being developed using a two-branch system to ensure a smooth expe
|
|
|
31
38
|
|
|
32
39
|
If you're not familiar with using the git CLI or don't understand what a branch is, don't worry! The release branch is always the preferable option for you.
|
|
33
40
|
|
|
34
|
-
### What do I need other than
|
|
35
|
-
|
|
36
|
-
On its own Tavern is useless, as it's just a user interface. You have to have access to an AI system backend that can act as the roleplay character. There are various supported backends: OpenAPI API (GPT), KoboldAI (either running locally or on Google Colab), and more. You can read more about this in [the FAQ](https://docs.sillytavern.app/usage/faq/).
|
|
37
|
-
|
|
38
|
-
### Do I need a powerful PC to run Tavern?
|
|
41
|
+
### What do I need other than SillyTavern?
|
|
39
42
|
|
|
40
|
-
|
|
43
|
+
On its own SillyTavern is useless, as it's just a user interface. You have to have access to an AI system backend that can act as the roleplay character. There are various supported backends: OpenAPI API (GPT), KoboldAI (either running locally or on Google Colab), and more. You can read more about this in [the FAQ](https://docs.sillytavern.app/usage/faq/).
|
|
41
44
|
|
|
42
|
-
|
|
45
|
+
### Do I need a powerful PC to run SillyTavern?
|
|
43
46
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
> **This fork can be run natively on Android phones using Termux. Please refer to this guide by ArroganceComplex#2659:**
|
|
47
|
-
|
|
48
|
-
<https://rentry.org/STAI-Termux>
|
|
47
|
+
Since SillyTavern is only a user interface, it has tiny hardware requirements, it will run on anything. It's the AI system backend that needs to be powerful.
|
|
49
48
|
|
|
50
49
|
## Questions or suggestions?
|
|
51
50
|
|
|
52
51
|
### We now have a community Discord server
|
|
53
52
|
|
|
54
|
-
Get support, share favorite characters and prompts
|
|
55
|
-
|
|
56
|
-
### [Join](https://discord.gg/sillytavern)
|
|
57
|
-
|
|
58
|
-
***
|
|
53
|
+
| [![][discord-shield-badge]][discord-link] | [Join our Discord community!](https://discord.gg/sillytavern) Get support, share favorite characters and prompts. |
|
|
54
|
+
| :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------- |
|
|
59
55
|
|
|
60
|
-
|
|
56
|
+
Or get in touch with the developers directly:
|
|
61
57
|
|
|
62
58
|
* Discord: cohee or rossascends
|
|
63
|
-
* Reddit: /u/RossAscends or /u/sillylossy
|
|
59
|
+
* Reddit: [/u/RossAscends](https://www.reddit.com/user/RossAscends/) or [/u/sillylossy](https://www.reddit.com/user/sillylossy/)
|
|
64
60
|
* [Post a GitHub issue](https://github.com/SillyTavern/SillyTavern/issues)
|
|
65
61
|
|
|
66
62
|
## This version includes
|
|
@@ -124,61 +120,88 @@ A full list of included extensions and tutorials on how to use them can be found
|
|
|
124
120
|
* Customizable page colors for 'main text', 'quoted text', and 'italics text'.
|
|
125
121
|
* Customizable UI background color and blur amount
|
|
126
122
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
*NOTE: This software is intended for local install purposes, and has not been thoroughly tested on a colab or other cloud notebook service.*
|
|
130
|
-
|
|
131
|
-
> **Warning**
|
|
132
|
-
|
|
133
|
-
> DO NOT INSTALL INTO ANY WINDOWS CONTROLLED FOLDER (Program Files, System32, etc).
|
|
123
|
+
# ⌛ Installation
|
|
134
124
|
|
|
135
|
-
>
|
|
125
|
+
> \[!WARNING]
|
|
126
|
+
> * DO NOT INSTALL INTO ANY WINDOWS CONTROLLED FOLDER (Program Files, System32, etc).
|
|
127
|
+
> * DO NOT RUN START.BAT WITH ADMIN PERMISSIONS
|
|
128
|
+
> * INSTALLATION ON WINDOWS 7 IS IMPOSSIBLE AS IT CAN NOT RUN NODEJS 18.16
|
|
136
129
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
Installing via Git (recommended for easy updating)
|
|
140
|
-
|
|
141
|
-
An easy-to-follow guide with pretty pictures:
|
|
142
|
-
<https://docs.sillytavern.app/installation/windows/>
|
|
130
|
+
## 🪟 Windows
|
|
143
131
|
|
|
132
|
+
## Installing via Git
|
|
144
133
|
1. Install [NodeJS](https://nodejs.org/en) (latest LTS version is recommended)
|
|
145
|
-
2. Install [
|
|
134
|
+
2. Install [Git for Windows](https://gitforwindows.org/)
|
|
146
135
|
3. Open Windows Explorer (`Win+E`)
|
|
147
136
|
4. Browse to or Create a folder that is not controlled or monitored by Windows. (ex: C:\MySpecialFolder\)
|
|
148
137
|
5. Open a Command Prompt inside that folder by clicking in the 'Address Bar' at the top, typing `cmd`, and pressing Enter.
|
|
149
138
|
6. Once the black box (Command Prompt) pops up, type ONE of the following into it and press Enter:
|
|
150
139
|
|
|
151
|
-
|
|
152
|
-
|
|
140
|
+
- for Release Branch: `git clone https://github.com/SillyTavern/SillyTavern -b release`
|
|
141
|
+
- for Staging Branch: `git clone https://github.com/SillyTavern/SillyTavern -b staging`
|
|
153
142
|
|
|
154
143
|
7. Once everything is cloned, double-click `Start.bat` to make NodeJS install its requirements.
|
|
155
144
|
8. The server will then start, and SillyTavern will pop up in your browser.
|
|
156
145
|
|
|
157
|
-
Installing via
|
|
146
|
+
## Installing via SillyTavern Launcher
|
|
147
|
+
1. Install [Git for Windows](https://gitforwindows.org/)
|
|
148
|
+
2. Open Windows Explorer (`Win+E`) and make or choose a folder where you wanna install the launcher to
|
|
149
|
+
3. Open a Command Prompt inside that folder by clicking in the 'Address Bar' at the top, typing `cmd`, and pressing Enter.
|
|
150
|
+
4. When you see a black box, insert the following command: `git clone https://github.com/SillyTavern/SillyTavern-Launcher.git`
|
|
151
|
+
5. Double-click on `installer.bat` and choose what you wanna install
|
|
152
|
+
6. After installation double-click on `launcher.bat`
|
|
158
153
|
|
|
154
|
+
## Installing via GitHub Desktop
|
|
155
|
+
(This allows git usage **only** in GitHub Desktop, if you want to use `git` on the command line too, you also need to install [Git for Windows](https://gitforwindows.org/))
|
|
159
156
|
1. Install [NodeJS](https://nodejs.org/en) (latest LTS version is recommended)
|
|
160
|
-
2.
|
|
161
|
-
3.
|
|
162
|
-
4.
|
|
163
|
-
|
|
157
|
+
2. Install [GitHub Desktop](https://central.github.com/deployments/desktop/desktop/latest/win32)
|
|
158
|
+
3. After installing GitHub Desktop, click on `Clone a repository from the internet....` (Note: You **do NOT need** to create a GitHub account for this step)
|
|
159
|
+
4. On the menu, click the URL tab, enter this URL `https://github.com/SillyTavern/SillyTavern`, and click Clone. You can change the Local path to change where SillyTavern is going to be downloaded.
|
|
160
|
+
6. To open SillyTavern, use Windows Explorer to browse into the folder where you cloned the repository. By default, the repository will be cloned here: `C:\Users\[Your Windows Username]\Documents\GitHub\SillyTavern`
|
|
161
|
+
7. Double-click on the `start.bat` file. (Note: the `.bat` part of the file name might be hidden by your OS, in that case, it will look like a file called "`Start`". This is what you double-click to run SillyTavern)
|
|
162
|
+
8. After double-clicking, a large black command console window should open and SillyTavern will begin to install what it needs to operate.
|
|
163
|
+
9. After the installation process, if everything is working, the command console window should look like this and a SillyTavern tab should be open in your browser:
|
|
164
|
+
10. Connect to any of the [supported APIs](https://docs.sillytavern.app/usage/api-connections/) and start chatting!
|
|
165
|
+
|
|
166
|
+
## 🐧 Linux & 🍎 MacOS
|
|
167
|
+
|
|
168
|
+
For MacOS / Linux all of these will be done in a Terminal.
|
|
169
|
+
|
|
170
|
+
1. Install git and nodeJS (the method for doing this will vary depending on your OS)
|
|
171
|
+
2. Clone the repo
|
|
164
172
|
|
|
165
|
-
|
|
173
|
+
- for Release Branch: `git clone https://github.com/SillyTavern/SillyTavern -b release`
|
|
174
|
+
- for Staging Branch: `git clone https://github.com/SillyTavern/SillyTavern -b staging`
|
|
166
175
|
|
|
167
|
-
|
|
176
|
+
3. `cd SillyTavern` to navigate into the install folder.
|
|
177
|
+
4. Run the `start.sh` script with one of these commands:
|
|
168
178
|
|
|
169
|
-
|
|
170
|
-
|
|
179
|
+
- `./start.sh`
|
|
180
|
+
- `bash start.sh`
|
|
171
181
|
|
|
172
|
-
|
|
173
|
-
2. Ensure you have Node.js v18 or higher installed by running `node -v`. If you need to upgrade, you can install a [node.js repo](https://mpr.makedeb.org/packages/nodejs-repo) (you'll might need to edit the version inside the PKGBUILD). As an alternative, install and configure [nvm](https://mpr.makedeb.org/packages/nvm) to manage multiple node.js installations. Finally, you can [install node.js manually](https://nodejs.org/en/download), but you will need to update the PATH variable of your environment.
|
|
174
|
-
3. Now build the [sillytavern package](https://mpr.makedeb.org/packages/sillytavern). The build needs to run with the correct node.js version.
|
|
182
|
+
## Installing via SillyTavern Launcher
|
|
175
183
|
|
|
176
|
-
|
|
184
|
+
### For Linux users
|
|
185
|
+
1. Open your favorite terminal and install git
|
|
186
|
+
2. Download Sillytavern Launcher with: `git clone https://github.com/SillyTavern/SillyTavern-Launcher.git`
|
|
187
|
+
3. Navigate to the SillyTavern-Launcher with: `cd SillyTavern-Launcher`
|
|
188
|
+
4. Start the install launcher with: `chmod +x install.sh && ./install.sh` and choose what you wanna install
|
|
189
|
+
5. After installation start the launcher with: `chmod +x launcher.sh && ./launcher.sh`
|
|
190
|
+
|
|
191
|
+
### For Mac users
|
|
192
|
+
1. Open a terminal and install brew with: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
|
|
193
|
+
2. Then install git with: `brew install git`
|
|
194
|
+
3. Download Sillytavern Launcher with: `git clone https://github.com/SillyTavern/SillyTavern-Launcher.git`
|
|
195
|
+
4. Navigate to the SillyTavern-Launcher with: `cd SillyTavern-Launcher`
|
|
196
|
+
5. Start the install launcher with: `chmod +x install.sh && ./install.sh` and choose what you wanna install
|
|
197
|
+
6. After installation start the launcher with: `chmod +x launcher.sh && ./launcher.sh`
|
|
198
|
+
|
|
199
|
+
## 📱 Mobile - Installing via termux
|
|
200
|
+
|
|
201
|
+
> \[!NOTE]
|
|
202
|
+
> **SillyTavern can be run natively on Android phones using Termux. Please refer to this guide by ArroganceComplex#2659:**
|
|
203
|
+
> * <https://rentry.org/STAI-Termux>
|
|
177
204
|
|
|
178
|
-
1. Ensure you have Node.js v18 or higher (the latest [LTS version](https://nodejs.org/en/download/) is recommended) installed by running `node -v`.
|
|
179
|
-
Alternatively, use the [Node Version Manager](https://github.com/nvm-sh/nvm#installing-and-updating) script to quickly and easily manage your Node installations.
|
|
180
|
-
2. Run the `start.sh` script.
|
|
181
|
-
3. Enjoy.
|
|
182
205
|
|
|
183
206
|
## API keys management
|
|
184
207
|
|
|
@@ -222,7 +245,7 @@ or
|
|
|
222
245
|
CIDR masks are also accepted (eg. 10.0.0.0/24).
|
|
223
246
|
|
|
224
247
|
* Save the `whitelist.txt` file.
|
|
225
|
-
* Restart your
|
|
248
|
+
* Restart your ST server.
|
|
226
249
|
|
|
227
250
|
Now devices which have the IP specified in the file will be able to connect.
|
|
228
251
|
|
|
@@ -293,10 +316,7 @@ You can find them archived here:
|
|
|
293
316
|
|
|
294
317
|
<https://files.catbox.moe/1xevnc.zip>
|
|
295
318
|
|
|
296
|
-
## Screenshots
|
|
297
319
|
|
|
298
|
-
<img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/e902c7a2-45a6-4415-97aa-c59c597669c1">
|
|
299
|
-
<img width="400" alt="image" src="https://github.com/SillyTavern/SillyTavern/assets/61471128/f8a79c47-4fe9-4564-9e4a-bf247ed1c961">
|
|
300
320
|
|
|
301
321
|
|
|
302
322
|
## License and credits
|
|
@@ -327,3 +347,10 @@ GNU Affero General Public License for more details.**
|
|
|
327
347
|
* Korean translation by @doloroushyeonse
|
|
328
348
|
* k_euler_a support for Horde by <https://github.com/Teashrock>
|
|
329
349
|
* Chinese translation by [@XXpE3](https://github.com/XXpE3), 中文 ISSUES 可以联系 @XXpE3
|
|
350
|
+
|
|
351
|
+
<!-- LINK GROUP -->
|
|
352
|
+
[back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square
|
|
353
|
+
[cover]: https://github.com/SillyTavern/SillyTavern/assets/18619528/c2be4c3f-aada-4f64-87a3-ae35a68b61a4
|
|
354
|
+
[discord-link]: https://discord.gg/sillytavern
|
|
355
|
+
[discord-shield]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
|
|
356
|
+
[discord-shield-badge]: https://img.shields.io/discord/1100685673633153084?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge
|
|
@@ -1,45 +1,78 @@
|
|
|
1
1
|
# This workflow will publish a docker image for every full release to the GitHub package repository
|
|
2
2
|
|
|
3
|
-
name: Create Docker Image
|
|
3
|
+
name: Create Docker Image (Release and Staging)
|
|
4
4
|
|
|
5
5
|
on:
|
|
6
6
|
release:
|
|
7
7
|
# Allow pre-releases
|
|
8
8
|
types: [published]
|
|
9
|
+
schedule:
|
|
10
|
+
# Build the staging image everyday at 00:00 UTC
|
|
11
|
+
- cron: "0 0 * * *"
|
|
9
12
|
|
|
10
13
|
env:
|
|
11
14
|
# This should allow creation of docker images even in forked repositories
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
image_name: ghcr.io/sillytavern/sillytavern
|
|
15
|
+
IMAGE_NAME: ${{ github.repository }}
|
|
16
|
+
REGISTRY: ghcr.io
|
|
15
17
|
|
|
16
18
|
jobs:
|
|
17
|
-
|
|
18
19
|
build:
|
|
19
|
-
|
|
20
20
|
runs-on: ubuntu-latest
|
|
21
21
|
|
|
22
22
|
steps:
|
|
23
|
-
|
|
23
|
+
# Using the following workaround because currently GitHub Actions
|
|
24
|
+
# does not support logical AND/OR operations on triggers
|
|
25
|
+
# It's currently not possible to have `branches` under the `schedule` trigger
|
|
26
|
+
- name: Checkout the release branch
|
|
27
|
+
if: ${{ github.event_name == 'release' }}
|
|
24
28
|
uses: actions/checkout@v3
|
|
29
|
+
with:
|
|
30
|
+
ref: "release"
|
|
25
31
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
- name: Checkout the staging branch
|
|
33
|
+
if: ${{ github.event_name == 'schedule' }}
|
|
34
|
+
uses: actions/checkout@v3
|
|
35
|
+
with:
|
|
36
|
+
ref: "staging"
|
|
37
|
+
|
|
38
|
+
# Setting up QEMU for multi-arch image build
|
|
39
|
+
- name: Set up QEMU
|
|
40
|
+
uses: docker/setup-qemu-action@v3
|
|
41
|
+
|
|
42
|
+
- name: Set up Docker Buildx
|
|
43
|
+
uses: docker/setup-buildx-action@v3
|
|
44
|
+
|
|
45
|
+
- name: Extract metadata (tags, labels) for the image
|
|
46
|
+
uses: docker/metadata-action@v5.5.1
|
|
47
|
+
id: metadata
|
|
48
|
+
with:
|
|
49
|
+
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
|
50
|
+
tags: ${{ github.ref_name }}
|
|
31
51
|
|
|
32
52
|
# Login into package repository as the person who created the release
|
|
33
|
-
- name:
|
|
34
|
-
uses: docker/login-action@
|
|
53
|
+
- name: Log in to the Container registry
|
|
54
|
+
uses: docker/login-action@v3
|
|
35
55
|
with:
|
|
36
|
-
registry:
|
|
56
|
+
registry: ${{ env.REGISTRY }}
|
|
37
57
|
username: ${{ github.actor }}
|
|
38
58
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
39
59
|
|
|
40
|
-
#
|
|
41
|
-
|
|
60
|
+
# Build docker image using dockerfile for amd64 and arm64
|
|
61
|
+
# Tag it with branch name
|
|
62
|
+
# Assumes branch name is the version number
|
|
63
|
+
- name: Build and push
|
|
64
|
+
uses: docker/build-push-action@v5.3.0
|
|
65
|
+
with:
|
|
66
|
+
context: .
|
|
67
|
+
platforms: linux/amd64,linux/arm64
|
|
68
|
+
file: Dockerfile
|
|
69
|
+
push: true
|
|
70
|
+
tags: ${{ steps.metadata.outputs.tags }}
|
|
71
|
+
labels: ${{ steps.metadata.outputs.labels }}
|
|
72
|
+
|
|
73
|
+
# If the workflow is triggered by a release, marks and push the image as such
|
|
74
|
+
- name: Docker tag latest and push
|
|
75
|
+
if: ${{ github.event_name == 'release' }}
|
|
42
76
|
run: |
|
|
43
|
-
docker tag $
|
|
44
|
-
docker push $
|
|
45
|
-
docker push $image_name:latest
|
|
77
|
+
docker tag $IMAGE_NAME:${{ github.ref_name }} $IMAGE_NAME:latest
|
|
78
|
+
docker push $IMAGE_NAME:latest
|
|
@@ -0,0 +1,19 @@
|
|
|
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 }}
|
package/Start.bat
CHANGED
package/Update-Instructions.txt
CHANGED
|
@@ -22,6 +22,9 @@ You can also try running the 'UpdateAndStart.bat' file, which will almost do the
|
|
|
22
22
|
Alternatively, if the command prompt gives you problems (and you have GitHub Desktop installed), you can use the 'Repository' menu and select 'Pull'.
|
|
23
23
|
The updates are applied automatically and safely.
|
|
24
24
|
|
|
25
|
+
If you are a developer and use a fork of ST or switch branches regularly, you can use the 'UpdateForkAndStart.bat', which works similarly to 'UpdateAndStart.bat',
|
|
26
|
+
but automatically pulls changes into your fork and handles switched branches gracefully by asking if you want to switch back.
|
|
27
|
+
|
|
25
28
|
Method 2 - ZIP
|
|
26
29
|
|
|
27
30
|
If you insist on installing via a zip, here is the tedious process for doing the update:
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
@echo off
|
|
2
|
+
@setlocal enabledelayedexpansion
|
|
3
|
+
pushd %~dp0
|
|
4
|
+
|
|
5
|
+
echo Checking Git installation
|
|
6
|
+
git --version > nul 2>&1
|
|
7
|
+
if %errorlevel% neq 0 (
|
|
8
|
+
echo Git is not installed on this system. Skipping update.
|
|
9
|
+
echo If you installed with a zip file, you will need to download the new zip and install it manually.
|
|
10
|
+
goto end
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
REM Checking current branch
|
|
14
|
+
FOR /F "tokens=*" %%i IN ('git rev-parse --abbrev-ref HEAD') DO SET CURRENT_BRANCH=%%i
|
|
15
|
+
echo Current branch: %CURRENT_BRANCH%
|
|
16
|
+
|
|
17
|
+
REM Checking for automatic branch switching configuration
|
|
18
|
+
set AUTO_SWITCH=
|
|
19
|
+
FOR /F "tokens=*" %%j IN ('git config --local script.autoSwitch') DO SET AUTO_SWITCH=%%j
|
|
20
|
+
|
|
21
|
+
SET TARGET_BRANCH=%CURRENT_BRANCH%
|
|
22
|
+
|
|
23
|
+
if NOT "!AUTO_SWITCH!"=="" (
|
|
24
|
+
if "!AUTO_SWITCH!"=="s" (
|
|
25
|
+
goto autoswitch-staging
|
|
26
|
+
)
|
|
27
|
+
if "!AUTO_SWITCH!"=="r" (
|
|
28
|
+
goto autoswitch-release
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
if "!AUTO_SWITCH!"=="staging" (
|
|
32
|
+
:autoswitch-staging
|
|
33
|
+
echo Auto-switching to staging branch
|
|
34
|
+
git checkout staging
|
|
35
|
+
SET TARGET_BRANCH=staging
|
|
36
|
+
goto update
|
|
37
|
+
)
|
|
38
|
+
if "!AUTO_SWITCH!"=="release" (
|
|
39
|
+
:autoswitch-release
|
|
40
|
+
echo Auto-switching to release branch
|
|
41
|
+
git checkout release
|
|
42
|
+
SET TARGET_BRANCH=release
|
|
43
|
+
goto update
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
echo Auto-switching defined to stay on current branch
|
|
47
|
+
goto update
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
if "!CURRENT_BRANCH!"=="staging" (
|
|
51
|
+
echo Staying on the current branch
|
|
52
|
+
goto update
|
|
53
|
+
)
|
|
54
|
+
if "!CURRENT_BRANCH!"=="release" (
|
|
55
|
+
echo Staying on the current branch
|
|
56
|
+
goto update
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
echo You are not on 'staging' or 'release'. You are on '!CURRENT_BRANCH!'.
|
|
60
|
+
set /p "CHOICE=Do you want to switch to 'staging' (s), 'release' (r), or stay (any other key)? "
|
|
61
|
+
if /i "!CHOICE!"=="s" (
|
|
62
|
+
echo Switching to staging branch
|
|
63
|
+
git checkout staging
|
|
64
|
+
SET TARGET_BRANCH=staging
|
|
65
|
+
goto update
|
|
66
|
+
)
|
|
67
|
+
if /i "!CHOICE!"=="r" (
|
|
68
|
+
echo Switching to release branch
|
|
69
|
+
git checkout release
|
|
70
|
+
SET TARGET_BRANCH=release
|
|
71
|
+
goto update
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
echo Staying on the current branch
|
|
75
|
+
|
|
76
|
+
:update
|
|
77
|
+
REM Checking for 'upstream' remote
|
|
78
|
+
git remote | findstr "upstream" > nul
|
|
79
|
+
if %errorlevel% equ 0 (
|
|
80
|
+
echo Updating and rebasing against 'upstream'
|
|
81
|
+
git fetch upstream
|
|
82
|
+
git rebase upstream/%TARGET_BRANCH% --autostash
|
|
83
|
+
goto install
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
echo Updating and rebasing against 'origin'
|
|
87
|
+
git pull --rebase --autostash origin %TARGET_BRANCH%
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
:install
|
|
91
|
+
if %errorlevel% neq 0 (
|
|
92
|
+
echo There were errors while updating. Please check manually.
|
|
93
|
+
goto end
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
echo Installing npm packages and starting server
|
|
97
|
+
set NODE_ENV=production
|
|
98
|
+
call npm install --no-audit --no-fund --quiet --omit=dev
|
|
99
|
+
node server.js %*
|
|
100
|
+
|
|
101
|
+
:end
|
|
102
|
+
pause
|
|
103
|
+
popd
|