sillytavern 1.4.1

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.
Files changed (259) hide show
  1. package/.dockerignore +4 -0
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +35 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  4. package/.github/workflows/npm-publish.yml +32 -0
  5. package/Dockerfile +49 -0
  6. package/Start.bat +3 -0
  7. package/colab/GPU.ipynb +339 -0
  8. package/colab/extras_server.py +40 -0
  9. package/colab/globals.py +2 -0
  10. package/colab/models.py +77 -0
  11. package/docker/docker-compose.yml +12 -0
  12. package/docker/docker-entrypoint.sh +28 -0
  13. package/faq.md +208 -0
  14. package/package.json +49 -0
  15. package/poe-client.js +638 -0
  16. package/poe-test.js +21 -0
  17. package/poe_graphql/AddHumanMessageMutation.graphql +52 -0
  18. package/poe_graphql/AddMessageBreakMutation.graphql +17 -0
  19. package/poe_graphql/AutoSubscriptionMutation.graphql +7 -0
  20. package/poe_graphql/BioFragment.graphql +8 -0
  21. package/poe_graphql/ChatAddedSubscription.graphql +5 -0
  22. package/poe_graphql/ChatFragment.graphql +6 -0
  23. package/poe_graphql/ChatListPaginationQuery.graphql +316 -0
  24. package/poe_graphql/ChatPaginationQuery.graphql +26 -0
  25. package/poe_graphql/ChatViewQuery.graphql +8 -0
  26. package/poe_graphql/DeleteHumanMessagesMutation.graphql +7 -0
  27. package/poe_graphql/DeleteMessageMutation.graphql +7 -0
  28. package/poe_graphql/HandleFragment.graphql +8 -0
  29. package/poe_graphql/LoginWithVerificationCodeMutation.graphql +13 -0
  30. package/poe_graphql/MessageAddedSubscription.graphql +115 -0
  31. package/poe_graphql/MessageDeletedSubscription.graphql +8 -0
  32. package/poe_graphql/MessageFragment.graphql +13 -0
  33. package/poe_graphql/MessageRemoveVoteMutation.graphql +7 -0
  34. package/poe_graphql/MessageSetVoteMutation.graphql +7 -0
  35. package/poe_graphql/SendVerificationCodeForLoginMutation.graphql +12 -0
  36. package/poe_graphql/ShareMessagesMutation.graphql +9 -0
  37. package/poe_graphql/SignupWithVerificationCodeMutation.graphql +13 -0
  38. package/poe_graphql/StaleChatUpdateMutation.graphql +7 -0
  39. package/poe_graphql/SubscriptionsMutation.graphql +9 -0
  40. package/poe_graphql/SummarizePlainPostQuery.graphql +3 -0
  41. package/poe_graphql/SummarizeQuotePostQuery.graphql +3 -0
  42. package/poe_graphql/SummarizeSharePostQuery.graphql +3 -0
  43. package/poe_graphql/UserSnippetFragment.graphql +14 -0
  44. package/poe_graphql/ViewerInfoQuery.graphql +21 -0
  45. package/poe_graphql/ViewerMessageLimitUpdatedSubscription.graphql +81 -0
  46. package/poe_graphql/ViewerStateFragment.graphql +30 -0
  47. package/poe_graphql/ViewerStateUpdatedSubscription.graphql +63 -0
  48. package/public/KoboldAI Settings/Ace of Spades 13B.settings +22 -0
  49. package/public/KoboldAI Settings/Adventurer-NeoX-20B-Erebus.settings +54 -0
  50. package/public/KoboldAI Settings/Basic Coherence 13B.settings +22 -0
  51. package/public/KoboldAI Settings/Best Guess 6B.settings +22 -0
  52. package/public/KoboldAI Settings/Calibrated-Pygmalion-6b.settings +47 -0
  53. package/public/KoboldAI Settings/Classic-Pygmalion-2.7b.settings +46 -0
  54. package/public/KoboldAI Settings/Classic-Pygmalion-6b.settings +47 -0
  55. package/public/KoboldAI Settings/Coherent Creativity 6B.settings +22 -0
  56. package/public/KoboldAI Settings/Default-TavernAI.settings +22 -0
  57. package/public/KoboldAI Settings/DragonSlayer-Pygmalion-6b.settings +47 -0
  58. package/public/KoboldAI Settings/GPU-Pygmalion-6b.settings +47 -0
  59. package/public/KoboldAI Settings/Genesis 13B.settings +22 -0
  60. package/public/KoboldAI Settings/Godlike.settings +22 -0
  61. package/public/KoboldAI Settings/Good Winds.settings +22 -0
  62. package/public/KoboldAI Settings/Lancer-OPT-2.7B-Erebus.settings +54 -0
  63. package/public/KoboldAI Settings/Liminal Drift.settings +22 -0
  64. package/public/KoboldAI Settings/Low Rider 13B.settings +22 -0
  65. package/public/KoboldAI Settings/Luna Moth 6B.settings +22 -0
  66. package/public/KoboldAI Settings/Mayday.settings +22 -0
  67. package/public/KoboldAI Settings/Ouroboros.settings +22 -0
  68. package/public/KoboldAI Settings/Pleasing Results 6B.settings +22 -0
  69. package/public/KoboldAI Settings/Pro Writer 13B.settings +22 -0
  70. package/public/KoboldAI Settings/RA - Pygmalion-1.3b.settings +46 -0
  71. package/public/KoboldAI Settings/Storywriter 6B.settings +22 -0
  72. package/public/NovelAI Settings/Classic-Euterpe.settings +14 -0
  73. package/public/NovelAI Settings/Classic-Krake.settings +14 -0
  74. package/public/OpenAI Settings/Default.settings +15 -0
  75. package/public/TextGen Settings/Beam Search.settings +15 -0
  76. package/public/TextGen Settings/Contrastive Search.settings +15 -0
  77. package/public/TextGen Settings/Default.settings +15 -0
  78. package/public/TextGen Settings/Deterministic.settings +15 -0
  79. package/public/TextGen Settings/Kobold (Godlike).settings +15 -0
  80. package/public/TextGen Settings/Kobold (Liminal Drift).settings +15 -0
  81. package/public/TextGen Settings/Naive.settings +15 -0
  82. package/public/TextGen Settings/NovelAI (Best Guess).settings +15 -0
  83. package/public/TextGen Settings/NovelAI (Decadence).settings +15 -0
  84. package/public/TextGen Settings/NovelAI (Genesis).settings +15 -0
  85. package/public/TextGen Settings/NovelAI (Lycaenidae).settings +15 -0
  86. package/public/TextGen Settings/NovelAI (Ouroboros).settings +15 -0
  87. package/public/TextGen Settings/NovelAI (Pleasing Results).settings +15 -0
  88. package/public/TextGen Settings/NovelAI (Sphinx Moth).settings +15 -0
  89. package/public/TextGen Settings/NovelAI (Storywriter).settings +15 -0
  90. package/public/TextGen Settings/Pygmalion.settings +15 -0
  91. package/public/css/fontawesome.css +8488 -0
  92. package/public/css/notes.css +46 -0
  93. package/public/css/solid.css +24 -0
  94. package/public/favicon.ico +0 -0
  95. package/public/img/No-Image-Placeholder.svg +309 -0
  96. package/public/img/addbg3.png +0 -0
  97. package/public/img/ai4.png +0 -0
  98. package/public/img/apple-icon-114x114.png +0 -0
  99. package/public/img/apple-icon-144x144.png +0 -0
  100. package/public/img/apple-icon-57x57.png +0 -0
  101. package/public/img/apple-icon-72x72.png +0 -0
  102. package/public/img/book2.png +0 -0
  103. package/public/img/default-expressions/admiration.png +0 -0
  104. package/public/img/default-expressions/amusement.png +0 -0
  105. package/public/img/default-expressions/anger.png +0 -0
  106. package/public/img/default-expressions/annoyance.png +0 -0
  107. package/public/img/default-expressions/approval.png +0 -0
  108. package/public/img/default-expressions/caring.png +0 -0
  109. package/public/img/default-expressions/confusion.png +0 -0
  110. package/public/img/default-expressions/curiosity.png +0 -0
  111. package/public/img/default-expressions/desire.png +0 -0
  112. package/public/img/default-expressions/desire1.png +0 -0
  113. package/public/img/default-expressions/desire2.png +0 -0
  114. package/public/img/default-expressions/disappointment.png +0 -0
  115. package/public/img/default-expressions/disapproval.png +0 -0
  116. package/public/img/default-expressions/disgust.png +0 -0
  117. package/public/img/default-expressions/embarrassment.png +0 -0
  118. package/public/img/default-expressions/excitement.png +0 -0
  119. package/public/img/default-expressions/fear.png +0 -0
  120. package/public/img/default-expressions/gratitude.png +0 -0
  121. package/public/img/default-expressions/grief.png +0 -0
  122. package/public/img/default-expressions/joy.png +0 -0
  123. package/public/img/default-expressions/love.png +0 -0
  124. package/public/img/default-expressions/nervousness.png +0 -0
  125. package/public/img/default-expressions/neutral.png +0 -0
  126. package/public/img/default-expressions/optimism.png +0 -0
  127. package/public/img/default-expressions/pride.png +0 -0
  128. package/public/img/default-expressions/realization.png +0 -0
  129. package/public/img/default-expressions/relief.png +0 -0
  130. package/public/img/default-expressions/remorse.png +0 -0
  131. package/public/img/default-expressions/sadness.png +0 -0
  132. package/public/img/default-expressions/surprise.png +0 -0
  133. package/public/img/five.png +0 -0
  134. package/public/img/times-circle.svg +1 -0
  135. package/public/img/you.png +0 -0
  136. package/public/index.html +1899 -0
  137. package/public/notes/1.html +44 -0
  138. package/public/notes/1.png +0 -0
  139. package/public/notes/10.html +20 -0
  140. package/public/notes/11.html +33 -0
  141. package/public/notes/12.html +27 -0
  142. package/public/notes/13.html +29 -0
  143. package/public/notes/13_1.html +24 -0
  144. package/public/notes/13_2.html +25 -0
  145. package/public/notes/13_3.html +89 -0
  146. package/public/notes/14.html +30 -0
  147. package/public/notes/2.html +37 -0
  148. package/public/notes/2.png +0 -0
  149. package/public/notes/3.html +37 -0
  150. package/public/notes/4.html +105 -0
  151. package/public/notes/6.html +33 -0
  152. package/public/notes/7.html +40 -0
  153. package/public/notes/8.html +19 -0
  154. package/public/notes/9.html +46 -0
  155. package/public/notes/advanced_formatting.html +91 -0
  156. package/public/notes/group_reply_strategy.html +63 -0
  157. package/public/notes/message_sound.html +33 -0
  158. package/public/notes/multigen.html +36 -0
  159. package/public/notes/oai_api_key.html +37 -0
  160. package/public/notes/textgen_streaming.html +29 -0
  161. package/public/notes/token-limits.html +68 -0
  162. package/public/script.js +5131 -0
  163. package/public/scripts/RossAscends-mods.js +750 -0
  164. package/public/scripts/bookmarks.js +130 -0
  165. package/public/scripts/extensions/backgrounds/index.js +129 -0
  166. package/public/scripts/extensions/backgrounds/manifest.json +11 -0
  167. package/public/scripts/extensions/backgrounds/style.css +45 -0
  168. package/public/scripts/extensions/caption/index.js +117 -0
  169. package/public/scripts/extensions/caption/manifest.json +13 -0
  170. package/public/scripts/extensions/caption/style.css +23 -0
  171. package/public/scripts/extensions/dice/droll.js +108 -0
  172. package/public/scripts/extensions/dice/index.js +96 -0
  173. package/public/scripts/extensions/dice/manifest.json +11 -0
  174. package/public/scripts/extensions/dice/style.css +26 -0
  175. package/public/scripts/extensions/expressions/index.js +387 -0
  176. package/public/scripts/extensions/expressions/manifest.json +13 -0
  177. package/public/scripts/extensions/expressions/style.css +115 -0
  178. package/public/scripts/extensions/floating-prompt/index.js +151 -0
  179. package/public/scripts/extensions/floating-prompt/manifest.json +11 -0
  180. package/public/scripts/extensions/floating-prompt/style.css +19 -0
  181. package/public/scripts/extensions/memory/index.js +358 -0
  182. package/public/scripts/extensions/memory/manifest.json +13 -0
  183. package/public/scripts/extensions/memory/style.css +34 -0
  184. package/public/scripts/extensions.js +288 -0
  185. package/public/scripts/f-localStorage.js +27 -0
  186. package/public/scripts/gpt-2-3-tokenizer/README.md +28 -0
  187. package/public/scripts/gpt-2-3-tokenizer/encoder.js +1 -0
  188. package/public/scripts/gpt-2-3-tokenizer/mod.js +169 -0
  189. package/public/scripts/gpt-2-3-tokenizer/vocab.bpe.js +1 -0
  190. package/public/scripts/gpt-3-tokenizer/array-keyed-map.js +210 -0
  191. package/public/scripts/gpt-3-tokenizer/gpt3-tokenizer.js +271 -0
  192. package/public/scripts/gpt-3-tokenizer/gpt3-tokenizer.js.map +1 -0
  193. package/public/scripts/group-chats.js +899 -0
  194. package/public/scripts/horde.js +214 -0
  195. package/public/scripts/jquery-3.5.1.min.js +2 -0
  196. package/public/scripts/jquery-cookie-1.4.1.min.js +2 -0
  197. package/public/scripts/jquery.transit.min.js +1 -0
  198. package/public/scripts/kai-settings.js +179 -0
  199. package/public/scripts/nai-settings.js +108 -0
  200. package/public/scripts/openai.js +973 -0
  201. package/public/scripts/poe.js +360 -0
  202. package/public/scripts/popper.js +2008 -0
  203. package/public/scripts/popper.js.map +1 -0
  204. package/public/scripts/power-user.js +571 -0
  205. package/public/scripts/purify.min.js +3 -0
  206. package/public/scripts/purify.min.js.map +1 -0
  207. package/public/scripts/showdown.min.js +3 -0
  208. package/public/scripts/showdown.min.js.map +1 -0
  209. package/public/scripts/swiped-events.js +165 -0
  210. package/public/scripts/textgen-settings.js +194 -0
  211. package/public/scripts/toolcool-color-picker.js +87 -0
  212. package/public/scripts/utils.js +109 -0
  213. package/public/scripts/world-info.js +661 -0
  214. package/public/sounds/message.mp3 +0 -0
  215. package/public/style.css +3633 -0
  216. package/public/webfonts/NotoSans/NotoSans-Black.woff +0 -0
  217. package/public/webfonts/NotoSans/NotoSans-Black.woff2 +0 -0
  218. package/public/webfonts/NotoSans/NotoSans-BlackItalic.woff +0 -0
  219. package/public/webfonts/NotoSans/NotoSans-BlackItalic.woff2 +0 -0
  220. package/public/webfonts/NotoSans/NotoSans-Bold.woff +0 -0
  221. package/public/webfonts/NotoSans/NotoSans-Bold.woff2 +0 -0
  222. package/public/webfonts/NotoSans/NotoSans-BoldItalic.woff +0 -0
  223. package/public/webfonts/NotoSans/NotoSans-BoldItalic.woff2 +0 -0
  224. package/public/webfonts/NotoSans/NotoSans-ExtraBold.woff +0 -0
  225. package/public/webfonts/NotoSans/NotoSans-ExtraBold.woff2 +0 -0
  226. package/public/webfonts/NotoSans/NotoSans-ExtraBoldItalic.woff +0 -0
  227. package/public/webfonts/NotoSans/NotoSans-ExtraBoldItalic.woff2 +0 -0
  228. package/public/webfonts/NotoSans/NotoSans-ExtraLight.woff +0 -0
  229. package/public/webfonts/NotoSans/NotoSans-ExtraLight.woff2 +0 -0
  230. package/public/webfonts/NotoSans/NotoSans-ExtraLightItalic.woff +0 -0
  231. package/public/webfonts/NotoSans/NotoSans-ExtraLightItalic.woff2 +0 -0
  232. package/public/webfonts/NotoSans/NotoSans-Italic.woff +0 -0
  233. package/public/webfonts/NotoSans/NotoSans-Italic.woff2 +0 -0
  234. package/public/webfonts/NotoSans/NotoSans-Light.woff +0 -0
  235. package/public/webfonts/NotoSans/NotoSans-Light.woff2 +0 -0
  236. package/public/webfonts/NotoSans/NotoSans-LightItalic.woff +0 -0
  237. package/public/webfonts/NotoSans/NotoSans-LightItalic.woff2 +0 -0
  238. package/public/webfonts/NotoSans/NotoSans-Medium.woff +0 -0
  239. package/public/webfonts/NotoSans/NotoSans-Medium.woff2 +0 -0
  240. package/public/webfonts/NotoSans/NotoSans-MediumItalic.woff +0 -0
  241. package/public/webfonts/NotoSans/NotoSans-MediumItalic.woff2 +0 -0
  242. package/public/webfonts/NotoSans/NotoSans-Regular.woff +0 -0
  243. package/public/webfonts/NotoSans/NotoSans-Regular.woff2 +0 -0
  244. package/public/webfonts/NotoSans/NotoSans-SemiBold.woff +0 -0
  245. package/public/webfonts/NotoSans/NotoSans-SemiBold.woff2 +0 -0
  246. package/public/webfonts/NotoSans/NotoSans-SemiBoldItalic.woff +0 -0
  247. package/public/webfonts/NotoSans/NotoSans-SemiBoldItalic.woff2 +0 -0
  248. package/public/webfonts/NotoSans/NotoSans-Thin.woff +0 -0
  249. package/public/webfonts/NotoSans/NotoSans-Thin.woff2 +0 -0
  250. package/public/webfonts/NotoSans/NotoSans-ThinItalic.woff +0 -0
  251. package/public/webfonts/NotoSans/NotoSans-ThinItalic.woff2 +0 -0
  252. package/public/webfonts/NotoSans/stylesheet.css +162 -0
  253. package/public/webfonts/fa-solid-900.ttf +0 -0
  254. package/public/webfonts/fa-solid-900.woff2 +0 -0
  255. package/readme.md +187 -0
  256. package/server.js +2593 -0
  257. package/start.sh +24 -0
  258. package/tools/charaverter/main.mjs +110 -0
  259. package/tools/charaverter/package.json +10 -0
