Tutorial: Continue.dev con Ollama on-prem per codice sotto NDA

Continue.dev configurato con backend Ollama locale: assistente di codice in VS Code/JetBrains senza traffico verso cloud. Setup config.json, modello per autocomplete e chat, isolamento del workspace.

Open SourceAITutorial Open SourceAIAgenticTutorialContinueOllamaNDAOn-Prem

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:11434 di 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.json della 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+Pext 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: false disattiva l’invio di metadati anonimi di utilizzo al progetto Continue. Per ambienti sotto NDA è obbligatorio.
  • apiBase esplicito su 127.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+L apre il pannello, @ permette di allegare file o cartelle del workspace al prompt. L’operatore controlla cosa viene allegato.
  • Edit inline: Ctrl+I su 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.devollama.comgithub.com/continuedev/continue


Stefano Noferi — Founder e CEO/CTO di noze
Tech Entrepreneur — AI Governance & Security Architect

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi