Czy Whizi działa offline?

Krótka odpowiedź

Nie. Whizi nie ma trybu offline. Każda odpowiedź to podróż w obie strony przez sieć do OpenRouter i wybranego dostawcy modelu, a twoje rozmowy, plan i limity żyją na serwerze, a nie na urządzeniu. Aplikacja mobilna może przechowywać lokalną pamięć podręczną do 40 ostatnich rozmów, co jest pamięcią podręczną, a nie trybem offline.

Krótka odpowiedź

Nie. Whizi nie ma trybu offline. Aby wygenerować odpowiedź, Whizi wysyła informacje rozsądnie potrzebne do obsłużenia żądania do OpenRouter i wybranego dostawcy modelu, albo do innego dostawcy używanego przez wybraną funkcję, więc odpowiedź to zawsze podróż w obie strony przez sieć do firmy innej niż Whizi. Hosting, synchronizowane czaty, media, stan konta, limity użycia, raporty oraz przetwarzanie związane z bezpieczeństwem i działaniem usługi działają na Cloudflare Workers, D1, R2 i Durable Objects, co oznacza, że rozmowa, którą właśnie piszesz, też żyje na serwerze.

Z tego samego powodu lista modeli znajduje się po stronie serwera. Selektor jest obsługiwany przez backend Whizi pod adresem GET /api/models, a listy modeli zapisane na sztywno w kliencie webowym i mobilnym to wyłącznie zapasowe warianty offline, używane, gdy tego wywołania nie da się wykonać. Lista zapasowa służy jedynie do narysowania selektora: widok nazwy modelu, gdy nie ma sieci, wcale nie oznacza, że coś za nią stoi i może odpowiedzieć.

Co wymaga połączeniaCo dzieje się na twoim urządzeniu
Każda odpowiedź modelu, na każdym planieWybrany przez ciebie motyw, zapisany w pamięci lokalnej i przywracany przy kolejnej wizycie
Wczytywanie listy czatów i dowolnej rozmowyParsowanie pliku eksportu z ChatGPT lub Claude, który przeglądarka odczytuje, zanim cokolwiek zostanie wysłane
Wysyłanie wiadomości, edytowanie jej, przełączanie wersjiBudowanie pliku .xlsx lub .docx z karty pliku w odpowiedzi
Wyszukiwanie w sieci, głos, generowanie obrazówPamięć podręczna aplikacji mobilnej z ostatnimi rozmowami, opisana poniżej
Przesyłanie pliku i przeglądanie zapisanych mediów przez jego podpisany URL

Co aplikacja mobilna przechowuje na urządzeniu

Polityka prywatności jasno to określa. Aplikacja mobilna może przechowywać lokalną pamięć podręczną do 40 ostatnich rozmów na urządzeniu zalogowanym lub gościnnym, a ta pamięć podręczna nie jest osobną kopią zapasową w chmurze. Jak jest czyszczona i gdzie znajduje się reszta danych konta, opisano w gdzie Whizi przechowuje dane.

Pamięć podręczna ostatnich rozmów to nie tryb czytania offline i niczego nie zmienia w tym, gdzie odbywa się praca. Rozmowy i wiadomości pozostają na koncie, dopóki ich nie usuniesz albo nie usuniesz konta, a nowa odpowiedź nadal musi dotrzeć do dostawcy przez sieć.

Twój plan również jest ustalany na serwerze. Rozliczenia dotyczą pojedynczego konta, a poziom planu jest wyznaczany dokładnie w jednym miejscu na podstawie subskrypcji tego konta. Zobacz Whizi na urządzeniach mobilnych, jak obie platformy współdzielą jedno konto.

Połączenie, które zrywa się w trakcie odpowiedzi

Generowanie odbywa się w Durable Object przypisanym do danej rozmowy na serwerze, więc zamknięcie karty w trakcie strumieniowania nie przerywa odpowiedzi, a odpowiedź i tak zostaje zapisana. Ponownie otwarta karta albo drugie urządzenie może dołączyć do już trwającego generowania przez GET /api/conversations/:id/generate/active. Wróć, odśwież rozmowę i przeczytaj to, co zostało zapisane.

