Saltar al contenido
supastack
Explorar la documentación

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /es/docs/desktop/run.md (or send Accept: text/markdown).

Ejecuta y configura la shell

Inicia la shell de desarrollo de Tauri y conéctala a tu app web.

Guía paso a paso para principiantes

Requisitos previos: lea las dos guías para principiantes que aparecen a continuación y finalice la configuración local del escritorio, incluidos Rust y los requisitos previos del sistema operativo. El bloque de código inicia tanto la aplicación web como Tauri en el monorepo; en un pago solo de escritorio, use su comando filtrado solo después de iniciar un backend web accesible por separado. Tauri carga ese backend.

Términos breves: un espacio de trabajo son los usuarios, datos y configuraciones separados de un equipo. El servidor es el backend confiable; Mantenga las claves del proveedor fuera del código del navegador y del teléfono. Una migración es un cambio de base de datos versionada que crea o actualiza tablas. Un modelo de IA es el motor que responde; el catálogo de modelos es la lista del servidor de ID de modelos disponibles y precios. Un proveedor es un servicio externo, como inteligencia artificial, correo electrónico o servicio de facturación. Un derecho es una concesión que permite que un espacio de trabajo utilice una función. Un webhook es un mensaje que un servicio envía al URL de otro servicio.

1. Abra apps/desktop/src-tauri/src/lib.rs; Pídale a su agente que cambie solo el comportamiento de la ventana/bandeja/tecla de acceso rápido con nombre y mantenga la interfaz de usuario del producto en la aplicación web.

2. Ejecute el shell y pruebe cerca de la bandeja, Salir y CmdOrCtrl+Shift+Space; prueba supastack:///settings/appearance?preview=1#main.

3. Debería centrarse en la ventana existente y preservar la ruta/consulta/fragmento. Si abre la página incorrecta, compare el origen configurado y la ruta exacta.

Para obtener código personalizado, comience con el prompts/README.md proporcionado y copie el mensaje más cercano: prompts/new-app-screen.md para una pantalla de aplicación o prompts/new-landing-page.md para una página pública. Para trabajos de servidor, base de datos o proveedor, asigne a su agente de codificación la tarea de esta guía y pídale que lea AGENTS.md, .ai/PROJECT_CONTEXT.md y los espejos .ai/ correspondientes; inspeccionar los archivos fuente exactos nombrados aquí; enumerar archivos y verificaciones antes de editarlos; preservar la propiedad del espacio de trabajo y los secretos exclusivos del servidor; y mostrarte la diferencia. Dígale el comportamiento que desea, los campos de entrada y salida, los roles permitidos, los éxitos y errores esperados y la cuenta, proveedor o dispositivo de prueba. Utilice valores de muestra; Nunca pegues un verdadero secreto.

# Monorepo: start the web app and desktop shell together
corepack pnpm dev:desktop

# Desktop-only checkout: start Tauri after a web backend is already reachable
corepack pnpm --filter @supastack/desktop dev

Mantén el comportamiento del shell en Rust

src-tauri/src/lib.rs crea la ventana webview principal de 1200×800. Al cerrar, se oculta en la bandeja; Salir termina la aplicación. Los menús nativos ofrecen Inicio/Atrás/Adelante/Recargar, zoom/pantalla completa y acciones de ventana. La restauración del estado conserva tamaño/posición.

Verifica el comportamiento específico de cada plataforma

La superposición sin conexión inyectada ofrece Reintentar, se oculta al volver a estar en línea y recarga la aplicación web. Prueba el foco, los atajos, el zoom de menú, la bandeja y la invocación de enlaces profundos en cada sistema operativo de destino; las comprobaciones unitarias de URL por sí solas no demuestran esas interacciones nativas.

Configuración y ajustes

Instale las dependencias del espacio de trabajo y la cadena de herramientas Rust más los requisitos previos por sistema operativo de Tauri (WebView2 se envía con Windows; macOS y Linux necesitan sus paquetes documentados). corepack pnpm --filter @supastack/desktop dev ejecuta tauri dev: construye el núcleo de Rust, muestra la interfaz de usuario del marcador de posición y carga la aplicación resuelta URL.

SUPASTACK_APP_URL se lee primero en tiempo de ejecución y, si no existe, usa el valor incluido durante la compilación. Solo se aceptan URL HTTP(S) sin credenciales; si no, se prueba el siguiente valor. SUPASTACK_DESKTOP_HOTKEY sustituye el atajo predeterminado CmdOrCtrl+Shift+Space. Un valor no válido vuelve al atajo predeterminado y no impide el inicio.

corepack pnpm --filter @supastack/desktop dev
corepack pnpm --filter @supastack/desktop typecheck

SUPASTACK_APP_URL=https://app.example.com \
SUPASTACK_DESKTOP_HOTKEY=CmdOrCtrl+Shift+Space \
corepack pnpm --filter @supastack/desktop dev

