mirror of
https://github.com/usestrix/strix.git
synced 2026-08-24 20:02:39 +02:00
Stop exposing litellm/ prefix in user-facing model names
Users had to type STRIX_LLM=litellm/deepseek/deepseek-chat — the litellm/ wrapper was Strix-internal plumbing surfacing in user config. Add StrixProvider, a MultiProvider subclass that routes any non-OpenAI prefix (deepseek/, anthropic/, groq/, xai/, mistral/, openrouter/, …) through LitellmProvider with the prefix preserved. normalize_model_name no longer adds litellm/ to anything; bare claude-* / gemini-* shorthands expand to anthropic/<model> / gemini/<model> instead of the wrapped form. Wire StrixProvider into warm_up_llm and RunConfig.model_provider. litellm/<provider>/<model> and any-llm/<provider>/<model> still resolve unchanged for users on older config. Refresh stale model names in the env-validation messages and the warm-up hint (gpt-5.4, claude-opus-4-7, deepseek-reasoner). Verified 24-case end-to-end matrix: OpenAI direct vs. LitellmProvider routing, env-var mirroring via validate_environment, supports_reasoning detection, and tool_choice gating all behave correctly across modern providers including the user's unknown DeepSeek SKU.
This commit is contained in:
@@ -15,6 +15,7 @@ from agents.sandbox import SandboxRunConfig
|
||||
from strix.agents.factory import build_strix_agent, make_child_factory
|
||||
from strix.config import load_settings
|
||||
from strix.config.models import (
|
||||
StrixProvider,
|
||||
configure_sdk_model_defaults,
|
||||
normalize_model_name,
|
||||
uses_chat_completions_tool_schema,
|
||||
@@ -159,6 +160,7 @@ async def run_strix_scan(
|
||||
)
|
||||
run_config = RunConfig(
|
||||
model=resolved_model,
|
||||
model_provider=StrixProvider(),
|
||||
model_settings=model_settings,
|
||||
sandbox=SandboxRunConfig(client=bundle["client"], session=bundle["session"]),
|
||||
trace_include_sensitive_data=False,
|
||||
|
||||
Reference in New Issue
Block a user