Retour aux guides
Configuration·4 septembre 2026·Mis à jour le 30 septembre 2026·8 min de lecture

LibreChat ou Open WebUI — lequel accepte un endpoint personnalisé avec le moins de friction

Deux variables d’environnement contre un bloc YAML — et ce que le YAML vous apporte.

Dernière vérification le .

Les deux s'exécutent en auto-hébergement, parlent le protocole OpenAI et feront tous deux l'affaire. Les comparatifs qui se classent pour cette question alignent des tableaux de fonctionnalités. Celui-ci répond à la question plus précise qui vous a probablement amené ici : lequel accepte un endpoint personnalisé compatible avec OpenAI avec le moins de friction, et ce que chacun vous offre en échange.

Tout ce qui est affirmé ci-dessous provient du README de chaque projet. Il n'y a ici ni benchmark ni verdict sur le meilleur choix, car nous n'avons exécuté aucun des deux à une échelle qui permettrait de le justifier.

Origine de chacun

Open WebUILibreChat
OrigineModèles locaux et OllamaClone de ChatGPT multiprestataire
Backends mentionnésOllama, API compatibles avec OpenAIAnthropic, AWS Bedrock, OpenAI, Azure OpenAI, Google, Vertex AI, API OpenAI Responses, ainsi que des endpoints personnalisés
Configuration d'un endpoint personnaliséOPENAI_API_BASE_URL + OPENAI_API_KEY, ou l'interface ConnectionsUn bloc custom dans librechat.yaml
RécupérationRAG local sur neuf bases vectorielles, recherche hybride avec reranking, recherche webChat avec des fichiers sur ses endpoints pris en charge
Contrôle d'accèsRBAC granulaire et groupes d'utilisateurs, LDAP/AD, SSO, SCIM 2.0Authentification multi-utilisateur avec OAuth2, LDAP et e-mail, panneau d'administration pour les utilisateurs, groupes et rôles
ExtensibilitéFiltres, actions, pipes, outils et skills ; serveurs d'outils MCP et OpenAPIAgents avec outils MCP, marketplace d'agents, interpréteur de code isolé
Installerpip, uv, Docker, KubernetesDocker et plusieurs déploiements cloud en un clic

Le schéma est le suivant : Open WebUI a surtout investi dans le déploiement et la récupération, tandis que LibreChat a davantage investi dans les prestataires et les agents. L'importance que vous accordez à ces aspects constitue généralement un meilleur critère de départage que le nombre de fonctionnalités.

Connecter Open WebUI à une passerelle

Deux variables d'environnement, et c'est lancé :

# Open WebUI — the OpenAI-compatible connection is a base URL and a key.
docker run -d -p 3000:8080 \
  -e OPENAI_API_BASE_URL=https://api.kunavo.com/v1 \
  -e OPENAI_API_KEY=sk-kn-... \
  -v open-webui:/app/backend/data \
  --name open-webui ghcr.io/open-webui/open-webui:main

# The same two values can be set in Settings -> Connections after
# first launch, which is the faster path when you are trying it out.

Comme le sélecteur de modèles peut être alimenté depuis GET /v1/models, un endpoint qui sert plusieurs familles les place toutes dans une seule liste déroulante — les identifiants Claude et GPT apparaissent ensemble, sans seconde configuration.

Connecter LibreChat à une passerelle

LibreChat demande un bloc YAML plutôt que des variables d'environnement ; cela demande davantage de saisie, mais vous donne le contrôle du nom et des modèles :

librechat.yaml
# LibreChat — a custom endpoint is a block in librechat.yaml.
version: 1.2.1
endpoints:
  custom:
    - name: "Kunavo"
      apiKey: "${KUNAVO_API_KEY}"
      baseURL: "https://api.kunavo.com/v1"
      models:
        default: ["claude-sonnet-5", "gpt-5-6-terra", "claude-haiku-4-5"]
        fetch: true          # populate the picker from GET /v1/models
      titleConvo: true
      titleModel: "claude-haiku-4-5"
      modelDisplayLabel: "Kunavo"

La ligne titleModel mérite d'être copiée quel que soit l'endpoint : LibreChat génère le titre d'une conversation avec un appel de modèle, et le fait de le fixer au modèle le moins cher de votre liste évite que les titres soient facturés au tarif du modèle utilisé pour votre conversation.

Pourquoi placer une passerelle derrière l'un ou l'autre

Les deux clients peuvent gérer plusieurs prestataires simultanément, donc une passerelle n'est pas obligatoire. Elle modifie le nombre d'éléments que vous configurez et de factures que vous recevez : une URL de base et une clé remplacent un compte, un identifiant et une relation de facturation par famille de modèles. L'ajout ultérieur d'une famille devient l'ajout d'un identifiant de modèle dans une liste plutôt qu'une nouvelle intégration.

