Naia
Índice
  1. 1Manual em vídeo
  2. 2Naia OS Live USB
  3. 3Instalação e implantação
  4. 3.1Instalação do Naia OS (ISO)
  5. 3.2Instalação do app
  6. 4Primeiros passos
  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. 5Tela principal
  14. 6Bate-papo
  15. 6.1DJ de rádio pessoal e guia de exposição
  16. 7Histórico de conversas
  17. 8Progresso do Trabalho
  18. 9Habilidades
  19. 10Canais
  20. 11Agentes
  21. 12Diagnóstico
  22. 13Área de Trabalho
  23. 14Navegador
  24. 15Gerenciamento de Painéis
  25. 16Conversa por Voz
  26. 17Configurações
  27. 18Detalhes da ferramenta
  28. 19Conta Naia
  29. 20Solução de problemas
  30. 21Uso e contribuição de código aberto

4.4. naia-offline

Naia é um projeto de código aberto baseado em "ter sua própria IA no seu próprio computador". Em vez de entregar suas conversas à nuvem de uma grande empresa de tecnologia, você baixa o modelo e o executa diretamente na sua própria GPU. O modelo não se limita ao Naia OS (a interface) — ele pode ser usado de forma geral por meio de uma API compatível com OpenAI: qualquer SDK, ferramenta ou aplicativo OpenAI funciona apenas trocando o endpoint, e você pode criar novos aplicativos sobre ele. A licença para usar o modelo Naia é oferecida a assinantes individuais (corporativo / multiusuário → fale conosco) e é ativada com uma chave de assinatura. As taxas de assinatura são usadas para melhorar o projeto de código aberto Naia e manter o serviço em funcionamento.

  • Posse — o modelo fica no seu dispositivo. Ele continua funcionando mesmo sem internet durante o período de assinatura.
  • Privacidade — voz e conversas são processadas localmente e nunca saem da sua máquina.
  • Tarifa fixa — sem cobrança por token ou por hora: $10 / mês (individual). A receita financia a operação e a melhoria do projeto de código aberto Naia.
  • Livre para usar — não se limita ao naia-os (a interface). Ele expõe uma API compatível com OpenAI, então qualquer SDK / ferramenta / aplicativo OpenAI se conecta apenas trocando o endpoint, e você pode criar novos aplicativos sobre ele. (Detalhes para desenvolvedores → 4.5 Detalhes do modelo (dev))
  • Segurança — O modelo é potente o suficiente para ser usado de forma indevida (por exemplo, em phishing de voz); por isso aplicamos tecnologia de marca d'água de áudio para garantir rastreabilidade, para que você possa usá-lo com tranquilidade.

O modelo que você baixará é o naia-0.9-omni-24g (conversa de voz multilíngue em tempo real). Experimente primeiro a demo gratuita de 30 segundos. Se você não tiver uma GPU, o uso online (4.6) também está planejado assim que o pool de GPUs for expandido.

Especificação recomendada: uma GPU com 24 GB de VRAM (RTX 3090 / 4090, etc.). Pré-requisitos: driver NVIDIA + podman (ou docker) + nvidia-container-toolkit (CDI), ~30 GB de disco livre.

