Esiste un modo in cui quasi tutti interagiscono con l’intelligenza artificiale: apri il browser, vai su ChatGPT o Claude, copi un testo dalla pagina che stavi leggendo, lo incolli nella chat, e scrivi la stessa istruzione che hai già digitato mille volte, come “riassumi questo“, “estrai i punti chiave” o “traducimi in italiano“. Poi copi la risposta, la incolli da qualche altra parte, e ogni volta dall’inizio.
Questo flusso di lavoro funziona, ma è ripetitivo. Ogni prompt che usi è una procedura non salvata, non versionata, non riutilizzabile.
Fabric è la risposta a questo problema. Si tratta di un framework open source creato da Daniel Miessler, ricercatore di sicurezza, scrittore e figura di spicco nel panorama della cybersecurity. Con Fabric i prompt che consideri più utili vengono trasformati in pattern, ovvero file di testo in formato Markdown che fungono da system prompt ottimizzati per task specifici. Questi pattern si invocano dalla riga di comando e si compongono tramite pipe Unix, come qualsiasi altro strumento del terminale.
Il risultato è che operazioni come riassumere un articolo, estrarre i punti salienti di un video YouTube, analizzare un testo o riscrivere un documento in uno stile diverso diventano comandi di una sola riga. Fabric supporta tutti i principali provider, tra cui OpenAI, Anthropic e Google Gemini, ma anche modelli completamente locali tramite Ollama, il che lo rende una scelta valida anche per chi tiene alla privacy dei propri dati.
I pattern: prompt versionati come se fossero codice
Il concetto fondamentale di Fabric è il pattern. Tecnicamente, si tratta di un file system.md contenuto in una directory dedicata, con un system prompt scritto in modo preciso, strutturato e riutilizzabile. La repository ufficiale ne include oltre duecento, mantenuti dalla community e aggiornati con regolarità.
Ogni pattern è progettato per un compito specifico. Questi sono trai i più usati:
extract_wisdom. Dato un testo, che sia un articolo, la trascrizione di un podcast o le note di una conferenza, estrae idee principali, citazioni notevoli, domande aperte e consigli pratici in formato strutturato.analyze_claims. Valuta la solidità logica delle affermazioni presenti in un testo, segnalando ragionamenti deboli o erronei.create_tags. Genera tag semantici da qualsiasi contenuto.write_essay. Produce un saggio argomentativo a partire da un’idea.summarize. Offre un riassunto asciutto e sintetico.create_conceptmap. Genera mappe concettuali interattive in HTML usando Vis.js.
La lista completa è esplorabile direttamente dalla riga di comando:
fabric --listpatternsQuello che rende questo approccio interessante non è solo la comodità, ma la riproducibilità. Quando usi un pattern, sai esattamente quale istruzione stai dando al modello: è lì, scritta in un file che puoi leggere, modificare, versionare con Git e condividere con altri. Nessun prompt perso nella cronologia di una chat, nessuna variazione involontaria ogni volta che lo riscrivi a mano.
Installazione e configurazione in quindici minuti
Fabric è scritto in Go e distribuito come binario precompilato. Il modo più rapido per installarlo su Linux, Mac e Windows è usare go install, a patto di avere il toolchain Go già presente sul sistema:
go install github.com/danielmiessler/fabric@latestSu macOS con Homebrew:
brew install fabric-aiSu Linux puoi scaricare il binario direttamente dalla pagina delle release su GitHub (disponibile per Linux x86_64, ARM64 e Windows ARM).
A questo punto puoi avviare la configurazione guidata:
fabric --setupIl wizard chiede quale provider vuoi usare, tra OpenAI, Anthropic, Google Gemini, Groq e altri, la relativa API key e quale modello impostare come predefinito. Al termine, scarica automaticamente tutti i pattern della repository ufficiale nella cartella ~/.config/fabric/patterns/.
Se invece vuoi usare modelli locali tramite Ollama, non serve inserire alcuna API key per quella parte. Fabric rileva in automatico il server Ollama in esecuzione sulla porta standard 11434. Basta avere Ollama attivo con almeno un modello già scaricato, e i modelli locali appariranno nell’elenco:
fabric --listmodelsIl file di configurazione viene salvato in ~/.config/fabric/.env e si modifica manualmente in qualsiasi momento. Questo lo rende comodo da gestire con un dotfile manager o da includere in un repository privato di configurazioni, così da averlo sempre sincronizzato tra macchine diverse.
La filosofia Unix: pipe, stdin e automazione
Il punto in cui Fabric diventa davvero potente è quando lo integri nel flusso di lavoro del terminale. Segue la filosofia Unix, in pratica ogni programma comunica tramite testo su stdin/stdout. Fabric si comporta esattamente come un filtro componibile.
Il modo base per usarlo è passare del testo tramite pipe:
echo "Testo da analizzare" | fabric --pattern analyze_claimsOppure puoi usare pbpaste su macOS o xclip/xsel su Linux per passare il contenuto degli appunti:
pbpaste | fabric --pattern summarizeDa qui in poi le possibilità si moltiplicano. Puoi combinare più strumenti Unix in una pipeline, recuperando per esempio il corpo di una pagina web con curl, passandolo a Fabric per estrarre i punti chiave e salvando il risultato in un file di note:
curl -s https://example.com/articolo | fabric --pattern extract_wisdom >> note.mdUna delle funzionalità più apprezzate è l’integrazione con YouTube. Fabric include un helper chiamato yt che scarica la trascrizione di un video e la passa direttamente a un pattern:
yt https://www.youtube.com/watch?v=ID_VIDEO | fabric --pattern extract_wisdomIn questo modo puoi “leggere” un video di un’ora in meno di trenta secondi, ottenendo idee, citazioni e consigli estratti in automatico. Per chi segue podcast tecnici, talk di conferenze o lunghi video divulgativi, è una funzionalità che fa risparmiare tempo.
Un’altra tecnica utile è lo stitching, ovvero la concatenazione di pattern in sequenza. Puoi per esempio usare extract_wisdom per ottenere i punti chiave da un articolo e passare quell’output a write_essay per costruire un testo argomentativo:
pbpaste | fabric --pattern extract_wisdom | fabric --pattern write_essayFabric con modelli locali: nessun dato lascia il tuo computer
Uno dei motivi per scegliere Fabric rispetto a un semplice wrapper su ChatGPT è il supporto nativo per modelli locali tramite Ollama. Se hai già seguito la nostra guida su Ollama e Open WebUI, la configurazione è immediata: basta che Ollama sia in esecuzione e Fabric lo rileva senza configurazione aggiuntiva.
La scelta del modello dipende dall’hardware disponibile.
- Per chi dispone di 8 GB di VRAM o RAM unificata,
qwen3:8boffre un ottimo equilibrio tra qualità delle risposte e velocità di inferenza. - Su macchine con 16-24 GB,
qwen3:30b, un modello della famiglia Qwen 3 di Alibaba, è il punto di riferimento per l’uso generale: ragionamento solido, buona gestione del contesto lungo e istruzioni seguite con coerenza. - Per chi vuole concentrarsi sul codice,
qwen3-coder:30bè stato addestrato con reinforcement learning su benchmark di software engineering ed è al momento una delle opzioni più capaci per task di programmazione.
Per usare un modello locale specifico in Fabric, basta il flag --model:
pbpaste | fabric --pattern summarize --model qwen3:8bPer impostarlo come predefinito senza doverlo specificare ogni volta, puoi modificare il file .env oppure usare il comando dedicato:
fabric --changeDefaultModel qwen3:8bIl vantaggio pratico di lavorare con modelli locali non si riduce alla privacy: include anche l’assenza di costi per API e la possibilità di usare Fabric offline.
Pattern personalizzati: costruisci il tuo arsenale privato
I pattern della repository ufficiale coprono molti scenari, ma prima o poi avrai bisogno di qualcosa di più specifico al tuo flusso di lavoro. Creare un pattern personalizzato richiede meno di cinque minuti.
La struttura è semplice: crei una directory con il nome del pattern dentro ~/.config/fabric/patterns/, e ci metti dentro un file system.md. Quello che scrivi in quel file è esattamente il system prompt che verrà inviato al modello.
Un esempio pratico per chi lavora ogni giorno con Git: un pattern che legge l’output di git diff e genera automaticamente un messaggio di commit ben formato, seguendo la convenzione Conventional Commits.
Crea prima la directory da terminale:
mkdir -p ~/.config/fabric/patterns/generate_commitPoi crea il file system.md:
# IDENTITÀ E SCOPO
Sei un esperto di version control. Ricevi in input l'output di un git diff
e il tuo compito è produrre un messaggio di commit chiaro, preciso e in inglese.
# FORMATO
Usa la convenzione Conventional Commits:
<tipo>(<scope opzionale>): <descrizione breve in minuscolo, max 72 caratteri>
I tipi validi sono: feat, fix, refactor, chore, docs, style, test, perf.
Se le modifiche sono rilevanti, aggiungi un corpo separato da una riga vuota
con una spiegazione del perché, non del cosa (il diff già mostra il cosa).
# NOTE
Restituisci solo il messaggio di commit, senza spiegazioni aggiuntive.
Non usare mai "this commit" o "I" nel testo.Una volta salvato, puoi usarlo direttamente con una pipe da Git:
git diff --staged | fabric --pattern generate_commitOppure, se vuoi passare il messaggio generato direttamente al comando di commit:
git diff --staged | fabric --pattern generate_commit | git commit -F -Questo è il tipo di automazione in cui Fabric dà il meglio: un’operazione ripetitiva, con un formato preciso e regole chiare, che diventa un singolo comando nel terminale.
I pattern personalizzati vengono salvati in una posizione separata rispetto a quelli ufficiali, quindi non vengono sovrascritti quando aggiorni Fabric con fabric --updatepatterns. Per tenerli sincronizzati tra macchine diverse, è sufficiente includerli in un repository Git privato e symlinkare la directory.
Fabric: uno strumento che costruisce abitudini
Fabric funziona come una libreria di funzioni riutilizzabili: è lì quando ne hai bisogno, si integra con ciò che già usi, e non cambia il modo in cui pensi al problema.
Il fatto di poter usare qualsiasi modello, locale o cloud, è una forma di libertà. Puoi partire con GPT-5.5 per la qualità delle risposte e passare a Qwen3 in locale quando la riservatezza del contenuto lo richiede, senza cambiare nulla nel tuo toolchain. Lo stesso comando, lo stesso pattern, risultati diversi in base a dove gira il modello.
Per chi passa già la maggior parte della giornata nel terminale, Fabric colma un vuoto che probabilmente sentivi: la mancanza di un modo riproducibile e componibile di usare i modelli linguistici come parte integrante del proprio lavoro.
Repository ufficiale: github.com/danielmiessler/fabric













