Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unkenny Chat Window #116

Open
8 tasks
TheComamba opened this issue Nov 26, 2024 · 3 comments
Open
8 tasks

Unkenny Chat Window #116

TheComamba opened this issue Nov 26, 2024 · 3 comments
Labels
feature New feature or request

Comments

@TheComamba
Copy link
Owner

We could offer a dedicated Chat window that can be opened as a popup, for example. I think it should have the following behaviour:

  • It has tabs for every unkenny conversation with at least one message.
  • It displays said messages.
  • It offers a way to begin a new unkenny conversation.
  • It offers a way to remove the unkennyness from the messages in this conversation, thereby removing them from this chat view.
  • It has a text input field.
  • Sending a message via this text input field post messages in the normal chat window (and they get listed in the current view).
  • Messages sent via this text input are automatically directed at the unkenny npc, even if they do not contain an @ tag.
  • Optional: The tabs are either private or public. Private tabs list only messages whispered to an npc?

This is a big feature. If we really implement this we may want to split it into several PRs, (1) like a static view of all existing unkenny conversations, (2) interaction with the conversation and maybe (3) the secrecy thingy.

@TheComamba TheComamba added the feature New feature or request label Nov 26, 2024
@cyelis1224
Copy link
Collaborator

cyelis1224 commented Nov 27, 2024

What if you made the unkenny conversations into threads in the default chat log than can be collapsed instead? Or the "threads" could be tabs/a drop down at the top of the chat window. Eliminating the need to create the custom chat window and also keeping integration with things like talking actors?

@cyelis1224
Copy link
Collaborator

cyelis1224 commented Nov 27, 2024

I managed to get multi-user conversations working with the current build, as well as having the LLM know what its previous response was which makes the conversation way more engaging. The only sad part is this seems to break the ability to use /commands like /talk as the way the message is posted to the chat won't seem to support having the flags as well as being able to do /commands

Video_241127020437

here is the console output for how the conversation is sent to the LLM:

OpenAI input parameters:
Object
apiKey
:
"[REDACTED]"
frequency_penalty
:
0
max_tokens
:
250
messages
:
Array(8)
0
:
{role: 'system', content: 'Always interested in tinkering, Zanna set out for …, and perhaps one day create some of her own.

'}
1
:
{role: 'user', content: 'Akra: hello i am Akra'}
2
:
{role: 'assistant', content: 'Hello, Akra! It’s always a pleasure to meet a fellow adventurer. What brings you on this journey?'}
3
:
{role: 'user', content: 'Sefris: and I am Sefris, its nice to meet you @ZANNA'}
4
:
{role: 'assistant', content: 'Nice to meet you, Sefris! What kind of magic do you practice?'}
5
:
{role: 'user', content: 'Sefris: hey can you tell me our names?'}
6
:
{role: 'assistant', content: "Of course! You’re Akra and Sefris. It's great to f…ls or skills do you both have in your repertoire?"}
7
:
{role: 'user', content: 'Zanna (Gnome Wizard) wow good job!\n\n[Instructions:…nd with dialog only and do not describe actions.]'}
length
:
8
[[Prototype]]
:
Array(0)
model
:
"gpt-4o-mini"
temperature
:
1
[[Prototype]]
:
Object

@TheComamba
Copy link
Owner Author

I mean, threads also sounds like a good design. I felt that a separate window inspired by the chat might be the easiest to implement, but I feel like you have more experience than me when it comed to frontend programming with JS. So if you deem that feasible: Sure, go for it.

I don't like that we keep breaking the macros. 😄 Maybe we need to find a better design that is less prone to do that. I haven't really understood the root cause yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants