# ───────────────────────────────────────────────────────────── # whatsapp-agent — environment template # Copy to .env and fill in real values. Do NOT commit .env. # ───────────────────────────────────────────────────────────── # --- LLM providers (use as needed) --- # OpenAI: https://platform.openai.com/api-keys OPENAI_API_KEY=sk-... # Google Gemini (AI Studio): https://aistudio.google.com/app/apikey GEMINI_API_KEY=AIza... # --- Web research / citations (optional) --- # Tavily (clean LLM-oriented search + sources): https://app.tavily.com # If left blank, fall back to Gemini's Google Search grounding. TAVILY_API_KEY=tvly-... # --- App config --- # Which provider drives summarization: openai | gemini LLM_PROVIDER=openai OPENAI_MODEL=gpt-4o-mini GEMINI_MODEL=gemini-1.5-flash # --- Commands & reminders --- # Explicit keyword routing: save / ask / remind / list / find / done / help. # A message with no keyword is researched (the default). Set false to disable. COMMANDS_ENABLED=true # Timezone for showing reminder/saved times (IANA name). On AWS the box is UTC, # so set this to your zone, e.g. Asia/Kolkata. AGENT_TZ=Asia/Kolkata # REMINDERS_ENABLED=true # REMINDERS_POLL_MS=30000 # --- Web dashboard (plain HTML at http://:WEB_PORT) --- # With NO password it binds to localhost only. Set a password to expose it on # your server IP (and open the port in your EC2 security group). WEB_ENABLED=true WEB_PORT=8080 WEB_USER=admin # WEB_PASSWORD=change-me-to-expose-the-dashboard # WEB_HOST=0.0.0.0 # Where saved items / reminders are stored (defaults next to the session; # /data/agent-data.json in the Docker image). # DB_PATH= # --- Reel / video transcription (Whisper; needs OPENAI_API_KEY) --- TRANSCRIBE_MEDIA=true WHISPER_MODEL=whisper-1 # Instagram reel audio needs login cookies (a server has no browser). # Export a Netscape cookies.txt and point here to enable it. # YTDLP_COOKIES_FILE= # --- Advanced / hosting (sensible defaults; usually leave unset) --- # Force IPv4: auto (Windows only) | true | false. Leave default on Linux/AWS. # NET_FORCE_IPV4=auto # Set by the Docker image to system Chromium; override only if needed. # PUPPETEER_EXECUTABLE_PATH= # Where the WhatsApp session is stored (the image sets /data/.wwebjs_auth). # WWEBJS_AUTH_PATH= # Comma-separated plugin names to disable without a rebuild (e.g. watch,digest). PLUGINS_DISABLED= # --- Morning AI digest --- # Daily digest of ~55 AI sources into your self-chat. See src/newsSources.js. NEWS_ENABLED=true # HH:MM in AGENT_TZ. NEWS_DIGEST_TIME=08:00 NEWS_MAX_AGE_DAYS=7 NEWS_MAX_ITEMS=30 # LLM-picked top headlines at the top of the digest. NEWS_LLM_PICKS=true # Mute sources by id without a rebuild, e.g. verge,zvi,localllama NEWS_SOURCES_DISABLED= # --- Job watch --- # Polls ~123 companies career pages for SWE/full-stack/backend/frontend/AI/FDE roles. # Run "npm run jobs:seed" once before enabling on a fresh deploy (avoids a flood of # every currently-open posting on day one). JOBS_ENABLED=true JOBS_POLL_MS=1500000 JOBS_MAX_PER_MESSAGE=40