Можно ли пользоваться Whizi офлайн?

Краткий ответ

Нет. У Whizi нет офлайн режима. Каждый ответ это сетевой запрос к OpenRouter и подключённому провайдеру модели, а ваши беседы, тариф и лимиты хранятся на сервере, а не на устройстве. Мобильное приложение может хранить локальный кэш до 40 последних бесед, но это кэш, а не офлайн режим.

Короткий ответ

Нет. У Whizi нет офлайн режима. Чтобы сформировать ответ, Whizi отправляет разумно необходимую для запроса информацию в OpenRouter и подключённому провайдеру модели, либо другому провайдеру, используемому выбранной функцией, поэтому ответ всегда представляет собой сетевой запрос к компании, отличной от Whizi. Хостинг, синхронизированные чаты, медиафайлы, состояние аккаунта, лимиты использования, отчёты, а также обработка безопасности и операционных процессов работают на Cloudflare Workers, D1, R2 и Durable Objects, а значит беседа, которую вы печатаете, тоже хранится на сервере.

По той же причине список моделей формируется на сервере. Селектор моделей обслуживается бэкендом Whizi по адресу GET /api/models, а списки моделей, жёстко прописанные в веб и мобильном клиентах, служат лишь запасным вариантом на случай, если этот запрос недоступен. Запасной список лишь отображает селектор: если название видно при отсутствии сети, это не значит, что за ним есть модель, способная ответить.

Что требует подключенияЧто происходит на вашем устройстве
Каждый ответ модели, на любом тарифеВыбранная вами тема, сохранённая в локальном хранилище и восстановленная при следующем визите
Загрузка списка чатов и любой беседыРазбор файла экспорта ChatGPT или Claude, который браузер читает до отправки чего либо
Отправка сообщения, его редактирование, переключение версийСборка .xlsx или .docx из карточки файла в ответе
Веб поиск, голос, генерация изображенийКэш мобильного приложения с недавними беседами, описанный ниже
Загрузка файла и просмотр сохранённых медиафайлов по его подписанной ссылке

Что мобильное приложение хранит на устройстве

Политика конфиденциальности говорит об этом прямо. Мобильное приложение может хранить локальный кэш до 40 последних бесед на устройстве с входом в аккаунт или в гостевом режиме, и этот кэш не является отдельной облачной резервной копией. О том, как он очищается и где хранится всё остальное на аккаунте, рассказано в статье где Whizi хранит данные.

Кэш недавних бесед это не офлайн режим чтения, и он никак не меняет того, где происходит работа. Беседы и сообщения хранятся на аккаунте, пока вы их не удалите или не удалите сам аккаунт, а новый ответ всё равно должен дойти до провайдера по сети.

Ваш тариф также определяется на сервере. Оплата привязана к отдельному аккаунту, и уровень тарифа определяется ровно в одном месте на основе подписки этого аккаунта. О том, как обе платформы используют один аккаунт, читайте в статье Whizi на мобильных устройствах.

Соединение обрывается посреди ответа

Генерация выполняется на сервере в Durable Object, отдельном для каждой беседы, поэтому закрытие вкладки посреди потока не убивает ответ, и он всё равно сохраняется. Заново открытая вкладка или второе устройство могут подключиться к уже идущей генерации через GET /api/conversations/:id/generate/active. Вернитесь, перезагрузите беседу и прочитайте то, что было сохранено.

Есть одно узкое окно в самом начале, где это не работает. Если клиент отключается до завершения подключения к вышестоящему серверу, сервер записывает Generation aborted before it started. и отвечает HTTP 408 с пустым телом, а значит до модели ничего не дошло.

Остановка определяется сервером, а не клиентом: координатор отменяет чтение от провайдера, сохраняет частичный ответ, снимает блокировку и возвращает недоставленный ход. Полный набор строк, появляющихся посреди потока, и их значение указаны в статье сообщение не отправляется.

Строки, которые вы видите, когда запрос не может завершиться

Whizi показывает ошибку именно того запроса, который выполнялся, а не одно общее сообщение, поэтому конкретная строка зависит от того, что вы делали. Каждая приведена дословно, вместе с условием, для которого она задокументирована.

СтрокаЗадокументированное условиеГде это описано
Failed to send message.Запасное всплывающее уведомление на сайте, когда отправка не удалась и бэкенд не передал сообщение об ошибкесообщение не отправляется
Could not load your chats. Please refresh to try again.Уведомление, показываемое, когда не удаётся загрузить список чатовсообщение не отправляется
Failed to retrieve session token.Возникает, когда запрос токена ничего не возвращает перед вызовом списка чатов, загрузки чата, удаления, переименования или загрузки файлавход и доступ к аккаунту
The import could not be finished. Check your connection and try again.Любая другая ошибка загрузки во время импортаошибки импорта чатов
Something went wrong. Please close and try again.Общая ошибка диалога "Поделиться", показываемая только когда сбой не несёт собственного сообщения, например при обрыве соединения или странице с HTML ошибкойподелиться беседой
The realtime voice connection failed.Показывается при событии ошибки websocketголосовой режим не работает
The realtime voice connection was closed.Показывается, когда websocket закрывается после завершения настройкиголосовой режим не работает
Connection errorМетка состояния голосового оверлея при неудачной голосовой сессииголосовой режим не работает
That didn't send. Check your connection and try again.Запасной вариант обратной связи для всех остальных сбоевустранение неполадок

