169 lines
6.5 KiB
Markdown
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)_
|