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

[Frontend] Multiple conversations/projects in the UI #4606

Closed
enyst opened this issue Oct 29, 2024 · 7 comments
Closed

[Frontend] Multiple conversations/projects in the UI #4606

enyst opened this issue Oct 29, 2024 · 7 comments
Assignees
Labels
backend Related to backend enhancement New feature or request frontend Related to frontend large effort Estimated large effort tracked Added to internal tracking
Milestone

Comments

@enyst
Copy link
Collaborator

enyst commented Oct 29, 2024

What problem or use case are you trying to solve?

When running with UI, you can have only one conversation. It's perfectly normal to want more than one, each with a name, so that the user can go back to an older one with a click. As I think we all know, LLM and LLM-based apps have "threads" or similar, it's just such a widespread and handy feature.

Describe the UX of the solution you'd like

I'm not sure of the details here, we just need a list of named conversations, so you can switch back to another. Of course, when you switch, it would load the history of that conversation.

Do you have thoughts on the technical implementation?

In the backend, something like this is implemented, albeit in a basic way: one can run main.py with --name session_name and it loads that session.

We may need to understand and implement a bit more, for this to go smoothly:

  • in particular, we may want to not reload the runtime, just the controller and event stream
  • the runtime does have an eventstream instance IIRC; that means we'd need some way to replace it / set to another

Additional context
UI sessions have a non-descript hash as session name, which as far I recall is "forgotten" once you change the session. It should be possible to store it and restore it. The backend doesn't care (once auth passes), it will load an older session.

@enyst enyst added enhancement New feature or request frontend Related to frontend backend Related to backend labels Oct 29, 2024
@mamoodi
Copy link
Collaborator

mamoodi commented Oct 29, 2024

There is a long standing issue that might be related:
#1744

@enyst
Copy link
Collaborator Author

enyst commented Nov 24, 2024

Also related:
#5211

@rbren rbren added this to the 2024-12 milestone Nov 25, 2024
@mamoodi mamoodi added large effort Estimated large effort tracked Added to internal tracking labels Dec 15, 2024
@mamoodi
Copy link
Collaborator

mamoodi commented Dec 15, 2024

Multiple sessions is currently in progress.

@neubig
Copy link
Contributor

neubig commented Jan 13, 2025

Just noting that we're still working on this and getting lots of feedback that people want this.

@neubig neubig modified the milestones: 2024-12, 2025-01 Jan 13, 2025
@neubig neubig moved this to In Progress in OpenHands Roadmap Jan 13, 2025
@neubig neubig assigned tofarr and unassigned amanape Jan 13, 2025
@linear linear bot closed this as completed Jan 13, 2025
@github-project-automation github-project-automation bot moved this from In Progress to Done in OpenHands Roadmap Jan 13, 2025
@vagelim
Copy link

vagelim commented Jan 16, 2025

@neubig was this completed? The issue is marked closed but I don't see multiple conversations in the release notes for the latest release

@mamoodi
Copy link
Collaborator

mamoodi commented Jan 16, 2025

No this isn't quite complete yet. Not sure why this was closed. Must have been an automatic trigger of sorts.
Let me circle back.

@rbren rbren reopened this Jan 16, 2025
@linear linear bot closed this as completed Jan 22, 2025
@rbren rbren reopened this Jan 22, 2025
@vagelim
Copy link

vagelim commented Jan 22, 2025

Just wanted to add for others looking for this feature—in the meantime I just generate a list of conversations by polling docker docker ps --format "{{.Names}}" -f name=openhands-runtime- | cut -d '-' -f 3. The container name suffix matches the conversation ID and can be accessed at http://your-deployment:3000/conversations/conversation-id.

@linear linear bot closed this as completed Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Related to backend enhancement New feature or request frontend Related to frontend large effort Estimated large effort tracked Added to internal tracking
Projects
Status: Done
Development

No branches or pull requests

7 participants