Tailored news hub
home›Sistemi Agentici›

Duckle: Pipeline Dati Desktop Local-First con IA Integrata

Scopri come Duckle rivoluziona l'ETL con un costruttore visuale drag-and-drop, 290+ connettori e un assistente IA offline, trasformando i workflow dati in SQL leggibile.

Duckle: Pipeline Dati Desktop Local-First con IA Integrata
#Agenti#Automazione#LLM#Open Source#Strumenti Dev

Esplora Duckle, lo studio di pipeline dati desktop che semplifica la gestione dei dati con un'interfaccia visuale, compilazione in SQL, motore DuckDB e un assistente IA locale. Impara a installare, creare pipeline, integrare Git e pianificare processi, il tutto in un ambiente offline e versionabile.

Panoramica

Duckle è uno studio di pipeline dati desktop local‑first che sostituisce i pesanti flussi ETL cloud e i fragili workflow su fogli di calcolo. Offre un costruttore visuale drag‑and‑drop con oltre 290 connettori (file, database, API SaaS, streaming, vector store e molto altro). Tutte le pipeline vengono compilate in SQL leggibile ed eseguite da un motore colonnare (DuckDB). Un assistente IA integrato (Duckie) funziona interamente in locale: descrivi una pipeline in linguaggio naturale e l’assistente inserisce il grafico corrispondente sulla tela. Il binario autonomo (~30 MB) scarica i motori al primo avvio. Gli spazi di lavoro sono file di testo semplice, versionabili con diff e pronti per Git. Duckle opera completamente offline, supporta 60 lingue dell’interfaccia ed è rilasciato con licenza MIT / Apache‑2.0. È pensato per carichi su singola macchina; per dati più grandi, i risultati possono essere indirizzati verso warehouse o data lake.

Installazione e primo avvio

SOAssetCome eseguire
WindowsDuckle-windows-x64.exeFare doppio clic; bypassare SmartScreen con Ulteriori informazioni → Esegui comunque.
macOS (Apple Silicon)Duckle-macos-arm64chmod +x quindi eseguire; la prima volta clic destro → Apri per aggirare Gatekeeper.
Linux (x86_64)Duckle-linux-x64chmod +x quindi eseguire; richiede libwebkit2gtk-4.1-0.

Al primo avvio, un modale di configurazione ti guida nell’installazione della CLI DuckDB (obbligatoria) e, facoltativamente, del modello IA Duckie (~1,1 GB). Scegli una cartella dello spazio di lavoro in cui pipeline, connessioni e contesti vengono salvati come file di testo. Una guida rapida di 60 secondi: trascina un’origine CSV, collega un filtro, aggiungi un sink Parquet e premi Esegui. In alternativa, fai clic sull’icona dei brillantini, digita una descrizione e inserisci il grafico generato.

Creazione di pipeline

Il flusso quotidiano: aggiungi sorgenti, concatena trasformazioni (filtro, join, aggregazione, arricchimento IA, pulizia), inserisci validatori (non nullo, unicità, regex) che indirizzano gli scarti a una porta di rifiuto, e termina con sink (file, database, object storage, email). Esegui il grafico; il pannello Output mostra conteggi di righe e tempi. L’assistente IA genera un grafico a partire da una descrizione in linguaggio naturale: puoi modificare i nodi in seguito. Riutilizza connessioni crittografate e variabili di contesto (${var}) per cambiare ambiente. Ricette di esempio includono pulizia di CSV, caricamenti notturni da Postgres a Snowflake, ingestion RAG e pipeline per digest Slack. Esempi pronti all’uso si trovano nella cartella samples/.

Spazio di lavoro, Git e pianificazione

Una cartella dello spazio di lavoro contiene pipelines/, connections/, contexts/, routines/, documents/, schedules.json e run-history/. Tutto è testo semplice, pronto per git diff. L’icona Git nella barra superiore apre un pannello per stato, staging, commit, push/pull e gestione dei branch. Push e pull usano il credential helper di sistema; in caso di errore 401, Duckle richiede un token di accesso personale (crittografato con AES all’interno dello spazio di lavoro). La pianificazione si configura nel pannello Schedule con trigger cron, a intervalli o basati su modifica di file. Le pianificazioni vengono salvate in schedules.json e vengono eseguite mentre Duckle è aperto. Una modalità CLI headless è prevista per il rilascio 1.0.

Opzioni di configurazione

ImpostazioneDoveEffetto
TemaInterruttore sole/luna nella barra superioreChiaro/scuro, salvato in localStorage
Spazio di lavoroPillola workspace nella barra superiore → CambiaModifica la cartella dello spazio di lavoro attivo
Motore attivoSelettore motore nella barra superioreScegli DuckDB (predefinito) o SlothDB
Contesto attivoMenu a discesa contesto nella barra superioreRisolve le variabili di contesto al momento dell’esecuzione
URL base IAProprietà baseUrl nei nodi IAPunta a qualsiasi endpoint compatibile con OpenAI (predefinito: Duckie locale)
Riprova per stadioProprietà → scheda AvanzateNumero di tentativi e backoff lineare
Limite di memoria per stadioProprietà → scheda AvanzateApplica PRAGMA memory_limit a quello stadio
Estensioni DuckDBPre-caricate all’installazione; spatial lazy‑loadedEvita pause di rete durante la pipeline
RUST_LOGVariabile d’ambiente prima dell’avvioImpostare a debug per log dettagliati del motore
DUCKLE_DUCKDB_BINVariabile d’ambiente per i testIndirizza i test di integrazione verso una specifica CLI DuckDB

Vincoli, Best Practices e Procedure Chiave

Vincoli: ambito a singola macchina; nessuna CLI headless ancora; il modello AI (1.5B Qwen) potrebbe richiedere più iterazioni per grafici complessi; alcuni connettori sono in Anteprima/Pianificati; nessuna collaborazione in tempo reale; i binari non firmati richiedono un bypass; Linux necessita di libwebkit2gtk; i download del motore sono di grandi dimensioni.

Best practices: usa Parquet per i risultati intermedi, spingi i filtri il prima possibile, sfrutta la ricerca vettoriale/full‑text integrata, precarica le estensioni lazy, raggruppa le chiamate AI in batch, limita la memoria nelle aggregazioni pesanti, utilizza i checkpoint, disabilita il logging di debug, ordina una volta sola alla fine e pulisci i dati prima dell’arricchimento con AI.

Procedure: i motori si installano nella cartella app‑data (%APPDATA%\io.duckle.app\engines\ su Windows, ecc.). La compilazione dai sorgenti richiede --features custom-protocol. Per il rilascio, incrementa la versione in tauri.conf.json, fai commit, crea un tag e pusha. Tieni .duckle/keys/ fuori da Git. Per la connettività, regola la modalità SSL o pre‑installa le estensioni con duckdb :memory: -c "INSTALL spatial; LOAD spatial;".

git clone https://github.com/SouravRoy-ETL/duckle
cd duckle
npm --prefix frontend install

# Development (hot‑reload)
cargo tauri dev

# Release build (must include --features custom-protocol)
cargo build --release --manifest-path apps/desktop/Cargo.toml --features custom-protocol
Articoli Correlati