Goose (Block): l'agente IA locale nel tuo terminal
Sì: esegui goose configure, scegli Ollama, lascia l'indirizzo predefinito http://localhost:11434 e indica un modello Ollama compatibile con il tool-calling. Due impostazioni contano in locale: aumentare OLLAMA_CONTEXT_LENGTH oltre i 4096 token predefiniti e attivare il tool shim (GOOSE_TOOLSHIM=true) se il modello spiega gli strumenti in forma testuale invece di chiamarli. Goose è ormai un progetto dell'Agentic AI Foundation, non più soltanto di Block.
Goose è un agente IA disponibile sia da riga di comando sia come applicazione desktop, inizialmente pubblicato da Block e poi trasferito all'Agentic AI Foundation. Questa guida tratta la sua configurazione con un'istanza locale di Ollama, il tool shim che compensa l'assenza del supporto nativo alle chiamate agli strumenti in alcuni modelli, le modalità di autorizzazione (autonoma per impostazione predefinita) e i limiti reali di un piccolo modello locale nell'uso delle sue estensioni MCP.
#Cosa è Goose oggi
Goose si presenta come un agente IA nativo open source — applicazione desktop, CLI e API — per il codice, i workflow e non solo, scritto in Rust. Il repository (ora aaif-goose/goose) conta quasi 55.000 stelle al 28 settembre 2026, con la versione v1.52.0 pubblicata il 23 settembre 2026.
Un'informazione da correggere se hai letto presentazioni più datate: Goose non è più un progetto isolato di Block, ma fa ormai parte dell'Agentic AI Foundation (AAIF), ospitata dalla Linux Foundation. Block resta il creatore del progetto, ma la governance è cambiata: un dettaglio che conta per valutare la continuità del progetto nel lungo periodo prima di costruirci un workflow.
Goose funziona con più di 15 fornitori di modelli (Anthropic, OpenAI, Google, Ollama, OpenRouter, Azure, Bedrock e altri) e si connette a più di 70 estensioni tramite il protocollo aperto MCP (Model Context Protocol).
Esiste anche un collegamento a Ramalama, un motore locale che serve modelli sotto forma di artefatti OCI anziché nel formato proprietario di Ollama. Poiché la sua API è compatibile, Goose può usarlo direttamente tramite il proprio provider Ollama, senza codice specifico — un'opzione utile su infrastrutture già costruite intorno a strumenti di containerizzazione standard (Podman, Docker) anziché intorno a Ollama.
#Collegare Ollama
Agenti che agiscono sulla tua macchina: Cline agentico, MCP, n8n + Ollama, automazioni locali.
- Spazio online a vita
- PDF + file
- Aggiornamenti a vita
La configurazione passa attraverso l'assistente interattivo goose configure, che chiede il fornitore poi l'host. Per Ollama, se non è specificato un host, Goose utilizza localhost:11434 per impostazione predefinita; il prefisso http:// viene aggiunto automaticamente se lo schema non è specificato.
Per un Ollama che funziona su un'altra macchina della rete, è necessario definire esplicitamente OLLAMA_HOST=http://{hôte}:{port} prima di avviare la configurazione. Per modelli ospitati su ollama.com piuttosto che localmente, il fornitore da scegliere è Ollama Cloud, non Ollama.
#La trappola del contesto a 4096 token
Il valore predefinito di Ollama per la finestra di contesto è di 4096 token, e Ollama tronca senza segnalarlo invece di restituire un errore esplicito. Con un agente come Goose, che carica le istruzioni di progetto (.goosehints), la cronologia della conversazione e le definizioni delle estensioni, questo limite viene raggiunto rapidamente.
#Tool shim: riparare l'invocazione degli strumenti
Alcuni modelli non supportano nativamente le chiamate agli strumenti, oppure passano nel corso della sessione a un output in testo semplice anziché a una chiamata strutturata. Il tool shim di Goose rileva questi formati testuali e li converte in chiamate agli strumenti eseguibili. È una funzionalità che il progetto contrassegna come sperimentale.
Il tool shim si basa su un modello che funge da interprete, separato dal modello di conversazione principale — mistral-nemo per impostazione predefinita tramite Ollama, sostituibile tramite GOOSE_TOOLSHIM_OLLAMA_MODEL. La documentazione cita esplicitamente come caso d'uso principale i modelli locali (Ollama, llama.cpp) senza supporto nativo per le chiamate agli strumenti, oltre ai modelli che mescolano tag di ragionamento (« think ») e chiamate agli strumenti, una frequente causa di errori di parsing.
Un modo alternativo utilizza il backend di inferenza locale integrato di Goose al posto di un'istanza Ollama separata, impostando GOOSE_TOOLSHIM_BACKEND=local e un nome modello obbligatorio (GOOSE_TOOLSHIM_MODEL) — altrimenti il lancio fallisce.
#Modalità di autorizzazione: autonomo per impostazione predefinita
Goose offre quattro modalità di autorizzazione: completamente autonoma (modifica ed elimina file senza conferma), approvazione manuale (richiede conferma per ogni strumento), approvazione intelligente (approva automaticamente le azioni a basso rischio) e modalità di sola conversazione (nessuna modifica, nessun utilizzo di strumenti).
Puoi cambiare modalità in qualsiasi momento, anche durante una sessione, tramite /mode auto, /mode smart_approve, /mode approve o /mode chat nella CLI, oppure dal menu in basso nell'applicazione desktop.
#Estensioni MCP e allowlist
Goose si connette alle estensioni tramite il protocollo MCP e installa per impostazione predefinita qualsiasi server MCP richiesto. Per un contesto professionale, il progetto propone un'allowlist: un file YAML ospitato a un URL, indicato nella variabile GOOSE_ALLOWLIST, che limita le estensioni installabili a una lista esplicita di identificatori e comandi.
Senza questa allowlist, tecnicamente nulla impedisce all'agente di installare un server MCP di terze parti non verificato se l'utente (o il modello, in modalità autonoma) lo richiede — un punto da considerare insieme alla scelta della modalità di autorizzazione sopra indicata.
L'allowlist viene distribuita come un semplice file YAML che elenca coppie identificatore/comando autorizzate, ospitato a un URL che Goose rilegge a ogni riavvio tramite la variabile GOOSE_ALLOWLIST. È una misura pensata per un'implementazione in azienda, dove un amministratore vuole limitare le estensioni installabili a una lista approvata in anticipo anziché fidarsi del giudizio di ogni utente o del modello in modalità autonoma.
- 01Installare la CLI Goosecurl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash, ou télécharger l'application de bureau depuis la documentation officielle.
- 02Preparare il modello OllamaVerificare che Ollama sia in esecuzione sulla porta 11434 e avviare un modello esplicitamente dichiarato compatibile con il tool-calling prima di configurare Goose.
- 03Avviare goose configureScegliere Ollama come fornitore, confermare l'host proposto per impostazione predefinita (localhost:11434) e indicare il nome esatto del modello caricato.
- 04Aumentare la lunghezza del contesto se necessarioSe l'agente ignora estensioni o un file .goosehints, impostare OLLAMA_CONTEXT_LENGTH a un valore superiore a 4096 prima di riavviare una sessione.
- 05Verificare la modalità dei permessiPrima della prima sessione con estensioni sensibili, passare esplicitamente alla modalità di approvazione manuale o intelligente se non si desidera la modalità autonoma predefinita.
#Quale modello in base alla memoria disponibile
La documentazione ufficiale è categorica su un punto spesso sottovalutato: Goose si basa fortemente sulla chiamata di strumenti, e un modello che non la supporta può gestire solo conversazioni semplici — tutte le estensioni Goose devono allora essere disattivate. La scelta del modello non è quindi solo una questione di qualità della risposta: è una condizione binaria perché le estensioni MCP possano funzionare.
| Dimensione del modello | VRAM approssimativa | Uso realistico con estensioni |
|---|---|---|
| 7-8B | ≈ 5 GB | Chiamata agli strumenti instabile nelle attività che concatenano più strumenti; testare con GOOSE_TOOLSHIM prima di concludere che il modello abbia fallito |
| 14B | ≈ 9 GB | Caso d'uso comune per una postazione di sviluppo; verificare il tag tools su ollama.com prima di caricare il modello |
| 32B | ≈ 19-20 GB | Più affidabile su lunghe sequenze di utilizzo degli strumenti, al prezzo di tempi di generazione più lunghi sulle GPU consumer |
| 70B | ≈ 40 GB | Riservato a postazioni con molta VRAM o RAM unificata (Mac Studio, workstation multi-GPU); raramente pertinente per un uso quotidiano locale |
Questi ordini di grandezza non sostituiscono la verifica del tag tools nella scheda del modello: una variante non dichiarata compatibile con il tool calling non funziona con le estensioni, indipendentemente dalle sue dimensioni, esattamente come precisa la documentazione ufficiale citata sopra.
#Checklist di sicurezza prima di un deploy condiviso
Tre impostazioni, già documentate separatamente in questa guida, costituiscono insieme la base di un deployment di Goose più sicuro rispetto a un'installazione predefinita su un computer condiviso o su un server del team.
| Punto di controllo | Impostazione da verificare |
|---|---|
| Modalità di autorizzazione | Passare dalla modalità completamente autonoma all'approvazione manuale o intelligente se non si desidera che i file vengano eliminati senza conferma |
| Estensioni installabili | Impostare GOOSE_ALLOWLIST su un file YAML ospitato che limiti gli identificativi e i comandi consentiti |
| Capacità reale del modello | Confermare la presenza dell'etichetta tools su ollama.com prima di collegare le estensioni; un modello incompatibile impone di disattivarle tutte |
| Contesto sufficiente | Aumentare OLLAMA_CONTEXT_LENGTH oltre 4096 per evitare una troncatura silenziosa delle istruzioni di sicurezza stesse (.goosehints) |
#Limiti di un modello locale per Goose
| Sintomo | Causa probabile documentata |
|---|---|
| Estensioni ignorate, istruzioni di .goosehints non rispettate | Contesto predefinito di 4096 token troppo breve: aumentare OLLAMA_CONTEXT_LENGTH |
| Chiamate agli strumenti che si interrompono durante la sessione | Il modello passa a un output testuale: attivare GOOSE_TOOLSHIM |
| Interprete del tool shim lento | Modello interprete troppo pesante: passare a un modello più piccolo tramite GOOSE_TOOLSHIM_OLLAMA_MODEL |
| Ragionamento mescolato alle chiamate agli strumenti | Tag « think » indesiderati: il tool shim li filtra automaticamente una volta attivato |
Secondo la documentazione ufficiale, il modello DeepSeek-R1 nella sua versione nativa non supporta le chiamate agli strumenti. La documentazione propone in alternativa una versione della community adattata per Goose: un esempio concreto del divario tra un modello considerato potente nella conversazione e la sua effettiva capacità di utilizzare strumenti.
Questo divario tra capacità di ragionamento e affidabilità nell'esecuzione è il limite strutturale da tenere presente prima di installare Goose in locale: un modello che risponde bene a domande aperte non garantisce nulla sulla sua capacità di concatenare chiamate agli strumenti senza errori di formato. Testare prima un'attività semplice e verificabile — leggere un file, eseguire un comando innocuo — prima di affidare all'agente un'attività in più passaggi resta il modo più rapido per individuare un modello inadatto.
- OpenCode + Ollama: un agente di programmazione nel tuo terminale
- Cline + Ollama: agente di programmazione 100 % locale in VS Code
- MCP: cos'è? Il Model Context Protocol spiegato
- Chiamata di strumenti con Ollama: tutorial
- Fonte: README ufficiale del repository Goose
- Fonte: documentazione ufficiale dei fornitori
- Fonte: documentazione ufficiale del tool shim
Goose è ancora sviluppato da Block?+
Perché Goose ignora le mie estensioni o il mio file .goosehints con Ollama?+
Che fare se il mio modello locale non chiama gli strumenti in Goose?+
Goose può eliminare file senza chiedere conferma?+
Serve una GPU potente per eseguire Goose localmente?+
Un modello locale senza tool-calling può comunque essere utilizzato con Goose?+
Come limitare le estensioni MCP che Goose può installare?+
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.