Torna al blog

Strumenti e integrazioniGuida

Collega LibreChat a CheapTokens: endpoint personalizzato in librechat.yaml

Aggiungi un endpoint CheapTokens a LibreChat self-hosted: una voce in librechat.yaml, la chiave come variabile d'ambiente, tre modelli nel menu.

Di CheapTokens TeamPubblicato il 5 min di lettura

Voce di configurazione di LibreChat che punta all'API CheapTokens
In questa pagina
  1. Cosa serve alla voce
  2. Collegalo in tre passaggi
  3. Tre modelli in un unico menu
  4. Se l'endpoint non compare o risponde con un errore

Il tuo LibreChat è in esecuzione, ma il menu dei modelli mostra solo quelli inclusi di serie. Per aggiungere CheapTokens scrivi una voce endpoints.custom in librechat.yaml: un nome, l'URL di base https://api.cheaptokens.dev/v1, la chiave come variabile d'ambiente e un elenco di id dei modelli. Riavvia il container e nel menu compare un endpoint "CheapTokens".

I nomi dei campi qui sotto provengono dal riferimento degli endpoint personalizzati di LibreChat (documentazione del branch "Latest (dev)", verificata il 30 ottobre 2026). La pagina non riporta un numero di versione, quindi se la tua installazione è più vecchia e un campo si comporta diversamente, confronta con la documentazione della tua release. Il lato API è quello della nostra documentazione: formato OpenAI Chat Completions, un unico saldo per ogni modello.

Cosa serve alla voce#

Quattro campi sono obbligatori, e ognuno ha un compito semplice:

  • name — come si chiama l'endpoint nel menu.
  • apiKey — la chiave. La documentazione consiglia un riferimento come ${VAR} invece della chiave stessa, così il segreto resta fuori dal YAML.
  • baseURL — dove vanno le richieste: https://api.cheaptokens.dev/v1.
  • models.default — l'elenco degli id dei modelli mostrati nel menu.

Vale la pena impostare due campi opzionali. titleConvo: true permette a LibreChat di dare un nome alle tue chat (i titoli vengono creati a meno che non sia false), e modelDisplayLabel è l'etichetta accanto alle risposte (il valore predefinito è "AI"). models.fetch è false per impostazione predefinita, quindi LibreChat non chiederà all'API un elenco di modelli; il menu deriva da models.default. Ecco perché gli id qui sotto sono scritti per esteso.

Collegalo in tre passaggi#

Passo dopo passo

Collega LibreChat (Docker)

Fornisci la chiave al container

La chiave deve arrivare al container LibreChat come variabile d'ambiente. La documentazione di LibreChat ti consente di impostare le variabili in docker-compose.override.yml sotto environment, quindi crea quel file accanto a docker-compose.yml. Il nome della variabile è a tua scelta, scegline uno qualsiasi, basta che sia identico nel YAML:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here

Il valore è un segnaposto: usa la chiave dalla tua dashboard CheapTokens.

Aggiungi l'endpoint a librechat.yaml

Crea librechat.yaml accanto a docker-compose.yml. La struttura segue l'esempio Mistral nella documentazione di LibreChat, con il nostro indirizzo e i nostri id:

yaml
endpoints:
  custom:
    - name: 'CheapTokens'
      apiKey: '${CHEAPTOKENS_API_KEY}'
      baseURL: 'https://api.cheaptokens.dev/v1'
      models:
        default:
          - 'zai-org/GLM-5.3-Flash'
          - 'deepseek-ai/DeepSeek-V4-Flash-0731'
          - 'MiniMaxAI/MiniMax-M2.7'
      titleConvo: true
      modelDisplayLabel: 'CheapTokens'

Monta il file e riavvia

Il container deve vedere il file. Aggiungi volumes allo stesso docker-compose.override.yml, così ora contiene entrambi:

yaml
services:
  api:
    environment:
      CHEAPTOKENS_API_KEY: ct_your_key_here
    volumes:
      - ./librechat.yaml:/app/librechat.yaml

Poi applicalo:

