diff --git a/README.md b/README.md index 065a593..8b8f9d7 100644 --- a/README.md +++ b/README.md @@ -212,24 +212,24 @@ tokens, cached % and cost. Tool servers log their tools in short wrapped lines; token size of the tool definitions. The `Starting ...` line shows the git commit the checkout is on. ## Environment variables -### Getting started -Set exactly one of the three keys. +### Essential +Set `TELEGRAM_BOT_TOKEN` and exactly one of the three LLM keys. | Variable | Meaning | |---|---| | `OPENROUTER_API_KEY` | OpenRouter key; selects the OpenRouter provider (default model `z-ai/glm-5.3-flash`). | +| `TELEGRAM_BOT_TOKEN` | Bot token from @BotFather (required). | | `XAI_API_KEY` | xAI key; selects the xAI provider (default model `grok-4.3`). | | `ZAI_API_KEY` | z.ai key; selects the z.ai provider (default model `glm-5.3-flash`). | -| `FAST_MODEL` | Optional cheaper/faster model used for simple requests (TOKEN_SAVER only). | -| `MODEL` | Model ID (default grok-4.3 on xAI, z-ai/glm-5.3-flash on OpenRouter, glm-5.3-flash on z.ai). | -| `REASONING` | Reasoning effort: low, medium or high; empty = the model's default (low on z.ai, which cannot turn thinking off). | -| `SEARCH` | on|off. Web search (and X search on xAI; z.ai's search API on z.ai). Default on. | ### Common settings | Variable | Meaning | |---|---| | `BOT_TZ` | Time zone for timestamps, e.g. Australia/Melbourne (default UTC). | -| `TELEGRAM_BOT_TOKEN` | Bot token from @BotFather (required). | +| `FAST_MODEL` | Optional cheaper/faster model used for simple requests (TOKEN_SAVER only). | +| `MODEL` | Model ID (default grok-4.3 on xAI, z-ai/glm-5.3-flash on OpenRouter, glm-5.3-flash on z.ai). | +| `REASONING` | Reasoning effort: low, medium or high; empty = the model's default (low on z.ai, which cannot turn thinking off). | +| `SEARCH` | on|off. Web search (and X search on xAI; z.ai's search API on z.ai). Default on. | ### Advanced and optional | Variable | Meaning | diff --git a/lib/config.py b/lib/config.py index b5d87c0..15f8f4e 100644 --- a/lib/config.py +++ b/lib/config.py @@ -11,17 +11,17 @@ # Every environment variable the bot reads, with a one-line description. README.md must # mention each name (tests/test_config.py enforces it). ENV_VARS: dict[str, str] = { - # Getting started + # Essential "OPENROUTER_API_KEY": "OpenRouter key; selects the OpenRouter provider.", + "TELEGRAM_BOT_TOKEN": "Bot token from @BotFather (required).", "XAI_API_KEY": "xAI key; selects the xAI provider. Set exactly one of the three keys.", "ZAI_API_KEY": "z.ai key; selects the z.ai provider.", + # Common settings + "BOT_TZ": "Time zone for timestamps, e.g. Australia/Melbourne (default UTC).", "FAST_MODEL": "Optional cheaper/faster model used for simple requests (TOKEN_SAVER only).", "MODEL": "Model ID (default grok-4.3 on xAI, z-ai/glm-5.3-flash on OpenRouter, glm-5.3-flash on z.ai).", "REASONING": "Reasoning effort: low, medium or high; empty = the model's default (low on z.ai, which cannot turn thinking off).", "SEARCH": "on|off. Web search (and X search on xAI; z.ai's search API on z.ai). Default on.", - # Common settings - "BOT_TZ": "Time zone for timestamps, e.g. Australia/Melbourne (default UTC).", - "TELEGRAM_BOT_TOKEN": "Bot token from @BotFather (required).", # Advanced and optional "ADMIN_CHAT_IDS": "Telegram IDs of the bot's admins (comma/space separated). Your user ID gets MCP-down alerts and may use /credits and /usage; a group's chat ID gets the alerts only. Empty = neither.", "DB_PATH": "SQLite file for chat history (default chat_log.db). Instances may share it.",