Principiante 10 minInterfacce

Jan: l'alternativa open-source a ChatGPT, 100% locale

Jan (jan.ai) è un'applicazione desktop libera, distribuita sotto licenza AGPL, che assomiglia a ChatGPT ma funziona interamente sulla tua macchina. Nessun account, nessun cloud, nessuna telemetria nascosta — solo un binario da installare e modelli open-weight da caricare. Questo tutorial sull'uso locale di Jan AI copre l'installazione, la prima chat, il server API compatibile con OpenAI e un confronto onesto con LM Studio e Msty.

Di Mohamed Meguedmi·Agg. 2026-08-27·Testato su Windows, macOS e Linux

#Perché Jan?

Tre cose distinguono Jan nell’affollato panorama dei client LLM desktop. In primo luogo, è davvero open source: codice su GitHub (menloresearch/jan), licenza AGPL-3.0, build riproducibile. LM Studio e Msty sono gratuiti ma a codice chiuso. Se per te conta la trasparenza del binario che gira continuamente sulla tua macchina, Jan è l’unico dei tre a soddisfare questo requisito.

In secondo luogo, la filosofia offline-first è radicale. Jan non effettua alcuna chiamata di rete all'avvio. Nessun controllo automatico degli aggiornamenti, nessuna telemetria, nessun "phone home" mascherato. I modelli vengono scaricati su richiesta da Hugging Face, punto. Puoi usarlo su una macchina isolata dalla rete senza compromettere nulla.

Terzo, l'architettura è pulita: Jan è un front end Electron basato su Cortex, un motore di inferenza separato (precedentemente chiamato Nitro). Cortex utilizza llama.cpp come backend ed espone un'API REST. Puoi quindi utilizzare il server Cortex senza il front end Jan o collegare altri client a Cortex. È più modulare di LM Studio, che è monolitico.

i
In una frase
Jan = un'interfaccia Electron curata + Cortex (motore llama.cpp) + un catalogo di modelli Hugging Face. Pensa a un "ChatGPT desktop" che non esce mai dalla tua rete Wi-Fi.

#Prerequisiti

Il kit IA Locale

Il tuo ChatGPT privato e gratuito sulla tua macchina in 1 ora — LM Studio, Ollama, Open WebUI, i tuoi documenti, senza cloud.

  • Spazio online a vita
  • PDF + file
  • Aggiornamenti a vita
Sistema
Windows 10/11 (x64), macOS 12+ (Intel o Apple Silicon), Linux (deb, AppImage, o rpm).
RAM
8 GB come minimo indispensabile (modelli 2B-3B), 16 GB per un uso confortevole (modelli 8-9B Q4), 32 GB o più per puntare a modelli da 24B e oltre.
Spazio su disco
Prevedi 5 GB per Jan + Cortex, poi da 2 a 40 GB per modello a seconda delle dimensioni. Una cartella dedicata su un SSD è l'ideale.
GPU (opzionale ma consigliato)
NVIDIA con CUDA per Windows/Linux, Metal automatico su Apple Silicon. Senza GPU, Jan funziona su CPU — lento ma funzionale per i modelli piccoli.
→
Il giusto riferimento per la VRAM
Q4_K_M è la quantizzazione predefinita di Jan. In questo formato: 3B≈2 GB di VRAM · 7B≈5 GB · 14B≈9 GB · 32B≈19 GB · 70B≈40 GB. Quando il modello supera la capacità della tua VRAM, Jan ne trasferisce una parte nella RAM (brusco calo dei token/sec).

#1. Installazione

Scarica il programma di installazione dal sito ufficiale. Jan si presenta come un programma di installazione in 1 clic — nessuna operazione da CLI, nessuna dipendenza Python da gestire.

Sito ufficiale
https://jan.ai
!
Sempre da jan.ai o dal repository ufficiale su GitHub
Il repository ufficiale è github.com/menloresearch/jan (ex janhq/jan). Scarica Jan solo dal sito ufficiale o dalle release GitHub firmate. Attento ai fork precompilati diffusi su siti esterni.
  1. 01
    Avviare il programma di installazione
    Fai doppio clic sul .exe (Windows), .dmg (macOS) o .AppImage (Linux). Su Linux, rendi eseguibile l'AppImage con chmod +x Jan-*.AppImage se necessario.
  2. 02
    Primo avvio
    Jan crea la sua cartella dei dati (~/jan su macOS/Linux, %APPDATA%\Jan su Windows). È lì che verranno conservati i modelli, le conversazioni e la configurazione. Tienine conto se vuoi collocare la cartella su un SSD secondario.
  3. 03
    Verificare Cortex
    All'avvio, Jan avvia il servizio Cortex in background. Se si apre una finestra del firewall, autorizza la connessione locale (Cortex è in ascolto su 127.0.0.1, non sulla rete).
  4. 04
    Onboarding
    Jan ti propone un modello iniziale (tipicamente un piccolo Qwen o Granite). Puoi accettarlo per fare una prova in 2 minuti, oppure selezionare skip per scegliere personalmente nell'Hub.

