@@ -240,13 +240,35 @@ def prompt_yesno() -> bool:
240240 print ("Please respond with 'y' or 'n'" )
241241
242242
243+ def mask_sensitive_value (value : str ) -> str :
244+ """Mask sensitive values in environment variables."""
245+ if len (value ) <= 4 :
246+ return "****"
247+ return value [:4 ] + "****" + value [- 4 :]
248+
243249def get_system_info ():
250+ # Import here to avoid circular imports
251+ from gpt_engineer .core .version_info import get_version_info
252+
253+ # Get version information
254+ version , install_type = get_version_info ()
255+
256+ # Get relevant environment variables
257+ relevant_env_vars = {
258+ key : mask_sensitive_value (value ) if any (s in key .lower () for s in ['key' , 'token' , 'secret' , 'password' , 'credential' ])
259+ else value
260+ for key , value in os .environ .items ()
261+ if any (prefix in key .upper () for prefix in ['OPENAI_' , 'GPT_' , 'PYTHON' , 'PATH' , 'MODEL' ])
262+ }
263+
244264 system_info = {
245- "os" : platform .system (),
246- "os_version" : platform .version (),
247- "architecture" : platform .machine (),
248- "python_version" : sys .version ,
249- "packages" : format_installed_packages (get_installed_packages ()),
265+ "GPT Engineer Version" : f"{ version } ({ install_type } installation)" ,
266+ "OS" : platform .system (),
267+ "OS Version" : platform .version (),
268+ "Architecture" : platform .machine (),
269+ "Python Version" : sys .version .split ()[0 ],
270+ "Environment Variables" : relevant_env_vars ,
271+ "Installed Packages" : format_installed_packages (get_installed_packages ()),
250272 }
251273 return system_info
252274
0 commit comments