Flujo de implementación

La ventana principal solo navega por el origen configurado exacto, incluido el protocolo y el puerto. Los enlaces HTTP(S) sin credenciales, mailto y tel pueden abrirse en el navegador del sistema; los protocolos no aprobados se cancelan.

Los enlaces supastack:// registrados trasladan su ruta, consulta y fragmento al origen configurado de la app. El inicio, los eventos del sistema al abrir una URL y las llamadas de una segunda instancia aplican la misma validación, de modo que un enlace profundo no puede redirigir la shell a otro host.

El icono de la bandeja y el atajo global muestran y enfocan la única ventana principal. Si el atajo no se registra, otra aplicación suele estar usando la combinación; elige otro SUPASTACK_DESKTOP_HOTKEY.

Verificación y solución de problemas

Después de cambiar src-tauri, ejecuta cargo check y cargo test mediante los scripts del paquete. A continuación, verifica la navegación al origen exacto, la apertura de enlaces externos permitidos, una ruta supastack:// en el origen configurado de la app, la bandeja y el atajo, y la persistencia del inicio de sesión tras reiniciar.

Si quieres continuar la configuración, lee Crear las cuentas de lanzamiento de escritorio.

Preguntas frecuentes

14 preguntas

¿Qué es supastack?

supastack es una base modular para construir productos SaaS con IA. Reúne la infraestructura común para que puedas centrarte en las funciones propias de tu producto.

¿Soporta web y móvil?

Sí. supastack incluye apps Next.js y Expo como puntos de partida para experiencias web y móviles.

¿Qué autenticación incluye?

Better Auth cubre correo/contraseña, OTP e inicio social. Los espacios de trabajo personales se aprovisionan con la cuenta para que los registros permanezcan delimitados desde el primer día.

¿Cómo se soporta la IA?

supastack incluye IA multi-proveedor configurable, seguimiento de uso, presupuestos y soporte cifrado de claves propias (BYOK).

¿Cómo se gestionan las suscripciones?

Para productos construidos sobre el kit, la facturación Stripe, las suscripciones y los permisos forman la base del acceso de pago. Los secretos de proveedor permanecen en el servidor.

¿Dónde vive el código propio de mi producto?

Las funciones propias del producto permanecen en un codebase separado, mientras el producto configura e integra los módulos base de supastack.

¿Cómo funciona el precio de supastack?

El kit es una compra única con actualizaciones de por vida: Un framework a 249 $ (precio de lanzamiento temporal — 100 $ de descuento sobre el precio habitual de 349 $) o Todos los frameworks (Next.js, iOS, Android) a 499 $ (precio de lanzamiento temporal — 100 $ de descuento sobre el precio habitual de 599 $), más 75 $ por plaza de desarrollador adicional. Sin suscripción al kit. El pago en este sitio entrega tu clave de licencia por correo, con acceso al repositorio por invitación de GitHub.

¿Cómo delimitan los espacios de trabajo mis datos?

Los registros del usuario se delimitan por workspaceId. Identidad, permisos, uso de IA, eventos de facturación y entradas de auditoría permanecen dentro del límite del espacio personal.

¿Cómo funcionan los jobs en segundo plano?

Trigger.dev es el runtime de jobs explícito. El contrato JobRunner solo promete enqueue, status y cancel — la semántica de workflow sigue siendo específica y explícita de Trigger.dev.

¿En qué se diferencia el email de la divulgación?

El email transaccional cubre flujos de producto como avisos de finalización de tareas. La divulgación en frío y las campañas pertenecen al producto, fuera del módulo de email de este kit.

¿Cómo funcionan las compras móviles?

La app móvil incluye compras nativas y restauración con RevenueCat, con acceso verificado por tu servidor. Configura las cuentas de las tiendas y completa las pruebas en dispositivos antes de publicar. La facturación web es independiente.

¿Dónde residen las claves de los proveedores de IA?

Las credenciales BYOK están cifradas y permanecen en el servidor. Las claves se saneen en los logs; el uso y los presupuestos siguen visibles a nivel de espacio de trabajo.

¿Qué métodos de pago acepta el checkout?

El checkout alojado en Stripe acepta tarjetas y, una vez activadas las billeteras en la cuenta de Stripe, también puede ofrecer Alipay y WeChat Pay — muy útil para compradores en China. Las autorizaciones de billetera se confirman de forma asíncrona, por lo que la página de la licencia se actualiza en cuanto se liquida el pago.

¿Puedo obtener un reembolso?

Una vez que tienes acceso al repositorio, supastack es tuyo para siempre, por lo que no se puede reembolsar. Pero no te preocupes: obtienes el código fuente completo con actualizaciones de por vida para crear y lanzar productos ilimitados para ti o tus clientes. Solo no puedes revender el código ni redistribuir el repositorio como plantilla o starter kit.

ES
Tema