@@ -250,6 +250,12 @@ class Valves(BaseModel):
250250 default = os .getenv ("GOOGLE_IMAGE_HISTORY_FIRST" , "true" ).lower () == "true" ,
251251 description = "If true (default), history images precede current message images; if false, current images first." ,
252252 )
253+
254+ ENABLE_FORWARD_USER_INFO_HEADERS : bool = Field (
255+ default = os .getenv ("ENABLE_FORWARD_USER_INFO_HEADERS" , "false" ).lower ()
256+ == "true" ,
257+ description = "Whether to forward user information headers." ,
258+ )
253259
254260 # ---------------- Internal Helpers ---------------- #
255261 async def _gather_history_images (
@@ -565,8 +571,20 @@ def _get_client(self) -> genai.Client:
565571 )
566572 else :
567573 self .log .debug ("Initializing Google Generative AI client with API Key" )
574+ headers = {}
575+ if (
576+ self .valves .ENABLE_FORWARD_USER_INFO_HEADERS
577+ and hasattr (self , "user" )
578+ and self .user
579+ ):
580+ headers = {
581+ "X-OpenWebUI-User-Name" : self .user .name ,
582+ "X-OpenWebUI-User-Id" : self .user .id ,
583+ "x-openwebui-user-email" : self .user .email ,
584+ "X-OpenWebUI-User-Role" : self .user .role ,
585+ }
568586 options = types .HttpOptions (
569- api_version = self .valves .API_VERSION , base_url = self .valves .BASE_URL
587+ api_version = self .valves .API_VERSION , base_url = self .valves .BASE_URL , headers = headers
570588 )
571589 return genai .Client (
572590 api_key = EncryptedStr .decrypt (self .valves .GOOGLE_API_KEY ),
0 commit comments