LLM
Variable Type Default Description LLM_PROVIDERstring ollamaollama | openai | anthropicOLLAMA_MODELstring qwen3:14bOllama model with tool calling support OLLAMA_BASE_URLstring http://localhost:11434URL of Ollama server OPENAI_MODELstring gpt-4oOpenAI model OPENAI_API_KEYstring — OpenAI API key ANTHROPIC_MODELstring claude-3-5-sonnet-20241022Anthropic model ANTHROPIC_API_KEYstring — Anthropic API key
OSINT API Keys
Variable Service Free tier VIRUSTOTAL_API_KEYVirusTotal 500 req/day ABUSEIPDB_API_KEYAbuseIPDB 1,000 req/day ALIENVAULT_OTX_API_KEYAlienVault OTX Unlimited SHODAN_API_KEYShodan 100 req/month IPINFO_TOKENIPInfo 50,000 req/month URLSCAN_API_KEYURLScan.io 5,000 req/day FRED_API_KEYFRED Free EIA_API_KEYEIA Free CLOUDFLARE_API_TOKENCloudflare Radar Free ACLED_ACCESS_TOKENACLED Free (research) ACLED_EMAILACLED Required with token AISSTREAM_API_KEYAISStream Free
OSINT Behavior
Variable Type Default Description CACHE_TTL_SECONDSint 86400Result cache TTL (seconds) MAX_PIVOTSint 2Maximum depth of auto-pivot THREAT_FEED_LIMITint 10Max IOCs per feed fetch BATCH_DELAY_SECONDSfloat 2Pause between IOCs in batch
Data Paths
Variable Type Default Description OSINT_CACHE_DB_PATHpath data/osint_cache.dbOSINT cache SQLite INVESTIGATION_DB_PATHpath data/osint_ai.dbInvestigations SQLite CHROMA_PATHpath data/chromaChromaDB directory INVESTIGATIONS_DIRpath investigacionesRoot directory for investigations
Embeddings
Variable Type Default Description EMBEDDING_MODELstring sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2Embedding model for ChromaDB
Quotas
Variable Type Default Description ACTIVE_INVESTIGATIONS_LIMITint 5Max active investigations simultaneously MONTHLY_OPERATIONS_LIMITint 100Monthly operations quota
Servers
Variable Type Default Description MCP_TRANSPORTstring stdiostdio | streamable-httpMCP_HTTP_PORTint 8080HTTP port for MCP A2A_HOSTstring 0.0.0.0A2A listening interface A2A_PORTint 9000A2A server port
Reading variables in code
The system uses Pydantic Settings (src/config.py). Variables are read at startup and validated with types. If a required variable is missing, startup fails with a clear message.
from src.config import settings
print ( settings.virustotal_api_key )
print ( settings.cache_ttl_seconds )
print ( settings.ollama_model )