Torna alle guide
Configurazione·4 settembre 2026·Aggiornato il 30 settembre 2026·8 min di lettura

LibreChat vs Open WebUI: quale accetta un endpoint personalizzato con meno attrito

Due variabili d'ambiente contro un blocco YAML — e cosa ti offre il YAML.

Ultima revisione: .

Entrambi funzionano in modalità self-hosted, entrambi parlano il protocollo OpenAI ed entrambi svolgono il lavoro. I confronti che si posizionano per questa domanda allineano tabelle di funzionalità. Questo risponde alla domanda più circoscritta che probabilmente ti ha portato qui: quale dei due accetta un endpoint personalizzato compatibile con OpenAI con meno attrito e cosa offre ciascuno in cambio.

Tutto ciò che viene affermato qui sotto proviene dal README di ciascun progetto. Non c'è alcun benchmark né un verdetto su quale sia migliore, perché non abbiamo eseguito nessuno dei due a una scala che giustifichi una conclusione del genere.

Da dove nasce ciascuno

Open WebUILibreChat
OrigineModelli locali e OllamaClone di ChatGPT multi-provider
Backend citatiOllama, API compatibili con OpenAIAnthropic, AWS Bedrock, OpenAI, Azure OpenAI, Google, Vertex AI, OpenAI Responses API, oltre agli endpoint personalizzati
Configurazione dell'endpoint personalizzatoOPENAI_API_BASE_URL + OPENAI_API_KEY, oppure l'interfaccia ConnectionsUn blocco custom in librechat.yaml
RecuperoRAG locale su nove database vettoriali, ricerca ibrida con reranking, ricerca webChat con file attraverso gli endpoint supportati
Controllo degli accessiRBAC granulare e gruppi di utenti, LDAP/AD, SSO, SCIM 2.0Autenticazione multiutente con OAuth2, LDAP ed email, pannello di amministrazione per utenti, gruppi e ruoli
EstensibilitàFiltri, azioni, pipe, strumenti e skill; server di strumenti MCP e OpenAPIAgenti con strumenti MCP, marketplace per agenti, interprete di codice in sandbox
Installapip, uv, Docker, KubernetesDocker e diverse distribuzioni cloud con un clic

Il modello è che Open WebUI ha investito soprattutto nel lato della distribuzione e del recupero, mentre LibreChat nel lato dei provider e degli agenti. Quale di questi aspetti ti interessa è di solito un criterio di scelta migliore del conteggio delle funzionalità.

Indirizzare Open WebUI verso un gateway

Due variabili d'ambiente e sei operativo:

# 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.

Poiché il selettore dei modelli può essere riempito da GET /v1/models, un endpoint che offre diverse famiglie le inserisce tutte nello stesso menu a tendina — gli ID di Claude e GPT compaiono insieme senza una seconda configurazione.

Indirizzare LibreChat verso un gateway

LibreChat vuole un blocco YAML invece delle variabili d'ambiente: richiede più scrittura, ma offre controllo sui nomi e sui modelli:

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 riga titleModel è quella che vale la pena copiare indipendentemente dall'endpoint: LibreChat genera il titolo di una conversazione con una chiamata al modello e fissarlo sul modello più economico del tuo elenco impedisce che i titoli vengano fatturati alla tariffa del modello con cui stai conversando in quel momento.

Perché mettere un gateway dietro uno dei due

Entrambi i client possono gestire più provider contemporaneamente, quindi un gateway non è obbligatorio. Cambia però il numero di elementi da configurare e di fatture da gestire: un'unica base URL e un'unica chiave al posto di un account, una credenziale e un rapporto di fatturazione per ogni famiglia di modelli. Aggiungere successivamente una famiglia diventa l'inserimento di un model ID in un elenco invece di una nuova integrazione.

Kunavo offre la superficie compatibile con OpenAI utilizzata da entrambi i client, quindi la base URL sopra riportata è tutto ciò di cui hanno bisogno. I dettagli di configurazione per ciascun client sono disponibili nell'hub delle integrazioni, il riferimento dell'endpoint è in chat completions e la guida all'API compatibile con OpenAI spiega cosa include e cosa non include la “compatibilità”.

