Intermedio 12 minIDE

Roo Code: l'agente di programmazione locale dentro l'editor

Risposta diretta

Attenzione, un punto cambia tutto: il team di Roo Code ha interrotto lo sviluppo dell'estensione il 15 maggio 2026 per dedicarsi a Roomote, il suo successore cloud. Il repository GitHub è archiviato e non verranno più rilasciate correzioni. L'estensione già installata continua a funzionare esattamente come prima, anche con un modello locale tramite Ollama a partire da 14 miliardi di parametri e con le sue cinque modalità, ma per un nuovo progetto Cline (da cui Roo Code deriva storicamente) è la scelta equivalente ancora attivamente sviluppata.

Roo Code è un'estensione per editor che installa un agente nel tuo ambiente di sviluppo: legge il progetto, modifica diversi file, esegue comandi e dà un resoconto. Con un modello locale funziona — a patto di accettare che la dimensione del modello determini tutto e di scegliere compiti alla sua portata anziché chiedergli di progettare un'architettura. Un punto da conoscere prima di procedere: il team che sviluppava Roo Code ha interrotto ogni attività sul progetto il 15 maggio 2026 per concentrarsi su un successore cloud, Roomote. Questa guida resta utile per un'estensione già installata o un fork comunitario; per un nuovo progetto, la sezione dedicata più in basso spiega cosa cambia.

Di Mohamed Meguedmi·Agg. 2026-09-28·Testato su Windows, macOS e Linux

#Cos'è

Tra il completamento del codice, che prevede la riga successiva mentre scrivi, e l'agente autonomo, che lavora da solo in un container senza supervisione continua, esiste una categoria intermedia: l'agente nell'editor. Vede il tuo progetto aperto, comprende la struttura ad albero dei file e le loro dipendenze, propone modifiche che approvi prima che vengano scritte sul disco ed esegue comandi nel tuo terminale con il tuo consenso esplicito ogni volta. Roo Code appartiene a questa famiglia, insieme a progetti come Cline, di cui condivide in larga misura la filosofia.

Il vantaggio rispetto a un assistente conversazionale è che non serve più fare copia e incolla: le modifiche arrivano sotto forma di diff nei file interessati. Il vantaggio rispetto a un agente autonomo è che rimani coinvolto a ogni passaggio, il che conta tanto più quanto più piccolo è il modello. Il progetto, pubblicato con licenza Apache 2.0, aveva superato le 20.000 stelle su GitHub dal suo lancio a fine 2024, un ritmo di adozione rapido in una categoria diventata molto competitiva — prima dell'annuncio di cessazione descritto in dettaglio di seguito.

#L'estensione è dismessa da maggio 2026: cosa cambia

Il kit Copilota Locale

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'informazione più importante di questa guida, e quella che molti tutorial ancora online non menzionano. Matt Rubens, il fondatore, ha annunciato il 21 aprile 2026 la cessazione di Roo Code: ultima release il 15 maggio 2026, repository GitHub successivamente archiviato, bloccato in sola lettura, senza più alcuna correzione, nemmeno di sicurezza. Una verifica diretta del repository lo conferma: stato archiviato, ultimo commit datato 15 maggio 2026. Il team si è interamente dedicato a Roomote, un agente cloud controllato da Slack, ritenendo che l'editor di codice non rappresenti più, a suo giudizio, il futuro del lavoro con un agente IA.

!
Cosa cambia concretamente per te
Un’estensione già installata continua a funzionare esattamente come descritto in questa guida: nulla viene disattivato a distanza. Ma non arriverà più alcuna correzione, nemmeno per una vulnerabilità di sicurezza scoperta domani, e lo sviluppo della comunità avviene ormai su fork indipendenti anziché sul repository originale. Per un nuovo progetto oggi, Cline — di cui Roo Code è storicamente un fork e verso cui il team stesso ha indirizzato i propri utenti — è la scelta equivalente attivamente mantenuta.

#Le modalità, e perché sono una buona idea

La particolarità di Roo Code è la separazione delle personalità. Sono integrate per impostazione predefinita cinque modalità: Code, per scrivere e modificare con accesso completo agli strumenti; Ask, un assistente tecnico che risponde in dettaglio ma non modifica nulla (solo lettura e MCP); Architect, un pianificatore le cui autorizzazioni di scrittura si limitano ai file markdown, pensato per progettare prima di agire; Debug, orientato alla diagnosi sistematica con accesso completo; e Orchestrator, chiamato anche «Boomerang Mode», che suddivide un'attività complessa e la delega alle altre modalità. È comunque possibile definirne altre, con le proprie istruzioni e le proprie autorizzazioni.

Con un modello locale, è più di una semplice comodità. Una modalità Ask senza il permesso di scrivere elimina la categoria di incidenti in cui un modello troppo piccolo modifica un file per eccesso di zelo. Limitare i permessi in base alla modalità è il mezzo principale per rendere un piccolo modello utilizzabile senza rischi ed è, tra l'altro, ciò che avvicina maggiormente Roo Code a una buona pratica generale di sicurezza per gli agenti: dare a ogni ruolo solo ciò di cui ha bisogno, mai di più.

#Collegarlo a un modello locale

  1. 01
    Rendere disponibile il modello tramite un server
    Ollama o qualsiasi punto di accesso compatibile con OpenAI. Per un uso individuale, Ollama è più che sufficiente.
  2. 02
    Scegliere Ollama come fornitore nell'estensione
    Inserire il nome o il tag del modello. L'indirizzo di base predefinito è http://localhost:11434; una chiave API è necessaria solo se il tuo server Ollama ne richiede una.
  3. 03
    Regolare la finestra di contesto al posto giusto
    È l'insidia più documentata: per impostazione predefinita, Roo Code si basa sul valore num_ctx definito nel Modelfile del modello Ollama, non su un valore specifico dell'estensione. Il contesto va quindi aumentato in Ollama (tramite il Modelfile o una variabile d'ambiente), non nelle impostazioni di Roo Code.
  4. 04
    Iniziare in modalità Ask
    Porre tre domande sul progetto prima di consentire qualsiasi modifica, usando una modalità con soli permessi di lettura, fornisce una valutazione onesta di ciò che il modello comprende realmente del codice.
!
Il contesto consuma memoria prima di richiedere tempo
Un agente di programmazione utile ha bisogno di un contesto lungo, e questo contesto consuma VRAM al pari dei pesi del modello. È per questo che un agente di programmazione locale richiede una scheda con più memoria rispetto a un semplice assistente conversazionale — ed è anche per questo che verificare il num_ctx effettivamente attivo in Ollama evita di scoprire, a posteriori, che un file di grandi dimensioni è stato troncato senza alcun avviso.

#Quale modello, davvero

Cosa ci si può aspettare in base alle dimensioni
ClasseComportamento come agente di editing
7–8 miliardiRisponde alle domande sul codice; le modifiche multi-file spesso falliscono
14 miliardiModifiche semplici su uno o due file, con un'attenta rilettura
Da 27 a 32 miliardiLa soglia per lavorare comodamente: refactoring, test, correzioni guidate
70 miliardi e oltreGiudizio migliore, velocità che cambia il modo di lavorare

Un modello di medie dimensioni orientato al codice supera quasi sempre un modello generalista più grande in questo esercizio, perché durante l'addestramento ha visto più formati rigorosi e diff, anziché prosa generale. La differenza si vede soprattutto nella capacità di produrre un diff che si applica al primo tentativo, senza errori di contesto o di numero di riga — un dettaglio tecnico che conta di più, in pratica, della qualità generale delle risposte del modello.

#Orchestrator: suddividere un compito complesso

La modalità Orchestrator, chiamata anche Boomerang Mode nella documentazione ufficiale, cambia il modo di affrontare un compito troppo grande per un singolo passaggio. Anziché chiedere direttamente «aggiungi l'autenticazione alla mia applicazione», descrivi l'obiettivo a Orchestrator, che lo suddivide in sottocompiti e li delega alle modalità specializzate: Architect per definire il piano, Code per l'implementazione, Debug se un test fallisce durante il lavoro.

  1. 01
    Descrivere l'obiettivo, non i passaggi
    Fornire a Orchestrator il risultato atteso anziché l'elenco dei file da modificare; è proprio questa suddivisione che la modalità deve produrre.
  2. 02
    Attendere che ogni sottoattività restituisca il risultato prima di avviare la successiva
    La modalità attende il risultato di una delega prima di avviare la successiva, offrendo così punti di pausa naturali per rileggere ciò che è stato appena fatto.
  3. 03
    Tenere d'occhio la modalità attiva in ogni fase
    L'interfaccia indica quale modalità è attiva in un dato momento; un passaggio inatteso alla modalità Code durante un'attività che dovrebbe limitarsi alla sola lettura è il segnale da tenere sotto controllo in via prioritaria.

Con un modello locale, questa suddivisione ha un costo diretto e misurabile: ogni sottoattività delegata comporta una nuova chiamata al modello, quindi una nuova generazione completa con il proprio tempo di caricamento del contesto. Orchestrator vale la pena per un'attività realmente articolata, con più file e più aspetti distinti da gestire; per una modifica semplice, aggiunge scambi senza apportare nulla di concreto, e l'uso diretto della modalità Code rimane sensibilmente più rapido per raggiungere esattamente lo stesso risultato finale.

#Usarlo bene

Compiti circoscritti
« Aggiungi questo parametro e propagalo nelle tre funzioni che lo chiamano », non « migliora questo modulo ». Più la richiesta è precisa, meno il modello ha spazio per interpretare a modo suo, ed è proprio questo margine di interpretazione a generare la maggior parte dei diff deludenti.
Un repository pulito
Lavorare su un ramo dedicato con un albero di lavoro pulito rende ogni diff leggibile a colpo d'occhio e ogni errore annullabile con il revert di un commit, senza dover districare le modifiche dell'agente dalle tue modifiche in corso.
Rileggere ogni diff
Un modello locale produce regolarmente modifiche plausibili che compilano, superano una revisione rapida e tuttavia non fanno ciò che volevi realmente. La compilazione non è una prova di correttezza, ma soltanto dell'assenza di errori di sintassi.
Diffidare dei contenuti esterni
Un ticket, un file di documentazione di una dipendenza o un commento già presente nel codice può contenere un'istruzione destinata all'agente piuttosto che a te — vedi la sezione sicurezza qui sotto per capire cosa cambia concretamente.

#Risoluzione dei problemi: i blocchi più comuni

La maggior parte dei blocchi con un modello locale deriva da tre cause riconoscibili e facili da distinguere, da verificare sistematicamente prima di attribuire il problema alla qualità intrinseca del modello stesso.

Sintomo, causa probabile, correzione
SintomoCausa più probabileDa verificare
L'agente 'dimentica' un file letto in precedenza durante la sessioneContesto effettivamente attivo troppo corto per la cronologia accumulataIl num_ctx del Modelfile Ollama, non un parametro in Roo Code
I diff proposti non si applicano correttamenteModello al di sotto della soglia utile per questo formato rigorosoPassare a un modello orientato al codice, o aumentare la dimensione
L'agente esegue continuamente lo stesso comandoOutput dello strumento interpretato male o autorizzazione negata senza alcuna segnalazioneLa modalità attiva e le sue autorizzazioni effettive su questo progetto

In tutti e tre i casi, la prima domanda da porsi non è «quale modello migliore scegliere», ma «quali contesto e permessi ha effettivamente ricevuto il modello quando ha risposto». Un contesto troncato produce esattamente gli stessi sintomi visibili di un modello sottodimensionato, ma il costo della diagnosi e la soluzione sono molto diversi una volta identificata la vera causa.

#Il rischio specifico di un agente che legge il tuo progetto

Un agente di modifica del codice consulta, per sua natura, contenuti che non hai scritto tu stesso: un README di una dipendenza di terze parti, un ticket incollato nella conversazione, un commento già presente nel repository clonato da un'altra fonte. Nulla impedisce a uno di questi contenuti di veicolare un'istruzione destinata al modello anziché a te — è il principio stesso della prompt injection, spiegato nella guida dedicata qui sotto, e un agente dotato di un terminale e di accesso in scrittura è un bersaglio ben più interessante per questo tipo di attacco rispetto a un semplice chatbot senza strumenti.

È proprio qui che le modalità di Roo Code smettono di essere una semplice comodità organizzativa e diventano una misura di sicurezza concreta. Una modalità Ask, limitata alla lettura, semplicemente non può eseguire l'istruzione nascosta in un ticket, anche se l'ha letta e anche se il modello sottostante si è lasciato influenzare da essa. La protezione non deriva da un modello più intelligente capace di riconoscere la trappola, ma da un insieme di permessi che rende tecnicamente impossibile eseguire l'istruzione, indipendentemente da ciò che il modello ha deciso di fare.

!
La modalità non sostituisce la rilettura
Anche in modalità Code, con tutte le autorizzazioni concesse, ogni comando proposto merita di essere letto prima dell'approvazione. Un comando plausibile che elimina una cartella resta un comando distruttivo, sia che derivi da un'intenzione legittima del modello, sia che provenga da un'istruzione inserita in un file che il modello ha appena letto.

#FAQ

Roo Code è gratuito?+
L'estensione stessa è open source, pubblicata con licenza Apache 2.0, ed è gratuita da installare e utilizzare. Ciò che paghi, eventualmente, è il modello: nulla se viene eseguito in locale tramite Ollama, il costo fatturato a token dal fornitore scelto se è remoto. Nulla nell'estensione richiede un abbonamento per funzionare.
Funziona con Ollama?+
Sì: basta selezionare Ollama come fornitore nelle impostazioni, con il nome del modello e l'indirizzo predefinito http://localhost:11434. Il punto da non trascurare non è questa impostazione, ma la finestra di contesto: Roo Code la eredita dal num_ctx definito nel Modelfile Ollama anziché gestirla direttamente.
Qual è il modello locale minimo necessario?+
Un modello orientato al codice con circa 14 miliardi di parametri per modifiche semplici su uno o due file, con una revisione attenta di ogni diff proposto. Prevedi da 27 a 32 miliardi di parametri per lavorare comodamente su più file contemporaneamente, con refactoring o correzioni guidate che restano affidabili da un passaggio all'altro.
Roo Code è ancora sviluppato?+
No. Matt Rubens, il fondatore, ha annunciato il 21 aprile 2026 l'interruzione del progetto per concentrarsi su Roomote, un successore cloud; l'ultima pubblicazione risale al 15 maggio 2026 e da allora il repository GitHub è archiviato e bloccato in sola lettura. Un'estensione già installata continua a funzionare esattamente come prima, ma il team originario non pubblicherà più alcuna correzione, nemmeno di sicurezza.
Roo Code o Cline?+
Entrambi sono agenti di editing integrati nell'editor, molto simili nell'approccio, dato che Roo Code è storicamente un fork di Cline. Roo Code poneva l'accento sulle sue cinque modalità distinte e sulle rispettive autorizzazioni, un vero vantaggio per limitare un piccolo modello locale a compiti sicuri — ma, con il progetto fermo da maggio 2026, Cline è oggi la scelta attivamente mantenuta per iniziare, ed è proprio verso Cline che il team di Roo Code ha indirizzato i suoi utenti.
L'agente può eseguire comandi?+
Sì, con la tua approvazione esplicita prima di ogni esecuzione. Quando usi un modello locale, mantieni sempre questa approvazione manuale: un comando che sembra ragionevole ma elimina una cartella o modifica una configurazione resta un comando distruttivo, che derivi dalle buone intenzioni del modello o da un'istruzione inserita in un file che il modello ha appena letto.

Questa guida ti è stata utile?

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