#2. Primo modello

Jan integra un Hub di modelli che rimanda a Hugging Face con versioni GGUF preparate e testate. Apri la scheda "Hub" nella barra laterale sinistra per vedere il catalogo.

Per iniziare, tre scelte solide in francese in base alla tua VRAM:

Configurazione modesta (8 GB di RAM, senza GPU)
Granite 4.2 3B Q4_K_M (≈2,2 GB). Consuma pochissime risorse ed è sufficiente per conversare, riassumere un testo breve e fare brainstorming. Velocità in token/sec discreta su CPU. Ancora più leggero: Qwen 3.5 2B (≈1,9 GB).
Configurazione standard (16 GB RAM, GPU 6-8 GB)
Qwen 3.5 9B Q4_K_M (≈6,6 GB). LA scelta per 8 GB del 2026: 256k di contesto, visione, eccellente compromesso FR/EN per la maggior parte degli usi quotidiani.
Configurazione per un uso confortevole (32 GB di RAM, GPU da almeno 12 GB)
Gemma 4 12B (multimodale, ≈7,6 GB) o Mistral Small 24B in Q4_K_M (≈14 GB, valido in francese). Capacità di ragionamento nettamente superiori a quelle dei modelli 8-9B.

Clicca "Download" sulla scheda del modello. Jan mostra il progresso e salva il file GGUF nella cartella data. Una volta scaricato, il pulsante diventa "Use" — un clic e il modello viene caricato in memoria.

→
Importare un GGUF che già possiedi
Se hai già file GGUF locali (scaricati tramite huggingface-cli o recuperati da un'installazione di Ollama/LM Studio), puoi importarli in Jan tramite Settings → My Models → Import. Jan non duplica il file, ma mantiene un riferimento ad esso.

#3. Familiarizzare

L'interfaccia di Jan riprende l'impostazione di ChatGPT: barra laterale delle conversazioni a sinistra, area di chat al centro, pannello delle impostazioni contestuali a destra. Tre cose da sapere per essere produttivo:

Threads
Ogni conversazione è un "Thread" indipendente con il proprio modello assegnato. Puoi aprire diversi thread in parallelo (utile per confrontare la risposta di un 7B e di un 14B sulla stessa domanda).
Assistenti
Scheda Assistants: crea profili con un prompt di sistema, una temperatura e un modello preassegnato. È utile per avere un "Assistente codice" (Qwen3-Coder, temperatura 0.2) e un "Assistente scrittura" (Mistral Small, temperatura 0.8) separati.
Impostazioni di generazione
Pannello di destra — temperatura, top-p, top-k, max tokens, penalità di frequenza. Modificabili per thread. La finestra di contesto (n_ctx) si regola a livello di modello in Settings → My Models.
i
Conversazioni memorizzate in chiaro
Per impostazione predefinita, Jan salva i tuoi thread in file JSON leggibili nella cartella data. Nessuna crittografia. Se elabori dati sensibili, crittografa il disco (LUKS, FileVault, BitLocker) o metti la cartella Jan su un volume crittografato.

#4. Estensioni e Cortex

Jan ha un'architettura basata su estensioni. I componenti principali sono essi stessi estensioni interne (Inference Cortex Extension, Model Extension, ecc.), il che permette di sostituirli in futuro. Per gli utenti, l'ecosistema di estensioni di terze parti è ancora più giovane di quello di VS Code, ma alcune meritano di essere provate:

Motori di inferenza alternativi
Oltre a Cortex/llama.cpp, usato per impostazione predefinita, puoi attivare estensioni che puntano a un endpoint remoto compatibile con OpenAI (Ollama, vLLM o persino OpenAI nel cloud, se accetti di uscire dall'ambiente locale).
Cortex in modalità standalone
Cortex viene fornito con Jan ma può funzionare da solo. cortex run qwen3.5:2b in CLI avvia un server sulla porta predefinita senza l'interfaccia Jan. Utile per scriptare o deployare su un server headless.
Model Hub configurabile
Puoi aggiungere fonti personalizzate di modelli (un repository HF privato, un mirror interno) modificando le impostazioni dell'Hub. Utile in azienda per distribuire modelli sottoposti a fine-tuning internamente.
Cortex in CLI senza Jan
# Lancer le serveur Cortex seul
cortex start

# Lister les modèles disponibles
cortex models list

# Charger et servir un modèle
cortex run qwen3.5:9b-gguf-q4-km

#5. Modalità server API

La modalità server di Jan espone un'API compatibile con OpenAI sulla rete locale. È questo che trasforma Jan da semplice client di chat in un vero backend per i tuoi script, le tue automazioni n8n o un copilota per VS Code tramite Continue.dev.

  1. 01
    Attivare il server
    Settings → Local API Server. Seleziona "Start Local API Server". Jan avvia Cortex in modalità server sulla porta 1337 per impostazione predefinita (configurabile).
  2. 02
    Scegliere il modello esposto dal server
    Tutti i modelli scaricati sono esposti tramite l’API. Ognuno ha un identificativo utilizzabile nel campo "model" delle richieste (visibile nella colonna ID di My Models).
  3. 03
    Test rapido con curl
    Verifica che il server risponda con una chiamata standard /v1/chat/completions. La sintassi è identica a quella di OpenAI.
Test API compatibile con OpenAI
curl http://localhost:1337/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3.5:9b-gguf-q4-km",
    "messages": [{"role": "user", "content": "Bonjour, qui es-tu ?"}],
    "temperature": 0.7
  }'
!
Il server ascolta localmente per impostazione predefinita
Jan è in ascolto su 127.0.0.1, quindi non è accessibile dalla rete. Per condividere il servizio con altre macchine (team, famiglia), cambia l'indirizzo di ascolto in 0.0.0.0 nelle impostazioni, ma aggiungi anche un'autenticazione (come minimo, un reverse proxy con autenticazione Basic): Jan non dispone di autenticazione nativa.
Client Python tramite SDK OpenAI
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:1337/v1",
    api_key="jan-local",  # n'importe quelle string, Jan ne vérifie pas
)

