# SentientResearchAgent Environment Configuration # Copy this file to .env and fill in your API keys # ===== LLM Provider Keys ===== # OpenRouter API key (primary LLM provider) OPENROUTER_API_KEY=your_openrouter_key_here # OpenAI API key (optional - for direct OpenAI usage) OPENAI_API_KEY=your_openai_key_here # Google GenAI API key (optional - for Gemini models) GOOGLE_GENAI_API_KEY=your_google_genai_key_here # Anthropic API key (optional - for Claude models) ANTHROPIC_API_KEY=your_anthropic_key_here # ===== Search & Tool Keys ===== # Exa API key (for web search capabilities) EXA_API_KEY=your_exa_key_here # ===== E2B Code Execution & S3 Integration ===== # E2B API key for sandbox code execution E2B_API_KEY=your_e2b_api_key_here # E2B template ID (custom template with S3 integration) E2B_TEMPLATE_ID=sentient-e2b-s3 # E2B sandbox timeout in seconds (default: 300) E2B_TIMEOUT=300 # AWS credentials for S3 integration in E2B sandbox AWS_ACCESS_KEY_ID=your_aws_access_key_here AWS_SECRET_ACCESS_KEY=your_aws_secret_key_here AWS_REGION=us-east-1 # S3 bucket name for data persistence and sync S3_BUCKET_NAME=your-s3-bucket-name # ===== S3 Mounting Configuration ===== # Enable S3 mounting across environments (true/false) S3_MOUNT_ENABLED=false # Universal mount directory path (identical across all platforms) S3_MOUNT_DIR=/opt/sentient # ===== Server Configuration (Optional) ===== # Flask server host (default: 0.0.0.0) FLASK_HOST=0.0.0.0 # Flask server port (default: 5000) FLASK_PORT=5000 # ===== Logging Configuration (Optional) ===== # Log level (TRACE, DEBUG, INFO, SUCCESS, WARNING, ERROR, CRITICAL) LOG_LEVEL=INFO # Log file mode: "w" to truncate on startup, "a" to append to existing file LOG_FILE_MODE=w # ===== Cache Configuration (Optional) ===== # Cache directory path (default: .agent_cache) CACHE_DIR=.agent_cache # ===== Experiment Configuration (Optional) ===== # Base directory for experiment outputs (default: experiments) EXPERIMENTS_DIR=experiments # Number of days to keep experiment results (default: 30) EXPERIMENT_RETENTION_DAYS=30