cmw-copilot / .env.example
arterm-sedov
Update .env.example to streamline configuration settings
ee398ad
HUGGINGFACE_API_KEY=XXX
GEMINI_KEY=XXX
GROQ_API_KEY=XXX
TAVILY_API_KEY=XXX
OPENROUTER_API_KEY=XXX
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
# Fetch OpenRouter pricing at startup (true|false). If false, uses pricing defaults from LLM_CONFIGS.
OPENROUTER_FETCH_PRICING_AT_STARTUP=true
MISTRAL_API_KEY=XXX
# Required GigaChat params
GIGACHAT_API_KEY=XXX
GIGACHAT_SCOPE=XXX
GIGACHAT_VERIFY_SSL=XXX
# Optional
GIGACHAT_BASE_URL=https://gigachat.sberdevices.ru/v1
GIGACHAT_TIMEOUT=30
AGENT_PROVIDER=openrouter
# Optional: Specific model name to use (e.g., "deepseek/deepseek-v3.1-terminus" for openrouter)
# If not set, uses the first model (index 0) for the selected provider
AGENT_DEFAULT_MODEL=deepseek/deepseek-v3.1-terminus:exacto
## Comma-separated allowlist of enabled providers (empty/unset = allow all)
LLM_ALLOWED_PROVIDERS=gemini,groq,huggingface,openrouter,mistral,gigachat
# History compression configuration
# Enable semantic history compression by default (true|false)
HISTORY_COMPRESSION_ENABLED=false
# Fallback model configuration
# Master switch for showing and using fallback model controls (true|false)
ENABLE_FALLBACK_MODEL=false
# Default fallback model name used when available; must belong to current provider
# Example for OpenRouter: deepseek/deepseek-v3.2-speciale
FALLBACK_MODEL_DEFAULT=qwen/qwen-plus-2025-07-28
GRADIO_DEFAULT_LANGUAGE=ru
GRADIO_DEFAULT_PORT=7860
CMW_DEBUG_MODE=false
CMW_VERBOSE_LOGGING=false
GRADIO_CONCURRENCY_LIMIT=1
GRADIO_MAX_THREADS=100
GRADIO_ENABLE_QUEUE=true
CHAT_CONCURRENCY_LIMIT=1
STATS_CONCURRENCY_LIMIT=5
FILE_CONCURRENCY_LIMIT=2
LOGS_CONCURRENCY_LIMIT=5
ENABLE_CONCURRENT_PROCESSING=true
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=your_langsmith_api_key_here
LANGSMITH_WORKSPACE_ID=your_workspace_id_here # Optional
LANGSMITH_PROJECT=cmw-agent # Optional
LANGFUSE_ENABLED=true
LANGFUSE_SECRET_KEY=XXX
LANGFUSE_PUBLIC_KEY=XXX
LANGFUSE_HOST=https://cloud.langfuse.com
# Max tool-call iterations per turn (streaming agent)
LANGCHAIN_MAX_TOOL_CALL_ITERATIONS=25
# Comindware Platform server connection settings
CMW_BASE_URL=http://your-host/
CMW_LOGIN=your_api_user
CMW_PASSWORD=your_api_user_password
CMW_TIMEOUT=60
CMW_USE_DOTENV=false
# Refresh interval for UI components
UI_REFRESH_INTERVAL=15.0
ITERATION_REFRESH_INTERVAL=2.0
# Logging config
# Global minimum log level: DEBUG | INFO | WARNING | ERROR | CRITICAL
LOG_LEVEL=INFO
# Text output format preset: simple | verbose
# - simple: time level logger: message
# - verbose: includes filename:line (and optionally process/thread below)
LOG_FORMAT=simple
# Max length of a single log line on console (truncate beyond)
LOG_CONSOLE_MAX_LENGTH=400
# Emit JSON lines instead of text (true|false)
LOG_JSON=false
# Optional file output (leave empty for console-only)
# Example: logs/app.log
# Default log file for the agent
LOG_FILE=cmw-agent.log
# Rotate file when LOG_FILE is set (true|false)
LOG_ROTATE=true
# Max size per rotated file in bytes (default 1MB)
LOG_MAX_BYTES=1048576
# Number of rotated files to keep
LOG_BACKUP_COUNT=5
# Propagate messages to ancestor loggers (true|false)
LOG_PROPAGATE=true
# Include process id in verbose format (true|false)
LOG_INCLUDE_PROCESS=false
# Include thread name in verbose format (true|false)
LOG_INCLUDE_THREAD=false
# Force reconfigure logging at startup (true|false)
# Use when hot-reloading or changing handlers dynamically
LOG_FORCE=false