Note preliminari
Questo tutorial è fornito “as-is”. Prima di adottarlo:
- Verificate su una macchina isolata o in un ambiente di test.
- Backup del repository e del branch su cui farete le prove.
- Non inserite secrets nei prompt, nei file di config o nei log dell’IDE.
- Verificate che il runtime locale (Ollama) non esponga porte all’esterno: l’API
127.0.0.1:11434di default non è accessibile dalla rete, ma alcuni setup l’hanno cambiata. - Le release di Continue e Ollama evolvono rapidamente: fate riferimento alla documentazione ufficiale per la sintassi del
config.jsondella vostra versione.
Cosa è Continue.dev
Continue (continue.dev) è un’estensione open source per VS Code e JetBrains che aggiunge una pannellata di chat e completamenti AI nell’IDE. A differenza di prodotti SaaS, Continue lascia la scelta del provider all’utente tramite un file di configurazione. Questo consente di appoggiarlo a Ollama, runtime locale che serve modelli aperti (Code Llama, DeepSeek Coder, ecc.) su un’API compatibile OpenAI esposta su 127.0.0.1:11434.
Il risultato è un assistente di codice in cui nessuna parte del file aperto, del prompt o della risposta lascia la macchina. È lo scenario che interessa a studi di consulenza e integratori che gestiscono codice di clienti con clausole NDA rigide.
Caso d’uso: studio di consulenza con repository multipli sotto NDA
Scenario: team di 4 sviluppatori lavora su progetti di clienti diversi, alcuni dei quali vietano esplicitamente l’invio di frammenti di codice a servizi cloud. Obiettivo: avere autocomplete e chat contestuale sul codice aperto, senza traffico verso l’esterno.
1. Installazione Ollama e download dei modelli
# macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh
# Pull di due modelli: uno per chat, uno per autocomplete
ollama pull deepseek-coder:6.7b # chat, ~3.8 GB
ollama pull deepseek-coder:1.3b # autocomplete, ~0.8 GB
ollama list
La dimensione del modello da usare dipende dalla RAM e dalla GPU disponibile. Su un laptop con 16 GB e iGPU, la combinazione 6.7B (chat) + 1.3B (autocomplete, latenza bassa) è un compromesso ragionevole a inizio 2024. Su hardware Apple Silicon o con GPU NVIDIA dedicata si può salire a codellama:13b-instruct o deepseek-coder:33b per la chat.
2. Installazione dell’estensione Continue
Da VS Code: Ctrl+P → ext install Continue.continue. Dopo l’installazione compare un’icona Continue nella barra laterale.
Al primo avvio, Continue crea un file di configurazione in ~/.continue/config.json (o config.yaml nelle versioni più recenti). Questo file è la fonte di verità: niente impostazioni nascoste, niente telemetria ambigua se configurata correttamente.
3. Config di riferimento per Ollama locale
{
"models": [
{
"title": "DeepSeek Coder 6.7B (local)",
"provider": "ollama",
"model": "deepseek-coder:6.7b",
"apiBase": "http://127.0.0.1:11434"
}
],
"tabAutocompleteModel": {
"title": "DeepSeek Coder 1.3B (local)",
"provider": "ollama",
"model": "deepseek-coder:1.3b",
"apiBase": "http://127.0.0.1:11434"
},
"allowAnonymousTelemetry": false
}
Note su questa configurazione:
allowAnonymousTelemetry: falsedisattiva l’invio di metadati anonimi di utilizzo al progetto Continue. Per ambienti sotto NDA è obbligatorio.apiBaseesplicito su127.0.0.1: nessuna risoluzione DNS, nessun proxy di default.- Nessuna chiave API: Ollama non ne richiede, e non ci sono credenziali da proteggere in
config.json.
4. Verifica che non esca traffico
Prima di affidare codice reale all’estensione, una verifica su una VM con monitoraggio di rete è sensata:
# In un terminale separato, filtra traffico HTTPS in uscita durante una sessione:
sudo tcpdump -n -i any 'tcp port 443 and not dst host 127.0.0.1' -c 50
Quando usate chat e autocomplete in VS Code, il comando sopra non dovrebbe registrare traffico correlato (escluso rumore di fondo del sistema). Se compaiono connessioni verso domini continue.dev, riverificate allowAnonymousTelemetry.
5. Workflow consigliato
- Chat contestuale:
Ctrl+Lapre il pannello,@permette di allegare file o cartelle del workspace al prompt. L’operatore controlla cosa viene allegato. - Edit inline:
Ctrl+Isu una selezione permette modifiche guidate senza abbandonare l’editor. - Autocomplete: attivo in background, basato sul modello 1.3B — più rapido ma meno accurato del modello di chat.
Limiti e cose da sapere
- Qualità sotto un modello cloud frontier: i modelli open 6.7B–13B locali sono utili, ma su refactor complessi o debugging sottile la distanza da un modello frontier si sente. La scelta è un compromesso deliberato tra confidenzialità e capacità.
- Costo computazionale: su laptop senza GPU dedicata, l’autocomplete con un modello 1.3B è la soglia sotto cui la latenza è accettabile.
- Aggiornamenti del modello:
ollama pull <model>va schedulato. Un modello “congelato” a inizio anno perde regressioni e miglioramenti rilasciati dal progetto upstream. - Non una soluzione al problema NDA completo: Continue on-prem risolve il trasferimento del codice ai provider LLM. Non sostituisce le policy di macchina (disk encryption, sudo audit, endpoint security) richieste dalle clausole.
Link: continue.dev — ollama.com — github.com/continuedev/continue
