Aggiungi modelli cloud del catalogo a Jan senza abbandonare il local-first.

Updated 2026-07-29

Jan esegue i modelli sulla tua macchina per design, e le sue impostazioni Model Providers accettano qualsiasi endpoint compatibile OpenAI per i giorni in cui il locale non basta: aggiungi un provider, imposta la Base URL su https://api.apisrouter.com/v1, incolla una chiave, e gli id di Claude, GPT, Gemini e DeepSeek si uniscono alla tua formazione locale.

Risposta rapida: un provider in Impostazioni.

Apri le Impostazioni di Jan e vai su Model Providers. Clicca sul controllo più accanto all'elenco dei provider per aggiungere un provider personalizzato, dagli un nome (APIsRouter), e nelle build recenti scegli il formato OpenAI API quando la finestra di dialogo lo chiede (Jan v0.8.1 ha aggiunto un selettore di formato OpenAI-o-Anthropic; per un gateway scegli OpenAI). Poi compila i due campi che contano: Base URL https://api.apisrouter.com/v1 e la tua chiave API. Aggiungi i modelli che vuoi per id: la documentazione di Jan è esplicita sul fatto che la proprietà id deve corrispondere al nome del modello servito dall'endpoint, quindi copia gli id dall'elenco del catalogo (claude-sonnet-4-6, gpt-5.4-mini, gemini-3.5-flash) invece di digitarli a memoria. Salva, e gli id appaiono nel selettore di modello accanto a qualsiasi cosa tu esegua localmente. Le etichette si sono spostate tra le release (le versioni più vecchie chiamavano quest'area Remote Engines), quindi tratta provider, formato, URL, chiave, modelli come lo scheletro stabile.

Name:        APIsRouter
API Format:  OpenAI          (v0.8.1+ selector)
Base URL:    https://api.apisrouter.com/v1
API Key:     sk-YOUR-APISROUTER-KEY

Models: add ids that match the endpoint, e.g.
  claude-sonnet-4-6, gpt-5.4-mini, gemini-3.5-flash

Come Jan tratta i provider remoti.

Jan (menloresearch su GitHub, circa 44K stelle) è il client desktop local-first: i modelli si scaricano sulla tua macchina, girano tramite llama.cpp, e funzionano offline, con l'app che espone persino un proprio server compatibile OpenAI a http://127.0.0.1:1337/v1 per altri strumenti. I provider remoti sono la seconda corsia deliberata, per modelli troppo grandi per girare localmente o task che meritano qualità di frontiera. Un provider personalizzato nel formato OpenAI è una semplice descrizione di endpoint: base URL, chiave, id di modello dichiarati. Le conversazioni contro quegli id escono come richieste standard chat-completions con l'id come stringa del modello, quindi un gateway multi-vendor richiede esattamente una voce. Claude per la scrittura accurata, DeepSeek per il riassunto in volume, Gemini per la velocità, una chiave dietro tutti loro. L'adattamento filosofico è migliore di quanto sembri a prima vista. Gli utenti local-first tendono a essere deliberati su cosa lascia la macchina, e un gateway mantiene la corsia remota altrettanto deliberata: un endpoint da mettere dietro un firewall, un log di utilizzo da leggere, un saldo che si muove solo quando hai scelto di inviare qualcosa fuori. Niente cambia nella corsia locale; i tuoi modelli scaricati continuano a funzionare offline esattamente come prima.

Dichiarare i modelli: il contratto dell'id.

