All WASP configuration is handled by Pydantic Settings (src/config.py). Values are read from environment variables, with defaults provided for optional settings.
Connection Settings
| Variable | Default | Description |
|---|
REDIS_URL | redis://agent-redis:6379/0 | Redis connection URL |
DATABASE_URL | — | PostgreSQL connection URL (auto-set by compose) |
OLLAMA_BASE_URL | http://agent-ollama:11434 | Ollama API URL |
TIMEZONE | America/Santiago | Agent local timezone (IANA format) |
AI Providers
| Variable | Description |
|---|
OPENAI_API_KEY | OpenAI API key |
ANTHROPIC_API_KEY | Anthropic API key |
GOOGLE_API_KEY | Google Gemini API key |
XAI_API_KEY | xAI Grok API key |
XAI_BASE_URL | xAI base URL (default: https://api.x.ai/v1) |
MISTRAL_API_KEY | Mistral AI API key |
DEEPSEEK_API_KEY | DeepSeek API key |
OPENROUTER_API_KEY | OpenRouter API key |
PERPLEXITY_API_KEY | Perplexity API key |
HUGGINGFACE_API_KEY | HuggingFace Inference API key |
LMSTUDIO_BASE_URL | LM Studio base URL (empty = disabled) |
MOONSHOT_API_KEY | Kimi/Moonshot AI API key |
Gmail
| Variable | Description |
|---|
GMAIL_ADDRESS | Gmail address for the agent |
GMAIL_APP_PASSWORD | Gmail App Password |
Skills
| Variable | Default | Description |
|---|
SKILLS_ENABLED | true | Enable the skill system |
SKILLS_MAX_ROUNDS | 3 | Base skill rounds (overridden by Sovereign Mode) |
Scheduler
| Variable | Default | Description |
|---|
SCHEDULER_ENABLED | true | Enable background scheduler |
SCHEDULER_HEALTH_CHECK_INTERVAL | 300 | Health check interval (seconds) |
SCHEDULER_REFLECTION_INTERVAL | 21600 | Memory reflection interval (6 hours) |
SCHEDULER_MEMORY_CLEANUP_INTERVAL | 86400 | Memory cleanup interval (24 hours) |
SCHEDULER_SNAPSHOT_INTERVAL | 86400 | Snapshot interval (24 hours) |
SCHEDULER_NOTIFY_CHAT_ID | — | Telegram chat ID for notifications |
SCHEDULER_PROACTIVE_INTERVAL | 3600 | Proactive message interval (1 hour) |
PROACTIVE_QUIET_START | 23 | Quiet hours start (11 PM) |
PROACTIVE_QUIET_END | 8 | Quiet hours end (8 AM) |
PROACTIVE_MAX_DAILY | 6 | Max proactive messages per day |
Dashboard
| Variable | Default | Description |
|---|
DASHBOARD_ENABLED | true | Enable the web dashboard |
DASHBOARD_PORT | 8080 | Dashboard listen port |
DASHBOARD_HOST | 0.0.0.0 | Dashboard listen host |
DASHBOARD_SECRET | — | Required. Login password (min 16 chars) |
The DASHBOARD_SECRET is validated at startup — values shorter than 16 characters cause a startup failure with a clear error message.
Goal Engine
| Variable | Default | Description |
|---|
GOAL_ENGINE_ENABLED | true | Enable autonomous goal execution |
GOAL_TICK_INTERVAL | 15 | Seconds between goal ticks |
GOAL_MAX_CONCURRENT | 3 | Max concurrent goals |
GOAL_DEFAULT_MAX_STEPS | 50 | Max task steps per goal |
GOAL_DEFAULT_MAX_RUNTIME | 3600 | Max goal runtime (1 hour) |
GOAL_BUDGET_MAX_TOKENS_PLANNING | 4000 | Planning token budget |
GOAL_BUDGET_MAX_TOKENS_EXECUTION | 20000 | Execution token budget |
GOAL_BUDGET_MAX_REPLANS | 5 | Max replans per goal |
GOAL_BUDGET_MAX_MEMORY_BYTES | 1048576 | Working memory limit (1 MiB) |
GOAL_DEFAULT_AUTONOMY_MODE | full | Autonomy mode (full/semi/assist) |
GOAL_META_REFLECTION_INTERVAL | 300 | Goal meta-reflection interval |
GOAL_CPU_BACKPRESSURE_THRESHOLD | 85.0 | CPU % to pause goal work |
| Variable | Default | Description |
|---|
INTEGRATIONS_ENABLED | true | Enable integration platform |
INTEGRATIONS_POLICY_MODE | semi | Default autonomy policy |
INTEGRATIONS_CB_FAILURE_THRESHOLD | 5 | Circuit breaker trip threshold |
INTEGRATIONS_CB_RECOVERY_TIMEOUT | 60.0 | Circuit breaker recovery (seconds) |
Sovereign Mode
| Variable | Default | Description |
|---|
SOVEREIGN_MODE | false (env default: true) | Enable Sovereign Mode |
When SOVEREIGN_MODE=true:
MAX_SKILL_ROUNDS raised to 12 (from 8)
⚡ SOVEREIGN MODE ACTIVE injected into system prompt
- Risk assessments are warn-only (not blocking)
- All autonomy limits maximized
Multi-Agent Orchestration
| Variable | Default | Description |
|---|
AGENTS_ENABLED | true | Enable multi-agent system |
AGENTS_MAX_ACTIVE | 10 | Max active agents |
AGENTS_MAX_CONCURRENT_STEPS | 5 | Max concurrent agent steps |
AGENTS_CPU_THRESHOLD | 85.0 | CPU % to pause agent work |
AGENTS_GLOBAL_TOKEN_BUDGET_PER_MINUTE | 100000 | Global token rate limit |
AGENTS_TICK_INTERVAL | 15 | Agent tick interval (seconds) |
Redis Streams
| Variable | Default | Description |
|---|
STREAM_INCOMING | events:incoming | Incoming events stream |
STREAM_OUTGOING | events:outgoing | Outgoing events stream |
CONSUMER_GROUP | agent-core-group | Consumer group name |
CONSUMER_NAME | core-1 | Consumer name |
Cognitive Systems (Next-Gen)
| Variable | Default | Description |
|---|
VECTOR_MEMORY_ENABLED | false | Enable semantic vector search |
VECTOR_TOP_K | 8 | Number of vector search results |
VECTOR_EMBED_MODEL | nomic-embed-text | Embedding model for Ollama |
PLAN_CRITIC_ENABLED | true | Enable plan critic validation |
PLAN_CRITIC_MAX_TOKENS | 1200 | Plan critic token budget |
META_AGENT_ENABLED | false | Enable meta-agent supervisor |
META_AGENT_MAX_TEAM_SIZE | 5 | Max agents in a meta-team |
WORLD_MODEL_ENABLED | true | Enable world state tracking |
SKILL_EVOLUTION_ENABLED | true | Enable automatic skill synthesis |
SKILL_PATTERN_THRESHOLD | 5 | Min occurrences for skill synthesis |
TEMPORAL_REASONING_ENABLED | true | Enable temporal insights |
TEMPORAL_REASONING_MAX_INSIGHTS | 5 | Max insights in context |
Logging
| Variable | Default | Description |
|---|
LOG_LEVEL | INFO | Log verbosity: DEBUG, INFO, WARNING, ERROR |
WASP uses structlog for structured JSON logging with ISO timestamps.