-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
126 lines (104 loc) · 4.49 KB
/
.env.example
File metadata and controls
126 lines (104 loc) · 4.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# PolyAgent Platform Environment Configuration
# LLM Provider API Keys
OPENAI_API_KEY=your_openai_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
GROQ_API_KEY=your_groq_api_key_here
GOOGLE_API_KEY=your_google_api_key_here
MISTRAL_API_KEY=your_mistral_api_key_here
DEEPINFRA_API_KEY=your_deepinfra_api_key_here
COMPLEXITY_MODEL_ID=gpt-4o-mini
DECOMPOSITION_MODEL_ID=gpt-4o
# Web Search Configuration
# Choose provider: google|serper|bing|exa|firecrawl (default: google)
WEB_SEARCH_PROVIDER=google
# Google Custom Search (https://developers.google.com/custom-search) - Most widely used
# Requires both API key and Search Engine ID
GOOGLE_API_KEY=your_google_api_key_here
GOOGLE_SEARCH_ENGINE_ID=your_google_search_engine_id_here
# Serper API (https://serper.dev) - Fast and affordable
# Simple Google search results API
SERPER_API_KEY=your_serper_api_key_here
# Bing Search API (Azure Cognitive Services)
# Enterprise-grade search from Microsoft
BING_API_KEY=your_bing_api_key_here
# Exa API (https://exa.ai)
# Semantic neural search optimized for AI
EXA_API_KEY=your_exa_api_key_here
# Firecrawl API (https://firecrawl.dev)
# Web search with integrated scraping
FIRECRAWL_API_KEY=your_firecrawl_api_key_here
# Database Configuration (usually not changed)
POSTGRES_USER=shannon
POSTGRES_PASSWORD=shannon
POSTGRES_DB=shannon
# Redis Configuration
# Leave empty for no password (development only)
REDIS_PASSWORD=
# Temporal Configuration
TEMPORAL_HOST=temporal
TEMPORAL_PORT=7233
# Service URLs (for development/testing)
LLM_SERVICE_URL=http://llm-service:8000
AGENT_CORE_URL=agent-core:50051
# Workflow orchestration
# Bypass synthesis when there's only one successful result
WORKFLOW_SYNTH_BYPASS_SINGLE=true
# Rust Agent Core Enforcement Overrides
# Per-request timeout in seconds (default 30)
ENFORCE_TIMEOUT_SECONDS=30
# Max tokens per request (estimated; default 4096)
ENFORCE_MAX_TOKENS=4096
# Rate limit per key (requests per second; default 10)
ENFORCE_RATE_RPS=10
# Circuit breaker settings
# Open circuit if error rate exceeds this threshold in the rolling window (default 0.5)
ENFORCE_CB_ERROR_THRESHOLD=0.5
# Rolling window in seconds (default 30)
ENFORCE_CB_WINDOW_SECONDS=30
# Minimum requests before evaluating error rate (default 20)
ENFORCE_CB_MIN_REQUESTS=20
# Optional: Redis-backed distributed rate limiting (per-key global RPS)
# When set, Rust uses Redis for the rate limiter; otherwise memory-only per instance
ENFORCE_RATE_REDIS_URL=redis://redis:6379
ENFORCE_RATE_REDIS_PREFIX=rate:
ENFORCE_RATE_REDIS_TTL=60
# Agent Runtime
# Number of concurrent tool executions (1=sequential, >1=parallel)
TOOL_PARALLELISM=3
# Enable automatic tool selection via LLM service (1=enabled, 0=disabled)
ENABLE_TOOL_SELECTION=1
# Priority Queue Configuration
# Enable priority-based task queues (on/off)
PRIORITY_QUEUES=off
# ==========================================
# MCP Integration (Developer Preview)
# ==========================================
# MCP_ALLOWED_DOMAINS=localhost,127.0.0.1 # Comma-separated allowed MCP hosts
# MCP_MAX_RESPONSE_BYTES=10485760 # Max response size (10MB default)
# MCP_RETRIES=3 # Retry attempts with exponential backoff
# MCP_TIMEOUT_SECONDS=10 # Request timeout per MCP call
# MCP_REGISTER_TOKEN= # Optional token to protect registration API
# MCP Tool API Keys (used in config/shannon.yaml via ${VAR_NAME})
# Examples - uncomment and add your keys:
# WEATHER_API_KEY=your_weather_api_key_here
# GAODE_API_KEY=your_gaode_maps_key_here
# TRANSLATION_API_KEY=your_translation_key_here
# STOCK_API_KEY=your_stock_market_key_here
# ==========================================
# WASI Python Interpreter Configuration
# ==========================================
# Path to Python WASI interpreter for sandboxed Python execution
# Download with: ./scripts/setup_python_wasi.sh
# Or manually from: https://github.com/vmware-labs/webassembly-language-runtimes/releases
PYTHON_WASI_WASM_PATH=/opt/wasm-interpreters/python-3.11.4.wasm
# Alternative: Use base64-encoded WASM (for smaller deployments)
# PYTHON_WASI_WASM_BASE64=<base64-encoded-python-wasm>
# ==========================================
# Gateway Configuration
# ==========================================
# JWT secret for API authentication (IMPORTANT: Change in production!)
# Generate a secure secret with: openssl rand -hex 32
JWT_SECRET=development-only-secret-change-in-production
# Skip authentication for development (1=skip, 0=enable)
# WARNING: Set to 0 in production!
GATEWAY_SKIP_AUTH=1