Naia
Table des matières
  1. 1Manuel vidéo
  2. 2Naia OS Live USB
  3. 3Installation et déploiement
  4. 3.1Installation de Naia OS (ISO)
  5. 3.2Installation de l'app
  6. 4Commencer
  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. 5Écran principal
  14. 6Discuter
  15. 6.1DJ radio personnel et guide d’exposition
  16. 7Historique des conversations
  17. 8Avancement des travaux
  18. 9Compétences
  19. 10Canaux
  20. 11Agents
  21. 12Diagnostic
  22. 13Espace de travail
  23. 14Navigateur
  24. 15Gestion des panneaux
  25. 16Conversation vocale
  26. 17Paramètres
  27. 18Détails de l'outil
  28. 19Compte Naia
  29. 20Dépannage
  30. 21Utilisation et contribution open source

4.4. naia-offline

Naia est un projet open source fondé sur l'idée de « posséder votre propre IA sur votre propre ordinateur ». Au lieu de confier vos conversations au cloud d'un géant de la tech, vous téléchargez le modèle et l'exécutez directement sur votre propre GPU. Le modèle n'est pas limité à Naia OS (l'interface) — il est utilisable de façon générale via une API compatible OpenAI : n'importe quel SDK, outil ou application OpenAI fonctionne en changeant simplement le point de terminaison, et vous pouvez construire de nouvelles applications par-dessus. Une licence d'utilisation du modèle Naia est proposée aux abonnés particuliers (entreprise / multi-poste → contactez-nous), et s'active avec une clé d'abonnement. Les frais d'abonnement servent à améliorer le projet open source Naia et à faire fonctionner le service.

  • Propriété — le modèle réside sur votre appareil. Il continue de fonctionner même sans internet pendant la période d'abonnement.
  • Confidentialité — la voix et les conversations sont traitées localement et ne quittent jamais votre machine.
  • Tarif forfaitaire — pas de facturation au token ni à l'heure : $10 / month (particulier). Les revenus financent le fonctionnement et l'amélioration de l'open source Naia.
  • Libre d'utilisation — non limité à naia-os (l'interface). Il expose une API compatible OpenAI, donc n'importe quel SDK / outil / application OpenAI se connecte en changeant simplement le point de terminaison, et vous pouvez construire de nouvelles applications par-dessus. (Détails pour développeurs → 4.5 Détails du modèle (dev))
  • Sécurité — Le modèle est suffisamment performant pour risquer d'être détourné (par ex. pour de l'hameçonnage vocal) ; nous appliquons donc une technologie de filigrane audio assurant la traçabilité, pour que vous puissiez l'utiliser l'esprit tranquille.

Le modèle que vous téléchargerez est naia-0.9-omni-24g (conversation vocale multilingue en temps réel). Essayez d'abord la démo gratuite de 30 secondes. Si vous n'avez pas de GPU, une utilisation en ligne (4.6) est également prévue une fois le pool de GPU étendu.

Spécification recommandée : un GPU avec 24 Go de VRAM (RTX 3090 / 4090, etc.). Prérequis : pilote NVIDIA + podman (ou docker) + nvidia-container-toolkit (CDI), ~30 Go d'espace disque libre.

Poursuivez juste en dessous — ① Téléchargement → ② Émission de la clé d'abonnement et exécution → ③ Libération et réinstallation (changement d'appareil).

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

Se connecter depuis naia-os (ou toute application)

Pointez l'URL de la passerelle/du backend de naia-os vers le conteneur en cours d'exécution. Indiquez uniquement l'URL de base — le chemin (/v1/realtime) et le modèle par défaut sont appliqués automatiquement :

  • Même PC : ws://127.0.0.1:8892 — local, donc le texte en clair convient.
  • Autre appareil (à distance) : la connexion passe par une entrée TLS (Tailscale, ci-dessous). Lorsqu'on lui donne un nom d'hôte, naia-os se connecte automatiquement en chiffré (wss) par sécurité ; or le port 8892 du conteneur est en clair (ws), donc se connecter directement en TLS sur 8892 échoue (erreur SSL/Websocket). C'est pourquoi, à distance, on utilise une adresse avec le TLS placé en amont (par ex. https://<host>:8443).

