fix: system env vars silently overriding .env — load_dotenv(override=True)

Root cause: load_dotenv() default override=False meant system-level
ANTHROPIC_BASE_URL (https://api.deepseek.com/anthropic) took precedence
over .env's OPENAI_BASE_URL (https://api.minimaxi.com/anthropic). All
Anthropic API calls went to DeepSeek with a MiniMax key, causing 401.

Changes:
- backend/llm.py: load_dotenv(override=True) — .env always wins
- .env.example: add explicit ANTHROPIC_API_KEY + ANTHROPIC_BASE_URL
- CLAUDE.md: document env var priority pitfall
This commit is contained in:
2026-05-21 22:36:43 +08:00
parent aa1d8a6c52
commit 83c7da7517
3 changed files with 10 additions and 4 deletions
+8 -3
View File
@@ -2,12 +2,17 @@
LLM_BACKEND=cloud
# 云端提供商:openai 或 anthropic
LLM_PROVIDER=openai
LLM_PROVIDER=anthropic
# 云端配置(OpenAI 兼容
# Anthropic 兼容 APIMiniMax 等,优先使用
ANTHROPIC_API_KEY=sk-xxxx
ANTHROPIC_BASE_URL=https://api.minimaxi.com/anthropic
# OpenAI 兼容 APIfallback,当 ANTHROPIC_* 未设置时使用)
OPENAI_API_KEY=sk-xxxx
OPENAI_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4o
LLM_MODEL=MiniMax-M2.7
# 本地大语言模型(Ollama
LOCAL_LLM_MODEL=qwen2.5-coder:7b