Jest jeden wąski moment na samym początku, w którym to nie działa. Jeśli klient rozłączy się, zanim połączenie z dostawcą zostanie nawiązane, serwer zapisuje Generation aborted before it started. i odpowiada HTTP 408 z pustą treścią, więc do modelu nic nie dotarło.

Zatrzymanie jest rozstrzygane po stronie serwera, a nie klienta: koordynator anuluje odczyt od dostawcy, zapisuje częściową odpowiedź, zwalnia blokadę i zwraca niedostarczoną turę. Pełny zestaw komunikatów pojawiających się w trakcie strumieniowania i ich znaczenie znajdziesz w wiadomość się nie wysyła.

Komunikaty, które widzisz, gdy wywołanie nie może się zakończyć

Whizi pokazuje błąd tego konkretnego wywołania, które akurat trwało, a nie jeden ogólny komunikat, więc treść, jaką zobaczysz, zależy od tego, co robiłeś. Każdy jest zacytowany dosłownie, wraz z warunkiem, dla którego został udokumentowany.

KomunikatUdokumentowany warunekGdzie to opisano
Failed to send message.Zapasowy komunikat na stronie, gdy wysyłka się nie powiedzie, a backend nie podał żadnej wiadomościwiadomość się nie wysyła
Could not load your chats. Please refresh to try again.Komunikat pokazywany, gdy nie uda się wczytać listy czatówwiadomość się nie wysyła
Failed to retrieve session token.Rzucany zawsze, gdy pobranie tokenu nic nie zwraca przed wywołaniem listy czatów, wczytania czatu, usunięcia, zmiany nazwy lub przesłania plikulogowanie i dostęp do konta
The import could not be finished. Check your connection and try again.Każdy inny błąd przesyłania podczas importubłędy importu czatów
Something went wrong. Please close and try again.Ogólny błąd okna udostępniania, pokazywany tylko wtedy, gdy błąd nie niesie własnej wiadomości, na przykład przy zerwanym połączeniu albo stronie błędu HTMLudostępnianie rozmowy
The realtime voice connection failed.Pokazywany przy zdarzeniu błędu websocketutryb głosowy nie działa
The realtime voice connection was closed.Pokazywany, gdy websocket zamyka się po zakończeniu konfiguracjitryb głosowy nie działa
Connection errorEtykieta stanu nakładki głosowej dla nieudanej sesji głosowejtryb głosowy nie działa
That didn't send. Check your connection and try again.Zapasowy komunikat opinii dla każdego innego błędurozwiązywanie problemów

Tryb głosowy zasługuje na jedno wyjaśnienie, bo jego architektura wygląda na niezależną, choć nią nie jest. Worker generuje krótkotrwały token, a przeglądarka otwiera WebSocket bezpośrednio do Google, więc żaden dźwięk nigdy nie przechodzi przez serwery backendu Whizi. To cecha prywatności, a nie offline: gniazdo do Google to nadal gniazdo, a token sesji, który je otwiera, jest generowany przez worker.

Co zrobić, zanim stracisz sygnał

Żadna z tych rzeczy nie da ci działającego modelu bez połączenia. Chodzi o to, żeby nie zostać bez dostępu do swoich treści.

Zabierz swoje dane ze sobą. GET /api/account/export zwraca dane konta jako jeden plik JSON do pobrania, dostępny jako Eksportuj dane (Export Data) w Ustawieniach, w sekcji Konto. Zastrzeżenie ważne offline: media są eksportowane jako metadane plus podpisany URL, a nie jako osadzone bajty, więc JSON zachowuje zapis, natomiast sam obraz nadal trzeba pobrać. To, co przechowuje konto, opisano w gdzie Whizi przechowuje dane.

Wyciągnij odpowiedź jako plik, dopóki masz jeszcze sygnał. Odpowiedź czatu może zawierać blok w ogrodzeniu, który strona renderuje jako kartę pliku i zamienia w prawdziwy plik .xlsx lub .docx w przeglądarce. Sam plik powstaje lokalnie, ale odpowiedź, która go stworzyła, już nie.

