Naia
Tabla de contenidos
  1. 1Manual en vídeo
  2. 2Naia OS Live USB
  3. 3Instalación e implementación
  4. 3.1Instalación de Naia OS (ISO)
  5. 3.2Instalación de la app
  6. 4Empezando
  7. 4.1Naia Model Pricing
  8. 4.2naia-omni-cascade
  9. 4.3demo
  10. 4.4naia-offline
  11. 4.5naia-model-dev
  12. 4.6naia-online
  13. 5Pantalla principal
  14. 6Charla
  15. 6.1DJ de radio personal y guía de exposición
  16. 7Historial de conversaciones
  17. 8Progreso del trabajo
  18. 9Habilidades
  19. 10Canales
  20. 11Agentes
  21. 12Diagnóstico
  22. 13Espacio de trabajo
  23. 14Navegador
  24. 15Gestión de paneles
  25. 16Conversación por voz
  26. 17Configuración
  27. 18Detalles de la herramienta
  28. 19Cuenta Naia
  29. 20Solución de problemas
  30. 21Uso y contribución de código abierto

4.4. naia-offline

Naia es un proyecto de código abierto construido sobre la idea de «poseer tu propia IA en tu propio ordenador». En lugar de entregar tus conversaciones a la nube de una gran tecnológica, descargas el modelo y lo ejecutas directamente en tu propia GPU. El modelo no se limita a Naia OS (la interfaz) — es utilizable de forma general a través de una API compatible con OpenAI: cualquier SDK, herramienta o aplicación de OpenAI funciona con solo cambiar el punto de conexión, y puedes crear nuevas aplicaciones sobre él. Se ofrece una licencia de uso del modelo Naia a los suscriptores particulares (empresa / multipuesto → contáctanos), y se activa con una clave de suscripción. Las cuotas de suscripción se destinan a mejorar el proyecto de código abierto Naia y a mantener el servicio en funcionamiento.

  • Propiedad — el modelo reside en tu dispositivo. Sigue funcionando incluso sin internet durante el periodo de suscripción.
  • Privacidad — la voz y las conversaciones se procesan localmente y nunca salen de tu máquina.
  • Tarifa plana — sin facturación por token ni por hora: $10 / month (particular). Los ingresos financian la operación y mejora del código abierto de Naia.
  • Libre de usar — no se limita a naia-os (la interfaz). Expone una API compatible con OpenAI, así que cualquier SDK / herramienta / aplicación de OpenAI se conecta con solo cambiar el punto de conexión, y puedes crear nuevas aplicaciones sobre él. (Detalles para desarrolladores → 4.5 Detalles del modelo (dev))
  • Seguridad — El modelo es lo bastante potente como para prestarse a usos indebidos (p. ej. phishing de voz); por eso aplicamos tecnología de marca de agua de audio para garantizar la trazabilidad, de modo que puedas usarlo con tranquilidad.

El modelo que descargarás es naia-0.9-omni-24g (conversación de voz multilingüe en tiempo real). Prueba primero la demo gratuita de 30 segundos. Si no tienes GPU, también está prevista una uso en línea (4.6) una vez que se amplíe el grupo de GPU.

Especificación recomendada: una GPU con 24 GB de VRAM (RTX 3090 / 4090, etc.). Requisitos previos: controlador NVIDIA + podman (o docker) + nvidia-container-toolkit (CDI), ~30 GB de espacio libre en disco.

Continúa justo debajo — ① Descargar → ② Emitir clave de suscripción y ejecutar → ③ Liberar y reinstalar (cambiar de dispositivo).

1. Download

Public image — just pull it. (Licensing is enforced by the token in step 2, not by the download.)

podman pull ghcr.io/nextain/naia-0.9-omni-24g:latest
2. Issue subscription key & run

One click issues a token and builds the run command with it. Please log in first.

Log in

On boot the container uses this token for subscription check + activating this device + decryption (active subscription only). Validity = subscription period, 1 subscription = 1 active device.

First boot takes a few minutes (model loading). Check readiness:

curl -s http://127.0.0.1:8892/health

Active device

None yet. Activates automatically when the container connects with the token above.

Restart / pause (same device)

To briefly stop/start on the SAME device, the command below is enough — the cert persists in the volume, so it reboots offline (no gateway) as the same device (no re-issue, no 409). Don't use step 3 (release) unless you're switching devices or ending the subscription.

podman restart naia-omni

First boot/restart takes a few minutes (model loading) — wait until the health check (step 2) shows ready:true. Connection failures (refused/1006) before that are normal.

3. Release & reinstall (switch device)

