# ===== LLM — production uses Volcengine Ark over the OpenAI-compatible protocol ===== RESUME_AGENT_LLM_PROVIDER=volcengine VOLCENGINE_API_KEY= VOLCENGINE_BASE_URL=https://ark.cn-beijing.volces.com/api/v3 # A plain model name (as below) or an Ark inference endpoint ID (ep-xxxxxxxx) both work. VOLCENGINE_MODEL=deepseek-v4-flash-260425 # Alternative: any OpenAI-compatible gateway. With provider=auto the LLM is used # only when OPENAI_API_KEY is non-empty; otherwise requests fall back to rules. # RESUME_AGENT_LLM_PROVIDER=openai # OPENAI_API_KEY= # OPENAI_BASE_URL=https://api.openai.com/v1 # OPENAI_MODEL=gpt-4o-mini # The Ark gateway requires json_object; switch back to json_schema if your # upstream supports it. OPENAI_STRUCTURED_OUTPUT_MODE=json_object OPENAI_TIMEOUT_SECONDS=30 OPENAI_MAX_RETRIES=2 OPENAI_STRUCTURED_OUTPUT_RETRIES=1 # false = LLM failures surface as errors (current production value); # true = silently fall back to rule-based output. RESUME_AGENT_LLM_FALLBACK_TO_RULES=false # Builder chat intent routing: off = rules only, shadow = LLM logs but does not # act, on = LLM rescue enabled (current production value). RESUME_AGENT_INTENT_ROUTER_MODE=on # RESUME_AGENT_INTENT_MODEL= # dedicated intent-classifier model; defaults to the main model # ===== Database — PostgreSQL is required at runtime (create_app fails without it) ===== DATABASE_URL=postgresql+psycopg://resume_agent:change-me@127.0.0.1:5435/resume_agent RESUME_AGENT_TEST_DATABASE_URL=postgresql+psycopg://resume_agent:change-me@127.0.0.1:5435/resume_agent_test # Schema the tables live in; defaults to resume_agent. Set per environment when # several deployments share one database. # RESUME_AGENT_DATABASE_SCHEMA=resume_agent # ===== Optional ===== # RESUME_AGENT_CORS_ORIGINS=http://localhost:5173,http://127.0.0.1:5173 # Light-optimization rate limit: 20 requests per user per 3600 s window (defaults). # RESUME_AGENT_LIGHT_OPT_RATE_LIMIT=20 # RESUME_AGENT_LIGHT_OPT_RATE_WINDOW_SECONDS=3600 # Keep secrets only in .env; .env is ignored by Git.