response = client.chat.completions.create(
    model="qwen3.5:9b-gguf-q4-km",
    messages=[
        {"role": "system", "content": "Tu réponds toujours en français."},
        {"role": "user", "content": "Explique-moi ce qu'est un LLM en deux phrases."},
    ],
)
print(response.choices[0].message.content)

#Jan vs LM Studio vs Msty

Le tre app sono client desktop per LLM locali con interfaccia pulita e server API locale. Il diavolo è nei dettagli.

Jan
Open source (AGPL), con un approccio rigorosamente offline-first, architettura modulare con Cortex come motore separato. Catalogo di modelli più ristretto di quello di LM Studio. Ideale per chi vuole software libero e verificabile.
LM Studio
A codice sorgente chiuso, ma gratuito. Il catalogo Hugging Face più ricco dei tre (ricerca in tempo reale su HF). Supporto MCP, MLX nativo su Mac, previsione multi-token. Più funzionalità, ma opaco.
Msty
A codice sorgente chiuso, freemium (versione Aurum a pagamento). Il migliore per il RAG: spazi di lavoro per i documenti, split chat (confrontare due modelli affiancati), Knowledge Stacks. Meno valido per la sola chat, più orientato a un "agente personale".
→
Come scegliere
Vuoi open source verificabile e semplicità: Jan. Vuoi la massima scelta di modelli e impostazioni avanzate: LM Studio. Vuoi usare il RAG sui tuoi documenti senza scrivere codice: Msty. Nessuno ti impedisce di usare gli altri — possono persino coesistere (su porte diverse).

#Risoluzione dei problemi

Il modello non si carica / OOM
Verifica la VRAM/RAM disponibile. In Settings → My Models → [modello] → Edit Parameters, riduci n_gpu_layers per trasferire meno livelli del modello sulla GPU. Oppure passa a una quantizzazione di dimensioni inferiori (Q4_K_S invece di Q4_K_M, o IQ3_M).
Token/s molto bassi
Verifica che la GPU venga effettivamente utilizzata: su NVIDIA, apri nvidia-smi durante una generazione; devi vedere Jan o cortex-server utilizzare VRAM. Su Apple Silicon, Metal è attivato per impostazione predefinita senza bisogno di configurazione.
Cortex non si avvia (Windows)
Manca Visual C++ Redistributable. Installa i pacchetti vc_redist x64 da Microsoft. Verifica anche che nessun altro processo occupi la porta 1337 (cambia la porta nelle impostazioni se necessario).
Linux: AppImage non si avvia
Installa libfuse2 (sudo apt install libfuse2 su Ubuntu 22.04+). Per il debug, avvia l'AppImage dal terminale per vedere gli errori.
Download del modello bloccato al 99%
Interrompi e riavvia. Jan riprende il download. Se il problema persiste, scarica manualmente il GGUF da Hugging Face e importalo tramite Settings → My Models → Import.
Risposte in inglese nonostante un prompt in francese
Modello non abbastanza capace di gestire due lingue in modo coerente. Aggiungi nell'assistente un system prompt esplicito « Réponds toujours en français », oppure passa a un modello valido in francese (Mistral Small 24B, Qwen 3.5, Gemma 4).

#Per approfondire

A seconda di dove vuoi andare ora:

Confrontare Jan con i suoi concorrenti diretti
«Ollama vs LM Studio vs Jan vs GPT4All» presenta un confronto dettagliato per scegliere lo strumento adatto al tuo profilo.
Capire le quantizzazioni Q4/Q5/Q8
«Scegliere la quantizzazione (Q4, Q5, Q8, FP16)» spiega i compromessi qualità/memoria — utile per scegliere in modo intelligente nell'Hub di Jan.
Fare RAG sui tuoi documenti
Jan non ha un RAG nativo solido. «RAG locale con Ollama senza scrivere codice (Open WebUI, AnythingLLM)» mostra le alternative no-code che si collegano anche al server API di Jan.
Questa guida ti è stata utile?

Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.