Spaces:
Running
Running
Enhance .env.example with clearer instructions
Browse filesUpdated comments for clarity and added API key rotation section.
- .env.example +86 -4
.env.example
CHANGED
|
@@ -5,7 +5,7 @@
|
|
| 5 |
# For local development: cp .env.example .env && nano .env
|
| 6 |
|
| 7 |
# ββ REQUIRED: Core Configuration ββ
|
| 8 |
-
# [REQUIRED] LLM provider API key
|
| 9 |
# - Anthropic: sk-ant-v0-...
|
| 10 |
# - OpenAI: sk-...
|
| 11 |
# - Google: AIzaSy...
|
|
@@ -105,9 +105,6 @@ LLM_API_KEY=your_api_key_here
|
|
| 105 |
#
|
| 106 |
# NVIDIA (NVIDIA_API_KEY):
|
| 107 |
# - nvidia/nemotron-3-super-120b-a12b
|
| 108 |
-
# Optional: NVIDIA key rotation pool
|
| 109 |
-
# Comma-separated keys, rotated per request
|
| 110 |
-
# NVIDIA_API_KEYS=key1,key2,key3
|
| 111 |
#
|
| 112 |
# Groq (GROQ_API_KEY):
|
| 113 |
# - groq/mixtral-8x7b-32768
|
|
@@ -127,6 +124,91 @@ LLM_API_KEY=your_api_key_here
|
|
| 127 |
# Or any other OpenClaw-supported provider (format: provider/model-name)
|
| 128 |
LLM_MODEL=anthropic/claude-sonnet-4-5
|
| 129 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 130 |
# Optional: custom OpenAI-compatible provider
|
| 131 |
# Only use this if you want to register your own endpoint at startup.
|
| 132 |
# Leave all of these empty unless you need a custom provider.
|
|
|
|
| 5 |
# For local development: cp .env.example .env && nano .env
|
| 6 |
|
| 7 |
# ββ REQUIRED: Core Configuration ββ
|
| 8 |
+
# [REQUIRED] Primary LLM provider API key (for the provider in LLM_MODEL)
|
| 9 |
# - Anthropic: sk-ant-v0-...
|
| 10 |
# - OpenAI: sk-...
|
| 11 |
# - Google: AIzaSy...
|
|
|
|
| 105 |
#
|
| 106 |
# NVIDIA (NVIDIA_API_KEY):
|
| 107 |
# - nvidia/nemotron-3-super-120b-a12b
|
|
|
|
|
|
|
|
|
|
| 108 |
#
|
| 109 |
# Groq (GROQ_API_KEY):
|
| 110 |
# - groq/mixtral-8x7b-32768
|
|
|
|
| 124 |
# Or any other OpenClaw-supported provider (format: provider/model-name)
|
| 125 |
LLM_MODEL=anthropic/claude-sonnet-4-5
|
| 126 |
|
| 127 |
+
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 128 |
+
# π API KEY ROTATION (per-provider key pools)
|
| 129 |
+
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 130 |
+
# Every provider supports a comma-separated key pool.
|
| 131 |
+
# Keys are rotated round-robin on every request β useful when you
|
| 132 |
+
# have multiple accounts or want to spread rate-limit quota.
|
| 133 |
+
#
|
| 134 |
+
# Pattern: <PROVIDER>_API_KEYS=key1,key2,key3
|
| 135 |
+
# Fallback order: plural pool β singular key β LLM_API_KEY
|
| 136 |
+
#
|
| 137 |
+
# Uncomment and fill in only the providers you use:
|
| 138 |
+
#
|
| 139 |
+
# ANTHROPIC_API_KEYS=sk-ant-key1,sk-ant-key2,sk-ant-key3
|
| 140 |
+
# OPENAI_API_KEYS=sk-key1,sk-key2,sk-key3
|
| 141 |
+
# GEMINI_API_KEYS=AIzaSy-key1,AIzaSy-key2
|
| 142 |
+
# DEEPSEEK_API_KEYS=key1,key2
|
| 143 |
+
# OPENROUTER_API_KEYS=sk-or-key1,sk-or-key2
|
| 144 |
+
# KILOCODE_API_KEYS=key1,key2
|
| 145 |
+
# OPENCODE_API_KEYS=key1,key2
|
| 146 |
+
# ZAI_API_KEYS=key1,key2
|
| 147 |
+
# MOONSHOT_API_KEYS=key1,key2
|
| 148 |
+
# MINIMAX_API_KEYS=key1,key2
|
| 149 |
+
# XIAOMI_API_KEYS=key1,key2
|
| 150 |
+
# VOLCANO_ENGINE_API_KEYS=key1,key2
|
| 151 |
+
# BYTEPLUS_API_KEYS=key1,key2
|
| 152 |
+
# MISTRAL_API_KEYS=key1,key2
|
| 153 |
+
# XAI_API_KEYS=key1,key2
|
| 154 |
+
# NVIDIA_API_KEYS=key1,key2,key3
|
| 155 |
+
# GROQ_API_KEYS=gsk-key1,gsk-key2,gsk-key3
|
| 156 |
+
# COHERE_API_KEYS=key1,key2
|
| 157 |
+
# TOGETHER_API_KEYS=key1,key2
|
| 158 |
+
# CEREBRAS_API_KEYS=key1,key2
|
| 159 |
+
# HUGGINGFACE_HUB_TOKENS=hf_key1,hf_key2
|
| 160 |
+
|
| 161 |
+
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 162 |
+
# π MULTI-PROVIDER SETUP (use multiple models simultaneously)
|
| 163 |
+
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 164 |
+
# LLM_MODEL sets your DEFAULT model. But you can activate multiple
|
| 165 |
+
# providers at once β OpenClaw auto-discovers any provider whose
|
| 166 |
+
# API key is present in the environment.
|
| 167 |
+
#
|
| 168 |
+
# HOW IT WORKS:
|
| 169 |
+
# 1. LLM_MODEL + LLM_API_KEY β sets your default model & exports
|
| 170 |
+
# the matching provider key automatically (e.g. ANTHROPIC_API_KEY)
|
| 171 |
+
# 2. Any additional provider key you set directly (e.g. OPENAI_API_KEY)
|
| 172 |
+
# is also picked up by OpenClaw β that provider's models become
|
| 173 |
+
# available in the Control UI for manual selection.
|
| 174 |
+
# 3. Rotation pools (*_API_KEYS) work for every active provider
|
| 175 |
+
# independently and in parallel.
|
| 176 |
+
#
|
| 177 |
+
# EXAMPLE β default Anthropic, also use OpenAI and Groq:
|
| 178 |
+
#
|
| 179 |
+
# LLM_MODEL=anthropic/claude-sonnet-4-6 # default
|
| 180 |
+
# LLM_API_KEY=sk-ant-xxx # β auto-sets ANTHROPIC_API_KEY
|
| 181 |
+
#
|
| 182 |
+
# OPENAI_API_KEY=sk-oai-xxx # activates OpenAI models
|
| 183 |
+
# OPENAI_API_KEYS=sk-oai-k1,sk-oai-k2 # optional: rotation pool
|
| 184 |
+
#
|
| 185 |
+
# GROQ_API_KEY=gsk-xxx # activates Groq models
|
| 186 |
+
# GROQ_API_KEYS=gsk-k1,gsk-k2,gsk-k3 # optional: rotation pool
|
| 187 |
+
#
|
| 188 |
+
# EXAMPLE β OpenRouter only (easiest: one key, 300+ models):
|
| 189 |
+
#
|
| 190 |
+
# LLM_MODEL=openrouter/anthropic/claude-sonnet-4-6
|
| 191 |
+
# LLM_API_KEY=sk-or-v1-xxx
|
| 192 |
+
# # Switch between any of 300+ models in Control UI β no extra keys needed
|
| 193 |
+
#
|
| 194 |
+
# Set any of these directly as HF Space Secrets (not via LLM_API_KEY):
|
| 195 |
+
# ANTHROPIC_API_KEY=sk-ant-xxx
|
| 196 |
+
# OPENAI_API_KEY=sk-oai-xxx
|
| 197 |
+
# GEMINI_API_KEY=AIzaSy-xxx
|
| 198 |
+
# DEEPSEEK_API_KEY=xxx
|
| 199 |
+
# GROQ_API_KEY=gsk-xxx
|
| 200 |
+
# MISTRAL_API_KEY=xxx
|
| 201 |
+
# XAI_API_KEY=xxx
|
| 202 |
+
# NVIDIA_API_KEY=nvapi-xxx
|
| 203 |
+
# COHERE_API_KEY=xxx
|
| 204 |
+
# TOGETHER_API_KEY=xxx
|
| 205 |
+
# CEREBRAS_API_KEY=xxx
|
| 206 |
+
# MOONSHOT_API_KEY=xxx
|
| 207 |
+
# OPENROUTER_API_KEY=sk-or-v1-xxx
|
| 208 |
+
# HUGGINGFACE_HUB_TOKEN=hf_xxx
|
| 209 |
+
|
| 210 |
+
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 211 |
+
|
| 212 |
# Optional: custom OpenAI-compatible provider
|
| 213 |
# Only use this if you want to register your own endpoint at startup.
|
| 214 |
# Leave all of these empty unless you need a custom provider.
|