Files
loyal_companion/.env.example

101 lines
3.3 KiB
Plaintext

# ===========================================
# Discord Configuration
# ===========================================
# Your Discord bot token (get it from https://discord.com/developers/applications)
DISCORD_TOKEN=your_discord_bot_token_here
# ===========================================
# AI Provider Configuration
# ===========================================
# Available providers: "openai", "openrouter", "anthropic", "gemini"
AI_PROVIDER=openai
# Model to use (e.g., gpt-4o, gpt-4o-mini, claude-3-5-sonnet, etc.)
AI_MODEL=gpt-4o
# Provider API Keys (set the one you use)
OPENAI_API_KEY=sk-xxx
OPENROUTER_API_KEY=sk-or-xxx
ANTHROPIC_API_KEY=sk-ant-xxx
GEMINI_API_KEY=xxx
# Maximum tokens in AI response (100-4096)
AI_MAX_TOKENS=1024
# AI creativity/randomness (0.0 = deterministic, 2.0 = very creative)
AI_TEMPERATURE=0.7
# ===========================================
# Bot Identity & Personality
# ===========================================
# The bot's name, used in the system prompt to tell the AI who it is
BOT_NAME=My Bot
# Personality traits that define how the bot responds (used in system prompt)
BOT_PERSONALITY=helpful and friendly
# Message shown when someone mentions the bot without saying anything
BOT_DESCRIPTION=I'm an AI assistant here to help you.
# Status message shown in Discord (displays as "Watching <BOT_STATUS>")
BOT_STATUS=for mentions
# Optional: Override the entire system prompt (leave commented to use auto-generated)
# SYSTEM_PROMPT=You are a custom assistant...
# ===========================================
# Conversation Settings
# ===========================================
# Number of messages to remember per user (higher = more context, more tokens)
MAX_CONVERSATION_HISTORY=20
# Minutes of inactivity before starting a new conversation (5-1440)
CONVERSATION_TIMEOUT_MINUTES=60
# ===========================================
# Database (PostgreSQL)
# ===========================================
# PostgreSQL connection URL (if not set, uses in-memory storage)
# Format: postgresql+asyncpg://user:password@host:port/database
DATABASE_URL=postgresql+asyncpg://daemon:daemon@localhost:5432/daemon_boyfriend
# Password for PostgreSQL when using docker-compose
POSTGRES_PASSWORD=daemon
# Echo SQL statements for debugging (true/false)
# DATABASE_ECHO=false
# Connection pool settings
# DATABASE_POOL_SIZE=5
# DATABASE_MAX_OVERFLOW=10
# ===========================================
# Web Search (SearXNG)
# ===========================================
# SearXNG instance URL for web search (enables the bot to access current information)
SEARXNG_URL=https://search.example.com
# Enable/disable web search capability (true/false)
SEARXNG_ENABLED=true
# Maximum number of search results to fetch (1-20)
SEARXNG_MAX_RESULTS=5
# ===========================================
# Logging & Monitoring
# ===========================================
# Log level: DEBUG, INFO, WARNING, ERROR
LOG_LEVEL=INFO
# Log file path (optional - logs to console only if not set)
# LOG_FILE=logs/bot.log
# Custom log format (optional)
# LOG_FORMAT=%(asctime)s - %(name)s - %(levelname)s - %(message)s
# ===========================================
# Monitoring Commands
# ===========================================
# Use !status (admin only) for detailed metrics
# Use !health (anyone) for quick health check