Version de Escritorio
QANode Desktop es una aplicacion Community Edition sin restricciones en las funciones principales de flujo.
Ventajas del Escritorio
| Caracteristica | Descripcion |
|---|---|
| Instalacion simple | Un instalador unico, sin dependencias externas |
| Base de datos embebida | PostgreSQL integrado, sin configuracion manual |
| Nodos locales | Crear nodos personalizados como archivos locales (hot-reload) |
| Todo en uno | Frontend, API, Worker y base de datos en una sola app |
| Portable | Funciona offline, sin servidor |
Instalacion
Consulta Instalacion para instrucciones completas.
Requisitos Minimos
- Windows 10/11 (64-bit)
- RAM: 4 GB minimo (8 GB recomendado)
- Disco: 500 MB para instalacion + espacio para datos
Primera Ejecucion
En el primer inicio, QANode:
- Muestra progreso en splash screen
- Inicializa PostgreSQL embebido
- Ejecuta migraciones (crea tablas)
- Inicia servidor API
- Abre la interfaz principal
La primera inicializacion puede tardar algunos segundos extra mientras termina la preparacion de la base de datos.
Estructura de Datos
QANode guarda datos en carpetas de usuario:
%APPDATA%\QANode\
├── pg-data/ # Datos de PostgreSQL embebido
├── storage/ # Artefactos (screenshots, PDFs)
└── logs/ # Logs de la app
%USERPROFILE%\Documents\QANode\
└── custom nodes/ # Nodos personalizados locales
└── sample-hash-node/ # Nodo de ejemplo
Importante: no modifiques manualmente archivos dentro de
pg-data/.
Nodos Personalizados Locales
Desktop soporta nodos locales: archivos JavaScript detectados y cargados automaticamente.
Carpeta de Nodos
%USERPROFILE%\Documents\QANode\custom nodes\
Crear un Nodo Local
- Crea un archivo con extension
.node.js,.node.mjso.node.cjs - Exporta
manifestyexecute - QANode detecta cambios automaticamente en ~1.5 segundos
Ejemplo: .node.js (CommonJS)
// mi-nodo.node.js
module.exports = {
manifest: {
type: 'mi-nodo',
name: 'Mi Nodo',
category: 'Mis Nodos',
inputSchema: {
texto: { type: 'string', required: true },
},
outputSchema: {
resultado: { type: 'string' },
},
},
async execute({ inputs }) {
return {
status: 'success',
outputs: { resultado: String(inputs.texto || '').toUpperCase() },
logs: [`Procesado: ${inputs.texto}`],
artifacts: [],
};
},
};
Ejemplo: .node.mjs (ESM)
// mi-nodo.node.mjs
export const manifest = {
type: 'mi-nodo-mjs',
name: 'Mi Nodo MJS',
category: 'Mis Nodos',
inputSchema: {
texto: { type: 'string', required: true },
},
outputSchema: {
resultado: { type: 'string' },
},
};
export async function execute({ inputs }) {
return {
status: 'success',
outputs: { resultado: String(inputs.texto || '').toUpperCase() },
logs: [`Procesado: ${inputs.texto}`],
artifacts: [],
};
}
Detalles completos: Nodos Locales Desktop.
Hot Reload
El provider local monitorea la carpeta de nodos y recarga automaticamente:
- Intervalo: 1.5 segundos
- Deteccion: fecha de modificacion + tamano de archivo
- Recarga: automatica, sin reiniciar la app
Tema Nativo
Desktop soporta integracion con tema claro/oscuro:
- Claro: interfaz clara con barra de titulo clara
- Oscuro: interfaz oscura con barra de titulo oscura
Escritorio vs Web
| Aspecto | Escritorio | Web (Enterprise) |
|---|---|---|
| Base de datos | PostgreSQL embebido | PostgreSQL externo |
| Instalacion | Instalador unico | Manual (Node.js + PostgreSQL) |
| Nodos locales | Soportado | Solo providers HTTP |
| Multiusuario | Uso individual | Uso en equipo |
| Red | Funciona offline | Requiere red |
| Actualizaciones | Instalador | Git pull + rebuild |
Solucion de Problemas
La app no inicia
- Verifica que no haya otra instancia ejecutandose
- Prueba ejecutar como administrador
- Revisa conflictos de puertos
La base de datos no inicia
%APPDATA%\QANode\pg-datapuede estar corrupta- Renombra/elimina la carpeta y reinicia (habra perdida de datos)
Los nodos locales no aparecen
- Verifica extension:
.node.js,.node.mjs,.node.cjs - Verifica exports:
manifestyexecute - Para
.node.js, usa CommonJS (module.exports) o configuratype: "module"enpackage.json - Abre
%APPDATA%\@qanode\desktop\desktop-main.logy buscaFailed loading
Verificacion rapida de errores de importacion
- Abre Configuraciones > Providers y prueba
Desktop Local JS Provider - Revisa
%APPDATA%\@qanode\desktop\desktop-main.log - Busca mensajes como:
Failed loading ".../tu-nodo.node.mjs": Cannot find package 'x'Unexpected token 'export'(normalmente.node.jscon sintaxis ESM sintype: "module")
Consejos
- Usa
.node.jscon CommonJS para compatibilidad simple - Usa
.node.mjscuando necesites ESM explicito - Mantén una carpeta por nodo con su
package.json - Aprovecha hot-reload para iterar rapido
