Guía de Módulo: Plugins
El sistema de plugins es el mecanismo de extensibilidad de DashAI. Permite añadir nuevas capacidades — modelos, tareas, formatos de datos, transformaciones, explicadores y métricas — a la plataforma sin modificar su código base. Los plugins se distribuyen como paquetes Python estándar en PyPI y se instalan directamente desde la interfaz de DashAI.
Cómo Funciona el Sistema de Plugins
DashAI descubre plugins a través del mecanismo de entry points de Python. Cuando un paquete Python declara un entry point dashai.plugins en su pyproject.toml, el registro de componentes de DashAI lo detecta automáticamente al iniciar y pone sus componentes disponibles en las secciones correspondientes de la interfaz.
Esto significa que:
- Un plugin que añade un nuevo modelo aparecerá en la lista de modelos disponibles del módulo de Modelos para la tarea que soporta.
- Un plugin que añade un nuevo converter aparecerá en el panel CONVERT del Notebook.
- Un plugin que añade un nuevo cargador de datos aparecerá en la selección de formato de carga.
No se requiere registro ni configuración manual — la declaración del entry point es suficiente.
Qué Pueden Aportar los Plugins
Un único paquete plugin puede aportar cualquier combinación de los siguientes tipos de componentes:
| Tipo de Componente | Dónde aparece en DashAI |
|---|---|
| Modelos | Módulo de Modelos — lista de modelos disponibles para la tarea correspondiente |
| Tareas | Módulo de Modelos — página de selección de tareas |
| Cargadores de datos | Módulo de Datasets — selector de formato de carga |
| Converters | Módulo Notebook — pestaña CONVERT |
| Explicadores | Módulo de Modelos — pestaña EXPLAINABILITY |
| Métricas | Módulo de Modelos — métricas de evaluación para la tarea correspondiente |
Instalación de Plugins
Navega a la sección PLUGINS en la barra de navegación superior. Desde allí puedes:
- Buscar plugins publicados en PyPI por nombre o palabra clave.
- Ver descripciones de plugins, tipos de componentes soportados e información de versión.
- Instalar con un solo clic — DashAI gestiona la instalación con pip y el registro de componentes automáticamente.
- Reiniciar DashAI si se solicita — algunos plugins requieren reinicio para registrar completamente sus componentes.
Una vez instalados, los nuevos componentes aparecen de inmediato (o después del reinicio) en sus secciones correspondientes sin ninguna configuración adicional.
Estructura de un Plugin
Un plugin de DashAI es un paquete Python estándar con una estructura específica:
plugin_name/
├── LICENSE
├── pyproject.toml
├── README.md
└── src/
└── plugin_name/
├── my_model.py
└── MyModel.json
Cada componente se implementa como una clase Python que extiende la clase base apropiada de DashAI, acompañada de un archivo de esquema JSON que describe sus parámetros para la interfaz.
El pyproject.toml debe declarar un entry point por clase de componente:
[project.entry-points.'dashai.plugins']
MyModel = 'plugin_name.my_model:MyModel'
Y debe incluir las palabras clave apropiadas para que DashAI pueda categorizar el plugin:
[project]
keywords = ["DashAI", "Package", "Model", "Task"]
Palabras clave válidas: DashAI, Package, Task, Model, Dataloader, Converter, Explainer
Plugins Publicados Destacados
Las capacidades de generación de imágenes de DashAI se distribuyen ellas mismas como plugins:
| Plugin | Qué añade |
|---|---|
dashai-stable-diffusion-v1-model-package | Stable Diffusion v1 para generación de imágenes desde texto |
dashai-flux-model-package | Modelo Flux para generación de imágenes desde texto |
dashai-stable-diffusion-controlnet-canny-model | ControlNet con condicionamiento de bordes Canny |
Esta arquitectura — en la que incluso las capacidades de primera parte son plugins — significa que la plataforma central se mantiene liviana y cada característica es opcional según tu hardware y caso de uso.
Desarrollar tus Propios Plugins
Crear un plugin requiere:
- Crear una clase Python que extienda la clase base correcta de DashAI para tu tipo de componente (p. ej.,
TabularClassificationModelpara un modelo de clasificación tabular). - Crear un archivo de esquema JSON que describa los parámetros del componente — esto es lo que DashAI usa para generar la interfaz de configuración automáticamente.
- Empaquetar el código con los entry points correctos en
pyproject.toml. - Probar localmente colocando el plugin en una carpeta
plugins/dentro de tu directorio de desarrollo de DashAI. - Publicar en PyPI cuando esté listo.
Para una guía de desarrollo completa con ejemplos de código, referencias de clases base y un recorrido de publicación, consulta la sección Desarrollo de Plugins.
El mecanismo de entry points significa que cualquier paquete en PyPI con la estructura correcta funcionará — no hay proceso de aprobación ni registro central más allá del propio PyPI. También puedes instalar plugins desde rutas locales durante el desarrollo.