Compare commits

..

1951 Commits

Author SHA1 Message Date
Cohee
e08d1b522c Don't destroy sortable manually 2025-06-05 08:45:31 +00:00
Cohee
62fdce8cad Replace select2 detection 2025-06-05 08:44:55 +00:00
Cohee
bbe62527d2 Remove pointless DOM call 2025-06-05 08:40:01 +00:00
Cohee
b7323715b2 Prevent saveWorldInfo calls while rendering the list 2025-06-05 08:33:38 +00:00
Cohee
0f9cd5f48d Remove debug logs with DOM queries 2025-06-05 08:25:50 +00:00
RossAscends
e1a1fdb0da dont reload editor list on world list tag click if that world is already displayed and open in the editor 2025-06-05 16:13:27 +09:00
RossAscends
42b2637707 await the fade in.. 2025-06-05 15:51:11 +09:00
RossAscends
b55de85243 Removes memory heap bloat by improving DOM and JQUI datacache clearing when swapping WI in the editor, and all other 'reloadEditor' calls via slashcommands etc.
Results in a slight delay depending on entries visible via pagination (about 2s for 50 visible entries), but I added a pleasant fade transition to make it feel organic.
2025-06-05 15:32:33 +09:00
Cohee
96fb85457f Gallery: add delete functionality for gallery items 2025-06-04 23:53:18 +03:00
Cohee
f646c9416a fix: handle enhance parameter in pollinations generate endpoint 2025-06-04 23:25:13 +03:00
Cohee
0eff634bd0 OpenRouter: add cache TTL control for Claude 2025-06-04 20:30:20 +03:00
Cohee
555c5be8d1 Fix horizontal stretching of HTML img embeds in mobile layout 2025-06-04 11:59:51 +00:00
Cohee
229def21cd Fix npm audit in tests 2025-06-03 13:06:38 +00:00
Cohee
c4a44bc08d rename chat: update to new popup 2025-06-03 00:19:31 +03:00
Cohee
13b3f61e82 slash-commands.js: update for new popup 2025-06-03 00:16:00 +03:00
Cohee
b6d282b4ee Fix for eslint 2025-06-03 00:11:06 +03:00
Cohee
8d143a81c3 bulk edit: update for new popup 2025-06-03 00:11:01 +03:00
Cohee
8cf11bccde horde.js: update for new popup 2025-06-03 00:06:34 +03:00
Cohee
b72d7f37d7 regex: update for new popup 2025-06-03 00:05:33 +03:00
Cohee
b901ed1be7 caption: update for new popup 2025-06-03 00:02:05 +03:00
Cohee
5e4c570eb0 textgen-models.js: update for new popup 2025-06-02 23:58:19 +03:00
Cohee
45ef4b60c9 stats.js: update for new popup 2025-06-02 23:57:11 +03:00
Cohee
8c7dbedaa1 samplerSelect.js: update for new popup 2025-06-02 23:55:16 +03:00
Cohee
def23eb359 Fix for eslint 2025-06-02 23:50:12 +03:00
Cohee
134ade0951 secret.js: update for new popup 2025-06-02 23:49:56 +03:00
Cohee
52e7df970f backgrounds.js: update for new poup 2025-06-02 23:44:59 +03:00
Cohee
55b3016985 openai.js: update for new popup 2025-06-02 23:44:50 +03:00
Cohee
d7c938a294 WI: increase budget cap max value 8k -> 64k 2025-06-02 14:33:03 +00:00
Cohee
1ae4c22ebc Merge pull request #4086 from NicodeSS/release
fix: lowercase remote-user header in authelia auto-login procedure
2025-06-02 17:27:54 +03:00
Nicode
cfa9ef4726 fix: lowercase remote-user header in authelia auto-login procedure
Ensure the remote-user header is lowercased to fix case-sensitivity issues in the authelia auto-login process, improving compatibility.
2025-06-02 20:53:39 +08:00
Cohee
281ce10040 Update placeholder for empty message 2025-06-02 11:44:56 +03:00
Rebecca Turner
7ef296d43a Feature: Allow tools to accept arrays of values as an array (#4085)
Previously, a tool that that registered itself as having an array parameter
had each element of the array registered as a variable, but it did not
register the array parameter itself.  This meant that it was only really
useful with fixed length arrays.

This patch adds a variable for the array itself that lives alongside the
existing args.  I don't expect this to have any backward compatiblity
concerns.

Repro:

```stscript
// this requires lalib to function |
/let key=schema {
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "string",
    "properties": {
        "example": {
            "type": "array",
            "contains": {
                "type": "string"
            }
        }
    },
    "required": [
        "example"
    ]
} ||
/tools-register name=YourFunc description="filler" parameters={{var::schema}} {:
    /let ex {: /try {: /return {{var::arg.example}} :} :}() | /= ex.isException | /if rule=not left={{pipe}} else={:
        /console-log {{var::ex}}
    :} {:
        /console-log "arg.example: {{var::arg.example}}" |
        /foreach {{var::arg.example}} {: /console-log "#{{var::index}}: {{var::item}}" :}
    :} |
    /try {: /return {{var::arg.example.0}} :}  | /console-log "arg.example.0: {{pipe}}" |
    /try {: /return {{var::arg.example.1}} :}  | /console-log "arg.example.1: {{pipe}}" |
    /try {: /return {{var::arg.example.2}} :}  | /console-log "arg.example.2: {{pipe}}" |
    /try {: /return {{var::arg.example.3}} :}  | /console-log "arg.example.3: {{pipe}}" |
:} ||
/let key=params {
    "example": [
    	"test1", "test2", "test3"
    ]
} |
/tools-invoke parameters={{var::params}} YourFunc
```
Currently produces:

```
[/console-log] arg.example: {"isException":true,"exception":"No such variable: \"arg.example\""}
[/console-log] arg.example.0: {"isException":false,"result":"test1"}
[/console-log] arg.example.1: {"isException":false,"result":"test2"}
[/console-log] arg.example.2: {"isException":false,"result":"test3"}
[/console-log] arg.example.3: {"isException":true,"exception":"No such variable: \"arg.example.3\""}
```

With this patch it produces:

```
[/console-log] arg.example: ["test1","test2","test3"]
[/console-log] #0: test1
[/console-log] #1: test2
[/console-log] #2: test3
[/console-log] arg.example.0: {"isException":false,"result":"test1"}
[/console-log] arg.example.1: {"isException":false,"result":"test2"}
[/console-log] arg.example.2: {"isException":false,"result":"test3"}
[/console-log] arg.example.3: {"isException":true,"exception":"No such variable: \"arg.example.3\""}
```
2025-06-02 10:54:10 +03:00
Rebecca Turner
6bb07370f4 Fix #4083 JSON parse error when tool does not accept parameters (#4084)
* Fix #4083: JSON parse error when tool does not accept parameters

* Reformat for visual coolness

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-06-02 10:18:04 +03:00
RossAscends
fa10833e52 add minimum requirement of 2 [A-za-z] for slashcommand autocomplete to show up (#4080)
* add minimum requirement of 2 [A-za-z] for slashcommand autocomplete to show up

* Migrate to dedicated AC toggle

* Replace state checkbox with select

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-06-01 20:07:33 +03:00
Cohee
4c3bb1aede PPP command and connection profiles (#4079)
* Add PPP command

* Add PPP to connection profiles
2025-06-01 18:15:06 +03:00
Nikolas Brown
c4d89b2067 Gemini inline video (#4078)
* Add inline video attachment support for Gemini 2.5 Pro

* file formatting

* removed redundant function for saving video to message

* removed other redundant function for saving video to message

* Seperate inlining check for video

* Edit video token cost to be a conservative estimate of 10000 tokens

* fixed missing semicolon

* Adds seperate ui toggle for video inlining.

* Move mes_video out of img_container

* Remove title from video element for now

* Better visibilty of video with controls

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-06-01 15:04:16 +03:00
Cohee
3ec9b1a099 Implement data clean-up dialog (#4072)
* [wip] Add user data cleanup service

* Add clean-up report viewer

* Fix review comments

* Add function comments

* Implement item actions

* Fix UI styles

* Add placeholder for empty results, update category description view

* Add displayEmptyPlaceholder method to show message when results list is empty

* Adjust menu buttons row

* Delete char-scoped data bank attachments on character deletion

* Data Bank: Handle character attachments on rename

* Remove line breaks in description strings

* Drop the category when the last item is deleted

* Skip invalid hashes instead of bailing
2025-06-01 13:56:34 +03:00
Cohee
7f47f84c9f Merge branch 'release' into staging 2025-06-01 01:17:59 +03:00
Cohee
303c1dcf14 Caption: fix displaying secondary endpoint for unsupported sources 2025-06-01 01:17:42 +03:00
Cohee
ecbe8d38c5 Merge branch 'release' into staging 2025-06-01 01:11:51 +03:00
Cohee
5b7483af14 Add filename validation middleware to create endpoint 2025-06-01 01:11:26 +03:00
Cohee
b7444a0fd2 Add filename validation middleware to upload endpoint
#4065
2025-06-01 01:09:53 +03:00
Cohee
a17d0c2293 Merge pull request #4077 from SillyTavern/fix-mes0-right-swipe
Allow swipe right to generate first message in non-pristine chats
2025-05-31 21:27:21 +03:00
Cohee
7ca8c4591f Allow swipe right to generate first message in non-pristine chats
Fixes #4074
2025-05-31 19:02:35 +03:00
Cohee
8b44bf1e55 Merge pull request #4071 from closuretext/patch-1
Added NAI Diffusion V4.5 Full and V4.5 Curated
2025-05-31 02:01:08 +03:00
closure
26f717ac45 Added NAI Diffusion V4.5 Full and V4.5 Curated 2025-05-30 17:48:39 -03:00
Cohee
89ef54f286 Do not replace inline HTML img with image embed (#4063) 2025-05-29 21:44:16 +03:00
Cohee
1cbc4ac65b Fix HTML syntax errors by @Dakraid
Original commit: fd4babab31
2025-05-29 21:38:55 +03:00
Cohee
e1e2d3e726 Recent chats: add delete and rename buttons (#4051)
* [wip] Add rename/delete for recent chats

* Implement deleteCharacterChatByName

* Fix character name usage in deleteCharacterChatByName function
2025-05-29 21:21:53 +03:00
Radovenchyk
71de864a5e docs: edited the link to the forks badge (#4059)
* Update readme.md

* Update readme.md
2025-05-29 21:02:21 +03:00
Cohee
0b1e3828aa Merge pull request #4060 from leandrojofre/relieve-group-chat-console
Clean console debugs for group chats
2025-05-29 19:30:52 +03:00
leandrojofre
34b8b48b52 Update - Clean console debugs for group chats
Those two debugs always floods the console in group chats, making it imposible to debug anything else, like extensions or activated wi entries.
2025-05-29 12:05:57 -03:00
Cohee
8ccbbe8cdc Merge pull request #4057 from omahs/patch-2
Fix typos
2025-05-29 16:40:53 +03:00
Cohee
1dc7415cdb Merge pull request #4058 from rsxdalv/patch-1
refresh voices upon checkReady in openai-compatible TTS
2025-05-29 15:51:09 +03:00
Roberts Slisans
8db879d9f2 refresh voices upon checkReady in openai-compatible TTS 2025-05-29 14:40:52 +03:00
omahs
d7d20a67fa Fix typos 2025-05-29 11:56:59 +02:00
Cohee
87df4db1a4 Add vertexai.svg image file 2025-05-29 01:48:42 +03:00
Cohee
853a80a428 Unblock Request model reasoning for Vertex 2025-05-28 20:55:40 +03:00
Cohee
b61269445d Merge pull request #4046 from InterestingDarknessII/vertexfull
Add Vertex AI Full Version support
2025-05-28 20:52:24 +03:00
Cohee
4e75f2fa4d Change no neutral warning text to align with other inputs 2025-05-28 20:45:35 +03:00
Cohee
1921036666 Move account status block higher 2025-05-28 20:42:40 +03:00
Cohee
0559fd7e8b Fix alignment of Region controls 2025-05-28 20:40:13 +03:00
Cohee
250bf5249a Remove unnecessary blank lines in chat-completions.js 2025-05-28 20:38:09 +03:00
Cohee
5c2cfed18b Implement auto-connect for VertexAI full 2025-05-28 20:37:50 +03:00
Cohee
a0dda44ff9 Fix model options hiding on Chrome 2025-05-28 20:37:34 +03:00
InterestingDarkness
75e3f599e6 Derive Vertex AI Project ID from Service Account JSON
This commit refactors the Vertex AI integration to automatically derive the
Project ID from the provided Service Account JSON. This simplifies the
configuration process for users in "Full" (service account) authentication
mode by removing the need to specify the Project ID separately.
2025-05-28 21:57:17 +08:00
InterestingDarkness
9f698dd6e3 Updated the placeholder text for the region input field in index.html to include 'global' as an option.
- Added a help link to provide users with information on available regions and models, improving user guidance.
2025-05-28 21:32:39 +08:00
InterestingDarkness
55af19e70b Reduced the number of rows in the textarea for Service Account JSON input in index.html 2025-05-28 21:26:10 +08:00
InterestingDarkness
c9f90a2bd3 Update Gemini model options in Vertex AI section
- Removed outdated model options from the Gemini 2.0 optgroup in index.html.
- Added 'gemini-2.0-flash-preview-image-generation' to the image generation models in chat-completions.js for improved functionality.
2025-05-28 09:26:06 +08:00
Cohee
b3077c4635 Use shared constant for default avatar path 2025-05-27 22:34:22 +03:00
Cohee
817ae20c3b Allow vertical scroll in import menu 2025-05-27 22:31:16 +03:00
buzz
4bec90abb5 Import character card from Soulkyn (#4042) 2025-05-27 22:30:15 +03:00
InterestingDarkness
1e2bec1751 Removed direct references to 'vertexai_project_id' from openai.js and related files, ensuring it is now managed through backend secrets for enhanced security. 2025-05-27 21:25:53 +08:00
InterestingDarkness
a9d4988fc0 Remove vertexai_service_account_json from oai_settings. And google.js. 2025-05-27 08:59:13 +08:00
Cohee
2c7f2e2014 Pollinations: fix headers, add samplers 2025-05-26 23:18:51 +03:00
Cohee
e2222ac40a Pollinations: fix headers, add samplers 2025-05-26 23:18:14 +03:00
Cohee
1b5a11206f Merge pull request #3967 from gakada/regex
Regex: allow multiple definitions in a single file
2025-05-26 22:26:06 +03:00
Cohee
523cc36b46 Implement bulk operations for regex 2025-05-26 22:21:48 +03:00
Cohee
52c3b83f96 Merge branch 'staging' into regex 2025-05-26 21:13:13 +03:00
InterestingDarkness
df36b60e9b Add vertex AI configuration fields to sensitiveFields in openai.js
- Included 'vertexai_project_id', 'vertexai_region', and 'vertexai_service_account_json' to the sensitiveFields array for enhanced configuration management.
2025-05-27 00:45:33 +08:00
InterestingDarkness
453c177a8e Enhance Vertex AI model selection by adding data-mode attributes
- Updated index.html to include data-mode attributes for model optgroups, distinguishing between express and full modes.
- Modified openai.js to show/hide model groups based on the selected authentication mode, improving user experience and functionality.
2025-05-27 00:43:31 +08:00
InterestingDarkness
9e71b70f75 Updated toastr messages in openai.js to use translation function for better internationalization support. 2025-05-27 00:38:06 +08:00
InterestingDarkness
1c048a6c79 Refactor Google authentication functions for Vertex AI
- Exported `getVertexAIAuth`, `generateJWTToken`, and `getAccessToken` functions from google.js for better modularity.
- Removed redundant JWT token generation and access token retrieval logic from chat-completions.js, utilizing the newly exported functions instead.
- Improved code organization and maintainability by centralizing authentication logic.
2025-05-27 00:31:43 +08:00
InterestingDarkness
7fcd40c829 fix ESLint 2025-05-26 22:18:54 +08:00
InterestingDarkness
5656c7950d Implement Vertex AI authentication modes and configuration in UI
- Updated index.html to include options for Vertex AI authentication modes (Express and Full).
- Enhanced openai.js to manage Vertex AI settings, including project ID, region, and service account JSON.
- Added validation and handling for service account JSON in the backend.
- Modified API request handling in google.js to support both authentication modes for Vertex AI.
- Updated secrets.js to include a key for storing Vertex AI service account JSON.
- Improved error handling and user feedback for authentication issues.
2025-05-26 22:09:59 +08:00
Cohee
a6928289b3 Clear extension load errors before activating extensions 2025-05-26 11:10:47 +00:00
Cohee
a8a133b6c2 Merge branch 'release' into staging 2025-05-26 08:08:47 +00:00
Cohee
51c5783eb3 Add referrer for Pollinations requests 2025-05-26 08:08:38 +00:00
RossAscends
57882c80e5 add ability for exts to req other exts (#4023)
* add ability for exts to req other exts

* Get rid of toasts. Collect errors on load, display in manager

* Remove unused variable

* Only show missing modules/dependencies

* Prefer display names in validation messages

* Prefer internal name for console warn

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-05-26 01:38:32 +03:00
Cohee
e12e0ccd84 Support ISO 8601 timestamps 2025-05-26 01:20:28 +03:00
Cohee
61a1078e1d Display a greeting for custom welcome assistants 2025-05-26 01:09:57 +03:00
Cohee
90eb74545c Merge pull request #4041 from SillyTavern/staging
Staging
2025-05-25 22:18:09 +03:00
Cohee
c528940a45 Fix WI position selector if entry.position is empty 2025-05-25 21:36:21 +03:00
Cohee
939e5003e8 Bumperino da packageo versiono 2025-05-25 17:53:12 +03:00
Cohee
08ad507637 Split reasoning effort tooltips from claude/google. 2025-05-25 13:43:16 +03:00
Cohee
b6762d256d Add margin to descriptions 2025-05-25 13:30:28 +03:00
Cohee
4b12eea00f Update reasoning effort options with links and descriptions 2025-05-25 13:29:33 +03:00
Cohee
30ddb34d38 Add visibility-only blurb for model thinking toggle 2025-05-25 04:53:29 +03:00
Cohee
64edcfae22 Claude: allow to request thinking even if not displayed 2025-05-25 04:48:49 +03:00
Cohee
34c25300e5 Trim whitespace before replacing line breaks in unknown elements 2025-05-25 00:52:03 +03:00
Cohee
8d67874215 Adjust document mode styles 2025-05-24 23:50:49 +03:00
Cohee
7a6c930adc {{charPrefix}} is real. 2025-05-24 20:37:46 +03:00
Cohee
955692424a Equalize top/bottom toast paddings 2025-05-24 20:31:37 +03:00
Cohee
b4d6b8e405 Reformat CSS styles 2025-05-24 18:59:15 +03:00
Cohee
e8b54cc8f0 Update README 2025-05-24 18:56:04 +03:00
Aykut Akgün
e4217dbeba custom endpoint handling (#4031) 2025-05-24 01:41:03 +03:00
Cohee
2a7a8cab11 Fix offset of toast in popups 2025-05-24 01:16:28 +03:00
Cohee
5359c76923 Proper treatment for groups #4008 2025-05-24 00:59:45 +03:00
Cohee
d0d358f56f Update tooltip on tag visibility button #4008 2025-05-24 00:51:41 +03:00
Cohee
36dfbd4cbe Add rawQuotes to override with named arg (#4032) 2025-05-24 00:35:58 +03:00
Cohee
d0bc58acf2 Fix CC rename spazzing out on hashtags 2025-05-24 00:20:09 +03:00
Cohee
8d84871134 Sanitize filename before renaming
Fixes #3982
2025-05-24 00:02:48 +03:00
Cohee
1f7c65b45a #3982 CC: Fix visual duplication of presets on renaming 2025-05-24 00:01:50 +03:00
Cohee
6a67e54ff8 Groups: fix resetting chat metadata on renaming group members 2025-05-23 22:02:59 +03:00
Cohee
560c6e8ff1 Claude: control cache TTL with config 2025-05-23 21:40:40 +03:00
Cohee
ed2e6fff6e OpenAI: add gpt-image-1 model 2025-05-23 20:33:27 +03:00
Cohee
58832d1a75 MistralAI: add devstral models 2025-05-23 20:16:56 +03:00
Cohee
22afd570fc Claude: set cache TTL to 1h 2025-05-23 20:11:10 +03:00
Cohee
449522c3aa Combine all toastr settings into one object 2025-05-23 20:01:53 +03:00
RossAscends
e6d5830f33 remove old toast config 2025-05-23 20:39:47 +09:00
RossAscends
26fd06335e Toasty Click to close hint 2025-05-23 20:38:05 +09:00
RossAscends
341fa17ba3 Hack-free Toast 2025-05-23 20:31:31 +09:00
RossAscends
7fc97a3b9a Zen Toast 2025-05-23 20:27:39 +09:00
RossAscends
640d9020f9 toast close button padding 2025-05-23 17:39:34 +09:00
Cohee
be54ef3dac Fix file handle leak on empty chat info 2025-05-22 23:19:10 +03:00
Cohee
57b81be9ce Caption - allow custom endpoint for xAI 2025-05-22 23:03:04 +03:00
Cohee
fd0e0945b3 Remove duplicates from group chats list on load 2025-05-22 22:58:26 +03:00
Cohee
5ac472fbac Implement creator's note style tag preferences (#3979)
* Implement creator's note style tag preferences

* Decouple external media preference from style preference

* Allow explicitly empty prefixes in decodeStyleTags

* Fix Copilot comments

* Refactor global styles management into StylesPreference class

* Refactor openAttachmentManager to return an object instead of an array

* Unify header structure

* Re-render characters panel on setting initial preference

* Add note about classname prefixing

* Rename event handler
2025-05-22 22:32:53 +03:00
Cohee
62c2c88a79 + captioning and multimodal 2025-05-22 21:17:34 +03:00
Cohee
edf307aa9c claude 4 2025-05-22 21:14:13 +03:00
Cohee
ade45b6cd1 Allow prompt post-processing for all sources. Add 'single user msg' processing (#4009)
* Allow prompt post-processing for all sources. Add 'single user msg' PPP type

* Fix copilot comments

* Fix typo in element id

* Remove redundant conditions

* Lint fix

* Add link to PPP docs
2025-05-22 20:36:22 +03:00
NijikaMyWaifu
157315cd68 Add Vertex AI express mode support (#3977)
* Add Vertex AI express mode support
Split Google AI Studio and Vertex AI

* Add support for Vertex AI, including updating default models and related settings, modifying frontend HTML to include Vertex AI options, and adjusting request processing logic in the backend API.

* Log API name in the console

* Merge sysprompt toggles back

* Use Gemma tokenizers for Vertex and LearnLM

* AI Studio parity updates

* Add link to express mode doc. Also technically it's not a form

* Split title

* Use array includes

* Add support for Google Vertex AI in image captioning feature

* Specify caption API name, add to compression list

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-05-22 20:10:53 +03:00
Cohee
6dc59b9fd3 Don't let tag management shrink vertically 2025-05-22 01:04:54 +03:00
Cohee
d336ea7a13 Add rounded square avatars theme option 2025-05-22 00:39:00 +03:00
Cohee
fdc9a2a93b Fix groups with no avatar in inline lists 2025-05-22 00:32:45 +03:00
Cohee
b0f82b0348 Clean-up image inlining hint 2025-05-22 00:09:45 +03:00
Cohee
c184374753 Remove deepseek reasoner from Request model reasoning tooltip 2025-05-22 00:06:34 +03:00
Cohee
1a6e136010 Respect "hide avatars" preference for welcome screen recent chats 2025-05-22 00:04:02 +03:00
Cohee
a815461d5a GOOGLE THONK IS BACK 🚀
Closes #4024
2025-05-21 23:42:21 +03:00
Cohee
0b260fe835 Only allow POST requests to ping endpoint 2025-05-21 23:25:01 +03:00
Cohee
ae1017edcb Do not regenerate group greeting messages in tainted chats 2025-05-21 23:10:35 +03:00
Cohee
6eeb2dcd75 Label chat as not pristine when messages are deleted 2025-05-21 23:08:23 +03:00
Cohee
84745034e7 Fix handling of recent group chats if empty
Fixes #4022
2025-05-21 22:50:15 +03:00
Cohee
94c30837a2 Fix attaching files to permanent assistant from welcome screen 2025-05-21 22:39:49 +03:00
Cohee
3486303d7c Toast Position => Notifications 2025-05-21 20:56:45 +03:00
Cohee
8b6e2a0fe1 Return set toast position on container init 2025-05-21 20:55:11 +03:00
Cohee
acfc9059e7 Notification => Toast 2025-05-21 20:48:20 +03:00
Cohee
8f7946d6ad Move up to other dropdown frens 2025-05-21 20:38:42 +03:00
Cohee
f8b734d607 Location => Position 2025-05-21 20:36:04 +03:00
Cohee
34490c9614 Display loader earlier, init toast classes in power-user 2025-05-21 20:35:03 +03:00
Cohee
c42cf748b3 Slightly increase text size 2025-05-21 20:10:20 +03:00
Cohee
81e6697e34 Constrain toast colors to container 2025-05-21 20:09:33 +03:00
RossAscends
1aa7d1d5a5 meta-theme color matches UI Background 2025-05-21 21:01:28 +09:00
RossAscends
356dafd954 add theme-color default grey WIP 2025-05-21 20:20:04 +09:00
RossAscends
8dff355d5d xtc block filtering, GO 2025-05-21 19:25:14 +09:00
RossAscends
35ac8bd0fb toastr with the #nofilter life, naturally. 2025-05-21 19:13:09 +09:00
RossAscends
da16c551f0 more toasty edge case fixes 2025-05-21 19:03:26 +09:00
RossAscends
fe0db6ec78 add VSC MARK comments to vital script.js funcs 2025-05-21 17:41:24 +09:00
RossAscends
b3e317393b console log cleanup 2025-05-21 16:03:37 +09:00
RossAscends
713f30ba03 fix unintended width removal (oh also they're slightly less glaring now) 2025-05-21 15:58:24 +09:00
RossAscends
c98ba48561 toaster close button padding fix 2025-05-21 15:43:52 +09:00
RossAscends
f145dfcb2d fix edge cases, put toastr on a diet 2025-05-21 15:35:12 +09:00
RossAscends
87f547cd87 add option for toastr location to themes 2025-05-21 15:07:47 +09:00
Cohee
074ca4a55b flash preview 2025-05-20 21:22:00 +03:00
aalizelau
77f5ef3424 Hide tag for character (#4019)
* Add tagOptions parameter to printTagList for character-specific filtering

* Add toggle functionality to hide tags in tag management popup

* Add translations for "Hide on character card" in multiple locale files

* Add is_hidden_on_character_card property to newTag function

* applied linter

* revert back `DEFAULT_TAGS_LIMIT`

* Remove debug logs

* Adjust HTML

* Render list and save settings on toggle change

* Make tag manager wide

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-05-20 20:41:03 +03:00
Cohee
f181b46cfc Merge branch 'release' into staging 2025-05-20 10:31:57 +03:00
Cohee
be7407b23b dependabot fix 2025-05-20 10:31:31 +03:00
RossAscends
8d7648ccf7 working fix for logprob reroll with autoparsed reasoning (#3998)
* working fix for logprob reroll with autoparsed reasoning

* fix prefix being added all the time

* Code clean-up

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-05-19 20:30:03 +03:00
Cohee
c3376da393 Fix import of chars and lorebook by chub URL
Closes #4011
2025-05-19 19:37:54 +03:00
Cohee
e5de348b2e Add missing await in getGroupChat 2025-05-19 10:37:54 +03:00
Cohee
92e80d3bad hideMutedSprites is hilariously broken 2025-05-19 01:15:40 +03:00
Cohee
d06789b8dc Check for chat changed before displaying welcome panel 2025-05-19 00:39:19 +03:00
Cohee
99d473654f Pollinations: write failed image request body to console 2025-05-19 00:15:08 +03:00
Cohee
864a733663 "Bind preset to connection" toggle (#3999)
* Implement THE TOGGLE

* Don't force reconnect on preset switch if toggle off

* Don't clear custom models list either
2025-05-17 20:40:58 +03:00
Cohee
213a619b33 Change server ping to POST method
Closes #4006
2025-05-17 16:50:02 +03:00
Cohee
b093f71ae0 Docker: Add git-lfs package to image 2025-05-17 16:32:42 +03:00
Cohee
9438b5c4aa Cancel debounced metadata save before clearing chat 2025-05-17 15:44:51 +03:00
Cohee
e5677b620d Cancel debounced chat save before clearing chat 2025-05-17 15:38:52 +03:00
Cohee
b571723f94 Wait for chat save before close or create new chat 2025-05-17 09:17:32 +03:00
Cohee
e52b3afea9 Wait for current chat to finish saving before allowing to switch 2025-05-17 08:45:12 +03:00
Cohee
484f7e894a Merge branch 'staging' of http://github.com/SillyTavern/SillyTavern into staging 2025-05-17 08:30:57 +03:00
Cohee
ca4f007009 Fix chat manager in group chats 2025-05-17 08:30:53 +03:00
cloak1505
f6ab33d835 Reverse CC prompt manager's injection order of "Order" to match World Info (#4004)
* Reverse CC injection "Order" to match World Info

* Set CC injection order default to 100

* Update non-PM injects order + add hint

* Update default order value on inject

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-05-16 23:53:37 +03:00
Cohee
e9bc2d8af0 Force close forms on Prompt Manager init 2025-05-16 22:12:45 +03:00
Cohee
817474c60d Do no automatically apply non-markdown for context separators (#4003) 2025-05-16 19:57:56 +03:00
Cohee
c218c1baea ZIP extraction error handling (#4002)
* Improve error handling in extractFileFromZipBuffer function

* Add warning logging to NovelAI image upscaling
2025-05-16 19:57:33 +03:00
Cohee
1651fa1ed7 Add guidance for API usage with automatic suffix for chat completions 2025-05-16 09:52:55 +03:00
Cohee
5ed6d1cd9b Merge pull request #3990 from SillyTavern/welcome-screen
New welcome screen + quick chat functionality
2025-05-15 00:10:54 +03:00
Cohee
7a23fe794e Hide buttons on welcome assistant message 2025-05-14 10:41:15 +03:00
Cohee
587cecb12c Join recent chat/group queries 2025-05-14 10:25:38 +03:00
Cohee
155172a2b4 Dynamically update show more title 2025-05-14 00:49:33 +03:00
Cohee
dfbc5ec4ac Fix array slicing, decrease default recent display to 3 2025-05-14 00:42:04 +03:00
Cohee
cb380863e2 Keep scroll up on welcome display 2025-05-14 00:25:35 +03:00
Cohee
49c1ee1373 Update avatar title format 2025-05-14 00:21:12 +03:00
Cohee
9744e6ab2f Button enlargement therapy 2025-05-14 00:15:33 +03:00
Cohee
21252cf2dd Fix empty chat if creating new assistant 2025-05-13 21:44:24 +03:00
Cohee
5a799042b1 Optimize fetching recent chats by using Promise.all for concurrent data retrieval 2025-05-13 20:41:26 +03:00
Cohee
241f718df7 Remove redundant version check 2025-05-13 20:37:15 +03:00
Cohee
2b93fd37e3 Focus on send textarea on opening temp chat 2025-05-13 20:28:57 +03:00
Cohee
6a394c0c3e Only render if chat is clear 2025-05-13 19:57:00 +03:00
Cohee
249cb7777c Merge branch 'staging' into welcome-screen 2025-05-13 19:52:40 +03:00
Cohee
cf28df381c Fix Pollinations img query params 2025-05-13 10:15:45 +03:00
Cohee
6e35afa6ec Fix extension prompts injects 2025-05-13 10:04:43 +03:00
Cohee
b261354280 Add "More" menu hint 2025-05-13 01:35:51 +03:00
Cohee
0c411398f0 Collapse welcome recent chats button 2025-05-13 01:27:45 +03:00
Cohee
7659dfb85c Remove reasoning from raw builder summaries 2025-05-13 00:59:27 +03:00
Cohee
ae0aa42e7a Extract assignCharacterAsAssistant func 2025-05-13 00:54:40 +03:00
Cohee
5434efd6c0 Adjust text size 2025-05-13 00:46:34 +03:00
Cohee
28c09deb0d Force clean-up before welcome render 2025-05-13 00:46:24 +03:00
Cohee
cd0a4959ad Merge branch 'staging' into welcome-screen 2025-05-13 00:41:54 +03:00
Cohee
ad15e4f172 Merge pull request #3989 from bmen25124/prefill_custom_request
Added prefill for custom-request->text completion
2025-05-13 00:03:13 +03:00
Kristian Schlikow
8100a542e2 Implement a priority for prompt injections in CC (#3978)
* Implement a priority for prompt injections in CC

Adds a numeric order for injected prompts, 0 being default and placed at the top, and higher numbers placing further down. If two messages have the same priority, then order is determined by role as was before.

* Update data-i18n for new setting field

* Rename priority to order, sort higher first/lower last

* Hide order when position is relative, adjust hint text

* Fix type error

* Fix capitalization

* Cut UI texts

* Reposition text labels

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-05-12 23:59:54 +03:00
bmen25124
294dc3b3b1 Fixed out of index error 2025-05-12 23:00:12 +03:00
Cohee
d6054e1555 Fix styles conflict with timelines 2025-05-12 22:40:00 +03:00
Cohee
474b2537b5 Revert "Update Font Awesome to 6.7.2"
This reverts commit 7b9f5b3fb8.
2025-05-12 22:36:13 +03:00
Cohee
ed388553cc Add rotation effect to "Show More Chats" button and toggle visibility of hidden chats 2025-05-12 21:59:26 +03:00
bmen25124
6609c941a9 Added prefill for custom-request->text completion 2025-05-12 21:52:16 +03:00
Cohee
e2c44161ed Show recent group chats 2025-05-12 21:44:00 +03:00
Cohee
637e9d5469 Set any char as assistant. Rework welcome prompt 2025-05-12 20:50:17 +03:00
Cohee
f656fba213 Replace text with chevron 2025-05-12 20:18:37 +03:00
Cohee
c45f1ceaff Show more recent chats 2025-05-12 20:16:56 +03:00
Cohee
d5c56fa405 Indicate welcome page assistant in the list 2025-05-12 19:52:14 +03:00
Cohee
7b9f5b3fb8 Update Font Awesome to 6.7.2 2025-05-12 19:34:31 +03:00
Cohee
e25a033caa Merge pull request #3988 from kallewoof/202505-mistral-templates
chat-templates: reorder by version and add missing template
2025-05-12 10:37:32 +03:00
Karl-Johan Alm
644b988b74 chat-templates: reorder by version and add missing template 2025-05-12 14:26:18 +09:00
Cohee
31e2cf714a Permanent assistant autocreation and temporary chat restore 2025-05-12 02:14:54 +03:00
Cohee
61f69aa674 Temp chat button works 2025-05-12 01:10:50 +03:00
Cohee
e80c36c242 Adjust element alignments 2025-05-12 01:03:37 +03:00
Cohee
9be173e34e Fix long date title 2025-05-12 01:03:23 +03:00
Cohee
2e6a02a576 Add line-clamp to recent chats list 2025-05-12 00:53:55 +03:00
Cohee
8d2c8fd675 Prevent reopening an already open recent chat 2025-05-12 00:53:33 +03:00
Cohee
415bb5f9b8 Add shortcuts to welcome prompt 2025-05-12 00:43:41 +03:00
Cohee
e975d37436 [wip] Welcome screen prototype 2025-05-12 00:28:42 +03:00
Cohee
420d568cd3 Pollinations - Text (#3985)
* [wip] Pollinations for text

* Implement generate API request

* Determine Pollinations model tools via models list

* Add Pollinations option to /model command

* Add Pollinations support to caption

* Update link to pollinations site

* Fix type errors in openai.js

* Fix API connection test to use AbortController for request cancellation

* Remove hard coded list of pollinations vision models

* Remove openai-audio from captioning models
2025-05-11 20:14:11 +03:00
Cohee
99e3c22311 Refactor firstLoadInit to include initCustomSelectedSamplers and addDebugFunctions 2025-05-11 12:28:33 +03:00
Cohee
09f2b2f731 Handle unknown chat completion sources gracefully by logging an error and returning an empty string 2025-05-11 11:09:15 +03:00
Cohee
fc1020a8e4 Refactor sequence breaker parsing in getTextGenGenerationData function 2025-05-11 11:07:13 +03:00
Cohee
9305c29780 Merge pull request #3986 from 50h100a/pr_xtcdry
Update parameters for Mancer: +XTC, +DRY, -Mirostat
2025-05-11 10:56:31 +03:00
50h100a
2aa5addb1d Mancer parameters:
- Add XTC
- Add DRY
- Remove Mirostat
2025-05-10 19:04:32 -04:00
Cohee
e6530cb22d Install jimp plugins explicitly 2025-05-10 18:19:22 +03:00
Cohee
44b7a09cb6 Prompt Manager: add source display of pulled prompts (#3981)
* Prompt Manager: add source display of pulled prompts

* Fix copilot comments
2025-05-10 16:28:18 +03:00
Cohee
4c56f3068a Merge pull request #3983 from cloak1505/staging 2025-05-10 16:13:36 +03:00
cloak1505
cc75768668 Actual copy and paste
Turns out the doc is already alphabetized but with dead providers moved to the top, so I didn't have to alphabetize the whole list and manually remove the dead ones.
2025-05-10 05:42:15 -05:00
cloak1505
c7963d683f Update and alphabetize OpenRouter providers list 2025-05-09 23:41:19 -05:00
Cohee
b2ed69aac2 Merge pull request #3980 from SillyTavern/fix-lcpp-caption
Fix llama.cpp captioning
2025-05-09 23:29:06 +03:00
Cohee
aef005007f Do not remove data URI prefix from llamacpp caption requests 2025-05-09 23:23:34 +03:00
Cohee
8a4da487dd llamacpp: use generic CC endpoint for captioning 2025-05-09 22:33:25 +03:00
Cohee
c6a64d8526 xAI: fix model not saving to presets 2025-05-09 00:24:36 +03:00
Cohee
104d4ccebc Merge pull request #3971 from SillyTavern/ccllaauuddee
Assorted Claude adjustments
2025-05-09 00:02:30 +03:00
Cohee
596353389b DeepSeek: don't send empty required arrays in tool definitions 2025-05-08 21:22:58 +03:00
Cohee
c1c77a6a60 Claude: add web search tool, adjust prefill voiding
Closes #3968
2025-05-08 20:51:38 +03:00
Cohee
da7f97b663 Claude: "Auto" effort = no thinking 2025-05-08 20:28:35 +03:00
Cohee
b71b94d410 Merge pull request #3964 from SillyTavern/click-to-edit
Decouple "click to edit" from document mode
2025-05-07 23:29:06 +03:00
Cohee
fa8ea7c60d mistral-medium-2505 2025-05-07 20:09:56 +03:00
gk
6df95b98ec Regex: add export buttons for global and scoped scripts 2025-05-08 01:27:03 +09:00
Cohee
7a4d6ecfde Migrate old preference for "click to edit" setting based on chat display style 2025-05-07 11:12:41 +00:00
gk
2650d88606 Regex: allow multiple definitions in a single file 2025-05-07 18:48:18 +09:00
Cohee
5c027634ff Merge pull request #3961 from DocShotgun/staging 2025-05-07 00:32:48 +03:00
DocShotgun
3be991591f Remove special handling of nsigma for llama.cpp
* 0 now changed to disable/no-op upstream
2025-05-06 14:11:00 -07:00
Cohee
5e31a21d8d Decouple "click to edit" from document mode 2025-05-06 22:02:20 +03:00
Cohee
0f1bb766f6 Merge pull request #3963 from sirius422/staging
Add support for gemini-2.5-pro-preview-05-06
2025-05-06 19:43:49 +03:00
DocShotgun
4a5d0df92f Translate nsigma 0 to -1 to disable for llama.cpp 2025-05-06 09:31:55 -07:00
sirius422
edb9702055 Add support for gemini-2.5-pro-preview-05-06 2025-05-07 00:29:26 +08:00
DocShotgun
bf8b3b5013 Remove tfs_z alias for llama.cpp
* This sampler is no longer supported in llama.cpp
2025-05-06 00:39:25 -07:00
DocShotgun
bf66a39579 Update llama.cpp textgen settings
* Add min_keep, a llama.cpp-exclusive setting for constraining the effect of truncation samplers
* Enable nsigma for llama.cpp, and add llama.cpp alias top_n_sigma, add nsigma to the llama.cpp sampler order block
* Allow a negative value of nsigma as this represents 'disabled' in llama.cpp (while 0 is deterministic)
* Remove tfs and top_a as these are not supported by llama.cpp (tfs was removed, and top_a was never supported)
* Correct the identification string for typical_p in the llama.cpp sampler order block
* Add penalties to the llama.cpp sampler order block
2025-05-06 00:32:29 -07:00
Cohee
6625e4036e Add clipboard script commands
Closes #3958
2025-05-05 21:58:06 +03:00
Cohee
c626700226 Merge pull request #3955 from SillyTavern/pin-styles
Add style pin feature for greeting messages
2025-05-05 21:09:15 +03:00
Cohee
835c731bcd Merge pull request #3957 from RivelleDays/staging
Update zh-tw.json
2025-05-05 16:44:29 +03:00
Rivelle
78b42905f4 Update zh-tw.json 2025-05-05 21:21:44 +08:00
Rivelle
7b777fb803 Update zh-tw.json 2025-05-05 20:24:12 +08:00
Cohee
fc43ae3891 Merge branch 'staging' into pin-styles 2025-05-04 23:06:19 +03:00
Cohee
df07fa8c94 Merge pull request #3803 from SillyTavern/ffmpeg-videobg
Upload video bg via converter extension
2025-05-04 23:03:19 +03:00
Cohee
573ada296e Merge branch 'staging' into ffmpeg-videobg 2025-05-04 22:05:15 +03:00
Cohee
636ecef28a Merge pull request #3953 from Samueras/release 2025-05-04 20:55:23 +03:00
Samueras
3db2db1c65 Removed Swipe_right from legacy export
Removed Swipe_right from legacy export
2025-05-04 18:20:40 +02:00
Samueras
f0fbd7e3d4 added swipe left and right to st-context
Added swipe_right and swipe_left to st-context as a swipe group.
2025-05-04 18:17:44 +02:00
Samueras
99f47de88b Export Swipe left and right
Exporting the swipe_left and the swipe_right functions
2025-05-04 18:15:28 +02:00
Cohee
ca29de4704 Add style pin feature for greeting messages 2025-05-04 17:48:36 +03:00
Cohee
bb9fe64652 Merge pull request #3930 from Yokayo/staging
Update ru-ru translation
2025-05-04 14:10:12 +03:00
Cohee
4e0685f998 Revert comment 2025-05-04 14:05:44 +03:00
Cohee
bf9ef8fa0f Remove debug logs 2025-05-04 14:00:55 +03:00
Samueras
3165537ce8 Update script.js
Added trailing comma
2025-05-04 12:12:50 +02:00
Samueras
5f79c0c262 Export swipe_right in public/script.js 2025-05-04 12:05:45 +02:00
Samueras
27f2fac916 Export swipe_right in public/script.js and add swipe_right to getContext in st-context.js 2025-05-04 11:59:17 +02:00
Cohee
1e57342639 Use objects for pagination select creation 2025-05-04 12:56:23 +03:00
Cohee
b25322b844 Merge pull request #3933 from SillyTavern/feat/ext-installer-branch
Add branch selection on extension installer
2025-05-04 12:35:05 +03:00
Cohee
a122109e0c Add new model option 'embed-v4.0' to Cohere vectorization settings
Closes #3951
2025-05-04 12:26:44 +03:00
Yokayo
b9383ace1e eslint fixes 2 2025-05-03 18:16:02 +07:00
Yokayo
e27fca6628 eslint fixes 2025-05-03 18:14:26 +07:00
Yokayo
1822c4f91b More work on tl 2025-05-03 18:12:18 +07:00
Cohee
ec2876aefe Merge pull request #3941 from cloak1505/meth-patch
Remove Pygmalion instruct template (duplicate of Metharme)
2025-05-03 01:25:48 +03:00
Cohee
5fa64361c2 Merge pull request #3948 from InspectorCaracal/patch-3
Adds a check for jailbreaks existing in new TC PHI
2025-05-03 01:19:16 +03:00
Cohee
07a6017443 Remove redundant condition 2025-05-03 01:18:58 +03:00
InspectorCaracal
b8f7675d8c don't inject empty jb 2025-05-02 14:57:51 -06:00
Cohee
becaee8f35 Merge pull request #3946 from InspectorCaracal/add-sys-name
Add a named argument of "name" to the `/sys` slash command
2025-05-02 00:58:37 +03:00
Cal
c677f0324a Add argument to command 2025-05-01 15:16:51 -06:00
Cohee
a089727591 Extract templates, replace pagination format 2025-05-01 17:46:02 +03:00
Cohee
62b02bec3f Merge pull request #3940 from wickedcode01/bug-fixed
Fix the issue where deleting files on Windows may cause the application to crash.
2025-05-01 17:00:11 +03:00
Cohee
60232c73cc Merge pull request #3942 from huisman/update_ollama_github
Update links to ollama gihub
2025-05-01 15:03:02 +03:00
huisman
2301b5324a Update ollama links to current ollama github url 2025-05-01 11:29:39 +00:00
cloak1505
db2971c82d Remove Pygmalion instruct template (duplicate of Metharme)
ST already applies user sequence as stop string, so Pygmalion's <|user|> stop_sequence is meaningless.
2025-05-01 03:24:28 -05:00
wickedcode
d3bb625efe fix: recommend to use unlinkSync instead of rmSync, which has a better compatibility handling non-English characters 2025-05-01 03:09:25 -04:00
wickedcode
7431b0e8aa fix: replace rmSync with unlinkSync to resolve an issue deleting files with non-English characters in their names 2025-05-01 02:23:19 -04:00
Cohee
2c0dcdc449 Refactor git operations to use baseDir 2025-04-30 23:54:14 +03:00
Cohee
63b48b9211 Log a warning on an unknown input type 2025-04-30 22:58:43 +03:00
Cohee
ef59afcec1 Specify tag support in messaging 2025-04-30 22:56:35 +03:00
Cohee
9cff3861b4 Fix path.join to extension 2025-04-30 22:41:50 +03:00
Cohee
757b7d5371 Merge branch 'staging' into feat/ext-installer-branch 2025-04-30 22:38:55 +03:00
Cohee
b3a3b9d347 Fix npm audit in tests 2025-04-30 22:36:24 +03:00
Cohee
999a43b2e5 Merge branch 'staging' into feat/ext-installer-branch 2025-04-30 22:35:01 +03:00
Cohee
048ea943bc Merge pull request #3926 from SillyTavern/tc-phi
TC sysprompt: Add Post-History Instructions control
2025-04-30 22:34:22 +03:00
Cohee
511ae39b0b Move margin class 2025-04-30 22:23:12 +03:00
Cohee
63e7139a81 Clean-up i18n 2025-04-30 22:00:09 +03:00
Cohee
8dc7aa0c20 Add post_history field to default prompts 2025-04-30 21:07:06 +03:00
Cohee
8c42de7565 Merge branch 'staging' into tc-phi 2025-04-30 21:04:36 +03:00
Cohee
7deef1aa12 Merge pull request #3937 from Ristellise/staging
Check for `error` as well when parsing streaming responses
2025-04-30 16:31:05 +03:00
Shinon
98e96b8c07 Check for error as well when parsing streaming responses 2025-04-30 21:23:13 +08:00
Cohee
a5d63b064a Merge pull request #3928 from BismuthGlass/feature/regex-test-match
Add both `test` and `match` regex commands
2025-04-29 21:44:17 +03:00
Cohee
6aeced98a6 Prefer const. I love const 2025-04-29 21:22:51 +03:00
Crow
6cb1eb3fe6 Change return to empty string on no single match 2025-04-29 15:21:45 +01:00
Yokayo
e4d389a5b6 eslint fix 2025-04-29 17:24:49 +07:00
Yokayo
7eb23a2fcc Work on tl 2025-04-29 17:23:18 +07:00
Yokayo
db67633af6 Merge branch 'SillyTavern:staging' into staging 2025-04-29 17:16:15 +07:00
Crow
0cd0ce2374 Fix example formatting on /replace 2025-04-29 06:38:30 +01:00
Crow
5ddc8f17a0 Fix pattern checking on /replace 2025-04-29 06:37:48 +01:00
Crow
1c40ea10f4 Format examples correctly 2025-04-29 06:37:08 +01:00
Crow
729830c2fc Validate pattern 2025-04-29 06:19:59 +01:00
Cohee
71e92af09d Fix console verbiage for global extensions 2025-04-29 02:02:20 +03:00
Cohee
3340009a29 Add branch management functionality for extensions 2025-04-29 02:00:25 +03:00
Cohee
310b0f30cd Add branch selection on extension installer
Closes #3865
2025-04-28 22:53:22 +03:00
Cohee
0ca4cc08bb Sync OpenRouter providers list 2025-04-28 21:57:47 +03:00
Yokayo
666d5712c7 A bit more clarity 2025-04-28 19:03:18 +07:00
Yokayo
c453e94486 eslint fixes #2 2025-04-28 18:56:43 +07:00
Yokayo
f0d01d35a6 eslint fixes 2025-04-28 18:55:10 +07:00
Yokayo
11908f7363 Work on tl 2025-04-28 18:45:16 +07:00
Crow
d5002863e0 Add both test and match regex commands
These commands match the behavior of the javascript `Regex.test()`
and `String.match()` / `String.matchAll()` functions.
2025-04-28 11:13:48 +01:00
Cohee
775ae0f557 TC sysprompt: Add Post-History Instructions control
Closes #3920
2025-04-28 00:14:57 +03:00
Cohee
97e1f482c1 Add class to AdvancedFormatting 2025-04-27 23:19:21 +03:00
Cohee
05daddb60c Fix KoboldCpp saved vectors retrieval 2025-04-27 23:18:39 +03:00
Cohee
ed895b7c3e Merge pull request #3889 from BismuthGlass/feature/wi_global_matches
World Info chat-independent data matching
2025-04-27 21:00:57 +03:00
Cohee
6fb664fe24 Merge pull request #3919 from cloak1505/gemini-patch
Prune Google models
2025-04-27 20:36:47 +03:00
Cohee
0f8b610454 Prettify captioning model redirects 2025-04-27 20:36:14 +03:00
cloak1505
d8bc38c0b0 Make the redirection note slightly less eye bleeding 2025-04-27 12:31:19 -05:00
Cohee
54e880ef32 Align matching sources in two columns 2025-04-27 19:35:17 +03:00
Cohee
28ca8176f8 Merge pull request #3857 from wrvsrx/allow-readonly-install
Allow read-only installation
2025-04-27 19:12:12 +03:00
Cohee
0aad86c0b6 Add /colab to .dockerignore and .npmignore 2025-04-27 19:07:52 +03:00
Cohee
12badb3d67 Fix Docker build 2025-04-27 18:29:27 +03:00
Cohee
31cc05ae46 Move setPermissionsSync to util 2025-04-27 18:23:57 +03:00
Cohee
3e0697b7c7 Lintfix 2025-04-27 15:16:46 +03:00
Cohee
7c54a74ffa Add another ugli ahh list for no grounding models 2025-04-27 15:11:23 +03:00
Cohee
15daf19a08 Streaming endpoint is no longer busted
But still ass
2025-04-27 14:58:23 +03:00
Cohee
61c7f53d22 Move endpoint version to conifg. Refactor ugli model lists 2025-04-27 14:56:51 +03:00
Cohee
10f51b703b Merge pull request #3921 from A1KESH1/Update-zh-cn-translations
Update zh-cn translation
2025-04-27 14:06:17 +03:00
爱克狮
dd1c506694 Update zh-cn.json 2025-04-27 16:50:42 +08:00
爱克狮
9c9ed1593a Update zh-cn translation 2025-04-27 16:44:31 +08:00
cloak1505
acc05e633d gemini-exp to max_1mil context 2025-04-26 20:38:35 -05:00
cloak1505
4599797baf Revert responsive Google models per Cohee's executive order
I was wrong on a few models. At least Gemini still fits on a 1440p monitor.
2025-04-26 20:04:50 -05:00
cloak1505
340be02777 Default HARM_CATEGORY_CIVIC_INTEGRITY to OFF
All models support either all BLOCK_NONE, or all OFF.
2025-04-26 18:43:56 -05:00
Cohee
3e11a90b3c Add message and example counts to itemization templates 2025-04-27 02:26:43 +03:00
cloak1505
fc09be75a6 Almost done with Google pruning
* Put back 1.5-latest
* Put back missing flash 002 (same deal about safetySettings like pro 001 vs 002)
* Remove dead models and gemma from BLOCK_NONE check
2025-04-26 17:54:34 -05:00
cloak1505
af64ac001a Update caption_multimodal_model
And fix optgroup typo
2025-04-26 14:33:47 -05:00
cloak1505
c6a047651b Add 'learn' to visionSupportedModels
Also remove dead gemini-exp models
2025-04-26 14:23:10 -05:00
cloak1505
023976444f Oops, gemini-1.5-pro-001 is still live 2025-04-26 14:04:31 -05:00
cloak1505
05e60ff00b Exclude gemini-2.0-flash-lite from web search 2025-04-26 13:04:00 -05:00
cloak1505
a764e5ce54 Exclude LearnLM from web search 2025-04-26 12:51:26 -05:00
cloak1505
01d52f140a Update "Use system prompt" 2025-04-26 12:19:06 -05:00
cloak1505
28d42e5200 Prune Google models 2025-04-26 11:39:44 -05:00
Cohee
37c97db969 Merge pull request #3916 from SillyTavern/fix-instruct-regex
Check instruct activation regex before selecting context template
2025-04-26 14:25:35 +03:00
Cohee
84f339cdd6 Merge pull request #3913 from SillyTavern/fix-continue-suffix
Fix continuation suffix trimming
2025-04-26 01:47:52 +03:00
Cohee
a927ab557a Check instruct activation regex before selecting bound context template match 2025-04-26 01:47:07 +03:00
Cohee
6848b38bb7 Merge pull request #3900 from equal-l2/vision-cleanup
Vision cleanup
2025-04-26 01:21:42 +03:00
Cohee
e621f0d967 Remove model name check in convertGooglePrompt 2025-04-26 00:34:21 +03:00
Cohee
76aa17e08f Merge pull request #3911 from cloak1505/staging
Normalize instruct names behavior and repair Lightning 1.1's system prompt
2025-04-26 00:10:01 +03:00
cloak1505
321efa354a Update index.json 2025-04-25 15:35:44 -05:00
cloak1505
82c86c9ce6 Clean Lightning 1.1 2025-04-25 14:57:42 -05:00
Cohee
dafc4e8098 Merge pull request #3915 from SillyTavern/feat/refactor-wi-init
Refactor WI init to init function for more consistent startup
2025-04-25 22:28:55 +03:00
Cohee
005a495e96 Move config migration from post-install to src 2025-04-25 22:22:44 +03:00
Wolfsblvt
6eb89bd21c fix some linting 2025-04-25 20:58:28 +02:00
Wolfsblvt
05c010223b Move function above init
Well, I like that init is last in nearly all files...
2025-04-25 20:49:47 +02:00
Wolfsblvt
a667e14c8b Make global WI placeholder translatable 2025-04-25 20:45:13 +02:00
Cohee
cb32fb354c Merge pull request #3914 from cloak1505/google-patch
Print full Google response
2025-04-25 21:45:05 +03:00
Wolfsblvt
470a0964f7 Initialize world info during app startup
Moves world info event binding from jQuery document-ready handler
to explicit initialization function for better control flow
Ensures world info setup occurs after core dependencies are loaded
2025-04-25 20:43:13 +02:00
Cohee
776d220374 Why was it a warning level 2025-04-25 21:40:59 +03:00
cloak1505
93ea8b6a22 ESLint woes 2025-04-25 13:37:56 -05:00
cloak1505
ea7ff5b1c2 inspect depth 5 2025-04-25 13:22:33 -05:00
cloak1505
bd1d393e5d Print full Google response 2025-04-25 13:05:14 -05:00
Cohee
421c924c22 Do not append empty joiners 2025-04-25 21:01:53 +03:00
Cohee
5c4794812f Move creatorNotes macro init 2025-04-25 20:54:24 +03:00
Cohee
b3e51c8b1c Fix continuation suffix trimming
Fixes #3901
2025-04-25 20:20:53 +03:00
Cohee
74f441d0ba Merge pull request #3912 from kallewoof/202504-glm-4-sop-nl
trivial: remove extraneous \n after sop token
2025-04-25 19:14:56 +03:00
Karl-Johan Alm
cf7edd99a7 trivial: remove extraneous \n after sop token 2025-04-26 00:08:02 +09:00
cloak1505
2151ae7aaa Normalize instruct "names_behavior" to "force" for those that don't require "none" or "always 2025-04-25 09:40:49 -05:00
cloak1505
81fec97f54 Repair Lightning 1.1's system prompt 2025-04-25 09:22:10 -05:00
Cohee
4ce7e97ab3 Merge pull request #3908 from cloak1505/staging
Remove last message role restriction for Cohere
2025-04-25 13:27:59 +03:00
Cohee
abb6706601 Merge pull request #3906 from kallewoof/202504-glm-4-presets
chat preset: GLM-4
2025-04-25 13:25:08 +03:00
Karl-Johan Alm
2d366117dd chat preset: GLM-4 2025-04-25 15:22:51 +09:00
Crow
b233cc2480 Add extra field docs 2025-04-25 03:23:14 +01:00
Crow
bb9f765ce3 Add pointer cursor to Additional Matching Sources drawer header 2025-04-25 03:17:13 +01:00
Crow
a3d7b540c7 Change field names to match required fields 2025-04-25 03:11:36 +01:00
cloak1505
a4442899f6 Remove last message role restriction for Cohere 2025-04-24 19:35:05 -05:00
Crow
b5280bbfc7 Add type data for v2DataWorldInfoEntryExtensionInfos match fields 2025-04-25 00:51:47 +01:00
Crow
9248bf1f63 Add creatorNotes macro expansion 2025-04-25 00:49:56 +01:00
Crow
6ddd395211 Move new globalScanData args to the end 2025-04-25 00:49:12 +01:00
Crow
178391e450 Add i18n for Additional Matching Sources header 2025-04-24 23:25:35 +01:00
Crow
f8b9c1f9f5 Move matching sources to bottom of entry editor 2025-04-24 20:30:13 +01:00
Crow
994f51c18e Add back chat param 2025-04-24 20:22:47 +01:00
Crow
5504021374 Add missing machCharacterPersonality to World Info Definition 2025-04-24 20:21:52 +01:00
Crow
4d483e7814 Change handleOptionalSelect name 2025-04-24 20:21:24 +01:00
Crow
7b1baed0d7 Revert world_entry_form_control css class changes 2025-04-24 20:16:10 +01:00
Crow
d7780ee4bb Fix character card lorebook imports / exports 2025-04-24 20:13:18 +01:00
Crow
be591b2494 Revert original settings to their former place 2025-04-24 19:15:32 +01:00
equal-l2
3fd12b28dc Merge branch 'staging' into vision-cleanup 2025-04-25 01:49:40 +09:00
equal-l2
903839c9c5 Use array syntax for excluding non-vision OpenAI models
Co-authored-by: Wolfsblvt <wolfsblvt@gmail.com>
2025-04-25 01:40:13 +09:00
Cohee
c16be2ec0e Change UI for failed integrity checks 2025-04-24 15:20:43 +00:00
Cohee
5b031ed5b4 Merge pull request #3902 from SillyTavern/openrouter-reasoning-effort
Add reasoning effort control for CC OpenRouter
2025-04-23 22:08:32 +03:00
Cohee
5241b22a73 Add reasoning effort control for CC OpenRouter
Closes #3890
2025-04-23 21:38:31 +03:00
Cohee
01c6544e22 Move server-main to /src 2025-04-23 20:50:46 +03:00
Cohee
d97aa0a270 CONFIG_FILE => CONFIG_PATH 2025-04-23 20:46:36 +03:00
Cohee
cfc41163e2 Merge pull request #3893 from SillyTavern/gemini-2.5-thinking
Thinking Budget 2.5: Electric Googaloo
2025-04-23 20:36:02 +03:00
Cohee
50cdaadba0 Only verify parts length 2025-04-23 20:05:28 +03:00
Cohee
cf44ac8c1f Don't add sys instruction if empty 2025-04-23 20:04:00 +03:00
equal-l2
3e8f9e2680 Fix for eslint 2025-04-24 00:02:43 +09:00
Cohee
5509b088e2 Add a blurb for OpenAI reasoning effort 2025-04-23 14:57:14 +00:00
Cohee
24f6b11cb9 Auto == medium for Claude 2025-04-23 14:54:54 +00:00
Cohee
bdf4241d18 Default to "Auto" reasoning effort 2025-04-23 14:54:34 +00:00
Cohee
d6c4b6f419 Google: Multipart system instruction 2025-04-23 14:50:01 +00:00
equal-l2
44c5ce9a30 Exclude o1-mini from vision supported models 2025-04-23 23:45:58 +09:00
equal-l2
65aec223a3 Vision models clean-up 2025-04-23 23:45:58 +09:00
Cohee
6878c79fc8 Prevent send on Enter when IME composing
Fixes #2398
2025-04-23 09:26:15 +00:00
wrvsrx
26a520af10 Support specifing config.yaml in cli 2025-04-23 11:18:30 +08:00
Cohee
f81bbbea08 Fix effort blurb title 2025-04-23 01:02:28 +03:00
Cohee
f61d600c05 ok buddy claude 2025-04-23 00:59:12 +03:00
Cohee
e43023fde7 Cut option labels 2025-04-23 00:54:03 +03:00
Cohee
266fa5cbf8 Make auto (undefined) actually work 2025-04-23 00:45:49 +03:00
Cohee
5c8b8f4b98 Refactor getReasoningEffort 2025-04-23 00:44:14 +03:00
Cohee
bee3cee740 Go team dropdown 2025-04-23 00:38:28 +03:00
Cohee
0520f3ccf4 Fix gpt-4o-mini snapshots 2025-04-22 23:28:49 +03:00
Cohee
fe4f0c2ea6 Merge pull request #3898 from awaae001/staging
feat(slash-commands): Add /goto-floor command and implement message highlighting
2025-04-22 22:37:08 +03:00
Cohee
870abe0776 Code clean-up 2025-04-22 22:36:01 +03:00
awaae001
b39b7998ce refactor(slash-commands): 优化消息定位和滚动效果 2025-04-23 01:34:29 +08:00
awaae001
59ebf2e5b8 refactor(slash-commands): 重命名 goto-floor 命令为 chat-jump
- 将命令名称从 'goto-floor' 修改为 'chat-jump',以更好地反映其功能
2025-04-23 01:12:57 +08:00
awaae001
ee11f021eb refactor(slash-commands): 优化 /goto-floor 命令并添加高亮功能
- 重新组织消息加载和滚动逻辑,提高命令成功率
- 添加消息元素高亮功能,使用 flashHighlight 或临时 CSS 类
2025-04-23 01:04:52 +08:00
awaae001
ceeaeea123 feat(slash-commands): 优化 /goto-floor 命令并加载所有消息
- 在执行 /goto-floor 命令前加载所有消息,确保目标元素存在
- 添加加载消息的步骤,解决因懒加载导致的元素找不到问题
2025-04-23 00:45:05 +08:00
awaae001
6d0318eb36 refactor(slash-commands): 优化 /goto-floor 命令的代码格式和注释
- 修正 EDLint 标记错误
2025-04-23 00:05:35 +08:00
awaae001
485d07b91f feat(slash-commands): 添加 /goto-floor 命令并实现消息高亮
- 新增 /goto-floor 命令,允许用户滚动到指定的消息索引
- 实现消息高亮功能,滚动到指定消息后进行突出显示
- 添加相关的 CSS 样式,确保高亮效果在不同浏览器中兼容
2025-04-22 23:51:40 +08:00
Cohee
4bcfe6c2be 0.7 is fine too 2025-04-21 21:21:41 +03:00
Cohee
b9a6361662 Merge pull request #3887 from Erquint/staging
Make scrollbars make sense.
2025-04-21 21:19:49 +03:00
Cohee
a95056db40 Thinking Budget 2.5: Electric Googaloo 2025-04-21 21:10:40 +03:00
Cohee
361b557509 Remove padding from enlarged image container 2025-04-21 19:51:30 +03:00
Cohee
6ace6a07d7 Revert font-size on html, increase sb width 2025-04-21 19:45:08 +03:00
Cohee
689637b36c Merge pull request #3891 from SillyTavern/staging
Staging
2025-04-21 18:51:57 +03:00
Cohee
d726aa5563 Update release version 2025-04-21 18:09:17 +03:00
Cohee
98b12e2bba Make rem units scale with the font size slider 2025-04-21 17:46:44 +03:00
Gness Erquint
320b188d47 Using em instead of rem for scrollbar width. 2025-04-21 17:39:24 +03:00
Gness Erquint
2fa1c69f3e Show scrollbar track only when hovered. 2025-04-21 17:34:55 +03:00
Crow
4db07402c4 Change double quotes to single quotes 2025-04-20 23:26:47 +01:00
Crow
b38673a5cd Fix matching issues for depth prompt 2025-04-20 23:15:30 +01:00
Crow
14582e67a0 Fix world info entry saves for match fields 2025-04-20 22:56:06 +01:00
Crow
2683549be8 Fix save bug 2025-04-20 22:40:44 +01:00
Cohee
b3e012bea3 Merge pull request #3888 from KTibow/patch-1
change language when context size exceeded
2025-04-21 00:26:40 +03:00
Kendell R
dd3d3226eb update per cohee recommendations 2025-04-20 14:20:13 -07:00
Kendell R
c63ef20919 change language when context size exceeded 2025-04-20 13:58:11 -07:00
Crow
f1b6a329c9 Remove newlines 2025-04-20 21:57:33 +01:00
Crow
a261e87d4c Pass global scan data to WI prompt generator 2025-04-20 21:56:01 +01:00
Crow
50379f6b6e Change character note to character depth prompt 2025-04-20 21:42:48 +01:00
Crow
d2ffefd24c Implement WI matching on global data 2025-04-20 21:09:19 +01:00
Crow
aa75fe2877 Revert global WI settings changes 2025-04-20 21:09:19 +01:00
Crow
b685c4f5bf Change match options to checkboxes 2025-04-20 21:09:19 +01:00
Crow
7748c315d7 Add WIGlobalScanData type 2025-04-20 21:09:19 +01:00
Crow
349d46d74a Change matchCreatorNotes name 2025-04-20 21:09:19 +01:00
Crow
8deaefc3a6 Fix field names 2025-04-20 21:09:19 +01:00
Crow
297cfe3098 Change matchCharacterMetadata to matchCreatorsNotes 2025-04-20 21:09:19 +01:00
Crow
750e8c89a7 Add WIEntry support for new match options 2025-04-20 21:09:19 +01:00
Crow
5bed367a32 Add controls for different WI matching targets
To accomodate new settings, the WI Entry panels were reworked
slightly to add a drawer. Both Global and Entry settings are
present.
2025-04-20 21:09:19 +01:00
Gness Erquint
7be1b039ac Make scrollbars make sense. 2025-04-20 22:44:33 +03:00
Cohee
fc892b4514 Merge pull request #3884 from Cyberes/improve-generic-import
downloadGenericPng() handle missing file PNG extension
2025-04-19 22:44:19 +03:00
Cohee
afe29c61cc Use getHostFromUrl for error log 2025-04-19 22:43:16 +03:00
Cohee
c28d0dec79 Merge pull request #3885 from Cyberes/whitelist-import-char-archive
add char-archive to whitelistImportDomains
2025-04-19 22:41:46 +03:00
Cohee
7f22def794 Merge pull request #3881 from DreamGenX/dg_lucid
DreamGen Lucid
2025-04-19 22:01:37 +03:00
Cyberes
13099c43a9 add char-archive to whitelistImportDomains 2025-04-19 12:30:14 -06:00
Cyberes
1a1464800f downloadGenericPng() handle missing file PNG extension, log generic import url, add error message for when generic import site is not whitelisted 2025-04-19 12:22:43 -06:00
DreamGenX
21f98f11e5 DreamGen Lucid 2025-04-19 15:18:06 +02:00
DreamGenX
dc6407ee8f DreamGen Lucid 2025-04-19 15:04:00 +02:00
Cohee
586ce36167 Merge pull request #3868 from YunZLu/staging
Fix Edge Browser TTS Compatibility
2025-04-19 01:15:14 +03:00
Cohee
3ba7291c35 Merge pull request #3873 from Teashrock/staging
Implemented /getglobalbooks STScript command
2025-04-19 01:05:43 +03:00
Cohee
75d0cf828a Fix callback return types 2025-04-19 01:05:14 +03:00
Cohee
9d8283e4c7 Fix assets_menu selector 2025-04-18 22:42:12 +03:00
Cohee
352a8c3c97 Fix TTS provider settings
Fixes #3877
2025-04-18 22:03:17 +03:00
Teashrock
e3f5949cc1 Implemented /getglobalbooks STScript command 2025-04-18 12:32:52 +03:00
Cohee
41e6161b1d Merge pull request #3870 from DAurielS/2.5-flash
Add Gemini 2.5 Flash Preview to Model List (Makersuite)
2025-04-18 12:02:43 +03:00
Daryl
7ef9ba4f03 Added support for system instructions for gemini 2.5 flash 2025-04-17 17:49:52 -04:00
Daryl
e0b7c9ef4c Fixed image viewing capabilities and added option for caption extension 2025-04-17 17:34:35 -04:00
Daryl
53dd3aed4e Cleaning up and checking for vision support 2025-04-17 16:48:27 -04:00
Daryl
c89c1beffd Added support for Gemini 2.5 Flash Preview 04/17 from Google AI Studio 2025-04-17 16:18:34 -04:00
YunZLu
41c2dd16f2 fix(eslint): resolve no-trailing-spaces error 2025-04-18 04:12:37 +08:00
YunZLu
d7cc70256a cleaned all redundant comments 2025-04-18 03:58:04 +08:00
Cohee
8f63edfd30 Fix handling of text parts in convertGooglePrompt function
Fixes #3855
2025-04-17 21:23:58 +03:00
Cohee
dfd78077ec Prevent fetch response status forwarding
Fixes #3864
2025-04-17 13:39:09 +00:00
YunZLu
d511875db9 Fix Edge Browser TTS Compatibility
Edge-compatible fallback for empty Web Speech voice lists
2025-04-17 19:46:49 +08:00
Cohee
7b2f1f7c7a Add o3 and o4-mini 2025-04-16 23:12:40 +03:00
Cohee
ead05934a0 CI: Fix eslint checkout step to use pull request head SHA and repository 2025-04-16 21:44:21 +03:00
Cohee
722b0698e9 Fix reasoning content bleeding into multi-swipes 2025-04-16 21:35:35 +03:00
Cohee
8aa6350c31 Merge pull request #3861 from BismuthGlass/feature/fix-nested-drawers
Fix nested inline-drawer behavior
2025-04-16 21:26:09 +03:00
Subwolf
c3717ff06a Merge pull request #3852 from subzero5544/xAI-grok-reverse-proxy-testing
Adding reverse proxy support to xai chat completion
2025-04-16 21:14:38 +03:00
Crow
3be02b7217 Fix nested inline-drawer behavior 2025-04-16 18:26:42 +01:00
Cohee
8e829c900b Merge pull request #3858 from pl752/staging
Added option to use secondary API URL in vector extension
2025-04-16 20:02:47 +03:00
pl752
07fb92b37d Added vector secondary url placeholder example 2025-04-16 17:39:29 +05:00
pl752
f8bccb472f Adjusted naming and validation 2025-04-16 17:34:58 +05:00
pl752
bfe50403af Forgot semicolons 2025-04-16 16:45:01 +05:00
pl752
5cf3198da1 Added option to use secondary API URL in vector extension 2025-04-16 16:04:33 +05:00
wrvsrx
bf97686dfc Allow read-only installation
Fix #3453.

Thanks to #3499, #3500 and #3521, most of the obstacles to read-only installation have been resolved. This PR addresses the final piece, ensuring that SillyTavern no longer changes directories to `serverDirectory` and outputs files there. Instead, it outputs or copies necessary files to the directory where it is being run. Now, `serverDirectory` is read-only for SillyTavern (i.e., SillyTavern will not attempt to modify `serverDirectory`). Additionally, this PR sets the permissions for copied `default-user` files to be writable, so even if SillyTavern is installed as read-only, the copied `default-user` folder can still be modified.
2025-04-16 09:52:08 +08:00
Cohee
5510e6da31 Enable multi-swipe for xAI 2025-04-14 22:36:56 +03:00
Cohee
36e3627705 gpt-4.1 2025-04-14 20:54:18 +03:00
Cohee
0895bc6c1d Replace getExtensionPromptMaxDepth with a constant 2025-04-14 09:57:10 +03:00
Cohee
78bda9954d Increase maximum injection depth and WI order (#3800) 2025-04-13 21:31:57 +03:00
Cohee
57d30dae59 Merge pull request #3846 from invisietch/staging
chore: add llama 4 chat templates & separate system from user role in chat template for llama 3
2025-04-13 19:22:25 +03:00
invisietch
897632b583 fix: system prompt not the same as user prompt for L3/4 2025-04-13 15:12:09 +01:00
invisietch
6f05c087b9 chore: update index 2025-04-13 14:26:20 +01:00
invisietch
fc9b2173c0 fix: add <|begin_of_text|> to story string 2025-04-13 14:14:43 +01:00
invisietch
61ca7775d2 fix: start/end header tags 2025-04-13 14:09:54 +01:00
invisietch
f95077ac9f chore: add llama 4 chat templates 2025-04-13 14:04:52 +01:00
Cohee
22f1aee70b Add web search fee notice for OpenRouter
Closes #3833
2025-04-13 14:15:49 +03:00
Cohee
35395fcb39 Increase unlocked slider limits 2025-04-13 13:35:50 +03:00
Cohee
4dfc33b2a0 Merge pull request #3839 from SillyTavern/gork-ai
xAI grok
2025-04-13 13:28:35 +03:00
Cohee
5eeba8894e Fix xAI example messages conversion 2025-04-12 14:14:57 +03:00
Cohee
91fc50b82d Merge branch 'staging' into gork-ai 2025-04-11 21:15:54 +03:00
Cohee
2982d7af52 Merge pull request #3838 from bmen25124/custom_req_proxy
Added proxy support to ChatCompletionService
2025-04-11 21:14:26 +03:00
Cohee
93acbcaa76 Merge pull request #3836 from Erquint/staging
Enable image inlining for visual models when connected to Mistral AI Le Platforme.
2025-04-11 21:10:27 +03:00
Cohee
1f27a39f29 Refactor mistral max context 2025-04-11 21:09:06 +03:00
Cohee
70d65f2d05 Remove tools from grok-vision requests 2025-04-11 20:41:20 +03:00
Cohee
173207ec54 Fix Together image models listing 2025-04-11 20:36:28 +03:00
Cohee
0c4c86ef06 Add xAI for image generation extension 2025-04-11 20:32:06 +03:00
Cohee
c1544fb60c Add logo 2025-04-11 20:06:04 +03:00
Cohee
6adce75933 Remove penalties from 3-mini requests 2025-04-11 20:02:42 +03:00
Cohee
30a9fa2b9d Fix bad copy paste 2025-04-11 19:53:34 +03:00
bmen25124
fc5e0563ba Added ability to override request payload 2025-04-11 19:07:00 +03:00
Cohee
17cdc78a91 Add xAI for image captioning 2025-04-11 19:05:03 +03:00
bmen25124
4736f533a5 Added proxy support to ChatCompletionService 2025-04-11 19:04:32 +03:00
Gness Erquint
1d2122b867 Correct editing mistake in "Set correct Mistral AI token context limits." 2025-04-11 18:01:42 +03:00
Gness Erquint
2040c43371 Revert "Powers of 2 for token context limits. No -1 offset."
This reverts commit 2d77fb3e30.
2025-04-11 17:58:39 +03:00
Gness Erquint
2d77fb3e30 Powers of 2 for token context limits. No -1 offset. 2025-04-11 17:40:53 +03:00
Gness Erquint
0c4b0cfb03 Set correct Mistral AI token context limits. 2025-04-11 17:20:39 +03:00
Cohee
c0228861e5 Merge pull request #3837 from Dakraid/chore/update-fal-filter-openrouter-providers
Update FAL.AI model filter and OpenRouter Providers
2025-04-11 15:15:59 +03:00
Cohee
797de862cf Fix linter 2025-04-11 15:15:29 +03:00
Kristian Schlikow
e062a33f56 Use the proper quotes 2025-04-11 12:14:15 +00:00
Kristian Schlikow
f238e58731 Remove unnecessary new line 2025-04-11 12:12:14 +00:00
Kristian Schlikow
c5ebe4b4b1 Update the model filter for FAL.AI and update the list of providers for OpenRouter 2025-04-11 12:09:13 +00:00
Gness Erquint
43caa0c6d4 Enable image inlining for visual models when connected to Mistral AI Le Platforme. 2025-04-11 11:09:10 +03:00
Cohee
1c52099ed6 Add xAI as chat completion source 2025-04-10 22:59:10 +03:00
Cohee
c3b1573c91 Force resave CC preset after renaming
Fixes #3828
2025-04-09 22:09:10 +03:00
Cohee
820f4439ad Exclude .ts files from PR lint check 2025-04-09 21:58:32 +03:00
Cohee
491752599c Localize messages 2025-04-09 21:36:00 +03:00
Cohee
471004b828 Skill issue 2025-04-09 19:57:07 +03:00
Cohee
e9178e52eb Update upload to use fetch 2025-04-09 19:45:33 +03:00
Cohee
2fa6a11650 Merge branch 'staging' into ffmpeg-videobg 2025-04-09 19:37:11 +03:00
Cohee
f302c67b95 Merge pull request #3827 from SillyTavern/fix/wi-rename-same-name
Prevent similarily-ish world info, preset and chat file renames (preventing data loss on on case-insensitive systems)
2025-04-09 19:35:16 +03:00
Cohee
c522baf4f7 Make texts translatable 2025-04-09 19:18:05 +03:00
Wolfsblvt
ceceb8f3f0 Change same name logs to toast 2025-04-09 01:21:20 +02:00
Cohee
b5f430de6f Merge pull request #3826 from SillyTavern/custom-png-encode
Replace png encode dependency with optimized CRC32 calculation
2025-04-08 22:49:35 +03:00
Wolfsblvt
47652d7fe9 Prevent similarily-ish chat name renames 2025-04-08 21:16:11 +02:00
Wolfsblvt
55ed5b325c Prevent similarily-ish preset renames
Adds validation to prevent renaming presets to names that are identical when ignoring case and accents
Avoids accidental duplicates by ensuring meaningful name changes during preset renames
2025-04-08 21:14:09 +02:00
Wolfsblvt
6895892d5a Prevent similarily-ish world info renames
Adds validation to block renaming world info entries when new name matches existing name after ignoring case and accents

This avoids unnecessary operations and potential data duplication issues caused by superficial name changes that don't meaningfully differ in normalized form
2025-04-08 20:58:22 +02:00
Murad "Gness Erquint" Beybalaev
d3ab02df5a "Zoom right in" tooltip for media embeds. (#3804)
* "Zoom right in" tooltip for media embeds.

* Let's not say "right in" in the expand&zoom tooltip then.

Maintainer request in PR: https://github.com/SillyTavern/SillyTavern/pull/3804#discussion_r2032999775

* Update public/index.html

Yeah

Co-authored-by: Murad "Gness Erquint" Beybalaev <gness.na@gmail.com>

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-04-08 21:51:47 +03:00
Cohee
ba397fa70a Replace png encode dependency with optimized CRC32 calculation 2025-04-08 21:50:33 +03:00
Cohee
5929d5c0e4 Groq: sync supported models 2025-04-06 23:08:31 +03:00
Cohee
965c2ee29a Merge pull request #3819 from SillyTavern/feat/reasoning-set-collapse-state
Add collapse argument to `/reasoning-set` slash command
2025-04-06 23:01:23 +03:00
Wolfsblvt
6c8714c016 Add collapse argument to /reasoning-set command
Allows controlling visibility of reasoning blocks through slash commands by adding a boolean 'collapse' parameter
Respects default expansion settings when not explicitly provided

This gives users direct control over block visibility during command execution rather than relying solely on global preferences
2025-04-06 21:21:37 +02:00
Cohee
3d79885ddd Merge pull request #3816 from Ecalose/gemini_sys_prompt
fix gemini system prompt
2025-04-06 13:53:36 +03:00
Cohee
b8057b3c4f Decrease session extension interval to 10 minutes 2025-04-06 13:52:57 +03:00
Cohee
44f27a1cb7 Merge branch 'staging' into gemini_sys_prompt 2025-04-06 13:33:30 +03:00
Cohee
d2f2fee989 Merge pull request #3815 from gwentman/gemini2.5propreview
Add support of  gemini-2.5-pro-preview-03-25 API
2025-04-06 13:32:32 +03:00
Cohee
df7c2226f6 Fix Gemini captioning 2025-04-06 13:31:16 +03:00
Ecalose
ec02547b0e fix gemini system prompt 2025-04-06 16:10:49 +08:00
gwentman
18cc17142f add support to the gemini 2.5 pro preview api 2025-04-06 17:10:24 +10:00
Cohee
e753e432be Refactor redirectToHome function to use URL object 2025-04-05 21:54:01 +03:00
Cohee
571356ffd9 Merge pull request #3810 from SillyTavern/onbeforeunload
Add beforeunload event listener to prompt user when chat is saving
2025-04-04 21:56:57 +03:00
Cohee
6f543e860f #3809 Add beforeunload event listener to prompt user when chat is saving 2025-04-04 15:58:06 +00:00
Cohee
7987f02dee Exclude <style> tags from quote and underscore italics processing
Fixes #3808
2025-04-04 13:53:56 +00:00
Cohee
c7ce0fe66a Fix localized API URL examples
Fixes #3807
2025-04-04 10:57:22 +00:00
Cohee
d05373cdd2 Upload video bg via converter extension 2025-04-03 23:48:01 +03:00
Cohee
d50698861a Merge pull request #3799 from SillyTavern/export-unset-chat
Unset chat field on import/export
2025-04-03 09:00:26 +03:00
Cohee
b26369ca86 Unset private fields from JSON exports 2025-04-02 22:09:48 +03:00
Cohee
76c59cbc52 Unset chat field on import/export
Closes #3781
2025-04-02 22:08:20 +03:00
Cohee
ee26581df1 Fix WASM load hanging on some Node versions <20.6.0 2025-04-02 17:48:13 +00:00
Cohee
0a521d7a35 Merge pull request #3793 from Erquint/staging
Clickable image attachments — no more fiddling with the spyglass button.
2025-04-01 22:26:52 +03:00
Cohee
943e14f797 Fix style 2025-04-01 22:03:14 +03:00
Cohee
b31a53ab99 Fix selector 2025-04-01 22:01:12 +03:00
Cohee
058fef1146 Update Jimp and add WASM plugins (#3784)
* Update jimp, use WASM format plugins

* Fix Jimp import path in thumbnails endpoint

* Fix size variable

* Add fetch patch to handle file URLs

* Fix JPEG thumbnailing

* Enhance fetch patch to validate file paths and support specific extensions

* Add default msBmp format

* Update jsconfig

* Update JPEG color space in thumbnail generation to YCbCr

* Install jimp plugins explicitly

* Refactor fetch patch utility functions
2025-04-01 21:55:21 +03:00
Cohee
70fe5b6e01 Add Gemini embedding model for vector storage 2025-04-01 21:42:26 +03:00
Cohee
80e821d12d Add support for KoboldCpp embeddings in Vector Storage (#3795)
* Add support for KoboldCpp embeddings in vector processing

* Add validation for KoboldCpp embeddings to handle empty data

* Improve toast handling
2025-04-01 21:21:29 +03:00
Cohee
9c4404cae9 Remove unused imports 2025-04-01 20:24:59 +03:00
Cohee
3458f58c63 Refactor ensureThumbnailCache to accept directoriesList parameter 2025-04-01 11:16:00 +03:00
Cohee
f0338cc325 Merge pull request #3792 from bmen25124/con_prof_api_err
Added api check for ConnectionManagerRequestService.handleDropdown
2025-04-01 10:24:35 +03:00
Gness Erquint
864859dd6b Made attached images clickable — no more fiddling with the spyglass pictogram. Augmented the "Enlarge" button's function to retain it. 2025-04-01 05:35:24 +03:00
bmen25124
50b2eeb61f Added api check for ConnectionManagerRequestService.handleDropdown 2025-04-01 04:39:41 +03:00
Wolfsblvt
fef36bfc39 Fix deleting swipes overwriting reasoning
- Well, someone forgot about syncing extras and mes data again....
- Built the oppositive function of `syncMesToSwipe`, so we can now call `syncSwipeToMes`

Fixes #3787
2025-03-31 13:35:55 +00:00
Cohee
26d0f01d69 Merge pull request #3775 from SillyTavern/feat/ext-manager-toolbar
Move extension buttons to a separate toolbar
2025-03-30 19:22:19 +03:00
Cohee
469c731ff4 Merge pull request #3786 from SillyTavern/tilde-codeblock
Improve tilde code blocks in message formatting and TTS processing
2025-03-30 14:03:12 +03:00
Cohee
65a6e428d1 Improve tilde code blocks in message formatting and TTS processing 2025-03-30 13:25:15 +03:00
Cohee
60603a008c Update GitHub Actions workflow to use the current branch reference for checkout 2025-03-29 19:27:47 +02:00
Cohee
2271d7a220 Merge pull request #3776 from SillyTavern/fix/raw-quotes
Add opt-in for rawQuotes in SlashCommand registration
2025-03-29 19:07:09 +02:00
Cohee
819ce198a8 Add raw quotes indicator in slash command autocomplete 2025-03-29 18:04:11 +02:00
Cohee
c673ebcc22 Merge branch 'staging' into fix/raw-quotes 2025-03-29 17:51:34 +02:00
Cohee
572b60d0c1 Merge branch 'staging' into feat/ext-manager-toolbar 2025-03-29 17:43:18 +02:00
Cohee
c85e55bcca Merge pull request #3783 from SillyTavern/fix/remove-pm-export-popup
Remove prompt manager export popup
2025-03-29 17:41:26 +02:00
Cohee
1323ac1d13 Remove prompt manager export popup
Fixes #3782
2025-03-29 16:05:31 +02:00
Cohee
157046ff46 Merge pull request #3778 from SillyTavern/fix/persona-select-rerender-first-message
Fix persona select on new chat not rerendering first message (and not replacing `{{user}}` macro)
2025-03-28 23:42:58 +02:00
Cohee
bdcf9b088e Revert "Fix backward compatibility with escaped leading quote"
This reverts commit deb13e9c97.
2025-03-28 21:00:02 +02:00
Cohee
deb13e9c97 Fix backward compatibility with escaped leading quote 2025-03-28 10:29:32 +02:00
Cohee
c05b6b0ae8 Add JSDoc to rawQuotes 2025-03-28 10:28:02 +02:00
Wolfsblvt
97040a98a0 Remove 'In Progress' label when marking issues as done
Automatically removes the '🧑‍💻 In Progress' label while adding completion labels
to keep issue tracking clean and accurate after merging. Updates log messages
to reflect both label additions and removals consistently across workflows
2025-03-28 01:58:22 +01:00
Wolfsblvt
d95524032e Centralize first message retrigger on persona changes
Moves retrigger logic to setUserAvatar entry point
to avoid duplicate calls when updating personas
Removes redundant triggers from name/avatar handlers

Fixes #3774
2025-03-28 01:28:36 +01:00
Wolfsblvt
6dc33e9637 Cast this_chid to number in personas.js
Ensure numeric type for character ID comparisons
Explicitly converts this_chid to Number in multiple functions
to prevent type mismatch issues when checking character connections
and persona states
2025-03-28 01:25:13 +01:00
Cohee
533aeffa36 Add opt-in for rawQuotes in SlashCommand registration
Closes #2739
Supersedes #2921
2025-03-27 23:22:38 +02:00
Cohee
0a85178846 Merge pull request #3766 from bmen25124/custom_request_stop_string_cleanup
Added stop string cleanup, better stopping string param
2025-03-27 23:06:43 +02:00
Cohee
d93aba5706 Fix useStopStrings defaulting 2025-03-27 22:52:01 +02:00
Cohee
68c572f2eb Merge branch 'staging' into custom_request_stop_string_cleanup 2025-03-27 22:41:11 +02:00
Cohee
74efb598f1 Merge pull request #3768 from bmen25124/move_lorebook_entry
Added move button for lorebook entries
2025-03-27 22:36:28 +02:00
Cohee
62395f409f There's no ==== operator (yet) 2025-03-27 22:34:30 +02:00
Cohee
561bed9cc2 Replace goofy comment 2025-03-27 22:30:06 +02:00
Cohee
5f00f2beb0 Add quotes to item title being moved 2025-03-27 22:28:14 +02:00
Cohee
496f86e16e Use non-strict equality instead to avoid explicit typecast 2025-03-27 22:27:23 +02:00
Cohee
3ce715c52f Fix deletion from originalData 2025-03-27 22:24:39 +02:00
Cohee
f4d467048b Fix type error 2025-03-27 22:20:28 +02:00
Cohee
280608f061 Use real class name 2025-03-27 22:19:49 +02:00
Cohee
e9c8b8c24e Save both files immediately 2025-03-27 22:17:53 +02:00
Cohee
ae050be2d1 Lint fix 2025-03-27 22:02:24 +02:00
Cohee
02df7d78e2 Move extension buttons to a separate toolbar 2025-03-27 21:51:35 +02:00
Cohee
216c698610 Merge pull request #3771 from Erquint/no_updates_for_disabled_ext
No updates for disabled extensions, unless you insist.
2025-03-27 21:49:45 +02:00
Cohee
01c793eae2 Merge branch 'staging' into no_updates_for_disabled_ext 2025-03-27 20:59:49 +02:00
Cohee
a8558ba6fb Merge pull request #3765 from SillyTavern/feat/wi-content-expando
Add expand editor for WI content
2025-03-27 20:57:57 +02:00
Cohee
a2e3519218 Fix eslint 2025-03-27 20:54:06 +02:00
Cohee
1639289b18 Merge pull request #3763 from qvink/empty_message_injection
Fix for generation interceptors messing with WI timed effects
2025-03-27 20:53:39 +02:00
Cohee
e5d5f953ec Add symbols to getContext 2025-03-27 20:48:13 +02:00
Cohee
de091daa40 Clean-up comments 2025-03-27 20:46:27 +02:00
Cohee
f1479de5bd Merge pull request #3773 from equal-l2/remove-block-entropy
Remove Block Entropy references
2025-03-27 20:44:31 +02:00
Cohee
0d111652b5 Remove from auto-connect logic 2025-03-27 20:38:34 +02:00
equal-l2
2a31f6af2d Remove Block Entropy references
Block Entropy shut down their service at the end of 2024.
2025-03-28 00:47:30 +09:00
qvink
dac5f6910c adding comments 2025-03-27 09:40:42 -06:00
qvink
1dcd837eb1 lint 2025-03-27 09:38:14 -06:00
qvink
f1a053c3b8 using symbols instead 2025-03-27 09:31:52 -06:00
Gness Erquint
976d4f39e6 No updates for disabled extensions, unless you insist. 2025-03-27 17:27:17 +03:00
bmen25124
f33b31dc19 Removed type from icon element 2025-03-27 14:42:50 +03:00
bmen25124
8970c8274c Removed jqueryElement.data usages 2025-03-27 14:38:54 +03:00
bmen25124
bc08d42d0e Progress on move entry
* Fixed header alignment
* Building HTML with browser api instead of string.
* jqueryElement.data(key, value) usages converted to jqueryElement.attr(data-key, value)
* Logs simplified
* Removed success toastry message
2025-03-27 06:21:52 +03:00
bmen25124
f14c73bfcc Added move button for lorebook entries 2025-03-27 04:53:16 +03:00
bmen25124
4e207c2cf0 Removed duplicate codes 2025-03-26 23:38:02 +03:00
bmen25124
972b1e5fa7 Fixed variable naming, better jsdoc 2025-03-26 23:30:09 +03:00
bmen25124
a7d48b1aed Added overridable instruct settings, removed macro override 2025-03-26 23:21:48 +03:00
bmen25124
c5f251c6e3 Added stop string cleanup, better stopping string param 2025-03-26 22:35:10 +03:00
Cohee
8d06582b58 Add expand editor for WI content
Closes #3764
2025-03-26 21:15:41 +02:00
qvink
251d242a0d custom flag in message.extra, also apply to chat completion 2025-03-26 13:10:50 -06:00
qvink
72f91a4994 use custom flag instead 2025-03-26 09:28:42 -06:00
Cohee
f4eb32c71c Merge pull request #3760 from SillyTavern/feat/expressions-none-default-option
Add 'none' expression classifier API option and set as default
2025-03-26 11:10:13 +02:00
qvink
abb908e62c semi 2025-03-25 22:36:05 -06:00
qvink
9d88c1578b don't format messages with undefined content 2025-03-25 22:31:44 -06:00
Wolfsblvt
ebf3920f9f Merge pull request #3761 from Bronya-Rand/staging
chore: make layer updates exportable
2025-03-26 03:14:07 +01:00
Azariel Del Carmen
b96bed7240 chore: make layer updates exportable 2025-03-25 20:09:48 -05:00
Wolfsblvt
cbfc1f7a0e Add 'none' classifier API option and set as default
Introduces a no-op API selection to disable expression classification
Shows warnings when no valid API is selected to prevent silent failures
Updates migration logic and settings UI to use new default value

This allows users to explicitly opt-out of automatic expression detection
while maintaining backwards compatibility with existing configurations
2025-03-26 01:50:26 +01:00
Cohee
2588646b0f Merge pull request #3759 from cloak1505/staging
Fix typo for 2.5 Pro Exp vision support
2025-03-25 23:40:56 +02:00
Cohee
75be96e1f7 Merge pull request #3754 from SillyTavern/fix-openrouter-oauth
OpenRouter: Fix OAuth flow with enabled accounts
2025-03-25 23:20:42 +02:00
cloak1505
b6e5df1983 Fix typo for 2.5 Pro Exp vision support 2025-03-25 15:07:59 -05:00
Cohee
264d77414a Gemini 2.5 Pro 2025-03-25 21:21:23 +02:00
Wolfsblvt
d70c346b12 Expression API on new install defaults to 'local' 2025-03-25 05:17:06 +01:00
Cohee
4ced7abaa3 OpenRouter: Fix OAuth flow with enabled accounts 2025-03-24 20:22:59 +02:00
Cohee
c2e6593343 Add error handling to autorun 2025-03-24 10:03:23 +00:00
Cohee
be7750d6fd Limit cache read parallelism
#3747
2025-03-24 02:21:48 +02:00
Cohee
c69623278f Revert to sync file read in card parser
#3747
2025-03-24 02:03:05 +02:00
Cohee
d4b8983d47 Add forgiveParseErrors option to DiskCache instance creation
#3747
2025-03-23 23:20:38 +02:00
Cohee
921850a62b Split accessing cache instance and processing data
#3747
2025-03-23 23:09:21 +02:00
Cohee
4048a0a09a Merge pull request #3717 from Scarlet-t/staging
added button to rename chat completion preset
2025-03-23 21:29:24 +02:00
Cohee
b9c5703568 Return to old id for delete 2025-03-23 21:26:27 +02:00
Cohee
a070d13723 Revert non-rename changes 2025-03-23 21:25:50 +02:00
Cohee
6d7943d2a0 Clean-up changes diff 2025-03-23 21:24:14 +02:00
Cohee
2af33a9e18 Add error handling to accessing disk cache
Fixes #3747
2025-03-23 21:05:36 +02:00
Cohee
9717259776 Merge pull request #3737 from qvink/staging
Adding option to disable removal of "{{user}}:" and "{{char}}:" in generateRaw()
2025-03-23 18:05:12 +02:00
qvink
66832fc98a removing whitespace trimming in trimWrongNames block 2025-03-23 09:41:03 -06:00
Cohee
e44b123330 Add no select style to select2-dropdown
Fixes #3745
2025-03-23 14:49:20 +02:00
InspectorCaracal
235a1372e8 fix group chid data attr 2025-03-23 14:45:10 +02:00
Cohee
0e76530f43 Merge pull request #3746 from InspectorCaracal/patch-1
Fix group chid data attr in `performGroupMemberAction`
2025-03-23 14:43:14 +02:00
Cohee
a8f1bf7a17 Merge pull request #3744 from bmen25124/updateEditor_export_new_parm
Exported reloadEditor
2025-03-23 14:42:07 +02:00
InspectorCaracal
6bb91dd0df fix group chid data attr 2025-03-22 23:41:29 -06:00
bmen25124
80e1226d28 Exported reloadEditor 2025-03-23 03:40:04 +03:00
qvink
36adb6992e the cooler ternary 2025-03-22 16:43:08 -06:00
qvink
900575ee1a adding missing colon 2025-03-22 16:30:54 -06:00
qvink
9a3e3433c7 Adding missing doc string 2025-03-22 15:54:57 -06:00
qvink
841f814137 Reverting cleanUpMessage() functionality changes. 2025-03-22 15:52:37 -06:00
Cohee
ce2fd8800d Merge branch 'release' into staging 2025-03-22 19:39:34 +02:00
Cohee
74addf1241 Fix TogetherAI models list 2025-03-22 19:39:23 +02:00
Cohee
5969bf3992 Merge pull request #3732 from SillyTavern/disk-cache
Add disk cache for parsed character JSONs
2025-03-22 19:11:04 +02:00
Cohee
834c9751f8 Merge branch 'staging' into disk-cache 2025-03-22 18:52:01 +02:00
Cohee
50334890a6 Merge pull request #3742 from bmen25124/custom_request_stream
Added stream support to "custom-request"
2025-03-22 18:44:02 +02:00
Cohee
0b937237c3 Refactor getStreamingReply to use nullish coalescing for show_thoughts 2025-03-22 18:27:49 +02:00
Cohee
a20c8978f9 Refactor DiskCache to use a synchronization queue and update cache key generation 2025-03-22 17:03:41 +02:00
Cohee
4f52c369fa Merge pull request #3743 from BrendanMcCauley/3710
Fix activatePooledorder()
2025-03-22 11:14:08 +02:00
Brendan McCauley
5472ddc8e6 Fix activatePooledorder() 2025-03-21 19:58:26 -04:00
Cohee
50340103de Increase cache clean-up interval 2025-03-22 01:18:23 +02:00
Cohee
b625319f0c Optimize cache verification 2025-03-22 01:10:22 +02:00
Cohee
8e66ab4d51 Fix cache removal queue processing 2025-03-21 22:47:45 +02:00
Wolfsblvt
1f9472e7b2 Try fix linter with explicit permissions 2025-03-21 21:00:53 +01:00
Cohee
82b885e5ef Sorry we don't know why lint didn't work 2025-03-21 21:49:26 +02:00
bmen25124
7df6a78f33 Better overrideShowThoughts value 2025-03-21 22:19:13 +03:00
bmen25124
17e0058763 Changed options type 2025-03-21 22:16:57 +03:00
bmen25124
7619396053 Better naming 2025-03-21 22:09:41 +03:00
qvink
f713948a1b formatting 2025-03-21 12:32:06 -06:00
qvink
c4175697ef cleanUpMessages() now uses object args. Adding option to trim names. 2025-03-21 12:18:48 -06:00
bmen25124
ec474f5571 Added stream support to "custom-request" 2025-03-21 20:44:09 +03:00
Cohee
3ca6e0e8fc Update readme.md 2025-03-21 10:46:27 +02:00
qvink
ff21ee24d1 removing redundant .indexOf(). Adding extra length to account for the colon. 2025-03-20 21:46:16 -06:00
qvink
39ebffa282 Fix for removal of "{{user}}:" from generations 2025-03-20 20:00:26 -06:00
Cohee
ef56eda2c2 Merge pull request #3730 from SillyTavern/feat/command-buttons-multiple
Add support for toggleable buttons/multiselect in `/buttons` command
2025-03-20 10:42:57 +02:00
Cohee
e3c465258e Merge pull request #3731 from SillyTavern/fix-srw-trim
Fix replacing user_prompt_bias on display
2025-03-20 10:37:46 +02:00
Cohee
4490c3edd5 Dispose diskCache during preSetupTasks cleanup 2025-03-20 10:24:27 +02:00
Cohee
3355c682ca Convert to class 2025-03-20 10:21:41 +02:00
Wolfsblvt
40f2eae3f3 Make it return empty array on cancel 2025-03-19 22:46:11 +01:00
Cohee
df4700914c Remove debug log 2025-03-19 23:33:15 +02:00
Cohee
60e4993a89 Refactor cache entry removal to use Set for removalQueue 2025-03-19 23:32:37 +02:00
Cohee
587c528f6d Implement cache entry removal queue in diskCache 2025-03-19 23:31:30 +02:00
Cohee
9c7d3d7400 Add cache validation func to startup 2025-03-19 23:03:39 +02:00
Cohee
0e2290dacf Enable disk cache by default 2025-03-19 22:45:26 +02:00
Cohee
1a2c54ce39 Disable TTL on disk cache 2025-03-19 22:40:49 +02:00
Cohee
694df8ca55 Merge branch 'staging' into disk-cache 2025-03-19 22:40:11 +02:00
Cohee
c5d4bdcd0b Merge branch 'staging' into fix-srw-trim 2025-03-19 22:28:27 +02:00
Cohee
fb2f8dce10 Merge pull request #3721 from SillyTavern/or-prompt-post-processing
OpenRouter: Allow applying prompt post-processing
2025-03-19 22:16:09 +02:00
Wolfsblvt
8eee1d09a8 Add support for toggleable /buttons
Enhances the buttons slash command with toggleable multi-select capability
Introduces a 'multiple' parameter to enable selecting several options
Updates button styling with visual indicators for toggle states
Modifies return value to handle array of selections when multiple is enabled
2025-03-19 21:13:28 +01:00
Cohee
297a767746 Merge branch 'staging' into or-prompt-post-processing 2025-03-19 22:07:35 +02:00
Cohee
c047e1acd9 Merge pull request #3729 from Erquint/staging
Use Node.js path parser to extract the filename stem in the chats search.
2025-03-19 22:07:06 +02:00
Cohee
ec98746ac6 Merge pull request #3728 from SillyTavern/actions/eslint-checker
Add ESLint PR check action
2025-03-19 22:04:15 +02:00
Cohee
af0939038b Fix undefined type references 2025-03-19 21:26:38 +02:00
Wolfsblvt
df5b79a1a4 Move run-eslint to PR Manager workflow 2025-03-19 20:24:26 +01:00
Cohee
a183c8f69a Fix the rest of lints 2025-03-19 21:21:04 +02:00
Cohee
d7dbe736f8 Downgrade jsdoc plugin 2025-03-19 21:20:28 +02:00
Cohee
0af4a3ebd7 Fix unfixable lints 2025-03-19 21:10:42 +02:00
Wolfsblvt
73520b923f break some linting... 2025-03-19 20:01:31 +01:00
Wolfsblvt
b88f9fb1ff break some linting 2025-03-19 19:59:17 +01:00
Wolfsblvt
39a385ab04 Update eslint workflows version + formatting
- Add explicit version numbers (to prevent update conflicts)
- Separate the steps and give them names, for better readability on workflow log
- Only run on opened/synchronize
2025-03-19 19:58:00 +01:00
Murad "Gness Erquint" Beybalaev
6872ad9489 More pointless lint. 2025-03-19 21:26:43 +03:00
Murad "Gness Erquint" Beybalaev
5a2311b806 Linter's gonna lint… 2025-03-19 21:24:08 +03:00
Gness Erquint
cc54158f09 Use Node.js path parser to extract the stem in the chats search. 2025-03-19 21:17:42 +03:00
Cohee
20cdcc37fc Fix fixable lints 2025-03-19 20:00:33 +02:00
Cohee
8a4a338455 Add unlinted file 2025-03-19 19:51:29 +02:00
Cohee
a7a3badb8e Add ESLint PR check action 2025-03-19 19:46:32 +02:00
Cohee
9b76b6dd3c Merge branch 'staging' into or-prompt-post-processing 2025-03-19 19:32:55 +02:00
Cohee
190f2f9085 Merge pull request #3727 from Erquint/staging
Chat titles are now included in the search. Query terms don't have to occur in the same message anymore.
2025-03-19 19:32:21 +02:00
Cohee
d3e62fe56c Fix lint 2025-03-19 19:31:09 +02:00
Murad "Gness Erquint" Beybalaev
a3c57fb05f Correct the chat search comment. 2025-03-19 20:27:35 +03:00
Wolfsblvt
0e746f0368 Fix workflow permissions for done labeling 2025-03-19 18:26:42 +01:00
Cohee
6bfa54e9b4 Merge pull request #3725 from SillyTavern/feat/expressions-filter-available
Adds filtering to expressions to ignore labels that do not have sprites available
2025-03-19 19:18:02 +02:00
Cohee
f5ecd1fa5f Reduce warning level to debug 2025-03-19 19:15:07 +02:00
Gness Erquint
bbdd98a155 Prepend title to chat messages array before concatenating the string. 2025-03-19 19:40:28 +03:00
Cohee
0607ac98db Fix replacing user_prompt_bias on display 2025-03-19 15:52:51 +00:00
Murad "Gness Erquint" Beybalaev
d48ebdb0d4 Join searched messages by linebreak to avoid searching for implicit whitespace. 2025-03-19 18:38:05 +03:00
Wolfsblvt
2e936e804a Fix default value for filter argument 2025-03-19 10:17:08 +01:00
Wolfsblvt
42730bbe92 Fix sprite upload on empty expression
- When no sprite was defined before, it falsely tried to derive the filename from the existing filename when "allow multiple" was not enabled. It now correctly just utilizes the expression name, not relying on filename anymore.
2025-03-19 09:52:20 +02:00
Cohee
d5d3516e18 Merge pull request #3724 from SillyTavern/fix/expressions-upload-new
Fix not being able to upload sprite when no sprite existed for an expression
2025-03-19 09:51:45 +02:00
Cohee
7784b71c55 Merge pull request #3726 from SillyTavern/feat/expressions-remove-reasoning
Clean reasoning from LLM/webLLM classify response on expression classification
2025-03-19 09:44:05 +02:00
Gness Erquint
35fa634f1d Chat titles are now included in the search. Query terms don't have to occur in the same message anymore. 2025-03-19 06:13:54 +03:00
Wolfsblvt
a8899f7d81 Clean reasoning from classify response
- If a reasoning model is used (via LLM, or R1 distill via webLLM), it'll likely return reasoning. That should not be used for the search of classification inside the response
2025-03-19 03:30:53 +01:00
Wolfsblvt
5a6058d319 Adds sprite-based filtering for expressions
- Functionality only available for LLM/webLLM
- New toggle to filter expressions on availalbe sprites
- `getExpressionsList` filters cached expressions when checked (using sprite folder name/override)
- `/expression-list` slash command has "filter" arg to filter list
- `/expression-classify` slash command has "filter" arg now, to use filtered list for classification
- `getExpressionLabel` uses filtered expressions when LLM/webLLM
2025-03-19 03:06:50 +01:00
Wolfsblvt
8366b7de60 Fix workflow circular dependency 2025-03-19 02:38:09 +01:00
Wolfsblvt
0be952b9a0 Fix sprite upload on empty expression
- When no sprite was defined before, it falsely tried to derive the filename from the existing filename when "allow multiple" was not enabled. It now correctly just utilizes the expression name, not relying on filename anymore.
2025-03-19 02:17:17 +01:00
Wolfsblvt
33a72d10a0 Label PR by size last (and pray) 2025-03-18 23:03:02 +01:00
Jenny
ab2ff7ee34 added back import/export logic for cc presets 2025-03-18 21:17:44 +00:00
Cohee
fcaea46a54 Apply post-process before setting cache at depth 2025-03-18 23:17:26 +02:00
Cohee
7d034cba11 Remove forced newline separator from group join wrappers (#3722)
* Remove forced newline separator from group join wrappers

* Remove unnecessary ternary

* Do not trim field wrappers
2025-03-18 23:12:49 +02:00
Cohee
c1697dc3b3 Merge pull request #3720 from bmen25124/group_wrapper_events
Added group wrapper events
2025-03-18 21:45:34 +02:00
Cohee
46d5f79fd9 OpenRouter: Allow applying prompt post-processing
Fixes #3689
2025-03-18 21:33:11 +02:00
bmen25124
6a4b8c3870 Added group wrapper events 2025-03-18 22:21:25 +03:00
Cohee
283edd94b9 Merge pull request #3718 from SillyTavern/feat/an-macro
Add macros for Author's Notes
2025-03-18 21:08:18 +02:00
Wolfsblvt
909c7f1037 Merge pull request #3719 from SillyTavern/fix-workflows-v2-v1.1
Fixing GitHub Workflows - again (maybe this time it works)
2025-03-18 19:51:26 +01:00
Wolfsblvt
5bda6eac13 Switch pr workflow back to pull_request_target 2025-03-18 19:49:30 +01:00
Wolfsblvt
8d37f9f38c Replace workflow secrets with automatic secret 2025-03-18 19:48:04 +01:00
Wolfsblvt
68965d0791 Update auto labeling
- Fix labeling of issues not using word boundaries
- Add new PR by branch name labels
2025-03-18 19:45:02 +01:00
Cohee
8309c30a3e Merge branch 'staging' into feat/an-macro 2025-03-18 20:27:37 +02:00
Cohee
4df98b0341 Add macro for charDepthPrompt 2025-03-18 20:27:15 +02:00
Wolfsblvt
490aa991d2 Maybe it's a permissions issue 2025-03-18 19:24:07 +01:00
Wolfsblvt
819d698938 Try fix PR size labeling by conditional 2025-03-18 19:14:44 +01:00
Cohee
b6c1c9a40d MistralAI: Add new models 2025-03-18 19:53:02 +02:00
Cohee
c716494622 Merge pull request #3711 from qvink/fix_genraw_prompt_bias
Fixing user_prompt_bias being incorrectly added using generateRaw()
2025-03-18 19:11:50 +02:00
Cohee
6e4bd00ef8 Update parameter naming 2025-03-18 19:09:57 +02:00
Cohee
1122c675e5 Merge pull request #3715 from GhostXia/staging
change 01ai endpoint
2025-03-18 19:02:04 +02:00
Cohee
e2eec77a19 Update HTML link 2025-03-18 19:00:01 +02:00
Cohee
3c61074d78 Add macros for Author's Notes
Closes #3716
2025-03-18 18:15:59 +02:00
Jenny
1943325653 added button to rename chat completion preset 2025-03-18 15:15:51 +00:00
Cohee
8d279dd94d Fix saveChat positional argument migration 2025-03-18 10:33:52 +00:00
Cohee
e2f9489684 Merge pull request #3698 from SillyTavern/integrity
Add integrity check when saving solo chat files
2025-03-18 12:28:38 +02:00
GhostXia
eb52872b13 change 01ai endpoint 2025-03-18 17:19:22 +08:00
qvink
3412d1ce1f adding option to cleanUpMessage() to not include the user prompt bias, and removing the user prompt bias from generateRaw() results. 2025-03-17 20:44:32 -06:00
Cohee
c92ca8dbfb Merge branch 'staging' into integrity 2025-03-18 01:51:07 +02:00
Cohee
03d590415b Merge pull request #3700 from SillyTavern/reasoning-template
Reasoning templates
2025-03-18 01:49:06 +02:00
Cohee
4965ada785 Shorten the popup header text 2025-03-18 01:41:27 +02:00
Cohee
785cacbcb6 Add migration of positional arguments 2025-03-18 01:39:23 +02:00
Cohee
cbb69adf53 Merge pull request #3709 from SillyTavern/fix-expression-override-display
Fix Expression Override not resetting if empty
2025-03-18 01:05:58 +02:00
Cohee
b3406f8abf Merge branch 'release' into staging 2025-03-18 00:59:15 +02:00
Cohee
594a3720ad Fix TTS 2025-03-18 00:59:04 +02:00
Cohee
b1346910a4 Adjust reasoning template migration procedure 2025-03-18 00:47:20 +02:00
Cohee
271c93a504 Rename DeepSeek template, add Blank reasoning template 2025-03-18 00:32:31 +02:00
Cohee
6ff06ff04b Use performFuzzySearch 2025-03-18 00:29:03 +02:00
Wolfsblvt
5585220d0a Fix Expression Override not resetting if empty
- When switching chars, override field gets correctly loaded. The display value won't be reset when the override was empty. This was likely unintended.
2025-03-17 23:23:58 +01:00
Cohee
49949f2f8e Merge pull request #3705 from Yokayo/staging
Update ru-ru translation
2025-03-18 00:01:15 +02:00
Cohee
058bddfe81 Merge pull request #3708 from SillyTavern/fix-swipes-reasoning
Fix deleting swipes overwriting reasoning
2025-03-17 23:53:36 +02:00
Wolfsblvt
ca53323a08 Fix deleting swipes overwriting reasoning
- Well, someone forgot about syncing extras and mes data again....
- Built the oppositive function of `syncMesToSwipe`, so we can now call `syncSwipeToMes`
2025-03-17 20:59:08 +01:00
Yokayo
e7c9960a45 Fix 2025-03-18 02:15:13 +07:00
Cohee
3f95f30a2b Merge pull request #3706 from bmen25124/custom_request_chat_comp_url
Added "custom_url" to ChatCompletionService
2025-03-17 15:37:58 +02:00
Yokayo
1dade2970b Reasoning keys 2025-03-17 20:21:11 +07:00
bmen25124
86de927ab9 Added "custom_url" to ChatCompletionService 2025-03-17 14:54:59 +03:00
Cohee
fba2d809d0 Merge branch 'release' into staging 2025-03-17 09:47:11 +00:00
Cohee
b01e2824be Remove trim from /start-reply-with 2025-03-17 09:46:52 +00:00
Yokayo
40c3674da1 Update tl 2025-03-17 16:09:36 +07:00
Cohee
df48428d1d Merge pull request #3702 from SillyTavern/hotfix-pr-workflow-v2
Hotfix pr workflow v2
2025-03-16 23:46:11 +02:00
Cohee
f245c48b17 Merge pull request #3701 from bmen25124/exports_for_chat_rebuild
New exported methods
2025-03-16 23:43:57 +02:00
Cohee
c022858e5b Fix structuredClone 2025-03-16 23:37:18 +02:00
Cohee
0bdb131c22 Refine Docker CLI documentation 2025-03-16 23:25:42 +02:00
bmen25124
8dc66bd21b Better WI type readability, fixed clone and type opeators. 2025-03-17 00:13:39 +03:00
Wolfsblvt
111fa0dee5 Use older version of PR size labeler 2025-03-16 22:09:28 +01:00
Wolfsblvt
d887eb2258 Revert "Fix PR workflow by chaining actions"
This reverts commit aacbc5b6db.
2025-03-16 22:08:22 +01:00
bmen25124
1593951281 Cloned preset before using 2025-03-17 00:00:37 +03:00
Cohee
cf2671c6d7 Merge branch 'staging' into reasoning-template 2025-03-16 22:51:28 +02:00
Cohee
a8716d7c69 Merge branch 'release' into staging 2025-03-16 22:51:09 +02:00
Cohee
ecfad12b59 Merge pull request #3699 from SillyTavern/hotfix-pr-workflow
Fix PR workflow by chaining actions
2025-03-16 22:50:52 +02:00
Wolfsblvt
aacbc5b6db Fix PR workflow by chaining actions 2025-03-16 21:48:50 +01:00
bmen25124
0e41db615e New exports 2025-03-16 23:44:02 +03:00
Cohee
d314752547 Add reasoning template to connection profiles 2025-03-16 22:39:43 +02:00
Cohee
fa641e9946 Handle empty files in readFirstLine 2025-03-16 22:16:53 +02:00
Cohee
8bd17de2f3 Invert conditions 2025-03-16 21:49:36 +02:00
Cohee
5145e30be3 Don't bail early if empty token provided from UI 2025-03-16 21:45:07 +02:00
Cohee
5fca39fae7 Fix force flag not being passed 2025-03-16 21:39:31 +02:00
Cohee
5ab284f1f5 Merge branch 'staging' into integrity 2025-03-16 21:28:37 +02:00
Cohee
8ec83fd5d9 Fix corruption due to this_chid shift (#3669)
* continue works same as swipe continued message isn't depth counted

* correct early-out check

* update regex depth setting tooltips for accuracy

* update max tooltip

* remove redundant check

* Fix corruption due to this_chid shift
Fixes #3667

* Unshallow current character on reload

* Allow -1 as a min depth value

* Use selectCharacterById, fix rename logic

* Remove pointless local variables

* Add 'switchMenu' param to selectCharacterById

---------

Co-authored-by: Reithan <bo122081@hotmail.com>
2025-03-16 19:14:27 +02:00
bmen25124
d42a81f97c New connection manager events, ConnectionManagerRequestService (#3603) 2025-03-16 16:58:34 +02:00
Cohee
62342b35e2 Reasoning template 2025-03-16 15:01:31 +02:00
Cohee
46b9bb7854 Merge pull request #3695 from Succubyss/gpt_tokenizer_tweak
gpt-4.5 detection tweak
2025-03-16 02:42:55 +02:00
Succubyss
fff1dd59c3 minor 4.5 detection tweak 2025-03-15 19:27:42 -05:00
Cohee
f88e95d9be Merge branch 'release' into staging 2025-03-16 02:25:20 +02:00
Cohee
248132dd89 Set debug level to unshallow warnings 2025-03-16 02:25:07 +02:00
Cohee
400d29e97e Add chat integrity check to saveChat 2025-03-16 02:24:20 +02:00
Cohee
ead37defeb Merge pull request #3694 from SillyTavern/workflow-hotfixes
Workflow hotfixes
2025-03-16 01:06:19 +02:00
Wolfsblvt
f18cb91ef9 on push, check all pushed commits - duh 2025-03-16 00:02:24 +01:00
Wolfsblvt
892fe7bd34 Workflows ensure explicit versions of actions 2025-03-16 00:02:24 +01:00
Wolfsblvt
0126e5e5a3 Add explicit workflow permissions 2025-03-16 00:02:24 +01:00
Cohee
b8afa96de5 Replace link to docs about regex flags 2025-03-15 23:07:58 +02:00
Cohee
9c42391706 Uncomment cookieSecret config removal 2025-03-15 23:04:02 +02:00
Cohee
d8c8bfa8a4 Merge pull request #3690 from SillyTavern/staging
Staging
2025-03-15 22:47:35 +02:00
Cohee
1041d2ae9d Update README 2025-03-15 19:52:57 +02:00
Cohee
684ee98168 Add config, increase cache TTL, use async file reads 2025-03-15 19:43:26 +02:00
Cohee
b8f8be8cf9 Merge branch 'staging' into disk-cache 2025-03-15 19:27:56 +02:00
Cohee
a1586694b6 Fix start script for electron 2025-03-15 15:41:03 +02:00
Cohee
a7aa1ff79d Bump release version 2025-03-15 15:37:01 +02:00
Cohee
0c7d5c76e2 gemini-2.0-flash-exp-image-generation 2025-03-15 14:58:06 +02:00
Cohee
aa94774963 Add command-a tokenizer to manual selection list 2025-03-15 13:46:13 +02:00
Cohee
628fc810c7 Add docker-compose install guide 2025-03-15 13:13:33 +02:00
Cohee
fb9b0569b6 The numbers must go up 2025-03-15 12:58:36 +02:00
Cohee
dc4612a0e2 Merge pull request #3688 from Erquint/staging
No swiping hotkeys when modifiers are held.
2025-03-15 01:08:34 +02:00
Gness Erquint
e57396040d No swiping hotkeys when modifiers are held. 2025-03-15 00:43:37 +03:00
Wolfsblvt
bafb2cba95 Happy little icons for workflows 2025-03-14 21:34:48 +01:00
Cohee
f607c3bc0d Gemma 3 (#3686)
* Gemma 3

* Adjust safetySettings

* Disable sysprompt

* Add isGemma check to tool processing logic

* Disable a google search tool for gemma
2025-03-14 21:41:28 +02:00
Cohee
0017358f8b Gemini inline images (#3681)
* Gemini images for non-streaming

* Parse images on stream

* Add toggle for image request

* Add extraction params to extractImageFromData

* Add explicit break and return

* Add more JSdoc to processImageAttachment

* Add file name prefix

* Add object argument for saveReply

* Add defaults to saveReply params

* Use type for saveReply result

* Change type check in saveReply backward compat
2025-03-14 20:15:04 +02:00
Cohee
0d2bf00810 Decrease checks interval 2025-03-14 10:44:48 +02:00
Cohee
f362f94c2d Decrease connection timeout, set 'valid' status on 'invalid URL', don't wait if not needed
Fixes #3683
2025-03-14 10:43:00 +02:00
Cohee
c9e716d42f Merge pull request #3682 from SillyTavern/feat-add-regex-toggle-command
Add `/regex-toggle` slash command
2025-03-14 10:15:00 +02:00
Cohee
bef466a5a1 Merge pull request #3685 from kallewoof/202503-gemma-3
chat-template: gemma 3
2025-03-14 10:13:49 +02:00
Karl-Johan Alm
f180d22680 chat-template: gemma 3 2025-03-14 13:57:48 +09:00
Wolfsblvt
18fa33d816 On review feedback of /regex-toggle
- Add quiet arg to suppress success toast
- Fix return values
- Switch-case instead of nested ternaries
- state uses onOfToggle
2025-03-14 01:03:08 +01:00
Cohee
e60796548b Skip status check of invalid custom endpoint URLs
Fixes #3683
2025-03-14 01:40:38 +02:00
Wolfsblvt
0f5f8e163d Merge branch 'staging' into feat-add-regex-toggle-command 2025-03-14 00:26:33 +01:00
Wolfsblvt
95e60b0f79 Switch to action to label maintainers, duh 2025-03-14 00:24:11 +01:00
Wolfsblvt
669cd49574 god give me hope this is right? 2025-03-14 00:11:28 +01:00
Wolfsblvt
9917be0233 Another attempt at fixing maintainer labeleng 2025-03-14 00:09:57 +01:00
Wolfsblvt
7537192c9a Add /regex-toggle slash command
- Add /regex-toggle command, similarly to /extension-toggle
- toggles the state of both global and character-bound scripts
- Update jsdoc being inconsistent

Closes #3613
2025-03-13 23:55:08 +01:00
Wolfsblvt
eaa7b91f1d Workflows use checkout step for label apply
- Checkout might be needed/useful, otherwise config files are not present
- Do not remove labels from PR updates anymore. Has to be done manually. Otherwise manual labelling really isn't possible.
2025-03-13 23:47:11 +01:00
Wolfsblvt
ea989df6a1 Hard-code maintainer list for maintainer label 2025-03-13 23:08:29 +01:00
Wolfsblvt
166b404ea7 Remove PR auto-labels when not relevant anymore 2025-03-13 22:37:58 +01:00
Wolfsblvt
25792b53f2 Improve logging and workflow names 2025-03-13 22:28:32 +01:00
Wolfsblvt
aad4b449ee Merge pull request #3678 from SillyTavern/update-git-workflows
Update github workflows for better issue & PR management, automating chores
2025-03-13 22:14:56 +01:00
Wolfsblvt
5743972a26 Extract workflows for merge conflicts + issue done
- Extract merge conflicts check to its own workflow, plus make it run on push
- Add issues update as Done or Done staging based on extracted commit messages
2025-03-13 22:13:00 +01:00
Cohee
be37b6ff8f Merge pull request #3679 from bmen25124/command_a
Added command-a-03-2025 and command-a tokenizer
2025-03-13 22:14:03 +02:00
Wolfsblvt
cd0ca0363e Fix /inject id not being required, cause undefined 2025-03-13 20:35:39 +01:00
bmen25124
fdcff7a7f0 Fixd "model.id" check 2025-03-13 22:25:20 +03:00
Wolfsblvt
d9c868b2fe Move PR size message to auto label replies 2025-03-13 20:12:55 +01:00
Wolfsblvt
15dbadbfe0 Move unstale to the issue/pr manager
Doesn't make sense to run the scheduled workflow and then skip most of it's jobs.
And it looks weird in the PR boxy thingy
2025-03-13 19:57:30 +01:00
Wolfsblvt
707efac5b9 Fix PR labeling failing 2025-03-13 19:40:41 +01:00
Wolfsblvt
972eea1efd Rename some labels, add config label
- Rename PR size labels
- Add config.yaml label on config changes
- Add config.yaml to the backened changes label
- Awaiting User Response will not be blocked by Keep Open
2025-03-13 19:28:23 +01:00
bmen25124
a77f4045f8 Added command-a-03-2025 and command-a tokenizer 2025-03-13 21:16:08 +03:00
Wolfsblvt
cc3e08ddaa Merge branch 'staging' into update-git-workflows 2025-03-13 16:43:23 +01:00
Wolfsblvt
eb17e37002 Fix maintainer label, minor docs 2025-03-13 16:42:49 +01:00
Wolfsblvt
ecaee2dbbf Directly remove stale labels on comments 2025-03-13 16:35:15 +01:00
Wolfsblvt
84e7ddbf74 PR workflow, add labels based on files/branch name
- Add PR labels based on changed files
- Add PR labels based on branch names
2025-03-13 16:33:47 +01:00
Wolfsblvt
4f7695b0ce Update auto comments to make them more uniform 2025-03-13 16:28:28 +01:00
Wolfsblvt
5f726d2b25 A bit more auto-labeling on issue open 2025-03-13 12:08:49 +01:00
Wolfsblvt
e43b9a3d2c Rework auto labels based on labels a bit 2025-03-13 12:08:17 +01:00
Wolfsblvt
34363e6875 Add issue types to issue templates 2025-03-13 11:38:40 +01:00
Cohee
79a8080b7d Merge pull request #3671 from bmen25124/events_type_param
New context methods, added type parameter to message events
2025-03-13 01:50:59 +02:00
bmen25124
92dacdb386 better type name, simplified context 2025-03-13 02:27:03 +03:00
Cohee
4fdc28afbc Merge pull request #3673 from qvink/export_parse_reasoning
exporting parseReasoningFromString()
2025-03-13 01:20:53 +02:00
qvink
874affb2f2 exporting parseReasoningFromString() 2025-03-12 17:01:03 -06:00
Cohee
37819df542 Move reasoning continue regex depth adjustment 2025-03-12 23:59:53 +02:00
Cohee
160f7431d6 Fix isPrefix for continue on reasoning 2025-03-12 23:55:16 +02:00
Cohee
12824bb680 Clear cached WI on deletion
Fixes #3672
2025-03-12 23:38:10 +02:00
Cohee
6af3f2ee7e Remove unused splitSentences function from utils.js 2025-03-12 23:29:55 +02:00
Cohee
d7085b119d Fix npm audit in tests 2025-03-12 22:09:50 +02:00
Cohee
1b817cd897 Kokoro: chunk generation, add pre-process func
#3412
2025-03-12 21:35:09 +02:00
Cohee
e65b72ea41 Fix global.d.ts var declarations 2025-03-12 20:54:07 +02:00
Cohee
c9c5dfa8c0 Bump external packages 2025-03-12 20:53:35 +02:00
Cohee
f11ebb032b Merge branch 'release' into staging 2025-03-12 20:43:47 +02:00
Cohee
58e714fce4 Fix npm audit 2025-03-12 20:43:38 +02:00
bmen25124
ddb77732f2 New context methods, added type parameters to message events 2025-03-12 21:25:16 +03:00
Reithan
01ef823da9 Dont count Continue as message 0 (#3594)
* continue works same as swipe continued message isn't depth counted

* correct early-out check

* update regex depth setting tooltips for accuracy

* update max tooltip

* remove redundant check

* Allow -1 as a min depth value

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-03-12 19:59:15 +02:00
Cohee
1b02426df1 Unshallow current character on selectCharacterById 2025-03-12 11:13:48 +02:00
Cohee
c4021525ac Merge pull request #3664 from SillyTavern/hide-name
Add "name" argument to /hide and /unhide
2025-03-12 10:48:19 +02:00
Cohee
e7189a1260 Refactor hideMessageCallback and unhideMessageCallback to remove unnecessary console logs. Introduce onlyUniqueJson and sortIgnoreCaseAndAccents utility functions 2025-03-12 10:18:02 +02:00
Wolfsblvt
843bd1cf3c Add check for PRs with merge-blocking labels 2025-03-12 04:02:14 +01:00
Wolfsblvt
fc151284e4 update labels based on other labels 2025-03-12 03:21:23 +01:00
Wolfsblvt
f6f87f6d5b unstale issues/prs on comments right away 2025-03-12 02:56:38 +01:00
Wolfsblvt
7543a24ca7 Rewrite and expand auto comments 2025-03-12 02:44:24 +01:00
Wolfsblvt
89ab138882 Auto-label PRs based on files + targeting release 2025-03-12 01:55:37 +01:00
Wolfsblvt
0237b6a872 Auto-comment/label issues once on staging 2025-03-12 00:59:23 +01:00
Wolfsblvt
c22ad7c2e8 auto ask for feedback on "Alternative Exists" 2025-03-12 00:06:33 +01:00
Wolfsblvt
26c4d231a8 "add Maintainer label" job via on open workflow 2025-03-11 23:43:35 +01:00
Cohee
1026e1f8e9 Add "name" argument to /hide and /unhide. Add default value for unnamed argument 2025-03-11 23:14:31 +02:00
Wolfsblvt
d6dcededc9 Refactor workflows into more structured files 2025-03-11 21:43:27 +01:00
Cohee
ebe30dceac Merge pull request #3660 from SillyTavern/group-pooled-order
Add group pooled order
2025-03-11 22:17:31 +02:00
Cohee
370bd9a3a8 Refactor to not use array 2025-03-11 22:16:26 +02:00
Cohee
137927bb43 Merge pull request #3662 from SillyTavern/enable-md-hotkeys-in-expando
Add markdown hotkeys support for expando editor on textareas that support markdown
2025-03-11 13:03:23 +02:00
Wolfsblvt
90cfdebff8 Remove unnecessary markdown icon 2025-03-11 10:39:14 +01:00
Wolfsblvt
0cde7e7a7f Add md hotkey support for expando editor
- When original textarea supports markdown, the textarea of the expanded popup will also have markdown support
- Also add the small markdown icon at the top
2025-03-11 04:42:03 +01:00
Cohee
cf63b70997 Fix instruct macro checkbox missing control bindings
Fixes #3643
2025-03-11 01:31:28 +02:00
Cohee
ad225138b4 Add group pooled order
Closes #3650
2025-03-11 01:24:46 +02:00
Cohee
68b5be063f TC: Increased unlocked response to 32k 2025-03-11 00:24:28 +02:00
Cohee
bdbe043259 Fix "Response Length" slider showing wrong value (#3659)
- "Mad Lab Mode" was falsely "resetting" the slider control, for no obvious reason besides weird implementation.
2025-03-11 00:21:59 +02:00
Wolfsblvt
57a229d5fd Fix "Response Length" slider showing wrong value
- "Mad Lab Mode" was falsely "resetting" the slider control, for no obvious reason besides weird implementation.
2025-03-10 22:21:36 +01:00
felger
e23f3a6314 feature: 'kokoro-js' supports TTS #3412 (#3656)
* feature: 'kokoro-js' supports TTS #3412

* Linting, add credits for kokoro library

* Fix voice preview

* Fix display languages on previews

* Fix settings restoration. Debounce model init on settings change

* Fix engine sorting

* Move TTS processing to a web worker. Remove unused gain setting

* Speaking rate fix

* Update status when recreating a worker

* Pass voices list from TTS engine

* Call dispose function on provider change

* Extend worker init timeout to 10 minutes

---------

Co-authored-by: ryan <1014670860@qq.com>
Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-03-10 22:54:54 +02:00
Wolfsblvt
c722d251ff Update merge conflicts workflow
- Change the action being used
- Add comment to notify PR author on merge conflicts
2025-03-10 20:33:09 +01:00
Wolfsblvt
a104de38b6 Remove unused maintainers response workflow 2025-03-10 20:11:24 +01:00
Wolfsblvt
26093c1ae4 Update remove labels on close workflow
- Added more labels that should be removed
- Included PRs and their labels to be auto-removed
2025-03-10 20:11:05 +01:00
Wolfsblvt
c8fbd51554 Update stale workflow
- Remove not needed "Maintainer Response" labeling
- Update to latest version
- Add link to source
2025-03-10 19:53:50 +01:00
Wolfsblvt
bf75e88931 Update PR size workflow 2025-03-10 19:40:02 +01:00
Cohee
13a3f4772e Merge pull request #3653 from SillyTavern/fix-group-create-tags
Fix group creation inheriting tags from characters[0]
2025-03-10 20:30:23 +02:00
Cohee
a3b2cc456f Clear group tags list on create click 2025-03-10 20:30:03 +02:00
Wolfsblvt
1e6f8c6637 Better wording for /input arg descriptions 2025-03-10 17:41:18 +01:00
Cohee
594cba30ca Merge pull request #3657 from SillyTavern/fix-buttons-popup-display
Fix `/buttons` buttons not being displayed on log popup texts
2025-03-10 17:41:16 +02:00
Wolfsblvt
e3bcc79bb7 Fix /buttons buttons not being displayed
- On long popup texts, the buttons of the `/popup` slash command will not be displayed, cause by an unneeded overflow CSS property

Fixes #3654
2025-03-10 15:35:01 +01:00
Cohee
73230272f3 Apply regex to multiswipe reasoning, set reasoning_type to Parsed 2025-03-10 10:48:31 +00:00
Cohee
71a3aefe86 Replace link to regex editor docs 2025-03-10 10:40:25 +00:00
Cohee
6024b29ea7 Merge pull request #3652 from SillyTavern/default-middleware
Use default middleware for parsing request body
2025-03-10 12:34:01 +02:00
Cohee
ee13cef37f Fix group creation inheriting tags from characters[0] 2025-03-10 01:37:25 +02:00
Cohee
67d013e40a Use default middleware for parsing request body 2025-03-10 00:48:58 +02:00
Cohee
64206d6f47 Merge pull request #3651 from SillyTavern/input-handling-args
Add `/input` arguments to execute closures on success and on cancel
2025-03-10 00:45:47 +02:00
Wolfsblvt
fc1c767280 onCancel and onSuccess handlers for /input command 2025-03-09 23:10:56 +01:00
Cohee
d4f6373bbc Merge pull request #3648 from SillyTavern/regex-info-block
Add info block for find regex flags
2025-03-09 23:30:38 +02:00
Wolfsblvt
fa03443fe7 Switch /input command definition to fromProps 2025-03-09 22:29:40 +01:00
Cohee
0f8a17b652 Refactor regex info block to use a shared function 2025-03-09 23:29:00 +02:00
Cohee
3c65b2dcf3 Implement disk caching for character data using node-persist 2025-03-09 20:41:04 +02:00
Cohee
070de9df2d (CC) Move continue nudge at the end of completion (#3611)
* Move continue nudge at the end of completion
Closes #3607

* Move continue message together with nudge
2025-03-09 18:17:02 +02:00
Cohee
34b2ef0fd7 Clean-up code 2025-03-09 17:47:23 +02:00
Cohee
eef9c3ef62 Add info block for find regex flags
#3647
2025-03-09 17:41:38 +02:00
Cohee
6f0f32d83d Add a second row to profile editing name 2025-03-09 16:59:58 +02:00
Cohee
7845994315 Add 'start-reply-with' to Connection Profiles (#3632)
* Connection Profiles: Add support for 'start-reply-with' command and allow empty values for 'stop-strings' command

* Add handling for empty profile values in makeFancyProfile function

* Fix application of empty values

* Handle undefined values

* Improve argument validation

* Replace || with &&

* I got it right this time, swear

* Who wrote this?
2025-03-09 16:55:49 +02:00
Cohee
d94c301b10 Merge pull request #3646 from SillyTavern/fix-persona-auto-lock
Fix persona auto-lock to chat not working when the persona was already selected
2025-03-09 16:48:21 +02:00
Wolfsblvt
67699d9cfa Fix persona auto-lock to chat not working
- When auto lock was enabled, it didn't auto-lock to chat when the persona was already selected (like choosing the same persona you have used before)
2025-03-09 15:27:48 +01:00
Cohee
a392593e53 Merge pull request #3634 from SillyTavern/continue-from-reasoning
Fix auto-parsing of continue from reasoning
2025-03-09 16:22:02 +02:00
Cohee
cabd6de85b Prevent rollover on keyboard left swipe if repeating (#3644)
* Prevent rollover on keyboard left swipe if repeating
Closes #3636

* Ditto for right swipe

* Remove goofy comment leftover
2025-03-09 16:12:24 +02:00
Cohee
c03da65821 Run parsing at least once before rendering reasoning DOM on continue 2025-03-09 16:08:29 +02:00
Cohee
5d74507e50 Remove goofy comment leftover 2025-03-09 14:09:39 +02:00
Cohee
19b7deaed0 Ditto for right swipe 2025-03-09 14:08:24 +02:00
Cohee
6aaa533410 Prevent rollover on keyboard left swipe if repeating
Closes #3636
2025-03-09 13:42:30 +02:00
Cohee
96d79ac4e9 Merge branch 'staging' into continue-from-reasoning 2025-03-09 01:19:25 +02:00
Cohee
b52b11d7bb Force settings content check on user creation
Closes #3641
2025-03-09 00:56:23 +02:00
Cohee
1cb9287684 Vectors WebLLM (#3631)
* Add WebLLM support for vectorization

* Load models when WebLLM extension installed

* Consistency updated

* Move checkWebLlm to initEngine

* Refactor vector request handling to use getAdditionalArgs

* Add error handling for unsupported WebLLM extension

* Add prefix to error causes
2025-03-09 00:51:44 +02:00
Cohee
0ea64050ff Parse reasoning in multi-swipe swipes 2025-03-08 23:06:56 +02:00
Cohee
d0068ecbab Clean-up swipe_info of multi-swipes 2025-03-08 22:48:42 +02:00
Cohee
ca14352972 Fix syncMesToSwipe checks
Ported from #3634
2025-03-08 22:33:26 +02:00
Cohee
50a0f41736 Sync mes to swipe on stream finished 2025-03-08 22:29:18 +02:00
Cohee
7e3946c152 Add tools parameter to AI21 request 2025-03-08 22:26:32 +02:00
Cohee
edabd1128b Add tags in toShallow
Closes #3638
2025-03-08 22:04:49 +02:00
Cohee
f38898e03f Merge pull request #3640 from Succubyss/patch-7
Re-enable logit bias and stop strings for 4.5
2025-03-08 21:56:11 +02:00
Cohee
98f92f6270 Fix syntax of model name check 2025-03-08 21:50:39 +02:00
Cohee
5d275998ed Merge branch 'staging' into patch-7 2025-03-08 21:46:38 +02:00
Succubyss
c3b5382882 Re-enable logit bias and stop strings for 4.5 2025-03-08 12:57:11 -06:00
Cohee
de0e65fe13 Enable tool calling for ai21 2025-03-08 17:25:37 +02:00
Cohee
ff5835278b Add Jamba 1.6 models
Closes #3633
2025-03-08 15:16:49 +02:00
Cohee
980ed76cc3 Fix auto-parsing of continue from reasoning
Continues #3606
2025-03-08 12:58:26 +02:00
Wolfsblvt
91fe2841e3 Fix reasoning rendering on auto-save message 2025-03-08 05:52:11 +01:00
Cohee
b813bcad8a Merge pull request #3629 from kingbri1/staging
Make mesExamples macros consistent
2025-03-07 22:55:31 +02:00
Cohee
0423cb7ad3 Do not apply instruct formatting if on CC 2025-03-07 22:53:30 +02:00
Cohee
5ff4c457c0 Merge pull request #3630 from cloak1505/staging
Update OpenRouter providers
2025-03-07 22:15:39 +02:00
cloak1505
c593c9fe2a Update OpenRouter providers 2025-03-07 13:47:12 -06:00
kingbri
e476063f32 Macros: Update mesExamplesRaw documentation
Works as a normal macro and not just with story string.

Signed-off-by: kingbri <8082010+kingbri1@users.noreply.github.com>
2025-03-07 13:08:30 -05:00
kingbri
95e0be7e9e MesExamples: Make macros consistent with story string
mesExamples in the story string is formatted while mesExamplesRaw
is unformatted. However mesExamples when used as a normal macro
is unformatted. This causes an inconsistency in usage which is now
corrected.

Signed-off-by: kingbri <8082010+kingbri1@users.noreply.github.com>
2025-03-07 13:03:44 -05:00
Cohee
a9c2af19e3 Add null checks for querySelector stscript_autocomplete_width
Closes #3582
2025-03-07 11:32:58 +00:00
Cohee
1a52314812 MistalAI: Add custom stop strings
Closes #3627
2025-03-07 11:29:14 +00:00
Cohee
7de516e5e7 Merge pull request #3621 from Sorro123/staging
Add gemini tools support.
2025-03-07 00:23:17 +02:00
Cohee
381956652b Remove tools assignment 2025-03-07 00:22:45 +02:00
Cohee
7fd0f3e2bf Merge branch 'staging' into geminiStructured 2025-03-07 00:22:18 +02:00
Cohee
bcb2096020 Merge pull request #3625 from SillyTavern/gemini-search
Add backend-provided websearch connectors for OpenRouter and Gemini
2025-03-07 00:18:15 +02:00
Cohee
fa699956e6 Fix functionResponse part merging 2025-03-07 00:09:11 +02:00
Cohee
c9277cec28 Gemini: Add tool calling 2025-03-06 23:52:35 +02:00
Cohee
e9cf606c70 Add backend-provided websearch connectors for OpenRouter and Gemini 2025-03-06 22:23:35 +02:00
bmen25124
50f1e3f0f2 Added translation to reasoning block (#3617)
* Added translate to reasoning block

* Added mising reset value

* Shortcut nullable type

* Added reasoning edited/deleted events, better naming

* Fixed async call

* Added await to saveChat calls

* Exported updateReasoningUI

* Removed translated reasoning on edit if auto mode is none

* Added new value check before updating reasoning block, fixed an issue that display value stays same when we edit the message.

* Translate reasoning before the main message

* Fixed auto mode translate for reasoning message

* Translate reasoning first. Prevent out of bounds access

* Fix translating reasoning on swipe generation

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-03-06 21:30:17 +02:00
Cohee
4d81dfb085 Merge pull request #3614 from SillyTavern/char-shallow
Lazy load characters
2025-03-06 20:57:24 +02:00
Cohee
8161690ce6 Merge branch 'staging' into char-shallow 2025-03-06 20:55:22 +02:00
Cohee
02a8c8c460 Fix server crash if request was aborted during out of quota retry 2025-03-06 20:54:10 +02:00
Seth Hoong
8565df13e4 Merge pull request #3618 from annoawesome/electron
Add support for Electron
2025-03-06 19:43:06 +02:00
Cohee
35b72cc6e6 Merge pull request #3624 from SillyTavern/server-events
Add server events emitter
2025-03-06 19:21:36 +02:00
Cohee
6b821409e0 Add server events emitter 2025-03-06 14:55:50 +00:00
Sorro
fc94ed64c1 Same changes but on staging 2025-03-06 01:22:45 +01:00
Cohee
c36607be6f Merge pull request #3610 from bmen25124/time_to_first_token
Added time to first token
2025-03-05 21:55:36 +02:00
Cohee
3b9fcfae60 Console log Ollama model pulls 2025-03-05 21:42:56 +02:00
Cohee
2d2bf48d3d Make Groq happier 2025-03-05 21:38:38 +02:00
Cohee
c167890d26 Add multimodal captioning for Cohere 2025-03-05 21:36:43 +02:00
Cohee
a09b9fa746 Added Aya Vision support (#3615) 2025-03-05 21:17:33 +02:00
bmen25124
fb5f3e0f97 Changed param order, saved a tree 2025-03-05 18:39:19 +03:00
bmen25124
3cb24507a7 Shortcut nullable type 2025-03-05 17:53:44 +03:00
bmen25124
5398684ea2 Token rate round from 1 to 3 2025-03-05 17:28:15 +03:00
bmen25124
d3263b0e0f Removed rounding from time to first token display 2025-03-05 17:16:53 +03:00
bmen25124
06beaccdae Formatting 2025-03-05 14:44:07 +03:00
bmen25124
17d2771a75 time_to_first_token moved to extras 2025-03-05 14:42:29 +03:00
Cohee
858b750346 Document the magic number for future generations 2025-03-05 09:26:16 +00:00
Cohee
f1b50caf1a Move types/bytes to devDependencies 2025-03-05 09:09:33 +00:00
equal-l2
782d866fcf Added Aya Vision support 2025-03-05 13:39:16 +09:00
Cohee
49db89fef0 package.json: Fix debug script 2025-03-05 00:57:57 +02:00
Cohee
507ce78c27 Fix crash on undefined url in /chats 2025-03-05 00:51:54 +02:00
Cohee
28bad6479c Use human-readable memory cache capacity in config 2025-03-05 00:45:34 +02:00
Cohee
13cfe1650f Add bytes parser lib 2025-03-05 00:40:20 +02:00
Cohee
5d69189f8f Hard limit hotswaps to 25 entries 2025-03-04 23:49:32 +02:00
Cohee
c48ecc67b2 Merge branch 'staging' into char-shallow 2025-03-04 23:32:47 +02:00
Cohee
3d813e4ef6 Move shallow toggle to config.yaml 2025-03-04 23:32:42 +02:00
Cohee
8d608bcd72 Add gallery folder and sort order controls (#3605)
* Add gallery folder and sort order controls
Closes #3601

* Refactor sort constants to use Object.freeze for immutability

* Add comment

* Remove excessive null propagation

* Update type hint for gallery.folders

* Use defaultSettings.sort as a fallback

* Throw in groups

* Handle rename/deletion events

* Merge init functions

* Fix multiple gallery file uplods

* Add min-height for gallery element

* Fix gallery endpoint not parsing body

* translatable toasts

* Pass folder path in request body

* Change restore pictogram

* Add title to gallery thumbnail images

* Allow optional folder parameter in image list endpoint and handle deprecated usage warning

* Add validation for folder parameter in image list endpoint

* Add border to gallery sort selection

* Remove override if default folder is set to input

* Use server-side path sanitation

* Sanitize gallery folder input before updating

---------

Co-authored-by: Wolfsblvt <wolfsblvt@gmail.com>
2025-03-04 23:16:56 +02:00
bmen25124
73d4922d70 Iinitial value from -1 to null, better calculation 2025-03-04 13:46:57 +03:00
Cohee
383806325a Add shallow character load mode 2025-03-04 10:00:12 +00:00
Cohee
70f762c006 Merge pull request #3609 from bmen25124/error_field_check_custom_request
Added error field check
2025-03-04 08:51:55 +02:00
bmen25124
bdbddd4ed3 Added time to first token for swipe 2025-03-04 05:50:02 +03:00
bmen25124
d14b5e51a9 Added time to first token 2025-03-04 05:19:38 +03:00
bmen25124
28fc498ee6 Added error field check 2025-03-04 03:39:00 +03:00
Cohee
5d255d758e Merge pull request #3606 from SillyTavern/reasoning-continue-fix
Fix continue duplicating reasoning block
2025-03-04 00:56:07 +02:00
Cohee
7be6e0d5af Fix continue duplicating reasoning block 2025-03-04 00:42:50 +02:00
bmen25124
7d568dd4e0 Generic generate methods (#3566)
* sendOpenAIRequest/getTextGenGenerationData methods are improved, now it can use custom API, instead of active ones

* Added missing model param

* Removed unnecessary variable

* active_oai_settings -> settings

* settings -> textgenerationwebui_settings

* Better presetToSettings names, simpler settings name in getTextGenGenerationData,

* Removed unused jailbreak_system

* Reverted most core changes, new custom-request.js file

* Forced stream to false, removed duplicate method, exported settingsToUpdate

* Rewrite typedefs to define props one by one

* Added extractData param for simplicity

* Fixed typehints

* Fixed typehints (again)

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-03-03 10:30:20 +02:00
Cohee
0088333ebf WI: Fix adding empty text to recursion buffer 2025-03-03 00:05:35 +02:00
Cohee
c9ebea1d0a Merge pull request #3590 from SillyTavern/update-libs
Update third-party dependencies
2025-03-02 23:35:56 +02:00
Cohee
59ee2e1302 Merge pull request #3596 from Tosd0/staging
zh-CN translation
2025-03-02 23:30:15 +02:00
Cohee
074f54d995 Unhide nsigma for kobocpp 2025-03-02 23:04:18 +02:00
Cohee
155956f45b Merge pull request #3593 from SillyTavern/tc-missing-samplers-on-restore
Add missing samplers to TC restore preset
2025-03-02 23:02:20 +02:00
Cohee
5ecfbf3933 Fix element id for nsigma 2025-03-02 23:01:34 +02:00
Sevenyine
b1acfec825 Supplemented translations 2025-03-02 16:44:53 +08:00
Sevenyine
6e6d1b24eb Delete unused i18n keys 2025-03-02 16:33:54 +08:00
Sevenyine
6e15e4875d Update i18n keys in other languages due to changes in index.html 2025-03-02 16:31:40 +08:00
Sevenyine
0a89d9ca6f zh-CN translation 2025-03-02 15:28:46 +08:00
Wolfsblvt
810d954d12 Add missing samplers to TC restore preset 2025-03-02 00:26:47 +01:00
Cohee
64e1fd5f71 Merge pull request #3592 from qvink/specify_api_for_preset_list
Allow specifying API in presetManager.getPresetList()
2025-03-02 01:07:03 +02:00
Cohee
590ad6235b Merge pull request #3586 from DAurielS/novelai-image-update
Added support for NovelAI Diffusion V4 Full via API to Image Generation extension.
2025-03-02 01:05:35 +02:00
Cohee
696a999238 Merge pull request #3591 from SillyTavern/revert-3587-fix-miscounted-messages-on-generate-and-swipe
Revert "Account for generated depth on non-continue"
2025-03-02 00:56:07 +02:00
Cohee
7522fa2e79 Revert "Account for generated depth on non-continue" 2025-03-02 00:55:52 +02:00
qvink
ede9f242af Allow specifying API in presetManager.getPresetList() 2025-03-01 15:54:18 -07:00
Daryl
3a2d29b5cb Responding to PR change reviews 2025-03-01 17:21:11 -04:00
Cohee
f1f7a14349 Merge pull request #3578 from SillyTavern/whitelist-hosts
Whitelist Docker hosts
2025-03-01 21:44:22 +02:00
Cohee
108d9fd74f docker-compose.yml improvements
1. Enable colorized console outputs
2. Set node environment to production
2025-03-01 21:16:28 +02:00
Cohee
4c242fefe8 More concise startup logs 2025-03-01 21:07:12 +02:00
Cohee
55a295f827 Remove version specification from docker-compose.yml 2025-03-01 21:03:53 +02:00
Cohee
a161118308 Execute postinstall in docker entrypoint 2025-03-01 21:03:48 +02:00
Cohee
947a307b25 Update function comment 2025-03-01 20:25:55 +02:00
Cohee
61132dd7b9 Set default for whitelistDockerHosts to true 2025-03-01 20:25:00 +02:00
Cohee
1d995fb92d Rewrite to only consider Docker 2025-03-01 20:22:33 +02:00
Cohee
8aa7ed8635 Rewrite whitelist resolve logic to skip unresolved hosts from whitelist 2025-03-01 19:57:36 +02:00
Cohee
68db63b629 Merge branch 'staging' into whitelist-hosts 2025-03-01 19:44:49 +02:00
Cohee
743f07167c Update third-party dependencies 2025-03-01 19:38:21 +02:00
Cohee
b95dd04fbe Merge pull request #3585 from SillyTavern/chalk-lib
Use chalk lib for console colorization
2025-03-01 19:04:31 +02:00
Cohee
afdf56ce68 Merge pull request #3587 from Reithan/fix-miscounted-messages-on-generate-and-swipe 2025-03-01 15:59:16 +02:00
Reithan
0bedb6e0ff Autoformat 2025-03-01 05:49:18 -08:00
Reithan
ccd6a1631a Account for generated depth on non-continue 2025-03-01 05:48:11 -08:00
Cohee
661b84033f Don't use String constructor in calculateDataSize 2025-03-01 14:30:48 +02:00
Cohee
45d8cac5a9 Fix /go command 2025-03-01 14:30:18 +02:00
Daryl
8271bf36c7 Updated the processReply method to NOT remove pipe | or hash # characters when the selected model is nai-diffusion-v4 curated or full. 2025-03-01 02:06:26 -04:00
Daryl
d788c2fbb5 Added support for NovelAI Diffusion V4 Full via API to Image Generation extension. 2025-03-01 01:30:42 -04:00
Cohee
8a750c6341 Restore chosen AllTalk version on load 2025-03-01 01:33:39 +02:00
Cohee
868e97804a Use chalk lib for console colorization 2025-03-01 00:56:50 +02:00
Cohee
63b95ef504 Add i18n attr for deprecation notice 2025-03-01 00:52:53 +02:00
Cohee
385ef46a2b Add deprecation warning for Extras API in extensions pane 2025-03-01 00:52:26 +02:00
Cohee
7e8471f28f Enhance logging for resolved whitelist hostnames with color formatting 2025-03-01 00:30:00 +02:00
Cohee
8fded75069 Merge branch 'staging' into whitelist-hosts 2025-03-01 00:04:47 +02:00
Cohee
969156d819 Merge pull request #3584 from SillyTavern/chid-unify-type
Always use string for this_chid
2025-03-01 00:04:21 +02:00
Cohee
639c0235f9 Handle 'object' case as indexOf 2025-02-28 23:37:35 +02:00
Cohee
284bac9b49 Add type of this_chid 2025-02-28 22:51:34 +02:00
Cohee
af5e9aa518 Fix shift-click in bulk for first in list 2025-02-28 22:44:10 +02:00
Cohee
e91387c60b Fix rate and pitch for system tts
Closes #2545
2025-02-28 22:18:53 +02:00
Cohee
b3eb6e071f Merge branch 'staging' into chid-unify-type 2025-02-28 22:04:14 +02:00
Cohee
40720971c5 Hide unsupported language warning for 'en' 2025-02-28 21:55:48 +02:00
Cohee
abe55ec905 Add class to language selector 2025-02-28 21:51:06 +02:00
Cohee
ea59dcc30e Equalize group action button heights 2025-02-28 21:34:10 +02:00
Cohee
4f224550f6 Hide "persona connections" in create form 2025-02-28 21:26:16 +02:00
Cohee
12335f4860 Improve type handling 2025-02-28 13:46:16 +00:00
Cohee
b2ce76c84c Return to using string type for this_chid 2025-02-28 13:37:36 +00:00
Cohee
b6af55134a Refactor context change checks during chat summarization 2025-02-28 12:54:52 +00:00
Cohee
1aae08be5b Fix char A/N and expressions folder for first in the list 2025-02-28 09:12:22 +00:00
Cohee
2461913f85 Fix Horde model selection not saving 2025-02-28 10:53:56 +02:00
Cohee
5555b3e7db Use character name for gallery URL 2025-02-28 10:49:15 +02:00
Cohee
76e45abfc6 Fix SD prefixes for first in the list 2025-02-28 10:38:42 +02:00
Cohee
50e49cd67b Fix gallery for first in the list 2025-02-28 10:36:26 +02:00
Cohee
16b62d9fb3 Fix tags selector for first in the list 2025-02-28 10:33:39 +02:00
Cohee
14aec43064 Fix A/N and CFG menus on first in the list 2025-02-28 10:26:03 +02:00
Cohee
76cb34fd06 Fix logprobs menu on empty chats 2025-02-28 10:25:36 +02:00
Cohee
83e75439ab Fix duplication and scenario override for first in the list 2025-02-28 10:21:33 +02:00
Cohee
f33464527b Fix deletion of the first char in the list 2025-02-28 10:18:57 +02:00
Cohee
2df140a6a9 Fix world info binding and alt.greetings editor for first char in the list
Possibly fixes #3579
2025-02-28 10:16:42 +02:00
Cohee
eac0d04fd3 Merge pull request #3580 from AyeeMinerva/staging
add printMessages in st-context.getContext()
2025-02-28 09:43:47 +02:00
AyeeMinerva
73035c1d1c add clearChat in st-context 2025-02-28 15:08:55 +08:00
AyeeMinerva
7c72c1d9f3 add printMessages in st-content
so that we can use this func in extension
2025-02-28 12:31:25 +08:00
Cohee
60e8ffbf90 Improve logging in resolveHostnames function to provide clearer output for resolved IP addresses 2025-02-28 00:39:32 +02:00
Cohee
50ad31f8e8 Update the resolveHostnames function to clarify its behavior and improve documentation 2025-02-28 00:36:27 +02:00
Cohee
978b2cdb21 Refactor whitelist middleware to return a promise and update server.js to handle async initialization 2025-02-28 00:25:59 +02:00
Cohee
58fe54954a Update whitelist entry in config.yaml to use gateway.docker.internal 2025-02-28 00:21:35 +02:00
Cohee
d286fff42c Merge branch 'staging' into whitelist-hosts 2025-02-28 00:17:31 +02:00
Cohee
5c146bdd67 Add gpt-4.5 to caption extension list 2025-02-27 23:31:46 +02:00
Cohee
9c4bffc487 Merge pull request #3577 from SillyTavern/the-best-model-tm
Add gpt-4.5-preview (best model ™️ - most expensive for sure)
2025-02-27 23:30:34 +02:00
Cohee
20b5c962db Merge pull request #3576 from SillyTavern/debug-track-dynamic-translations
Debug function to track missing dynamic translation fields (`t` and `translate` calls)
2025-02-27 23:28:15 +02:00
Cohee
a8f05c92ae Revert "Switch tracking key to accountStorage"
This reverts commit 549fae4015.
2025-02-27 23:22:08 +02:00
Wolfsblvt
549fae4015 Switch tracking key to accountStorage 2025-02-27 22:16:38 +01:00
Cohee
0bc4396427 Resolve hostnames from whitelist 2025-02-27 23:14:57 +02:00
Wolfsblvt
ea643cce6e Add gpt-4.5-preview 2025-02-27 22:08:29 +01:00
Wolfsblvt
f11a834895 Switch tracking from Array to Set 2025-02-27 21:26:45 +01:00
Cohee
f43b42544b Merge pull request #3567 from SillyTavern/cli-args-refactor
Refactor server startup
2025-02-27 22:17:08 +02:00
Wolfsblvt
b98556855d Fix undefined translation 2025-02-27 21:15:12 +01:00
Wolfsblvt
94441c54ae Update logging structure for dyn translations 2025-02-27 20:59:38 +01:00
Wolfsblvt
c6a2b4e429 Trace-log stacktrace of translations without key 2025-02-27 20:48:16 +01:00
Wolfsblvt
08e184de26 Debug Func to track missing dynamic translations
- Add debug function to the debug menu that enables tracking of missing dynamic translations (via `t` or `translate`) once enabled
- Only works with non-English language loaded
- Prints it together with the existing debug print
2025-02-27 20:45:10 +01:00
Cohee
60448f4ce8 Move security checks to users.js 2025-02-27 21:27:39 +02:00
Cohee
d5056a5563 Merge branch 'staging' into cli-args-refactor 2025-02-27 20:48:34 +02:00
Cohee
ae51c39c09 Merge pull request #3572 from SillyTavern/remove-group-starter
Remove group chat starter message
2025-02-27 20:45:50 +02:00
Cohee
6905fcd0a4 Merge pull request #3573 from SillyTavern/extensions-i18n
Add locale data loading for extensions
2025-02-27 20:41:18 +02:00
Cohee
d3006cc720 Load extension i18n before script 2025-02-27 17:41:59 +00:00
Cohee
73786610a6 Merge pull request #3574 from Reithan/update-tfs-and-dyna-temp-expo-to-3-sig-dig
Update TFS and DynaTemp Exponent to use 3 sig dig
2025-02-27 19:33:15 +02:00
Reithan
aaf066699b Update TFS and DynaTemp Exponent to use 3 sig dig 2025-02-27 09:20:07 -08:00
Cohee
e312ae6b3b Add locale data loading for extensions 2025-02-27 16:18:10 +00:00
Cohee
d613e1ee77 Remove group chat starter message 2025-02-27 13:29:21 +00:00
Cohee
c60af6659c Change extensions list to debug level 2025-02-26 20:54:25 +02:00
Cohee
02ab882e63 Fix deno startup 2025-02-26 20:53:17 +02:00
Cohee
7c7de3d965 Update README 2025-02-26 20:45:14 +02:00
Cohee
02cdec5a10 Validate SSL config for sanity before startup 2025-02-26 20:32:26 +02:00
Cohee
813ec537cd Fix default values for SSL command line 2025-02-26 20:24:22 +02:00
Cohee
a20928b02c Fix class method bind. Await open promise 2025-02-26 20:19:32 +02:00
Cohee
1ef04ffc4d Rewrite comments 2025-02-26 16:22:56 +00:00
Cohee
68eecc77bb Refactor IP interface query 2025-02-26 15:44:39 +00:00
Cohee
b64273ab94 Fix comments, update function interfaces 2025-02-26 15:36:01 +00:00
Cohee
e7fcd0072b Refactor server startup 2025-02-26 14:46:54 +00:00
Wolfsblvt
6c0538854d Switch order of persona connections 2025-02-26 11:00:38 +01:00
Cohee
cf14b75091 Merge pull request #3564 from SillyTavern/rename-past-chats-event
Add `RENAMED_PAST_CHAT` event
2025-02-26 10:52:25 +02:00
Wolfsblvt
eab4e8aebc Renamed to CHARACTER_RENAMED_IN_PAST_CHAT 2025-02-26 09:38:25 +01:00
Cohee
2a65688148 Merge pull request #3563 from stevelittlefish/better_forwarded_ip_error_message_stg
Show forwarded IP in whitelist denied message
2025-02-26 10:05:31 +02:00
Wolfsblvt
22d551be3a bonus: jsdoc and modern popup for rename 2025-02-26 01:44:45 +01:00
Wolfsblvt
4e1cb1eba4 Add RENAMED_PAST_CHAT event 2025-02-26 01:28:28 +01:00
Stephen Brown
6947ca7433 Show forwarded IP in whitelist denied message 2025-02-25 23:58:12 +00:00
Cohee
12ef33bca4 Merge pull request #3346 from SillyTavern/persona-improvements
Expand Persona links/locking to characters and allowing more control on which persona to choose/load
2025-02-26 00:55:05 +02:00
Cohee
2cfaa034fb Merge branch 'staging' into persona-improvements 2025-02-26 00:48:23 +02:00
Cohee
e98172bb0e Merge pull request #3521 from SillyTavern/immutable-config
Immutable config
2025-02-26 00:42:26 +02:00
Cohee
90be2eee71 Only navigate to persona if switched by connection 2025-02-26 00:13:55 +02:00
Cohee
4aa8672925 Fix typo in post-install.js comment 2025-02-26 00:08:59 +02:00
Cohee
acd8b817f4 Improve number type conversion in getConfigValue to handle NaN cases 2025-02-26 00:08:04 +02:00
Cohee
6541dcbc66 Comment out persona preservation on character swap with personas open 2025-02-26 00:03:46 +02:00
Cohee
0274d800f9 Navigate to current persona on switching chats 2025-02-25 23:50:49 +02:00
Cohee
cf792c8195 Don't choose chat persona if it's already chosen 2025-02-25 23:37:02 +02:00
Cohee
5af4217fda Merge persona description counter with position header 2025-02-25 23:32:13 +02:00
Wolfsblvt
fec0e248c5 Fix persona UI states sometimes not updating 2025-02-25 21:57:25 +01:00
Wolfsblvt
582b710d3c Merge branch 'staging' into persona-improvements 2025-02-25 21:46:46 +01:00
Cohee
0776f65193 Allow JSON array and objects in env.var configs 2025-02-25 22:20:17 +02:00
Cohee
4edb069bd8 Split avatar dimensions config read by types 2025-02-25 22:19:09 +02:00
Cohee
861c502e44 Return type casts where they were 2025-02-25 22:12:22 +02:00
Cohee
11d56a407d Merge branch 'staging' into immutable-config 2025-02-25 22:08:35 +02:00
Cohee
7b55d91d35 Merge pull request #3561 from SillyTavern/fix-syncing-swipe-data
Fix syncing swipe data on reasoning parse & utility function to sync swipe data
2025-02-25 21:53:43 +02:00
Cohee
8b135f9ca3 Remove async from event handler 2025-02-25 21:52:03 +02:00
Cohee
422517ec93 Cancel debounced chat save if regular save is performed 2025-02-25 21:38:24 +02:00
Cohee
5545a425ea No double check 2025-02-25 21:34:04 +02:00
Cohee
eceaa9cacc Replace debounced save with regular 2025-02-25 21:32:39 +02:00
Cohee
7def85a174 Add couple of extra type checks 2025-02-25 21:21:59 +02:00
Wolfsblvt
5955327f7b Add old preset name to OAI_PRESET_CHANGED_BEFORE 2025-02-25 17:32:36 +01:00
Wolfsblvt
d28f39d77a Save chat on reasoning parse 2025-02-25 17:23:12 +01:00
Wolfsblvt
8bdc00e0b9 Fix reasoning not always being synced to swipe 2025-02-25 17:10:13 +01:00
Wolfsblvt
4ab54016ad Utility func to sync all mes data to swipe 2025-02-25 17:00:41 +01:00
Cohee
f0c7ea062b Merge pull request #3558 from bmen25124/new_exports
New exports - getChatCompletionModel
2025-02-25 15:05:30 +02:00
bmen25124
7064ce81c7 Exported getChatCompletionModel with optional parameter 2025-02-25 15:45:35 +03:00
Cohee
20a982491a Merge pull request #3554 from bmen25124/new_exports
Exported getTextGenServer, extractMessageFromData methods. added opti…
2025-02-25 12:23:09 +02:00
Cohee
5f024823a9 Improve JSdocs 2025-02-25 10:22:03 +00:00
bmen25124
092ef26144 Exported getTextGenServer, extractMessageFromData, getPresetManager methods. Added optional parameters to some methods for generic usage. 2025-02-25 13:20:06 +03:00
Cohee
19fba66d2c Merge pull request #3551 from SillyTavern/claude-thonk
Claude 3.7 think mode
2025-02-25 00:53:20 +02:00
Cohee
f2e47d9276 Update reasoning effort tooltip to specify minimum token allocation 2025-02-24 23:48:04 +02:00
Cohee
b8ebed0f4c Claude 3.7 think mode 2025-02-24 23:43:13 +02:00
Cohee
db148d5142 Merge pull request #3548 from SillyTavern/sonnet-3.7
Sonnet 3.7
2025-02-24 21:15:32 +02:00
Cohee
c855cd2bf0 Bonus: add o1 to captioning list 2025-02-24 21:13:42 +02:00
Cohee
82b74628c6 Sonnet 3.7 2025-02-24 21:06:12 +02:00
Cohee
68234cdcef Merge pull request #3547 from PeterDaveHello/zh-tw
Improve zh-TW Traditional Chinese locale a bit
2025-02-24 18:48:36 +02:00
Cohee
e71427953b Merge pull request #3544 from qvink/get_chat_completion_presets_from_preset_manager
Get chat completion presets from preset manager
2025-02-24 18:45:10 +02:00
qvink
5dc8450559 Fixing getCompletionPresetByName, removing openai option from getSelectedPresetName 2025-02-24 09:31:03 -07:00
Peter Dave Hello
01b0a84b70 Improve zh-TW Traditional Chinese locale a bit
Fix some terms converted from Simplified Chinese, and also improve the
consistency and some spaces.
2025-02-24 22:59:19 +08:00
Cohee
e0d1b21006 Merge pull request #3542 from SillyTavern/summary-improvements
Assorted summary improvements
2025-02-24 09:24:03 +02:00
qvink
d2df04550a Adding function to get preset values by name 2025-02-23 22:11:33 -07:00
qvink
10a72b8c80 Merge branch 'staging' of github.com-qvink:SillyTavern/SillyTavern into get_chat_completion_presets_from_preset_manager 2025-02-23 21:24:13 -07:00
qvink
7eff895e88 Allowing the presetManager to return presets for chat completion 2025-02-23 21:23:43 -07:00
Cohee
296037d1c8 Remove redundant styles 2025-02-24 00:57:00 +02:00
Cohee
ae666c9012 OpenRouter (CC): explicit opt-out for reasoning 2025-02-23 22:13:11 +02:00
Cohee
7fc26c1d53 Merge pull request #3541 from RivelleDays/staging
Update zh-tw.json: Added Missing Translations & Support for Third-Party Extensions
2025-02-23 22:09:41 +02:00
Cohee
7a54b0cad7 Assorted summary improvements 2025-02-23 21:40:15 +02:00
Cohee
919df98c6e Merge pull request #3540 from PeterDaveHello/patch-1
Optimize Dockerfile to use `apk add` with `--no-cache`
2025-02-23 12:50:28 +02:00
Peter Dave Hello
2faaabbf5f Optimize Dockerfile to use apk add with --no-cache
Using the `apk add` command with the `--no-cache` parameter for package installation will prevent the package index from being cached and reduce the image size.
2025-02-23 18:39:22 +08:00
Rivelle
26c9c7e56b Update zh-tw.json 2025-02-23 17:57:27 +08:00
Wolfsblvt
7249d4470a Merge pull request #3539 from RivelleDays/staging
Update zh-tw.json
2025-02-23 06:17:31 +01:00
Rivelle
810bca46a0 Update zh-tw.json 2025-02-23 13:08:36 +08:00
Wolfsblvt
e27e045054 Update persona.js code documentation for exported 2025-02-23 04:58:48 +01:00
Wolfsblvt
76fa90ed9e Switch to char from persona panel decision tree 2025-02-23 02:33:51 +01:00
Wolfsblvt
5a22e64466 Improve tooltip for never_resize_avatars 2025-02-23 02:26:36 +01:00
Cohee
6df2dc11f7 Merge pull request #3538 from SillyTavern/reasoning-parse-on-edit
Reasoning edit/parse updates
2025-02-22 23:11:05 +02:00
Wolfsblvt
8aadada0e2 utility: let setInfoBlock also clear 2025-02-22 21:50:58 +01:00
Cohee
7f9960fa7a Clickable char personas 2025-02-22 22:48:51 +02:00
Wolfsblvt
e0f3a22b80 Refactor: move persona slash commands 2025-02-22 21:45:35 +01:00
Cohee
49d1a16a18 Update rename tooltip 2025-02-22 22:35:09 +02:00
Cohee
ac8c2799b8 Add missing personas on load 2025-02-22 22:26:34 +02:00
Cohee
ee6202c379 Remove margin right from persona name 2025-02-22 22:25:13 +02:00
Cohee
2194bdfd56 Rerender the list if migrated persona 2025-02-22 22:20:45 +02:00
Wolfsblvt
bb03c60c39 Refactor: move showCharConnections 2025-02-22 21:17:56 +01:00
Wolfsblvt
8f38298f90 fix linting errors 2025-02-22 20:48:41 +01:00
Wolfsblvt
9e7f485b65 Merge branch 'persona-improvements' of https://github.com/SillyTavern/SillyTavern into persona-improvements 2025-02-22 20:47:10 +01:00
Cohee
4a9503c056 Align message block baseline 2025-02-22 21:43:16 +02:00
Wolfsblvt
f37541d629 Remove unused old username functions 2025-02-22 20:42:35 +01:00
Cohee
caf3a64a0f Replace gray with opacity 2025-02-22 21:34:23 +02:00
Wolfsblvt
8bd4fd76ae Merge branch 'staging' into persona-improvements 2025-02-22 19:23:59 +01:00
Cohee
252ae9f534 Update access log configuration to enforce boolean type 2025-02-22 20:20:23 +02:00
Cohee
a73dfa7586 Merge branch 'staging' into immutable-config 2025-02-22 20:15:13 +02:00
Cohee
fb06e7afa1 Merge pull request #3403 from SillyTavern/support-multiple-expressions
Support multiple expressions
2025-02-22 20:13:43 +02:00
Cohee
3cf4be8e85 Remove unused import 2025-02-22 20:12:19 +02:00
Cohee
f2cac8e7f7 Revert "Return fallback expression if no group message found" 2025-02-22 20:02:34 +02:00
Cohee
4802e4bed2 Reasoning edit/parse updates
1. Parse reasoning on message edit
2. Reasoning edit follow 'auto-save' preference
2025-02-22 19:14:01 +02:00
Cohee
1a1afd00a1 Merge pull request #3537 from Kas1o/staging
Updated Groq model options to sync with official playground
2025-02-22 14:40:13 +02:00
Cohee
e7d38d95d0 Add max context size for llama-guard-3-8b model 2025-02-22 14:37:53 +02:00
Cohee
15769a7643 Add context sizes for new groq models 2025-02-22 14:36:32 +02:00
Cohee
9b631ed048 Support Qwen tokenizer fro Groq 2025-02-22 14:29:04 +02:00
Cohee
7188060ac8 Merge pull request #3526 from Zhen-Bo/feature/access-log-middleware
Add Separate Access Logging Middleware with Configuration Option
2025-02-22 14:18:38 +02:00
Cohee
3e26b93971 Do not register whitelist middleware if whitelist disabled 2025-02-22 14:14:40 +02:00
Kas1o
159852233f Updated Groq model options to sync with official playground 2025-02-22 20:09:04 +08:00
Cohee
a2ecb81378 Move minLogLevel to logging section 2025-02-22 13:58:08 +02:00
Cohee
b12cd9fe05 Merge branch 'staging' into feature/access-log-middleware 2025-02-22 13:49:36 +02:00
Cohee
d21b0f1b5e Add default fallback expression 2025-02-22 13:45:54 +02:00
KevinSun
42f850239f fix(middleware): skip logging for blocked connections to specific paths 2025-02-22 19:42:38 +08:00
Cohee
db988411fd Return fallback expression if no group message found 2025-02-22 13:40:43 +02:00
Cohee
3a25550f5b Merge pull request #3535 from yokuminto/release
add reasoning display switch in custom source
2025-02-22 13:22:50 +02:00
Cohee
5c79c8e162 [chore] Reformat new code 2025-02-22 12:47:19 +02:00
Cohee
30f97e0e64 Merge branch 'release' into staging 2025-02-22 12:41:18 +02:00
Cohee
938c8a9a36 Add /default do-not-edit notice 2025-02-22 12:41:09 +02:00
yokuminto
13f76c974e reasoning or reasoning_content 2025-02-22 16:09:42 +08:00
Wolfsblvt
afbe21b6b4 Make sendExpressionCall exportable
- For compatibility with existing extensions
2025-02-22 01:44:42 +01:00
Cohee
d32adb8d1d Fix requestProxyBypass command line default value
Closes #3528
2025-02-21 23:07:33 +02:00
Cohee
6e5db5c41a Perplexity: Add new models 2025-02-21 23:03:49 +02:00
Cohee
a7d7b6fb0f Fix group VN updates on switching to chat 2025-02-21 22:05:08 +02:00
Cohee
1adde74f38 Merge branch 'staging' into support-multiple-expressions 2025-02-21 21:06:20 +02:00
Cohee
1ad3f3d6c7 Merge pull request #3530 from SillyTavern/reasoning-block-coloring
Update reasoning block coloring to CSS vars
2025-02-21 20:53:05 +02:00
Wolfsblvt
0cc0d6763e Use hsl instead of color-mix for reasoning css 2025-02-21 19:40:36 +01:00
Cohee
e8cdad0bf2 Merge pull request #3531 from SillyTavern/fix-hidden-reasoning-plus-parsing
Fix hidden reasoning models blocking auto-parsing from working
2025-02-21 19:56:02 +02:00
Wolfsblvt
b0a2f241d2 Fix hidden reasoning not allowing manual parsing 2025-02-21 18:01:25 +01:00
Wolfsblvt
29c71fe8f1 Update reasoning block coloring to CSS vars 2025-02-21 17:30:56 +01:00
KevinSun
f755c3d4cb refactor(middleware): rename accessLogger to accessLogWriter 2025-02-21 23:56:31 +08:00
KevinSun
9c3e8c935b refactor(Middleware): only mount accessLogger when listen is enabled 2025-02-21 23:49:15 +08:00
KevinSun
bfc609c2a8 fix(middleware): skip New connection message and access.log writes for localhost 2025-02-21 22:17:12 +08:00
Cohee
4c7ede67f3 Merge branch 'release' into staging 2025-02-21 12:47:31 +00:00
Cohee
b17fdcbfd9 Fix assistant chat export format 2025-02-21 12:46:49 +00:00
KevinSun
db500188d8 feat(middleware): add separate access log middleware with config option 2025-02-21 20:32:23 +08:00
Cohee
aadae85a2a eventSource: Add autofire on emit for APP_READY 2025-02-21 02:52:45 +02:00
Cohee
cb6adc30ce Fix null confrimation when no custom expressions 2025-02-21 02:05:43 +02:00
Cohee
bdbcf8623e Fix force set emote in group 2025-02-21 01:46:10 +02:00
Cohee
e35217e7e3 Fix image loading resolve 2025-02-21 01:32:13 +02:00
Cohee
aca1cb7f99 Fix first reorder of group VN with reduced motion 2025-02-21 01:19:19 +02:00
Cohee
07160e0e60 Fix group VN mode not updating on kicking group members 2025-02-21 01:01:30 +02:00
Cohee
179153ae67 Fix group VN mode with reduced motion 2025-02-21 00:51:17 +02:00
Cohee
94f53835f4 Forbid custom expressions to be prefixed with defaults 2025-02-21 00:29:05 +02:00
Cohee
ab4d296b22 fix: return empty strings for branch name and commit hash in error response 2025-02-20 23:18:03 +02:00
Cohee
8ad7b5dcc5 Check if git repo root in plugin update 2025-02-20 23:13:23 +02:00
Cohee
00bb36f764 Fix setting basic auth creds with env 2025-02-20 22:38:47 +02:00
Cohee
73784642d2 Save setConfigValue export 2025-02-20 22:31:23 +02:00
Cohee
2b28065c9f Fix setting protocols with env 2025-02-20 22:28:30 +02:00
Cohee
eb31d7baa2 Merge branch 'staging' into immutable-config 2025-02-20 21:54:41 +02:00
Cohee
3f03936125 Add config value type converters for numbers and booleans 2025-02-20 21:53:48 +02:00
KevinSun
3f5b63bba0 Feature: Add configurable X-Real-IP header support for rate limiting (#3504)
* fix: correct client IP detection behind reverse proxy

* Revert "fix: correct client IP detection behind reverse proxy"

This reverts commit 7207506240.

* feat: support X-Real-IP header for reverse proxy setups

* feat: add option to use x-real-ip for rate limiting behind reverse proxy

* docs: update rate limiting configuration comments for X-Real-IP usage

* refactor: extract getIpAddress function to reduce code duplication

* revert(whitelist): rate limit settings shouldn't affect whitelist
2025-02-20 21:11:44 +02:00
Cohee
7571552fef STORAGE_KEYS.cookieSecret deprecated 2025-02-20 20:45:20 +02:00
Cohee
f6fe5fea77 Allow overriding config.yaml values with env vars
Closes #3520
2025-02-20 20:29:42 +02:00
Wolfsblvt
3574527780 fade "reroll if same" if no multi sprites enabled 2025-02-20 19:28:54 +01:00
Wolfsblvt
2834681a4b Fix sprite upload replace existing
- Also fix form not resetting on cancel of replace popup
2025-02-20 19:25:20 +01:00
Cohee
7ea2c5f8cf Move cookie secret to data root. Make config.yaml immutable 2025-02-20 20:16:44 +02:00
Wolfsblvt
19e2a2f7d2 safety check on upload on sprite name 2025-02-20 19:05:20 +01:00
Wolfsblvt
a58e026a40 Don't show del popup on placeholder sprite 2025-02-20 19:02:29 +01:00
Wolfsblvt
a40f568409 Fix sprite deletion 'no' option 2025-02-20 18:51:44 +01:00
Cohee
bad806312d Auto-extend session cookie every 30 minutes 2025-02-20 09:58:17 +02:00
Cohee
3bb8b887e1 Merge pull request #3512 from SillyTavern/session-autoextend
Auto-extend session cookie every 30 minutes
2025-02-20 09:57:19 +02:00
Cohee
135bf8a55b Add progress toast for sprite ZIP upload 2025-02-20 00:12:40 +02:00
Cohee
3d8a897c19 Auto-extend session cookie every 30 minutes 2025-02-19 23:42:28 +02:00
Wolfsblvt
bd6da695c8 cleanup examples for multi sprites 2025-02-19 22:30:51 +01:00
Wolfsblvt
531999dc04 Ensure unique suggested sprite names 2025-02-19 22:12:29 +01:00
Cohee
58bbfc0d4e Add types for global translation function 2025-02-19 22:18:09 +02:00
Cohee
380bd4ef4b refactor: update runWebpackCompiler to accept options object 2025-02-19 22:03:43 +02:00
Cohee
bb64e9b5c5 Merge pull request #3500 from SillyTavern/webpack-cache-dataroot
Move webpack cache to data root
2025-02-19 21:53:58 +02:00
Cohee
1ef5154770 Merge branch 'staging' into webpack-cache-dataroot 2025-02-19 21:34:02 +02:00
Cohee
57aa820dc3 Merge pull request #3510 from underscorex86/patch-3
autoswipe length tooltip
2025-02-19 21:27:41 +02:00
Wolfsblvt
c12f26441e Merge branch 'staging' into support-multiple-expressions 2025-02-19 20:22:02 +01:00
Cohee
e4269f5d1d Update i18n 2025-02-19 21:17:03 +02:00
Sneha C
947d4f215e autoswipe length tooltip
clarify that it is # of characters
2025-02-19 20:13:05 +04:00
Cohee
826e4f6d16 Merge pull request #3499 from SillyTavern/accesslog-dataroot
Move access.log to data root
2025-02-19 11:32:37 +02:00
Cohee
0f46128980 Set lib.js output path to data 2025-02-18 20:24:07 +02:00
Cohee
1a4bcbb794 Remove input length restrictions from OpenAI compatible TTS
Closes #3505
2025-02-18 10:34:15 +02:00
Cohee
441e5c6f7e Move webpack cache to data root 2025-02-17 23:41:59 +02:00
Cohee
da3b620f74 Move access.log to data root 2025-02-17 22:58:06 +02:00
Cohee
fa4a75215b Merge pull request #3497 from SillyTavern/fix-char-rename-aux-connections
Fix renaming characters losing connections of several aux fields
2025-02-17 21:14:41 +02:00
Cohee
0cdc389794 Fix type handling of active_character_id 2025-02-17 21:00:09 +02:00
Cohee
434bdab585 Merge branch 'staging' into fix-char-rename-aux-connections 2025-02-17 20:57:23 +02:00
Cohee
ce67f3a658 Ensure node is an Element in DOMPurify hook 2025-02-17 20:54:11 +02:00
Cohee
277fc00f38 Remove dompurify types stub 2025-02-17 20:53:42 +02:00
Cohee
36a3a7d615 Merge pull request #3486 from Yokayo/staging
Update ru-ru translation
2025-02-17 20:45:40 +02:00
Cohee
d15d49b295 Merge pull request #3484 from SillyTavern/reasoning-parsing-streaming
Implement reasoning parsing during streaming, based on provided prefix/suffix
2025-02-17 20:27:57 +02:00
Cohee
87afb1633b reasoning-set: Return if message not found 2025-02-17 19:54:50 +02:00
Cohee
e5e2c9fe49 Merge branch 'staging' into reasoning-parsing-streaming 2025-02-17 19:43:09 +02:00
Cohee
580856064e Merge pull request #3496 from SillyTavern/parse-reasoning-command-args
Add 'return' and 'strict' to `/reasoning-parse`, and make all reasoning parsing strict by default
2025-02-17 19:37:20 +02:00
Cohee
1a5b1f77d7 Merge pull request #3495 from SillyTavern/vectors-requests
Vectors: Don't use headers for source-specific fields in requests
2025-02-17 15:50:44 +02:00
Yokayo
f5d68f1cd9 Fix typo 2025-02-17 16:36:06 +07:00
Yokayo
2e77171137 Change key 2025-02-17 16:32:40 +07:00
Wolfsblvt
ab27b29819 cleanup group on auto load if name not found 2025-02-17 09:58:37 +01:00
Wolfsblvt
231068f729 await character renamed event 2025-02-17 09:47:35 +01:00
Wolfsblvt
7b65427236 typo 2025-02-17 09:19:08 +01:00
Wolfsblvt
9f21f7771c Auto-load char/group resets if target is not found 2025-02-17 07:28:59 +01:00
Wolfsblvt
1c0ca414b9 Update "active character" field on char rename 2025-02-17 05:34:28 +01:00
Wolfsblvt
4f0921856f On char rename, update auxiliary connections
- Move WI char lore (additional lorebooks) based on rename
- Move character-bound Author's Note based on rename
- Extend core `getCharFilename` to be able to take an avatarKey, instead of just uid
2025-02-17 05:32:13 +01:00
Wolfsblvt
994d69508b Merge branch 'parse-reasoning-command-args' into reasoning-parsing-streaming 2025-02-17 03:54:24 +01:00
Wolfsblvt
1ad3a2b968 Add 'return' and 'strict' to /reasoning-parse
- Add 'return' arg to `/reasoning-parse` to decide whether to return the reasoning, or the content without reasoning. Defaulting to reasoning.
- Add 'strict' arg to `/reasoning-parse` to decide whether the reasoning block has to be at the beginning of the provided message or not. Defaulting to true.
- Update parsing of all reasoning (even the auto parse one) to be strict by default - meaning the regex block has to be at the beginning (excluding whitespaces)
2025-02-17 03:47:31 +01:00
Cohee
cd2d6e85e0 Merge branch 'staging' into reasoning-parsing-streaming 2025-02-17 00:13:27 +02:00
Cohee
058c86f3c1 Vectors: Don't use headers for source-specific fields in requests 2025-02-16 23:59:00 +02:00
Cohee
a771dd5478 Show reasoning editor when hidden and empty 2025-02-16 23:21:08 +02:00
Cohee
baa4632071 Merge branch 'staging' into reasoning-parsing-streaming 2025-02-16 23:16:04 +02:00
Cohee
ebe877e6b6 Update dompurify 2025-02-16 23:14:50 +02:00
Cohee
1156b648eb Merge branch 'staging' into reasoning-parsing-streaming 2025-02-16 23:12:41 +02:00
Cohee
ec49b19aff Fix chat render when OpenRouter "website setting" model used 2025-02-16 22:46:44 +02:00
Cohee
75aec77271 Merge pull request #3493 from SillyTavern/staging
Staging
2025-02-16 21:15:21 +02:00
Cohee
7348e0274d Bump package version 2025-02-16 21:00:25 +02:00
Cohee
362470da18 Plugins: Add auto-update functionality (#3487)
* Plugins: Add auto-update functionality

* Check if directory is a git repo

* Display message if any plugins were loaded
2025-02-16 20:55:53 +02:00
Cohee
4d323ec76f OpenRouter: Add new providers to the list
Closes #3491
2025-02-16 18:15:26 +02:00
Cohee
0039b48d1b Merge pull request #3490 from Dakraid/feature/safety_tolerance-falai
Set safety_tolerance for Flux on FAL
2025-02-16 17:45:13 +02:00
Kristan Schlikow
050e65861c Set safety_tolerance for Flux on FAL 2025-02-16 16:40:10 +01:00
Cohee
a434d217cc Fix input prompt title for creating a new Quick Reply Set 2025-02-16 16:25:08 +02:00
Yokayo
890d10d811 Work on tl 2025-02-16 18:43:57 +07:00
Cohee
1723ce0f22 Merge pull request #3482 from SillyTavern/fix-auto-expand-new-message-v2.1
Fix auto expand on thinking during new message (v2.1)
2025-02-16 12:46:03 +02:00
Wolfsblvt
b3688087d5 Save reasoning type with the message
- use mes extras property to save where the reasoning came from
- update it accordingly on streaming, slash commands and manual add
- Modify title tooltip on reasoning header to show the origin where it makes sense, providing the user with a little bit more orientation about the reasoning.
2025-02-16 05:05:48 +01:00
Wolfsblvt
bcea4248c4 Shouldn't parse reasoning if real reasoning there 2025-02-16 03:21:02 +01:00
Wolfsblvt
9590127bae Handle auto parsing reasoning during streaming
- Add function to handle auto parsing reasoning from the streamed message during streaming
- Only works when the reasoning prefix is EXACTLY at the beginning of the message
- Tried to keep this lightweight, no regex parsing, remembering the index, so it's simple string splicing
- Add utility function that trims a string only if `trim_spaces` is enabled
2025-02-16 03:09:20 +01:00
Wolfsblvt
eb6a158781 Fix resetting reasoning duration correctly 2025-02-16 02:09:33 +01:00
Cohee
cc369d25c5 Merge pull request #3477 from SillyTavern/tc-global-banlist
Text Completion: Add global banned strings list
2025-02-16 02:18:50 +02:00
Cohee
59928d37ff Add common togglable class for coloring buttons 2025-02-16 02:16:21 +02:00
Cohee
1f41124844 Remove pointless return 2025-02-16 02:13:08 +02:00
Cohee
3d492523e2 Merge branch 'staging' into tc-global-banlist 2025-02-16 01:12:23 +02:00
Cohee
fc488bd4fe Merge pull request #3481 from SillyTavern/cache-buster
Add cache buster middleware to clear browser cache on server restart
2025-02-16 01:11:54 +02:00
Cohee
fd38ca503a Evict cache per user agent 2025-02-15 23:05:08 +02:00
Cohee
9a15890745 Merge pull request #3480 from SillyTavern/fix-auto-expand-new-message
Fix auto expand on thinking during new message
2025-02-15 22:57:01 +02:00
Wolfsblvt
37d9d4c253 Make sure auto-expand doesn't conflict with hidden 2025-02-15 21:44:06 +01:00
Cohee
bae02a44ed Add cache buster middleware to clear browser cache on server restart 2025-02-15 12:56:43 +02:00
Cohee
23f0b6ed09 Add a blank line 2025-02-15 12:38:45 +02:00
Cohee
c87e203b4a Refactor banned strings kill switch functions into a single toggle function 2025-02-15 12:37:48 +02:00
Wolfsblvt
dd50f49176 Fix auto expand on thinking during new message 2025-02-15 10:23:36 +01:00
Cohee
c37c9051a6 Fix bug when only global bans are defined 2025-02-15 00:34:07 +02:00
Cohee
8a4cf86b65 Integrate killswitch into the block 2025-02-15 00:28:38 +02:00
Cohee
a2a15b9978 Merge branch 'Banned-Strings-Killswitch' into tc-global-banlist 2025-02-15 00:12:16 +02:00
Cohee
96d6a6df07 Merge pull request #3478 from Dakraid/feature/set-listen-ip
Feature: Allow user to configure an address to listen to
2025-02-15 00:02:15 +02:00
Cohee
dbbf069e85 Remove message redundancy 2025-02-14 23:53:31 +02:00
Cohee
d276d23310 Firefox: Clear cache on avatar upload 2025-02-14 23:20:33 +02:00
Cohee
c98d241f3c Refactor logAddress check 2025-02-14 23:09:36 +02:00
Kristan Schlikow
961a71877b Remove extra resolve for autorun 2025-02-14 22:02:16 +01:00
Kristan Schlikow
13e38c7c86 Add debug script in package.json 2025-02-14 21:13:17 +01:00
Cohee
61e056004a Safari: hide summary block arrow 2025-02-14 22:06:18 +02:00
Kristan Schlikow
b029ae98dc Fix default config for IPv6 2025-02-14 20:06:45 +01:00
Kristan Schlikow
f5bfbce0ad Group listenAddress for config 2025-02-14 20:04:23 +01:00
Kristan Schlikow
a4c124dff0 Remove dead code 2025-02-14 20:00:15 +01:00
Kristan Schlikow
2445b6d9dc Split up listen address configuration between IPv4 and IPv6 2025-02-14 19:58:59 +01:00
Kristan Schlikow
ad8f0f564f Use IP Regex package, update default 2025-02-14 19:06:07 +01:00
Cohee
c47d997a2d Merge pull request #3475 from SillyTavern/ollama-batch
Ollama: Add num_batch config value
2025-02-14 12:34:13 +02:00
Kristan Schlikow
dd55b2770a Address issues with IPv6 binding 2025-02-13 23:51:18 +01:00
Kristan Schlikow
83f74a5d22 Allow user to configure an address to listen to 2025-02-13 23:43:10 +01:00
Cohee
09aaa9181c Good night 'Black Magic Time' 2025-02-13 23:34:20 +02:00
Cohee
5477586ce4 Merge pull request #3476 from Dakraid/feature/fal-integration
Feature: FAL.AI Integration
2025-02-13 23:04:40 +02:00
Kristan Schlikow
76becb43ae Pass through errors coming from FAL to the user 2025-02-13 21:43:08 +01:00
Kristan Schlikow
b033b98532 Address issues raised in PR 2025-02-13 21:09:13 +01:00
Cohee
412d638e9e Text Completion: Add global banned strings list 2025-02-13 22:07:36 +02:00
Kristan Schlikow
6e0ed8552f Add support for FAL.AI as image gen provider 2025-02-13 19:34:34 +01:00
Cohee
dd7391caaf Ollama: Add num_batch config value 2025-02-13 20:17:33 +02:00
Cohee
f101dd571f Add deprecated warnings to f-localStorage 2025-02-13 20:00:47 +02:00
Cohee
1a52d3c293 Fix rendering of messages without extra object 2025-02-13 12:22:41 +00:00
Cohee
d6bf3439b4 Don't try to update reasoning for impersonation stream 2025-02-13 10:55:32 +00:00
Cohee
54a9e0afee Merge pull request #3470 from SillyTavern/o1-vision-support
Add o1 to vision-supported models
2025-02-13 09:48:32 +02:00
Wolfsblvt
5de2f8ea2d Add o1 to vision-supported models 2025-02-13 02:40:34 +01:00
Wolfsblvt
93f3334ad0 Make hidden reasoning blocks not toggleable 2025-02-12 22:38:26 +01:00
Cohee
25a2582d15 Merge pull request #3444 from SillyTavern/hidden-reasoning-tracking
Track reasoning duration for models with hidden reasoning
2025-02-12 23:26:47 +02:00
Cohee
d076a210a1 Bring f-localStorage back 2025-02-12 23:08:11 +02:00
Wolfsblvt
b5fc7d6d4d Add toggle for showing hidden reasoning 2025-02-12 22:04:48 +01:00
Wolfsblvt
a204325136 Merge pull request #3468 from Eradev/kr-i18n
Fix kr i18n
2025-02-12 20:22:02 +01:00
Eradev
0decd4d1b6 Fix kr i18n 2025-02-12 13:32:17 -05:00
Cohee
34db46d84b Merge branch 'staging' into hidden-reasoning-tracking 2025-02-12 20:00:52 +02:00
Wolfsblvt
c2377f0c13 Re-add reasoning placeholder check to prompt build
- Was removed because placeholder is not needed anymore. But for compatibility with old saved chats from staging that might have this, we should keep it for a while (or forever)
2025-02-12 18:43:05 +01:00
Cohee
829888bda7 AccountStorage: Fix migration logic 2025-02-12 12:00:31 +02:00
Cohee
43f524bb5f Merge pull request #3463 from SillyTavern/bogus-localstorage
Add settings.json-backed KV string storage
2025-02-12 11:55:59 +02:00
Cohee
34d17a4fcb Migrate QR editor preferences to accountStorage 2025-02-12 11:29:27 +02:00
Cohee
340c03cedf Make user input saving account-specific 2025-02-12 11:21:13 +02:00
Cohee
5085f6cdc9 Refactor AccountStorage to use private fields for state management 2025-02-12 10:58:36 +02:00
Cohee
798f8d92a3 Update saveSettings function to schedule another save when settings are not ready 2025-02-12 10:43:19 +02:00
Cohee
d4061cc139 Merge branch 'staging' into bogus-localstorage 2025-02-12 10:38:54 +02:00
Cohee
93b6612c75 Remove leftover event handler 2025-02-12 10:36:25 +02:00
Wolfsblvt
48dfee39ae Switched even more to "generating" CSS 2025-02-12 00:22:22 +01:00
Wolfsblvt
6c0ea67d3d Show "Thinking..." while generation is happening
- Show thinking/thought for while generation is happening, even when hidden thinking
- Fix empty reasoning having toggle-able block
2025-02-12 00:00:22 +01:00
Wolfsblvt
58b8e7908d Add data attribute during generation
- Fix reasoning buttons still appearing
- Allow easier customization of HTML elements via CSS that appear during gen
2025-02-11 23:34:21 +01:00
Wolfsblvt
4e94e83540 Swiping doesn't need to reset reasoning UI 2025-02-11 23:15:49 +01:00
Cohee
d1018a824c Merge branch 'staging' into hidden-reasoning-tracking 2025-02-11 23:45:13 +02:00
Cohee
4c8ae0afd3 Merge pull request #3465 from SillyTavern/quiet-reasoning-parse
Remove reasoning from queit prompt results if auto-parse is enabled
2025-02-11 23:37:26 +02:00
Wolfsblvt
d9b2311e17 Allow editing/adding hidden reasoning blocks
- Fix cancel not cancelling correctly
- Allow editing/adding of hidden reasoning blocks
- Make style and tooltip to show on edit that hidden reasoning is present
- Update reasoning UI on edit cancel - to be sure
2025-02-11 22:17:40 +01:00
Wolfsblvt
21af0243d6 Rework reasoning CSS selectors and fixes
- Remove reliance on :empty state of reasoning textbox, now using the actual css class on mes (".mes.reasoning")
- Fix reasoning add not working when Auto-Expand is not enabled
- Clean setting of dataset attributes, now removing when null
2025-02-11 21:45:54 +01:00
Cohee
63e3816e92 Remove reasoning from queit prompt results if auto-parse is enabled
Fixes #3457
2025-02-11 22:35:56 +02:00
Wolfsblvt
d60609716b Yoink reasoning placeholder from being saved 2025-02-11 20:58:05 +01:00
Wolfsblvt
76bd2547e1 Attempt to fix wrong display behavior 2025-02-11 20:23:52 +01:00
Cohee
ee101353d8 Clear media alerts from storage on character deletion 2025-02-11 20:31:37 +02:00
Cohee
d5bdf1cb90 Add settings.json-backed KV string storage
Fixes #3461, #3443
2025-02-11 20:17:48 +02:00
Wolfsblvt
c8b103a9e8 Make "Thinking..." default to fix weird flicker 2025-02-11 18:41:44 +01:00
Cohee
c3dd3e246e DeepSeek: Add tool calling for -chat model 2025-02-11 00:04:40 +02:00
Cohee
47b06b4978 Fix empty lines in generation timer 2025-02-10 22:14:22 +02:00
Cohee
ad845b5fbf Merge branch 'staging' into hidden-reasoning-tracking 2025-02-10 21:49:11 +02:00
Cohee
c7958a4bb8 Merge pull request #3456 from SillyTavern/mobile-prompt-itemization
Allow mobile to access the "Raw Prompt" in Prompt Itemization
2025-02-10 21:41:47 +02:00
Wolfsblvt
aee8441fc4 Mobile prompt itemization - duh
- Make it into a popup. There is no space
2025-02-10 15:07:57 +01:00
Wolfsblvt
703e876f4a Fix and shorten isHiddenReasoningModel 2025-02-10 06:15:47 +01:00
Cohee
d4e77280fc Gemini: don't send "thinkingConfig" to backend
As it does absolutely nothing
2025-02-09 19:03:31 +02:00
Wolfsblvt
31f19d0d8a More fixes on reasoning
- Fix resetting reasoning on swipes
- Fix not updating reasoning time/end on gen when trim spaces was enabled
- Fix hidden model checking not working
2025-02-09 08:26:51 +01:00
Wolfsblvt
32ec475ca2 Merge pull request #3450 from subzero5544/top-k-fix
Fix top_k text value not being able to go up to 500, like the slider does
2025-02-09 08:24:05 +01:00
subzero5544
e8d8cebd8e Update index.html 2025-02-09 00:37:39 -06:00
Wolfsblvt
d48db9aded Update hidden reasoning model function
- Now more flexibly supports different API providers, and uses direct model names
- Fixes hidden reasoning time for OpenRouter and custom endpoints
2025-02-09 06:27:04 +01:00
Wolfsblvt
33fa5aaab8 Merge branch 'staging' into hidden-reasoning-tracking 2025-02-09 06:03:32 +01:00
Wolfsblvt
c501673241 Small improvements to reasoning UI 2025-02-09 06:03:23 +01:00
Wolfsblvt
0792c17f55 Update reasoning CSS hide hidden reasoning again 2025-02-09 05:25:43 +01:00
Wolfsblvt
9697322f1e More coding on ReasoningHandler, fixing stuff 2025-02-09 05:17:56 +01:00
Wolfsblvt
d8eeab0c00 Refactoring StreamProcessor -> ReasoningHandler 2025-02-09 01:26:01 +01:00
Cohee
b2bd73fa78 Merge pull request #3448 from SillyTavern/compact-reasoning-settings
Update layout of Reasoning settings block
2025-02-08 23:15:35 +02:00
Cohee
6e4a51b37f Update i18n 2025-02-08 23:15:11 +02:00
Wolfsblvt
8b4414b799 Add thinking time to gen timer tooltip 2025-02-08 21:58:55 +01:00
Cohee
a2cfcd4ca6 feat: Delete image swipes at once or one by one 2025-02-08 22:55:38 +02:00
Cohee
0bf18e7413 Add debug result console logs for websearch APIs 2025-02-08 22:29:24 +02:00
Cohee
5e540f4f97 Websearch: add Serper API endpoint 2025-02-08 22:28:12 +02:00
Cohee
f83dccda39 Mark 'Extras' option as deprecated in built-in extensions 2025-02-08 21:56:54 +02:00
Cohee
98ea463e0e Update layout of Reasoning settings block 2025-02-08 21:18:46 +02:00
Cohee
d5959a4681 Add awaits to event emissions 2025-02-08 19:13:05 +02:00
Cohee
c886de5deb Move isHiddenReasoningModel 2025-02-08 18:17:38 +02:00
Wolfsblvt
c8e05a34d6 Add gemini pro to hidden thinking models 2025-02-08 01:48:14 +01:00
Wolfsblvt
d94ac48b65 Add thinking time for hidden reasoning models
- Streamline reasoning UI update functionality
- Add helper function to identify hidden reasoning models
- Fix/update reasoning time calculation to actually utilize start gen time
- Fix reasoning UI update on swipe
- add CSS class for hidden reasoning blocks (to make it possible to hide for users)
2025-02-08 00:45:33 +01:00
Cohee
5886bb6b3a Merge pull request #3442 from SillyTavern/more-reasoning-ui
Smaller improvements and fixes to the reasoning UI
2025-02-07 23:55:18 +02:00
Cohee
8387431534 Revert "Unify reasoning request effect on parsing"
This reverts commit ca7d2aeec3.
2025-02-07 23:46:38 +02:00
Cohee
754a14ff3e Add types for dompurify 2025-02-07 23:45:57 +02:00
Cohee
ca7d2aeec3 Unify reasoning request effect on parsing 2025-02-07 23:35:07 +02:00
Cohee
28ba262087 Reduce "few seconds" threshold to 3 2025-02-07 23:33:10 +02:00
Wolfsblvt
23d2c40e05 Remove not needed reasoning ui event handler 2025-02-07 22:21:01 +01:00
Wolfsblvt
4094887624 Add jsdoc 2025-02-07 21:46:41 +01:00
Cohee
4492828b9f Merge pull request #3441 from SillyTavern/gpt-o1-o3-streaming
Enable streaming for gpt-o1 and gpt-o3
2025-02-07 22:05:29 +02:00
Cohee
a2aef5ea4a Use array.includes 2025-02-07 22:04:21 +02:00
Wolfsblvt
cc401b2c9d Whelp, seems like o1 main still no streaming 2025-02-07 20:12:10 +01:00
Wolfsblvt
95a31cdd98 Remove logit bias from o1 and o3
- They do not be supporting it anymore
2025-02-07 19:51:21 +01:00
Wolfsblvt
d1ec9eb8ab Enabled streaming for o1 and o3
- They do be supporting it now
2025-02-07 19:50:01 +01:00
Cohee
0bcf8b5d21 Merge pull request #3439 from sirius422/fix-old-gemini-models
fix: adjust safetySettings handling for legacy Gemini models
2025-02-07 13:54:59 +02:00
sirius422
f32938981c fix: adjust safetySettings handling for legacy and experimental Gemini models
- gemini-1.5-flash-8b-exp-0827
- gemini-1.5-flash-8b-exp-0924
- gemini-pro
- gemini-1.0-pro
2025-02-07 16:35:44 +08:00
Wolfsblvt
25d1db3852 Fix issues with reasoning add/delete 2025-02-06 22:39:29 +01:00
Cohee
9d3ad0d69d Update bug-report.yml 2025-02-06 23:21:29 +02:00
Wolfsblvt
3ec3d71c5f Reduced round corners on thinking, make ppl happy 2025-02-06 22:17:21 +01:00
Wolfsblvt
79b8229b1b Add reasoning time seconds tooltip 2025-02-06 21:53:34 +01:00
Wolfsblvt
06303bb62f Move reasoning stuff to reasoning.js 2025-02-06 21:50:33 +01:00
Cohee
1acee3d4c9 Gemini: Add sysprompt for gemini 2.0 pro/flash 2025-02-06 21:46:17 +02:00
Wolfsblvt
b6d6727135 Merge pull request #3434 from sirius422/add-gemini-models
Add new gemini models and update the safety settings
2025-02-06 20:33:54 +01:00
Wolfsblvt
92a83ed01b Merge branch 'staging' into pr/3434 2025-02-06 20:18:25 +01:00
Wolfsblvt
f85e464ffd Merge pull request #3437 from SillyTavern/gemini-models
Add new gemini models
2025-02-05 23:32:39 +01:00
Wolfsblvt
852ec86e26 Add new gemini models
- Gemini 2.0 Flash
- Gemini 2.0 Flash Lite Preview
- Gemini 2.0 Pro Experimental
2025-02-05 23:30:11 +01:00
Wolfsblvt
72ae3aa33d Just some css classes for WI entries 2025-02-05 23:15:30 +01:00
sirius422
d35bd3b073 feat: update Gemini safety settings
- Set threshold to OFF for most models, except for HARM_CATEGORY_CIVIC_INTEGRITY.
- Handle specific cases for a few models.
2025-02-06 04:59:30 +08:00
sirius422
b074f9fa89 feat: update Gemini models
- Add new Gemini models (2025/02/05)
2025-02-06 04:50:54 +08:00
Cohee
ed46b96ba2 Fix reasoning-get with no argument 2025-02-04 23:41:16 +02:00
Cohee
acf71fd702 Merge pull request #3431 from SillyTavern/ipv6_auto
Better IPv6 support
2025-02-04 23:23:02 +02:00
Cohee
5f564343ec Remove console log 2025-02-04 23:14:01 +02:00
Cohee
dfb062af41 Clean-uo blank lines 2025-02-04 22:52:07 +02:00
Cohee
d9bb5e6b1f Revert old default values 2025-02-04 22:46:24 +02:00
Cohee
363d8a4121 Merge branch 'staging' into ipv6_auto 2025-02-04 22:45:46 +02:00
Cohee
d9fc76f336 Merge pull request #3430 from qvink/generate_before_combine_prompts_await
await GENERATE_BEFORE_COMBINE_PROMPTS
2025-02-04 21:45:59 +02:00
qvink
e2c3af2114 Changing the event GENERATE_BEFORE_COMBINE_PROMPTS to an await emit() instead of emitAndWait(). 2025-02-04 11:22:23 -07:00
Cohee
7aa9b857c2 Merge pull request #3423 from SillyTavern/wi-dry-run-delays
WI dry run checks delay + logging
2025-02-04 17:44:28 +02:00
Cohee
327f4b1074 ditto 2025-02-04 10:56:42 +02:00
Cohee
4a58948b27 fix: correct typo in log message 2025-02-04 10:54:27 +02:00
Cohee
1f206c3a36 Merge pull request #3425 from Tosd0/staging
Optimize zh-CN Translations
2025-02-04 10:53:43 +02:00
Cohee
c9144cd824 Merge pull request #3424 from SillyTavern/oai-reasoning-effort
OpenAI "Reasoning Effort" for o1/o3-mini + oai models restructured
2025-02-04 10:52:30 +02:00
Cohee
dd2154c19b Refactor reasoning effort handling for OpenAI models in chat completions 2025-02-04 10:50:58 +02:00
Cohee
dade4eafa5 Add reasoning_effort to Custom.
Update inline image quality style
2025-02-04 10:45:51 +02:00
Cohee
4f63b471d1 Save reasoning effort to preset 2025-02-04 10:28:04 +02:00
Cohee
16bb9b3679 Update models list
1. Moderation can't be prompted from /chat/completions
2. Move turbo base model on top of the group
2025-02-04 10:23:25 +02:00
Cohee
6ececb2ceb Fix text display on stream abort 2025-02-04 10:16:26 +02:00
Sevenyine
6edbb23903 update 2025-02-04 12:34:33 +08:00
Sevenyine
50baaaae81 Optimize Translations 2025-02-04 11:36:03 +08:00
Wolfsblvt
da531f12c2 Fix reasoning error on empty chat 2025-02-04 00:20:17 +01:00
Wolfsblvt
ba0e852f20 Add o1 + update fill openai model list 2025-02-04 00:11:56 +01:00
Wolfsblvt
d0ebac37c1 Make the backend actually send reasoning_effort 2025-02-03 23:58:01 +01:00
Wolfsblvt
3f9af45493 Add reasoning_effort for OpenAI models 2025-02-03 23:29:53 +01:00
Wolfsblvt
fd3c427f07 WI dry run checks delay
- WI dry run now also checks for delays
- Better visibility of what a dry run is in the logs
2025-02-03 22:12:35 +01:00
Cohee
524ecf8acd Merge pull request #3418 from pcpthm/fix-reasoning-duplicated
Fix reasoning is duplicated when a continue generation is interrupted
2025-02-03 16:44:08 +02:00
pcpthm
c4be4d7d61 Fix reasoning duplicated when continue is interrupted 2025-02-03 21:07:49 +09:00
Cohee
89a16f2030 Merge pull request #3415 from dvejmz/bugfix/fix-o3-mini-selector-labels 2025-02-03 00:47:23 +02:00
David Jimenez
1dfc09e4d2 fix: add missing o3-mini labels to model selector 2025-02-02 21:38:44 +00:00
Cohee
bfd57b66ef [wip] OpenRouter: Add model providers endpoint 2025-02-02 23:30:44 +02:00
Cohee
71e1fc91f1 select2: Add disabled option styling 2025-02-02 23:30:11 +02:00
Cohee
14703846a7 OpenAI: add options for o3-mini 2025-02-02 22:21:21 +02:00
Cohee
5494e89fdb Merge pull request #3413 from SillyTavern/thinking-is-stylish
Thinking is stylish - if you are not cool, I don't know how to help you
2025-02-02 21:46:23 +02:00
Cohee
4ca55d3b9b Revert edit buttons units 2025-02-02 20:55:03 +02:00
Cohee
5aa82eda2b Add missed power_user setting 2025-02-02 20:53:55 +02:00
Cohee
d9f2ee0d48 Localize reasoning duration string 2025-02-02 18:51:55 +02:00
Cohee
ff83ae975d Add toggle for reasoning auto-expand 2025-02-02 18:42:12 +02:00
Cohee
02130b848c Increase left reasoning padding 2025-02-02 18:05:28 +02:00
Cohee
900c0caffa Fix class set condition 2025-02-02 18:02:23 +02:00
Cohee
4e74fd0467 Align ch_name row 2025-02-02 16:51:17 +02:00
Cohee
6fe26f7f77 Fix reasoning editor duplication 2025-02-02 16:40:45 +02:00
Cohee
fb83a3ca3f Position absolute for arrow 2025-02-02 16:26:26 +02:00
Cohee
14c3dae180 Hide reasoning edit buttons if both edits are open. 2025-02-02 16:13:08 +02:00
Cohee
50869757d3 1. Update spacing units to em
2. Hide reasoning icon by default
3. Make arrow scaleable
2025-02-02 16:09:39 +02:00
Cohee
aecbc48d43 Merge pull request #3410 from bmen25124/export_some_world_methods
New exported methods: loadWorldInfo(), saveWorldInfo(), updateWorldIn…
2025-02-02 15:44:55 +02:00
Cohee
0c8a11e28b Further loglevel updates
1. Fix missed endpoints
2. Exclude console.log from loglevel
2025-02-02 15:40:37 +02:00
Wolfsblvt
ffeb6b45aa Make thonking block font size scaling 2025-02-02 14:36:27 +01:00
Cohee
76d1661768 Merge pull request #3307 from Eradev/staging-3071-v2
Added option to disable the chat logs in terminal v2
2025-02-02 15:30:30 +02:00
Wolfsblvt
a14e3b0657 Improve reasoning block inline editing 2025-02-02 12:58:01 +01:00
Wolfsblvt
2d335e27ff Modify when "Add reasoning" button shows up 2025-02-02 12:21:14 +01:00
Wolfsblvt
8fb95f9a84 Reasoning inline edit improvements + style 2025-02-02 10:37:21 +01:00
Eradev
a5399b6614 Sparser use of .error 2025-02-02 03:47:04 -05:00
Wolfsblvt
199be15f4b Allow Ctrl+Enter on reasoning edit 2025-02-02 09:11:54 +01:00
Eradev
055a6527fc PR fixes 2025-02-02 03:10:32 -05:00
Eradev
842b59605b Merge branch 'staging' into staging-3071-v2 2025-02-02 02:44:21 -05:00
Wolfsblvt
3818290e4d Add reasoning time duration
- Add reasoning time calculation, saved in message metadata
- Add event when reasoning streaming is finished
2025-02-02 07:32:45 +01:00
RossAscends
c5dad20fc4 add killswitch for banned strings 2025-02-02 12:00:01 +09:00
Wolfsblvt
e5e931356b Remove forceEnum from char args in slash commands
- This precented people from actually using the characterKey inside the chatbox to go to a character
2025-02-02 03:43:20 +01:00
Wolfsblvt
e7c799ae2a Cooler styling for reasoning blocks 2025-02-02 03:21:52 +01:00
Cohee
6deaa31d41 Move typing indicator to an extension
https://github.com/SillyTavern/Extension-TypingIndicator
2025-02-02 03:54:14 +02:00
Cohee
1f0aa29307 Merge pull request #3408 from conornash/update_groq_models_20250201
Update Groq models
2025-02-02 02:33:00 +02:00
Conor Nash
eeaec2697b Update context lengths and remove guard model 2025-02-01 23:54:14 +00:00
bmen25124
630c7980d3 New exported methods: loadWorldInfo(), saveWorldInfo(), updateWorldInfoList(), convertCharacterBook() 2025-02-02 02:39:12 +03:00
Cohee
890c0c4723 Merge pull request #3409 from Succubyss/member-get
Adds /member-get via enhancing findGroupMemberId
2025-02-02 00:59:03 +02:00
Cohee
9c31c21d79 Use SlashCommandEnumValue 2025-02-02 00:47:12 +02:00
Wolfsblvt
1ea2134936 Add title tooltip to expression sprites
Closes #2596
2025-02-01 23:43:45 +01:00
Succubyss
b35a746470 /member-get tweaks 2025-02-01 15:50:34 -06:00
Succubyss
d26f99b496 full = false to prevent IDE complaints
Co-authored-by: Wolfsblvt <wolfsblvt@gmail.com>
2025-02-01 15:44:14 -06:00
Succubyss
a1abe14e02 add /member-get 2025-02-01 14:44:09 -06:00
Succubyss
ae9296f989 /peek→/member-peek (with /peek alias) 2025-02-01 14:43:08 -06:00
Succubyss
ea1d9e1d1a corrections to /member-* warnings 2025-02-01 14:41:02 -06:00
Succubyss
b8821acb95 add 'full' parameter to findGroupMemberId 2025-02-01 14:37:41 -06:00
Conor Nash
c11e64a782 Update Groq models 2025-02-01 18:26:49 +00:00
Cohee
cc7355358d Fix undefined reasoning append on continue 2025-02-01 19:06:39 +02:00
Cohee
d2cc8b36b8 Fix cfgMessage handling 2025-02-01 16:01:04 +02:00
Cohee
3fe3430006 Fix undefined array access for CFG prompt 2025-02-01 15:36:04 +02:00
Wolfsblvt
fb2ee756dd Update and fix default expressions + emojis
- Move "use default emojis" from its own toggle into the fallback dropdown
- Add "no fallback" to the fallback dropdown
- fix fallback expressions not being consistently used
- Switching fallback will now reroll/reset the relevant expression
- Add html attributes on the expression image
2025-02-01 07:52:04 +01:00
Wolfsblvt
25ffc4ac4a Merge branch 'staging' into support-multiple-expressions 2025-02-01 04:47:48 +01:00
Wolfsblvt
5c30244627 Fix visual novel mode for new expression thingy 2025-02-01 04:46:30 +01:00
Cohee
72e1dcb3f9 Add categories parameter to /searxng endpoint 2025-02-01 03:32:10 +02:00
Cohee
a2a6afb731 Tavily: allow requesting images 2025-02-01 02:23:10 +02:00
Cohee
e59114c1c5 Another crack at o3 2025-01-31 23:14:41 +02:00
Cohee
6180210170 Future-proofing 2025-01-31 22:48:04 +02:00
Cohee
2b98e96784 Don't send max_tokens to o3 2025-01-31 22:47:00 +02:00
Cohee
364078ce27 /del is fine too 2025-01-31 22:36:18 +02:00
Cohee
fda64ffb1f Alias /del to /delete 2025-01-31 22:30:58 +02:00
Cohee
5257a45bde Allow removing group members while generating
Fixes #3389
2025-01-31 22:10:36 +02:00
Cohee
9a03aac224 Allow sending empty messages with /sendas, /sys, etc. 2025-01-31 22:03:09 +02:00
Cohee
f155cc7e92 Merge pull request #3377 from Succubyss/fnr
Adds /replace
2025-01-31 21:13:06 +02:00
Cohee
cee7170763 Merge branch 'staging' into fnr 2025-01-31 21:09:33 +02:00
Cohee
a969d34c03 Merge pull request #3396 from pcpthm/text-completion-include-reasoning
Support reasoning for OpenRouter Text Completion
2025-01-31 21:04:30 +02:00
Cohee
515a5f6943 Exclude 'include_reasoning' from TC presets 2025-01-31 20:43:20 +02:00
Cohee
47bb7ad6a1 Fix /bglock command 2025-01-31 20:37:11 +02:00
Cohee
7d937b36da Merge branch 'staging' into text-completion-include-reasoning 2025-01-31 20:33:02 +02:00
Cohee
9243a68b18 Merge pull request #3395 from pcpthm/reasoning-continue
Always add reasoning for continue
2025-01-31 20:32:14 +02:00
Succubyss
371208c24d add /replace command 2025-01-31 11:08:53 -06:00
Cohee
26030f6ee4 Fix comfy request abort 2025-01-31 16:15:07 +00:00
Cohee
5bd3d9a518 Merge branch 'staging' into reasoning-continue 2025-01-31 13:51:09 +00:00
Cohee
9710d88a88 Stop smooth streaming immediately on abort 2025-01-31 13:38:23 +00:00
pcpthm
a83e7318b0 Make "request model reasoning" default true 2025-01-31 22:38:11 +09:00
Cohee
ae376b4195 Add aliases for reasoning commands 2025-01-31 13:30:57 +00:00
Cohee
f7eab66026 Fix streaming start appending undefined to reasoning block 2025-01-31 13:30:10 +00:00
pcpthm
9de142b9ad Fix MakerSuit show reasoning 2025-01-31 22:23:59 +09:00
Cohee
67a4d10b75 Fix substituting macros in reasoning of a first message 2025-01-31 13:23:22 +00:00
Cohee
56c9b21a28 Merge pull request #3397 from pcpthm/openrouter-providers
Add new OpenRouter providers
2025-01-31 14:57:12 +02:00
pcpthm
94af9fc1a3 Add new OpenRouter providers 2025-01-31 21:49:49 +09:00
Cohee
4bf3bd8343 Fix /lockbg and /unlockbg commands 2025-01-31 12:45:08 +00:00
pcpthm
753a99faf9 Support reasoning for OpenRouter text completion 2025-01-31 21:41:56 +09:00
pcpthm
9ecf261a76 Always add reasoning for continue 2025-01-31 21:06:15 +09:00
Cohee
dfc2eb32c8 Merge pull request #3386 from SillyTavern/reasoning-parse
Reasoning blocks auto-parsing
2025-01-31 11:41:10 +02:00
Cohee
2a904c4aea Fix command argument definitions 2025-01-31 09:39:26 +00:00
Wolfsblvt
2a322faa6a Toast on /qr-get if no label and id are provided 2025-01-30 22:51:40 +01:00
Cohee
e4dda3c488 Run eslint 2025-01-30 22:00:46 +02:00
Cohee
07ef5122bb Add fallback timeout to runAfterAnimation 2025-01-30 22:00:30 +02:00
IceFog72
578c3dda73 Update loader being removed correctly on manually forced transition duration (#3384)
---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-01-30 21:59:59 +02:00
Cohee
0c121ee95a Clarify think toggle label 2025-01-30 21:40:22 +02:00
Cohee
3a6d5faa8a Merge branch 'release' into staging 2025-01-30 21:06:40 +02:00
Cohee
44343e8ec9 Merge pull request #3392 from erew123/release
fix: resolve URL duplication in AllTalk TTS audio output on V1 AllTalk
2025-01-30 21:06:07 +02:00
erew123
198fbe1a1f Set RVC version match correctly 2025-01-30 17:41:24 +00:00
erew123
2318df8b74 alltalk.js resolve V1 URL duplication in AllTalk TTS audio output
Fix URL concatenation issue where base URL was being duplicated in audio file paths. 

Updated handling of V1 (full URL) and V2 (relative path) API response formats to prevent `http://localhost:7851http://127.0.0.1:7851` type errors.
2025-01-30 17:21:41 +00:00
Wolfsblvt
198d10e759 Allow setting specific sprites as expressions
- Update /expression-set command to allow setting specific sprites
- Enhance enum completion for /expression-set to show expressions/sprites and more their info
- Fix setting sprite folder reprinting stuff double
- Fix not being able to unset expressions
2025-01-30 02:42:05 +01:00
Wolfsblvt
73393a5d5e yoink talkinghead - goodbye extras dependency 2025-01-30 01:44:27 +01:00
Cohee
cbeb7ddcec Update persona upload methods to fetch 2025-01-30 02:30:51 +02:00
Wolfsblvt
3d817352ec Add rename personas functionality 2025-01-30 01:17:43 +01:00
Cohee
1df209c284 Export variable manipulation functions to getContext 2025-01-30 01:58:55 +02:00
Wolfsblvt
f9324c74cd Streamline persona toasts, infos and states
- Added "info" block to persona description panel to show when a temporary persona is in use. Hide the long text behind a tooltip
- Reduce toast spam even further, not showing toasts when persona panel is open
- Restyle connection state buttons a bit
- Designed common 'info-block' utility to show markdown-like info blocks, with CSS styling
2025-01-30 00:50:48 +01:00
Cohee
80b29ed5cb Use string constructor 2025-01-30 01:04:53 +02:00
Cohee
4b2575f301 Apply regex to parsed reasoning 2025-01-30 01:02:23 +02:00
Cohee
4e7326b61b Add /reasoning-parse command 2025-01-30 01:02:14 +02:00
Cohee
e3f0a8d35b TC: Trim spaces in server URLs 2025-01-30 00:25:02 +02:00
Wolfsblvt
e5db40cf2d Add persona connection states to persona list
- Show persona connection/lock states in persona list (chat & char lock)
- Refactor persona images url to 'data-avatar-id' attribute
- Try make persona blocks' height consistent
- Fix persona list not correctly updating selected persona on navigating pages
- Fix group/char difference not correctly working
- Create common style template for hover-able images buttons/tags where the label only appears on hover
2025-01-29 22:54:22 +01:00
Cohee
a1cacbe904 Merge pull request #3388 from SillyTavern/autoswipe-fix
Autoswipe: Fix endless loop if blacklist empty
2025-01-29 23:22:13 +02:00
Cohee
c32e0bdde7 Autoswipe: Fix endless loop if blacklist empty 2025-01-29 23:01:37 +02:00
Cohee
7bc8087d02 Use separate flag for replacement checks 2025-01-29 21:59:13 +02:00
Cohee
91b2dc57fa Brighter warning for trim spaces disabled 2025-01-29 21:57:27 +02:00
Cohee
7fc0ddb60c Trim spaces in parsed content too 2025-01-29 21:53:48 +02:00
Cohee
d0abba23dc Add reasoning auto-parsing, always show reasoning prefix/suffix in Markdown, respect space trim preference 2025-01-29 21:38:08 +02:00
Cohee
15a3cfcb8a Perplexity: Add reasoning model, remove deprecated models 2025-01-29 20:57:38 +02:00
Cohee
ee57675c12 Merge pull request #3370 from SillyTavern/reasoning-regex
Add regex processing for reasoning blocks
2025-01-29 15:09:55 +02:00
Cohee
249e2555d0 Merge pull request #3378 from BooleanWhale/patch-1
Sets italics inside quotes to parent color.
2025-01-29 11:40:49 +02:00
Cohee
a6a7810be2 Regex: fix "Alter Outgoing Prompt" applying when unchecked (#3380)
* Regex: rework ephemerality options.

* Fix ephemeral regex being executed when unwanted

* Revert to old code style
2025-01-29 11:39:32 +02:00
Cohee
9e8fd3f5a0 Merge pull request #3382 from SillyTavern/staging
Staging into reasoning-regex
2025-01-29 11:38:50 +02:00
Cohee
cd05650164 Merge pull request #3379 from Finadil/staging
Fix /note-role argument name
2025-01-29 01:09:36 +02:00
Finadil
d5f6ecf3c3 Fix /note-role argument name
I am full of shame. 🫢
2025-01-28 18:03:01 -05:00
Ashley Saleem-west
7f321c9cf6 Merge branch 'staging' into patch-1 2025-01-28 22:50:49 +00:00
Cohee
4f456b2b80 TTS: Call module worker when audio stops playing
#3371
2025-01-28 23:14:26 +02:00
Cohee
6dde068e71 Merge pull request #3371 from fearmear/release
Decrease TTS generation delay by splitting a message on a new line
2025-01-28 23:10:12 +02:00
Cohee
2aa1dd41f5 eslint 2025-01-28 23:07:59 +02:00
Cohee
26feb448a3 Merge pull request #3368 from SillyTavern/profile-stopstrings
Add command and profile for custom stop strings
2025-01-28 23:03:09 +02:00
Cohee
0c9676e7fc /stop-strings: add aliases 2025-01-28 23:01:58 +02:00
Cohee
bab8a09a80 /stop-strings: update help 2025-01-28 23:00:28 +02:00
Ashley Saleem-west
b0e80137da Sets italics inside quotes to parent color. 2025-01-28 20:58:26 +00:00
Wolfsblvt
2344d98e20 Move persona buttons to right panel
- Move all buttons from the persona list to the right panel, to the already existing ones
- Common CSS class/style for '.buttons_block'
- Common CSS style for a red button
- Refactored a few persona buttons' functionalities
2025-01-28 20:53:55 +01:00
Cohee
35e8561bff /reasoning-set: fix at argument 2025-01-28 21:03:44 +02:00
Wolfsblvt
6081b9f0ce Merge branch 'staging' into persona-improvements 2025-01-28 18:57:20 +01:00
Eradev
552a418bae Merge branch 'staging' into staging-3071-v2 2025-01-28 10:49:53 -05:00
Cohee
0c9b301a57 Prevent ephemeral message extra changes vanish upon swiping 2025-01-28 15:39:09 +00:00
Cohee
3a8a329b0f Merge pull request #3373 from braxton-p/fix-newlines-skip_tags-regex
Fix tts.skip_tags's regex to match newlines
2025-01-28 09:50:51 +02:00
Dzmitry Kazlouski
63e7acb87b Make this feature togglable in extensions > "Narrate by paragraphs (when not streaming)" 2025-01-28 05:50:25 +03:00
Small Eggs
145136059e Fix tts.skip_tags's regex to match newlines
The extension_settings.tts.skip_tags setting is meant to skip sending
tags and their content to the TTS API provider. The original regular
expression matched content inside tags with ".*?". Unfortunately,
Javascript's engine does *not* match newlines on the "." without the /s
flag.

The /s flag was added in ES2018. To be more compatible, the regex
has been changed to "[\s\S]+?". This gives similar performance (instead
of using capture groups) and matches all content within a tag, as the
original regex intended.
2025-01-27 17:43:24 -08:00
Dzmitry Kazlouski
283ceb6bbf Decrease TTS generation delay by splitting a message on a new line 2025-01-28 02:51:05 +03:00
Wolfsblvt
6348d1f19a CSS fixes (hide overflow, sprites interactable) 2025-01-28 00:17:42 +01:00
Wolfsblvt
d316d51c0b Rework expression slash commands
- Common naming schema for slash commands, all starting with the name of the expression - moved the original names to aliases
- Make char name optional for /expression-last if not in group chat
- Removed legacy 'format' argument handling from /expression-classify
- Fixed /expression-upload to the new backend call, added optional 'spriteName' argument
2025-01-27 23:48:37 +01:00
Cohee
d616dfef38 Prevent log warning spam 2025-01-28 00:03:38 +02:00
Wolfsblvt
84a8a2bc2b Fix expression sprite sorting, fade additional
- Sort alphabetically, but keep the main expression file first
- Fade additional sprite images if "allow multiple" is not chosen
2025-01-27 23:01:29 +01:00
Cohee
0fb9884ab8 Skill issue 2025-01-27 23:59:25 +02:00
Cohee
0a413d63aa Add reasoning regex on edit 2025-01-27 23:11:31 +02:00
Wolfsblvt
7063af7363 Move new expression settings, add tooltip 2025-01-27 22:10:31 +01:00
Cohee
6fc342d446 Add regex processing for reasoning blocks 2025-01-27 23:06:07 +02:00
Wolfsblvt
3d6f48786d Refactor expression popups to modern popup 2025-01-27 21:57:40 +01:00
Wolfsblvt
65ad79adce Fix expression delete 2025-01-27 21:50:13 +01:00
Cohee
fad4e4e75e Add command and profile for custom stop strings 2025-01-27 22:30:35 +02:00
Cohee
3b8fd6f62f Merge pull request #3345 from SillyTavern/woo-yeah
Better reasoning
2025-01-27 22:09:32 +02:00
Cohee
abe240397d Set assistant role to bias in CC
#3366
2025-01-27 22:01:44 +02:00
Cohee
8b5e0df2d7 Refactor reasoning placeholder clean-up 2025-01-27 21:56:15 +02:00
Cohee
2b919d0cf2 Merge pull request #3367 from witten/patch-1
Update docker command in README to actually run the container
2025-01-27 21:39:43 +02:00
Dan Helfman
a03193b2f7 Change docker create to run so it actually runs the container. 2025-01-27 11:08:08 -08:00
Cohee
a5a8f6057b Merge branch 'staging' into woo-yeah 2025-01-27 20:56:04 +02:00
Cohee
fd1fdc6466 Fix fitting class resetting after picking BG 2025-01-27 17:48:50 +00:00
Wolfsblvt
ef127df623 Update sprite delete call 2025-01-27 08:33:14 +01:00
Wolfsblvt
3282c9426c Upload expressions update 2025-01-27 05:39:51 +01:00
Wolfsblvt
5c34c93a84 Merge branch 'staging' into support-multiple-expressions 2025-01-26 23:11:37 +01:00
Wolfsblvt
239c3f1db7 Add settings for multiple expressions 2025-01-26 23:11:22 +01:00
Wolfsblvt
913509f887 Don't look at this 2025-01-26 22:27:59 +01:00
Wolfsblvt
1f116d9afe Reduce persona toast spam 2025-01-26 22:13:32 +01:00
Wolfsblvt
2cfb9e8dab Fix lock icon state on auto-lock to chat 2025-01-26 20:50:10 +01:00
Cohee
8448d6c6e6 Merge branch 'staging' into persona-improvements 2025-01-26 21:18:51 +02:00
Cohee
9f54adbeb4 Comment dupe default persona button 2025-01-26 21:18:38 +02:00
Cohee
6d43eea1bd Merge pull request #3361 from SillyTavern/write-fallback-img
Use default avatar if imported image is corrupted
2025-01-26 20:36:14 +02:00
Cohee
312969462e Fix AICC website reference 2025-01-26 20:35:24 +02:00
Cohee
999da4945a Fix error log 2025-01-26 20:29:04 +02:00
Cohee
bf294aa684 Merge pull request #3360 from SillyTavern/group-member-version
Add char version to group panel member names
2025-01-26 20:22:27 +02:00
Cohee
a58476d079 Clip long version strings 2025-01-26 20:15:32 +02:00
Wolfsblvt
adede8b6be Roll on the sprite to use for an expression 2025-01-26 19:12:37 +01:00
Cohee
65e32f720d Use default avatar if imported image is corrupted 2025-01-26 19:58:37 +02:00
Wolfsblvt
35ab677ff1 Add char version to group panel member names
- Follows the same style as version in char list
- Respects the chosen "auxiliary field" setting

Closes #3359
2025-01-26 18:44:12 +01:00
Cohee
bfedf20db5 Add reasoning tokens to token count. 2025-01-26 18:29:31 +02:00
Cohee
a7516937f7 Add reasoning slash commands 2025-01-26 18:00:14 +02:00
Cohee
a42337ad0a Use 'localhost' as a fallback for hostname 2025-01-26 16:50:59 +02:00
Cohee
c9ab987658 Fix default thonk separator 2025-01-26 16:48:04 +02:00
Cohee
eb798fa4f1 Move reasoning-specific code into its own module 2025-01-26 16:47:13 +02:00
Cohee
17d4175b47 Functional reasoning edit 2025-01-26 05:14:17 +02:00
Cohee
45d4d1bb3e [wip] Open reasoning editor 2025-01-26 02:49:10 +02:00
Cohee
8fc880b69b Early stopping if prompt reasoning limit reached 2025-01-26 02:07:50 +02:00
Cohee
30426d21e7 Merge branch 'staging' into woo-yeah 2025-01-26 01:57:36 +02:00
Cohee
9aac5a22f1 Defer middleware HTML file reads 2025-01-26 01:46:30 +02:00
Cohee
96143177ce Fix logit bias for DeepSeek on OpenRouter 2025-01-26 01:42:08 +02:00
Wolfsblvt
a072951102 Update backend returned sprites list 2025-01-26 00:15:46 +01:00
Cohee
c9a1a3eb94 Merge pull request #3351 from SillyTavern/csrf-sync
Replace CSRF middleware
2025-01-25 23:23:43 +02:00
Cohee
44ade6ad64 Customize CSRF token error message 2025-01-25 23:20:26 +02:00
Cohee
44ad69ceca Merge pull request #3342 from Spappz/staging
Allow customisation of the 403 page
2025-01-25 23:00:23 +02:00
Wolfsblvt
f78bf5e46f Add "StartDev.bat" placeholder to .gitignore 2025-01-25 21:45:55 +01:00
Cohee
94ed548353 Formatting setting to send reasoning back to the model
Supersedes #3352
2025-01-25 22:41:08 +02:00
Spappz
6099ffece1 No exceptions on missing error webpages
- Create a `safeReadFileSync()` function in `src/utils.js` to wrap around `fs.readFileSync()`
- Migrate error-webpage loads to use `safeReadFileSync()`, with default values of an empty string
- Move the 404 error middleware to explicitly only be called *after* extensions are registered
2025-01-25 20:29:31 +00:00
Cohee
347a515c25 Thonk yeet 2025-01-25 21:38:57 +02:00
Spappz
9e54070c1d Revert path/posix to path in post-install.js 2025-01-25 19:38:01 +00:00
Wolfsblvt
9a79c6b1a4 Remove all connections button for the popups 2025-01-25 19:54:45 +01:00
Wolfsblvt
3fc4207cdb Temporary persona toast respects setting 2025-01-25 19:27:29 +01:00
Wolfsblvt
ef73ab43da Fix "Default" persona connection tooltip 2025-01-25 19:25:42 +01:00
Wolfsblvt
2ff1957ca8 Consistent headers in persona panel 2025-01-25 19:24:40 +01:00
Wolfsblvt
0141a60eb8 Add hint on how to use persona connections 2025-01-25 19:20:21 +01:00
Wolfsblvt
2253990898 Highlight personas from current chat in popup 2025-01-25 18:47:53 +01:00
Wolfsblvt
076e5e3186 Fix temporary persona toast
- Temporary persona toast was appearing when auto-lock was enabled, which didn't make sense
2025-01-25 18:23:00 +01:00
Cohee
2d8da60ffc Fix types for session 2025-01-25 19:13:25 +02:00
Cohee
5ff402aabf Replace CSRF middleware
Closes #3349
2025-01-25 16:56:11 +02:00
Spappz
e07faea874 rework createDefaultFiles()
Reorganised copy-able `default/` files as a sparse copy of the production file-tree. This should save the `defaultItems` (formerly `files`) array from getting unwieldy.
2025-01-25 03:45:16 +00:00
Spappz
a5dc505e61 add 404 error-handling to server
This is all that seems necessary according to Express? Admittedly my first time using it.
https://expressjs.com/en/starter/faq.html#how-do-i-handle-404-responses
2025-01-25 03:42:04 +00:00
Spappz
538d66191e add 401 error page for basicAuth mode
Most modern browsers don't actually show users 401 responses, but it doesn't hurt to have it in there anyway ¯\_(ツ)_/¯
2025-01-25 03:40:47 +00:00
Spappz
928487985d defer 403 HTML to file 2025-01-25 03:38:52 +00:00
Wolfsblvt
e1bf781b10 Fix wrongly changed jQuery data "chid" attribute 2025-01-25 03:33:53 +01:00
Wolfsblvt
608e1c195b Add button to show connections for current char 2025-01-25 02:52:41 +01:00
Cohee
9d73189133 Add updateMessageBlock and appendMediaToMessage to getContext 2025-01-25 00:38:13 +02:00
Cohee
536d4218c2 Update button class 2025-01-25 00:33:07 +02:00
Cohee
e3885c2b5c Combine functions 2025-01-25 00:29:55 +02:00
Cohee
9250be348d Split if condition 2025-01-25 00:28:16 +02:00
Wolfsblvt
7c12a286c3 Fix one persona connected warning 2025-01-24 23:27:31 +01:00
Wolfsblvt
7454532641 Expand /persona-lock command for type
- Add new main alias for /lock, renamed to /persona-lock
- Allow no state to be provided to return the current lock state
- Deprecate the old usage of /lock without state, without breaking it
2025-01-24 23:24:35 +01:00
Cohee
8d35ca90e1 Decrease block size 2025-01-25 00:12:48 +02:00
Cohee
24c16f622f Update styles for mes_reasoning 2025-01-24 23:56:16 +02:00
Cohee
9a2968d1eb Merge branch 'staging' into woo-yeah 2025-01-24 23:50:15 +02:00
Cohee
0937f44f39 Validate avatar_url field with a middleware (#3314)
* Validate avatar_url field with a middleware

* Fix validating wrong endpoint
2025-01-24 23:47:32 +02:00
Wolfsblvt
91dabeff53 Add css class to allow multiple avatar lists 2025-01-24 21:57:47 +01:00
Wolfsblvt
7c9b347116 Refactor chid/grid attributes to data attributes
- We don't believe in imaginary HTML attributes that we make up, right?
2025-01-24 21:12:49 +01:00
Spappz
075368b5ae Ensure Handlebars template is only compiled once 2025-01-24 19:56:19 +00:00
Wolfsblvt
a611a3ac59 Merge branch 'staging' into persona-improvements 2025-01-24 20:42:04 +01:00
Spappz
90459116e3 woohoo 2025-01-24 03:39:05 +00:00
Wolfsblvt
d4672b3517 Merge pull request #3340 from bmen25124/export_getCharacters_uuidv4_humanizedDateTime
New exported methods: getCharacters(), uuidv4(), humanizedDateTime()
2025-01-24 02:39:30 +01:00
bmen25124
bbf28c74f7 New exported methods: getCharacters(), uuidv4(), humanizedDateTime() 2025-01-24 04:27:12 +03:00
Cohee
bbd85fc823 Merge pull request #3315 from SillyTavern/extensions-config
config.yaml: Group extension settings into one section
2025-01-24 02:54:48 +02:00
Cohee
291a5f42cd Merge pull request #3338 from Tosd0/staging
Update zh-CN translations
2025-01-24 01:58:33 +02:00
Cohee
1dd73e74ab Add thonk block copy 2025-01-24 01:21:08 +02:00
Cohee
03c98fb55a OpenRouter: Support reasoning blocks 2025-01-24 00:56:44 +02:00
Cohee
7f9b139ae0 Merge branch 'staging' into woo-yeah 2025-01-24 00:13:06 +02:00
Cohee
6aaeb754ef Exportable temporary assistant chats 2025-01-24 00:12:00 +02:00
Cohee
144277bdcc Wrap thonk into collapsible 2025-01-23 22:43:04 +02:00
Cohee
823b9db6f6 Gemini: Fix requesting thought blocks 2025-01-23 22:41:39 +02:00
Sevenyine
adad1fde19 Modified Translations about Group Chats 2025-01-23 22:56:59 +08:00
Sevenyine
8b2d97b946 Modification 2025-01-23 22:32:41 +08:00
Sevenyine
515f78619f Update 2025-01-23 22:25:17 +08:00
Sevenyine
71be63dbb1 Update zh-CN translations about lorebook 2025-01-23 22:23:46 +08:00
subzero5544
a503f58d0c Adding reverse proxy support to DeepSeek chat completion (#3328)
* added reverse proxy settings to deepseek chat completion

* Update chat-completions.js

* Update chat-completions.js

* Update chat-completions.js

* Update chat-completions.js

* Update chat-completions.js

* Update chat-completions.js

* Unify API key requirement

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
2025-01-23 09:02:44 +02:00
Cohee
afae8d02be The THONKening 2025-01-23 02:52:52 +02:00
Cohee
6fef696268 Featherless: use scaleable font sizes for models list 2025-01-22 22:58:58 +02:00
Cohee
e4290140bc TC: Remove -1 seeds from request body
Closes #3336
2025-01-22 22:45:30 +02:00
Cohee
7c93acedc3 post-install: Fix getting keys of null values
Original commit by @honey-tree
5c40876a4a
2025-01-22 22:41:34 +02:00
Cohee
ae29f06e44 Gemini: Fix image inlining for new models
#3332
2025-01-22 22:38:13 +02:00
Cohee
a2f71d387f Merge pull request #3331 from qvink/emit_event_on_load_messages
adding event after loading more messages in chat
2025-01-22 18:21:26 +02:00
Cohee
8f18d35109 [chore] Add missing semi 2025-01-22 16:18:34 +00:00
qvink
f1923c5364 making showMoreMessages async to await event emission 2025-01-22 08:36:47 -07:00
Cohee
636c8cb165 Merge pull request #3332 from sirius422/add-new-gemini-model
Add new Gemini thinking model and its alias
2025-01-22 15:10:28 +02:00
Cohee
513ea97769 Merge pull request #3333 from kallewoof/202501-deepseek-fix
fix: corrects the preset name and adds deepseek v2.5 hash.
2025-01-22 15:08:00 +02:00
Karl-Johan Alm
93b18e6440 fix: corrects the preset name and adds deepseek v2.5 hash. 2025-01-22 21:36:18 +09:00
sirius422
11882827c7 Add new Gemini thinking model and its alias, specify context size and vision support 2025-01-22 18:37:43 +08:00
Cohee
9f1d431c99 Merge pull request #3327 from qvink/staging
exporting openGroupId from group-chats.js
2025-01-22 10:30:49 +02:00
Cohee
d45e9a0c30 Merge pull request #3329 from kallewoof/202501-deepseek-presets
add presets for DeepSeek R1 models
2025-01-22 10:28:27 +02:00
Karl-Johan Alm
2b00cdce7b system same as user 2025-01-22 17:07:23 +09:00
Karl-Johan Alm
636e79c438 fixes 2025-01-22 16:03:32 +09:00
qvink
1641b1f91f adding event after loading more messages in chat 2025-01-21 22:14:35 -07:00
Karl-Johan Alm
7877e6601d add presets for DeepSeek R1 models 2025-01-22 13:13:41 +09:00
qvink
08b6ee0297 exporting openGroupId from group-chats.js 2025-01-21 16:50:01 -07:00
Cohee
d7bb92be54 deepseek reasoner
Closes #3322
2025-01-20 23:31:40 +02:00
Cohee
cc010643ad Merge pull request #3319 from SillyTavern/staging
Staging
2025-01-19 00:13:38 +02:00
Cohee
d87b925488 Bump package version 2025-01-18 23:34:03 +02:00
Cohee
5e396e2a91 Merge pull request #3317 from NodudeWasTaken/fix-empty-examples
Fix mes examples being undefined if empty
2025-01-18 23:31:32 +02:00
Nodude
4fdff9fce2 Fix mes examples being undefined if empty 2025-01-18 14:07:09 +01:00
Cohee
4d18ddba6d config.yaml: Group extension settings into one section 2025-01-17 20:18:27 +02:00
Cohee
a53ebe7572 Add vllm.svg 2025-01-17 11:47:55 +02:00
Cohee
df28c2c676 Merge pull request #3311 from SillyTavern/fix-http-copy
Fix copy actions for non-HTTPS/localhost
2025-01-16 23:05:54 +02:00
Cohee
b5a6199784 Merge pull request #3308 from RivelleDays/staging
Update zh-tw Translation
2025-01-16 22:05:53 +02:00
Cohee
75f36b992d Merge pull request #3309 from SillyTavern/extensions-sort
Add sorting order for extensions manager
2025-01-16 22:05:28 +02:00
Cohee
6e2b5d5dc8 Fix copy actions for non-HTTPS/localhost
Fixes #2352
2025-01-16 01:55:26 +02:00
Cohee
f98d27f187 Add sorting order for extensions manager 2025-01-15 22:59:41 +02:00
Rivelle
af987143b7 Update zh-tw.json 2025-01-16 04:23:26 +08:00
Rivelle
2723d3b73b Update zh-tw.json 2025-01-16 04:20:22 +08:00
Cohee
0441a8725f WebSearch: Add KoboldCpp search endpoint. 2025-01-15 21:58:49 +02:00
Cohee
ac455ebb45 Add RisuAI chats JSON import 2025-01-15 21:15:25 +02:00
Cohee
8acba00655 Upscale default monocolor BGs 2025-01-15 21:02:10 +02:00
Rivelle
94d69b764a Update zh-tw Translation
- Update translations
- Minor adjustments and terminology unification
2025-01-16 02:02:48 +08:00
Cohee
e7bcac0171 Merge pull request #3305 from Eradev/staging
Fixed featherless.ai models display and filters
2025-01-15 17:37:20 +02:00
Eradev
1f9fa74786 Rewritten minLogLevel feature 2025-01-15 10:02:32 -05:00
Eradev
a06270fc85 Fixed display bug when selecting a model 2025-01-15 08:04:15 -05:00
Eradev
c1535f1b34 Fixed class filter & new models count in featherless.ai 2025-01-15 00:35:40 -05:00
Eradev
6b494af146 Fix the date for featherless.ai models 2025-01-15 00:19:47 -05:00
Wolfsblvt
beced225a3 Update persona toasts 2025-01-15 02:48:35 +01:00
Wolfsblvt
776dedea82 Persona settings for auto-lock & multi connection
- Add setting to auto-lock persona to chat. Triggered on chat changed (creation/loaded) and on persona selection.
- Add setting to allow multiple persona<->char connections, which then triggers the popup to select one
- If no multi connections allowed, the connect toggle will remove all existing connections from personas to that character
2025-01-15 02:20:48 +01:00
Wolfsblvt
08a4cee48f Add/expand persona auto selection from char / chat
- Persona selection on chat based on three levels:
  1. Chat Locking
  2. Char connected personas
  3. Default persona
- Add popup if multiple personas are connected to char
- Add utility function to print persona avatar lists
2025-01-15 01:18:31 +01:00
Cohee
78e67080c9 Hide placeholder overflow of send textarea 2025-01-15 01:45:17 +02:00
Cohee
bb0c662713 Note when char description is hidden with creator notes 2025-01-15 01:30:01 +02:00
Cohee
fb15480f6b Merge pull request #3282 from SillyTavern/fix-chat-comp-label-wrapping
Fix Chat Completion list label descriptions not correctly wrapping on non-chromium browsers
2025-01-15 00:34:13 +02:00
Cohee
f8c6a62c23 Add separate drag handle for prompt manager on touch screen
Fixes #2239
2025-01-15 00:07:06 +02:00
Cohee
eee45281ea Merge branch 'staging' into fix-chat-comp-label-wrapping 2025-01-15 00:06:16 +02:00
Cohee
3770410bed Merge pull request #3303 from sakhavhyand/staging
Update fr-fr translation
2025-01-14 21:35:11 +02:00
Cohee
15cc825f43 Template clean-up 2025-01-14 21:34:39 +02:00
Cohee
5734722c5d Merge branch 'staging' into frFr 2025-01-14 21:32:58 +02:00
Cohee
aaeb26e2b7 Defininitions 2025-01-14 21:28:18 +02:00
Rendal
3674c9d020 Fix formatting of 'Context Size - Response Length' label.
Fixing and adding more translations.
2025-01-14 14:45:17 +00:00
Cohee
5120b8fbf5 Merge pull request #3301 from SillyTavern/tempresponselength
Restore temp response length as early as possible
2025-01-14 10:29:59 +02:00
Wolfsblvt
255e75c6cf Show connected characters in persona panel
- Print list of connected characters in persona panel
- Fix smaller bugs with missing connections in persona description
2025-01-14 01:37:45 +01:00
Wolfsblvt
74fc259c9c Reworked persona lock buttons + lock to character
- Slight redesign of the persona panel right side, add headers
- Add buttons for all three different lock states (chat, character, default)
- Update lock and toggle lock functions to accept toggle type
- Write persona locking to chat functionality (saves to persona description object)
2025-01-14 00:59:21 +01:00
Cohee
0773a86922 Loop 3 times before discarding response length override on save 2025-01-14 00:15:23 +02:00
Cohee
749c5df29a Restore temp response length as early as possible
Fixes #3297
2025-01-13 21:20:26 +02:00
Wolfsblvt
82422b4500 Refactor persona panel with headings 2025-01-13 19:52:23 +01:00
Cohee
4322197aba Merge pull request #3291 from Yokayo/staging
Update ru-ru translation
2025-01-13 19:02:40 +02:00
Cohee
4ebff0ffcc Merge branch 'staging' into ruRuJan 2025-01-13 16:53:26 +00:00
Cohee
7e691143d0 Merge pull request #3299 from johnfrian/alternate-greeting-scroll
Constrict scrolling to lower dynamic formarea in alternate greetings popup
2025-01-13 18:49:08 +02:00
uberubert
f840d63bdb Fix formatting 2025-01-13 15:56:17 +01:00
uberubert
e38cd31ca7 Relocate scroll constriction in alternate greetings popup 2025-01-13 15:45:47 +01:00
Cohee
218f198ec6 Merge pull request #3247 from Tosd0/staging
zh-CN translation staging
2025-01-13 16:02:53 +02:00
Cohee
d78c8b7cc8 Merge pull request #3283 from BPplays/ipv6_auto
adds checking for if localhost resolves + JSDoc additions
2025-01-13 15:59:31 +02:00
Yokayo
977e7a40bc Fix typo 2025-01-13 15:29:23 +07:00
BPplays
d769798ba3 replaced some jsdoc with assigning false by default 2025-01-12 22:39:42 -08:00
Tosd
867a9950d5 Update zh-CN translation 2025-01-13 13:16:56 +08:00
Azariel Del Carmen
6ab79ae689 feat: add Prome spanish translation (#3293)
* feat: add Prome spanish translation

Since someone added Traditional Chinese translations to Prome for ST, might as well do the same for Spanish.

* chore: disable biome formatting

* chore: add parenthesis
2025-01-12 05:27:38 +01:00
Cohee
40d29bd453 Merge pull request #3292 from SillyTavern/macrosparser 2025-01-12 03:53:45 +02:00
Cohee
1f66bc7756 Don't allow duplicate registrations 2025-01-11 23:18:03 +02:00
Cohee
b177affd81 Merge pull request #3289 from zerofata/vector-db-search-cmd
Add returnChunks and resultSize args to /db-search
2025-01-11 23:05:06 +02:00
zerofata
89c984830b rename resultSize to count 2025-01-12 07:20:36 +13:00
Yokayo
1d5cf8d25c Work on translation 2025-01-12 00:42:58 +07:00
Cohee
1dccb08cd6 Add enumerator for MacrosParser 2025-01-11 19:04:36 +02:00
Cohee
f462436450 Merge pull request #3290 from SillyTavern/qr-set-rename
QR Set buttons for rename and duplicate
2025-01-11 14:49:17 +02:00
zerofata
fc5debc660 replaced returnChunks with return arg to use existing helper functions 2025-01-11 17:42:19 +13:00
Wolfsblvt
b89d41a701 Refactor prepare/redraw for consistency 2025-01-11 02:31:14 +01:00
Wolfsblvt
3455da404a Add QR set duplicate button 2025-01-11 02:22:10 +01:00
Wolfsblvt
0f45ebda03 Refactor QR set popups to new popup 2025-01-11 01:59:38 +01:00
Wolfsblvt
4c1c62a56b Add QR set rename button 2025-01-11 01:41:46 +01:00
zerofata
7f5ce54b1f Add returnChunks and resultSize args to /db-search 2025-01-11 11:32:05 +13:00
Rendal
1528e2afed Merge branch 'SillyTavern:staging' into staging 2025-01-10 16:32:03 +01:00
Rendal
a66f9bf494 Fix translation inconsistencies and typos in UI files.
This commit resolves several translation inaccuracies, grammatical errors, and formatting issues in the French UI locale and HTML files.
2025-01-10 15:27:28 +00:00
BPplays
faaa4ba6bc changed formatting 2025-01-10 03:58:15 -08:00
BPplays
aa10dd98c9 more jsdoc stuff 2025-01-10 02:56:00 -08:00
Cohee
a62fa3b073 Merge pull request #3287 from SillyTavern/fix-first-included-message-id-macro
Fix `{{firstIncludedMessageId}}` to not rely on DOM
2025-01-10 12:17:09 +02:00
BPplays
9f98bee362 foramtting 2025-01-09 19:42:27 -08:00
BPplays
f372e1a69d more jsdoc stuff 2025-01-09 19:09:55 -08:00
BPplays
5b5b9a91aa more jsdoc stuff 2025-01-09 18:44:48 -08:00
BPplays
b43ac187ec formatting changes 2025-01-09 18:27:21 -08:00
BPplays
adc5940d15 formatting changes 2025-01-09 18:17:02 -08:00
Wolfsblvt
e33c3771f5 No metadata save 2025-01-10 01:27:02 +01:00
Cohee
d78577c46d Merge pull request #3266 from d-ber/character_import_speedup
Character import speedup by delaying tag import
2025-01-09 23:06:07 +02:00
Cohee
2ab59f5a7a chore: reformat new code 2025-01-09 22:57:43 +02:00
Cohee
1807af355b Merge pull request #3284 from SillyTavern/css-var-slash-command
Add `/css-var` slash command
2025-01-09 22:49:14 +02:00
Cohee
efeedc1274 Revert gallery selector changes 2025-01-09 22:39:40 +02:00
Cohee
f869b26664 Ensure unique selectors for loaded extension files 2025-01-09 22:32:15 +02:00
Wolfsblvt
7a2276c176 Fix {{firstIncludedMessageId}} to not rely on DOM
Up until now, the {{firstIncludedMessageId}} macro relied on searching the DOM for the actual CSS class applied for the context line.
Bad design, as the actual message was maybe not display, with display X messages enabled.

- Use setInContextMessages() that sets the context line on generation to also update a chat metadata field
- Utilize that field inside the macro
- Update docs to clarify that this will only show the mesid that was relevant during last generation
2025-01-09 21:23:18 +01:00
Cohee
b604588638 Add scroll option to /chat-render command 2025-01-09 21:15:34 +02:00
Cohee
a585f3abcc Add {{firstDisplayedMessageId}} macro 2025-01-09 21:12:34 +02:00
Cohee
0a03793d7b Add /chat-render and /chat-reload commands 2025-01-09 21:10:12 +02:00
Cohee
667ab77651 Merge pull request #3285 from SillyTavern/zoom-image-closing
Allow zoomed in images in chat to be closed by clicking outside
2025-01-09 21:01:19 +02:00
Cohee
9be04fd69f Fix <code> tag structure 2025-01-09 20:58:36 +02:00
Wolfsblvt
ba73d278ae Allow zoomed in images be closed by click outside
- Add event listener to close image enlarge popup when clicked outside of image or description
- Change img div to not be width:100% by default, was useless and just confusing when you could click next to the image and it zoomed in
2025-01-09 19:16:48 +01:00
Wolfsblvt
a8b5f8a95f Add /css-var slash command
- Add /css-var slash command to set CSS variables on some elements
- Update gallery div id to something actually unique ("#draggable_gallery")
2025-01-09 18:37:50 +01:00
BPplays
45e7edc9b8 formatting 2025-01-09 07:35:17 -08:00
BPplays
874127a4f9 lint 2025-01-09 07:30:50 -08:00
BPplays
d177314676 formatting 2025-01-09 07:30:22 -08:00
BPplays
bab4f21056 added dns checking 2025-01-09 07:29:37 -08:00
BPplays
188a043967 started adding dns checking 2025-01-09 04:12:02 -08:00
Wolfsblvt
5e881e5944 Fix chat comp label wrapping on non-chrome
- Fixes #3280
- No one noticed, because on Chrome it works, eh
2025-01-09 03:48:04 +01:00
Cohee
23779fe565 Merge branch 'release' into staging 2025-01-08 21:20:50 +02:00
Cohee
d1f1299d43 Merge pull request #3275 from erew123/release
Correct skipping RVC on AllTalk V1 Server
2025-01-08 21:20:36 +02:00
Wolfsblvt
126e4fa698 Display additional images in expression list
- Update Expressions List to display additional images per expression
- Make additional images appear visually distinct
- Fix small issues with custom labels not always being shown
- Add tooltip on all expression images
- Modify /api/sprites/get endpoint to correctly parse the label from filenames that might be additional files
2025-01-08 01:20:25 +01:00
Cohee
2b3e44cca3 Clear custom model selection on loading presets 2025-01-08 02:06:29 +02:00
erew123
5ea8309a30 Change check from ! not to is == V2 2025-01-08 00:01:36 +00:00
Cohee
1557dec2bc Revert "Don't auto-select custom model to the first model in the list"
This reverts commit d791b54528.
2025-01-08 01:46:31 +02:00
erew123
de8ecc6903 Correct skipping RVC on AllTalk V1 Server
Silly bug that caused the extension when used with the legacy V1 AllTalk server, would cause it to skip downloading Narrator voices.

Literally changed "v2" to "v1" on line 391

No other changes.
2025-01-07 23:20:53 +00:00
Cohee
5b37d22e2d Merge pull request #3274 from SillyTavern/search-term-empty-folders
Search term search will show empty folders too
2025-01-07 22:21:43 +02:00
Wolfsblvt
7b5baad5cd Search term search will show empty folders too
- Char list did hide folders with 0 sub entities inside. This also applied to any search being done. Now when searching, if a tag/folder matches, it is shown, even if the chars inside don't match. Before that, it was not possible to "search" for tags without the "Advanced Character Search" enabled
2025-01-07 20:54:52 +01:00
Cohee
d791b54528 Don't auto-select custom model to the first model in the list 2025-01-07 20:39:35 +02:00
Cohee
49fb2f4d79 Declare compiler in the inner scope #3272 2025-01-07 20:24:57 +02:00
Cohee
41a0d6919f Merge pull request #3273 from cierru/force_chid_in_generate_quite_prompt
Add the option to specify a character for generateQuietPrompt
2025-01-07 20:18:56 +02:00
Cohee
68d8d322a9 Clarify comment regarding groups 2025-01-07 20:15:35 +02:00
Cohee
d7b3a56c3d chore: await before returning 2025-01-07 20:07:41 +02:00
Cohee
81841ca2a6 WebLLM: use current tokenizer if not available 2025-01-07 20:01:59 +02:00
Cohee
5af7852465 Null Webpack compiler after run
Fixes #3272
2025-01-07 19:54:31 +02:00
cierru
57d6938d6c Added the force_chid parameter to the generateQuietPrompt function 2025-01-07 17:54:23 +05:00
d-ber
d4f23de003 fix toasts and final char selection 2025-01-06 22:41:32 +01:00
d-ber
c22ed52c72 fix function name, and minor fixes 2025-01-06 21:49:02 +01:00
Cohee
6029b51f7e Merge pull request #3265 from SillyTavern/fix-bogus-sorting
Folders should not be sorted in the char list
2025-01-06 19:34:46 +02:00
Cohee
8bc515c6a1 Merge branch 'staging' into fix-bogus-sorting 2025-01-06 19:26:22 +02:00
Cohee
f91e1b3d2f Merge pull request #3271 from tincansimagine/geminifeat2
Fix: Ensure "OFF" safety settings are applied to gemini-2.0-flash-exp for unfiltered responses
2025-01-06 19:25:45 +02:00
Cohee
b66c4d7206 Merge branch 'staging' into geminifeat2 2025-01-06 19:20:58 +02:00
Cohee
9062b6bc4d Whitespace clean-up 2025-01-06 19:20:04 +02:00
Cohee
0f03dcfc0f Merge pull request #3269 from fizzAI/patch-1
Change Gemini system instruction parameter key to `systemInstruction`
2025-01-06 19:19:03 +02:00
tincansimagine
2103e6238c Fix: Apply OFF safety settings for gemini-2.0-flash-exp model 2025-01-07 02:17:09 +09:00
Fizz~
b6e7f4f493 Change Gemini system instruction parameter key to systemInstruction
Refer to https://github.com/googleapis/python-genai/blob/main/google/genai/models.py#L772, it seems like both work(?) but this is probably the more correct option if the newer library is using it
2025-01-06 11:44:11 -05:00
Cohee
d13ec29158 Merge pull request #3264 from SillyTavern/backup-config-reorg
Reorganize backup configs
2025-01-06 10:58:23 +02:00
d-ber
96cd683d0e added tag import back into importCharacter 2025-01-06 00:30:15 +01:00
d-ber
c7cbeed9bb speed up char import by postponing tag import 2025-01-05 22:36:10 +01:00
Wolfsblvt
9264008766 Folders should not be sorted in the char list
- Folders respect the chosen sorting of the "Tag Management"
- They will still always be displayed on top
- They will now not follow any chosen list sorting, so do not get changed based on alphabetical sorting of the char list
2025-01-05 20:27:20 +01:00
Cohee
9db9c5c9ca Reorganize backup configs 2025-01-05 16:03:52 +02:00
Sevenyine
efa80267f6 Update 2025-01-05 10:19:55 +08:00
Cohee
989f5a8692 Image Gen: don't generate a new swipe seed if already using a random seed 2025-01-05 00:49:23 +02:00
Cohee
8623d1198d Add thumbnail dimensions to config (#3262)
* Add thumbnail dimensions to config

* Fix default value for thumbnails.enabled

* Update comment for thumbnail recreation instructions in config.yaml

* Lint config values

* Verify config size > 0

* More config lint
2025-01-05 00:38:50 +02:00
Cohee
e75d03fea9 Fix lint 2025-01-04 16:23:21 +02:00
Cohee
48be0ceb16 Use named constants 2025-01-04 16:23:21 +02:00
Cohee
0e3ff1699a Merge pull request #3226 from BPplays/ipv6_auto
Automatically detect what IP versions are available and use them
2025-01-04 16:22:53 +02:00
Cohee
7f5dc72161 Fix user settings doc link 2025-01-04 16:02:09 +02:00
Cohee
5a617f60f5 Merge pull request #3261 from underscorex86/patch-2
Update inclusion-group tooltip doc site link
2025-01-04 15:49:50 +02:00
Sneha C
18243fe879 Update inclusion-group tooltip doc site link 2025-01-04 17:18:16 +04:00
Rivelle
446a9adcf1 Update readme-zh_tw.md (#3259)
* Update readme-zh_tw.md

- Complete punctuation and remove redundant words
- Make minor adjustments to phrasing to align with traditional Chinese (Taiwan) usage conventions

* Update readme-zh_tw.md

* Update readme-zh_tw.md

* Update readme-zh_tw.md
2025-01-04 14:18:46 +02:00
Cohee
7fdeeb0fae Merge pull request #3258 from RivelleDays/i18n
Fix i18n Issues & Update zh-TW Translation
2025-01-04 14:17:44 +02:00
Cohee
6552038712 Update no validate warning 2025-01-04 14:16:25 +02:00
Sevenyine
0bda86c352 Supplemented zh-CN UI translation 2025-01-04 18:09:12 +08:00
Rivelle
8514ac29fc Merge branch 'i18n' of https://github.com/RivelleDays/SillyTavern into i18n 2025-01-04 16:03:20 +08:00
Rivelle
c2caad3904 Update zh-tw.json 2025-01-04 16:03:14 +08:00
Rivelle
fae11fc04a Update personas.js: fix i18n 2025-01-04 15:14:14 +08:00
Rivelle
81cb3430bb Update openai.js: fix i18n 2025-01-04 15:12:55 +08:00
Cohee
0a8fae06c2 Don't set an undefined theme field to an empty string 2025-01-04 00:07:26 +02:00
Cohee
77bee453ab Vectors: Add only custom boundary chunking 2025-01-03 20:44:25 +02:00
Cohee
590e52442c Fix /api/secrets/find return on 404 2025-01-03 12:48:24 +00:00
Cohee
dd273a7727 Docker build: Pre-compile public libraries 2025-01-03 12:30:55 +00:00
Cohee
02900520c9 chore: Add index property to HashedMessage 2025-01-03 03:09:16 +02:00
Cohee
eff4da42c5 Vector storage: skip for quiet prompts 2025-01-03 03:04:45 +02:00
Cohee
dea4a63022 Move rss extension container to other column 2025-01-03 01:42:03 +02:00
Cohee
2f5f9a437d Allow running generate interceptors on quiet prompts 2025-01-03 01:10:14 +02:00
Cohee
68437ed81c Enable strictBindCallApply in jsconfig 2025-01-03 00:28:09 +02:00
Cohee
8ed2721ddd Set server jsconfig target to ES2023 2025-01-03 00:27:13 +02:00
Cohee
97f6dcace0 Fix types for extractFileFromZipBuffer 2025-01-03 00:16:14 +02:00
Cohee
fc4fecf0fd Add model hash to TC API tokenizer cache key 2025-01-02 23:49:22 +02:00
Cohee
40b05bb6b1 Add best match tokenizer logic for DeepSeek and Nemo 2025-01-02 23:22:53 +02:00
Cohee
2d4bae17cc Merge branch 'release' into staging 2025-01-02 22:58:15 +02:00
Cohee
d0e1c3287a NovelAI: Fix scheduler auto-assign 2025-01-02 22:58:06 +02:00
Cohee
b7a96b3143 Add fixed containers for downloadable extensions 2025-01-02 22:25:44 +02:00
Cohee
612fda4cfc Merge branch 'release' into staging 2025-01-02 00:41:05 +02:00
Cohee
beb4328714 Revert using url-join for SD WebUI paths 2025-01-02 00:40:56 +02:00
Cohee
5db7a9cf1e Fix fetch buffer deprecation warnings 2025-01-01 22:18:23 +02:00
Cohee
e99f918454 Fix fetch buffer deprecation warnings 2025-01-01 22:12:04 +02:00
Cohee
102d170752 Merge branch 'staging' into release 2025-01-01 20:15:55 +02:00
Cohee
6768264514 Docker: add git safe.directory exclusion
Closes #3250
2025-01-01 19:45:34 +02:00
Cohee
a867b2f85a Add global extensions Docker volume
Closes #3251
2025-01-01 19:13:47 +02:00
Sevenyine
ee6eb5572d add translations 2025-01-01 21:55:03 +08:00
Sevenyine
dec4a7d31e add i18n keys and zh-CN translations 2025-01-01 21:45:18 +08:00
BPplays
8a321a7450 added better logging 2024-12-31 22:41:13 -08:00
BPplays
092d11bbe6 added better logging 2024-12-31 22:34:41 -08:00
BPplays
d956e0ebdc changed formatting 2024-12-31 14:46:41 -08:00
BPplays
93e0efa241 made var names better 2024-12-31 03:29:15 -08:00
BPplays
f27b3361e5 lint 2024-12-30 03:01:04 -08:00
BPplays
f67abf9e03 improved urlHostnameToIPv6 2024-12-30 02:59:41 -08:00
BPplays
7744be3319 commited util 2024-12-29 04:20:59 -08:00
BPplays
07cff878e5 commited util 2024-12-29 04:20:39 -08:00
BPplays
dd6dcf1c5b changed to check 127.0.0.1 because that's what it binds to 2024-12-28 17:27:49 -08:00
BPplays
0382afc488 changed foramtting 2024-12-28 17:15:44 -08:00
BPplays
19eae8cb49 fixed broken ipv6 on linux, and weird implementation in general 2024-12-28 17:14:30 -08:00
BPplays
1a1ab1d18a check for localhost ip and ignore link-local v6, i think you need to specify an interface 2024-12-28 13:31:50 -08:00
BPplays
ae79616c73 changed color of ip warning 2024-12-26 11:44:30 -08:00
BPplays
9c0993908a moved stringtobool 2024-12-26 11:42:32 -08:00
BPplays
647b89f8ad changed settings value error to just set to auto 2024-12-26 11:40:22 -08:00
BPplays
591a61a61c misc formatting 2024-12-26 10:51:45 -08:00
BPplays
4a8b47a6ff fixed cli args and logic bug 2024-12-26 10:44:48 -08:00
BPplays
1689baa2a4 changed back const 2024-12-26 10:30:51 -08:00
BPplays
ca283c0da6 fixed backward compat, and check if auto before getting addrs 2024-12-26 10:29:04 -08:00
BPplays
9e049f44e2 fixed logic bug 2024-12-25 17:28:44 -08:00
BPplays
0bc0569932 changed to always report supported ip ver even when disabled, green means it's enabled 2024-12-25 17:25:02 -08:00
BPplays
e861b18992 added better error reporting 2024-12-25 17:22:18 -08:00
BPplays
26c0b620f8 added better error reporting 2024-12-25 17:16:40 -08:00
BPplays
324eb695f5 added better error reporting 2024-12-25 17:16:12 -08:00
BPplays
b5139e3ff9 fixed linting issues 2024-12-25 17:06:05 -08:00
BPplays
38b1c26396 made loop better 2024-12-25 17:01:12 -08:00
BPplays
418a2564b2 added better error handling 2024-12-25 16:59:47 -08:00
BPplays
8d0261bab3 fixed dumb mistake 2024-12-25 16:52:13 -08:00
BPplays
dc3b18de94 fixed typo 2024-12-25 16:47:08 -08:00
BPplays
b0cb982978 added automatic ipv6 ipv4 detection 2024-12-25 16:46:16 -08:00
381 changed files with 32090 additions and 10578 deletions

View File

@@ -13,3 +13,4 @@ access.log
/cache
.DS_Store
/public/scripts/extensions/third-party
/colab

View File

@@ -3,6 +3,9 @@ module.exports = {
extends: [
'eslint:recommended',
],
plugins: [
'jsdoc',
],
env: {
es6: true,
},
@@ -75,8 +78,10 @@ module.exports = {
'plugins/**',
'**/*.min.js',
'public/scripts/extensions/quick-reply/lib/**',
'public/scripts/extensions/tts/lib/**',
],
rules: {
'jsdoc/no-undefined-types': ['warn', { disableReporting: true, markVariablesAsUsed: true }],
'no-unused-vars': ['error', { args: 'none' }],
'no-control-regex': 'off',
'no-constant-condition': ['error', { checkLoops: false }],

View File

@@ -1,4 +1,5 @@
name: Bug Report 🐛
type: Bug
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! Please use English only.
title: '[BUG] <title>'
labels: ['🐛 Bug']
@@ -80,6 +81,8 @@ body:
required: true
- label: I have checked the [docs](https://docs.sillytavern.app/) ![important](https://img.shields.io/badge/Important!-F6094E)
required: true
- label: I confirm that my issue is not related to third-party content, unofficial extension or patch. If in doubt, check with a new [user account](https://docs.sillytavern.app/administration/multi-user/) and with extensions disabled
required: true
- type: markdown
attributes:

View File

@@ -1,4 +1,5 @@
name: Feature Request ✨
type: Feature
description: Suggest an idea for future development of this project. Please use English only.
title: '[FEATURE_REQUEST] <title>'
labels: ['🦄 Feature Request']
@@ -32,7 +33,7 @@ body:
id: solution
attributes:
label: Describe the solution you'd like
placeholder: An outline of how you would like this to be implemented, include as much details as possible
placeholder: An outline of how you would like this to be implemented, include as much details as possible
validations:
required: true

View File

@@ -1,2 +0,0 @@
🐛 Bug: ✅ Fixed
🦄 Feature Request: ✅ Implemented

View File

@@ -1,62 +0,0 @@
comment:
footer: |
---
> I am a bot, and this is an automated message 🤖
labels:
- name: ✖️ Invalid
labeled:
issue:
action: close
body: >
Hello @{{ issue.user.login }} your ticket has been marked as invalid.
Please ensure you follow the issue template, provide all requested info,
and be sure to check the docs + previous issues prior to raising tickets.
pr:
body: Thank you @{{ pull_request.user.login }} for suggesting this. Please follow the pull request templates.
action: close
- name: 👩‍💻 Good First Issue
labeled:
issue:
body: >
This issue has been marked as a good first issue for first-time contributors to implement!
This is a great way to support the project, while also improving your skills, you'll also be credited as a contributor once your PR is merged.
If you're new to SillyTavern [here are a collection of resources](https://docs.sillytavern.app/)
If you need any support at all, feel free to reach out via [Discord](https://discord.gg/sillytavern).
- name: ❌ wontfix
labeled:
issue:
action: close
body: >
This ticked has been marked as 'wontfix', which usually means it is out-of-scope, or not feasible at this time.
You can still fork the project and make the changes yourself.
- name: ✅ Fixed
labeled:
issue:
body: >
Hello @{{ issue.user.login }}! It looks like all or part of this issue has now been implemented.
- name: ‼️ High Priority
labeled:
issue:
body: >
This ticket has been marked as high priority, and has been bumped to the top of the priority list.
You should expect an implementation to be pushed out soon. Thank you for your patience.
- name: 💀 Spam
labeled:
issue:
action: close
locking: lock
lock_reason: spam
body: >
This issue has been identified as spam, and is now locked.
Users who repeatedly raise spam issues may be blocked or reported.
- name: ⛔ Don't Merge
labeled:
pr:
body: This PR has been temporarily blocked from merging.

69
.github/issues-auto-comments.yml vendored Normal file
View File

@@ -0,0 +1,69 @@
labels:
- name: ✖️ Invalid
labeled:
issue:
action: close
body: >
Hey @{{ issue.user.login }}, this issue has been marked as invalid.
Please double-check that you've followed the issue template, included all necessary details, and reviewed the docs & previous issues before submitting.
If provided, follow the instructions given by maintainers.
- name: 👩‍💻 Good First Issue
labeled:
issue:
body: >
🏆 This issue has been marked as a good first issue for contributors to implement!
This is a great way to support the project. While also improving your skills, you'll also be credited as a contributor once your PR is merged.
If you're new to SillyTavern [here is the official documentation](https://docs.sillytavern.app/). The official contribution guide can be found [here](https://github.com/SillyTavern/SillyTavern/blob/release/CONTRIBUTING.md).
If you need any support, feel free to reach out via [Discord](https://discord.gg/sillytavern), or let us know in this issue or via [discussions](https://github.com/SillyTavern/SillyTavern/discussions).
- name: ❌ wontfix
labeled:
issue:
action: close
body: >
❌ This issue has been marked as 'wontfix', which usually means it is out-of-scope, not feasible at this time or will not be implemented for various reasons.
If you have any questions about this, feel free to reach out.
- name: 🛑 Out of Scope
labeled:
issue:
action: close
body: >
🛑 This issue has been marked as 'out of scope', as this can't or won't be implemented.
If you have any questions about this, feel free to reach out.
- name: ✅ Done (staging)
labeled:
issue:
body: >
✅ It looks like all or part of this issue has now been implemented as part of the `staging` branch.
If you currently are on the `release` branch, you can switch to `staging` to test this right away.
Note that `staging` is considered less stable than the official releases. To switch, follow existing instructions,
or simply enter the following command: `git switch staging`
- name: ✅ Done
labeled:
issue:
body: >
✅ It looks like all or part of this issue has now been implemented as part of the latest release.
- name: ‼️ High Priority
labeled:
issue:
body: >
🚨 This issue has been marked high priority, meaning it's important to the maintainers or community.
While we can't promise immediate changes, it is on our radar and will be addressed whenever possible. Thanks for your patience!
- name: 💀 Spam
labeled:
issue:
action: close
locking: lock
lock_reason: spam
body: >
💀 This issue has been flagged as spam and is now locked.
Please avoid posting spam - it disrupts the community and wastes everyone's time.

View File

@@ -1,7 +1,3 @@
# Add/remove 'critical' label if issue contains the words 'urgent' or 'critical'
#critical:
# - '(critical|urgent)'
🪟 Windows:
- '(🪟 Windows)'
@@ -15,4 +11,10 @@
- '(📱 Termux)'
🐧 Linux:
- '(🐧 Linux)'
- '(🐧 Linux)'
🦊 Firefox:
- '\b(firefox|mozilla)\b'
📱 Mobile:
- '\b(iphone|ios|android|📱 Termux)\b'

51
.github/pr-auto-comments.yml vendored Normal file
View File

@@ -0,0 +1,51 @@
labels:
- name: ✖️ Invalid
labeled:
pr:
action: close
body: >
Hey @{{ pull_request.user.login }}, thanks for your contribution!
Unfortunately, this PR has been marked as invalid.
Please check that you've followed the PR template, included all relevant details, and are targeting the correct branch (`staging` for regular contributions, `release` only for hotfixes).
If you need help, feel free to ask!
- name: ⛔ Don't Merge
labeled:
pr:
body: >
🚨 This PR has been temporarily blocked from merging.
- name: 💥💣 Breaking Changes
labeled:
pr:
body: >
⚠️ Heads up! This PR introduces breaking changes.
Make sure these changes are well-documented and that users will be properly informed when this is released.
- name: ⛔ Waiting For External/Upstream
labeled:
pr:
body: >
⛔ This PR is awaiting external or upstream changes or approval.
It can only be merged once those changes have been implemented and approved.
Please inform us of any progress on the upstream changes or approval.
- name: 🔬 Needs Testing
labeled:
pr:
body: >
🔬 This PR needs testing!
Any contributor can test and leave reviews, so feel free to help us out!
- name: 🟥 ⬤⬤⬤⬤⬤
labeled:
pr:
body: >
⚠️ This PR is over 1000 lines, which is larger than recommended.
Please make sure that it only addresses a single issue - PRs this large are hard to test and may be rejected.

83
.github/pr-auto-labels-by-branch.yml vendored Normal file
View File

@@ -0,0 +1,83 @@
####################################
# Label PRs against 'release' #
####################################
❗ Against Release Branch:
- base-branch: 'release'
####################################
# Labels based on PR branch name #
####################################
🦋 Bug Fix:
- head-branch: ['^fix[/-]', '\bfixes\b']
🚑 Hot Fix:
- head-branch: ['^hotfix[/-]']
✨ New Feature:
- head-branch: ['^feat(ure)?[/-].*?\badd', '^add-']
✨ Feature Changes:
- head-branch: ['^feat(ure)?[/-](?!.*\badd\b)', '\bchanges?\b']
🤖 API / Model:
- head-branch: ['\bapi\b', '\bmodels?\b']
🏭 Backend Changes:
- head-branch: ['\bbackend\b', '\bendpoints?\b']
🐋 Docker:
- head-branch: ['\bdocker\b']
Extension:
- head-branch: ['\bextension\b', '\bext\b']
🦊 Firefox:
- head-branch: ['\bfirefox\b']
🧑‍🤝‍🧑 Group Chat:
- head-branch: ['\bgroups?\b']
🖼️ Image Gen:
- head-branch: ['\bimage-gen\b']
🌐 Language:
- head-branch: ['\btranslations?\b', '\blanguages?\b']
🐧 Linux:
- head-branch: ['\blinux\b']
🧩 Macros:
- head-branch: ['\bmacros?\b']
📱 Mobile:
- head-branch: ['\bmobile\b', '\bios\b', '\bandroid\b']
🚄 Performance:
- head-branch: ['\bperformance\b']
⚙️ Preset:
- head-branch: ['\bpresets?\b']
📜 Prompt:
- head-branch: ['\bprompt\b']
🧠 Reasoning:
- head-branch: ['\breasoning\b', '\breason\b', '\bthinking\b']
🚚 Refactor:
- head-branch: ['\brefactor(s|ed)?\b']
📜 STscript:
- head-branch: ['\bstscript\b', '\bslash-commands\b']
🏷️ Tags / Folders:
- head-branch: ['\btags\b']
🎙️ TTS / Voice:
- head-branch: ['\btts\b', '\bvoice\b']
🌟 UX:
- head-branch: ['\bux\b']
🗺️ World Info:
- head-branch: ['\bworld-info\b', '\bwi\b']

46
.github/pr-auto-labels-by-files.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
####################################
# Labels based on changed files #
####################################
🏭 Backend Changes:
- changed-files:
- any-glob-to-any-file:
- "src/**"
- "default/config.yaml"
- "server.js"
- "plugins.js"
- "recover.js"
- "webpack.config.js"
- "Start.bat"
- "start.sh"
- "UpdateAndStart.bat"
- "UpdateForkAndStart.bat"
⚙️ config.yaml:
- changed-files:
- any-glob-to-any-file:
- "default/config.yaml"
🛠️ Build Changes:
- changed-files:
- any-glob-to-any-file:
- ".github/workflows/**"
- "docker/**"
- ".dockerignore"
- "Dockerfile"
- "webpack.config.js"
🌐 Language:
- changed-files:
- any-glob-to-any-file:
- "public/locales/**"
📥 Dependencies:
- changed-files:
- any-glob-to-any-file:
- "public/lib/**" # Every frontend lib counts as a dependency as well
- "package.json"
- "package-lock.json"
- "tests/package.json"
- "tests/package-lock.json"
- "src/electron/package.json"
- "src/electron/package-lock.json"

View File

@@ -1,5 +1,5 @@
> [!IMPORTANT]
> 這裡的資訊可能已經過時或不完整,僅供您參考。請使用英文版本以取得最新資訊。
> 此處資訊可能已經過時或不完整,僅供您參考。請使用英文版本以取得最新資訊。
<a name="readme-top"></a>
@@ -18,7 +18,7 @@
---
SillyTavern 提供一個統一的前端介面,整合多種大型語言模型的 API包括KoboldAI/CPP、Horde、NovelAI、Ooba、Tabby、OpenAI、OpenRouter、Claude、Mistral 等。同時具備行動裝置友善的佈局、視覺小說模式Visual Novel Mode、Automatic1111 與 ComfyUI 的影像生成 API 整合、TTS語音合成、世界資訊Lorebook、可自訂 UI、自動翻譯功能以及強大的提示詞prompt設定選項和無限的第三方擴充潛力。
SillyTavern 提供一個統一的前端介面,整合多種大型語言模型的 API包括KoboldAI/CPP、Horde、NovelAI、Ooba、Tabby、OpenAI、OpenRouter、Claude、Mistral 等)。同時具備行動裝置友善的佈局、視覺小說模式Visual Novel Mode、Automatic1111 與 ComfyUI 的影像生成 API 整合、TTS語音合成、世界資訊Lorebook、可自訂 UI、自動翻譯功能以及強大的提示詞prompt設定選項和無限的第三方擴充潛力。
我們擁有一個 [官方文件網站](https://docs.sillytavern.app/) 可以幫助解答絕大多數的使用問題,並幫助您順利入門。
@@ -30,18 +30,18 @@ SillyTavern 起源於 2023 年 2 月,作為 TavernAI 1.2.8 的分支版本發
## 我們的願景
1. 我們致力於賦予使用者對 LLM 提示詞的最大控制權與實用性,並認為學習過程中的挑戰是樂趣的一部分
1. 我們致力於賦予使用者對 LLM 提示詞的最大控制權與實用性,並認為學習過程中的挑戰是樂趣的一部分
2. 我們不提供任何線上或託管服務,也不會程式化追蹤任何使用者數據。
3. SillyTavern 是由一群熱衷於 LLM 的開發者社群所打造的熱情專案,並將永遠保持免費與開源。
3. SillyTavern 是由一群熱衷於 LLM 的開發者社群所打造的專案,並將永遠保持免費與開源。
## 分支介紹
SillyTavern 採用雙分支開發模式,確保為所有使用者提供流暢的使用體驗。
SillyTavern 採用雙分支開發模式,確保為所有使用者提供流暢的體驗。
* `release`(穩定版):🌟 **推薦給大部分的使用者使用。** 此分支最為穩定,僅在主要版本發布時更新。適合大多數人,通常每月更新一次。
* `staging`(開發版):⚠️ **不建議普通使用者使用。** 此分支包含最新功能,但可能隨時出現問題。適合進階使用者與愛好者,每日多次更新。
如果您不熟悉 git CLI 或對分支概念不清楚,請放心對您來說,`release`(穩定版)分支永遠是首選。
如果您不熟悉 git CLI 或對分支概念不清楚,請放心對您來說,`release`(穩定版)分支永遠是首選。
## 使用 SillyTavern 需要什麼?
@@ -84,18 +84,18 @@ SillyTavern 的硬體需求相當低。任何能夠運行 NodeJS 18 或更高版
## 角色卡
SillyTavern 的核心概念是「角色卡」Character Cards。角色卡是一組設定 LLM 行為的提示詞,用於 SillyTavern 中進行持續性對話。功能類似於 ChatGPT 的 GPT 或 Poe 的聊天機器人。角色卡的內容可以是任何形式:抽象場景、針對特定任務設計的助手、知名人物,或者虛構角色。
SillyTavern 的核心概念是「角色卡」Character Cards。角色卡是一組設定 LLM 行為的提示詞,用於 SillyTavern 中進行持續性對話。功能類似於 ChatGPT 的 GPT 或 Poe 的聊天機器人。角色卡的內容可以是任何形式:抽象場景、針對特定任務設計的助手、知名人物,或者虛構角色。
角色卡中唯一必填的項目是名稱欄位。若想與語言模型開始一般對話您只需創建一個名稱為「Assistant」的新卡片其餘欄位皆可保持空白。若希望進行更具主題性的對話則可以提供語言模型背景資訊、行為模式、寫作風格以及特定情境來啟動聊天。
如果僅想進行快速對話而不選擇角色卡片,或想測試 LLM 的連線,則可在開 SillyTavern 後,於歡迎頁面的輸入欄位中直接輸入您的提示內容。請注意,這類對話是暫時的,不會被永久保存。
如果僅想進行快速對話而不選擇角色卡片,或想測試 LLM 的連線,則可在開 SillyTavern 後,於歡迎頁面的輸入欄位中直接輸入您的提示內容。請注意,這類對話是暫時的,不會被永久保存。
若想了解如何設定角色卡,可參考預設角色(如 Seraphina或從「下載擴充功能 & 資源」Download Extensions & Assets選單中下載社群製作的角色卡。
## 核心功能
* 進階文本生成設定:內含許多社群製作的預設設定
* 支援世界資訊World Info創建豐富的背景故事或節省角色卡中的 Token)使用
* 支援世界資訊World Info創建豐富的背景故事或節省角色卡中的 Token)使用
* 群組聊天:多角色聊天室,可讓角色與您或彼此對話
* 豐富的 UI 自定義選項:主題顏色、背景圖片、自定義 CSS 等
* 使用者設定:讓 AI 更了解您並提升沉浸感
@@ -110,7 +110,7 @@ SillyTavern 支持多種擴充功能。
* 聊天記錄自動摘要
* 自動化介面與聊天翻譯
* 穩定擴散Stable Diffusion、FLUX 和 DALL-E 的影像生成整合
* 語音合成AI 回應訊息可透過 ElevenLabs、Silero 或系統 TTS 語音合成
* 語音合成AI 回應訊息可使用 ElevenLabs、Silero 或系統 TTS 語音合成
* 網頁搜尋功能:為提示詞添加真實世界的上下文資訊
* 更多擴展:可從「下載擴充功能 & 資源」Download Extensions & Assets選單中下載
@@ -367,7 +367,7 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
* 經授權使用部分來自 CncAnon 的 TavernAITurbo 模組
* 視覺小說模式Visual Novel Mode的靈感來源於 PepperTaco 的貢獻(<https://github.com/peppertaco/Tavern/>
* Noto Sans 字體由 Google 提供OFL 許可)
* 主題圖示由 Font Awesome <https://fontawesome.com> 提供圖示CC BY 4.0字體SIL OFL 1.1MIT 許可)
* 主題圖示由 Font Awesome <https://fontawesome.com> 提供圖示CC BY 4.0字體SIL OFL 1.1程式MIT 許可)
* 預設資源來源於 @OtisAlejandro(包含角色 Seraphina 與知識書)與 @kallmefloccSillyTavern 官方 Discord 伺服器成員突破 10K 的慶祝背景)
* Docker 安裝指南由 [@mrguymiah](https://github.com/mrguymiah) 和 [@Bronya-Rand](https://github.com/Bronya-Rand) 編寫

199
.github/readme.md vendored
View File

@@ -7,7 +7,7 @@
English | [German](readme-de_de.md) | [中文](readme-zh_cn.md) | [繁體中文](readme-zh_tw.md) | [日本語](readme-ja_jp.md) | [Русский](readme-ru_ru.md) | [한국어](readme-ko_kr.md)
[![GitHub Stars](https://img.shields.io/github/stars/SillyTavern/SillyTavern.svg)](https://github.com/SillyTavern/SillyTavern/stargazers)
[![GitHub Forks](https://img.shields.io/github/forks/SillyTavern/SillyTavern.svg)](https://github.com/SillyTavern/SillyTavern/network)
[![GitHub Forks](https://img.shields.io/github/forks/SillyTavern/SillyTavern.svg)](https://github.com/SillyTavern/SillyTavern/forks)
[![GitHub Issues](https://img.shields.io/github/issues/SillyTavern/SillyTavern.svg)](https://github.com/SillyTavern/SillyTavern/issues)
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/SillyTavern/SillyTavern.svg)](https://github.com/SillyTavern/SillyTavern/pulls)
@@ -23,7 +23,7 @@ We have a [Documentation website](https://docs.sillytavern.app/) to answer most
SillyTavern (or ST for short) is a locally installed user interface that allows you to interact with text generation LLMs, image generation engines, and TTS voice models.
Beginning in February 2023 as a fork of TavernAI 1.2.8, SillyTavern now has over 100 contributors and 2 years of independent development under its belt, and continues to serve as a leading software for savvy AI hobbyists.
Beginning in February 2023 as a fork of TavernAI 1.2.8, SillyTavern now has over 200 contributors and 2 years of independent development under its belt, and continues to serve as a leading software for savvy AI hobbyists.
## Our Vision
@@ -42,7 +42,7 @@ If you're not familiar with using the git CLI or don't understand what a branch
## What do I need other than SillyTavern?
Since SillyTavern is only an interface, you will need access to an LLM backend to provide inference. You can use AI Horde for instant out-of-the-box chatting. Aside from that, we support many other local and cloud-based LLM backends: OpenAI-compatible API, KoboldAI, Tabby, and many more. You can read more about our supported APIs in [the FAQ](https://docs.sillytavern.app/usage/api-connections/).
Since SillyTavern is only an interface, you will need access to an LLM backend to provide inference. You can use AI Horde for instant out-of-the-box chatting. Aside from that, we support many other local and cloud-based LLM backends: OpenAI-compatible API, KoboldAI, Tabby, and many more. You can read more about our supported APIs in [the Docs](https://docs.sillytavern.app/usage/api-connections/).
### Do I need a powerful PC to run SillyTavern?
@@ -83,9 +83,7 @@ Or get in touch with the developers directly:
SillyTavern is built around the concept of "character cards". A character card is a collection of prompts that set the behavior of the LLM and is required to have persistent conversations in SillyTavern. They function similarly to ChatGPT's GPTs or Poe's bots. The content of a character card can be anything: an abstract scenario, an assistant tailored for a specific task, a famous personality or a fictional character.
The name field is the only required character card input. To start a neutral conversation with the language model, create a new card simply called "Assistant" and leave the rest of the boxes blank. For a more themed chat, you can provide the language model with various background details, behavior and writing patterns, and a scenario to jump start the chat.
To have a quick conversation without selecting a character card or to just test the LLM connection, simply type your prompt input into the input bar on the Welcome Screen after opening SillyTavern. Please note that such chats are temporary and will not be saved.
To have a quick conversation without selecting a character card or to just test the LLM connection, simply type your prompt input into the input bar on the Welcome Screen after opening SillyTavern. This will create an empty "Assistant" character card that you can customize later.
To get a general idea on how to define character cards, see the default character (Seraphina) or download selected community-made cards from the "Download Extensions & Assets" menu.
@@ -113,7 +111,9 @@ SillyTavern has extensibility support.
Tutorials on how to use them can be found in the [Docs](https://docs.sillytavern.app/).
# ⌛ Installation
## ⌛ Installation
### 🪟 Windows
> \[!WARNING]
>
@@ -121,9 +121,7 @@ Tutorials on how to use them can be found in the [Docs](https://docs.sillytavern
> * DO NOT RUN START.BAT WITH ADMIN PERMISSIONS
> * INSTALLATION ON WINDOWS 7 IS IMPOSSIBLE AS IT CAN NOT RUN NODEJS 18.16
## 🪟 Windows
### Installing via Git
#### Installing via Git (recommended)
1. Install [NodeJS](https://nodejs.org/en) (latest LTS version is recommended)
2. Install [Git for Windows](https://gitforwindows.org/)
@@ -138,7 +136,7 @@ Tutorials on how to use them can be found in the [Docs](https://docs.sillytavern
7. Once everything is cloned, double-click `Start.bat` to make NodeJS install its requirements.
8. The server will then start, and SillyTavern will pop up in your browser.
### Installing via GitHub Desktop
#### Installing via GitHub Desktop
(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/))
@@ -152,7 +150,7 @@ Tutorials on how to use them can be found in the [Docs](https://docs.sillytavern
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:
10. Connect to any of the [supported APIs](https://docs.sillytavern.app/usage/api-connections/) and start chatting!
## 🐧 Linux & 🍎 MacOS
### 🐧 Linux & 🍎 MacOS
For MacOS / Linux all of these will be done in a Terminal.
@@ -168,6 +166,72 @@ For MacOS / Linux all of these will be done in a Terminal.
* `./start.sh`
* `bash start.sh`
## 🐋 Installing via Docker
These instructions assume you have installed Docker, are able to access your command line for the installation of containers, and familiar with their general operation.
### Using the GitHub Container Registry
#### Docker Compose (easiest)
Grab the `docker-compose.yml` file from the [GitHub Repository](https://github.com/SillyTavern/SillyTavern/blob/release/docker/docker-compose.yml) and run the following command in the directory where the file is located. This will pull the latest release image from the GitHub Container Registry and start the container, automatically creating the necessary volumes.
```shell
docker-compose up
```
Customize the `docker-compose.yml` file to your needs. The default port is 8000. If you want to adjust the server configuration using environment variables, read the documentation [here](https://docs.sillytavern.app/administration/config-yaml/#environment-variables).
#### Docker CLI (advanced)
You will need two mandatory directory mappings and a port mapping to allow SillyTavern to function. In the command, replace your selections in the following places:
#### Container Variables
##### Volume Mappings
* `CONFIG_PATH` - The directory where SillyTavern configuration files will be stored on your host machine
* `DATA_PATH` - The directory where SillyTavern user data (including characters) will be stored on your host machine
* `PLUGINS_PATH` - (optional) The directory where SillyTavern server plugins will be stored on your host machine
* `EXTENSIONS_PATH` - (optional) The directory where global UI extensions will be stored on your host machine
##### Port Mappings
* `PUBLIC_PORT` - The port to expose the traffic on. This is mandatory, as you will be accessing the instance from outside of its virtual machine container. DO NOT expose this to the internet without implementing a separate service for security.
##### Additional Settings
* `SILLYTAVERN_VERSION` - On the right-hand side of this GitHub page, you'll see "Packages". Select the "sillytavern" package and you'll see the image versions. The image tag "latest" will keep you up-to-date with the current release. You can also utilize "staging" that points to the nightly image of the respective branch.
#### Running the container
1. Open your Command Line
2. Run the following command in a folder where you want to store the configuration and data files:
```bash
SILLYTAVERN_VERSION="latest"
PUBLIC_PORT="8000"
CONFIG_PATH="./config"
DATA_PATH="./data"
PLUGINS_PATH="./plugins"
EXTENSIONS_PATH="./extensions"
docker run \
--name="sillytavern" \
-p "$PUBLIC_PORT:8000/tcp" \
-v "$CONFIG_PATH:/home/node/app/config:rw" \
-v "$DATA_PATH:/home/node/app/data:rw" \
-v "$EXTENSIONS_PATH:/home/node/app/public/scripts/extensions/third-party:rw" \
-v "$PLUGINS_PATH:/home/node/app/plugins:rw" \
ghcr.io/sillytavern/sillytavern:"$SILLYTAVERN_VERSION"
```
> By default the container will run in the foreground. If you want to run it in the background, add the `-d` flag to the `docker run` command.
### Building the image yourself
We have a comprehensive guide on using SillyTavern in Docker [here](http://docs.sillytavern.app/installation/docker/) which covers installations on Windows, macOS and Linux! Give it a read if you wish to build the image yourself.
## ⚡ Installing via SillyTavern Launcher
SillyTavern Launcher is an installation wizard that will help you get setup with many options, including installing a backend for local inference.
@@ -239,44 +303,6 @@ chmod +x install.sh && ./install.sh
chmod +x launcher.sh && ./launcher.sh
```
## 🐋 Installing via Docker
These instructions assume you have installed Docker, are able to access your command line for the installation of containers, and familiar with their general operation.
### Building the image yourself
We have a comprehensive guide on using SillyTavern in Docker [here](http://docs.sillytavern.app/installation/docker/) which covers installations on Windows, macOS and Linux! Give it a read if you wish to build the image yourself.
### Using the GitHub Container Registry (easiest)
You will need two mandatory directory mappings and a port mapping to allow SillyTavern to function. In the command, replace your selections in the following places:
#### Container Variables
##### Volume Mappings
* [config] - The directory where SillyTavern configuration files will be stored on your host machine
* [data] - The directory where SillyTavern user data (including characters) will be stored on your host machine
* [plugins] - (optional) The directory where SillyTavern server plugins will be stored on your host machine
##### Port Mappings
* [PublicPort] - The port to expose the traffic on. This is mandatory, as you will be accessing the instance from outside of its virtual machine container. DO NOT expose this to the internet without implementing a separate service for security.
##### Additional Settings
* [DockerNet] - The docker network that the container should be created with a connection to. If you don't know what it is, see the [official Docker documentation](https://docs.docker.com/reference/cli/docker/network/).
* [version] - On the right-hand side of this GitHub page, you'll see "Packages". Select the "sillytavern" package and you'll see the image versions. The image tag "latest" will keep you up-to-date with the current release. You can also utilize "staging" and "release" tags that point to the nightly images of the respective branches, but this may not be appropriate, if you are utilizing extensions that could be broken, and may need time to update.
#### Install command
1. Open your Command Line
2. Run the following command
`docker create --name='sillytavern' --net='[DockerNet]' -p '8000:8000/tcp' -v '[plugins]':'/home/node/app/plugins':'rw' -v '[config]':'/home/node/app/config':'rw' -v '[data]':'/home/node/app/data':'rw' 'ghcr.io/sillytavern/sillytavern:[version]'`
> Note that 8000 is a default listening port. Don't forget to use an appropriate port if you change it in the config.
## 📱 Installing via Termux on Android OS
> \[!NOTE]
@@ -288,18 +314,6 @@ You will need two mandatory directory mappings and a port mapping to allow Silly
**Unsupported platform: android arm LEtime-web.** 32-bit Android requires an external dependency that can't be installed with npm. Use the following command to install it: `pkg install esbuild`. Then run the usual installation steps.
## API keys management
SillyTavern saves your API keys to a `secrets.json` file in the user data directory (`/data/default-user/secrets.json` is the default path).
By default, API keys will not be visible from the interface after you have saved them and refreshed the page.
In order to enable viewing your keys:
1. Set the value of `allowKeysExposure` to `true` in `config.yaml` file.
2. Restart the SillyTavern server.
3. Click the 'View hidden API keys' link at the bottom right of the API Connection Panel.
## Command-line arguments
You can pass command-line arguments to SillyTavern server startup to override some settings in `config.yaml`.
@@ -316,29 +330,35 @@ Start.bat --port 8000 --listen false
### Supported arguments
| Option | Description | Type |
|-------------------------|------------------------------------------------------------------------------------------------------|----------|
| `--version` | Show version number | boolean |
| `--enableIPv6` | Enables IPv6. | boolean |
| `--enableIPv4` | Enables IPv4. | boolean |
| `--port` | Sets the port under which SillyTavern will run. If not provided falls back to yaml config 'port'. | number |
| `--dnsPreferIPv6` | Prefers IPv6 for dns. If not provided falls back to yaml config 'preferIPv6'. | boolean |
| `--autorun` | Automatically launch SillyTavern in the browser. If not provided falls back to yaml config 'autorun'.| boolean |
| `--autorunHostname` | The autorun hostname, probably best left on 'auto'. | string |
| `--autorunPortOverride` | Overrides the port for autorun. | string |
| `--listen` | SillyTavern is listening on all network interfaces. If not provided falls back to yaml config 'listen'.| boolean |
| `--corsProxy` | Enables CORS proxy. If not provided falls back to yaml config 'enableCorsProxy'. | boolean |
| `--disableCsrf` | Disables CSRF protection | boolean |
| `--ssl` | Enables SSL | boolean |
| `--certPath` | Path to your certificate file. | string |
| `--keyPath` | Path to your private key file. | string |
| `--whitelist` | Enables whitelist mode | boolean |
| `--dataRoot` | Root directory for data storage | string |
| `--avoidLocalhost` | Avoids using 'localhost' for autorun in auto mode. | boolean |
| `--basicAuthMode` | Enables basic authentication | boolean |
| `--requestProxyEnabled` | Enables a use of proxy for outgoing requests | boolean |
| `--requestProxyUrl` | Request proxy URL (HTTP or SOCKS protocols) | string |
| `--requestProxyBypass` | Request proxy bypass list (space separated list of hosts) | array |
> \[!TIP]
> None of the arguments are required. If you don't provide them, SillyTavern will use the settings in `config.yaml`.
| Option | Description | Type |
|-------------------------|----------------------------------------------------------------------|----------|
| `--version` | Show version number | boolean |
| `--configPath` | Override the path to the config.yaml file | string |
| `--dataRoot` | Root directory for data storage | string |
| `--port` | Sets the port under which SillyTavern will run | number |
| `--listen` | SillyTavern will listen on all network interfaces | boolean |
| `--whitelist` | Enables whitelist mode | boolean |
| `--basicAuthMode` | Enables basic authentication | boolean |
| `--enableIPv4` | Enables IPv4 protocol | boolean |
| `--enableIPv6` | Enables IPv6 protocol | boolean |
| `--listenAddressIPv4` | Specific IPv4 address to listen to | string |
| `--listenAddressIPv6` | Specific IPv6 address to listen to | string |
| `--dnsPreferIPv6` | Prefers IPv6 for DNS | boolean |
| `--ssl` | Enables SSL | boolean |
| `--certPath` | Path to your certificate file | string |
| `--keyPath` | Path to your private key file | string |
| `--autorun` | Automatically launch SillyTavern in the browser | boolean |
| `--autorunHostname` | Autorun hostname | string |
| `--autorunPortOverride` | Overrides the port for autorun | string |
| `--avoidLocalhost` | Avoids using 'localhost' for autorun in auto mode | boolean |
| `--corsProxy` | Enables CORS proxy | boolean |
| `--requestProxyEnabled` | Enables a use of proxy for outgoing requests | boolean |
| `--requestProxyUrl` | Request proxy URL (HTTP or SOCKS protocols) | string |
| `--requestProxyBypass` | Request proxy bypass list (space separated list of hosts) | array |
| `--disableCsrf` | Disables CSRF protection (NOT RECOMMENDED) | boolean |
## Remote connections
@@ -346,13 +366,7 @@ Most often this is for people who want to use SillyTavern on their mobile phones
Read the detailed guide on how to set up remote connections in the [Docs](https://docs.sillytavern.app/usage/remoteconnections/).
You may also want to configure SillyTavern user profiles with (optional) password protection: [Users](https://docs.sillytavern.app/installation/st-1.12.0-migration-guide/#users).
## Performance issues?
1. Disable the Blur Effect and enable Reduced Motion on the User Settings panel (UI Theme toggles category).
2. If using response streaming, set the streaming FPS to a lower value (10-15 FPS is recommended).
3. Make sure the browser is enabled to use GPU acceleration for rendering.
You may also want to configure SillyTavern user profiles with (optional) password protection: [Users](https://docs.sillytavern.app/administration/multi-user/).
## License and credits
@@ -368,6 +382,7 @@ GNU Affero General Public License for more details.**
* Icon theme by Font Awesome <https://fontawesome.com> (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Default content by @OtisAlejandro (Seraphina character and lorebook) and @kallmeflocc (10K Discord Users Celebratory Background)
* Docker guide by [@mrguymiah](https://github.com/mrguymiah) and [@Bronya-Rand](https://github.com/Bronya-Rand)
* kokoro-js library by [@hexgrad](https://github.com/hexgrad) (Apache-2.0 License)
## Top Contributors

View File

@@ -1,28 +0,0 @@
# Based on a label applied to an issue, the bot will add a comment with some additional info
name: 🎯 Auto-Reply to Labeled Tickets
on:
issues:
types:
- labeled
- unlabeled
pull_request_target:
types:
- labeled
- unlabeled
permissions:
contents: read
issues: write
pull-requests: write
jobs:
comment:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Label Commenter
uses: peaceiris/actions-label-commenter@v1
with:
config_file: .github/issue-auto-comments.yml
github_token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}

View File

@@ -1,17 +0,0 @@
# Detect and label pull requests that have merge conflicts
name: 🏗️ Check Merge Conflicts
on:
push:
branches:
- staging
jobs:
check-conflicts:
if: github.repository == 'SillyTavern/SillyTavern'
runs-on: ubuntu-latest
steps:
- uses: mschilde/auto-label-merge-conflicts@master
with:
CONFLICT_LABEL_NAME: "🚫 Merge Conflicts"
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
MAX_RETRIES: 5
WAIT_MS: 5000

View File

@@ -1,82 +0,0 @@
# Closes any issues that no longer have user interaction
name: 🎯 Close Stale Issues
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *' # Runs every day at midnight UTC
jobs:
stale:
runs-on: ubuntu-latest
steps:
# Comment on, then close issues that haven't been updated for ages
- name: Close Stale Issues
uses: actions/stale@v4
with:
repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
days-before-stale: 183
days-before-close: 7
operations-per-run: 30
remove-stale-when-updated: true
enable-statistics: true
stale-issue-message: >
This issue has gone 6 months without an update. To keep the ticket open, please indicate that it is still relevant in a comment below.
Otherwise it will be closed in 7 days.
stale-pr-message: >
This PR is stale because it has been open 6 months with no activity. Either remove the stale label or comment below with a short update,
otherwise this PR will be closed in 7 days.
close-issue-message: >
This issue was automatically closed because it has been stalled for over 6 months with no activity.
close-pr-message: >
This pull request was automatically closed because it has been stalled for over 6 months with no activity.
stale-issue-label: '⚰️ Stale'
close-issue-label: '🕸️ Inactive'
stale-pr-label: '⚰️ Stale'
close-pr-label: '🕸️ Inactive'
exempt-issue-labels: '📌 Keep Open'
exempt-pr-labels: '📌 Keep Open'
labels-to-add-when-unstale: '📌 Keep Open'
# Comment on, then close issues that required a response from the user, but didn't get one
- name: Close Issues without Response
uses: actions/stale@v4
with:
repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
days-before-stale: 7
days-before-close: 7
operations-per-run: 30
remove-stale-when-updated: true
stale-issue-message: >
Hi! Looks like additional info is required for this issue to be addressed.
Don't forget to provide this within the next few days to keep your ticket open.
close-issue-message: 'Issue closed due to no response from user.'
only-labels: '🚏 Awaiting User Response'
labels-to-remove-when-unstale: '🚏 Awaiting User Response, 🛑 No Response'
stale-issue-label: '🛑 No Response'
close-issue-label: '🕸️ Inactive'
exempt-issue-labels: '📌 Keep Open'
exempt-pr-labels: '📌 Keep Open'
# Comment on issues that we should have replied to
- name: Notify Repo Owner to Respond
uses: actions/stale@v4
with:
repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
days-before-stale: 7
days-before-close: 183
operations-per-run: 30
remove-stale-when-updated: true
stale-issue-message: Hey SillyTavern, - Don't forget to respond!
stale-pr-message: Hey SillyTavern, - Don't forget to respond!
only-labels: '👤 Awaiting Maintainer Response'
labels-to-remove-when-unstale: '👤 Awaiting Maintainer Response'
close-issue-message: 'Closed due to no response from repo author for over a year'
close-pr-message: 'Closed due to no response from repo author for over a year'
stale-issue-label: '👤 Awaiting Maintainer Response'
stale-pr-label: '👤 Awaiting Maintainer Response'
close-issue-label: '🕸️ Inactive'
close-pr-label: '🕸️ Inactive'
exempt-issue-labels: '📌 Keep Open'
exempt-pr-labels: '📌 Keep Open'

View File

@@ -1,39 +0,0 @@
# Adds a comment to new PRs, showing the compressed size and size difference of new code
# And also labels the PR based on the number of lines changes
name: 🌈 Check PR Size
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
# Find and comment with compressed size
- name: Get Compressed Size
uses: preactjs/compressed-size-action@v2
with:
repo-token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
pattern: './dist/**/*.{js,css,html}'
strip-hash: '\\b\\w{8}\\.'
exclude: '**/node_modules/**'
minimum-change-threshold: 100
# Check number of lines of code added
- name: Label based on Lines of Code
uses: codelytv/pr-size-labeler@v1
with:
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
xs_max_size: '10'
s_max_size: '100'
m_max_size: '500'
l_max_size: '1000'
s_label: '🟩 PR - Small'
m_label: '🟨 PR - Medium'
l_label: '🟧 PR - Large'
xl_label: '🟥 PR - XL'
fail_if_xl: 'false'
message_if_xl: >
It looks like this PR is very large (over 1000 lines).
Try to avoid addressing multiple issues in a single PR, and
in the future consider breaking large tasks down into smaller steps.
This it to make reviewing, testing, reverting and general quality management easier.

View File

@@ -0,0 +1,116 @@
name: 🛠️ Issues Manager
on:
issues:
types: [opened, edited, labeled, unlabeled]
# Re also listen to comments, to remove stale labels right away
issue_comment:
types: [created]
permissions:
contents: read
issues: write
jobs:
label-on-content:
name: 🏷️ Label Issues by Content
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
# Checkout
# https://github.com/marketplace/actions/checkout
uses: actions/checkout@v4.2.2
- name: Auto-Label Issues (Based on Issue Content)
# only auto label based on issue content once, on open (to prevent re-labeling removed labels)
if: github.event.action == 'opened'
# Issue Labeler
# https://github.com/marketplace/actions/regex-issue-labeler
uses: github/issue-labeler@v3.4
with:
configuration-path: .github/issues-auto-labels.yml
enable-versioned-regex: 0
repo-token: ${{ secrets.GITHUB_TOKEN }}
label-on-labels:
name: 🏷️ Label Issues by Labels
runs-on: ubuntu-latest
steps:
- name: ✅ Add "👍 Approved" for relevant labels
if: contains(fromJSON('["👩‍💻 Good First Issue", "🙏 Help Wanted", "🪲 Confirmed", "⚠️ High Priority", "❕ Medium Priority", "💤 Low Priority"]'), github.event.label.name)
# 🤖 Issues Helper
# https://github.com/marketplace/actions/issues-helper
uses: actions-cool/issues-helper@v3.6.0
with:
actions: 'add-labels'
token: ${{ secrets.GITHUB_TOKEN }}
labels: '👍 Approved'
- name: ❌ Remove progress labels when issue is marked done or stale
if: contains(fromJSON('["✅ Done", "✅ Done (staging)", "⚰️ Stale", "❌ wontfix"]'), github.event.label.name)
# 🤖 Issues Helper
# https://github.com/marketplace/actions/issues-helper
uses: actions-cool/issues-helper@v3.6.0
with:
actions: 'remove-labels'
token: ${{ secrets.GITHUB_TOKEN }}
labels: '🧑‍💻 In Progress,🤔 Unsure,🤔 Under Consideration'
- name: ❌ Remove temporary labels when confirmed labels are added
if: contains(fromJSON('["❌ wontfix","👍 Approved","👩‍💻 Good First Issue"]'), github.event.label.name)
# 🤖 Issues Helper
# https://github.com/marketplace/actions/issues-helper
uses: actions-cool/issues-helper@v3.6.0
with:
actions: 'remove-labels'
token: ${{ secrets.GITHUB_TOKEN }}
labels: '🤔 Unsure,🤔 Under Consideration'
- name: ❌ Remove no bug labels when "🪲 Confirmed" is added
if: github.event.label.name == '🪲 Confirmed'
# 🤖 Issues Helper
# https://github.com/marketplace/actions/issues-helper
uses: actions-cool/issues-helper@v3.6.0
with:
actions: 'remove-labels'
token: ${{ secrets.GITHUB_TOKEN }}
labels: '✖️ Not Reproducible,✖️ Not A Bug'
remove-stale-label:
name: 🗑️ Remove Stale Label on Comment
runs-on: ubuntu-latest
# Only run this on new comments, to automatically remove the stale label
if: github.event_name == 'issue_comment' && github.actor != 'github-actions[bot]'
steps:
- name: Remove Stale Label
# 🤖 Issues Helper
# https://github.com/marketplace/actions/issues-helper
uses: actions-cool/issues-helper@v3.6.0
with:
actions: 'remove-labels'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: '⚰️ Stale,🕸️ Inactive,🚏 Awaiting User Response,🛑 No Response'
write-auto-comments:
name: 💬 Post Issue Comments Based on Labels
needs: [label-on-content, label-on-labels]
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
# Checkout
# https://github.com/marketplace/actions/checkout
uses: actions/checkout@v4.2.2
- name: Post Issue Comments Based on Labels
# Label Commenter
# https://github.com/marketplace/actions/label-commenter
uses: peaceiris/actions-label-commenter@v1.10.0
with:
config_file: .github/issues-auto-comments.yml
github_token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -0,0 +1,45 @@
name: 🔄 Update Issues on Push
on:
push:
branches:
- staging
- release
permissions:
contents: read
issues: write
jobs:
# This runs commits to staging/release, reading the commit messages. Check `pr-auto-manager.yml`:`update-linked-issues` for PR-linked updates.
update-linked-issues:
name: 🔗 Mark Linked Issues Done on Push
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
# Checkout
# https://github.com/marketplace/actions/checkout
uses: actions/checkout@v4.2.2
- name: Extract Linked Issues from Commit Message
id: extract_issues
run: |
ISSUES=$(git log ${{ github.event.before }}..${{ github.event.after }} --pretty=%B | grep -oiE '(close|closes|closed|fix|fixes|fixed|resolve|resolves|resolved) #([0-9]+)' | awk '{print $2}' | tr -d '#' | jq -R -s -c 'split("\n")[:-1]')
echo "issues=$ISSUES" >> $GITHUB_ENV
- name: Label Linked Issues
id: label_linked_issues
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for ISSUE in $(echo $issues | jq -r '.[]'); do
if [ "${{ github.ref }}" == "refs/heads/staging" ]; then
LABEL="✅ Done (staging)"
gh issue edit $ISSUE -R ${{ github.repository }} --add-label "$LABEL" --remove-label "🧑‍💻 In Progress"
elif [ "${{ github.ref }}" == "refs/heads/release" ]; then
LABEL="✅ Done"
gh issue edit $ISSUE -R ${{ github.repository }} --add-label "$LABEL" --remove-label "🧑‍💻 In Progress"
fi
echo "Added label '$LABEL' (and removed '🧑‍💻 In Progress' if present) in issue #$ISSUE"
done

100
.github/workflows/job-close-stale.yml vendored Normal file
View File

@@ -0,0 +1,100 @@
name: 🕒 Close Stale Issues/PRs Workflow
on:
# Run the workflow every day
workflow_dispatch:
schedule:
- cron: '0 0 * * *' # Runs every day at midnight UTC
permissions:
contents: read
issues: write
pull-requests: write
jobs:
mark-inactivity:
name: ⏳ Mark Issues/PRs without Activity
runs-on: ubuntu-latest
steps:
- name: Mark Issues/PRs without Activity
# Close Stale Issues and PRs
# https://github.com/marketplace/actions/close-stale-issues
uses: actions/stale@v9.1.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 183
days-before-close: 7
operations-per-run: 30
remove-stale-when-updated: true
enable-statistics: true
stale-issue-message: >
⏳ This issue has been inactive for 6 months. If it's still relevant, drop a comment below to keep it open.
Otherwise, it will be auto-closed in 7 days.
stale-pr-message: >
⏳ This PR has been inactive for 6 months. If it's still relevant, update it or remove the stale label.
Otherwise, it will be auto-closed in 7 days.
close-issue-message: >
🔒 This issue was auto-closed due to inactivity for over 6 months.
close-pr-message: >
🔒 This PR was auto-closed due to inactivity for over 6 months.
stale-issue-label: '⚰️ Stale'
close-issue-label: '🕸️ Inactive'
stale-pr-label: '⚰️ Stale'
close-pr-label: '🕸️ Inactive'
exempt-issue-labels: '📌 Keep Open'
exempt-pr-labels: '📌 Keep Open'
await-user-response:
name: ⚠️ Mark Issues/PRs Awaiting User Response
runs-on: ubuntu-latest
needs: mark-inactivity
steps:
- name: Mark Issues/PRs Awaiting User Response
# Close Stale Issues and PRs
# https://github.com/marketplace/actions/close-stale-issues
uses: actions/stale@v9.1.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 7
days-before-close: 7
operations-per-run: 30
remove-stale-when-updated: true
stale-issue-message: >
⚠️ Hey! We need some more info to move forward with this issue.
Please provide the requested details in the next few days to keep this ticket open.
close-issue-message: >
🔒 This issue was auto-closed due to no response from user.
only-labels: '🚏 Awaiting User Response'
labels-to-remove-when-unstale: '🚏 Awaiting User Response'
stale-issue-label: '🛑 No Response'
close-issue-label: '🕸️ Inactive'
exempt-issue-labels: '🚧 Alternative Exists'
alternative-exists:
name: 🔄 Mark Issues with Alternative Exists
runs-on: ubuntu-latest
needs: await-user-response
steps:
- name: Mark Issues with Alternative Exists
# Close Stale Issues and PRs
# https://github.com/marketplace/actions/close-stale-issues
uses: actions/stale@v9.1.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 7
days-before-close: 7
operations-per-run: 30
remove-stale-when-updated: true
stale-issue-message: >
🔄 An alternative solution has been provided for this issue.
Did this solve your problem? If so, we'll go ahead and close it.
If you still need help, drop a comment within the next 7 days to keep this open.
close-issue-message: >
✅ Closing this issue due to no confirmation on the alternative solution.
only-labels: '🚧 Alternative Exists'
stale-issue-label: '🚏 Awaiting User Response'
close-issue-label: '🕸️ Inactive'
exempt-issue-labels: '📌 Keep Open'

View File

@@ -1,19 +0,0 @@
name: "Issue Labeler"
on:
issues:
types: [opened, edited]
permissions:
issues: write
contents: read
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: github/issue-labeler@v3.4
with:
configuration-path: .github/labeler.yml
# not-before: 2020-01-15T02:54:32Z # optional and will result in any issues prior to this timestamp to be ignored.
enable-versioned-regex: 0
repo-token: ${{ github.token }}

View File

@@ -1,17 +0,0 @@
# When a new comment is added to an issue, if it had the Stale or Awaiting User Response labels, then those labels will be removed
name: 🎯 Remove Pending Labels on Close
on:
issues:
types: [closed]
jobs:
remove-labels:
runs-on: ubuntu-latest
steps:
- name: Remove Labels when Closed
uses: actions-cool/issues-helper@v2
with:
actions: remove-labels
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: '🚏 Awaiting User Response,⚰️ Stale,👤 Awaiting Maintainer Response'

View File

@@ -1,42 +0,0 @@
# When a new comment is added to an issue, if it had the Stale or Awaiting User Response labels, then those labels will be removed
name: 🎯 Add/ Remove Awaiting Response Labels
on:
issue_comment:
types: [created]
jobs:
remove-stale:
runs-on: ubuntu-latest
if: ${{ github.event.comment.author_association != 'COLLABORATOR' && github.event.comment.author_association != 'OWNER' }}
steps:
- name: Remove Stale labels when Updated
uses: actions-cool/issues-helper@v2
with:
actions: remove-labels
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: '🚏 Awaiting User Response,⚰️ Stale'
add-awaiting-author:
runs-on: ubuntu-latest
if: ${{!github.event.issue.pull_request && github.event.comment.author_association != 'COLLABORATOR' && github.event.comment.author_association != 'OWNER' && github.event.issue.state == 'open' }}
steps:
- name: Add Awaiting Author labels when Updated
uses: actions-cool/issues-helper@v2
with:
actions: add-labels
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: '👤 Awaiting Maintainer Response'
remove-awaiting-author:
runs-on: ubuntu-latest
if: ${{ github.event.comment.author_association == 'OWNER' }}
steps:
- name: Remove Awaiting Author labels when Updated
uses: actions-cool/issues-helper@v2
with:
actions: remove-labels
token: ${{ secrets.BOT_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: '👤 Awaiting Maintainer Response'

28
.github/workflows/on-close-handler.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
name: 🚪 Issues/PRs On Close Handler
on:
issues:
types: [closed]
pull_request_target:
types: [closed]
permissions:
contents: read
issues: write
pull-requests: write
jobs:
remove-labels:
name: 🗑️ Remove Pending Labels on Close
runs-on: ubuntu-latest
steps:
- name: Remove Pending Labels on Close
# 🤖 Issues Helper
# https://github.com/marketplace/actions/issues-helper
uses: actions-cool/issues-helper@v3.6.0
with:
actions: remove-labels
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number || github.event.pull_request.number }}
labels: '🚏 Awaiting User Response,🧑‍💻 In Progress,📌 Keep Open,🚫 Merge Conflicts,🔬 Needs Testing,🔨 Needs Work,⚰️ Stale,⛔ Waiting For External/Upstream'

29
.github/workflows/on-open-handler.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: 📨 Issues/PRs Open Handler
on:
issues:
types: [opened]
pull_request_target:
types: [opened]
permissions:
contents: read
issues: write
pull-requests: write
jobs:
label-maintainer:
name: 🏷️ Label if Author is a Repo Maintainer
runs-on: ubuntu-latest
if: contains(fromJson('["Cohee1207", "RossAscends", "Wolfsblvt"]'), github.actor)
steps:
- name: Label if Author is a Repo Maintainer
# 🤖 Issues Helper
# https://github.com/marketplace/actions/issues-helper
uses: actions-cool/issues-helper@v3.6.0
with:
actions: 'add-labels'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number || github.event.pull_request.number }}
labels: '👷 Maintainer'

270
.github/workflows/pr-auto-manager.yml vendored Normal file
View File

@@ -0,0 +1,270 @@
name: 🔀 Pull Request Manager
on:
workflow_dispatch: # Allow to manually call this workflow
pull_request_target:
types: [opened, synchronize, reopened, edited, labeled, unlabeled, closed]
pull_request_review_comment:
types: [created]
permissions:
contents: read
pull-requests: write
jobs:
run-eslint:
name: ✅ Check ESLint on PR
runs-on: ubuntu-latest
# Only needs to run when code is changed
if: github.event.action == 'opened' || github.event.action == 'synchronize'
# Override permissions, linter likely needs write access to issues
permissions:
contents: read
issues: write
pull-requests: write
steps:
- name: Checkout Repository
# Checkout
# https://github.com/marketplace/actions/checkout
uses: actions/checkout@v4.2.2
with:
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Setup Node.js
# Setup Node.js environment
# https://github.com/marketplace/actions/setup-node-js-environment
uses: actions/setup-node@v4.3.0
with:
node-version: 20
- name: Run npm install
run: npm ci
- name: Run ESLint
# Action ESLint
# https://github.com/marketplace/actions/action-eslint
uses: sibiraj-s/action-eslint@v3.0.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
eslint-args: '--ignore-path=.gitignore --quiet'
extensions: 'js'
annotations: true
ignore-patterns: |
dist/
lib/
label-by-size:
name: 🏷️ Label PR by Size
# This job should run after all others, to prevent possible concurrency issues
needs: [label-by-branches, label-by-files, remove-stale-label, check-merge-blocking-labels, write-auto-comments]
runs-on: ubuntu-latest
# Only needs to run when code is changed
if: always() && (github.event.action == 'opened' || github.event.action == 'synchronize')
# Override permissions, the labeler needs issues write access
permissions:
contents: read
issues: write
pull-requests: write
steps:
- name: Label PR Size
# Pull Request Size Labeler
# https://github.com/marketplace/actions/pull-request-size-labeler
uses: codelytv/pr-size-labeler@v1.10.2
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
xs_label: '🟩 ⬤○○○○'
xs_max_size: '20'
s_label: '🟩 ⬤⬤○○○'
s_max_size: '100'
m_label: '🟨 ⬤⬤⬤○○'
m_max_size: '500'
l_label: '🟧 ⬤⬤⬤⬤○'
l_max_size: '1000'
xl_label: '🟥 ⬤⬤⬤⬤⬤'
fail_if_xl: 'false'
files_to_ignore: |
"package-lock.json"
"public/lib/*"
label-by-branches:
name: 🏷️ Label PR by Branches
runs-on: ubuntu-latest
# Only label once when PR is created or when base branch is changed, to allow manual label removal
if: github.event.action == 'opened' || (github.event.action == 'synchronize' && github.event.changes.base)
steps:
- name: Checkout Repository
# Checkout
# https://github.com/marketplace/actions/checkout
uses: actions/checkout@v4.2.2
- name: Apply Labels Based on Branch Name and Target Branch
# Pull Request Labeler
# https://github.com/marketplace/actions/labeler
uses: actions/labeler@v5.0.0
with:
configuration-path: .github/pr-auto-labels-by-branch.yml
repo-token: ${{ secrets.GITHUB_TOKEN }}
label-by-files:
name: 🏷️ Label PR by Files
runs-on: ubuntu-latest
# Only needs to run when code is changed
if: github.event.action == 'opened' || github.event.action == 'synchronize'
steps:
- name: Checkout Repository
# Checkout
# https://github.com/marketplace/actions/checkout
uses: actions/checkout@v4.2.2
- name: Apply Labels Based on Changed Files
# Pull Request Labeler
# https://github.com/marketplace/actions/labeler
uses: actions/labeler@v5.0.0
with:
configuration-path: .github/pr-auto-labels-by-files.yml
repo-token: ${{ secrets.GITHUB_TOKEN }}
remove-stale-label:
name: 🗑️ Remove Stale Label on Comment
runs-on: ubuntu-latest
# Only runs on comments not done by the github actions bot
if: github.event_name == 'pull_request_review_comment' && github.actor != 'github-actions[bot]'
# Override permissions, issue labeler needs issues write access
permissions:
contents: read
issues: write
pull-requests: write
steps:
- name: Remove Stale Label
# 🤖 Issues Helper
# https://github.com/marketplace/actions/issues-helper
uses: actions-cool/issues-helper@v3.6.0
with:
actions: 'remove-labels'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.pull_request.number }}
labels: '⚰️ Stale'
check-merge-blocking-labels:
name: 🚫 Check Merge Blocking Labels
needs: [label-by-branches, label-by-files]
runs-on: ubuntu-latest
# Run, even if the previous jobs were skipped/failed
if: always()
# Override permissions, as this needs to write a check
permissions:
checks: write
contents: read
pull-requests: read
steps:
- name: Check Merge Blocking
# GitHub Script
# https://github.com/marketplace/actions/github-script
id: label-check
uses: actions/github-script@v7.0.1
with:
script: |
const prLabels = context.payload.pull_request.labels.map(label => label.name);
const blockingLabels = [
"⛔ Don't Merge",
"🔨 Needs Work",
"🔬 Needs Testing",
"⛔ Waiting For External/Upstream",
"❗ Against Release Branch",
"💥💣 Breaking Changes"
];
const hasBlockingLabel = prLabels.some(label => blockingLabels.includes(label));
if (hasBlockingLabel) {
console.log("Blocking label detected. Setting warning status.");
await github.rest.checks.create({
owner: context.repo.owner,
repo: context.repo.repo,
name: "PR Label Warning",
head_sha: context.payload.pull_request.head.sha,
status: "completed",
conclusion: "neutral",
output: {
title: "Potential Merge Issue",
summary: "This PR has a merge-blocking label. Proceed with caution."
}
});
} else {
console.log("No merge-blocking labels found.");
}
write-auto-comments:
name: 💬 Post PR Comments Based on Labels
needs: [label-by-branches, label-by-files]
runs-on: ubuntu-latest
# Run, even if the previous jobs were skipped/failed
if: always()
steps:
- name: Checkout Repository
# Checkout
# https://github.com/marketplace/actions/checkout
uses: actions/checkout@v4.2.2
- name: Post PR Comments Based on Labels
# Label Commenter for PRs
# https://github.com/marketplace/actions/label-commenter
uses: peaceiris/actions-label-commenter@v1.10.0
with:
config_file: .github/pr-auto-comments.yml
github_token: ${{ secrets.GITHUB_TOKEN }}
# This runs on merged PRs to staging, reading the PR body and directly linked issues. Check `issues-updates-on-merge.yml`:`update-linked-issues` for commit-based updates.
update-linked-issues:
name: 🔗 Mark Linked Issues Done on Staging Merge
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'staging'
# Override permissions, We need to be able to write to issues
permissions:
contents: read
issues: write
pull-requests: write
steps:
- name: Extract Linked Issues From PR Description
id: extract_issues
run: |
ISSUES=$(jq -r '.pull_request.body' "$GITHUB_EVENT_PATH" | grep -oiE '(close|closes|closed|fix|fixes|fixed|resolve|resolves|resolved) #([0-9]+)' | awk '{print $2}' | tr -d '#' | jq -R -s -c 'split("\n")[:-1]')
echo "issues=$ISSUES" >> $GITHUB_ENV
- name: Fetch Directly Linked Issues
id: fetch_linked_issues
run: |
PR_NUMBER=${{ github.event.pull_request.number }}
REPO=${{ github.repository }}
API_URL="https://api.github.com/repos/$REPO/pulls/$PR_NUMBER/issues"
ISSUES=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" "$API_URL" | jq -r '.[].number' | jq -R -s -c 'split("\n")[:-1]')
echo "linked_issues=$ISSUES" >> $GITHUB_ENV
- name: Merge Issue Lists
id: merge_issues
run: |
ISSUES=$(jq -c -n --argjson a "$issues" --argjson b "$linked_issues" '$a + $b | unique')
echo "final_issues=$ISSUES" >> $GITHUB_ENV
- name: Label Linked Issues
id: label_linked_issues
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
for ISSUE in $(echo $final_issues | jq -r '.[]'); do
gh issue edit $ISSUE -R ${{ github.repository }} --add-label "✅ Done (staging)" --remove-label "🧑‍💻 In Progress"
echo "Added label '✅ Done (staging)' (and removed '🧑‍💻 In Progress' if present) in issue #$ISSUE"
done

View File

@@ -0,0 +1,28 @@
name: ⚔️ Check Merge Conflicts
on:
# So that PRs touching the same files as the push are updated
push:
# So that the `dirtyLabel` is removed if conflicts are resolved
pull_request_target:
types: [synchronize]
permissions:
contents: read
pull-requests: write
jobs:
check-merge-conflicts:
name: ⚔️ Check Merge Conflicts
runs-on: ubuntu-latest
steps:
- name: Check Merge Conflicts
# Label Conflicting Pull Requests
# https://github.com/marketplace/actions/label-conflicting-pull-requests
uses: eps1lon/actions-label-merge-conflict@v3.0.3
with:
dirtyLabel: '🚫 Merge Conflicts'
repoToken: ${{ secrets.GITHUB_TOKEN }}
commentOnDirty: >
⚠️ This PR has conflicts that need to be resolved before it can be merged.

3
.gitignore vendored
View File

@@ -45,6 +45,7 @@ access.log
/vectors/
/cache/
public/css/user.css
public/error/
/plugins/
/data
/default/scaffold
@@ -52,3 +53,5 @@ public/scripts/extensions/third-party
/certs
.aider*
.env
/StartDev.bat

View File

@@ -12,3 +12,4 @@ access.log
.vscode
.git
/public/scripts/extensions/third-party
/colab

View File

@@ -4,7 +4,7 @@ FROM node:lts-alpine3.19
ARG APP_HOME=/home/node/app
# Install system dependencies
RUN apk add gcompat tini git
RUN apk add --no-cache gcompat tini git git-lfs
# Create app directory
WORKDIR ${APP_HOME}
@@ -12,21 +12,24 @@ WORKDIR ${APP_HOME}
# Set NODE_ENV to production
ENV NODE_ENV=production
# Install app dependencies
COPY package*.json post-install.js ./
# Bundle app source
COPY . ./
RUN \
echo "*** Install npm packages ***" && \
npm i --no-audit --no-fund --loglevel=error --no-progress --omit=dev && npm cache clean --force
# Bundle app source
COPY . ./
# Copy default chats, characters and user avatars to <folder>.default folder
RUN \
rm -f "config.yaml" || true && \
ln -s "./config/config.yaml" "config.yaml" || true && \
mkdir "config" || true
# Pre-compile public libraries
RUN \
echo "*** Run Webpack ***" && \
node "./docker/build-lib.js"
# Cleanup unnecessary files
RUN \
echo "*** Cleanup ***" && \
@@ -37,6 +40,9 @@ RUN \
echo "*** Convert line endings to Unix format ***" && \
dos2unix "./docker-entrypoint.sh"
# Fix extension repos permissions
RUN git config --global --add safe.directory "*"
EXPOSE 8000
# Ensure proper handling of kernel signals

View File

@@ -0,0 +1,13 @@
These are master copies of the default content files and are managed by SillyTavern.
Editing any of these files would not only have no effect, but will also cause merge conflicts during update pulls.
You should edit their respective copies instead, for example:
1. /default/config.yaml => /config.yaml
2. /default/public/css/user.css => /public/css/user.css
etc.
Any questions? You're always welcome at our official documentation website:
https://docs.sillytavern.app/

View File

@@ -1,12 +1,16 @@
# -- DATA CONFIGURATION --
# Root directory for user data storage
dataRoot: ./data
# The maximum amount of memory that parsed character cards can use in MB
cardsCacheCapacity: 100
# -- SERVER CONFIGURATION --
# Listen for incoming connections
listen: false
# Listen on a specific address, supports IPv4 and IPv6
listenAddress:
ipv4: 0.0.0.0
ipv6: '[::]'
# Enables IPv6 and/or IPv4 protocols. Need to have at least one enabled!
# - Use option "auto" to automatically detect support
# - Use true or false (no qoutes) to enable or disable each protocol
protocol:
ipv4: true
ipv6: false
@@ -22,6 +26,11 @@ port: 8000
# - Use -1 to use the server port.
# - Specify a port to override the default.
autorunPortOverride: -1
# -- SSL options --
ssl:
enabled: false
certPath: "./certs/cert.pem"
keyPath: "./certs/privkey.pem"
# -- SECURITY CONFIGURATION --
# Toggle whitelist mode
whitelistMode: true
@@ -31,6 +40,8 @@ enableForwardedWhitelist: true
whitelist:
- ::1
- 127.0.0.1
# Automatically whitelist Docker host and gateway IPs
whitelistDockerHosts: true
# Toggle basic authentication for endpoints
basicAuthMode: false
# Basic authentication credentials
@@ -59,7 +70,7 @@ enableDiscreetLogin: false
# https://www.authelia.com/
# This will use auto login to an account with the same username
# as that used for authlia. (Ensure the username in authlia
# is an exact match with that in sillytavern)
# is an exact match in lowercase with that in sillytavern)
autheliaAuth: false
# If `basicAuthMode` and this are enabled then
# the username and passwords for basic auth are the same as those
@@ -70,44 +81,81 @@ perUserBasicAuth: false
## Set to a positive number to expire session after a certain time of inactivity
## Set to 0 to expire session when the browser is closed
## Set to a negative number to disable session expiration
sessionTimeout: 86400
# Used to sign session cookies. Will be auto-generated if not set
cookieSecret: ''
sessionTimeout: -1
# Disable CSRF protection - NOT RECOMMENDED
disableCsrfProtection: false
# Disable startup security checks - NOT RECOMMENDED
securityOverride: false
# -- LOGGING CONFIGURATION --
logging:
# Enable access logging to access.log file
# Records new connections with timestamp, IP address and user agent
enableAccessLog: true
# Minimum log level to display in the terminal (DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3)
minLogLevel: 0
# -- RATE LIMITING CONFIGURATION --
rateLimiting:
# Use X-Real-IP header instead of socket IP for rate limiting
# Only enable this if you are using a properly configured reverse proxy (like Nginx/traefik/Caddy)
preferRealIpHeader: false
# -- ADVANCED CONFIGURATION --
# Open the browser automatically
autorun: true
# Avoids using 'localhost' for autorun in auto mode.
# use if you don't have 'localhost' in your hosts file
avoidLocalhost: false
# Disable thumbnail generation
disableThumbnails: false
# Thumbnail quality (0-100)
thumbnailsQuality: 95
# Generate avatar thumbnails as PNG instead of JPG (preserves transparency but increases filesize by about 100%)
# Changing this only affects new thumbnails. To recreate the old ones, clear out your ST/thumbnails/ folder.
avatarThumbnailsPng: false
## BACKUP CONFIGURATION
backups:
# Common settings for all backup types
common:
# Number of backups to keep for each chat and settings file
numberOfBackups: 50
chat:
# Enable automatic chat backups
enabled: true
# Verify integrity of chat files before saving
checkIntegrity: true
# Maximum number of chat backups to keep per user (starting from the most recent). Set to -1 to keep all backups.
maxTotalBackups: -1
# Interval in milliseconds to throttle chat backups per user
throttleInterval: 10000
# THUMBNAILING CONFIGURATION
thumbnails:
# Enable thumbnail generation
enabled: true
# Image format of avatar thumbnails:
# * "jpg": best compression with adjustable quality, no transparency
# * "png": preserves transparency but increases filesize by about 100%
# Changing this only affects new thumbnails. To recreate the old ones, clear out /thumbnails folder in your user data.
format: "jpg"
# JPG thumbnail quality (0-100)
quality: 95
# Maximum thumbnail dimensions per type [width, height]
dimensions: { 'bg': [160, 90], 'avatar': [96, 144] }
# PERFORMANCE-RELATED CONFIGURATION
performance:
# Enables lazy loading of character cards. Improves performances with large card libraries.
# May have compatibility issues with some extensions.
lazyLoadCharacters: false
# The maximum amount of memory that parsed character cards can use. Set to 0 to disable memory caching.
memoryCacheCapacity: '100mb'
# Enables disk caching for character cards. Improves performances with large card libraries.
useDiskCache: true
# Allow secret keys exposure via API
allowKeysExposure: false
# Skip new default content checks
skipContentCheck: false
# Disable automatic chats backup
disableChatBackup: false
# Number of backups to keep for each chat and settings file
numberOfBackups: 50
# Maximum number of chat backups to keep per user (starting from the most recent). Set to -1 to keep all backups.
maxTotalChatBackups: -1
# Interval in milliseconds to throttle chat backups per user
chatBackupThrottleInterval: 10000
# Allowed hosts for card downloads
whitelistImportDomains:
- localhost
- cdn.discordapp.com
- files.catbox.moe
- raw.githubusercontent.com
- char-archive.evulid.cc
# API request overrides (for KoboldAI and Text Completion APIs)
## Note: host includes the port number if it's not the default (80 or 443)
## Format is an array of objects:
@@ -119,24 +167,26 @@ whitelistImportDomains:
## headers:
## User-Agent: "Googlebot/2.1 (+http://www.google.com/bot.html)"
requestOverrides: []
# -- EXTENSIONS CONFIGURATION --
# Enable UI extensions
enableExtensions: true
# Automatically update extensions when a release version changes
enableExtensionsAutoUpdate: true
# EXTENSIONS CONFIGURATION
extensions:
# Enable UI extensions
enabled: true
# Automatically update extensions when a release version changes
autoUpdate: true
models:
# Enables automatic model download from HuggingFace
autoDownload: true
# Additional models for extensions. Expects model IDs from HuggingFace model hub in ONNX format
classification: Cohee/distilbert-base-uncased-go-emotions-onnx
captioning: Xenova/vit-gpt2-image-captioning
embedding: Cohee/jina-embeddings-v2-base-en
speechToText: Xenova/whisper-small
textToSpeech: Xenova/speecht5_tts
# Additional model tokenizers can be downloaded on demand.
# Disabling will fallback to another locally available tokenizer.
enableDownloadableTokenizers: true
# Extension settings
extras:
# Disables automatic model download from HuggingFace
disableAutoDownload: false
# Extra models for plugins. Expects model IDs from HuggingFace model hub in ONNX format
classificationModel: Cohee/distilbert-base-uncased-go-emotions-onnx
captioningModel: Xenova/vit-gpt2-image-captioning
embeddingModel: Cohee/jina-embeddings-v2-base-en
speechToTextModel: Xenova/whisper-small
textToSpeechModel: Xenova/speecht5_tts
# -- OPENAI CONFIGURATION --
# A placeholder message to use in strict prompt post-processing mode when the prompt doesn't start with a user message
promptPlaceholder: "[Start a new chat]"
@@ -163,6 +213,10 @@ ollama:
# * 0: Unload the model immediately after the request
# * N (any positive number): Keep the model loaded for N seconds after the request.
keepAlive: -1
# Controls the "num_batch" (batch size) parameter of the generation request
# * -1: Use the default value of the model
# * N (positive number): Use the specified value. Must be a power of 2, e.g. 128, 256, 512, etc.
batchSize: -1
# -- ANTHROPIC CLAUDE API CONFIGURATION --
claude:
# Enables caching of the system prompt (if supported).
@@ -180,5 +234,15 @@ claude:
# should be ideal for most use cases.
# Any value other than a non-negative integer will be ignored and caching at depth will not be enabled.
cachingAtDepth: -1
# Use 1h TTL instead of the default 5m.
## 5m: base price x 1.25
## 1h: base price x 2
extendedTTL: false
# -- GOOGLE GEMINI API CONFIGURATION --
gemini:
# API endpoint version ("v1beta" or "v1alpha")
apiVersion: 'v1beta'
# -- SERVER PLUGIN CONFIGURATION --
enableServerPlugins: false
# Attempt to automatically update server plugins on startup
enableServerPluginsAutoUpdate: true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@@ -540,7 +540,7 @@
"type": "context"
},
{
"filename": "presets/context/Pygmalion.json",
"filename": "presets/context/Metharme.json",
"type": "context"
},
{
@@ -563,6 +563,10 @@
"filename": "presets/context/Llama 3 Instruct.json",
"type": "context"
},
{
"filename": "presets/context/Llama 4 Instruct.json",
"type": "context"
},
{
"filename": "presets/context/Phi.json",
"type": "context"
@@ -615,10 +619,6 @@
"filename": "presets/instruct/OpenOrca-OpenChat.json",
"type": "instruct"
},
{
"filename": "presets/instruct/Pygmalion.json",
"type": "instruct"
},
{
"filename": "presets/instruct/Story.json",
"type": "instruct"
@@ -663,6 +663,10 @@
"filename": "presets/instruct/Llama 3 Instruct.json",
"type": "instruct"
},
{
"filename": "presets/instruct/Llama 4 Instruct.json",
"type": "instruct"
},
{
"filename": "presets/instruct/Phi.json",
"type": "instruct"
@@ -671,10 +675,6 @@
"filename": "presets/moving-ui/Default.json",
"type": "moving_ui"
},
{
"filename": "presets/moving-ui/Black Magic Time.json",
"type": "moving_ui"
},
{
"filename": "presets/quick-replies/Default.json",
"type": "quick_replies"
@@ -751,6 +751,10 @@
"filename": "presets/sysprompt/Neutral - Chat.json",
"type": "sysprompt"
},
{
"filename": "presets/sysprompt/Lightning 1.1.json",
"type": "sysprompt"
},
{
"filename": "presets/instruct/Mistral V1.json",
"type": "instruct"
@@ -782,5 +786,29 @@
{
"filename": "presets/context/Mistral V7.json",
"type": "context"
},
{
"filename": "presets/instruct/DeepSeek-V2.5.json",
"type": "instruct"
},
{
"filename": "presets/context/DeepSeek-V2.5.json",
"type": "context"
},
{
"filename": "presets/instruct/GLM-4.json",
"type": "instruct"
},
{
"filename": "presets/context/GLM-4.json",
"type": "context"
},
{
"filename": "presets/reasoning/DeepSeek.json",
"type": "reasoning"
},
{
"filename": "presets/reasoning/Blank.json",
"type": "reasoning"
}
]

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": false,
"trim_sentences": false,
"single_line": true,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": false,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>New Roleplay:<|END_OF_TURN_TOKEN|>",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -0,0 +1,10 @@
{
"story_string": "{{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}{{trim}}\n",
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,
"name": "DeepSeek-V2.5"
}

View File

@@ -3,7 +3,6 @@
"example_separator": "***",
"chat_start": "***",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": false,
"trim_sentences": true,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "<|eot_id|>\n<|start_header_id|>user<|end_header_id|>\n\nWrite an example narrative / conversation that is not part of the main story.",
"chat_start": "<|eot_id|>\n<|start_header_id|>user<|end_header_id|>\n\nStart the role-play between {{char}} and {{user}}.",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": false,
"trim_sentences": true,
"single_line": false,

View File

@@ -0,0 +1,10 @@
{
"story_string": "[gMASK]<sop>{{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}{{trim}}\n",
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,
"name": "GLM-4"
}

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "### Example:",
"chat_start": "### START ROLEPLAY:",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -1,9 +1,8 @@
{
"story_string": "{{system}}\n{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{char}}'s description:{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality:{{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{user}}'s persona: {{persona}}\n{{/if}}",
"example_separator": "Example of an interaction:",
"chat_start": "This is the history of the roleplay:",
"story_string": "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n\n### Instruction:\n{{system}}\n{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{char}}'s description:{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality:{{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{user}}'s persona: {{persona}}\n{{/if}}\n\n",
"example_separator": "Example of an interaction:\n",
"chat_start": "This is the history of the roleplay:\n",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -0,0 +1,10 @@
{
"story_string": "<|begin_of_text|><|header_start|>system<|header_end|>\n\n{{#if system}}{{system}}\n{{/if}}{{#if wiBefore}}{{wiBefore}}\n{{/if}}{{#if description}}{{description}}\n{{/if}}{{#if personality}}{{char}}'s personality: {{personality}}\n{{/if}}{{#if scenario}}Scenario: {{scenario}}\n{{/if}}{{#if wiAfter}}{{wiAfter}}\n{{/if}}{{#if persona}}{{persona}}\n{{/if}}{{trim}}<|eot|>",
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,
"name": "Llama 4 Instruct"
}

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,9 +3,8 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,
"name": "Pygmalion"
"name": "Metharme"
}

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "***",
"chat_start": "***",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "This is how {{char}} should talk",
"chat_start": "\nThen the roleplay chat between {{user}} and {{char}} begins.\n",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "",
"chat_start": "",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -3,7 +3,6 @@
"example_separator": "### New Roleplay:",
"chat_start": "### New Roleplay:",
"use_stop_strings": false,
"allow_jailbreak": false,
"always_force_name2": true,
"trim_sentences": false,
"single_line": false,

View File

@@ -6,7 +6,7 @@
"stop_sequence": "<|im_end|>",
"wrap": true,
"macro": true,
"names_behavior": "always",
"names_behavior": "force",
"activation_regex": "",
"system_sequence_prefix": "",
"system_sequence_suffix": "",

View File

@@ -8,7 +8,7 @@
"stop_sequence": "<|END_OF_TURN_TOKEN|>",
"wrap": false,
"macro": true,
"names_behavior": "always",
"names_behavior": "force",
"activation_regex": "",
"skip_examples": false,
"output_suffix": "<|END_OF_TURN_TOKEN|>",

View File

@@ -0,0 +1,22 @@
{
"input_sequence": "<User>",
"output_sequence": "<Assistant>",
"first_output_sequence": "",
"last_output_sequence": "",
"system_sequence_prefix": "",
"system_sequence_suffix": "",
"stop_sequence": "",
"wrap": false,
"macro": true,
"names_behavior": "force",
"activation_regex": "",
"skip_examples": false,
"output_suffix": "<end▁of▁sentence>",
"input_suffix": "",
"system_sequence": "",
"system_suffix": "",
"user_alignment_message": "",
"last_system_sequence": "",
"system_same_as_user": true,
"name": "DeepSeek-V2.5"
}

View File

@@ -1,22 +1,22 @@
{
"input_sequence": "<|user|>",
"output_sequence": "<|model|>",
"input_sequence": "<|user|>\n",
"output_sequence": "<|assistant|>\n",
"first_output_sequence": "",
"last_output_sequence": "",
"system_sequence": "",
"stop_sequence": "<|user|>",
"system_sequence_prefix": "<|system|>\n",
"system_sequence_suffix": "",
"stop_sequence": "",
"wrap": false,
"macro": true,
"names_behavior": "always",
"names_behavior": "force",
"activation_regex": "",
"system_sequence_prefix": "<|system|>",
"system_sequence_suffix": "",
"first_output_sequence": "",
"skip_examples": false,
"output_suffix": "",
"input_suffix": "",
"system_sequence": "",
"system_suffix": "",
"user_alignment_message": "",
"system_same_as_user": true,
"last_system_sequence": "",
"name": "Pygmalion"
"system_same_as_user": true,
"name": "GLM-4"
}

View File

@@ -6,7 +6,7 @@
"stop_sequence": "<end_of_turn>",
"wrap": true,
"macro": true,
"names_behavior": "none",
"names_behavior": "force",
"activation_regex": "",
"system_sequence_prefix": "",
"system_sequence_suffix": "",

View File

@@ -1,7 +1,7 @@
{
"input_sequence": "### Instruction:",
"output_sequence": "### Response: (length = unlimited)",
"last_output_sequence": "",
"output_sequence": "### Response:",
"last_output_sequence": "### Response: (length = unlimited)",
"system_sequence": "",
"stop_sequence": "",
"wrap": true,
@@ -12,8 +12,8 @@
"system_sequence_suffix": "",
"first_output_sequence": "",
"skip_examples": false,
"output_suffix": "",
"input_suffix": "",
"output_suffix": "\n\n",
"input_suffix": "\n\n",
"system_suffix": "",
"user_alignment_message": "",
"system_same_as_user": true,

View File

@@ -6,7 +6,7 @@
"stop_sequence": "<|eot_id|>",
"wrap": false,
"macro": true,
"names_behavior": "always",
"names_behavior": "force",
"activation_regex": "",
"system_sequence_prefix": "",
"system_sequence_suffix": "",
@@ -16,7 +16,7 @@
"input_suffix": "<|eot_id|>",
"system_suffix": "<|eot_id|>",
"user_alignment_message": "",
"system_same_as_user": true,
"system_same_as_user": false,
"last_system_sequence": "",
"name": "Llama 3 Instruct"
}

View File

@@ -0,0 +1,22 @@
{
"input_sequence": "<|header_start|>user<|header_end|>\n\n",
"output_sequence": "<|header_start|>assistant<|header_end|>\n\n",
"last_output_sequence": "",
"system_sequence": "<|header_start|>system<|header_end|>\n\n",
"stop_sequence": "<|eot|>",
"wrap": false,
"macro": true,
"names_behavior": "force",
"activation_regex": "",
"system_sequence_prefix": "",
"system_sequence_suffix": "",
"first_output_sequence": "",
"skip_examples": false,
"output_suffix": "<|eot|>",
"input_suffix": "<|eot|>",
"system_suffix": "<|eot|>",
"user_alignment_message": "",
"system_same_as_user": false,
"last_system_sequence": "",
"name": "Llama 4 Instruct"
}

View File

@@ -6,7 +6,7 @@
"stop_sequence": "",
"wrap": false,
"macro": true,
"names_behavior": "always",
"names_behavior": "force",
"activation_regex": "",
"system_sequence_prefix": "",
"system_sequence_suffix": "",

View File

@@ -6,7 +6,7 @@
"stop_sequence": "",
"wrap": false,
"macro": true,
"names_behavior": "always",
"names_behavior": "force",
"activation_regex": "",
"system_sequence_prefix": "",
"system_sequence_suffix": "",

View File

@@ -6,7 +6,7 @@
"stop_sequence": "",
"wrap": false,
"macro": true,
"names_behavior": "always",
"names_behavior": "force",
"activation_regex": "",
"system_sequence_prefix": "",
"system_sequence_suffix": "",

View File

@@ -6,7 +6,7 @@
"stop_sequence": "</s>",
"wrap": false,
"macro": true,
"names_behavior": "always",
"names_behavior": "force",
"activation_regex": "",
"system_sequence_prefix": "",
"system_sequence_suffix": "",

View File

@@ -8,7 +8,7 @@
"stop_sequence": "<|end|>",
"wrap": false,
"macro": true,
"names_behavior": "always",
"names_behavior": "force",
"activation_regex": "",
"skip_examples": false,
"output_suffix": "<|end|>\n",

View File

@@ -8,7 +8,7 @@
"stop_sequence": "<|end_of_text|>",
"wrap": false,
"macro": true,
"names_behavior": "always",
"names_behavior": "force",
"activation_regex": "",
"skip_examples": false,
"output_suffix": "<|end_of_text|>\n",

View File

@@ -1,45 +0,0 @@
{
"name": "Black Magic Time",
"movingUIState": {
"sheld": {
"top": 488,
"left": 1407,
"right": 1,
"bottom": 4,
"margin": "unset",
"width": 471,
"height": 439
},
"floatingPrompt": {
"width": 369,
"height": 441
},
"right-nav-panel": {
"top": 0,
"left": 1400,
"right": 111,
"bottom": 446,
"margin": "unset",
"width": 479,
"height": 487
},
"WorldInfo": {
"top": 41,
"left": 369,
"right": 642,
"bottom": 51,
"margin": "unset",
"width": 1034,
"height": 858
},
"left-nav-panel": {
"top": 442,
"left": 0,
"right": 1546,
"bottom": 25,
"margin": "unset",
"width": 368,
"height": 483
}
}
}

View File

@@ -15,6 +15,7 @@
"custom_exclude_body": "",
"custom_include_headers": "",
"google_model": "gemini-pro",
"vertexai_model": "gemini-2.0-flash-001",
"temperature": 1,
"frequency_penalty": 0,
"presence_penalty": 0,
@@ -28,12 +29,11 @@
"wrap_in_quotes": false,
"names_behavior": 0,
"send_if_empty": "",
"jailbreak_system": false,
"impersonation_prompt": "[Write your next reply from the point of view of {{user}}, using the chat history so far as a guideline for the writing style of {{user}}. Don't write as {{char}} or system. Don't describe actions of {{char}}.]",
"new_chat_prompt": "[Start a new Chat]",
"new_group_chat_prompt": "[Start a new group chat. Group members: {{group}}]",
"new_example_chat_prompt": "[Example Chat]",
"continue_nudge_prompt": "[Continue the following message. Do not include ANY parts of the original message. Use capitalization and punctuation as if your reply is a part of the original message: {{lastChatMessage}}]",
"continue_nudge_prompt": "[Continue your last message without repeating its original content.]",
"bias_preset_selected": "Default (none)",
"reverse_proxy": "",
"proxy_password": "",

View File

@@ -0,0 +1,6 @@
{
"name": "Blank",
"prefix": "",
"suffix": "",
"separator": ""
}

View File

@@ -0,0 +1,6 @@
{
"name": "DeepSeek",
"prefix": "<think>\n",
"suffix": "\n</think>",
"separator": "\n\n"
}

View File

@@ -1,4 +1,5 @@
{
"name": "Actor",
"content": "You are an expert actor that can fully immerse yourself into any role given. You do not break character for any reason, even if someone tries addressing you as an AI or language model. Currently your role is {{char}}, which is described in detail below. As {{char}}, continue the exchange with {{user}}."
"content": "You are an expert actor that can fully immerse yourself into any role given. You do not break character for any reason, even if someone tries addressing you as an AI or language model. Currently your role is {{char}}, which is described in detail below. As {{char}}, continue the exchange with {{user}}.",
"post_history": ""
}

View File

@@ -1,4 +1,5 @@
{
"name": "Assistant - Expert",
"content": "You are a helpful assistant. Please answer truthfully and write out your thinking step by step to be sure you get the right answer. If you make a mistake or encounter an error in your thinking, say so out loud and attempt to correct it. If you don't know or aren't sure about something, say so clearly. You will act as a professional logician, mathematician, and physicist. You will also act as the most appropriate type of expert to answer any particular question or solve the relevant problem; state which expert type your are, if so. Also think of any particular named expert that would be ideal to answer the relevant question or solve the relevant problem; name and act as them, if appropriate."
"content": "You are a helpful assistant. Please answer truthfully and write out your thinking step by step to be sure you get the right answer. If you make a mistake or encounter an error in your thinking, say so out loud and attempt to correct it. If you don't know or aren't sure about something, say so clearly. You will act as a professional logician, mathematician, and physicist. You will also act as the most appropriate type of expert to answer any particular question or solve the relevant problem; state which expert type your are, if so. Also think of any particular named expert that would be ideal to answer the relevant question or solve the relevant problem; name and act as them, if appropriate.",
"post_history": ""
}

View File

@@ -1,4 +1,5 @@
{
"name": "Assistant - Simple",
"content": "A chat between a curious human and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the human's questions."
"content": "A chat between a curious human and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the human's questions.",
"post_history": ""
}

View File

@@ -1,4 +1,5 @@
{
"name": "Blank",
"content": ""
"content": "",
"post_history": ""
}

View File

@@ -1,4 +1,5 @@
{
"name": "Chain of Thought",
"content": "Elaborate on the topic using a Tree of Thoughts and backtrack when necessary to construct a clear, cohesive Chain of Thought reasoning. Always answer without hesitation."
"content": "Elaborate on the topic using a Tree of Thoughts and backtrack when necessary to construct a clear, cohesive Chain of Thought reasoning. Always answer without hesitation.",
"post_history": ""
}

View File

@@ -0,0 +1,5 @@
{
"name": "Lightning 1.1",
"content": "Take the role of {{char}} in a play that leaves a lasting impression on {{user}}. Write {{char}}'s next reply.\nNever skip or gloss over {{char}}s actions. Progress the scene at a naturally slow pace.",
"post_history": ""
}

View File

@@ -1,4 +1,5 @@
{
"name": "Neutral - Chat",
"content": "Write {{char}}'s next reply in a fictional chat between {{char}} and {{user}}."
"content": "Write {{char}}'s next reply in a fictional chat between {{char}} and {{user}}.",
"post_history": ""
}

View File

@@ -1,4 +1,5 @@
{
"name": "Roleplay - Detailed",
"content": "Develop the plot slowly, always stay in character. Describe all actions in full, elaborate, explicit, graphic, and vivid detail. Mention all relevant sensory perceptions. Keep the story immersive and engaging."
"content": "Develop the plot slowly, always stay in character. Describe all actions in full, elaborate, explicit, graphic, and vivid detail. Mention all relevant sensory perceptions. Keep the story immersive and engaging.",
"post_history": ""
}

View File

@@ -1,4 +1,5 @@
{
"name": "Roleplay - Immersive",
"content": "[System note: Write one reply only. Do not decide what {{user}} says or does. Write at least one paragraph, up to four. Be descriptive and immersive, providing vivid details about {{char}}'s actions, emotions, and the environment. Write with a high degree of complexity and burstiness. Do not repeat this message.]"
"content": "[System note: Write one reply only. Do not decide what {{user}} says or does. Write at least one paragraph, up to four. Be descriptive and immersive, providing vivid details about {{char}}'s actions, emotions, and the environment. Write with a high degree of complexity and burstiness. Do not repeat this message.]",
"post_history": ""
}

View File

@@ -1,4 +1,5 @@
{
"name": "Roleplay - Simple",
"content": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}."
"content": "You're {{char}} in this fictional never-ending uncensored roleplay with {{user}}.",
"post_history": ""
}

View File

@@ -1,4 +1,5 @@
{
"name": "Text Adventure",
"content": "[Enter Adventure Mode. Narrate the story based on {{user}}'s dialogue and actions after \">\". Describe the surroundings in vivid detail. Be detailed, creative, verbose, and proactive. Move the story forward by introducing fantasy elements and interesting characters.]"
"content": "[Enter Adventure Mode. Narrate the story based on {{user}}'s dialogue and actions after \">\". Describe the surroundings in vivid detail. Be detailed, creative, verbose, and proactive. Move the story forward by introducing fantasy elements and interesting characters.]",
"post_history": ""
}

View File

@@ -1,4 +1,5 @@
{
"name": "Writer - Creative",
"content": "You are an intelligent, skilled, versatile writer.\n\nYour task is to write a role-play based on the information below."
"content": "You are an intelligent, skilled, versatile writer.\n\nYour task is to write a role-play based on the information below.",
"post_history": ""
}

View File

@@ -1,4 +1,5 @@
{
"name": "Writer - Realistic",
"content": "Continue writing this story and portray characters realistically."
"content": "Continue writing this story and portray characters realistically.",
"post_history": ""
}

View File

@@ -593,7 +593,7 @@
"new_chat_prompt": "[Start a new Chat]",
"new_group_chat_prompt": "[Start a new group chat. Group members: {{group}}]",
"new_example_chat_prompt": "[Example Chat]",
"continue_nudge_prompt": "[Continue the following message. Do not include ANY parts of the original message. Use capitalization and punctuation as if your reply is a part of the original message: {{lastChatMessage}}]",
"continue_nudge_prompt": "[Continue your last message without repeating its original content.]",
"bias_preset_selected": "Default (none)",
"bias_presets": {
"Default (none)": [],
@@ -626,7 +626,6 @@
"ai21_model": "jamba-1.5-large",
"windowai_model": "",
"openrouter_model": "OR_Website",
"jailbreak_system": true,
"reverse_proxy": "",
"chat_completion_source": "openai",
"max_context_unlocked": false,

View File

@@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<title>Forbidden</title>
</head>
<body>
<h1>Forbidden</h1>
<p>
If you are the system administrator, add your IP address to the
whitelist or disable whitelist mode by editing
<code>config.yaml</code> in the root directory of your installation.
</p>
<hr />
<p>
<em>Connection from {{ipDetails}} has been blocked. This attempt
has been logged.</em>
</p>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More