Die kurze Antwort
Nein. Whizi hat keinen Offline-Modus. Um eine Antwort zu erzeugen, sendet Whizi die für die Anfrage angemessen benötigten Informationen an OpenRouter und einen weitergeleiteten Modellanbieter, oder an einen anderen Anbieter, den die gewählte Funktion nutzt, sodass eine Antwort immer ein Netzwerk-Roundtrip zu einem anderen Unternehmen als Whizi ist. Hosting, synchronisierte Chats, Medien, Kontostatus, Nutzungslimits, Berichte sowie sicherheits- und betriebsrelevante Verarbeitung laufen alle auf Cloudflare Workers, D1, R2 und Durable Objects, was bedeutet, dass auch die Unterhaltung, in die du gerade tippst, auf dem Server liegt.
Die Modellliste liegt aus demselben Grund serverseitig. Die Auswahl wird vom Whizi-Backend unter GET /api/models ausgeliefert, und die in Web- und Mobil-Clients fest hinterlegten Modelllisten sind nur Offline-Fallbacks, die genutzt werden, wenn dieser Aufruf nicht erreichbar ist. Die Fallback-Liste zeichnet nur die Auswahl: Ein Name, der dort erscheint, während das Netzwerk fehlt, bedeutet nicht, dass dahinter etwas antworten kann.
| Was eine Verbindung braucht | Was auf deinem Gerät passiert |
|---|---|
| Jede Modellantwort, in jedem Tarif | Das gewählte Theme, gespeichert im lokalen Speicher und beim nächsten Besuch wiederhergestellt |
| Das Laden deiner Chatliste und jeder Unterhaltung | Das Parsen einer ChatGPT- oder Claude-Exportdatei, die der Browser liest, bevor irgendetwas gesendet wird |
| Eine Nachricht senden, bearbeiten, Versionen wechseln | Das Erstellen der .xlsx- oder .docx-Datei aus einer Dateikarte in einer Antwort |
| Websuche, Sprache, Bilderzeugung | Der Cache der mobilen App für aktuelle Unterhaltungen, weiter unten beschrieben |
| Eine Datei hochladen und gespeicherte Medien über ihre signierte URL ansehen |
Was die mobile App auf dem Gerät speichert
Die Datenschutzrichtlinie ist hier konkret. Die mobile App kann auf einem angemeldeten oder Gastgerät lokal einen Cache von bis zu 40 aktuellen Unterhaltungen speichern, und dieser Cache ist kein separates Cloud-Backup. Wie er geleert wird und wo alles andere im Konto liegt, steht in wo Whizi Daten speichert.
Ein Cache aktueller Unterhaltungen ist kein Offline-Lesemodus und ändert nichts daran, wo die eigentliche Arbeit stattfindet. Unterhaltungen und Nachrichten bleiben im Konto, bis du sie oder das Konto löschst, und eine neue Antwort muss weiterhin über das Netzwerk einen Anbieter erreichen.
Auch dein Plan wird auf dem Server bestimmt. Die Abrechnung erfolgt pro einzelnem Konto, wobei der Tarif an genau einer Stelle aus dem Abonnement dieses Kontos abgeleitet wird. Wie sich die beiden Plattformen ein Konto teilen, steht unter Whizi auf dem Handy.
Eine Verbindung, die mitten in einer Antwort abbricht
Die Generierung läuft in einem Durable Object pro Unterhaltung auf dem Server, sodass das Schließen des Tabs mitten im Stream die Antwort nicht abbricht und sie trotzdem gespeichert wird. Ein wieder geöffneter Tab oder ein zweites Gerät kann sich über GET /api/conversations/:id/generate/active an eine bereits laufende Generierung anhängen. Komm zurück, lade die Unterhaltung neu und lies, was gespeichert wurde.
Es gibt ein schmales Zeitfenster ganz am Anfang, in dem das nicht gilt. Trennt der Client die Verbindung, bevor der Upstream-Connect abgeschlossen ist, vermerkt der Server Generation aborted before it started. und antwortet mit HTTP 408 und leerem Body, sodass nichts ein Modell erreicht hat.
Das Stoppen wird vom Server bestimmt, nicht vom Client: Der Koordinator bricht das Lesen beim Anbieter ab, speichert die Teilantwort, gibt die Sperre frei und erstattet eine nicht zugestellte Runde. Die vollständige Liste der Strings mitten im Stream und ihre Bedeutung steht unter eine Nachricht wird nicht gesendet.
Die Meldungen, wenn der Aufruf nicht abgeschlossen werden kann
Whizi zeigt den Fehler des jeweils laufenden Aufrufs an, statt einer einzigen allgemeinen Meldung, sodass der angezeigte String davon abhängt, was du gerade getan hast. Jede Meldung ist wörtlich zitiert, samt der Bedingung, für die sie dokumentiert ist.
| String | Dokumentierte Bedingung | Wo es behandelt wird |
|---|---|---|
Failed to send message. | Der Website-Fallback-Toast, wenn ein Senden fehlschlägt und das Backend keine Meldung geliefert hat | eine Nachricht wird nicht gesendet |
Could not load your chats. Please refresh to try again. | Der Toast, der angezeigt wird, wenn das Laden der Chatliste fehlschlägt | eine Nachricht wird nicht gesendet |
Failed to retrieve session token. | Wird ausgelöst, wenn der Token-Abruf vor einem Aufruf für Chatliste, Chat-Laden, Löschen, Umbenennen oder Hochladen nichts zurückliefert | Login und Kontozugriff |
The import could not be finished. Check your connection and try again. | Jeder andere Upload-Fehler während eines Importlaufs | Fehler beim Chat-Import |
Something went wrong. Please close and try again. | Der allgemeine Fehler des Freigabedialogs, der nur angezeigt wird, wenn der Fehler keine eigene Meldung trägt, etwa bei einer abgebrochenen Verbindung oder einer HTML-Fehlerseite | eine Unterhaltung teilen |
The realtime voice connection failed. | Wird bei einem Websocket-Fehlerereignis angezeigt | Sprachmodus funktioniert nicht |
The realtime voice connection was closed. | Wird angezeigt, wenn der Websocket nach abgeschlossenem Setup schließt | Sprachmodus funktioniert nicht |
Connection error | Das Statuslabel des Sprachoverlays für eine fehlgeschlagene Sprachsitzung | Sprachmodus funktioniert nicht |
That didn't send. Check your connection and try again. | Der Feedback-Fallback für jeden anderen Fehler | Problembehandlung |
Sprache verdient eine Klarstellung, weil ihre Architektur nach Unabhängigkeit aussieht, es aber nicht ist. Der Worker erstellt ein kurzlebiges Token, und der Browser öffnet eine WebSocket-Verbindung direkt zu Google, sodass kein Audio jemals über die Whizi-Backend-Server läuft. Das ist eine Datenschutzeigenschaft, keine Offline-Eigenschaft: Die Socket-Verbindung zu Google ist trotzdem eine Verbindung, und das Sitzungstoken, das sie öffnet, wird vom Worker erstellt.
Was du tun solltest, bevor du keinen Empfang mehr hast
Nichts davon verschafft dir ein funktionierendes Modell ohne Verbindung. Es geht darum, nicht ohne deine Inhalte dazustehen.
Nimm deine Daten mit. GET /api/account/export liefert die Kontodaten als eine herunterladbare JSON-Datei zurück, erreichbar über Daten exportieren (Export Data) in den Einstellungen unter Konto. Der Vorbehalt, der offline zählt: Medien werden als Metadaten plus signierte URL exportiert statt als eingebettete Bytes, sodass das JSON den Eintrag behält, während das Bild selbst noch abgerufen werden muss. Was das Konto enthält, steht unter wo Whizi Daten speichert.
Hol dir eine Antwort als Datei heraus, solange du noch Empfang hast. Eine Chatantwort kann einen eingezäunten Block erzeugen, den die Website als Dateikarte darstellt und im Browser in eine echte .xlsx- oder .docx-Datei umwandelt. Das Erstellen der Datei ist lokal, die Antwort, die sie hervorgebracht hat, war es nicht.
Importiere nach der Landung, nicht unterwegs. Das Auswählen der Exportdatei ist lokale Arbeit, der Upload nicht, wobei eine dabei abbrechende Verbindung nichts kostet, da jede Unterhaltung über Konto plus Quelle plus Quell-ID indiziert ist und nur einmal ankommt. Die Fehlermeldungen stehen unter Fehler beim Chat-Import.
- Es gibt keinen Offline-Modus und keinen Antwortweg auf dem Gerät bei Whizi
- Jede Antwort ist eine Netzwerkanfrage an einen weitergeleiteten Modellanbieter
- Die Modellauswahl wird vom Backend ausgeliefert, die eingebauten Listen sind nur Fallbacks
- Die mobile App kann bis zu 40 aktuelle Unterhaltungen zwischenspeichern, und dieser Cache ist kein separates Cloud-Backup
- Dein Tarif wird auf dem Server aus dem Abonnement deines eigenen Kontos abgeleitet
- Eine Antwort übersteht einen getrennten Client: Die Generierung läuft in einem Durable Object weiter
- Exportiere dein Konto als JSON über Einstellungen unter Konto, bevor du verreist
- Medien in einem Export sind eine signierte URL, sie müssen also später noch abgerufen werden
Häufige Fragen
Funktioniert Whizi im Flugzeug ohne WLAN?
Nein. Jede Antwort wird von einem über das Netzwerk erreichten Modellanbieter erzeugt, sodass es ohne Verbindung weder einen Weg zu einem Modell noch zu deiner Chatliste gibt.
Mein Handy hat mitten in der Generierung das Signal verloren. Kann ich sofort eine neue auf meinem Laptop starten?
Nicht unbedingt, denn pro Konto kann nur eine Generierung gleichzeitig laufen. Ein zweiter Versuch, während die Pro-Nutzer-Sperre noch besteht, wird abgelehnt mit "Generation already in progress. Please stop it or wait for it to finish." Die Sperre ist nicht dauerhaft: Sie wird übernehmbar, sobald der Halter als verwaist oder blockiert eingestuft wird, und abgelaufene Sperren werden nach Zeitplan aufgeräumt.
Kann ich eine alte Unterhaltung auf meinem Handy im Flugmodus durchscrollen?
Nur innerhalb dessen, was die mobile App zwischengespeichert hat, und Bilder sind selbst dabei ein eigenes Thema. Generierte Bilder werden serverseitig gespeichert und über signierte URLs ausgeliefert, sodass ein Bild in einem alten Thread erst in dem Moment abgerufen wird, in dem du es ansiehst, statt auf dem Gerät zu liegen.
Ändert ein Gastkonto auf dem Handy etwas daran?
Nein. Der lokale Cache, den die Datenschutzrichtlinie beschreibt, gilt gleichermaßen für ein angemeldetes oder ein Gastgerät. Die Gast-Anmeldedaten selbst liegen auf dem Gerät, aber Whizi speichert eine einseitig abgeleitete Kennung, um das Gastprofil zu erkennen, Daten zu synchronisieren, den Abo-Zugriff zu prüfen und diese Daten später mit einem Konto zu verknüpfen, alles serverseitige Vorgänge. Der Kontoexport funktioniert auch für Gastsitzungen, da Gäste echte Chats und Erinnerungen haben, die sie vielleicht sichern möchten, bevor das Gerät weg ist.
Wie lange bleiben die Medienlinks in einem Export gültig?
Hochgeladene Anhänge und generierte Medien sind so konfiguriert, dass sie nach bis zu 30 Tagen ablaufen, und können von dir oder bei der Kontolöschung früher gelöscht werden. Sobald ein Objekt sein Aufbewahrungsfenster überschritten hat, antwortet die Anfrage mit "Media has expired.", HTTP 404 media_expired, statt die Bytes zurückzugeben. Ruf alles ab, was du behalten möchtest, solange du noch eine Verbindung hast.