ai-chatbot/.env.example

212 lines
6.5 KiB
Plaintext

# yedir-ai environment template
# Copy this file to .env.local and fill real values locally or in your hosting platform.
# Never commit real secrets.
# -----------------------------------------------------------------------------
# Core / Auth
# -----------------------------------------------------------------------------
# Generate with: openssl rand -base64 32
AUTH_SECRET=replace-with-random-secret
# Public application URL. Required for production and self-hosted Auth.js.
AUTH_URL=https://your-domain.com
NEXTAUTH_URL=https://your-domain.com
NEXT_PUBLIC_APP_URL=https://your-domain.com
# Only enable behind a trusted reverse proxy with validated Host headers.
AUTH_TRUST_HOST=false
# Optional OAuth providers.
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# Optional initial admin provisioning.
ADMIN_EMAIL=
ADMIN_PASSWORD=
# Optional email verification.
RESEND_API_KEY=
RESEND_FROM_EMAIL=
EMAIL_VERIFICATION_SECRET=
# Optional scheduled job protection.
CRON_SECRET=
# -----------------------------------------------------------------------------
# Database
# -----------------------------------------------------------------------------
POSTGRES_URL=postgres://user:password@localhost:5432/yedir_ai
# Production-safe defaults used by lib/db/index.ts.
POSTGRES_MAX_CONNECTIONS=10
POSTGRES_IDLE_TIMEOUT_SECONDS=20
POSTGRES_CONNECT_TIMEOUT_SECONDS=5
POSTGRES_MIGRATION_TIMEOUT_SECONDS=120
# -----------------------------------------------------------------------------
# Object Storage
# -----------------------------------------------------------------------------
# Vercel Blob fallback.
BLOB_READ_WRITE_TOKEN=
# S3-compatible storage fallback. Database-configured storage takes precedence.
S3_ENDPOINT=
S3_REGION=auto
S3_BUCKET=
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_PUBLIC_URL=
# -----------------------------------------------------------------------------
# AI Providers
# -----------------------------------------------------------------------------
AI_GATEWAY_API_KEY=
NEXT_PUBLIC_DEFAULT_CHAT_MODEL=
# DashScope / Qwen OpenAI-compatible endpoint.
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
DASHSCOPE_API_KEY=
# Third-party GPT-compatible provider.
GTP5_API_URL=
GTP5_API_KEY=
GTP5_MODEL=gpt-5-nano
# FAL image/video/realtime providers.
FAL_KEY=
FAL_API_KEY=
FAL_BASE_URL=https://fal.run
FAL_MODEL=
FAL_REALTIME_MODEL=
# Realtime Canvas fallback providers.
REPLICATE_API_TOKEN=
BFL_API_KEY=
BFL_KEY=
BFL_BASE_URL=
BFL_MODEL=
RUNWARE_MODEL=
# 3D / CAD providers.
TRIPO_API_KEY=
TRIPO_BASE_URL=https://api.tripo3d.ai/v2/openapi
WORLDLABS_API_KEY=
WORLDLABS_BASE_URL=
WORLDLABS_IMPORT_TOKEN=
WORLDLABS_KEY_POOL_IMPORT_TOKEN=
WORLDLABS_API_TIMEOUT_MS=180000
WORLDLABS_TASK_CREATE_TIMEOUT_MS=180000
WORLDLABS_TASK_STATUS_TIMEOUT_MS=180000
KITTYCAD_API_TOKEN=
KITTYCAD_API_KEY=
KITTYCAD_BASE_URL=https://api.zoo.dev
ZOO_API_TOKEN=
ZOO_BASE_URL=https://api.zoo.dev
# Pascal Editor self-hosted workspace. In local development, leaving this blank
# makes /pascal-editor auto-detect http://localhost:3002. For production or a
# fixed deployment, point this to your self-hosted Pascal service or static
# /vendor/pascal-editor/index.html bundle.
NEXT_PUBLIC_PASCAL_EDITOR_URL=
PASCAL_EDITOR_URL=
# Shared only by the main app, Nginx, and the private Pascal service. Generate a
# long random value; never expose it through NEXT_PUBLIC_* variables.
PASCAL_PROXY_SECRET=
# RUXA / video callback.
RUXA_CALLBACK_URL=
RUXA_VIDEO_CALLBACK_URL=
# -----------------------------------------------------------------------------
# Product Planning Integrations
# -----------------------------------------------------------------------------
PRODUCT_PLANNING_DETAIL_PLUS_BASE_URL=
PRODUCT_PLANNING_DETAIL_PLUS_INTERNAL_BASE_URL=
PRODUCT_PLANNING_DETAIL_PLUS_API_KEY=
PRODUCT_PLANNING_QA_TOKEN=
TAOBAO_API_KEY=
TAOBAO_API_SECRET=
TAOBAO_SALE_API_TOKEN=
PRODUCT_PLANNING_DB_HOST=
PRODUCT_PLANNING_DB_PORT=3306
PRODUCT_PLANNING_DB_DATABASE=
PRODUCT_PLANNING_DB_NAME=
PRODUCT_PLANNING_DB_USER=
PRODUCT_PLANNING_DB_PASSWORD=
PRODUCT_PLANNING_DB_CHARSET=utf8mb4
PRODUCT_PLANNING_DB_SSL=false
# -----------------------------------------------------------------------------
# Home Performance / Queues
# -----------------------------------------------------------------------------
CANVAS_IMAGE_TASK_CONCURRENCY=3
CANVAS_IMAGE_TASK_BATCH_DISPATCH_INTERVAL_MS=1000
EXTERNAL_IMAGE_API_MAX_CONCURRENT=3
EXTERNAL_IMAGE_API_MAX_QUEUE=20
EXTERNAL_IMAGE_API_QUEUE_TIMEOUT_MS=120000
# Browser direct uploads use signed OSS/S3 URLs. Configure CORS and lifecycle
# with the scripts below after changing the default storage bucket.
DIRECT_UPLOAD_CORS_ORIGINS=https://ai.yydd.ai,https://yydd.ai
DIRECT_UPLOAD_ABORT_INCOMPLETE_DAYS=2
DIRECT_UPLOAD_LIFECYCLE_PREFIX=uploads/direct/
DIRECT_UPLOAD_LIFECYCLE_RULE_ID=abort-incomplete-direct-upload-parts
# -----------------------------------------------------------------------------
# Agent / PSD Runtime
# -----------------------------------------------------------------------------
AGENT_FORCE_LLM_PLANNER=false
AGENT_FORCE_QWEN3VL_FALLBACK=false
AGENT_IMAGE_GEN_LLM_OPTIMIZER_ENABLED=true
AGENT_LLM_PROMPT_OPTIMIZER_ENABLED=true
AGENT_REPLACEMENT_PARALLEL_WORKER_COUNT=2
AGENT_PSD_LOCAL_CACHE_DIR=
AGENT_PSD_REMOTE_ASSET_CACHE_DISABLED=false
AGENT_PSD_REMOTE_ASSET_CACHE_MAX_BYTES=
AGENT_PSD_REMOTE_ASSET_CACHE_MAX_ENTRY_BYTES=
AGENT_PSD_REMOTE_ASSET_CACHE_TTL_MS=
AGENT_PSD_RENDER_PNG_COMPRESSION_LEVEL=6
AGENT_PSD_RENDER_TASK_CONCURRENCY=2
NEXT_PUBLIC_AGENT_STYLE_PERF_MONITOR=true
NEXT_PUBLIC_AGENT_STYLE_PERF_SAMPLE_RATE=0.01
NEXT_PUBLIC_AGENT_STYLE_OPTIMIZED_RENDER=true
# -----------------------------------------------------------------------------
# Logging / Observability
# -----------------------------------------------------------------------------
# debug | info | warn | error | silent
LOG_LEVEL=info
# Stack traces remain disabled in production unless explicitly enabled.
LOG_INCLUDE_STACK=false
# Client logs are silent in production unless this is true.
NEXT_PUBLIC_ENABLE_CLIENT_LOGS=false
# -----------------------------------------------------------------------------
# Optional Jobs
# -----------------------------------------------------------------------------
VIDEO_ARCHIVE_DELAY_HOURS=24
# -----------------------------------------------------------------------------
# Test / Local Dev
# -----------------------------------------------------------------------------
PORT=3001
PLAYWRIGHT=false
CI_PLAYWRIGHT=false
PLAYWRIGHT_TEST_BASE_URL=http://127.0.0.1:3001
SMOKE_BASE_URL=http://127.0.0.1:3001
SMOKE_TIMEOUT_MS=20000
DISABLE_PERF_GUARD_AUTO_INSTALL=false