Domande frequenti

Qual è la differenza tra LibreChat e Open WebUI?

Entrambi sono interfacce di chat open source self-hosted che possono comunicare con API compatibili con OpenAI, e la differenza sta nelle loro origini. Open WebUI è nato attorno a Ollama e ai modelli locali, e il suo README mette in evidenza il RAG locale su nove database vettoriali, RBAC granulare e gruppi di utenti, un sistema di plugin composto da filtri, azioni, pipe e strumenti, oltre all'installazione tramite pip, Docker o Kubernetes. LibreChat è nato come clone di ChatGPT multi-provider: il suo README mette in evidenza il supporto a provider nominati — Anthropic, AWS Bedrock, OpenAI, Azure OpenAI, Google, Vertex AI e OpenAI Responses API — oltre agli endpoint personalizzati, agli agenti con strumenti MCP e a un interprete di codice in sandbox per diversi linguaggi.

Quale dei due è più facile da indirizzare verso un'API personalizzata compatibile con OpenAI?

Open WebUI, se vuoi eseguirlo con un solo comando: la connessione richiede due variabili d'ambiente, OPENAI_API_BASE_URL e OPENAI_API_KEY, e la stessa coppia può essere impostata nell'interfaccia alla voce Connections dopo il primo avvio. LibreChat richiede invece un file YAML: un endpoint personalizzato è un blocco in librechat.yaml con name, apiKey, baseURL e una sezione models. È necessario scrivere di più, ma si ottiene qualcosa in cambio: puoi nominare l'endpoint, controllare quali modelli vengono visualizzati e fissare un modello economico per i titoli delle conversazioni. Nessuno dei due richiede un proxy; la documentazione di LibreChat specifica che gli endpoint personalizzati funzionano senza proxy.

Quale dovrei scegliere per un team?

Confronta l'elenco delle funzionalità di ciascun progetto con il tuo requisito invece di accettare il verdetto di una pagina comparativa, inclusa questa. Open WebUI dichiara RBAC granulare e gruppi di utenti, LDAP/Active Directory, SSO tramite trusted headers e OAuth, oltre al provisioning SCIM 2.0. LibreChat dichiara l'autenticazione multiutente con OAuth2, LDAP e accesso tramite email, oltre a un pannello di amministrazione per utenti, gruppi e ruoli. Entrambi coprono il caso comune; le differenze importanti per una specifica organizzazione si trovano di solito nei dettagli del provisioning, che è il primo posto da esaminare.

È possibile usare Claude e GPT contemporaneamente con uno dei due?

Sì, ed è il motivo principale per mettere un gateway dietro uno dei due. Entrambi accettano un endpoint compatibile con OpenAI e, se quell'endpoint offre diverse famiglie di modelli, tutte compaiono in un unico selettore di modelli con una sola chiave. Senza gateway configuri ogni provider separatamente, con un account e una fatturazione distinti per ciascuno; con un gateway, aggiungere una famiglia di modelli significa aggiungere un model ID a un elenco invece di creare una nuova integrazione.

Ho bisogno di Ollama per usare Open WebUI?

No. Open WebUI supporta Ollama e le API compatibili con OpenAI, e il suo README descrive la possibilità di impostare l'URL dell'API su provider hosted per combinarli. Eseguirlo da solo contro un endpoint hosted è una configurazione supportata, non un workaround — un aspetto importante se vuoi l'interfaccia senza una macchina capace di eseguire modelli localmente.

Un gateway cambia il comportamento di uno dei due client?

Cambia la destinazione delle richieste e il loro costo, non il funzionamento dell'interfaccia. Entrambi i client parlano il protocollo OpenAI con qualsiasi base URL venga loro fornito, quindi funzionalità come RAG, agenti e RBAC appartengono al client e non vengono influenzate. L'unica cosa da verificare è l'elenco dei modelli: entrambi possono riempire il selettore tramite GET /v1/models, quindi i modelli visualizzati sono quelli riportati dall'endpoint, non un elenco hardcoded.