feat: add DeepSeek provider (deepseek-chat, deepseek-reasoner)

This commit is contained in:
Roland Tannous 2026-03-30 01:56:52 +00:00
commit 6cf0a60087
2 changed files with 17 additions and 2 deletions

View file

@ -140,6 +140,20 @@ PROVIDER_REGISTRY: dict[str, dict[str, Any]] = {
"openai_compatible": False,
"notes": "Native Anthropic Messages API. Uses x-api-key header and /v1/messages endpoint with SSE translation.",
},
"deepseek": {
"display_name": "DeepSeek",
"base_url": "https://api.deepseek.com/v1",
"default_models": [
"deepseek-chat",
"deepseek-reasoner",
],
"supports_streaming": True,
"supports_vision": False,
"supports_tool_calling": True,
"auth_header": "Authorization",
"auth_prefix": "Bearer ",
"notes": "OpenAI-compatible API. deepseek-chat = V3, deepseek-reasoner = R1 thinking mode.",
},
"openrouter": {
"display_name": "OpenRouter",
"base_url": "https://openrouter.ai/api/v1",

View file

@ -49,7 +49,8 @@ _PROVIDER_CONFIGS: dict[str, tuple[str, str]] = {
"fireworks": ("FIREWORKS_API_KEY", "accounts/fireworks/models/llama4-maverick-instruct-basic"),
"perplexity": ("PERPLEXITY_API_KEY", "sonar"),
"openrouter": ("OPENROUTER_API_KEY", "openai/gpt-4o-mini"),
"anthropic": ("ANTHROPIC_API_KEY", "claude-haiku-4-5"),
"anthropic": ("ANTHROPIC_API_KEY", "claude-haiku-4-5"),
"deepseek": ("DEEPSEEK_API_KEY", "deepseek-chat"),
}
PROVIDER_KEYS: dict[str, str] = {
@ -241,7 +242,7 @@ class TestRegistry:
)
assert resp.status_code == 200, f"Registry failed: {resp.text}"
providers = resp.json()
assert len(providers) == 9, f"Expected 9 providers, got {len(providers)}: {providers}"
assert len(providers) == 10, f"Expected 10 providers, got {len(providers)}: {providers}"
print(f"\n {'Provider':<12} {'Base URL'}")
print(f" {'-'*12} {'-'*45}")
for p in providers: