Como configurar
# Edita con tu editor preferido
El fichero .env esta en .gitignore — nunca se sube al repositorio.
LLM Provider
| Variable | Default | Descripcion |
|---|
LLM_PROVIDER | ollama | Proveedor de LLM: ollama, openai, o anthropic |
OLLAMA_MODEL | qwen3:14b | Modelo Ollama — debe soportar tool calling |
OLLAMA_BASE_URL | http://localhost:11434 | URL del servidor Ollama |
OPENAI_MODEL | gpt-4o | Modelo OpenAI (si provider=openai) |
OPENAI_API_KEY | — | API key de OpenAI |
ANTHROPIC_MODEL | claude-3-5-sonnet-20241022 | Modelo Anthropic (si provider=anthropic) |
ANTHROPIC_API_KEY | — | API key de Anthropic |
API Keys de OSINT
| Variable | Servicio | Free tier |
|---|
VIRUSTOTAL_API_KEY | VirusTotal | 500 req/dia |
ABUSEIPDB_API_KEY | AbuseIPDB | 1.000 req/dia |
ALIENVAULT_OTX_API_KEY | AlienVault OTX | Ilimitado |
SHODAN_API_KEY | Shodan | 100 req/mes |
IPINFO_TOKEN | IPInfo | 50.000 req/mes |
URLSCAN_API_KEY | URLScan.io | 5.000 req/dia |
FRED_API_KEY | FRED (Federal Reserve) | Gratuito |
EIA_API_KEY | EIA (Energy) | Gratuito |
CLOUDFLARE_API_TOKEN | Cloudflare Radar | Gratuito |
ACLED_ACCESS_TOKEN | ACLED | Gratuito (investigacion) |
ACLED_EMAIL | ACLED (requerido junto al token) | — |
AISSTREAM_API_KEY | AISStream (trafico maritimo) | Gratuito |
Comportamiento OSINT
| Variable | Default | Descripcion |
|---|
CACHE_TTL_SECONDS | 86400 | Duracion del cache de resultados (24 horas) |
MAX_PIVOTS | 2 | Profundidad maxima de auto-pivot |
THREAT_FEED_LIMIT | 10 | Maximos IOCs por fetch de feed |
BATCH_DELAY_SECONDS | 2 | Pausa entre IOCs en modo batch (rate limiting) |
Puertos de servidores
| Variable | Default | Descripcion |
|---|
MCP_TRANSPORT | stdio | Transporte MCP: stdio o streamable-http |
MCP_HTTP_PORT | 8080 | Puerto HTTP para MCP streamable-http |
A2A_HOST | 0.0.0.0 | Interfaz de escucha del servidor A2A |
A2A_PORT | 9000 | Puerto del servidor A2A |
Investigaciones
| Variable | Default | Descripcion |
|---|
INVESTIGATION_DB_PATH | data/osint_ai.db | Ruta de la base de datos SQLite de investigaciones |
CHROMA_PATH | data/chroma | Almacenamiento persistente de ChromaDB |
INVESTIGATIONS_DIR | investigaciones | Directorio raiz de las carpetas de investigacion |
EMBEDDING_MODEL | sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 | Modelo de embeddings para busqueda semantica |
ACTIVE_INVESTIGATIONS_LIMIT | 5 | Maximas investigaciones activas simultaneas |
MONTHLY_OPERATIONS_LIMIT | 100 | Cuota mensual de operaciones |
Cache OSINT
| Variable | Default | Descripcion |
|---|
OSINT_CACHE_DB_PATH | data/osint_cache.db | Ruta de la base de datos de cache OSINT |
Ejemplo completo de .env
OLLAMA_BASE_URL=http://localhost:11434
VIRUSTOTAL_API_KEY=tu_clave_virustotal
ABUSEIPDB_API_KEY=tu_clave_abuseipdb
ALIENVAULT_OTX_API_KEY=tu_clave_alienvault
SHODAN_API_KEY=tu_clave_shodan
IPINFO_TOKEN=tu_token_ipinfo
URLSCAN_API_KEY=tu_clave_urlscan
FRED_API_KEY=tu_clave_fred
CLOUDFLARE_API_TOKEN=tu_token_cloudflare
ACLED_ACCESS_TOKEN=tu_token_acled
AISSTREAM_API_KEY=tu_clave_aisstream
# === Investigaciones ===
INVESTIGATION_DB_PATH=data/osint_ai.db
INVESTIGATIONS_DIR=investigaciones
ACTIVE_INVESTIGATIONS_LIMIT=5
MONTHLY_OPERATIONS_LIMIT=100