[GH-ISSUE #17639] feat: Add Ability to Share OpenWeb UI Objects with Individual Users #57015

Closed
opened 2026-05-05 20:26:28 -05:00 by GiteaMirror · 0 comments
Owner

Originally created by @shgana on GitHub (Sep 22, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/17639

Check Existing Issues

  • I have searched the existing issues and discussions.

Problem Description

Currently, Models, Knowledge Bases, and Prompts can only be shared with groups, not with individual users. This limitation creates several challenges:

  1. Users must create numerous small groups for targeted sharing, leading to group proliferation
  2. There's no way to share assets with specific individuals without exposing them to entire groups
  3. When a user needs to collaborate with just one other person, they must create a dedicated group
  4. For organizations with many users, this creates unnecessary administrative overhead

Desired Solution you'd like

Implement the ability to share Models, Knowledge Bases, and Prompts with individual users directly, without requiring group creation.
The solution should:

  1. Add UI components to select individual users when sharing objects
  2. Implement configurable sharing modes (Off, By Search, By Email Address)
  3. Include proper validation and error handling
  4. Provide clear feedback when sharing succeeds or fails
    According to discussion #15070, the backend already supports this functionality through the has_access function, which checks for both group and user IDs. The REST API can already accept user_ids, though this is not yet utilized by the frontend UI.

Alternatives Considered

  1. Continue with group-only sharing (current approach)
  2. Implement a middleware service to handle sharing outside the core codebase
  3. Create a separate "share management" panel for users to handle all their sharing needs

Additional Context

Additional Context
From discussions #15070 and #12358, this feature has been considered previously but not yet implemented. The has_access function already contains logic to check for individual user access:

def has_access(
user_id: str,
type: str = "write",
access_control: Optional[dict] = None,
) -> bool:
if access_control is None:
return type == "read"
user_groups = Groups.get_groups_by_member_id(user_id)
user_group_ids = [group.id for group in user_groups]
permission_access = access_control.get(type, {})
permitted_group_ids = permission_access.get("group_ids", [])
permitted_user_ids = permission_access.get("user_ids", [])
return user_id in permitted_user_ids or any(
group_id in permitted_group_ids for group_id in user_group_ids
)

This indicates that implementing the frontend portion of this feature would complete functionality that is already partially supported in the backend.

Originally created by @shgana on GitHub (Sep 22, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/17639 ### Check Existing Issues - [x] I have searched the existing issues and discussions. ### Problem Description Currently, Models, Knowledge Bases, and Prompts can only be shared with groups, not with individual users. This limitation creates several challenges: 1. Users must create numerous small groups for targeted sharing, leading to group proliferation 2. There's no way to share assets with specific individuals without exposing them to entire groups 3. When a user needs to collaborate with just one other person, they must create a dedicated group 4. For organizations with many users, this creates unnecessary administrative overhead ### Desired Solution you'd like Implement the ability to share Models, Knowledge Bases, and Prompts with individual users directly, without requiring group creation. The solution should: 1. Add UI components to select individual users when sharing objects 2. Implement configurable sharing modes (Off, By Search, By Email Address) 3. Include proper validation and error handling 4. Provide clear feedback when sharing succeeds or fails According to discussion #15070, the backend already supports this functionality through the has_access function, which checks for both group and user IDs. The REST API can already accept user_ids, though this is not yet utilized by the frontend UI. ### Alternatives Considered 1. Continue with group-only sharing (current approach) 2. Implement a middleware service to handle sharing outside the core codebase 3. Create a separate "share management" panel for users to handle all their sharing needs ### Additional Context Additional Context From discussions #15070 and #12358, this feature has been considered previously but not yet implemented. The has_access function already contains logic to check for individual user access: def has_access( user_id: str, type: str = "write", access_control: Optional[dict] = None, ) -> bool: if access_control is None: return type == "read" user_groups = Groups.get_groups_by_member_id(user_id) user_group_ids = [group.id for group in user_groups] permission_access = access_control.get(type, {}) permitted_group_ids = permission_access.get("group_ids", []) permitted_user_ids = permission_access.get("user_ids", []) return user_id in permitted_user_ids or any( group_id in permitted_group_ids for group_id in user_group_ids ) This indicates that implementing the frontend portion of this feature would complete functionality that is already partially supported in the backend.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#57015