Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
41d3d24
feat: Add GitHub issue solving to Telegram bot (#51)
Mikecranesync Dec 10, 2025
aae57f7
docs: Add Telegram bot testing summary
Mikecranesync Dec 10, 2025
516e155
fix: Telegram bot Ollama model + conversational chat
Mikecranesync Dec 11, 2025
aa887c9
feat: CRITICAL PATH - 10 min deployment to unlock Week 2
Mikecranesync Dec 11, 2025
5b9aedb
feat: Natural Language Interface for Telegram Bot (#53)
Mikecranesync Dec 11, 2025
6a450fe
Merge branch 'main' of https://github.com/Mikecranesync/Agent-Factory
Mikecranesync Dec 11, 2025
41b0327
fix: Telegram command names (no hyphens allowed)
Mikecranesync Dec 11, 2025
018f815
feat: Add interactive help menu and KB slash commands
Mikecranesync Dec 11, 2025
9041d84
docs: Add comprehensive CHANNEL_STYLE_GUIDE from TrendScoutAgent
Mikecranesync Dec 11, 2025
ad854b6
feat: Add multi-agent committee system with 8 agents and 5 voting com…
Mikecranesync Dec 11, 2025
52c3cc2
feat: Add MasterOrchestratorAgent for 24/7 autonomous production
Mikecranesync Dec 11, 2025
538f086
docs: Add complete system overview and launch guide
Mikecranesync Dec 11, 2025
8d30911
fix: Telegram bot Field Eye integration + Windows compatibility
Mikecranesync Dec 12, 2025
2dcde9c
feat: Field Eye Foundation - 3rd Vertical Implementation (#56)
Mikecranesync Dec 12, 2025
fc47189
chore: Merge Field Eye foundation + resolve dependency conflict
Mikecranesync Dec 12, 2025
a7542fb
fix: Resolve async event loop error in video production pipeline
Mikecranesync Dec 12, 2025
62fdc2d
docs: DevOps status, deployment guides, and automation scripts
Mikecranesync Dec 12, 2025
e97db26
fix: Complete video production pipeline with MP4 output
Mikecranesync Dec 12, 2025
b747277
docs: Complete video production pipeline success report
Mikecranesync Dec 12, 2025
51254cc
fix: Improve ScriptwriterAgent to TEACH instead of dumping raw data
Mikecranesync Dec 12, 2025
d12c585
docs: Add comprehensive ScriptwriterAgent fix summary
Mikecranesync Dec 12, 2025
7901a17
docs: Add parallel development success report (4 worktrees completed)
Mikecranesync Dec 12, 2025
28c53fb
docs: Update README with Week 2 ISH swarm progress (6/9 agents complete)
Mikecranesync Dec 12, 2025
8f50fe9
docs: Add Perplexity citation format integration
Mikecranesync Dec 12, 2025
7ef63d2
feat: Add Perplexity citation format + organize user guides
Mikecranesync Dec 12, 2025
a52b882
docs: Add schema deployment guides and verification script
Mikecranesync Dec 12, 2025
a61f402
refactor: Complete codebase reorganization and cleanup
Mikecranesync Dec 12, 2025
99126ce
docs: Update claude.md with reorganized file paths
Mikecranesync Dec 12, 2025
335fc89
fix: Phase 1 - Critical bug fixes and SQL file reorganization
Mikecranesync Dec 12, 2025
f485274
feat: Deploy Agent Factory to Neon database with 1,964 knowledge atoms
Mikecranesync Dec 12, 2025
865f30a
docs: Add comprehensive deployment guides for Render.com 24/7 production
Mikecranesync Dec 14, 2025
c60273e
docs: Add deployment completion summary and master readme
Mikecranesync Dec 14, 2025
e3a09fa
feat: Add automated deployment scripts for webhook setup and validation
Mikecranesync Dec 14, 2025
41b057f
feat: Add UptimeRobot monitoring automation scripts for Phase 4
Mikecranesync Dec 14, 2025
e790c3a
feat: Add comprehensive validation and reporting automation for Phase 5
Mikecranesync Dec 14, 2025
2edbfa0
feat: Add Railway.app backup and final go-live automation (Phases 7 & 8)
Mikecranesync Dec 14, 2025
6100f0b
docs: Add final deployment completion summary
Mikecranesync Dec 14, 2025
1839e6a
docs: Add deployment TODO list for user execution
Mikecranesync Dec 14, 2025
fddac6c
feat: Add Render API automation for environment variable configuration
Mikecranesync Dec 14, 2025
7649929
docs: Add comprehensive .env files guide and clean up main .env
Mikecranesync Dec 14, 2025
bd5723e
feat: CEO management dashboard (15 Telegram commands)
Mikecranesync Dec 14, 2025
5115323
fix: Configure bot health endpoint for Render deployment
Mikecranesync Dec 14, 2025
75873dc
feat: Add Render Blueprint for automated deployment
Mikecranesync Dec 14, 2025
283752b
fix: Resolve render.yaml merge conflict - use comprehensive Blueprint
Mikecranesync Dec 14, 2025
1263f29
fix: Add Procfile for Render deployment
Mikecranesync Dec 14, 2025
860359f
fix: Specify Python 3.11 for Render deployment
Mikecranesync Dec 14, 2025
41cfe0a
docs: Add comprehensive Render deployment status report
Mikecranesync Dec 14, 2025
740bb12
fix: Render deployment configuration (auto schema deploy + entry point)
Mikecranesync Dec 15, 2025
9e6057a
fix: Pin Python to 3.12.8 for Render compatibility
Mikecranesync Dec 15, 2025
14d2a06
fix: Remove tiktoken dependency (Rust compilation issue on Render)
Mikecranesync Dec 15, 2025
5f22f26
fix: Supabase complete unified schema (consolidate all fragments)
Mikecranesync Dec 15, 2025
30ac356
fix: Remove moviepy, pin numpy for Python 3.12 compatibility
Mikecranesync Dec 15, 2025
b992cac
Merge feature/render-deployment-fixes - resolve conflict in render.yaml
Mikecranesync Dec 15, 2025
1d505d0
Merge branch 'feature/supabase-complete-schema'
Mikecranesync Dec 15, 2025
67f1c70
docs: Production deployment complete guide
Mikecranesync Dec 15, 2025
fa871b7
fix: Remove moviepy dependency to resolve numpy import error
Mikecranesync Dec 15, 2025
ecae00e
fix: Update Poetry build command for Poetry 2.x compatibility
Mikecranesync Dec 15, 2025
05921b5
fix: Simplify Render start command to bypass shell script
Mikecranesync Dec 15, 2025
a049d94
fix: Add poetry run to start command in render.yaml
Mikecranesync Dec 15, 2025
06ff36c
fix: Remove numpy dependency to resolve Render build failures
Mikecranesync Dec 15, 2025
0e685e6
feat: Add Hostinger VPS deployment guide and user acquisition improve…
Mikecranesync Dec 15, 2025
f30d660
feat: Add fully automated VPS deployment system
Mikecranesync Dec 15, 2025
9647c25
fix: Remove PyMuPDF and pdfplumber to fix Render build
Mikecranesync Dec 15, 2025
7d7d65b
fix: Update poetry.lock after removing PDF dependencies
Mikecranesync Dec 15, 2025
edd13d1
feat: Phase 1 conversation memory for RIVET Pro
Mikecranesync Dec 15, 2025
2942d23
docs: Add VPS KB Factory documentation and test script
Mikecranesync Dec 15, 2025
9c21f91
feat: VPS KB Factory ingestion scripts + Supabase schema fixes
Mikecranesync Dec 15, 2025
db8a338
feat: Add VPS KB integration for RIVET Pro Telegram bot
Mikecranesync Dec 15, 2025
4e2f986
docs: Update TASK.md with VPS integration completion
Mikecranesync Dec 15, 2025
d256d7a
docs: Add KB ingestion scripts to CLAUDE.md
Mikecranesync Dec 15, 2025
1457eff
feat: Add VPS deployment files for RIVET Pro
Mikecranesync Dec 15, 2025
216c93f
feat: Add GitHub Actions workflow for automated VPS deployment
Mikecranesync Dec 15, 2025
62ab813
docs: Add GitHub Actions automated deployment guide
Mikecranesync Dec 15, 2025
b2d207b
feat: Add automated SSH setup for VPS deployment + Claude Code CLI
Mikecranesync Dec 15, 2025
da4117d
merge: Integrate SSH automation with existing deployment files
Mikecranesync Dec 15, 2025
3a8c914
fix: Add Poetry PATH to GitHub Actions deployment workflow
Mikecranesync Dec 15, 2025
84e3827
fix: Update Poetry install command for Poetry 2.x compatibility
Mikecranesync Dec 15, 2025
72fadb9
fix: Replace health endpoint check with process verification
Mikecranesync Dec 15, 2025
8a99cfa
fix: Remove health endpoint dependency from deploy script
Mikecranesync Dec 15, 2025
7e66021
docs: Update TASK.md with completed VPS deployment automation
Mikecranesync Dec 15, 2025
b923607
docs: Add session summary for VPS deployment automation
Mikecranesync Dec 15, 2025
efdc498
feat: Complete SEOAgent implementation with Pydantic models
Mikecranesync Dec 15, 2025
9675827
feat: VPS KB Factory integration for RIVET Pro
Mikecranesync Dec 15, 2025
a89189d
feat: Add ThumbnailAgent implementation
Mikecranesync Dec 15, 2025
5bf0d3b
feat: Complete YouTubeUploaderAgent with OAuth2 authentication
Mikecranesync Dec 15, 2025
abcc393
Merge branch 'ish/seo-agent' into main - Complete SEOAgent implementa…
Mikecranesync Dec 15, 2025
89a96fc
Merge branch 'ish/thumbnail-agent' into main - Add ThumbnailAgent imp…
Mikecranesync Dec 15, 2025
ba04ff0
Merge branch 'ish/youtube-uploader' into main - Complete YouTubeUploa…
Mikecranesync Dec 15, 2025
5a487e6
docs: Update TASK.md with VPS KB integration merge status
Mikecranesync Dec 15, 2025
0d4af02
chore: Update poetry.lock for YouTube API dependencies
Mikecranesync Dec 15, 2025
5ae06d2
docs: Update README - Week 2 Day 3 complete (9/9 agents)
Mikecranesync Dec 15, 2025
3bd37ab
test: Add end-to-end pipeline integration test
Mikecranesync Dec 15, 2025
4b3b2a7
docs: Update TASK.md with Week 2 Day 4-5 completion
Mikecranesync Dec 15, 2025
508979e
feat: Add powerful LangGraph-based ingestion chain (Phase 1)
Mikecranesync Dec 15, 2025
eaff3c4
docs: Complete Week 2 + KB ingestion chain + memory file updates
Mikecranesync Dec 16, 2025
58e089e
feat(rivet-pro): Phase 1/8 - Complete data models (RivetRequest, Rive…
Mikecranesync Dec 16, 2025
97804b0
docs: Update system memory for Dec 16 session + RIVET Pro Phase 1
Mikecranesync Dec 16, 2025
931ba22
feat(telegram-admin): Add core admin infrastructure (Phase 1/8)
Mikecranesync Dec 16, 2025
c6585b0
feat(telegram-admin): Add agent management (Phase 2/8)
Mikecranesync Dec 16, 2025
5cde04f
feat(telegram-admin): Add content review system (Phase 3/8)
Mikecranesync Dec 16, 2025
c6365da
feat(telegram-admin): Add GitHub Actions integration (Phase 4/8)
Mikecranesync Dec 16, 2025
d96c194
feat(telegram-admin): Add KB management (Phase 5/8)
Mikecranesync Dec 16, 2025
6bd6feb
feat(telegram-admin): Add analytics dashboard (Phase 6/8)
Mikecranesync Dec 16, 2025
0bce759
feat(telegram-admin): Add system control (Phase 7/8)
Mikecranesync Dec 16, 2025
6b99474
feat(telegram-admin): Complete integration (Phase 8/8)
Mikecranesync Dec 16, 2025
a404e5b
docs: Add complete Telegram Admin Panel documentation
Mikecranesync Dec 16, 2025
79a225c
feat(rivet-pro): Phase 2/8 - Complete RAG Layer
Mikecranesync Dec 17, 2025
55f2df1
docs: Save session context for autonomous system completion
Mikecranesync Dec 17, 2025
8fdb605
feat(autonomous): Complete nighttime issue solver system (8/8 phases)
Mikecranesync Dec 17, 2025
f8c8e08
feat(rivet-pro): Implement Phase 4 - 4-Route Orchestrator
Mikecranesync Dec 17, 2025
8a55448
feat(rivet-pro): Merge Phase 4 - 4-Route Orchestrator
Mikecranesync Dec 17, 2025
f3c07d0
CHECKPOINT: Backlog.md CLI integration complete
Mikecranesync Dec 17, 2025
bde892b
docs: Complete AI Dev Loop Phase 1 - Architecture & Fork
Mikecranesync Dec 18, 2025
3bf6a9b
CHECKPOINT: User Actions feature - Phase 1 complete (task-24.1)
Mikecranesync Dec 18, 2025
172d695
feat(backlog): Complete User Actions Feature (Phases 2-4)
Mikecranesync Dec 18, 2025
ec5c432
docs: Mark User Actions Feature as complete in NEXT_ACTIONS.md
Mikecranesync Dec 18, 2025
6b282ff
feat(ai-loop): Headless runner with safety controls (Phase 2) (#64)
Mikecranesync Dec 18, 2025
8ad1d0c
Merge branch 'main' of https://github.com/Mikecranesync/Agent-Factory
Mikecranesync Dec 18, 2025
6fc52cd
docs: Mark AI Dev Control Loop tasks complete
Mikecranesync Dec 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
222 changes: 47 additions & 175 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,188 +1,60 @@
# AgentFactory Environment Variables
# Copy this file to .env and fill in your API keys
OPENAI_API_KEY=YOUR_OPENAI_API_KEY
ANTHROPIC_API_KEY=YOUR_ANTHROPIC_API_KEY
GOOGLE_API_KEY=YOUR_GOOGLE_API_KEY

FIRECRAWL_API_KEY=YOUR_FIRECRAWL_API_KEY
TAVILY_API_KEY=YOUR_TAVILY_API_KEY

TELEGRAM_BOT_TOKEN=YOUR_TELEGRAM_BOT_TOKEN
TELEGRAM_ADMIN_CHAT_ID=YOUR_TELEGRAM_CHAT_ID
AUTHORIZED_TELEGRAM_USERS=YOUR_TELEGRAM_CHAT_ID

DATABASE_PROVIDER=neon
DATABASE_FAILOVER_ENABLED=true
DATABASE_FAILOVER_ORDER=neon,supabase,railway

SUPABASE_URL=YOUR_SUPABASE_URL
SUPABASE_SERVICE_ROLE_KEY=YOUR_SUPABASE_SERVICE_ROLE_KEY
SUPABASE_DB_PASSWORD=YOUR_SUPABASE_DB_PASSWORD
SUPABASE_DB_HOST=YOUR_SUPABASE_DB_HOST
SUPABASE_DB_PORT=5432
SUPABASE_DB_NAME=postgres
SUPABASE_DB_USER=postgres

RAILWAY_API_KEY=YOUR_RAILWAY_API_KEY
RAILWAY_DB_HOST=YOUR_RAILWAY_DB_HOST
RAILWAY_DB_PORT=5432
RAILWAY_DB_NAME=railway
RAILWAY_DB_USER=postgres
RAILWAY_DB_PASSWORD=YOUR_RAILWAY_DB_PASSWORD
RAILWAY_DB_URL=YOUR_RAILWAY_DB_URL

NEON_DB_URL=YOUR_NEON_DB_URL

VPS_KB_HOST=72.60.175.144
VPS_KB_PORT=5432
VPS_KB_USER=rivet
VPS_KB_PASSWORD=YOUR_VPS_KB_PASSWORD
VPS_KB_DATABASE=rivet

VPS_OLLAMA_URL=http://72.60.175.144:11434

# =============================================================================
# LLM Provider API Keys
# =============================================================================

# OpenAI (required for default configuration)
OPENAI_API_KEY=your_openai_api_key_here

# Anthropic (optional - for Claude models)
# ANTHROPIC_API_KEY=your_anthropic_api_key_here

# Google (optional - for Gemini models)
# GOOGLE_API_KEY=your_google_api_key_here

# =============================================================================
# Research Tools API Keys
# =============================================================================

# Tavily Search (optional - AI-optimized search)
# Get your API key at: https://tavily.com
# TAVILY_API_KEY=your_tavily_api_key_here

# =============================================================================
# Configuration Options
# =============================================================================

# Default LLM Provider (openai, anthropic, google)
DEFAULT_LLM_PROVIDER=openai

# Default Model
DEFAULT_MODEL=gpt-4o

# Default Temperature (0.0 - 1.0)
DEFAULT_TEMPERATURE=0.0

# Verbose Mode (true/false)
VERBOSE=true

# =============================================================================
# API Authentication (Phase 7)
# =============================================================================

# Agent Factory API Key (required for REST API endpoints)
# Generate with: poetry run python -c "import secrets; print(f'ak_dev_{secrets.token_hex(16)}')"
API_KEY=ak_dev_your_generated_key_here

# =============================================================================
# Voice Production Configuration (PLC Tutor / RIVET)
# =============================================================================

# Voice Mode: edge (FREE), openai (PAID), elevenlabs (PAID + custom)
# Use 'edge' until Saturday for FREE Microsoft neural voices
VOICE_MODE=edge

# Edge-TTS Voice (FREE, 50+ voices available)
# Options: en-US-GuyNeural (male), en-US-JennyNeural (female), en-GB-RyanNeural, etc.
# Full list: poetry run edge-tts --list-voices
EDGE_VOICE=en-US-GuyNeural

# OpenAI TTS Voice (PAID, $15/1M characters)
# Options: alloy, echo, fable, onyx, nova, shimmer
OPENAI_VOICE=alloy

# ElevenLabs Configuration (PAID, custom voice clone - add Saturday after training)
# Get API key at: https://elevenlabs.io
# ELEVENLABS_API_KEY=your_elevenlabs_api_key_here
# ELEVENLABS_VOICE_ID=your_voice_clone_id_here

# =============================================================================
# Telegram Bot Configuration
# =============================================================================

# Telegram Bot Token (required for Telegram bot)
# Get from @BotFather on Telegram: /newbot
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here

# Rate Limiting (optional)
TELEGRAM_RATE_LIMIT=10 # Messages per minute per user

# User Whitelist (optional - comma-separated chat IDs)
# Leave empty to allow all users
# TELEGRAM_ALLOWED_USERS=12345,67890
API_KEY=YOUR_INTERNAL_API_KEY

# Logging (optional)
# TELEGRAM_LOG_CONVERSATIONS=false # GDPR: keep false in production
RENDER_API_KEY=YOUR_RENDER_API_KEY
HOSTINGER_API_TOKEN=YOUR_HOSTINGER_API_TOKEN

# =============================================================================
# Memory Storage (Supabase)
# =============================================================================

# Supabase PostgreSQL database (required for cloud memory storage)
# Get from: https://supabase.com/dashboard/project/_/settings/api
SUPABASE_URL=your_supabase_project_url_here
SUPABASE_KEY=your_supabase_anon_key_here

# Alternative: Use service_role key for admin operations (keep secret!)
# SUPABASE_KEY=your_supabase_service_role_key_here

# Database password for automated migrations (optional but recommended)
# Get from: https://supabase.com/dashboard/project/_/settings/database
# Under "Connection string" → Click "eye" icon to reveal password
# SUPABASE_DB_PASSWORD=your_database_password_here

# Supabase Management API token for automated migrations (optional)
# Get from: https://supabase.com/dashboard/account/tokens
# SUPABASE_ACCESS_TOKEN=your_access_token_here

# =============================================================================
# Ollama (FREE Local LLMs) - RECOMMENDED
# =============================================================================

# Enable FREE local LLMs instead of paid APIs (set to true)
USE_OLLAMA=true

# Ollama API endpoint (default: http://localhost:11434)
PYTHONUNBUFFERED=1
LOG_LEVEL=INFO
VERBOSE=true
USE_OLLAMA=false
OLLAMA_BASE_URL=http://localhost:11434

# Default Ollama model for coding tasks
# Options:
# - deepseek-coder:6.7b (RECOMMENDED - fast, high quality, 8GB RAM)
# - codellama:7b (good, 8GB RAM)
# - llama3.1:8b (better reasoning, 12GB RAM)
# - deepseek-coder:33b (GPT-4 level, 32GB RAM + GPU)
OLLAMA_MODEL=deepseek-coder:6.7b

# Setup Instructions:
# 1. Install Ollama: winget install Ollama.Ollama
# 2. Pull model: ollama pull deepseek-coder:6.7b
# 3. Set USE_OLLAMA=true above
# 4. Run tasks for FREE! (no API costs)
#
# See: docs/OPENHANDS_FREE_LLM_GUIDE.md for complete setup guide

# =============================================================================
# GitHub Issue Automation (Optional)
# =============================================================================

# Automatically solve GitHub issues with FREE Ollama
# See: docs/GITHUB_ISSUE_AUTOMATION.md for complete guide

# Labels to auto-solve (comma-separated)
# Example: GITHUB_AUTO_SOLVE_LABELS=agent-task,good first issue,documentation
# GITHUB_AUTO_SOLVE_LABELS=

# Auto-approve solutions (DANGEROUS - use with caution!)
# Set to 'true' only for trusted, simple issues
# Default: false (requires manual approval)
GITHUB_AUTO_APPROVE=false

# Auto-push after commit
# Set to 'true' to automatically push to GitHub
# Default: false (asks before pushing)
GITHUB_AUTO_PUSH=false

# Default timeout for issue solving (seconds)
# Increase for complex issues or slower models
# Default: 300 (5 minutes)
GITHUB_SOLVE_TIMEOUT=300

# =============================================================================
# Advanced Options
# =============================================================================

# LangSmith (optional - for debugging and monitoring)
# Get your API key at: https://smith.langchain.com
# LANGCHAIN_TRACING_V2=true
# LANGCHAIN_API_KEY=your_langsmith_api_key_here
# LANGCHAIN_PROJECT=agent-factory

# =============================================================================
# Notes
# =============================================================================
#
# Free Tools (no API key required):
# - Wikipedia Search
# - DuckDuckGo Search
# - File operations (read, write, list, search)
# - Git operations
# - Current time
#
# Paid/API Key Required:
# - OpenAI (ChatGPT) - https://platform.openai.com/api-keys
# - Anthropic (Claude) - https://console.anthropic.com/
# - Google (Gemini) - https://makersuite.google.com/app/apikey
# - Tavily Search - https://tavily.com
#
118 changes: 118 additions & 0 deletions .env.production
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# =============================================================================
# Agent Factory - Production Environment Variables (VPS/Hostinger)
# =============================================================================
#
# Copy this to .env on your VPS and fill in YOUR actual values
#
# CRITICAL: This file contains secrets. Never commit to Git.
# On VPS, set permissions: chmod 600 .env
#
# =============================================================================

# =============================================================================
# REQUIRED - Bot Will Not Start Without These
# =============================================================================

# Telegram Bot Token (from @BotFather)
# Get it: Message @BotFather on Telegram, send /newbot
TELEGRAM_BOT_TOKEN=YOUR_BOT_TOKEN_HERE

# Database Connection (Neon PostgreSQL)
# Get it: https://console.neon.tech → Project → Connection Details → Pooled
DATABASE_PROVIDER=neon
NEON_DB_URL=YOUR_NEON_CONNECTION_STRING_HERE

# LLM Provider (for AI agent responses)
# Using gpt-4o-mini for cost efficiency (~$0.15 per 1M tokens)
DEFAULT_LLM_PROVIDER=openai
DEFAULT_MODEL=gpt-4o-mini
OPENAI_API_KEY=YOUR_OPENAI_API_KEY_HERE

# =============================================================================
# SECURITY - Recommended for Production
# =============================================================================

# Limit bot access to specific Telegram user IDs (comma-separated)
# Get your ID: Message @userinfobot on Telegram
# Leave empty to allow ALL users (not recommended)
TELEGRAM_ALLOWED_USERS=YOUR_TELEGRAM_USER_ID_HERE

# Rate limiting (messages per minute per user)
TELEGRAM_RATE_LIMIT=10

# =============================================================================
# PYTHON CONFIGURATION
# =============================================================================

PYTHONUNBUFFERED=1
PYTHONDONTWRITEBYTECODE=1
LOG_LEVEL=INFO

# =============================================================================
# VOICE PRODUCTION (Optional - for content generation features)
# =============================================================================

# Voice Mode: edge (FREE), openai (PAID ~$15/1M chars), elevenlabs (PAID + custom)
# Use 'edge' for FREE Microsoft neural voices
VOICE_MODE=edge

# Edge-TTS Voice Selection (50+ voices available)
# Popular options:
# en-US-GuyNeural (male, professional)
# en-US-JennyNeural (female, friendly)
# en-GB-RyanNeural (male, British)
# List all: edge-tts --list-voices
EDGE_VOICE=en-US-GuyNeural

# =============================================================================
# OPTIONAL - Additional LLM Providers
# =============================================================================

# Anthropic Claude (optional - for high-quality reasoning tasks)
# ANTHROPIC_API_KEY=your_anthropic_key_here

# Google Gemini (optional - for multimodal tasks)
# GOOGLE_API_KEY=your_google_key_here

# =============================================================================
# OPTIONAL - Research Tools
# =============================================================================

# Tavily Search (optional - AI-optimized web search)
# Get key: https://tavily.com
# TAVILY_API_KEY=your_tavily_key_here

# Firecrawl (optional - web scraping for knowledge ingestion)
# FIRECRAWL_API_KEY=your_firecrawl_key_here

# =============================================================================
# DO NOT SET THESE (Auto-configured by Docker/VPS)
# =============================================================================
# PORT - Docker sets this automatically
# SUPABASE_URL - Using Neon instead
# SUPABASE_KEY - Using Neon instead

# =============================================================================
# NOTES
# =============================================================================
#
# Minimal setup (3 variables):
# TELEGRAM_BOT_TOKEN=...
# NEON_DB_URL=...
# OPENAI_API_KEY=...
#
# Recommended setup (5 variables):
# Add TELEGRAM_ALLOWED_USERS and TELEGRAM_RATE_LIMIT
#
# Full setup (8+ variables):
# Add ANTHROPIC_API_KEY, GOOGLE_API_KEY, TAVILY_API_KEY for max capability
#
# Cost estimate (minimal setup):
# - Neon database: $0/mo (free tier, 3GB)
# - OpenAI gpt-4o-mini: $1-5/mo (depends on usage)
# - Total: ~$1-5/mo
#
# After filling in values, save and run:
# docker-compose up -d
#
# =============================================================================
Loading