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

Enhancement: Organization of chats into folders and/or "projects" #4848

Open
1 task done
GregDomzalski opened this issue Dec 3, 2024 · 1 comment
Open
1 task done
Labels
enhancement New feature or request

Comments

@GregDomzalski
Copy link

What features would you like to see added?

I would love to see two related features:

  1. The ability to group chats and conversations into folders. Call this "basic" organization.
  2. The ability to have a special type of folder called "projects". In addition to simply being an organizational tool, it would allow you to have shared context such as files (or a selection of specific files already uploaded and indexed by the RAG system) as well as a shared system prompt or context.

I go into greater detail below as I have a specific vision in mind. As someone who is a heavy .NET IDE user, I think in "solutions", folders, and projects - so what I'm describing is just my current mental model. Could this be accomplished in other ways? Perhaps. I know I need to start leveraging the existing bookmark and RAG system much more, and I will try to do so in the upcoming days. I'm open to alternative approaches so long as they capture the essence of what I'd like to see.

More details

Folders / Groups

Other open web UIs have the ability to organize conversations into folders. This would be an extremely useful feature to have as I tend to start many conversations on related topics. I also retain my chat history, so finding a previous conversation by date is starting to get challenging. Search helps, but sometimes I'd rather just see everything that I think is related be in one spot.

For basic folder management, I would expect:

  • Button / toggle in main conversation list to switch between current by-date organization and folder view (P1)
  • Move conversations from one folder to another (P1)
  • Rename / delete folders (P1)
  • On delete, should conversations be deleted, moved to parent, or moved to root/global? (P2)
  • Multiple levels of nesting (P2)
  • Share / export entire folder (P3)

I see #3021 that essentially covers this feature. I'm happy to see this request scoped to the second part, Projects. But I mention both because I think they could actually blend together and augment each other.

Projects

I would love to see something similar to Claude's project system. I see #4730 that talks about groups and workspaces - but that seems to focus more on the team and collaboration aspects.

To me, a "project" is a special kind of folder that has shared context built in. A project could be as simple as a shared system or context prompt. But I think it would also make sense for it to share selected files from the RAG system and to also potentially share generated artifacts.

Call me crazy, but I think projects could/should also support nesting - where context is additive (i.e. additional files, prompts).

For example, a project structure could be:

  • LibreChat (includes main developer documentation as context)
    • Front-end (includes additional documentation and context related to front end. May include system prompt stating that XYZ libraries are used and a certain style should be followed)
    • Back-end (ditto)

So, I would expect:

  • Project rename / delete (P1)
  • Shared system / user prompt (P1)
  • Shared files from the RAG database (P1)
  • Select which specific files to use (P2)
  • Shared artifacts (P2)
  • Nested projects (P3)

Combining folders and projects

Here is why I consider these features related: I think folders should be allowed to contain projects and vice versa.

Example of folders containing projects: "Personal projects", "React projects", ".NET projects" - and these are simply groupings of related projects.

Example of projects containing folders: Perhaps I don't need the extra overhead and context for a certain feature to warrant a new sub-project. I just want to create a folder underneath "Front-end" - to use the above example - where I collect all of my conversations about one thing.

This is definitely a "nice-to-have" feature. But I could envision an implementation where mixing and matching projects and folders in a hierarchy isn't a complete implementation and UX nightmare.

I recognize as a whole, this is likely a lot of work and effort. I'd love to support in any way I can.

Which components are impacted by your request?

General, UI

Pictures

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@GregDomzalski GregDomzalski added the enhancement New feature or request label Dec 3, 2024
@stitcombe
Copy link

+1 love this idea! I use Claude Projects at work, it's a game changer for shared context across multiple chats.

The biggest downside to the Claude implementation is the limited size of document context you can add to the project. If LibreChat could provide access to larger sets of documents in project context, it would be a huge advantage.

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

No branches or pull requests

2 participants