feat(providers): add Eden AI as an OpenAI-compatible gateway provider

Eden AI (https://www.edenai.co) is an EU-hosted, OpenAI-compatible gateway exposing 100+ models from many providers through a single endpoint and API key. Models use the provider/model naming scheme (the full id is sent upstream, like OpenRouter).

Adds it following the registry's documented two-step recipe:
- a ProviderSpec in providers/registry.py (backend openai_compat, gateway, default_api_base https://api.edenai.run/v3, EDENAI_API_KEY, reasoning_effort)
- the matching field in ProvidersConfig (config/schema.py)

API key via EDENAI_API_KEY only; never hardcoded.

Signed-off-by: Victor M. SMITH <72023257+MVS-source@users.noreply.github.com>
This commit is contained in:
Victor M. SMITH 2026-07-09 16:39:17 +02:00 committed by Xubin Ren
parent 84f98f5e92
commit f42a44817a
2 changed files with 14 additions and 0 deletions

View File

@ -269,6 +269,7 @@ class ProvidersConfig(Base):
ant_ling: ProviderConfig = Field(default_factory=ProviderConfig) # Ant Ling
aihubmix: ProviderConfig = Field(default_factory=ProviderConfig) # AiHubMix API gateway
siliconflow: ProviderConfig = Field(default_factory=ProviderConfig) # SiliconFlow (硅基流动)
edenai: ProviderConfig = Field(default_factory=ProviderConfig) # Eden AI API gateway (EU, OpenAI-compatible)
novita: ProviderConfig = Field(default_factory=ProviderConfig) # Novita AI
volcengine: ProviderConfig = Field(default_factory=ProviderConfig) # VolcEngine (火山引擎)
volcengine_coding_plan: ProviderConfig = Field(default_factory=ProviderConfig) # VolcEngine Coding Plan

View File

@ -196,6 +196,19 @@ PROVIDERS: tuple[ProviderSpec, ...] = (
supports_prompt_caching=True,
gateway_reasoning_style="reasoning_effort",
),
# Eden AI: EU-hosted, OpenAI-compatible gateway. Models use the "provider/model"
# naming scheme (e.g. "anthropic/claude-sonnet-4-5"); the full id is sent upstream.
ProviderSpec(
name="edenai",
keywords=("edenai", "eden"),
env_key="EDENAI_API_KEY",
display_name="Eden AI",
backend="openai_compat",
is_gateway=True,
detect_by_base_keyword="edenai",
default_api_base="https://api.edenai.run/v3",
gateway_reasoning_style="reasoning_effort",
),
# OpenCode Zen: OpenAI-compatible chat-completions gateway for coding models.
# models.dev/OpenCode use provider id "opencode" and model ids like
# "opencode/<model>"; send the bare model upstream.