# Nanobot version
NANOBOT_VERSION=v0.1.3.post4

# Timezone
TZ=UTC

# Port override
NANOBOT_PORT_OVERRIDE=18790

# Command to run (gateway, onboard, status, agent, etc.)
NANOBOT_COMMAND=gateway

# ============================================================================
# LLM Provider Configuration
# ============================================================================

# OpenRouter (recommended for global access to all models)
# Get API key: https://openrouter.ai/keys
OPENROUTER_API_KEY=

# Anthropic (Claude direct access)
# Get API key: https://console.anthropic.com
ANTHROPIC_API_KEY=

# OpenAI (GPT direct access)
# Get API key: https://platform.openai.com
OPENAI_API_KEY=

# Google Gemini
# Get API key: https://aistudio.google.com
GEMINI_API_KEY=

# DeepSeek
# Get API key: https://platform.deepseek.com
DEEPSEEK_API_KEY=

# Groq (LLM + Voice transcription)
# Get API key: https://console.groq.com
GROQ_API_KEY=

# Zhipu AI (智谱 AI)
# Get API key: https://open.bigmodel.cn
ZHIPU_API_KEY=

# Alibaba Cloud DashScope (阿里云通义千问)
# Get API key: https://dashscope.console.aliyun.com
DASHSCOPE_API_KEY=

# Moonshot (月之暗面 Kimi)
# Get API key: https://platform.moonshot.cn
MOONSHOT_API_KEY=

# vLLM / Local LLM Server
# For local models running on vLLM or OpenAI-compatible server
VLLM_API_KEY=dummy
VLLM_API_BASE=http://localhost:8000/v1

# ============================================================================
# Agent Configuration
# ============================================================================

# Model to use (examples: anthropic/claude-opus-4-5, gpt-4, deepseek/deepseek-chat)
NANOBOT_MODEL=anthropic/claude-opus-4-5

# Maximum tokens for model response
NANOBOT_MAX_TOKENS=8192

# Temperature for model (0.0-1.0, higher = more creative)
NANOBOT_TEMPERATURE=0.7

# Maximum tool iterations per turn
NANOBOT_MAX_TOOL_ITERATIONS=20

# ============================================================================
# Channel Configuration
# ============================================================================

# Telegram
# 1. Create bot via @BotFather on Telegram
# 2. Get your user ID from @userinfobot
TELEGRAM_ENABLED=false
TELEGRAM_TOKEN=
TELEGRAM_PROXY=

# Discord
# 1. Create bot at https://discord.com/developers/applications
# 2. Enable MESSAGE CONTENT INTENT in bot settings
DISCORD_ENABLED=false
DISCORD_TOKEN=

# WhatsApp (requires Node.js bridge)
# 1. Run `nanobot channels login` to scan QR code
# 2. Bridge URL points to the WhatsApp bridge server
WHATSAPP_ENABLED=false
WHATSAPP_BRIDGE_URL=ws://localhost:3001

# Feishu (飞书/Lark)
# 1. Create app at https://open.feishu.cn/app
# 2. Enable Bot capability and add im:message permission
FEISHU_ENABLED=false
FEISHU_APP_ID=
FEISHU_APP_SECRET=
FEISHU_ENCRYPT_KEY=
FEISHU_VERIFICATION_TOKEN=

# ============================================================================
# Tools Configuration
# ============================================================================

# Brave Search API (for web search tool)
# Get API key: https://brave.com/search/api/
BRAVE_API_KEY=

# Web search max results
WEB_SEARCH_MAX_RESULTS=5

# Shell command execution timeout (seconds)
EXEC_TIMEOUT=60

# Restrict all tool access to workspace directory
# Set to true for production/sandboxed environments
RESTRICT_TO_WORKSPACE=false

# ============================================================================
# Gateway Configuration
# ============================================================================

# Gateway host (0.0.0.0 allows external connections)
GATEWAY_HOST=0.0.0.0

# Gateway port (internal port, mapped via NANOBOT_PORT_OVERRIDE)
GATEWAY_PORT=18790

# ============================================================================
# Resource Limits
# ============================================================================

# CPU limits
NANOBOT_CPU_LIMIT=1.0
NANOBOT_CPU_RESERVATION=0.1

# Memory limits
NANOBOT_MEMORY_LIMIT=1G
NANOBOT_MEMORY_RESERVATION=512M