# 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", "modal", or "ssh" # - local: Runs directly on your machine (fastest, no isolation) # - ssh: Runs on remote server via SSH (great for sandboxing - agent can't touch its own code) # - 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=local # 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 # ============================================================================= # SSH REMOTE EXECUTION (for TERMINAL_ENV=ssh) # ============================================================================= # Run terminal commands on a remote server via SSH. # Agent code stays on your machine, commands execute remotely. # # SECURITY BENEFITS: # - Agent cannot read your .env file (API keys protected) # - Agent cannot modify its own code # - Remote server acts as isolated sandbox # - Can safely configure passwordless sudo on remote # # TERMINAL_SSH_HOST=192.168.1.100 # TERMINAL_SSH_USER=agent # TERMINAL_SSH_PORT=22 # TERMINAL_SSH_KEY=~/.ssh/id_rsa # ============================================================================= # SUDO SUPPORT (works with ALL terminal backends) # ============================================================================= # If set, enables sudo commands by piping password via `sudo -S`. # Works with: local, docker, singularity, modal, and ssh backends. # # SECURITY WARNING: Password stored in plaintext. Only use on trusted machines. # # ALTERNATIVES: # - For SSH backend: Configure passwordless sudo on the remote server # - For containers: Run as root inside the container (no sudo needed) # - For local: Configure /etc/sudoers for specific commands # - For CLI: Leave unset - you'll be prompted interactively with 45s timeout # # SUDO_PASSWORD=your_password_here # ============================================================================= # 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 (default: 300) # Sessions are cleaned up after this duration of inactivity BROWSER_SESSION_TIMEOUT=300 # Browser inactivity timeout - auto-cleanup inactive sessions (default: 120 = 2 min) # Browser sessions are automatically closed after this period of no activity BROWSER_INACTIVITY_TIMEOUT=120 # ============================================================================= # SESSION LOGGING # ============================================================================= # Session trajectories are automatically saved to logs/ directory # Format: logs/session_YYYYMMDD_HHMMSS_UUID.json # Contains full conversation history in trajectory format for debugging/replay # ============================================================================= # 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