Mintplex-Labs / anything-llm

The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, and more.
https://anythingllm.com
MIT License
27.48k stars 2.77k forks source link

[FEAT]: Enhance User Roles to Allow Workspace Creation and Management #2700

Open flefevre opened 7 hours ago

flefevre commented 7 hours ago

What would you like to see?

Description: Currently, the initial roles in the system are defined as follows:

Admin: Full access to the entire system.

Manager: Can view all workspaces and manage all properties except for settings related to LLM, Embedder, and Vector database.

Default: Can only send chats to workspaces they are explicitly added to. Cannot see or edit any workspaces or system settings.

We propose an enhancement to the Default role (or user role) to enable the following functionality:

Proposed Feature

  1. Allow Workspace Creation: Users with the Default role should be able to create a new workspace.

  2. Automatic Role Upgrade to Manager for Created Workspaces: Once a user creates a workspace, they automatically become the Manager of that workspace. This would grant them the ability to:

Add other users to the workspace.

Manage the workspace's properties (excluding system-level settings such as LLM, Embedder, or Vector database configurations).

  1. Collaboration Facilitation: This feature would empower users to form and manage their own teams, promoting collaborative efforts without requiring intervention from higher-level roles (e.g., Admin).

Benefits

Increased autonomy for users to organize their work.

Reduced reliance on Admins for workspace setup and team management.

Improved scalability as teams can self-organize without bottlenecks.

Implementation Considerations

Ensure that the user's management permissions are limited to the workspace they create.

Provide Admins with the ability to oversee and manage these new workspaces if needed.

Update the UI to include the option for users to create workspaces easily.

We believe this feature will significantly enhance the usability and scalability of the platform. Let us know if you need further clarification or additional details!

Thank you for considering this feature request.