Голос заслуживает отдельного пояснения, потому что его архитектура выглядит независимой, но это не так. Воркер выпускает недолговечный токен, и браузер открывает WebSocket напрямую к Google, поэтому аудио никогда не проходит через серверы бэкенда Whizi. Это свойство конфиденциальности, а не офлайн режима: сокет к Google остаётся сокетом, а сессионный токен, который его открывает, выпускается воркером.

Что делать, пока у вас ещё есть сигнал

Ничто из этого не даёт рабочую модель без подключения. Речь о том, чтобы не остаться без доступа к своим материалам.

Заберите свои данные с собой. GET /api/account/export возвращает данные аккаунта в виде одного скачиваемого JSON файла, доступного как Export Data (Экспорт данных) в разделе Account (Аккаунт) настроек. Важная оговорка для офлайн работы: медиафайлы экспортируются как метаданные плюс подписанная ссылка, а не как встроенные байты, поэтому JSON хранит запись, а само изображение всё равно нужно будет загрузить отдельно. Что именно хранится на аккаунте, описано в статье где Whizi хранит данные.

Сохраните ответ в файл, пока есть сигнал. Ответ чата может содержать блок кода, который сайт отображает как карточку файла и превращает в настоящий .xlsx или .docx прямо в браузере. Сборка файла происходит локально, но сам ответ, породивший его, локальным не был.

Импортируйте после посадки, а не в пути. Выбор файла экспорта это локальная работа, а загрузка нет, хотя обрыв соединения во время неё ничего не стоит, поскольку каждая беседа привязана к сочетанию аккаунта, источника и идентификатора источника и попадает в систему только один раз. Строки ошибок описаны в статье ошибки импорта чатов.

Чек-лист
  • В Whizi нет офлайн режима и нет пути формирования ответа на устройстве
  • Каждый ответ это сетевой запрос к подключённому провайдеру модели
  • Селектор моделей обслуживается бэкендом, а встроенные списки это лишь запасной вариант
  • Мобильное приложение может кэшировать до 40 последних бесед, и этот кэш не является отдельной облачной резервной копией
  • Ваш тариф определяется на сервере на основе подписки вашего собственного аккаунта
  • Ответ переживает обрыв клиента: генерация продолжается в Durable Object
  • Экспортируйте свой аккаунт в JSON из раздела Account (Аккаунт) настроек перед поездкой
  • Медиафайлы в экспорте представлены подписанной ссылкой, поэтому их всё равно нужно будет загрузить позже

Частые вопросы

Работает ли Whizi в самолёте без wifi?

Нет. Каждый ответ создаётся провайдером модели, до которого нужно достучаться по сети, поэтому без подключения нет пути ни к модели, ни к вашему списку чатов.

У меня на телефоне пропал сигнал посреди генерации. Могу ли я сразу начать новую на ноутбуке?

Не обязательно, потому что на аккаунт одновременно может выполняться только одна генерация. Вторая попытка при удерживаемой пользовательской блокировке отклоняется с сообщением "Generation already in progress. Please stop it or wait for it to finish." Блокировка не постоянна: она становится доступной для перехвата, как только держатель признаётся осиротевшим или зависшим, а просроченные блокировки снимаются по расписанию.

Могу ли я пролистать старую беседу на телефоне в режиме полёта?

Только в пределах того, что закэшировало мобильное приложение, и изображения это отдельный случай даже здесь. Сгенерированные изображения хранятся на сервере и отдаются обратно через подписанные ссылки, поэтому картинка в старом треде загружается в момент, когда вы на неё смотрите, а не хранится на устройстве.

Меняет ли что-то гостевой аккаунт на мобильном устройстве?

Нет. Локальный кэш, описанный в политике конфиденциальности, действует одинаково и для устройства с входом в аккаунт, и для гостевого устройства. Сам гостевой идентификатор хранится на устройстве, но Whizi хранит его односторонне вычисленный производный идентификатор, чтобы распознавать гостевой профиль, синхронизировать данные, проверять доступ по подписке и позже связать эти данные с аккаунтом, а всё это серверные операции. Экспорт аккаунта работает и для гостевых сессий, ведь у гостей есть реальные чаты и память, которые они могут захотеть забрать до того, как устройство исчезнет.

Как долго работают ссылки на медиафайлы внутри экспорта?

Загруженные вложения и сгенерированные медиафайлы настроены на истечение срока действия максимум через 30 дней, а могут быть удалены и раньше вами самими или при удалении аккаунта. Как только объект выходит за пределы срока хранения, запрос отвечает "Media has expired.", HTTP 404 media_expired, вместо возврата самих байтов. Загрузите всё, что хотите сохранить, пока у вас ещё есть подключение.