Prossiga logo abaixo — ① Baixar → ② Emitir chave de assinatura e executar → ③ Liberar e reinstalar (trocar 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 a partir do naia-os (ou de qualquer aplicativo)

Aponte a URL de gateway/backend do naia-os para o contêiner em execução. Basta informar a URL base — o caminho (/v1/realtime) e o modelo padrão são aplicados automaticamente:

  • Mesmo PC: ws://127.0.0.1:8892 — local, então texto puro está OK.
  • Outro dispositivo (remoto): a conexão passa por uma entrada TLS (Tailscale, abaixo). Ao receber um nome de host, o naia-os, por segurança, conecta-se automaticamente de forma criptografada (wss); mas a porta 8892 do contêiner é texto puro (ws), então conectar-se diretamente à 8892 com TLS falha (erro de SSL/Websocket). Por isso, no acesso remoto, use um endereço com TLS na frente (por exemplo, https://<host>:8443).

A chave de assinatura é usada apenas uma vez, no momento da execução (ativação) — para a verificação da assinatura e a emissão da licença. Uma vez ativado, o contêiner verifica a licença localmente por conta própria, então clientes como o naia-os só precisam se conectar à URL acima — 127.0.0.1 (texto puro) no mesmo PC, ou o Tailscale (TLS) abaixo a partir de outro dispositivo. Não há uma chave de conexão separada.

Para usar a partir de código (chat / TTS / STT / embeddings / API realtime compatíveis com OpenAI) → consulte 4.5 Detalhes do modelo (dev).

Acesso remoto — Tailscale (recomendado)

A maneira mais fácil de alcançar com segurança sua GPU doméstica a partir do naia-os em outro notebook/celular:

  1. Instale o Tailscale em ambos os dispositivos e faça login com a mesma conta.
  2. No PC com GPU, configure a entrada TLS uma vez (o tailscale emite e termina o certificado automaticamente):
    tailscale serve --bg --https=8443 http://127.0.0.1:8892
    
  3. Defina a URL de backend do naia-os como https://<nome-da-maquina>.<tailnet>.ts.net:8443 (caminho e modelo automáticos). Confira o endereço da máquina com tailscale status.

Assim, o tailscale recebe o TLS e o encaminha para a 8892 em texto puro, de modo que a conexão criptografada (wss) do naia-os funciona normalmente. Sem necessidade de abrir portas ou de IP público, em casa ou fora.

⚠️ ws://<tailscale-ip>:8892 conexão direta não funciona no naia-os — porque o naia-os eleva o nome de host para wss (TLS), mas a 8892 é texto puro. Use a entrada --https acima (:8443). (Se for um código próprio que usa apenas ws em texto puro, a conexão direta pelo IP do tailnet também é possível.)

Outras opções remotas (alternativas)

MétodoObservações
WireGuardVPN auto-hospedada. A versão manual do Tailscale (você troca as chaves).
Cloudflare Tunnel (cloudflared)Domínio público + TLS automático, sem redirecionamento de portas.
Túnel SSHssh -L 8892:127.0.0.1:8892 user@gpu-pc — 1:1, simples.
Mesma LANDentro do seu roteador, basta ws://<lan-ip>:8892.
ngrok / frpTúnel público temporário (demos/testes).

O wrapper é um ws simples. Ao expô-lo a uma rede pública, sempre coloque o TLS + autenticação de um túnel/VPN na frente. Tailscale / WireGuard / SSH já são criptografados por si só.

Detalhes da licença

  • Validade = período de assinatura — a licença é válida pelo período de assinatura. Ela funciona offline durante esse período; a internet só é necessária na renovação. Ao expirar, o contêiner é desligado automaticamente — renove e reative (passo 2) para continuar usando.
  • 1 assinatura = 1 dispositivo ativo — apenas um dispositivo fica ativo por vez e, enquanto um dispositivo estiver ativo, você não pode emitir uma nova chave de assinatura (normalmente apenas uma chave).
  • Trocar de dispositivo = liberar (passo 3 acima) + reativar no novo dispositivo — a liberação no contêiner do dispositivo antigo é reportada ao servidor automaticamente e libera o dispositivo ativo. Em seguida, emita e execute novamente no novo dispositivo (passo 2). A liberação sozinha apenas libera o slot.
  • Excluir o contêiner sem liberar NÃO libera o dispositivo ativo — se você remover o contêiner com podman rm (ou perder o dispositivo), a liberação não é reportada ao servidor, então o dispositivo ativo permanece e uma nova ativação fica bloqueada até o fim do período de assinatura (liberado automaticamente no vencimento). Sempre execute a liberação do passo 3 antes de excluir o contêiner.
  • Parar a renovação automática (web) — desativar a renovação de uma chave de assinatura na web não a anula imediatamente; isso interrompe a renovação, então o dispositivo ativo cai no fim do período de assinatura (sem reemissão até lá). Para liberar o dispositivo ativo agora, use a liberação pelo contêiner. Use apenas se a chave vazar.
  • Uma assinatura individual pode ser usada para monetizar seu próprio trabalho criativo (por exemplo, VTubing). Corporativo / multiusuário / quiosque / exposição / revenda / incorporação em produto são por acordo separado.
  • O áudio gerado contém uma marca d'água de identificação — a fala de saída incorpora um sinal de identificação rastreável, de modo que usos indevidos como falsificação de identidade, síntese de voz sem consentimento, deepfakes ou fraude podem ser rastreados até a origem. Tal uso ilegal ou enganoso é proibido e pode resultar no cancelamento da assinatura e em responsabilidade legal.

Trocar o modelo de conversa (a partir da 0.91)

O naia já vem com uma IA que conversa por padrão. A partir da 0.91, você pode substituir essa IA de conversa por outra. Mantendo a voz (falar e ouvir) e a assinatura como estão, você troca apenas a parte responsável pela conversa.

  • O modelo de conversa padrão é um LLM aberto integrado. É leve e lida com vários idiomas. Você pode experimentar outro e voltar ao padrão a qualquer momento.
  • Modelos grandes demais não cabem. Mesmo que sua placa de vídeo tenha 24 GB, as funções de falar e ouvir já usam cerca de 10 GB o tempo todo. Por isso, a nova IA de conversa que você carregar tem um limite de aproximadamente 14 GB. Algo maior que isso não será aplicado.
  • Mesmo que dê errado, a conversa não é interrompida. Se o carregamento de um novo modelo falhar, ele volta sozinho para o modelo que estava em uso.
  • Assinantes individuais não precisam baixar nada à parte. Você pode fazer a troca apenas com a sua própria assinatura.

O método específico para fazer a troca está no guia para desenvolvedores. Estamos preparando um recurso para que baste escolher o modelo na tela e clicar para trocá-lo.

Atualizar para uma nova versão (a partir da 0.91)

Quando uma nova versão sair, basta baixar a imagem nova e ligar de novo. A assinatura, o registro do dispositivo, o modelo padrão e as configurações de voz são mantidos, e não é preciso autenticar novamente. (Na primeira execução da nova versão, a reautenticação acontece automaticamente pela internet, então é preciso conexão com a internet ao atualizar.)

# 1) Baixar a versão mais recente
podman pull ghcr.io/nextain/naia-0.9-omni-24g:latest

# 2) Limpar apenas o contêiner (mantenha o volume da licença)
podman stop naia-omni && podman rm naia-omni

# 3) Execute novamente o mesmo comando usado na primeira instalação
#    (apontando para o mesmo volume da licença, a autenticação da assinatura e do dispositivo é mantida)
  • Para fixar uma versão específica, escreva a versão como :0.91 em vez de :latest. Se a nova versão tiver algum problema, basta baixar a tag da versão anterior da mesma forma para reverter.
  • ⚠️ Não clique em "liberar dispositivo" para atualizar. A liberação de dispositivo só serve para quando você troca o computador em uso por outro computador. Se clicar por engano ao tentar atualizar, você terá que autenticar tudo de novo desde o início. Mantendo apenas o volume da licença, a atualização acontece sem liberação.

Modelos futuros

  • naia-0.9-coding-24g (24 GB, código/agentes) — planejado
  • naia-0.9-omni-48g (48 GB, omni maior) — planejado
  • Extensão integrada ao Naia-OS — planejada como uma extensão offline que se encaixa diretamente no aplicativo naia-os. Ela vai detectar automaticamente sua GPU, escolher o modelo correspondente (nível), baixá-lo e instalá-lo em uma única etapa (sem linha de comando).

Todos serão oferecidos sob a mesma assinatura de $10 / mês (individual). Adoção B2B por acordo separado.