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

Side | Side Chat windows #208

Closed
6 of 9 tasks
enricoros opened this issue Nov 16, 2023 · 9 comments
Closed
6 of 9 tasks

Side | Side Chat windows #208

enricoros opened this issue Nov 16, 2023 · 9 comments
Labels
feature-cool Distinctive features New UX
Milestone

Comments

@enricoros
Copy link
Owner

enricoros commented Nov 16, 2023

Enable splitting the current Chat window in left/right (desktop) or top/bottom (mobile).

While AppChat shall still keep a single Composer, there should be an option to send the same output to both (or 3,4..) chats, as well as selecting which chat receives the input (an outline, dedicated buttons, or something).

Requirements:

Stretch goals:

@enricoros enricoros changed the title Side by side Chat Windows Side | Side Chat windows Nov 16, 2023
@enricoros
Copy link
Owner Author

See #126, for an example use case for this.

@centminmod
Copy link

centminmod commented Nov 16, 2023

Any ideas of creative tools? copy from one side to the other? Overwrite one assistant with the other's message?

You're asking for other usage cases for such a feature besides #126 ?

Maybe something along the lines of Professor Synapse ChatGPT prompt https://gist.github.com/centminmod/21fb1d2f097ebfc6a8cb3e82e3a02796 where /save command saves and summarizes the chat progress so far in attempts at extending the context length accuracy a bit further?

So you could have left window split for the current chat progress and have an option to save a summary of the current chat and have it output to right window split chat. Then have left window split support on command or automatically reading the right window split summary to extend the context of left window split discussion.

Doing it this way also gives you a history of all summaries neatly organized on the right window split chat which you can reference back to and/or give you a more mature fleshed out starting point if you have to revisit the same chat discussion again and not have to go through the already discussed left window split chat from scratch again :)

@enricoros
Copy link
Owner Author

@centminmod this is genious - do you have more about this prompt? I love this use case that you mention.

It's exactly one of the directions I want to go towards: higher level controllers that can control lower level. Large parallel with how organizations of humans scale - you keep adding leaves to the org and splitting the control/execution responsibility.

This is a great input because allows me to conceive cross-chat communication and synchronization mechanisms.
A+ for your contib here, and if you have more on this example, please share.

@centminmod
Copy link

Professor Synapse prompt has a few Youtube videos you can watch. It seems to have a Github repo too https://github.com/ProfSynapse/Synapse_CoR and web site https://www.synapticlabs.ai/

@enricoros
Copy link
Owner Author

enricoros commented Nov 18, 2023

I was asking myself whether there should be an explicit communication protocol between the 2 (or more) windows, or whether just loading the Professor on the left side, and a worker on the Right side, and letting them chat, would work.

In that case, the UX could have a big "🔁" button that when pressed makes the left side chat to the right and vice versa, becoming one the assistant of the other (and removing half of the space).

  • Split window: [ assistant1 <> user ] | [ assistant2 <> user ]
  • Assistant vs Assistant 🔁: [ assistant1 <> assistant 2 ]

But I'm curious if this is enough (e.g. "text" is the interface between the 2 windows), or if more structured state shall be exposed between the windows.

For instance a "hierarchical" controller where Window1 controls Window 2 controls Window 3, could also be fascinating.

@centminmod
Copy link

centminmod commented Nov 18, 2023

The technical or coding aspects would be outside of my wheelhouse. But my first thought would be what about beyond 'text' i.e. images since OpenAI has DALLE-E and vision GPT as well.

a "hierarchical" controller would be interesting for more than 2 windows, i.e. ask a question in main chat which has an A/B if/else narrative and have A/if on window 2 and B/else on window 3

@enricoros
Copy link
Owner Author

Great ideas, thanks

@enricoros enricoros moved this from Requests to In Progress in big-AGI build-in-public roadmap Nov 20, 2023
@enricoros enricoros self-assigned this Nov 20, 2023
@enricoros enricoros added this to the 1.6.0 milestone Nov 20, 2023
@enricoros enricoros modified the milestones: 1.6.0, 1.7.0 Nov 28, 2023
@enricoros enricoros added this to the 1.10.0 milestone Dec 28, 2023
enricoros added a commit that referenced this issue Dec 28, 2023
 - Optima Layout: new Context based pluggable layout system
   - Now children have context functions, for better behaviors
   - Removed `store-applayout`
   - using withLayout on top-level Pages
 - ScrollToBottom: grounds-up subsystem for smooth scrolling with snap-to-bottom
 - Panes subsystem: use react-resizeable-panels together with our Panes subsystem
   - New: Split window chats, Drag to close windows, Button to split
   - using: https://github.com/bvaughn/react-resizable-panels
 - Cosmetic: Colors: update Light and Dark themes
 - Bootstrap Logic provider: will enable Mobile use cases
 - Removed NoSSR (the backend provided natually acts as the same)
 - Next load progress: loading indicator for slower pages (>300ms)
 - withLayout() system

Additional benefits include: no-pluggable-flashing, pane-ready,
fixed X-scrolling on Firefox, and more.

Closes #308, #304, #255, #59.
Progress on #305, #201, #296, #233, #208, #203.
@enricoros enricoros modified the milestones: 1.10.0, 1.11.0 Jan 6, 2024
@enricoros enricoros modified the milestones: 1.11.0, 1.12.0 Jan 16, 2024
@enricoros enricoros modified the milestones: 1.12.0, 1.13.0 Jan 24, 2024
@enricoros enricoros moved this from In Progress to Committed in big-AGI build-in-public roadmap Jan 26, 2024
@enricoros enricoros modified the milestones: 1.13.0, 1.14.0 Feb 2, 2024
@enricoros enricoros moved this from Committed to In Progress in big-AGI build-in-public roadmap Feb 3, 2024
@enricoros enricoros modified the milestones: 1.14.0, 1.13.0 Feb 3, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Ready in big-AGI build-in-public roadmap Feb 3, 2024
@enricoros enricoros added the feature-cool Distinctive features label Feb 3, 2024
@enricoros
Copy link
Owner Author

@centminmod done, and includes a "multicast mode" to chat with multi-chats at once. No intertwined modes for chat.

@enricoros enricoros removed their assignment Feb 4, 2024
@enricoros enricoros mentioned this issue Feb 8, 2024
23 tasks
@enricoros enricoros moved this from Ready to To Promote in big-AGI build-in-public roadmap Feb 8, 2024
jimjonesbabyfreshout pushed a commit to jimjonesbabyfreshout/big-AGI that referenced this issue Feb 19, 2024
@centminmod
Copy link

Bit late but thanks @enricoros working nicely on my end :)

Definitely useful when you have a tangential thought and need to branch split the current chat :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-cool Distinctive features New UX
Projects
Status: To Promote
Development

No branches or pull requests

2 participants