# 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.5 # Memory limits NANOBOT_MEMORY_LIMIT=1G NANOBOT_MEMORY_RESERVATION=512M