IntelliJ e JetBrains + Ollama: l'assistente IA locale nel proprio IDE
Collegare IntelliJ (o PyCharm, WebStorm, GoLand…) a Ollama significa avere un assistente di programmazione in stile Copilot che però gira sulla tua macchina: chat sul tuo progetto, completamento a fine riga, refactoring — senza che una sola riga venga inviata a un server di terzi. Questa guida passa in rassegna i plugin compatibili con Ollama, mostra come collegare il tutto tramite un «proxy AI» e indica quali modelli per il codice scegliere in base alla tua scheda grafica.
#Perché un LLM locale nel tuo IDE
Gli assistenti cloud (GitHub Copilot, JetBrains AI, Cursor) sono comodi ma inviano il contesto del tuo codice — a volte l’intero file, a volte l’intero repository — a server remoti. Per codice soggetto a NDA, software proprietario o semplicemente per principio, è inaccettabile. Un LLM locale collegato a IntelliJ risolve il problema alla radice: il modello gira sulla tua GPU, il prompt e il completamento non lasciano mai la macchina.
L'altro argomento è il costo. Un abbonamento a Copilot o JetBrains AI si paga ogni mese, a tempo indeterminato. Una volta installato Ollama e scaricato un modello per il codice, puoi usare il completamento e la chat senza quote, senza fatturazione per token, anche offline. Il compromesso riguarda la qualità: un piccolo modello locale non eguaglia un modello cloud di punta, ma un Qwen 3.8 27B o un Devstral 24B si avvicina per il completamento e la chat di tutti i giorni.
- Privacy
- Il codice, i prompt e le risposte rimangono in locale. Nulla viene registrato nei log sul cloud.
- Nessun abbonamento
- Nessun costo ricorrente una volta scaricato il modello. Utilizzo illimitato.
- Hors-ligne
- Funziona in treno, su una rete isolata o dietro un proxy aziendale con restrizioni rigide.
- Controllo del modello
- Scegli la dimensione e la quantizzazione e puoi cambiare modello in base all'attività.
#I plugin JetBrains che comunicano con Ollama
Questa guida ti porta al modello. Il kit ti porta al copilota che scrive codice nel tuo editor.
- Spazio online a vita
- PDF + file
- Aggiornamenti a vita
L'ecosistema JetBrains non offre un supporto nativo universale per Ollama: si passa attraverso un plugin del marketplace. Tre opzioni coprono quasi tutte le esigenze, ciascuna con un punto di forza diverso.
- ProxyAI (ex-CodeGPT)
- Il più completo per l'uso locale. Chat, completamento inline, modifica del codice selezionato e un connettore Ollama integrato. È il «proxy AI» menzionato nel titolo: fa da ponte tra l'IDE e il daemon Ollama.
- Continue
- Open source, ampiamente configurabile tramite un file di configurazione. Chat, autocompletamento e azioni sul codice, con supporto di primo livello per Ollama come provider. Ideale se vuoi regolare finemente ogni modello.
- JetBrains AI Assistant
- L’assistente ufficiale di JetBrains. Dal 2025 può collegarsi a un modello locale tramite Ollama o LM Studio per la modalità offline. Pratico se vuoi restare nell’ecosistema JetBrains, ma meno flessibile per il completamento locale.
#Prerequisiti
Si presume che Ollama sia già installato e funzionante. Per il resto bastano un IDE JetBrains recente e almeno un modello per la programmazione già scaricato.
- Un IDE JetBrains 2024.1+
- IntelliJ IDEA, PyCharm, WebStorm, GoLand, Rider, PhpStorm… I plugin indicati sopra si installano su tutta la gamma dallo stesso marketplace.
- Ollama funzionante
- Il daemon installato e raggiungibile su http://localhost:11434. Prova con ollama list prima di configurare qualsiasi cosa.
- Un modello per chat e codice
- qwen3.5:9b è un buon punto di partenza versatile (256k di contesto, visione). In Q4_K_M occupa circa 6,6 GB di VRAM.
- Una GPU consigliata
- Il completamento deve rispondere in meno di un secondo per essere utile. Una RTX 3060 da 12 GB fa girare senza difficoltà un modello 7B; senza GPU, limitati alla chat, non al completamento automatico.
#Configurare ProxyAI + Ollama
ProxyAI (ex CodeGPT) è il percorso più diretto verso un assistente locale completo in JetBrains. Il suo connettore Ollama gestisce la chat, la modifica della selezione e il completamento, senza chiave API né account.
- 01Installare il pluginSettings → Plugins → Marketplace, cerca «ProxyAI» (o «CodeGPT» a seconda della versione) e installalo. Riavvia l'IDE se richiesto.
- 02Scegliere il fornitore OllamaSettings → Tools → ProxyAI → Providers. Seleziona Ollama (Local) come fornitore, anziché le opzioni cloud (OpenAI, Anthropic…).
- 03Verificare l'URL del serverIl campo Base URL deve puntare a http://localhost:11434. Se Ollama è in esecuzione su un'altra macchina della rete, inserisci il suo indirizzo IP al posto di localhost.
- 04Selezionare il modelloNell'elenco dei modelli, scegli quello che hai scaricato (ad esempio qwen3.5:9b). ProxyAI interroga Ollama per elencare i modelli disponibili.
- 05Provare la chatApri il pannello ProxyAI (icona nella barra laterale) e fai una domanda su un file aperto. La risposta deve arrivare in locale, senza avvisi di connessione esterna.
#Continue e l'AI Assistant nativo
Se preferisci regolare ogni dettaglio, Continue espone la sua configurazione in un file anziché nei menu. Vi si dichiarano esplicitamente il provider Ollama, il modello di chat e — separatamente — il modello di completamento. È più verboso ma molto più preciso, soprattutto per assegnare un modello piccolo e veloce all'autocompletamento e uno più grande alla chat.
Da JetBrains AI Assistant, la procedura è più ben definita: nei parametri dell'assistente, attiva l'uso di modelli locali e indica Ollama. È utile per mantenere un solo strumento, ma l'assistente nativo è soprattutto pensato per il cloud JetBrains; la sua completazione locale è meno matura di quella di ProxyAI o Continue. Per un utilizzo del 100% locale serio, si consiglia piuttosto questi ultimi due.
#Quali modelli per il codice scegliere in base alla VRAM
La regola è semplice: più il modello è grande, migliori sono le sue risposte, ma più VRAM consuma e più lentamente risponde. Le famiglie Qwen 3.5 / Qwen 3.8 coprono tutta la gamma e nel 2026 rappresentano un punto di riferimento per la programmazione con modelli locali; Devstral 24B (specializzato come agente di programmazione) e Granite 4.2 sono buone alternative. Ecco i valori di riferimento con quantizzazione Q4_K_M (il miglior compromesso tra dimensioni e qualità).
- Leggero 3B — ~2 GB VRAM
- granite4.2:3b. Risoluzione rapida dei problemi, domande semplici, consumi molto contenuti. Funziona anche su una GPU di fascia bassa o sulla CPU per usi non interattivi.
- Polivalente 9B — ~6,6 GB di VRAM
- qwen3.5:9b. Il punto di equilibrio: buone prestazioni in chat, editing e refactoring, 256k di contesto e capacità visive. Adatto a una RTX 3060 da 12 GB / 4070 da 12 GB.
- Comfort 12B — ~7,6 GB VRAM
- gemma4:12b. Nettamente migliore nel ragionamento e nei refactoring su più file, multimodale e con licenza Apache 2.0. Funziona bene su una RTX 4080 da 16 GB.
- Fascia alta 27B — ~18 GB di VRAM
- qwen3.8:27b. Il più vicino al cloud per la programmazione in locale (262k di contesto, visione). Richiede una RTX 4090 da 24 GB o un Mac Apple Silicon con almeno 32 GB di memoria unificata. Consiglio: imposta il suo ragionamento su «low», perché tende a ragionare troppo per impostazione predefinita.
#Completamento locale: attenzione al FIM
Il completamento in stile Copilot si basa sul « fill-in-the-middle » (FIM): il modello deve completare il codice nel mezzo, conoscendo ciò che precede E ciò che segue il cursore. Non tutti i modelli lo supportano. Le varianti instruct sono addestrate per la chat, non per il FIM — per il completamento automatico, usa le varianti base, progettate specificamente per questo.
- Modello base, non instruct
- Per il completamento, scegli qwen2.5-coder:7b-base, che rimane il punto di riferimento per il FIM nel 2026. Un modello instruct produrrà completamenti prolissi o fuori formato.
- Velocità prima di tutto
- Nell'autocompletamento, la velocità conta più della precisione. Un modello base dedicato che risponde in meno di mezzo secondo è più utile di un grande modello di chat che impiega 2 secondi.
- GPU quasi obbligatoria
- Senza accelerazione hardware, il completamento arriva troppo tardi per stare al passo con la digitazione. Riserva quindi l'IA locale alla chat.
#Cosa l'IA locale non fa ancora nell'IDE
L'IA locale ha fatto progressi, ma restano delle differenze rispetto agli assistenti cloud di fascia alta. È utile conoscerle per calibrare le proprie aspettative ed evitare delusioni.
- Il ragionamento multi-file
- I repository di grandi dimensioni superano la finestra di contesto dei modelli locali. Il modello vede i file che gli fornisci, non l'intera architettura. Copilot Workspace o Cursor indicizzano tutto il progetto; in locale, il processo è ancora artigianale.
- Le modalità agente avanzate
- Far eseguire comandi, avviare test e iterare in un ciclo (come fanno Cline e Cursor Agent) richiede un modello che gestisca l'uso degli strumenti in modo affidabile. I piccoli modelli locali spesso non ci riescono; occorre puntare a un modello dedicato al codice (Devstral 24B, Qwen3-Coder 30B o GLM 4.7 Flash) e accettare alcuni fallimenti.
- La qualità intrinseca sul codice complesso
- Per problemi algoritmici avanzati o framework recenti poco rappresentati nell'addestramento, un modello locale da 8 a 12B resta indietro rispetto a un modello cloud di punta.
- L'integrazione curata nel prodotto
- Rilevamento automatico del linguaggio, numerose azioni contestuali, risoluzione di PR… gli strumenti locali stanno recuperando terreno, ma restano un passo indietro rispetto all'esperienza curata degli assistenti commerciali.
In pratica, l'esecuzione locale eccelle nel completamento del codice, nelle conversazioni su un file, nella spiegazione del codice e nel refactoring localizzato. Per le attività complesse svolte da agenti e l'analisi di un intero repository, il cloud mantiene il vantaggio — da qui l'utilità di mantenere entrambe le opzioni e di instradare le richieste in base alla sensibilità del codice.
#Risoluzione dei problemi
- Il plugin non elenca nessun modello
- Non raggiunge Ollama. Verifica che il daemon sia in esecuzione (ollama list) e che l'URL sia http://localhost:11434. Se Ollama è su un'altra macchina, avvialo con OLLAMA_HOST=0.0.0.0 e usa l'indirizzo IP di quella macchina come destinazione.
- « Connection refused »
- Ollama non è avviato, o un firewall blocca la porta 11434. Prova con curl http://localhost:11434/api/tags dalla stessa macchina dell'IDE.
- Il modello non appare nella lista
- L'etichetta non corrisponde. Copia il nome esatto restituito da ollama list, inclusa l'etichetta (qwen3.5:9b e non qwen3.5).
- Risposte molto lente
- Il modello viene eseguito in parte sulla CPU. Passa a una dimensione inferiore o a Q4_K_M e verifica con nvidia-smi che la GPU venga effettivamente utilizzata.
- Completamento vuoto o assurdo
- Stai utilizzando un modello instruct per il FIM. Passa a una variante -base (qwen2.5-coder:7b-base).
- L'IDE rallenta durante la generazione
- Due modelli caricati saturano la VRAM. Riduci la dimensione di uno dei due, o attiva un plugin alla volta.
#Per approfondire
Il valore dell'assistente locale nell'IDE dipende dal daemon e dalla GPU che lo fanno funzionare. Queste guide completano la configurazione.
- Installare Ollama
- La base: installare e avviare il daemon che serve i tuoi modelli di codice sulla porta 11434.
- Copilot gratuito in locale: Cline, Tabby & CodeGeeX in VS Code
- L'equivalente per VS Code, per confrontare gli approcci e i plugin da un editor all'altro.
- Usare Ollama in Claude Code e Cursor
- Per collegare gli stessi modelli locali ad altri assistenti e scegliere tra locale e cloud in base al compito.
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.