Jan non recupera per te il catalogo di un endpoint personalizzato; i modelli che dichiari sono i modelli che ottieni, e l'id è il contratto. L'ortografia autorevole viene dall'elenco /v1/models del gateway, suffissi di versione inclusi. Un id dichiarato che si discosta dall'elenco produce errori not-found solo quando quel modello viene selezionato, il che sembra un provider instabile finché non confronti le stringhe. Dichiara con intenzione. Un selettore local-first funziona meglio quando le righe remote sono poche e mirate: un id veloce per i turni remoti quotidiani (gpt-5.4-mini o claude-haiku-4-5-20251001), un id di frontiera per il lavoro che giustifica l'uscita dalla macchina (claude-sonnet-4-6), e qualunque specialista il tuo carico di lavoro meriti (deepseek-v4-flash per riassunti multilingue lunghi, gemini-3.5-flash quando la latenza è la caratteristica). Ogni riga è facile da aggiungere dopo; un catalogo incollato in blocco è rumore che scorri ogni giorno. Se usi anche il server API locale di Jan per servire altri strumenti, mantieni chiaro il modello mentale: quel server è Jan che fa da provider su 127.0.0.1:1337/v1; la voce del provider personalizzato è Jan che fa da client. I due sono indipendenti, e configurarne uno non influisce mai sull'altro.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# declare these ids verbatim in the provider's model list

Scegliere quali conversazioni lasciano la macchina.

Poiché l'utilizzo remoto è prepagato e misurato per chiave, il costo della corsia remota è un numero che leggi, non un abbonamento che indovini. Esegui un mese della tua vera suddivisione e il log di utilizzo ti dice esattamente quanto costa lasciare la macchina, per modello, per giorno.

  • I turni remoti quotidiani, domande veloci, riscritture, traduzioni, appartengono al livello veloce: gpt-5.4-mini e claude-haiku-4-5-20251001 rispondono rapidamente e mantengono il saldo quasi fermo.
  • claude-sonnet-4-6 è il passo successivo per il lavoro che un modello locale visibilmente non riesce a portare: stesura lunga e accurata, revisione del codice sottile, analisi che inoltrerai.
  • gemini-3.5-flash guadagna il suo posto sulla latenza; per turni interattivi brevi si sente il più vicino alla reattività di un modello locale.
  • deepseek-v4-flash è la scelta per il volume nel riassumere documenti lunghi che non daresti in pasto a un piccolo modello locale.
  • Tieni il materiale privato interamente sui modelli locali; la separazione tra corsie è il punto stesso di eseguire Jan.

Pagamento a consumo · sotto i prezzi ufficiali

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

ModelloPrezzo ufficialeIl nostro prezzo
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
GPT-5.4 mini$0.75 / $4.50 per M$0.60 / $3.60 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M
DeepSeek V4 Flash$0.14 / $0.28 per M$0.10 / $0.30 per M

Modalità di errore specifiche di Jan.

Gli errori not-found su un modello specifico sono il contratto dell'id: l'id dichiarato non corrisponde all'ortografia dell'endpoint. Confronta con l'output di /v1/models carattere per carattere. I fallimenti di autenticazione su ogni richiesta sono il campo della chiave. Un provider che si salva ma non risponde mai di solito ha un problema di Base URL: il suffisso /v1 deve essere presente, poiché Jan aggiunge percorsi di route come /chat/completions alla base che fornisci, e un segmento raddoppiato o mancante restituisce 404. Se il provider è stato creato su una build più vecchia, controlla il formato API: v0.8.1 ha introdotto il selettore OpenAI-o-Anthropic, e una voce gateway impostata accidentalmente sul formato Anthropic parla il dialetto sbagliato a un endpoint /v1/chat/completions. E ricorda quale corsia stai facendo debug. I fallimenti dei modelli locali (VRAM, quantizzazione, impostazioni llama.cpp) e i fallimenti remoti (URL, chiave, id) condividono una finestra di chat ma nient'altro; il selettore di modello mostra a quale corsia appartiene una conversazione che fallisce prima che tu inizi a tirare il filo sbagliato.

