Cos’è MachineFabric
Un sistema operativo chiede quale app debba aprire un file. MachineFabric chiede cosa vuoi che il file diventi.
Click destro su un file nel Finder su macOS, scegli Transmute e vedi cosa è possibile fare. Un PDF può diventare testo ricercabile, miniature delle pagine, un audiolibro o la risposta a una domanda. Una cartella di scontrini può diventare un foglio di calcolo. Una registrazione di una riunione può diventare un verbale. Non c’è una nuova app da avviare né una nuova finestra da imparare: Transmute è un verbo diverso nel menu che già usi.
MachineFabric si usa attraverso FabricLoom, la sua app desktop: un client nativo su macOS e un client desktop su Linux e Windows, entrambi basati sullo stesso motore locale. I file restano sul tuo disco e l’inferenza avviene sul tuo computer. Non c’è alcun account da creare né abbonamento. Senza connessione di rete cambia solo quali modelli puoi scaricare; quelli già installati continuano a funzionare.
Questa è la documentazione di FabricLoom. Spiega come si combinano le parti e come aggiungere le tue.
Come si compone
Scegli la destinazione, non i passaggi. Il sistema compone il percorso.
Trascina un video e scegli “trascrivi”. FabricLoom trova da solo il percorso (estrae l’audio, lo decodifica, esegue il riconoscimento vocale) e te lo mostra prima di avviarlo. Quando installi una nuova cartuccia, i file che hai già ottengono nuove destinazioni.
Le parti:
- Cartucce: piccoli eseguibili che fanno ciascuno una cosa, come estrarre testo da un PDF, eseguire un modello di visione, trascrivere audio o interrogare un LLM. Le cartucce possono essere scritte in qualsiasi linguaggio. L’SDK esiste in Rust, Go, Swift/Objective-C e Python.
- Capacità: le operazioni tipizzate che una cartuccia offre. Ognuna dichiara cosa accetta, cosa produce e i tag che la distinguono dalle capacità simili.
- Il planner: dati un input e una destinazione, trova un percorso attraverso le cartucce installate e mostra il grafo prima che venga spostato alcun dato.
- Il runtime host: avvia le cartucce, ne gestisce il ciclo di vita in un processo host separato (un servizio XPC in sandbox su macOS, un daemon host su Linux e Windows) e instrada i frame tra loro.
Il protocollo sottostante (naming delle capacità, dispatch, formato di trasmissione, runtime delle cartucce e planner) è CapDAG. È specificato indipendentemente da MachineFabric, e queste pagine non lo ripetono. Per sapere a cosa si canonicalizza un cap URN, qual è la regola di dispatch o come Bifaci (il protocollo binario a frame con cui host e cartucce comunicano) racchiude una richiesta in frame, consulta la documentazione di CapDAG.
Mappa della documentazione
Usare FabricLoom
| Pagina | Cosa copre |
|---|---|
| Transmute | L’esperienza del click destro: il menu, la libreria, le esecuzioni, l’avanzamento live, la pressione di memoria |
| Modelli | Porta il tuo modello: spec HuggingFace, backend MLX/llama.cpp/Candle, famiglie di modelli, generazione strutturata |
Costruire cartucce
| Pagina | Cosa copre |
|---|---|
| Costruisci la tua prima cartuccia | Generare una cartuccia, installarla localmente, eseguirne la capacità e modificarla |
| Capacità | Cos’è una capacità in MachineFabric, quelle standard, come il routing le raggiunge |
| Cartucce su macOS | Struttura della cartuccia su macOS, layout di installazione, sandbox, firma del codice, confezionamento come .pkg |
| Riferimento degli SDK per cartucce | Cosa contiene oggi ciascun SDK per cartucce: Python (capdag), Rust, Go, Swift |
| Contribuire | Come cartucce, capacità e media def entrano nei registri pubblici |
Per la specifica del protocollo (sintassi URN, regola di dispatch, scoring di specificità, formato wire, runtime delle cartucce, planner e il resto su cui MachineFabric è costruito) consulta la documentazione CapDAG.
Cosa aggiunge MachineFabric
CapDAG definisce un protocollo tipizzato per le cartucce. MachineFabric fornisce FabricLoom, l’app desktop, e i flussi di prodotto costruiti su di esso. Questa documentazione copre le parti che appartengono a MachineFabric:
- L’esperienza Transmute. Un’integrazione del menu contestuale del Finder che mostra le destinazioni che una selezione può raggiungere, non le app che possono aprirla. Tutto il resto del prodotto sta dietro questo menu.
- La libreria. I file che hai aggiunto, le esecuzioni che hanno prodotto risultati da essi e l’indice di ricerca su quei risultati. L’applicazione si apre sulla libreria, e le cartucce ne estendono le capacità.
- Gli host di piattaforma. Le cartucce girano in un servizio XPC su macOS e
in un daemon host equivalente su Linux e Windows. La pagina
Cartucce su macOS copre il percorso di installazione
su macOS, il packaging
.pkg, la firma e la notarizzazione. - Porta il tuo modello. Incolla un id di modello HuggingFace e ogni cartuccia installata che sa usarlo lo prende in carico non appena è scaricato. MLX di Apple, llama.cpp e Candle sono runtime supportati.
- Avanzamento live. Ogni passaggio di ogni pipeline riporta cosa sta facendo: la pagina che viene renderizzata, il frame che viene decodificato, il token che viene generato.
- Copertura oggi. I PDF possono essere divisi in pagine o renderizzati come immagini. I formati audio comuni si convertono tra qualsiasi coppia, così come immagini e video. CSV, JSON e YAML si convertono in ogni direzione. Queste cartucce sono disponibili da installare dal browser delle cartucce.
Il matching delle capacità, il planner e il runtime delle cartucce che svolgono questo lavoro fanno parte di CapDAG e sono descritti nella documentazione di CapDAG.