# Hermes Agent Environment Configuration # Copy this file to .env and fill in your API keys # ============================================================================= # LLM PROVIDER (OpenRouter) # ============================================================================= # OpenRouter provides access to many models through one API # All LLM calls go through OpenRouter - no direct provider keys needed # Get your key at: https://openrouter.ai/keys OPENROUTER_API_KEY= # Default model to use (OpenRouter format: provider/model) # Examples: anthropic/claude-sonnet-4, openai/gpt-4o, google/gemini-2.0-flash, zhipuai/glm-4-plus LLM_MODEL=anthropic/claude-sonnet-4 # ============================================================================= # TOOL API KEYS # ============================================================================= # Firecrawl API Key - Web search, extract, and crawl # Get at: https://firecrawl.dev/ FIRECRAWL_API_KEY= # Nous Research API Key - Vision analysis and multi-model reasoning # Get at: https://inference-api.nousresearch.com/ NOUS_API_KEY= # FAL.ai API Key - Image generation # Get at: https://fal.ai/ FAL_KEY= # ============================================================================= # TERMINAL TOOL CONFIGURATION (mini-swe-agent backend) # ============================================================================= # Backend type: "local", "singularity", "docker", or "modal" # - local: Runs directly on your machine (fastest, no isolation) # - singularity: Runs in Apptainer/Singularity containers (HPC clusters, no root needed) # - docker: Runs in Docker containers (isolated, requires Docker + docker group) # - modal: Runs in Modal cloud sandboxes (scalable, requires Modal account) TERMINAL_ENV=singularity # Container images (for singularity/docker/modal backends) TERMINAL_DOCKER_IMAGE=python:3.11 TERMINAL_SINGULARITY_IMAGE=docker://python:3.11 TERMINAL_MODAL_IMAGE=python:3.11 # Working directory inside the container TERMINAL_CWD=/tmp # Default command timeout in seconds TERMINAL_TIMEOUT=60 # Cleanup inactive environments after this many seconds TERMINAL_LIFETIME_SECONDS=300 # ============================================================================= # MODAL CLOUD BACKEND (Optional - for TERMINAL_ENV=modal) # ============================================================================= # Modal uses CLI authentication, not environment variables. # Run: pip install modal && modal setup # This will authenticate via browser and store credentials locally. # No API key needed in .env - Modal handles auth automatically. # ============================================================================= # BROWSER TOOL CONFIGURATION (agent-browser + Browserbase) # ============================================================================= # Browser automation requires Browserbase cloud service for remote browser execution. # This allows the agent to navigate websites, fill forms, and extract information. # # STEALTH MODES: # - Basic Stealth: ALWAYS active (random fingerprints, auto CAPTCHA solving) # - Advanced Stealth: Requires BROWSERBASE_ADVANCED_STEALTH=true (Scale Plan only) # Browserbase API Key - Cloud browser execution # Get at: https://browserbase.com/ BROWSERBASE_API_KEY= # Browserbase Project ID - From your Browserbase dashboard BROWSERBASE_PROJECT_ID= # Enable residential proxies for better CAPTCHA solving (default: true) # Routes traffic through residential IPs, significantly improves success rate BROWSERBASE_PROXIES=true # Enable advanced stealth mode (default: false, requires Scale Plan) # Uses custom Chromium build to avoid bot detection altogether BROWSERBASE_ADVANCED_STEALTH=false # Browser session timeout in seconds (optional, default: 300) # Sessions are cleaned up after this duration of inactivity BROWSER_SESSION_TIMEOUT=300 # ============================================================================= # Browser automation requires Browserbase cloud service for remote browser execution. # This allows the agent to navigate websites, fill forms, and extract information. # Browserbase API Key - Cloud browser execution # Get at: https://browserbase.com/ BROWSERBASE_API_KEY= # Browserbase Project ID - From your Browserbase dashboard BROWSERBASE_PROJECT_ID= # Enable proxies for better CAPTCHA solving and anti-bot avoidance (default: true) # Proxies route traffic through residential IPs for more reliable access BROWSERBASE_PROXIES=true # Enable advanced stealth mode (default: false, requires Scale Plan) # Uses custom Chromium build to avoid bot detection altogether BROWSERBASE_ADVANCED_STEALTH=false # Browser session timeout in seconds (optional, default: 300) # Sessions are cleaned up after this duration of inactivity BROWSER_SESSION_TIMEOUT=300 # ============================================================================= # Browser automation requires Browserbase cloud service for remote browser execution. # This allows the agent to navigate websites, fill forms, and extract information. # Browserbase API Key - Cloud browser execution # Get at: https://browserbase.com/ BROWSERBASE_API_KEY= # Browserbase Project ID - From your Browserbase dashboard BROWSERBASE_PROJECT_ID= # Browser session timeout in seconds (optional, default: 300) # Sessions are cleaned up after this duration of inactivity BROWSER_SESSION_TIMEOUT=300 # ============================================================================= # LEGACY/OPTIONAL API KEYS # ============================================================================= # Morph API Key - For legacy Hecate terminal backend (terminal-hecate tool) # Get at: https://morph.so/ MORPH_API_KEY= # Hecate VM Settings (only if using terminal-hecate tool) HECATE_VM_LIFETIME_SECONDS=300 HECATE_DEFAULT_SNAPSHOT_ID=snapshot_p5294qxt # ============================================================================= # DEBUG OPTIONS # ============================================================================= WEB_TOOLS_DEBUG=false VISION_TOOLS_DEBUG=false MOA_TOOLS_DEBUG=false IMAGE_TOOLS_DEBUG=false # Scratch directory for Singularity sandboxes (optional) # If not set, uses /scratch (if available) or /tmp # Set this to a directory with lots of space for large pip installs # TERMINAL_SCRATCH_DIR=/scratch/myuser # Disk usage warning threshold in GB (default: 500) # Warning is printed when total sandbox disk usage exceeds this TERMINAL_DISK_WARNING_GB=500