Kunavo fournit la surface compatible avec OpenAI utilisée par les deux clients ; l'URL de base ci-dessus est donc tout ce dont l'un ou l'autre a besoin. Les détails de configuration propres à chaque client se trouvent dans le hub des intégrations, la référence des endpoints dans chat completions, et le guide de l'API compatible avec OpenAI explique ce que signifie « compatible » et ce que cela n'inclut pas.

Questions fréquentes

Quelle est la différence entre LibreChat et Open WebUI ?

Les deux sont des interfaces de chat open source auto-hébergées capables de communiquer avec des API compatibles avec OpenAI ; la différence tient à leurs origines respectives. Open WebUI s'est développé autour d'Ollama et des modèles locaux, et son README met en avant le RAG local sur neuf bases vectorielles, un RBAC granulaire et des groupes d'utilisateurs, un système de plugins composé de filtres, d'actions, de pipes et d'outils, ainsi qu'une installation via pip, Docker ou Kubernetes. LibreChat s'est développé comme un clone de ChatGPT multiprestataire : son README met en avant la prise en charge de prestataires nommés — Anthropic, AWS Bedrock, OpenAI, Azure OpenAI, Google, Vertex AI et l'API OpenAI Responses — ainsi que les endpoints personnalisés, les agents avec outils MCP et un interpréteur de code isolé prenant en charge plusieurs langages.

Lequel est le plus facile à connecter à une API personnalisée compatible avec OpenAI ?

Open WebUI, si vous voulez le lancer en une commande : la connexion repose sur deux variables d'environnement, OPENAI_API_BASE_URL et OPENAI_API_KEY, et cette même paire peut être définie dans l'interface, sous Connections, après le premier lancement. LibreChat demande à la place un fichier YAML : un endpoint personnalisé est un bloc dans librechat.yaml contenant name, apiKey, baseURL et une section models. Cela demande davantage de saisie, mais offre un avantage : vous nommez l'endpoint, contrôlez les modèles affichés et pouvez définir un modèle peu coûteux pour les titres des conversations. Aucun des deux n'a besoin d'un proxy ; la documentation de LibreChat précise explicitement que les endpoints personnalisés fonctionnent sans proxy.

Lequel dois-je choisir pour une équipe ?

Comparez la liste des fonctionnalités de chaque projet avec votre besoin, plutôt que de vous fier au verdict d'une page comparative, y compris celle-ci. Open WebUI indique un RBAC granulaire et des groupes d'utilisateurs, LDAP/Active Directory, le SSO via des en-têtes de confiance et OAuth, ainsi que le provisionnement SCIM 2.0. LibreChat indique une authentification multi-utilisateur avec OAuth2, LDAP et connexion par e-mail, ainsi qu'un panneau d'administration pour les utilisateurs, groupes et rôles. Les deux couvrent le cas courant ; les différences importantes pour une organisation donnée se trouvent généralement dans les détails du provisionnement, qu'il faut examiner en premier.

Les deux peuvent-ils utiliser Claude et GPT simultanément ?

Oui, et c'est la principale raison de placer une passerelle derrière l'un ou l'autre. Les deux acceptent un endpoint compatible avec OpenAI ; si cet endpoint sert plusieurs familles de modèles, elles apparaissent toutes dans un même sélecteur sous une seule clé. Sans passerelle, vous configurez chaque prestataire séparément, avec un compte et une facturation distincts pour chacun ; avec une passerelle, l'ajout d'une famille de modèles consiste à ajouter un identifiant de modèle dans une liste plutôt qu'à créer une nouvelle intégration.

Ai-je besoin d'Ollama pour utiliser Open WebUI ?

Non. Open WebUI prend en charge Ollama et les API compatibles avec OpenAI, et son propre README explique comment pointer l'URL de l'API vers des prestataires hébergés pour les combiner. L'utiliser uniquement avec un endpoint hébergé est une configuration prise en charge, et non un contournement — ce qui est important si vous voulez l'interface sans machine capable d'exécuter des modèles localement.

Une passerelle modifie-t-elle le fonctionnement de l'un ou l'autre client ?

Elle modifie la destination des requêtes et leur coût, mais pas le fonctionnement de l'interface. Les deux clients parlent le protocole OpenAI à l'URL de base qui leur est fournie ; les fonctionnalités comme le RAG, les agents et le RBAC sont donc des propriétés du client et restent inchangées. Le seul point à vérifier est la liste des modèles : les deux peuvent alimenter leur sélecteur depuis GET /v1/models ; les modèles visibles sont donc ceux que l'endpoint renvoie, et non une liste codée en dur.