# Telegram BOT_TOKEN=your_bot_token_here ADMIN_TELEGRAM_ID=123456789,987654321 # rich_markdown (Bot API Rich Messages) or legacy (plain Markdown parse mode) TELEGRAM_MESSAGE_FORMAT=rich_markdown # Per-user memory files (user.md, soul.md, memory.md) injected into agent prompts USER_MEMORY_ENABLED=true # TELEGRAM_LIVE_TOOL_DEBOUNCE_SECONDS=0.4 # TELEGRAM_LIVE_TOOL_EXPANDABLE=true — expandable blockquote (default: plain quote) # PostgreSQL DATABASE_URL=postgresql+asyncpg://tca:tca_secret@postgres:5432/telegram_cursor_agent # Redis REDIS_URL=redis://redis:6379/0 # Cursor CLI CURSOR_CLI_PATH=cursor-agent CURSOR_AUTH_FILE=/root/.config/cursor/auth.json CURSOR_ACCOUNTS_FILE=/root/.cursor-accounts/accounts.json CURSOR_ACCOUNTS_DIR=/root/.cursor-accounts CURSOR_ACCOUNT_LOGIN_TIMEOUT_SECONDS=600 TASK_TIMEOUT=3600 CURSOR_AGENT_MAX_OUTPUT_BYTES=65536 CURSOR_MCP_CONFIG_PATH=/root/.cursor/mcp.json CURSOR_APPROVE_MCPS=true MCP_SETUP_TTL_SECONDS=3600 DEPLOY_RECOVERY_DELAY_SECONDS=3 # Project roots PROJECTS_ROOT=/workspace PROJECT_SEARCH_ROOTS=/workspace,/projects ALLOWED_PROJECT_ROOTS=/workspace,/projects # Self-deploy (host worker + docker bot) SANDBOX_OPEN=false SELF_DEPLOY_ENABLED=false SELF_REPO_ROOT=/root/telegram-cursor-agent AGENT_WORKSPACE=/ DEPLOY_SCRIPT=/root/telegram-cursor-agent/scripts/deploy-self.sh WORKER_SERVICE_NAME=telegram-cursor-agent-worker BOT_COMPOSE_SERVICE=bot PROJECT_FILE_SIGNATURES=package.json,pyproject.toml,Cargo.toml,go.mod,pom.xml,build.gradle,Gemfile,composer.json # Security / sandbox ALLOWED_COMMAND_PREFIXES=git,ls,cat,head,tail,find,grep,python,python3,pip,node,npm,yarn,pnpm,cargo,go,make FORBIDDEN_PATH_SEGMENTS=.git,.env,node_modules,__pycache__,.ssh,.aws UPLOAD_STORAGE_PATH=/data/uploads UPLOAD_HOST_PATH=/root/telegram-cursor-agent/data/uploads MAX_UPLOAD_BYTES=10485760 # Confirmation workflow CONFIRMATION_TTL_SECONDS=300 # Logging LOG_LEVEL=INFO LOG_JSON=false # Application APP_ENV=production # Legacy aliases (optional, still supported) # TELEGRAM_BOT_TOKEN= # TELEGRAM_ADMIN_IDS= # WORKSPACE_BASE= # PROJECT_DISCOVERY_ROOTS= # CURSOR_AGENT_BIN= # CURSOR_AGENT_TIMEOUT_SECONDS=