La clé d'abonnement n'est utilisée qu'une seule fois, au moment de l'exécution (activation) — pour la vérification de l'abonnement et l'émission de la licence. Une fois activé, le conteneur vérifie lui-même la licence localement, de sorte que les clients comme naia-os n'ont qu'à se connecter à l'URL ci-dessus — 127.0.0.1 (en clair) sur le même PC, Tailscale (TLS) depuis un autre appareil. Il n'y a pas de clé de connexion séparée.

Pour l'utiliser depuis du code (chat / TTS / STT / embeddings / API realtime compatibles OpenAI) → voir 4.5 Détails du modèle (dev).

Accès à distance — Tailscale (recommandé)

La façon la plus simple d'atteindre en toute sécurité votre GPU domestique depuis naia-os sur un autre ordinateur portable/téléphone :

  1. Installez Tailscale sur les deux appareils et connectez-vous avec le même compte.
  2. Sur le PC GPU, mettez en place une fois une entrée TLS (Tailscale émet et termine automatiquement le certificat) :
    tailscale serve --bg --https=8443 http://127.0.0.1:8892
    
  3. Réglez l'URL du backend de naia-os sur https://<nom-de-la-machine>.<tailnet>.ts.net:8443 (chemin et modèle automatiques). L'adresse de la machine se trouve avec tailscale status.

Ainsi, Tailscale reçoit le TLS et le transmet en clair vers le port 8892, de sorte que la connexion chiffrée (wss) de naia-os fonctionne correctement. Aucune ouverture de port ni adresse IP publique nécessaire, chez vous comme à l'extérieur.

⚠️ Une connexion directe ws://<tailscale-ip>:8892 ne fonctionne pas dans naia-os — naia-os élève le nom d'hôte en wss (TLS), or 8892 est en clair. Utilisez l'entrée --https (:8443) ci-dessus. (Avec votre propre code qui n'utilise que le ws en clair, une connexion directe vers l'IP du tailnet reste possible.)

Autres options à distance (alternatives)

MéthodeNotes
WireGuardVPN auto-hébergé. La version manuelle de Tailscale (échangez les clés vous-même).
Cloudflare Tunnel (cloudflared)Domaine public + TLS automatique, sans redirection de port.
Tunnel SSHssh -L 8892:127.0.0.1:8892 user@gpu-pc — 1:1, simple.
Même réseau localÀ l'intérieur de votre routeur, simplement ws://<lan-ip>:8892.
ngrok / frpTunnel public temporaire (démos/tests).

Le wrapper est du ws simple. Lorsque vous l'exposez à un réseau public, placez toujours en amont le TLS + l'authentification d'un tunnel/VPN. Tailscale / WireGuard / SSH sont chiffrés par eux-mêmes.