bash
docker compose up -d
Dalla chiave al menu: variabile d'ambiente, librechat.yaml, il mount, poi CheapTokens nell'elenco dei modelli
Il percorso dalla chiave all'endpoint CheapTokens nel menu di LibreChat

Apri LibreChat nel browser, avvia una nuova chat e scegli CheapTokens nel menu degli endpoint. I tre modelli sono nell'elenco. Invia "Say hi in one sentence" e dovresti ricevere una risposta. Se non succede, vai all'ultima sezione.

Tre modelli in un unico menu#

Questa è la parte che rende utile una chat self-hosted. Supponi di gestirla per un piccolo team. La maggior parte delle domande sono quotidiane: riscrivi questa email, spiega questo errore. Per queste basta zai-org/GLM-5.3-Flash, con una finestra di contesto di 390K e fino a 8.192 token per risposta. Quando qualcuno incolla un documento lungo e vuole una risposta lunga, passa la stessa chat a deepseek-ai/DeepSeek-V4-Flash-0731 (contesto 380K, fino a 32.768 token per risposta). MiniMaxAI/MiniMax-M2.7 (contesto 180K) è il terzo parere quando due risposte sono in disaccordo. Nessun secondo abbonamento, nessuna seconda chiave: tutti e tre sono fatturati da un unico saldo.

Quanto costa quella chat? Prendi un team di cinque persone che inviano 200 messaggi al giorno, ognuno con circa 3.000 token di input (la cronologia cresce) e con circa 500 token restituiti:

Modello Per richiesta 200 richieste OpenRouter, 200 richieste
GLM-5.3-Flash $0.00008 $0.016 $0.0284
DeepSeek-V4-Flash $0.000095 $0.019 $0.056
MiniMax-M2.7 $0.00023 $0.045 $0.54

3000 token di input e 500 token di output per richiesta. I prezzi per 1M di token sono attuali e cambiano insieme alle nostre tariffe; la colonna OpenRouter mostra i prezzi di riferimento per lo stesso carico di lavoro.

Nella tabella, il prezzo di ciascun modello per quelle 200 richieste è calcolato sommando input e output, e in totale risulta più economico di OpenRouter. Scegli la riga che corrisponde al tuo utilizzo e confrontala con la pagina dei prezzi.

Provalo tu stessoProvalo: invia una domanda a due modelliMostra risposta

Apri una nuova chat, scegli zai-org/GLM-5.3-Flash e chiedi il riassunto di un paragrafo che conosci bene. Passa al modello deepseek-ai/DeepSeek-V4-Flash-0731 nello stesso menu e chiedi di nuovo. Confronta la lunghezza e il tono delle due risposte: è in base a questo che decidi il modello predefinito.

Se l'endpoint non compare o risponde con un errore#

La maggior parte dei problemi è uno di tre casi. Scegli quello che corrisponde a ciò che vedi:

Scegli il tuo caso

Cosa vedi?

CheapTokens manca dal menu

LibreChat non ha mai letto il tuo file. Verifica che librechat.yaml sia montato in /app/librechat.yaml (il file di override qui sopra), che l'indentazione del YAML sia intatta e che tu abbia eseguito docker compose up -d dopo la modifica.

401 Unauthorized

La chiave manca o è sbagliata. Verifica che il nome dopo ${ in librechat.yaml sia esattamente il nome della variabile d'ambiente e che nella chiave non siano stati incollati spazi o virgolette. Maggiori dettagli su questo errore in API 401 o 404.

404 o un errore sul modello

L'id del modello è sbagliato. Usa l'id completo come deepseek-ai/DeepSeek-V4-Flash-0731; il nome breve non è accettato. Puoi elencare gli id esatti con i passaggi in Elenca i modelli con GET /v1/models.

Una volta che il primo messaggio passa, puoi aggiungere altri id a models.default ogni volta che vuoi un altro modello nel menu. Preferisci un front end diverso? La stessa idea, un URL di base più una chiave, è in Collega Open WebUI a CheapTokens, e il quadro generale è in API compatibile con OpenAI: cos'è base_url. I modelli stessi sono nella pagina GLM.