Files
2026-06-09 18:40:21 +02:00

169 lines
6.5 KiB
Markdown

---
title: LibreChat
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, artificial-intelligence, llm, frontend, multi-llm, typescript, react, ollama, openai, auto-hebergement]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Artificial+Intelligence, https://github.com/danny-avila/LibreChat]
---
# 💬 LibreChat
> **Clone de ChatGPT unifié et open source** — interface unique pour dialoguer avec **tous vos LLMs** (OpenAI, Anthropic, Google, Ollama local, et plus), avec mémoire long-terme, agents MCP, artefacts, code interpreter et gestion multi-utilisateurs prête pour la production.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [librechat.ai](https://www.librechat.ai/) |
| **GitHub** | [danny-avila/LibreChat](https://github.com/danny-avila/LibreChat) |
| **License** | MIT |
| **Langage** | TypeScript, React, Node.js |
| **Étoiles** | 7 887 ⭐ |
| **Dernière MAJ** | 2026-06-06 |
| **Catégorie** | [[cat-artificial-intelligence]] |
## Description
**LibreChat** est né d'un constat simple : pourquoi payer ChatGPT Plus pour accéder à GPT-4, Claude, Gemini, et aux modèles locaux, alors qu'on peut tout avoir dans **une seule interface auto-hébergée** ? C'est l'ambition du projet : devenir **le point d'entrée universel** pour tous les LLMs, qu'ils soient cloud ou locaux.
La **liste des providers supportés** est impressionnante : OpenAI (avec toutes les options de vision, dall-e, etc.), **Anthropic** (Claude Sonnet, Opus, Haiku), **Google Gemini**, **Mistral**, **Groq**, **OpenRouter** (qui agrège des centaines de modèles), **Ollama** (modèles locaux), et tout backend **OpenAI-compatible** ([[app-localai]], vLLM, etc.). On peut **basculer d'un modèle à l'autre au milieu d'une conversation** pour comparer les réponses — un *killer feature* unique à LibreChat.
Les **fonctionnalités modernes** sont au rendez-vous : **mémoire long-terme** persistante (l'agent se souvient entre sessions), **artefacts** (zone latérale pour afficher du HTML, React, Mermaid généré par l'IA), **code interpreter** (sandbox Python), **recherche web** intégrée, **upload de fichiers** (PDF, DOCX, CSV), **custom presets** (rôles GPT-like), et **agents MCP (Model Context Protocol)** qui permettent d'étendre les capacités via des outils standards.
Côté **administration**, LibreChat excelle : **authentification multi-providers** (email/password, OAuth Google/GitHub/Discord/Apple, LDAP, SAML), **RBAC granulaire** par modèle, **quotas**, **multi-utilisateurs** avec isolation des conversations, et **API admin** pour scripter. C'est probablement **la solution la plus complète** pour une PME ou un homelab familial qui veut offrir un accès IA à plusieurs personnes.
## Installation
### Option 1 : Docker Compose (recommandé)
```yaml
# docker-compose.yml
version: '3.8'
services:
librechat:
image: ghcr.io/danny-avila/librechat:latest
container_name: librechat
restart: unless-stopped
ports:
- "3080:3080"
env_file:
- .env
volumes:
- librechat_data:/app/data
- librechat_images:/app/client/public/images
depends_on:
- mongodb
- rag-api
mongodb:
image: mongo:7
container_name: librechat-mongo
restart: unless-stopped
volumes:
- mongo_data:/data/db
command: mongod --replSet rs0
healthcheck:
test: echo "try { rs.status() } catch (err) { rs.initiate() }" | mongosh --quiet
interval: 10s
timeout: 5s
retries: 30
rag-api:
image: ghcr.io/danny-avila/librechat-rag-api-dev:latest
container_name: librechat-rag
restart: unless-stopped
ports:
- "8001:8001"
env_file:
- .env
volumes:
mongo_data:
librechat_data:
librechat_images:
```
### Option 2 : Installation manuelle
```bash
# Prérequis : Node 20+, MongoDB 6+, Meilisearch (optionnel)
git clone https://github.com/danny-avila/LibreChat.git
cd LibreChat
cp .env.example .env # éditer avec vos clés API
npm install
npm run backend:build
npm run frontend:build
npm start
```
## Configuration
Le fichier `.env` est central. Sections clés :
```bash
# --- LLM Providers ---
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_KEY=...
OLLAMA_API_BASE_URL=http://ollama:11434
# --- Auth ---
ALLOW_EMAIL_LOGIN=*** ALLOW_GOOGLE_LOGIN=true
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
# --- Recherche (optionnel) ---
MEILI_HOST=http://meilisearch:7700
MEILI_MASTER_KEY=...
# --- RAG ---
RAG_API_URL=http://rag-api:8001
```
Les **endpoints personnalisés** (custom endpoints) permettent d'ajouter n'importe quel backend OpenAI-compatible dans la même UI que les modèles officiels.
## Alternatives
### Open Source
- [[app-open-webui]] — concurrent direct, plus simple d'admin, RAG intégré nativement
- [[app-lobe-chat|LobeChat]] — équivalent plus design, moins de features d'admin
- **ChatGPT-Next-Web** — clone minimaliste, sans mémoire ni multi-users
- **Hugging Face Chat UI** — officiel HF
- **TypingMind** — fork commercial self-hosted
### Propriétaires (ce que cette app remplace)
- **ChatGPT Team / Enterprise** — multi-users, mémoire, à 25$/user/mois
- **Claude Pro / Team** — sans la jailbreak
- **Poe** (Quora) — multi-LLM, mais cloud
- **You.com** — multi-LLM, payant
- **Microsoft Copilot Studio** — verrouillage enterprise
## Sécurité
- **Authentification** : activer au minimum `ALLOW_EMAIL_LOGIN=*** et un provider OAuth pour réduire le risque de brute force
- **API keys** : stockées chiffrées en DB Mongo, mais préférer un vault ([[app-infisical|Infisical]], Vault) pour les déploiements production
- **Code interpreter** : sandboxé, mais consomme des ressources — surveiller l'usage
- **Upload de fichiers** : comme tout système avec extraction de documents, mettre à jour régulièrement
- **HTTPS obligatoire** : passer par un reverse proxy ([[app-caddy]], [[app-traefik]])
- **MongoDB** : ne JAMAIS exposer le port 27017 sur Internet, garder `bindIp: 127.0.0.1` ou utiliser le réseau Docker interne uniquement
## Ressources
- [Site officiel](https://www.librechat.ai/)
- [Documentation](https://www.librechat.ai/docs/)
- [GitHub](https://github.com/danny-avila/LibreChat)
- [Discord communautaire](https://discord.gg/librechat)
## Pages Liées
- [[cat-artificial-intelligence]] — Catégorie parente
- [[recettes-docker-compose]] — Templates Docker Compose
- [[app-open-webui]] — Concurrent principal
- **Ollama** — Modèles locaux _(fiche à créer)_
- [[app-mongodb|MongoDB]] — Dépendance backend _(fiche à créer)_