짧은 답변
아니요. Whizi에는 오프라인 모드가 없습니다. 답변을 생성하기 위해 Whizi는 요청에 합리적으로 필요한 정보를 OpenRouter와 라우팅된 모델 제공사, 또는 선택한 기능이 사용하는 다른 제공사로 전송하므로, 답변은 언제나 Whizi가 아닌 다른 회사와의 네트워크 왕복입니다. 호스팅, 동기화된 대화, 미디어, 계정 상태, 사용량 한도, 리포트, 보안 및 운영 처리는 모두 Cloudflare Workers, D1, R2, Durable Objects에서 실행되므로, 지금 입력 중인 대화 역시 서버에 존재합니다.
같은 이유로 모델 목록도 서버 측에 있습니다. 선택 메뉴는 Whizi 백엔드의 GET /api/models가 제공하며, 웹과 모바일 클라이언트에 하드코딩된 모델 목록은 이 호출에 접근할 수 없을 때만 쓰이는 오프라인 대체용일 뿐입니다. 네트워크가 끊긴 상태에서 대체 목록에 이름이 보인다고 해서 그 뒤에 실제로 응답할 수 있는 것이 있다는 뜻은 아닙니다.
| 연결이 필요한 것 | 기기에서 일어나는 것 |
|---|---|
| 모든 요금제에서의 모든 모델 응답 | 선택한 테마, 로컬 저장소에 저장되고 다음 방문 시 복원됨 |
| 대화 목록과 모든 대화 불러오기 | ChatGPT나 Claude 내보내기 파일 분석, 아무것도 전송되기 전에 브라우저가 먼저 읽음 |
| 메시지 보내기, 수정하기, 버전 전환하기 | 답변 속 파일 카드에서 .xlsx나 .docx 만들기 |
| 웹 검색, 음성, 이미지 생성 | 아래에서 설명하는 모바일 앱의 최근 대화 캐시 |
| 파일 업로드, 서명된 URL로 저장된 미디어 보기 |
모바일 앱이 기기에 남기는 것
개인정보 처리방침은 이 부분을 구체적으로 밝히고 있습니다. 모바일 앱은 로그인 상태든 게스트 상태든 기기에 최근 대화 최대 40개를 로컬 캐시로 남길 수 있으며, 이 캐시는 별도의 클라우드 백업이 아닙니다. 캐시를 지우는 방법과 계정의 나머지 데이터가 어디에 있는지는 Whizi가 데이터를 저장하는 방식에서 다룹니다.
최근 대화 캐시는 오프라인 읽기 모드가 아니며, 작업이 실제로 일어나는 위치를 바꾸지도 않습니다. 대화와 메시지는 삭제하거나 계정을 삭제할 때까지 계정에 남아 있고, 새 답변은 여전히 네트워크로 제공사에 도달해야 합니다.
요금제 역시 서버에서 판정됩니다. 결제는 개별 계정 단위이며, 등급은 오직 한 곳, 그 계정 고유의 구독에서 도출됩니다. 두 플랫폼이 하나의 계정을 어떻게 공유하는지는 모바일에서의 Whizi를 참고하세요.
답변 도중 연결이 끊기는 경우
생성 작업은 서버의 대화별 Durable Object에서 실행되므로, 탭을 닫아도 스트리밍 중이던 답변이 죽지 않고 그대로 저장됩니다. 탭을 다시 열거나 다른 기기에서 GET /api/conversations/:id/generate/active를 통해 이미 진행 중인 생성 작업에 다시 붙을 수 있습니다. 돌아와서 대화를 새로고침하고 저장된 내용을 읽으면 됩니다.
이 원칙이 적용되지 않는 아주 좁은 구간이 처음에 하나 있습니다. 업스트림 연결이 완료되기 전에 클라이언트가 연결을 끊으면, 서버는 생성이 시작되기 전에 중단되었습니다.를 기록하고 빈 본문과 함께 HTTP 408을 반환하므로, 어떤 모델에도 도달하지 않은 것입니다.
정지 여부는 클라이언트가 아니라 서버가 판단합니다. 코디네이터가 제공사 쪽 읽기를 취소하고, 부분 답변을 저장하고, 잠금을 해제하며, 전달되지 않은 턴을 환불합니다. 스트리밍 도중 나타나는 전체 문구와 각각의 의미는 메시지가 전송되지 않을 때에서 확인할 수 있습니다.
호출이 완료되지 못할 때 보이는 문구들
Whizi는 하나의 일반적인 메시지 대신, 진행 중이던 호출이 무엇이었는지에 따른 실패 메시지를 보여주므로, 어떤 문구가 뜨는지는 하던 작업에 따라 달라집니다. 각 문구는 그대로 인용했으며, 문서화된 조건도 함께 실었습니다.
| 문구 | 문서화된 조건 | 다루는 문서 |
|---|---|---|
메시지를 보내지 못했습니다. | 전송이 실패하고 백엔드가 별도 메시지를 제공하지 않았을 때 웹사이트가 보여주는 대체 토스트 | 메시지가 전송되지 않을 때 |
대화를 불러오지 못했습니다. 새로고침 후 다시 시도해 주세요. | 대화 목록 불러오기가 실패했을 때 표시되는 토스트 | 메시지가 전송되지 않을 때 |
세션 토큰을 가져오지 못했습니다. | 대화 목록, 대화 불러오기, 삭제, 이름 변경, 업로드 호출 전에 토큰 요청이 아무것도 반환하지 않을 때 발생 | 로그인 및 계정 접근 |
가져오기를 완료하지 못했습니다. 연결 상태를 확인하고 다시 시도해 주세요. | 가져오기 진행 중 그 외 업로드 실패 | 대화 가져오기 오류 |
문제가 발생했습니다. 닫고 다시 시도해 주세요. | 공유 대화상자의 일반 오류로, 연결 끊김이나 HTML 오류 페이지처럼 자체 메시지가 없는 실패일 때만 표시 | 대화 공유하기 |
실시간 음성 연결에 실패했습니다. | 웹소켓 오류 이벤트에서 표시 | 음성 모드가 작동하지 않을 때 |
실시간 음성 연결이 종료되었습니다. | 설정 완료 후 웹소켓이 닫혔을 때 표시 | 음성 모드가 작동하지 않을 때 |
연결 오류 | 음성 세션 실패 시 음성 오버레이 상태 라벨 | 음성 모드가 작동하지 않을 때 |
전송되지 않았습니다. 연결 상태를 확인하고 다시 시도해 주세요. | 그 밖의 모든 실패에 대한 피드백 대체 문구 | 문제 해결 |
음성 기능은 한 가지 짚고 넘어갈 부분이 있습니다. 구조만 보면 독립적으로 보이지만 실제로는 그렇지 않기 때문입니다. 워커가 단기 토큰을 발급하고 브라우저가 Google로 웹소켓을 직접 여는 방식이라, 음성 데이터는 Whizi 백엔드 서버를 전혀 거치지 않습니다. 이는 오프라인 특성이 아니라 개인정보 보호 특성입니다. Google로 향하는 소켓도 결국 소켓이며, 그 소켓을 여는 세션 토큰도 워커가 발급합니다.
신호가 끊기기 전에 해야 할 일
아래 어느 것도 연결 없이 작동하는 모델을 주지는 않습니다. 이는 콘텐츠를 잃고 발이 묶이지 않기 위한 대비입니다.
데이터를 미리 챙겨 두세요. GET /api/account/export는 계정 데이터를 다운로드 가능한 JSON 파일 하나로 반환하며, 설정의 계정 메뉴 아래 데이터 내보내기에서 접근할 수 있습니다. 오프라인에서 중요한 함정 하나는, 미디어가 실제 데이터가 아니라 메타데이터와 서명된 URL로 내보내진다는 점입니다. 즉 JSON에는 기록이 남지만 이미지 자체는 여전히 따로 불러와야 합니다. 계정이 무엇을 보관하는지는 Whizi가 데이터를 저장하는 방식에 정리되어 있습니다.
신호가 있을 때 답변을 파일로 미리 꺼내 두세요. 대화 답변은 웹사이트가 파일 카드로 렌더링해 브라우저에서 실제 .xlsx나 .docx로 바꿔주는 코드 블록을 담을 수 있습니다. 만들어지는 과정은 로컬이지만, 그 답변을 만들어낸 과정은 그렇지 않았습니다.
도착한 뒤에 가져오세요, 이동 중이 아니라. 내보내기 파일을 선택하는 것은 로컬 작업이지만 업로드는 아닙니다. 다만 도중에 연결이 끊겨도 손해는 없는데, 모든 대화는 계정과 소스, 소스 id로 식별되어 한 번만 반영되기 때문입니다. 실패 문구는 대화 가져오기 오류에 있습니다.
- Whizi에는 오프라인 모드도, 기기 내 답변 경로도 없습니다
- 모든 답변은 라우팅된 모델 제공사로 보내는 네트워크 요청입니다
- 모델 선택 메뉴는 백엔드가 제공하며, 내장된 목록은 대체용일 뿐입니다
- 모바일 앱은 최근 대화 최대 40개를 캐시할 수 있으며, 이는 별도의 클라우드 백업이 아닙니다
- 등급은 계정 고유의 구독을 바탕으로 서버에서 판정됩니다
- 클라이언트 연결이 끊겨도 답변은 살아남습니다. 생성 작업은 Durable Object에서 계속됩니다
- 이동 전에 설정의 계정 메뉴에서 계정을 JSON으로 내보내세요
- 내보낸 미디어는 서명된 URL이므로 나중에 다시 불러와야 합니다
자주 묻는 질문
와이파이 없는 비행기 안에서도 Whizi가 작동하나요?
아니요. 모든 답변은 네트워크로 연결된 모델 제공사가 생성하므로, 연결이 없으면 모델로 가는 경로도, 대화 목록으로 가는 경로도 없습니다.
휴대폰 신호가 생성 도중 끊겼어요. 노트북에서 바로 새로 시작할 수 있나요?
꼭 그렇지는 않습니다. 계정당 한 번에 하나의 생성만 실행할 수 있기 때문입니다. 사용자별 잠금이 유지되는 동안 두 번째 시도를 하면 "이미 생성이 진행 중입니다. 중단하거나 완료될 때까지 기다려 주세요."라는 메시지와 함께 거부됩니다. 이 잠금은 영구적이지 않습니다. 보유자가 방치되었거나 멈췄다고 판단되면 다시 가져올 수 있게 되고, 만료된 잠금은 일정에 따라 정리됩니다.
비행기 모드에서도 휴대폰으로 오래된 대화를 스크롤할 수 있나요?
모바일 앱이 캐시해 둔 범위 안에서만 가능하며, 이미지는 그 안에서도 별개의 문제입니다. 생성된 이미지는 서버 측에 저장되고 서명된 URL을 통해 다시 제공되므로, 오래된 대화 속 사진도 기기에 보관되는 것이 아니라 보는 순간에 불러와집니다.
모바일의 게스트 계정이면 상황이 달라지나요?
아니요. 개인정보 처리방침이 규정하는 로컬 캐시는 로그인 상태든 게스트 상태든 기기에 동일하게 적용됩니다. 게스트 자격 증명 자체는 기기에 저장되지만, Whizi는 게스트 프로필을 식별하고 데이터를 동기화하고 구독 접근 권한을 확인하며 나중에 그 데이터를 계정에 연결할 수 있도록 일방향으로 파생된 식별자를 저장하며, 이는 모두 서버 측 작업입니다. 계정 내보내기는 게스트 세션에서도 작동하는데, 게스트도 기기가 사라지기 전에 꺼내 두고 싶어할 만한 실제 대화와 메모리를 갖고 있기 때문입니다.
내보내기 안의 미디어 링크는 얼마나 오래 유효한가요?
업로드된 첨부파일과 생성된 미디어는 최대 30일 후 만료되도록 설정되어 있으며, 본인이 직접 지우거나 계정 삭제 시 더 일찍 삭제될 수도 있습니다. 보관 기간이 지나면 요청은 바이트를 반환하는 대신 HTTP 404와 함께 media_expired인 "미디어가 만료되었습니다."를 반환합니다. 연결이 남아 있을 때 보관하고 싶은 것은 미리 받아 두세요.