Tailored news hub
homeSistemas Agénticos

Cómo construir canalizaciones de datos de escritorio con Duckle

Aprende a usar Duckle, el estudio de canalizaciones de datos local que reemplaza ETL en la nube con un constructor visual, más de 290 conectores y un asistente de IA.

Cómo construir canalizaciones de datos de escritorio con Duckle
#Agentes#Automatización#Código Abierto#Herramientas Dev#LLM

Descubre Duckle, una herramienta potente y local para construir canalizaciones de datos. Con su interfaz de arrastrar y soltar, compilación a SQL, integración con DuckDB y un asistente de IA, Duckle simplifica la gestión de datos en tu escritorio. Aprende a instalarlo, construir flujos de trabajo, integrarlo con Git y programar tareas.

Descripción general

Duckle es un estudio de canalizaciones de datos de escritorio que prioriza el trabajo local y reemplaza los pesados flujos ETL en la nube y las frágiles hojas de cálculo. Ofrece un constructor visual de arrastrar y soltar con más de 290 conectores (archivos, bases de datos, APIs SaaS, streaming, almacenes vectoriales y más). Todas las canalizaciones se compilan a SQL legible ejecutado por un motor columnar (DuckDB). Un asistente de IA integrado (Duckie) se ejecuta completamente en local: describe una canalización en lenguaje natural y el asistente coloca el grafo correspondiente en el lienzo. El binario autocontenido (~30 MB) descarga los motores en el primer arranque. Los espacios de trabajo son archivos de texto plano, preparados para diff y Git. Duckle funciona totalmente sin conexión, es compatible con 60 idiomas de interfaz y tiene licencia MIT/Apache‑2.0. Está orientado a cargas de trabajo en una sola máquina; para volúmenes mayores, las salidas pueden dirigirse a almacenes o lagos de datos.

Instalación y primer arranque

SOArchivoCómo ejecutarlo
WindowsDuckle-windows-x64.exeDoble clic; omita SmartScreen con Más información → Ejecutar de todas formas.
macOS (Apple Silicon)Duckle-macos-arm64chmod +x y luego ejecute; la primera vez haga clic derecho → Abrir para omitir Gatekeeper.
Linux (x86_64)Duckle-linux-x64chmod +x y luego ejecute; requiere libwebkit2gtk-4.1-0.

En el primer arranque, una ventana de configuración le guía para instalar la CLI de DuckDB (obligatoria) y, opcionalmente, el modelo de IA Duckie (~1,1 GB). Elija una carpeta de espacio de trabajo donde se almacenarán como archivos de texto todas las canalizaciones, conexiones y contextos. Un inicio rápido de 60 segundos: arrastre un origen CSV, conecte un filtro, añada un destino Parquet y pulse Ejecutar. También puede hacer clic en el icono de destellos, escribir una descripción e insertar el grafo generado.

Construcción de canalizaciones

El flujo de trabajo diario: añada orígenes, encadene transformaciones (filtro, unión, agregación, enriquecimiento con IA, limpieza), inserte validadores (no nulo, unicidad, regex) que enrutan los fallos a un puerto de rechazo y finalice con destinos (archivos, bases de datos, almacenamiento de objetos, correo electrónico). Ejecute el grafo; el panel Salida muestra el número de filas y los tiempos. El asistente de IA genera un grafo a partir de una descripción en lenguaje natural; luego puede editar los nodos. Reutilice conexiones cifradas y variables de contexto (${var}) para cambiar de entorno. Entre las recetas de ejemplo se incluyen limpieza de CSV, cargas nocturnas de Postgres a Snowflake, ingesta RAG y canalizaciones de resúmenes de Slack. En el directorio samples/ encontrará ejemplos listos para usar.

Espacio de trabajo, Git y programación

Una carpeta de espacio de trabajo contiene pipelines/, connections/, contexts/, routines/, documents/, schedules.json y run-history/. Todo es texto plano, listo para git diff. El icono de Git en la barra superior abre un panel para estado, stage, commit, push/pull y gestión de ramas. El push/pull utiliza su asistente de credenciales del sistema; si recibe un error 401, Duckle solicita un token de acceso personal (cifrado con AES en el espacio de trabajo). La programación se configura en el panel de Programación mediante triggers de cron, intervalo o vigilancia de archivos. Las programaciones se guardan en schedules.json y se ejecutan mientras Duckle esté abierto. Se planea un modo CLI sin interfaz gráfica para la versión 1.0.

Opciones de configuración

ConfiguraciónUbicaciónEfecto
TemaBotón sol/luna en la barra superiorClaro/oscuro, persistido en localStorage
Espacio de trabajoPíldora de espacio de trabajo en barra superior → CambiarCambia la carpeta activa del espacio de trabajo
Motor activoSelector de motor en barra superiorElija DuckDB (predeterminado) o SlothDB
Contexto activoDesplegable de contexto en barra superiorResuelve las variables de contexto en tiempo de ejecución
URL base de IAPropiedad baseUrl en los nodos de IAApunte a cualquier endpoint compatible con OpenAI (predeterminado: Duckie local)
Reintentos por etapaPropiedades → Pestaña AvanzadoNúmero de intentos y retroceso lineal
Límite de memoria por etapaPropiedades → Pestaña AvanzadoAplica PRAGMA memory_limit a esa etapa
Extensiones de DuckDBPrecargadas en la instalación; spatial bajo demandaEvita pausas de red en mitad de la canalización
RUST_LOGVariable de entorno antes del arranqueAjústela a debug para registros detallados del motor
DUCKLE_DUCKDB_BINVariable de entorno para pruebasDirige las pruebas de integración a una CLI de DuckDB específica

Restricciones, Best Practices y Procedimientos Clave

Restricciones: alcance de una sola máquina; aún no hay CLI sin interfaz gráfica; el modelo de IA (Qwen de 1.5B) puede requerir iteraciones para grafos complejos; algunos conectores están en Vista previa/Planificados; sin colaboración en tiempo real; los binarios no firmados requieren eludir la verificación; Linux necesita libwebkit2gtk; las descargas del motor son grandes.

Best practices: use Parquet para datos intermedios, adelante los filtros lo antes posible, aproveche la búsqueda vectorial/de texto completo integrada, precargue las extensiones de carga diferida, agrupe las llamadas a la IA en lotes, limite la memoria en agregaciones pesadas, use puntos de control, desactive el registro de depuración, ordene una sola vez al final y limpie los datos antes del enriquecimiento con IA.

Procedimientos: los motores se instalan en los datos de la aplicación (%APPDATA%\io.duckle.app\engines\ en Windows, etc.). La compilación desde el código fuente requiere --features custom-protocol. Para publicar, incremente la versión en tauri.conf.json, haga commit, etiquete y haga push. Mantenga .duckle/keys/ fuera de Git. Para la conectividad, ajuste el modo SSL o preinstale extensiones 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
Artículos Relacionados