Importuj po wylądowaniu, nie w trakcie lotu. Wybór pliku eksportu to praca lokalna, a przesyłanie już nie, choć zerwane w trakcie połączenie nic nie kosztuje, bo każda rozmowa jest identyfikowana przez konto, źródło i identyfikator źródła i trafia do systemu tylko raz. Komunikaty błędów są w błędy importu czatów.

Lista kontrolna
  • W Whizi nie ma trybu offline ani żadnej ścieżki odpowiedzi generowanej na urządzeniu
  • Każda odpowiedź to żądanie sieciowe do wybranego dostawcy modelu
  • Selektor modeli jest obsługiwany przez backend, a wbudowane listy to tylko warianty zapasowe
  • Aplikacja mobilna może przechowywać w pamięci podręcznej do 40 ostatnich rozmów, a ta pamięć podręczna to nie osobna kopia zapasowa w chmurze
  • Twój poziom planu jest ustalany na serwerze na podstawie subskrypcji przypisanej do twojego konta
  • Odpowiedź przetrwa zerwanie połączenia klienta: generowanie trwa dalej w Durable Object
  • Wyeksportuj konto jako JSON z Ustawień, w sekcji Konto, zanim wyjedziesz
  • Media w eksporcie to podpisany URL, więc nadal trzeba je pobrać później

Najczęstsze pytania

Czy Whizi działa w samolocie bez wifi?

Nie. Każdą odpowiedź generuje dostawca modelu, do którego dociera się przez sieć, więc bez połączenia nie ma drogi do modelu ani do listy twoich czatów.

Mój telefon stracił zasięg w trakcie generowania. Czy mogę od razu zacząć nowe na laptopie?

Niekoniecznie, bo na jedno konto może działać tylko jedno generowanie naraz. Kolejna próba, gdy blokada danego użytkownika jest wciąż utrzymana, zostaje odrzucona z komunikatem "Generation already in progress. Please stop it or wait for it to finish.". Blokada nie jest trwała: staje się możliwa do przejęcia, gdy uznaje się ją za osieroconą lub zawieszoną, a wygasłe blokady są sprzątane cyklicznie.

Czy mogę przewinąć starą rozmowę na telefonie w trybie samolotowym?

Tylko w zakresie tego, co zapisała aplikacja mobilna w pamięci podręcznej, a obrazy to osobna sprawa nawet wtedy. Wygenerowane obrazy są przechowywane po stronie serwera i podawane z powrotem przez podpisane URL-e, więc obraz w starym wątku jest pobierany dopiero w chwili, gdy na niego patrzysz, a nie trzymany na urządzeniu.

Czy konto gościa na urządzeniu mobilnym coś w tym zmienia?

Nie. Lokalna pamięć podręczna opisana w polityce prywatności obejmuje zarówno urządzenie zalogowane, jak i gościnne. Sam identyfikator gościa jest przechowywany na urządzeniu, ale Whizi przechowuje jednokierunkowy, wyprowadzony identyfikator, dzięki któremu może rozpoznać profil gościa, synchronizować dane, weryfikować dostęp do subskrypcji i później powiązać te dane z kontem, a to wszystko są operacje po stronie serwera. Eksport konta działa też dla sesji gościa, bo goście mają prawdziwe czaty i pamięć, które mogą chcieć zabrać, zanim urządzenie zniknie.

Jak długo działają linki do mediów wewnątrz eksportu?

Przesłane załączniki i wygenerowane media są skonfigurowane tak, by wygasać po maksymalnie 30 dniach, a mogą zostać usunięte wcześniej przez ciebie albo podczas usuwania konta. Gdy obiekt minie okres przechowywania, żądanie zwraca "Media has expired.", HTTP 404 media_expired, zamiast zwrócić bajty. Pobierz wszystko, co chcesz zachować, dopóki masz jeszcze połączenie.