Détails de la licence

  • Validité = période d'abonnement — la licence est valable pendant la période d'abonnement. Elle fonctionne hors ligne pendant cette période ; internet n'est nécessaire qu'au renouvellement. À l'expiration, le conteneur s'arrête automatiquement — renouvelez et réactivez (étape 2) pour continuer à l'utiliser.
  • 1 abonnement = 1 appareil actif — un seul appareil est actif à la fois, et tant qu'un appareil est actif, vous ne pouvez pas émettre une nouvelle clé d'abonnement (normalement une seule clé).
  • Changer d'appareil = libérer (étape 3 ci-dessus) + réactiver sur le nouvel appareil — la libération dans le conteneur de l'ancien appareil est signalée automatiquement au serveur et libère l'appareil actif. Ensuite, émettez et exécutez à nouveau sur le nouvel appareil (étape 2). La libération seule ne fait que libérer l'emplacement.
  • Supprimer le conteneur sans le libérer ne libère PAS l'appareil actif — si vous supprimez le conteneur avec podman rm (ou perdez l'appareil), la libération n'est pas signalée au serveur, donc l'appareil actif reste et toute nouvelle activation est bloquée jusqu'à la fin de la période d'abonnement (libéré automatiquement à l'expiration). Exécutez toujours la libération de l'étape 3 avant de supprimer le conteneur.
  • Arrêter le renouvellement automatique (web) — désactiver le renouvellement d'une clé d'abonnement sur le web ne l'annule pas immédiatement ; cela arrête le renouvellement, de sorte que l'appareil actif est libéré à la fin de la période d'abonnement (pas de réémission avant). Pour libérer l'appareil actif maintenant, utilisez la libération du conteneur. À utiliser uniquement si la clé a fuité.
  • Un abonnement particulier peut servir à monétiser vos propres œuvres créatives (par ex. le VTubing). L'usage entreprise / multi-poste / kiosque / exposition / revente / intégration dans un produit relève d'un accord séparé.
  • L'audio généré porte un filigrane d'identification — la parole produite intègre un signal d'identification traçable, de sorte qu'un usage abusif tel que l'usurpation d'identité, la synthèse vocale non consentie, les deepfakes ou la fraude peut être remonté jusqu'à sa source. Un tel usage illégal ou trompeur est interdit et peut entraîner la résiliation de l'abonnement et une responsabilité juridique.

Changer de modèle de conversation (à partir de 0.91)

Naia intègre par défaut une IA qui dialogue avec vous. À partir de 0.91, vous pouvez remplacer cette IA conversationnelle par une autre. La voix (parler / écouter) et l'abonnement restent inchangés ; vous ne remplacez que la partie chargée de la conversation.

  • Le modèle de conversation par défaut est un LLM ouvert intégré. Il est léger et gère plusieurs langues. Vous pouvez en essayer un autre et revenir au modèle par défaut à tout moment.
  • Les modèles trop volumineux ne peuvent pas être chargés. Même avec une carte graphique de 24 Go, les fonctions de parole et d'écoute occupent en permanence environ 10 Go. La nouvelle IA conversationnelle que vous chargez est donc limitée à environ 14 Go. Au-delà, elle ne sera pas appliquée.
  • En cas d'échec, la conversation n'est pas interrompue. Si le chargement d'un nouveau modèle échoue, le système revient automatiquement au modèle utilisé jusque-là.
  • Les abonnés particuliers n'ont rien de plus à télécharger. Votre seul abonnement suffit pour effectuer le changement.

La méthode concrète pour effectuer le changement vous-même se trouve dans le guide pour développeurs. Nous préparons une fonctionnalité permettant de changer de modèle simplement en le choisissant et en cliquant à l'écran.

Mettre à jour vers une nouvelle version (à partir de 0.91)

Lorsqu'une nouvelle version sort, il suffit de télécharger à nouveau l'image et de relancer. L'abonnement, l'enregistrement de l'appareil, le modèle par défaut et les réglages de voix sont conservés, et il n'est pas nécessaire de se réauthentifier. (Au premier lancement de la nouvelle version, une réauthentification automatique se fait via internet, donc une connexion internet est nécessaire lors de la mise à jour.)

# 1) Télécharger la dernière version
podman pull ghcr.io/nextain/naia-0.9-omni-24g:latest

# 2) Nettoyer uniquement le conteneur (laisser le volume de licence intact)
podman stop naia-omni && podman rm naia-omni

# 3) Réexécuter la même commande que celle utilisée lors de la première installation
#    (en montant le même volume de licence, l'authentification de l'abonnement et de l'appareil est conservée)
  • Pour viser une version précise, indiquez la version (par ex. :0.91) au lieu de :latest. Si la nouvelle version pose problème, vous pouvez revenir en arrière de la même manière en téléchargeant le tag d'une version antérieure.
  • ⚠️ N'appuyez pas sur « libérer l'appareil » pour faire une mise à jour. La libération de l'appareil ne sert que lorsque vous remplacez l'ordinateur utilisé par un autre. Si vous appuyez dessus par erreur en voulant mettre à jour, vous devrez vous réauthentifier depuis le début. Tant que vous laissez le volume de licence intact, la mise à jour se fait sans libération.

Modèles à venir

  • naia-0.9-coding-24g (24 Go, codage/agents) — prévu
  • naia-0.9-omni-48g (48 Go, omni plus grand) — prévu
  • Extension intégrée à Naia-OS — prévue comme une extension hors ligne qui s'intègre directement dans l'application naia-os. Elle détectera automatiquement votre GPU, choisira le modèle correspondant (tier), le téléchargera et l'installera en une seule étape (sans ligne de commande).

Tous seront proposés sous le même abonnement de $10 / month (particulier). Adoption B2B par accord séparé.