Overview
Shannon is configured through environment variables and YAML configuration files. This guide documents all available configuration options.Configuration Files
Shannon uses multiple configuration approaches:.envfile: Environment variables (this document)config/features.yaml: Feature flags and togglesconfig/models.yaml: LLM model definitions and pricing- Docker Compose: Service orchestration and networking
Setup
Core Runtime
Essential variables for all deployments.
Example:
LLM Provider API Keys
At least one provider must be configured.
AWS Bedrock Configuration:
Example:
Web Search Providers
Optional but highly recommended for research and data gathering tasks.
Provider-Specific Keys:
Example:
Data Stores
Configuration for PostgreSQL, Redis, and Qdrant.PostgreSQL
Redis
Qdrant (Vector Database)
Example:
Service Endpoints
Internal service URLs for communication.
Config File Paths:
Model Routing & Budgets
Control LLM selection, token limits, and cost management.
Example - Cost-Optimized:
Cache & Rate Limiting
Performance and cost optimization through caching and rate limits.
Cache Behavior:
- Responses are cached by semantic similarity
- Cache key: SHA256 hash of (prompt + model + temperature)
- TTL: Controlled by
REDIS_TTL_SECONDS
Tool Execution & Workflow Controls
Fine-tune parallelism, timeouts, and execution behavior.
Circuit Breaker Settings:
Performance Tuning:
Approvals & Security
Human-in-the-loop and authentication settings.
Security Best Practices:
Python WASI Sandbox
Secure Python code execution environment.
Setup:
OpenAPI & MCP Integrations
External tool and API integration settings.OpenAPI Tools
MCP (Model Context Protocol)
Example - Restricted:
Observability & Telemetry
Metrics, tracing, and logging configuration.
Prometheus Endpoints:
- Orchestrator:
http://localhost:2112/metrics - Agent Core:
http://localhost:2113/metrics - LLM Service:
http://localhost:8000/metrics
Advanced Orchestrator Controls
Low-level tuning for Temporal workers and orchestrator behavior.Worker Concurrency
Event & Circuit Settings
Performance Tuning:
Miscellaneous
Additional configuration options.Configuration Profiles
Development Profile
Staging Profile
Production Profile
Hot-Reload Support
Most configuration changes require a service restart:- ✅ Feature flags (
config/features.yaml) - ✅ Model configuration (
config/models.yaml)
- ❌ Environment variables (
.env) - ❌ Database credentials
- ❌ Service endpoints
Validation & Testing
Verify Configuration
Configuration Debugging
Security Checklist
Production Deployment Checklist
Production Deployment Checklist
- Change
JWT_SECRETto strong random value - Enable authentication (
GATEWAY_SKIP_AUTH=0) - Set strong database passwords
- Enable Redis authentication
- Use SSL for PostgreSQL (
POSTGRES_SSLMODE=require) - Enable approvals (
APPROVAL_ENABLED=true) - Restrict
OPENAPI_ALLOWED_DOMAINS - Restrict
MCP_ALLOWED_DOMAINS - Enable structured logging (
LOG_FORMAT=json) - Set up monitoring (
OTEL_ENABLED=true) - Configure budget limits appropriately
- Review worker concurrency for your load
- Backup
.envfile securely
Related Topics
Installation
Initial setup guide
Troubleshooting
Common configuration issues
Cost Control
Budget management
Monitoring
Observability setup