Ajouter des providers personnalisés
Pourquoi utiliser des providers tiers ?
Par défaut, Vibe communique avec l’API Mistral. Mais l’architecture de l’outil est conçue pour être agnostique : vous pouvez ajouter n’importe quel provider compatible avec le format d’API OpenAI. Cela ouvre des possibilités intéressantes :
- Accéder à des modèles d’autres fournisseurs (Claude, GPT-4, Llama, etc.)
- Utiliser des relais comme OpenRouter pour comparer les modèles
- Pointer vers une instance locale (Ollama, vLLM, etc.)
- Basculer entre providers selon les tâches
Anatomie d’un provider
Un provider se déclare dans config.toml avec la directive [[providers]] :
[[providers]]
name = "openrouter"
api_base = "https://openrouter.ai/api/v1"
api_key_env_var = "OPENROUTER_API_KEY"
api_style = "openai"
backend = "generic"
Chaque champ a un rôle précis :
- name — Identifiant unique du provider (utilisé pour référencer les modèles)
- api_base — URL de base de l’API (le endpoint
/chat/completionssera ajouté automatiquement) - api_key_env_var — Nom de la variable d’environnement contenant la clé API
- api_style — Format de l’API. Utilisez
"openai"pour tout provider compatible OpenAI - backend — Type de backend.
"generic"fonctionne pour la plupart des cas
Exemples de providers courants
| Provider | api_base | api_key_env_var |
|---|---|---|
| OpenRouter | https://openrouter.ai/api/v1 | OPENROUTER_API_KEY |
| Ollama (local) | http://localhost:11434/v1 | — |
| Together AI | https://api.together.xyz/v1 | TOGETHER_API_KEY |
| Groq | https://api.groq.com/openai/v1 | GROQ_API_KEY |
| vLLM (self-hosted) | http://votre-serveur:8000/v1 | — |
Déclarer un modèle sur un provider
Une fois le provider déclaré, ajoutez les modèles que vous souhaitez utiliser :
[[models]]
name = "mistralai/devstral-2512:free"
provider = "openrouter"
alias = "devstral-openrouter"
temperature = 0.2
Les champs importants :
- name — Identifiant du modèle tel que le provider le connaît
- provider — Doit correspondre au
named’un provider déclaré - alias — Nom raccourci pour l’utiliser dans Vibe
- temperature — Paramètre de créativité (0.0 = déterministe, 1.0 = créatif)
Pour activer ce modèle par défaut :
active_model = "devstral-openrouter"
Exemple complet : OpenRouter
Voici une configuration complète pour utiliser OpenRouter comme provider alternatif :
# ~/.vibe/config.toml
# Provider OpenRouter
[[providers]]
name = "openrouter"
api_base = "https://openrouter.ai/api/v1"
api_key_env_var = "OPENROUTER_API_KEY"
api_style = "openai"
backend = "generic"
# Modèle Devstral gratuit via OpenRouter
[[models]]
name = "mistralai/devstral-2512:free"
provider = "openrouter"
alias = "devstral-free"
temperature = 0.2
# Modèle Llama via OpenRouter
[[models]]
name = "meta-llama/llama-3.3-70b-instruct"
provider = "openrouter"
alias = "llama-70b"
temperature = 0.3
N’oubliez pas de définir la variable d’environnement :
export OPENROUTER_API_KEY="sk-or-votre-cle-ici"
Basculer entre modèles
En cours de session, changez de modèle avec la commande /model :
/model devstral-free
Ou directement au lancement :
vibe --model llama-70b
Provider local avec Ollama
Pour utiliser un modèle local via Ollama (aucune clé API nécessaire) :
[[providers]]
name = "ollama"
api_base = "http://localhost:11434/v1"
api_key_env_var = ""
api_style = "openai"
backend = "generic"
[[models]]
name = "codestral:latest"
provider = "ollama"
alias = "codestral-local"
L’avantage d’un provider local : vos données ne quittent jamais votre machine. C’est l’option idéale pour travailler sur du code sensible ou en mode hors-ligne.
Points clés à retenir
- Vibe supporte tout provider compatible avec le format d’API OpenAI
- Un provider se déclare avec
[[providers]]dans config.toml - Chaque modèle est rattaché à un provider et peut avoir un alias
/modelpermet de basculer entre modèles en cours de session- Les providers locaux (Ollama, vLLM) permettent de travailler hors-ligne