A resposta curta
Não. O Whizi não tem modo offline. Para gerar uma resposta, o Whizi envia as informações razoavelmente necessárias para o pedido ao OpenRouter e a um provedor de modelo roteado, ou a outro provedor usado pelo recurso selecionado, então uma resposta é sempre uma ida e volta pela rede até uma empresa que não é o Whizi. Hospedagem, chats sincronizados, mídia, estado da conta, limites de uso, relatórios e o processamento de segurança e operacional rodam todos no Cloudflare Workers, D1, R2 e Durable Objects, o que significa que a própria conversa em que você está digitando também vive no servidor.
A lista de modelos fica do lado do servidor pelo mesmo motivo. O seletor é servido pelo backend do Whizi em GET /api/models, e as listas de modelos fixas nos clientes web e mobile são apenas alternativas offline, usadas quando essa chamada não pode ser alcançada. A lista alternativa só desenha o seletor: ver um nome ali quando a rede está fora do ar não significa que algo por trás dele consiga responder.
| O que precisa de conexão | O que acontece no seu aparelho |
|---|---|
| Toda resposta de modelo, em todos os planos | O tema que você escolheu, salvo no armazenamento local e restaurado na próxima visita |
| Carregar sua lista de chats e qualquer conversa | Analisar um arquivo de exportação do ChatGPT ou do Claude, que o navegador lê antes de qualquer envio |
| Enviar uma mensagem, editar uma, trocar de versão | Montar o .xlsx ou o .docx a partir de um cartão de arquivo em uma resposta |
| Busca na web, voz, geração de imagens | O cache do app mobile com conversas recentes, descrito abaixo |
| Enviar um arquivo, e visualizar mídia armazenada por meio de sua URL assinada |
O que o app mobile guarda no aparelho
A política de privacidade é específica sobre isso. O app mobile pode manter em cache local até 40 conversas recentes em um aparelho com login ou de convidado, e esse cache não é um backup separado na nuvem. Como ele é limpo, e onde fica tudo o mais na conta, está em onde o Whizi guarda os dados.
Um cache de conversas recentes não é um modo de leitura offline, e não muda nada sobre onde o trabalho acontece. Conversas e mensagens ficam na conta até você apagá-las ou apagar a conta, e uma nova resposta ainda precisa chegar a um provedor pela rede.
Seu plano também é resolvido no servidor. A cobrança é por conta individual, com o nível derivado em exatamente um único lugar a partir da própria assinatura daquela conta. Veja Whizi no celular para saber como as duas plataformas compartilham uma única conta.
Uma conexão que cai no meio de uma resposta
A geração roda em um Durable Object por conversa no servidor, então fechar a aba no meio da transmissão não mata a resposta, e ela continua sendo salva. Uma aba reaberta ou um segundo aparelho pode se reconectar a uma geração já em andamento por meio de GET /api/conversations/:id/generate/active. Volte, recarregue a conversa e leia o que foi salvo.
Há uma janela estreita bem no início em que isso não vale. Se o cliente se desconectar antes que a conexão a montante seja concluída, o servidor registra Generation aborted before it started. e responde HTTP 408 com corpo vazio, então nada chegou a um modelo.
Parar é uma decisão do servidor, não do cliente: o coordenador cancela a leitura do provedor, salva a resposta parcial, libera o bloqueio e reembolsa um turno não entregue. O conjunto completo de mensagens do meio da transmissão e o que cada uma significa está em uma mensagem não é enviada.
As mensagens que você vê quando a chamada não consegue terminar
O Whizi mostra a falha da chamada que estava em andamento, em vez de uma mensagem genérica única, então o texto que você vê depende do que você estava fazendo. Cada um é citado ao pé da letra, com a condição para a qual está documentado.
| Mensagem | Condição documentada | Onde está coberto |
|---|---|---|
Failed to send message. | O toast alternativo do site quando um envio falha e o backend não forneceu mensagem | mensagem não enviada |
Could not load your chats. Please refresh to try again. | O toast mostrado quando a lista de chats falha ao carregar | mensagem não enviada |
Failed to retrieve session token. | Lançado sempre que a busca do token não retorna nada antes de uma chamada de lista de chats, carregamento de chat, exclusão, renomeação ou upload | login e acesso à conta |
The import could not be finished. Check your connection and try again. | Qualquer outra falha de upload durante uma importação | erros de importação de chat |
Something went wrong. Please close and try again. | O erro genérico da caixa de diálogo de compartilhamento, mostrado só quando a falha não carrega mensagem própria, como uma conexão caída ou uma página de erro em HTML | compartilhar uma conversa |
The realtime voice connection failed. | Mostrado em um evento de erro de websocket | modo de voz não funciona |
The realtime voice connection was closed. | Mostrado quando o websocket fecha depois que a configuração terminou | modo de voz não funciona |
Connection error | O rótulo de estado da sobreposição de voz para uma sessão de voz com falha | modo de voz não funciona |
That didn't send. Check your connection and try again. | A alternativa de feedback para qualquer outra falha | solução de problemas |
A voz merece um esclarecimento, porque a arquitetura dela parece independente e não é. O worker gera um token de curta duração e o navegador abre um WebSocket direto para o Google, então nenhum áudio passa pelos servidores de backend do Whizi. Isso é uma propriedade de privacidade, não uma propriedade offline: o socket para o Google continua sendo um socket, e o token de sessão que o abre é gerado pelo worker.
O que fazer antes de perder o sinal
Nenhuma dessas dicas te dá um modelo funcionando sem conexão. Elas servem para você não ficar sem acesso ao seu conteúdo.
Leve seus dados com você. GET /api/account/export retorna os dados da conta como um único arquivo JSON para download, acessível como Exportar Dados (Export Data) em Configurações, em Conta. A ressalva que importa offline: a mídia é exportada como metadados mais uma URL assinada, e não como bytes embutidos, então o JSON guarda o registro enquanto a própria imagem ainda precisa ser buscada. O que a conta guarda está detalhado em onde o Whizi guarda os dados.
Tire uma resposta em forma de arquivo enquanto ainda tem sinal. Uma resposta do chat pode emitir um bloco cercado que o site renderiza como um cartão de arquivo e transforma em um .xlsx ou .docx de verdade no navegador. A montagem é local, a resposta que a gerou não foi.
Importe quando pousar, não durante o voo. Escolher o arquivo de exportação é trabalho local, e o upload não é, embora uma conexão que caia durante um upload não custe nada, já que cada conversa é identificada por conta, mais origem, mais id de origem, e cai apenas uma vez. As mensagens de falha estão em erros de importação de chat.
- Não existe modo offline nem um caminho de resposta local no Whizi
- Toda resposta é uma requisição pela rede a um provedor de modelo roteado
- O seletor de modelos é servido pelo backend, e as listas embutidas são apenas alternativas
- O app mobile pode guardar em cache até 40 conversas recentes, e esse cache não é um backup separado na nuvem
- Seu nível é derivado no servidor a partir da assinatura da sua própria conta
- Uma resposta sobrevive a um cliente que cai: a geração continua em um Durable Object
- Exporte sua conta como JSON em Configurações, em Conta, antes de viajar
- A mídia em uma exportação é uma URL assinada, então ainda precisa ser buscada depois
Perguntas frequentes
O Whizi funciona em um avião sem wifi?
Não. Toda resposta é gerada por um provedor de modelo alcançado pela rede, então sem conexão não há caminho até um modelo nem até sua lista de chats.
Meu celular perdeu o sinal no meio da geração. Posso começar outra no meu notebook na hora?
Não necessariamente, porque só uma geração pode rodar por conta de cada vez. Uma segunda tentativa enquanto o bloqueio por usuário ainda estiver ativo é recusada com "Generation already in progress. Please stop it or wait for it to finish." O bloqueio não é permanente: ele fica disponível para ser tomado assim que o titular é considerado órfão ou travado, e bloqueios expirados são limpos em uma programação.
Posso rolar uma conversa antiga no celular em modo avião?
Só dentro do que o app mobile já guardou em cache, e as imagens são um caso à parte, mesmo aí. Imagens geradas ficam guardadas no servidor e são entregues por URLs assinadas, então uma imagem em uma conversa antiga é buscada no momento em que você a vê, e não fica guardada no aparelho.
Uma conta de convidado no celular muda algo disso?
Não. O cache local que a política de privacidade documenta cobre um aparelho com login ou de convidado, do mesmo jeito. A própria credencial de convidado fica guardada no aparelho, mas o Whizi guarda um identificador derivado em mão única para reconhecer o perfil de convidado, sincronizar dados, verificar o acesso à assinatura e depois vincular esses dados a uma conta, que são todas operações do lado do servidor. A exportação da conta funciona para sessões de convidado também, já que convidados têm chats e memória reais que podem querer tirar de lá antes que o aparelho suma.
Por quanto tempo os links de mídia dentro de uma exportação continuam funcionando?
Anexos enviados e mídia gerada são configurados para expirar depois de até 30 dias, e podem ser apagados antes por você ou durante a exclusão da conta. Assim que um objeto passa da janela de retenção, a requisição responde "Media has expired.", HTTP 404 media_expired, em vez de retornar os bytes. Busque tudo o que você quiser guardar enquanto ainda tem conexão.