To switch devices or reinstall, run the command below — (1) release inside the container (reported to the server, active device freed), (2) remove the container, (3) remove the license volume (clears the released marker = reinstall-ready). Then issue & run again with a new subscription key in step 2.

If you delete the container without releasing (or lose the device), the server's active device is not freed, so new activation is blocked until the subscription period ends (auto-freed at expiry). Release only frees the active-device slot — to finish switching, run step 2 (issue & run) again on the new device.

podman exec naia-omni bash /app/release.sh
podman rm -f naia-omni
podman volume rm naia-omni-license

Conectar desde naia-os (o cualquier aplicación)

Apunta la URL de la pasarela/backend de naia-os al contenedor en ejecución. Indica solo la URL base — la ruta (/v1/realtime) y el modelo predeterminado se aplican automáticamente:

  • Mismo PC: ws://127.0.0.1:8892 — al ser local, el texto plano funciona tal cual.
  • Otro dispositivo (remoto): te conectas a través de una entrada TLS (Tailscale, abajo). Si das un nombre de host, naia-os se conecta cifrado (wss) automáticamente por seguridad, pero el puerto 8892 del contenedor es texto plano (ws), así que conectarse directamente con TLS al 8892 falla (error SSL/Websocket). Por eso, para remoto se usa una dirección con TLS por delante (p. ej. https://<host>:8443).

La clave de suscripción se usa solo una vez, en el momento de la ejecución (activación) — para la comprobación de la suscripción y la emisión de la licencia. Una vez activado, el contenedor verifica la licencia localmente por sí mismo, de modo que los clientes como naia-os solo necesitan conectarse a la URL anterior — 127.0.0.1 (texto plano) en el mismo PC, o Tailscale (TLS) desde otro dispositivo. No hay una clave de conexión separada.

Para usarlo desde código (chat / TTS / STT / embeddings / API realtime compatibles con OpenAI) → consulta 4.5 Detalles del modelo (dev).

Acceso remoto — Tailscale (recomendado)

La forma más sencilla de llegar de forma segura a tu GPU doméstica desde naia-os en otro portátil/teléfono:

  1. Instala Tailscale en ambos dispositivos e inicia sesión con la misma cuenta.
  2. En el PC con GPU, establece una entrada TLS una sola vez (tailscale emite y termina el certificado automáticamente):
    tailscale serve --bg --https=8443 http://127.0.0.1:8892
    
  3. Establece la URL del backend de naia-os en https://<nombre-de-máquina>.<tailnet>.ts.net:8443 (ruta y modelo automáticos). Comprueba la dirección de la máquina con tailscale status.

Así, tailscale recibe el TLS y lo reenvía al texto plano del 8892, por lo que la conexión cifrada (wss) de naia-os funciona correctamente. No se necesita abrir puertos ni IP pública, en casa o fuera.

⚠️ ws://<tailscale-ip>:8892 directo no funciona en naia-os — porque naia-os eleva el nombre de host a wss (TLS) y el 8892 es texto plano. Usa la entrada --https (:8443) anterior. (Si tienes tu propio código que solo usa ws en texto plano, la conexión directa a la IP del tailnet también es posible.)

Otras opciones remotas (alternativas)

MétodoNotas
WireGuardVPN autoalojada. La versión manual de Tailscale (intercambia las claves tú mismo).
Cloudflare Tunnel (cloudflared)Dominio público + TLS automático, sin reenvío de puertos.
Túnel SSHssh -L 8892:127.0.0.1:8892 user@gpu-pc — 1:1, sencillo.
Misma LANDentro de tu router, simplemente ws://<lan-ip>:8892.
ngrok / frpTúnel público temporal (demos/pruebas).

El envoltorio es ws simple. Cuando lo expongas a una red pública, coloca siempre por delante el TLS + la autenticación de un túnel/VPN. Tailscale / WireGuard / SSH están cifrados por sí mismos.

Detalles de la licencia

  • Validez = periodo de suscripción — la licencia es válida durante el periodo de suscripción. Funciona sin conexión durante ese periodo; internet solo se necesita en la renovación. Al expirar, el contenedor se apaga automáticamente — renueva y reactiva (paso 2) para seguir usándolo.
  • 1 suscripción = 1 dispositivo activo — solo un dispositivo está activo a la vez, y mientras un dispositivo esté activo no puedes emitir una nueva clave de suscripción (normalmente solo una clave).
  • Cambiar de dispositivo = liberar (paso 3 anterior) + reactivar en el nuevo dispositivo — la liberación en el contenedor del dispositivo antiguo se notifica automáticamente al servidor y libera el dispositivo activo. Luego emite y ejecuta de nuevo en el nuevo dispositivo (paso 2). La liberación por sí sola solo libera la ranura.
  • Eliminar el contenedor sin liberarlo NO libera el dispositivo activo — si eliminas el contenedor con podman rm (o pierdes el dispositivo), la liberación no se notifica al servidor, por lo que el dispositivo activo permanece y se bloquea cualquier nueva activación hasta que finalice el periodo de suscripción (se libera automáticamente al expirar). Ejecuta siempre la liberación del paso 3 antes de eliminar el contenedor.
  • Detener la renovación automática (web) — desactivar la renovación de una clave de suscripción en la web no la anula de inmediato; detiene la renovación, de modo que el dispositivo activo se desactiva al final del periodo de suscripción (sin reemisión hasta entonces). Para liberar el dispositivo activo ahora, usa la liberación del contenedor. Úsalo solo si la clave se filtró.
  • Una suscripción particular puede usarse para monetizar tus propias obras creativas (p. ej. VTubing). El uso empresarial / multipuesto / quiosco / exposición / reventa / integración en un producto se rige por un acuerdo aparte.
  • El audio generado lleva una marca de agua de identificación — la voz de salida incrusta una señal de identificación rastreable, de modo que un uso indebido como la suplantación de identidad, la síntesis de voz sin consentimiento, los deepfakes o el fraude puede rastrearse hasta su origen. Dicho uso ilegal o engañoso está prohibido y puede conllevar la cancelación de la suscripción y responsabilidad legal.

Cambiar el modelo de conversación (desde 0.91)

Naia incluye de serie una IA con la que conversas. Desde la versión 0.91 puedes sustituir esa IA de conversación por otra. Dejas igual la voz (hablar/escuchar) y la suscripción, y solo cambias la parte encargada de la conversación.

  • El modelo de conversación predeterminado es un LLM abierto integrado. Es ligero y maneja varios idiomas. Puedes probar a cambiar a otro y volver al predeterminado en cualquier momento.
  • No se pueden cargar modelos demasiado grandes. Aunque tu tarjeta gráfica tenga 24 GB, las funciones de hablar/escuchar usan siempre unos 10 GB. Por eso la nueva IA de conversación que cargues tiene un límite aproximado de hasta 14 GB. Cualquier cosa mayor no se aplica.
  • Aunque algo falle, la conversación no se interrumpe. Si falla al cargar el nuevo modelo, vuelve automáticamente al modelo que estabas usando.
  • Los suscriptores particulares no tienen que descargar nada aparte. Puedes cambiarlo solo con tu propia suscripción.

El método concreto para cambiarlo está en la guía para desarrolladores. Estamos preparando que baste con elegir el modelo en pantalla y pulsar para cambiarlo.

Actualizar a una nueva versión (desde 0.91)

Cuando salga una versión nueva, basta con descargar solo la imagen y volver a encenderla. La suscripción, el registro del dispositivo, el modelo predeterminado y la configuración de voz se mantienen, y no hace falta volver a autenticar. (En el primer arranque de la nueva versión se reautentica automáticamente por internet, así que al actualizar se necesita conexión a internet.)

# 1) Descargar la versión más reciente
podman pull ghcr.io/nextain/naia-0.9-omni-24g:latest

# 2) Limpiar solo el contenedor (deja intacto el volumen de la licencia)
podman stop naia-omni && podman rm naia-omni

# 3) Vuelve a ejecutar el mismo comando que usaste en la instalación inicial
#    (si montas el mismo volumen de licencia, se mantiene la autenticación de suscripción/dispositivo)
  • Para fijar una versión concreta, en lugar de :latest indica la versión, p. ej. :0.91. Si la nueva versión da problemas, puedes volver atrás de la misma forma descargando la etiqueta de la versión anterior.
  • ⚠️ No pulses «liberar dispositivo» para actualizar. Liberar el dispositivo es una función que solo se usa al cambiar el ordenador que usabas por otro. Si la pulsas por error al intentar actualizar, tendrás que autenticar de nuevo desde cero. Mientras dejes intacto el volumen de la licencia, la actualización se hace sin liberar.

Modelos próximos

  • naia-0.9-coding-24g (24 GB, codificación/agentes) — previsto
  • naia-0.9-omni-48g (48 GB, omni más grande) — previsto
  • Extensión integrada en Naia-OS — prevista como una extensión sin conexión que se integra directamente en la aplicación naia-os. Detectará automáticamente tu GPU, elegirá el modelo correspondiente (tier), lo descargará e instalará en un solo paso (sin línea de comandos).

Todos se ofrecerán bajo la misma suscripción de $10 / month (particular). Adopción B2B por acuerdo aparte.