Chi aggiunge una corsia gateway a Jan.

  • Utenti local-first che occasionalmente hanno bisogno di qualità di frontiera e vogliono quella corsia occasionale su un saldo prepagato invece che un abbonamento fornitore.
  • Sviluppatori su macchine che non possono eseguire bene grandi modelli locali, usando Jan come interfaccia e il gateway per il lavoro pesante.
  • Utenti attenti alla privacy che vogliono esattamente un endpoint remoto su cui ragionare, mettere dietro un firewall e verificare, invece di uno per fornitore.
  • Persone che confrontano l'output locale contro quello cloud su task reali, dove i candidati remoti sono righe dichiarate, non nuovi account.
  • Sviluppatori senza accesso alla fatturazione di un dato fornitore. L'accesso basato su ricarica senza obbligo di carta rimuove la dipendenza dalla registrazione per provider.

Verifica l'endpoint e fai debug del primo turno remoto.

Fai una curl sull'elenco dei modelli e su un completamento chat prima di tutto; con entrambi che passano, tutto ciò che resta è nella voce del provider. Questo ti fornisce anche l'ortografia esatta degli id da dichiarare. Dentro Jan, invia un breve messaggio sull'id remoto veloce. Gli errori di autenticazione sono la chiave; not-found è l'id; silenzio o 404 sono la forma della Base URL. Se la corsia remota funziona ma sembra lenta sull'id di frontiera, quella è latenza del modello, non un problema di configurazione; i modelli di ragionamento si prendono il loro tempo sui turni lunghi. Una volta che i turni remoti scorrono, la console di APIsRouter mostra il modello per richiesta, i conteggi dei token e la spesa. Per un utente local-first, questo log è una lettura insolitamente soddisfacente: è il registro completo di tutto ciò che è mai uscito dalla macchina, per modello, per giorno, con la corsia locale che non vi contribuisce assolutamente nulla.

curl -s https://api.apisrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $APISROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.4-mini",
       "messages":[{"role":"user","content":"ping"}]}'

Domande frequenti

Come aggiungo un provider compatibile OpenAI personalizzato a Jan?

Impostazioni, Model Providers, poi il controllo più per aggiungere un provider. Dagli un nome, scegli il formato API OpenAI sulle build che lo chiedono (v0.8.1+), imposta Base URL https://api.apisrouter.com/v1, incolla la tua chiave, e dichiara gli id di modello che corrispondono all'elenco dell'endpoint.

Perché il mio modello dichiarato restituisce not-found?

Jan invia l'id dichiarato testualmente come stringa del modello, e la sua documentazione richiede che l'id corrisponda esattamente al nome del modello dell'endpoint. Estrai l'elenco /v1/models e copia l'ortografia, suffissi di versione inclusi, invece di digitare gli id a memoria.

Aggiungere un provider remoto cambia il modo in cui funzionano i modelli locali?

No. I modelli locali continuano a girare on-device tramite llama.cpp, offline incluso. La voce del provider aggiunge una corsia remota separata al selettore, e le conversazioni toccano la rete solo quando scegli un id remoto.

La Base URL deve includere /v1?

Sì: https://api.apisrouter.com/v1. Jan aggiunge route come /chat/completions alla base che configuri, quindi un /v1 mancante restituisce 404 e uno raddoppiato anche. Se le richieste falliscono, leggi l'URL composto nell'errore prima di cambiare qualsiasi altra cosa.

Jan può raggiungere Claude e Gemini tramite una voce di provider?

Sì. Nel formato OpenAI l'id del modello viaggia come stringa semplice, quindi claude-sonnet-4-6, gemini-3.5-flash, gpt-5.4-mini e deepseek-v4-flash possono essere tutti dichiarati sotto una voce, fatturati tramite una chiave, e cambiati per conversazione.

È lo stesso del server API locale di Jan?

No. Il server locale su 127.0.0.1:1337/v1 è Jan che serve i suoi modelli locali ad altri strumenti. La voce del provider personalizzato è Jan che consuma un endpoint remoto. Sono funzionalità indipendenti che condividono il formato wire OpenAI.