import re, os, sys # Read the litellm config with open("/opt/litellm/config.yaml") as f: content = f.read() # Helper to extract keys by source name def extract_keys_before(content, keyword, count=5): """Extract api_key values that appear before a given keyword.""" lines = content.split("\n") keys = [] for i, line in enumerate(lines): if keyword in line.lower(): # Look backwards for api_key for j in range(i-1, max(0, i-10), -1): if "api_key" in lines[j]: key = lines[j].split('"')[1] if '"' in lines[j] else None if key and key not in keys: keys.append(key) break return keys[:count] # Extract by model group gemini_keys = extract_keys_before(content, "gemini") github_keys = extract_keys_before(content, "github") groq_keys = extract_keys_before(content, "groq") # Print as env file format print("# GENERATED ENV FILE") print("# Copy these to /etc/litellm/.env") for i, k in enumerate(gemini_keys): print(f"GEMINI_API_KEY_{i+1}={k}") for i, k in enumerate(github_keys): # GitHub models use a different env var format print(f"GITHUB_TOKEN_{i+1}={k}") for i, k in enumerate(groq_keys): print(f"GROQ_API_KEY_{i+1}={k}")