Somrat Sorkar commited on
Commit
4a18107
·
1 Parent(s): 6275d3e

Remove LLM_PROVIDER entirely - auto-detect from model name

Browse files
Files changed (2) hide show
  1. README.md +8 -10
  2. start.sh +7 -15
README.md CHANGED
@@ -82,8 +82,7 @@ See **`.env.example`** for the complete reference with examples.
82
 
83
  | Variable | Default | Purpose |
84
  |----------|---------|---------|
85
- | `LLM_PROVIDER` | `anthropic` | Provider: `anthropic`, `openai`, `google` |
86
- | `LLM_MODEL` | `anthropic/claude-haiku-4-5` | Model to use |
87
 
88
  #### Telegram
89
 
@@ -121,29 +120,28 @@ See **`.env.example`** for the complete reference with examples.
121
 
122
  ## 🤖 LLM Provider Setup
123
 
 
 
124
  ### Anthropic (Claude)
125
  ```
126
- LLM_PROVIDER=anthropic
127
  LLM_API_KEY=sk-ant-v0-...
128
  LLM_MODEL=anthropic/claude-haiku-4-5
129
  ```
130
- Models: `claude-opus-4-6` · `claude-sonnet-4-5` · `claude-haiku-4-5`
131
 
132
  ### OpenAI
133
  ```
134
- LLM_PROVIDER=openai
135
  LLM_API_KEY=sk-...
136
- LLM_MODEL=gpt-4
137
  ```
138
- Models: `gpt-4-turbo` · `gpt-4` · `gpt-3.5-turbo`
139
 
140
  ### Google (Gemini)
141
  ```
142
- LLM_PROVIDER=google
143
  LLM_API_KEY=AIzaSy...
144
- LLM_MODEL=gemini-pro
145
  ```
146
- Models: `gemini-pro` · `gemini-pro-vision`
147
 
148
  ---
149
 
 
82
 
83
  | Variable | Default | Purpose |
84
  |----------|---------|---------|
85
+ | `LLM_MODEL` | `anthropic/claude-haiku-4-5` | Model to use (auto-detects provider from prefix) |
 
86
 
87
  #### Telegram
88
 
 
120
 
121
  ## 🤖 LLM Provider Setup
122
 
123
+ Just set `LLM_MODEL` with the correct provider prefix — the provider is auto-detected!
124
+
125
  ### Anthropic (Claude)
126
  ```
 
127
  LLM_API_KEY=sk-ant-v0-...
128
  LLM_MODEL=anthropic/claude-haiku-4-5
129
  ```
130
+ Models: `anthropic/claude-opus-4-6` · `anthropic/claude-sonnet-4-5` · `anthropic/claude-haiku-4-5`
131
 
132
  ### OpenAI
133
  ```
 
134
  LLM_API_KEY=sk-...
135
+ LLM_MODEL=openai/gpt-4
136
  ```
137
+ Models: `openai/gpt-4-turbo` · `openai/gpt-4` · `openai/gpt-3.5-turbo`
138
 
139
  ### Google (Gemini)
140
  ```
 
141
  LLM_API_KEY=AIzaSy...
142
+ LLM_MODEL=google/gemini-2.5-flash
143
  ```
144
+ Models: `google/gemini-2.5-flash` · `google/gemini-2.0-flash` · `google/gemini-1.5-pro`
145
 
146
  ---
147
 
start.sh CHANGED
@@ -28,8 +28,7 @@ if [ -n "$ERRORS" ]; then
28
  exit 1
29
  fi
30
 
31
- # ── Set LLM env based on provider ──
32
- LLM_PROVIDER="${LLM_PROVIDER:-anthropic}"
33
  LLM_MODEL="${LLM_MODEL:-anthropic/claude-haiku-4-5}"
34
 
35
  # Auto-correct Gemini models to use google/ prefix if anthropic/ was mistakenly used
@@ -38,22 +37,16 @@ if [[ "$LLM_MODEL" == "anthropic/gemini"* ]]; then
38
  echo "⚠️ Corrected model from anthropic/gemini* to google/gemini*"
39
  fi
40
 
41
- # Auto-detect provider from model name if not explicitly set
42
  if [[ "$LLM_MODEL" == "google/"* ]]; then
43
- LLM_PROVIDER="google"
44
  elif [[ "$LLM_MODEL" == "openai/"* ]]; then
45
- LLM_PROVIDER="openai"
46
- elif [[ "$LLM_MODEL" == "anthropic/"* ]] || [[ "$LLM_MODEL" == "claude"* ]]; then
47
- LLM_PROVIDER="anthropic"
 
48
  fi
49
 
50
- case "$LLM_PROVIDER" in
51
- anthropic) export ANTHROPIC_API_KEY="$LLM_API_KEY" ;;
52
- openai) export OPENAI_API_KEY="$LLM_API_KEY" ;;
53
- google) export GOOGLE_API_KEY="$LLM_API_KEY" ;;
54
- *) export LLM_API_KEY="$LLM_API_KEY" ;;
55
- esac
56
-
57
  # ── Setup directories ──
58
  mkdir -p /home/node/.openclaw/agents/main/sessions
59
  mkdir -p /home/node/.openclaw/credentials
@@ -196,7 +189,6 @@ echo ""
196
  echo " ┌──────────────────────────────────────────┐"
197
  echo " │ 📋 Configuration Summary │"
198
  echo " ├──────────────────────────────────────────┤"
199
- printf " │ %-40s │\n" "LLM: $LLM_PROVIDER"
200
  printf " │ %-40s │\n" "Model: $LLM_MODEL"
201
  if [ -n "$TELEGRAM_BOT_TOKEN" ]; then
202
  printf " │ %-40s │\n" "Telegram: ✅ enabled"
 
28
  exit 1
29
  fi
30
 
31
+ # ── Set LLM env based on model name ──
 
32
  LLM_MODEL="${LLM_MODEL:-anthropic/claude-haiku-4-5}"
33
 
34
  # Auto-correct Gemini models to use google/ prefix if anthropic/ was mistakenly used
 
37
  echo "⚠️ Corrected model from anthropic/gemini* to google/gemini*"
38
  fi
39
 
40
+ # Auto-detect and set provider-specific API key from model name
41
  if [[ "$LLM_MODEL" == "google/"* ]]; then
42
+ export GOOGLE_API_KEY="$LLM_API_KEY"
43
  elif [[ "$LLM_MODEL" == "openai/"* ]]; then
44
+ export OPENAI_API_KEY="$LLM_API_KEY"
45
+ else
46
+ # Default to Anthropic for claude/* or anthropic/* models
47
+ export ANTHROPIC_API_KEY="$LLM_API_KEY"
48
  fi
49
 
 
 
 
 
 
 
 
50
  # ── Setup directories ──
51
  mkdir -p /home/node/.openclaw/agents/main/sessions
52
  mkdir -p /home/node/.openclaw/credentials
 
189
  echo " ┌──────────────────────────────────────────┐"
190
  echo " │ 📋 Configuration Summary │"
191
  echo " ├──────────────────────────────────────────┤"
 
192
  printf " │ %-40s │\n" "Model: $LLM_MODEL"
193
  if [ -n "$TELEGRAM_BOT_TOKEN" ]; then
194
  printf " │ %-40s │\n" "Telegram: ✅ enabled"