@@ -0,0 +1,162 @@
1
+ @font-face {
2
+ font-family: 'Noto Sans';
3
+ src: url('NotoSans-Black.woff2') format('woff2'),
4
+ url('NotoSans-Black.woff') format('woff');
5
+ font-weight: 900;
6
+ font-style: normal;
7
+ font-display: swap;
8
+ }
9
+
10
+ @font-face {
11
+ font-family: 'Noto Sans';
12
+ src: url('NotoSans-ExtraBoldItalic.woff2') format('woff2'),
13
+ url('NotoSans-ExtraBoldItalic.woff') format('woff');
14
+ font-weight: bold;
15
+ font-style: italic;
16
+ font-display: swap;
17
+ }
18
+
19
+ @font-face {
20
+ font-family: 'Noto Sans';
21
+ src: url('NotoSans-BlackItalic.woff2') format('woff2'),
22
+ url('NotoSans-BlackItalic.woff') format('woff');
23
+ font-weight: 900;
24
+ font-style: italic;
25
+ font-display: swap;
26
+ }
27
+
28
+ @font-face {
29
+ font-family: 'Noto Sans';
30
+ src: url('NotoSans-ExtraBold.woff2') format('woff2'),
31
+ url('NotoSans-ExtraBold.woff') format('woff');
32
+ font-weight: bold;
33
+ font-style: normal;
34
+ font-display: swap;
35
+ }
36
+
37
+ @font-face {
38
+ font-family: 'Noto Sans';
39
+ src: url('NotoSans-ThinItalic.woff2') format('woff2'),
40
+ url('NotoSans-ThinItalic.woff') format('woff');
41
+ font-weight: 100;
42
+ font-style: italic;
43
+ font-display: swap;
44
+ }
45
+
46
+ @font-face {
47
+ font-family: 'Noto Sans';
48
+ src: url('NotoSans-BoldItalic.woff2') format('woff2'),
49
+ url('NotoSans-BoldItalic.woff') format('woff');
50
+ font-weight: bold;
51
+ font-style: italic;
52
+ font-display: swap;
53
+ }
54
+
55
+ @font-face {
56
+ font-family: 'Noto Sans';
57
+ src: url('NotoSans-Bold.woff2') format('woff2'),
58
+ url('NotoSans-Bold.woff') format('woff');
59
+ font-weight: bold;
60
+ font-style: normal;
61
+ font-display: swap;
62
+ }
63
+
64
+ @font-face {
65
+ font-family: 'Noto Sans';
66
+ src: url('NotoSans-LightItalic.woff2') format('woff2'),
67
+ url('NotoSans-LightItalic.woff') format('woff');
68
+ font-weight: 300;
69
+ font-style: italic;
70
+ font-display: swap;
71
+ }
72
+
73
+ @font-face {
74
+ font-family: 'Noto Sans';
75
+ src: url('NotoSans-Italic.woff2') format('woff2'),
76
+ url('NotoSans-Italic.woff') format('woff');
77
+ font-weight: normal;
78
+ font-style: italic;
79
+ font-display: swap;
80
+ }
81
+
82
+ @font-face {
83
+ font-family: 'Noto Sans';
84
+ src: url('NotoSans-ExtraLightItalic.woff2') format('woff2'),
85
+ url('NotoSans-ExtraLightItalic.woff') format('woff');
86
+ font-weight: 200;
87
+ font-style: italic;
88
+ font-display: swap;
89
+ }
90
+
91
+ @font-face {
92
+ font-family: 'Noto Sans';
93
+ src: url('NotoSans-Light.woff2') format('woff2'),
94
+ url('NotoSans-Light.woff') format('woff');
95
+ font-weight: 300;
96
+ font-style: normal;
97
+ font-display: swap;
98
+ }
99
+
100
+ @font-face {
101
+ font-family: 'Noto Sans';
102
+ src: url('NotoSans-ExtraLight.woff2') format('woff2'),
103
+ url('NotoSans-ExtraLight.woff') format('woff');
104
+ font-weight: 200;
105
+ font-style: normal;
106
+ font-display: swap;
107
+ }
108
+
109
+ @font-face {
110
+ font-family: 'Noto Sans';
111
+ src: url('NotoSans-Medium.woff2') format('woff2'),
112
+ url('NotoSans-Medium.woff') format('woff');
113
+ font-weight: 500;
114
+ font-style: normal;
115
+ font-display: swap;
116
+ }
117
+
118
+ @font-face {
119
+ font-family: 'Noto Sans';
120
+ src: url('NotoSans-Regular.woff2') format('woff2'),
121
+ url('NotoSans-Regular.woff') format('woff');
122
+ font-weight: normal;
123
+ font-style: normal;
124
+ font-display: swap;
125
+ }
126
+
127
+ @font-face {
128
+ font-family: 'Noto Sans';
129
+ src: url('NotoSans-MediumItalic.woff2') format('woff2'),
130
+ url('NotoSans-MediumItalic.woff') format('woff');
131
+ font-weight: 500;
132
+ font-style: italic;
133
+ font-display: swap;
134
+ }
135
+
136
+ @font-face {
137
+ font-family: 'Noto Sans';
138
+ src: url('NotoSans-SemiBoldItalic.woff2') format('woff2'),
139
+ url('NotoSans-SemiBoldItalic.woff') format('woff');
140
+ font-weight: 600;
141
+ font-style: italic;
142
+ font-display: swap;
143
+ }
144
+
145
+ @font-face {
146
+ font-family: 'Noto Sans';
147
+ src: url('NotoSans-SemiBold.woff2') format('woff2'),
148
+ url('NotoSans-SemiBold.woff') format('woff');
149
+ font-weight: 600;
150
+ font-style: normal;
151
+ font-display: swap;
152
+ }
153
+
154
+ @font-face {
155
+ font-family: 'Noto Sans';
156
+ src: url('NotoSans-Thin.woff2') format('woff2'),
157
+ url('NotoSans-Thin.woff') format('woff');
158
+ font-weight: 100;
159
+ font-style: normal;
160
+ font-display: swap;
161
+ }
162
+
Binary file
package/readme.md ADDED
@@ -0,0 +1,187 @@
1
+ # SillyTavern
2
+ ## Based on a fork of TavernAI 1.2.8
3
+ ### Brought to you by Cohee and RossAscends
4
+
5
+ NOTE: We have added [a FAQ](faq.md) to answer most of your questions and help you get started.
6
+
7
+ ### What is SillyTavern or TavernAI?
8
+ Tavern is a user interface you can install on your computer (and Android phones) that allows you to interact with text generation AIs and chat/roleplay with characters you or the community create.
9
+
10
+ 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.
11
+
12
+ ### What do I need other than Tavern?
13
+ 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](faq.md).
14
+
15
+ ### Do I need a powerful PC to run Tavern?
16
+ Since Tavern 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.
17
+
18
+ ### I want to try self-hosted easily. Got a Google Colab?
19
+
20
+ Try on Colab (runs KoboldAI backend and TavernAI Extras server alongside): <a target="_blank" href="https://colab.research.google.com/github/Cohee1207/SillyTavern/blob/main/colab/GPU.ipynb">
21
+ <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
22
+ </a>
23
+
24
+ https://colab.research.google.com/github/Cohee1207/SillyTavern/blob/main/colab/GPU.ipynb
25
+
26
+ If that didn't work, try the legacy link:
27
+
28
+ https://colab.research.google.com/github/Cohee1207/TavernAI-extras/blob/main/colab/GPU.ipynb
29
+
30
+ ## Mobile support
31
+
32
+ > **This fork can be run natively on Android phones using Termux. Please refer to this guide by ArroganceComplex#2659:**
33
+
34
+ https://rentry.org/TAI_Termux
35
+
36
+ **.webp character cards import/export is not supported in Termux. Use either JSON or PNG formats instead.**
37
+
38
+ ## This version includes
39
+ * A heavily modified TavernAI 1.2.8 (more than 50% of code rewritten or optimized)
40
+ * Swipes
41
+ * Group chats: multi-bot rooms for characters to talk to you or each other
42
+ * Chat bookmarks / branching (duplicates the dialogue in its current state)
43
+ * Advanced KoboldAI / TextGen generation settings with a lot of community-made presets
44
+ * World Info support: create a rich lore or save tokens on your character card
45
+ * [Oobabooga's TextGen WebUI](https://github.com/oobabooga/text-generation-webui) API connection
46
+ * [AI Horde](https://horde.koboldai.net/) connection
47
+ * [Poe.com](https://poe.com) (ChatGPT / Claude) connection
48
+ * Soft prompts selector for KoboldAI
49
+ * Prompt generation formatting tweaking
50
+ * webp character card interoperability (PNG is still an internal format)
51
+ * Extensibility support via [SillyLossy's TAI-extras](https://github.com/Cohee1207/TavernAI-extras) plugins
52
+ * Author's Note / Character Bias
53
+ * Character emotional expressions
54
+ * Auto-Summary of the chat history
55
+ * Sending images to chat, and the AI interpreting the content.
56
+
57
+ ## UI Extensions 🚀
58
+ | Name | Description | Required <a href="https://github.com/Cohee1207/TavernAI-extras#modules" target="_blank">Extra Modules</a> | Screenshot |
59
+ | ---------------- | ---------------------------------| ---------------------------- | ---------- |
60
+ | Image Captioning | Send a cute picture to your bot!<br><br>Picture select option will appear beside the "Message send" button. | `caption` | <img src="https://user-images.githubusercontent.com/18619528/224161576-ddfc51cd-995e-44ec-bf2d-d2477d603f0c.png" style="max-width:200px" /> |
61
+ | Character Expressions | See your character reacting to your messages!<br><br>**You need to provide your own character images!**<br><br>1. Create a folder in TavernAI called `public/characters/<name>`, where `<name>` is the name of your character.<br>2. For the base emotion classification model, put six PNG files there with the following names: `joy.png`, `anger.png`, `fear.png`, `love.png`, `sadness.png`, `surprise.png`. Other models may provide other options.<br>3. Images only display in desktop mode. | `classify` | <img style="max-width:200px" alt="image" src="https://user-images.githubusercontent.com/18619528/223765089-34968217-6862-47e0-85da-7357370f8de6.png"> |
62
+ | Memory | Chatbot long-term memory simulation using automatic message context summarization. | `summarize` | <img style="max-width:200px" alt="image" src="https://user-images.githubusercontent.com/18619528/223766279-88a46481-1fa6-40c5-9724-6cdd6f587233.png"> |
63
+ | D&D Dice | A set of 7 classic D&D dice for all your dice rolling needs.<br><br>*I used to roll the dice.<br>Feel the fear in my enemies' eyes* | None | <img style="max-width:200px" alt="image" src="https://user-images.githubusercontent.com/18619528/226199925-a066c6fc-745e-4a2b-9203-1cbffa481b14.png"> |
64
+ | Author's Note | Built-in extension that allows you to append notes that will be added to the context and steer the story and character in a specific direction. Because it's sent after the character description, it has a lot of weight. Thanks Aliážµ#2222 for pitching the idea! | None | ![image](https://user-images.githubusercontent.com/128647114/230311637-d809cd9b-af66-4dd1-a310-7a27e847c011.png) |
65
+ | Character Backgrounds | Built-in extension to assign unique backgrounds to specific chats or groups. | None | <img style="max-width:200px" alt="image" src="https://user-images.githubusercontent.com/18619528/233494454-bfa7c9c7-4faa-4d97-9c69-628fd96edd92.png"> |
66
+
67
+ ## UI/CSS/Quality of Life tweaks by RossAscends
68
+
69
+ * Mobile-friendly page design
70
+ * HotKeys
71
+ * Ctrl+Up = Connect to API
72
+ * Ctrl+Left = view locally stored variables (in the browser console window)
73
+ * Ctrl+Enter = Regenerate the last AI response.
74
+
75
+ * User Name Changes and Character Deletion no longer force the page to refresh.
76
+
77
+ * Toggle option to automatically connect to API on page load.
78
+ * Toggle option to automatically load the most recently viewed character on page load.
79
+ * Better Token Counter - works on unsaved characters, and shows both permanent and temporary tokens.
80
+
81
+ * Better Past Chats View
82
+ * New Chat filenames are saved in a readable format of "(character) - (when it was created)"
83
+ * Chat preview increased from 40 characters to 300.
84
+ * Multiple options for characters list sorting (by name, creation date, chat sizes).
85
+
86
+ * Now, by default the settings panel will close when you click away from it.
87
+ * Clicking the Lock on the nav panel will hold the panel open, and this setting be remembered across sessions.
88
+ * Nav panel status of open or closed will also be saved across sessions.
89
+
90
+ * Mobile UI optimized for iOS, and supports saving a shortcut to the iOS home screen and opening in fullscreen mode.
91
+ * Customizable chat UI:
92
+ * Play a sound when a new message arrives
93
+ * Switch between round or rectangle avatar styles
94
+ * Have a wider chat window on the desktop
95
+ * Optional semi-transparent glass-like panels
96
+
97
+ ## Installation
98
+
99
+ *NOTE: This branch is intended for local install purposes, and has not been thoroughly tested on a colab or other cloud notebook service.*
100
+
101
+ ### Windows
102
+ 1. install [NodeJS](https://nodejs.org/en)
103
+ 2. download the zip from this GitHub repo
104
+ 3. unzip it into a folder of your choice
105
+ 4. run start.bat via double-clicking or in a command line.
106
+ 5. Once the server has prepared everything for you, it will open a tab in your browser.
107
+
108
+ ### Linux
109
+ 1. Run the `start.sh` script.
110
+ 2. Enjoy.
111
+
112
+ ## Remote connections
113
+
114
+ Most often this is for people who want to use SillyTavern on their mobile phones while at home.
115
+ If you want to enable other devices to connect to your TAI server, open 'config.conf' in a text editor, and change:
116
+
117
+ ```
118
+ const whitelistMode = true;
119
+ ```
120
+ to
121
+ ```
122
+ const whitelistMode = false;
123
+ ```
124
+ Save the file.
125
+ Restart your TAI server.
126
+
127
+ You will now be able to connect from other devices.
128
+
129
+ ### Managing whitelisted IPs
130
+
131
+ You can add or remove whitelisted IPs by editing the `whitelist` array in `config.conf`. You can also provide a `whitelist.txt` file in the same directory as `config.conf` with one IP address per line like:
132
+
133
+ ```txt
134
+ 192.168.0.1
135
+ 192.168.0.2
136
+ ```
137
+
138
+ The `whitelist` array in `config.conf` will be ignored if `whitelist.txt` exists.
139
+
140
+ ***Disclaimer: Anyone else who knows your IP address and TAI port number will be able to connect as well***
141
+
142
+ To connect over wifi you'll need your PC's local wifi IP address
143
+ - (For Windows: windows button > type 'cmd.exe' in the search bar> type 'ipconfig' in the console, hit Enter > "IPv4" listing)
144
+ if you want other people on the internet to connect, check [here](https://whatismyipaddress.com/) for 'IPv4'
145
+
146
+ ## Performance issues?
147
+
148
+ Try enabling the No Blur Effect (Fast UI) mode on the User settings panel.
149
+
150
+ ## I like your project! How do I contribute?
151
+
152
+ ### DO's
153
+
154
+ 1. Send pull requests
155
+ 2. Send feature suggestions and issue reports using established templates
156
+ 3. Read the readme file and built-in documentation before asking anything
157
+
158
+ ### DONT's
159
+
160
+ 1. Offer monetary donations
161
+ 2. Send bug reports without providing any context
162
+ 3. Ask the questions that were already answered numerous times
163
+
164
+ ## Questions or suggestions?
165
+ Contact us on:
166
+ * Discord: Cohee#1207 or RossAscends#1779
167
+ * Reddit: /u/RossAscends or /u/sillylossy
168
+
169
+ ## Screenshots
170
+ <img width="400" alt="image" src="https://user-images.githubusercontent.com/18619528/228649245-8061c60f-63dc-488e-9325-f151b7a3ec2d.png">
171
+ <img width="400" alt="image" src="https://user-images.githubusercontent.com/18619528/228649856-fbdeef05-d727-4d5a-be80-266cbbc6b811.png">
172
+
173
+ ## License and credits
174
+ * TAI Base by Humi: Unknown license
175
+ * Cohee's TAI mod: Public domain
176
+ * RossAscends' additions: Public domain
177
+ * Portions of CncAnon's TavernAITurbo mod: Unknown license
178
+ * Waifu mode inspired by the work of PepperTaco (https://github.com/peppertaco/Tavern/)
179
+ * Thanks Pygmalion University for being awesome testers and suggesting cool features!
180
+ * Thanks oobabooga for compiling presets for TextGen
181
+ * poe-api client adapted from https://github.com/ading2210/poe-api (GPL v3)
182
+ * GraphQL files for poe: https://github.com/muharamdani/poe (ISC License)
183
+ * KoboldAI Presets from KAI Lite: https://lite.koboldai.net/
184
+ * Noto Sans font by Google (OFL license)
185
+ * Icon theme by Font Awesome https://fontawesome.com (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
186
+ * Linux startup script by AlpinDale
187
+ * Thanks paniphons for providing a FAQ document