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.
#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.
#Prerequisiti
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.
#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.
- 01Avviare il programma di installazioneFai doppio clic sul .exe (Windows), .dmg (macOS) o .AppImage (Linux). Su Linux, rendi eseguibile l'AppImage con chmod +x Jan-*.AppImage se necessario.
- 02Primo avvioJan 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.
- 03Verificare CortexAll'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).
- 04OnboardingJan 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.
#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.
#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.
#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.
- 01Attivare il serverSettings → Local API Server. Seleziona "Start Local API Server". Jan avvia Cortex in modalità server sulla porta 1337 per impostazione predefinita (configurabile).
- 02Scegliere il modello esposto dal serverTutti 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).
- 03Test rapido con curlVerifica che il server risponda con una chiamata standard /v1/chat/completions. La sintassi è identica a quella di OpenAI.
#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".
#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.
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.