diff --git a/strix/interface/main.py b/strix/interface/main.py index 76d36cf..9bb86ae 100644 --- a/strix/interface/main.py +++ b/strix/interface/main.py @@ -5,6 +5,7 @@ Strix Agent Interface import argparse import asyncio +import contextlib import shutil import sys from datetime import UTC, datetime @@ -242,6 +243,24 @@ async def warm_up_llm() -> None: error_text.append("Please check your configuration and try again.\n", style="white") error_text.append(f"\nError: {e}", style="dim white") + raw_model = "" + resolved = "" + with contextlib.suppress(Exception): + raw_model = (load_settings().llm.model or "").strip() + resolved = normalize_model_name(raw_model) + err_lc = str(e).lower() + unprefixed = bool(resolved) and "/" not in resolved + looks_openai = "platform.openai.com" in err_lc or "openai" in err_lc + if unprefixed and looks_openai: + error_text.append( + f"\n\nHint: '{raw_model}' has no provider prefix, so the SDK " + f"routed it through OpenAI by default. For non-OpenAI providers " + f"use the '/' form, e.g. " + f"'deepseek/deepseek-chat', 'groq/llama-3.1-70b', " + f"'anthropic/claude-3-5-sonnet'.", + style="yellow", + ) + panel = Panel( error_text, title="[bold white]STRIX",