[GH-ISSUE #22] [Feature Request] Additional UI Windows like Character Expressions #18

Open
opened 2026-10-15 18:03:26 +00:00 by bsakaguchi · 1 comment
Owner

Originally created by @theFisher86 on GitHub (May 15, 2023).
Original GitHub issue: https://github.com/SillyTavern/SillyTavern-Extras/issues/22

Could we take what is going on with the Character expressions and add a second "window" on the right side? This window could serve a few different purposes:

  • Show a second character in group chats - DONE
  • Show "key word images"
    • Keyword images would just be images that can be set in the same way the character expressions are except they simply respond to a keyword or world info entry (when a world info entry is triggered it could also trigger a keyword image).
    • I'm thinking this is a pretty straightforward functional change that could lead to a lot of really cool interactions and stuff. But it could be as simple as "if bot says keyword then show keyword_img.png
Originally created by @theFisher86 on GitHub (May 15, 2023). Original GitHub issue: https://github.com/SillyTavern/SillyTavern-Extras/issues/22 Could we take what is going on with the Character expressions and add a second "window" on the right side? This window could serve a few different purposes: * Show a second character in group chats - **DONE** * Show "key word images" - Keyword images would just be images that can be set in the same way the character expressions are except they simply respond to a keyword or world info entry (when a world info entry is triggered it could also trigger a keyword image). - I'm thinking this is a pretty straightforward functional change that could lead to a lot of really cool interactions and stuff. But it could be as simple as "if bot says keyword then show keyword_img.png
Author
Owner

@theFisher86 commented on GitHub (Jun 23, 2023):

Adding more context to this now as other features have been added that will support this.

So, the overall idea would be to be able to create experiences that could be games, rpgs, or really anything else. All utilizing the same concept behind Character Expressions.

So you'd allow the user to create their own UI windows that could either show an image from a folder (based on filename matching like charExpressions) or text (could come from the AI or potentially just output text from .txt file with filename matching). These UI windows would be configurable with placement, width, height, and auto-resize (whether or not the window resizes to fit the contents or not). Then each UI window would be tied to a 'tag' which would just be a phrase with some unique formatting that could show up in the chat. It could either come from the AI or the user (configurable).

So let's say you have a group chat with two characters and the user. You have also created two custom UI windows called windowHealthPoints and windowStatusEffects. Those are also the 'tags' that will be entered into chat.

Prompt could say something like:
"You are going to play a fighting game with {{user}}. At the beginning of each of your messages you will track the health points of each character in the chat and update it according to the actions taken. You will report the current characters health using the following format (in this example the character's health is 60HP): ] You will also keep track of status effects that may be applied to the character in the same format. So if a character had 75 HP and the poison status effect you would begin your message with:
] ]
Ensure that you update this based on the actions taken and include it at the beginning of EVERY MESSAGE YOU SEND."

That prompt could probably be shortened a ton and isn't great but you see the idea I'm going for.

Then ST would just have windowHealthPoints showing a cool HP bar looking image as the background of the UI window with texted overlayed on top of it (maybe configurable font size, font, color, etc) that would say '60'. The status effect window could say the word poison or show poison.png from a folder that the 'experience creator' defined.

I'm not a great programmer but I know enough to do stuff...kinda. So if you guys figure out how to do this and create the first basic window I'm probably capable of using that example and fleshing out all the other stuff here and helping out.

<!-- gh-comment-id:1604659568 --> @theFisher86 commented on GitHub (Jun 23, 2023): Adding more context to this now as other features have been added that will support this. So, the overall idea would be to be able to create _experiences_ that could be games, rpgs, or really anything else. All utilizing the same concept behind Character Expressions. So you'd allow the user to create their own UI windows that could either show an image from a folder (based on filename matching like charExpressions) or text (could come from the AI or potentially just output text from .txt file with filename matching). These UI windows would be configurable with placement, width, height, and auto-resize (whether or not the window resizes to fit the contents or not). Then each UI window would be tied to a 'tag' which would just be a phrase with some unique formatting that could show up in the chat. It could either come from the AI or the user (configurable). So let's say you have a group chat with two characters and the user. You have also created two custom UI windows called windowHealthPoints and windowStatusEffects. Those are also the 'tags' that will be entered into chat. Prompt could say something like: "You are going to play a fighting game with {{user}}. At the beginning of each of your messages you will track the health points of each character in the chat and update it according to the actions taken. You will report the current characters health using the following format (in this example the character's health is 60HP): [[[windowHealthPoints=60]]] You will also keep track of status effects that may be applied to the character in the same format. So if a character had 75 HP and the poison status effect you would begin your message with: [[[windowHealthPoints=60]]] [[[windowStatusEffects=poison]]] Ensure that you update this based on the actions taken and include it at the beginning of EVERY MESSAGE YOU SEND." That prompt could probably be shortened a ton and isn't great but you see the idea I'm going for. Then ST would just have windowHealthPoints showing a cool HP bar looking image as the background of the UI window with texted overlayed on top of it (maybe configurable font size, font, color, etc) that would say '60'. The status effect window could say the word poison or show poison.png from a folder that the 'experience creator' defined. I'm not a great programmer but I know enough to do stuff...kinda. So if you guys figure out how to do this and create the first basic window I'm probably capable of using that example and fleshing out all the other stuff here and helping out.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
SillyTavern/SillyTavern-Extras#18
No description provided.