无法登录Whizi,或者会话总是过期

快速解答

Whizi的访问失败可以分成四类:登录尝试本身失败、浏览器没能拿到新的会话令牌、已经有另一个会话在运行,或者账号共享限制拒绝了这次请求。后端返回的每一个身份验证失败都带有代码unauthorized和HTTP 401,退出登录再重新登录就能解决会话类问题。

简短的答案

Whizi的访问问题可以分成四类:登录尝试本身失败、浏览器没能拿到新的会话令牌、已经有另一个会话在运行,或者账号共享限制拒绝了这次请求。报错信息会告诉你是哪一种情况,下面每一条文案都是直接引用自产生它的代码。

下面这五条覆盖了登录、会话、单一会话和共享拒绝的情况:

报错信息触发原因解决方法
Login failed. Please check your credentials.登录请求返回的状态不是complete重新输入邮箱和密码,或重置密码
Invalid or expired session token.HTTP 401。令牌验证因任何原因失败:令牌过期、签名错误、签发方不对退出登录后重新登录
Authentication required.HTTP 401。请求的Authorization头中没有携带Bearer令牌重新登录
Please sign out from other sessions and try again.登录报错文本中包含"single session mode"在另一个浏览器或标签页中退出Whizi登录,然后重试
Account sharing limit reached. Please use your own Whizi account.HTTP 403。过去24小时内该账号出现了超过3个不同的设备或会话密钥使用你自己的账号。这个时间窗口是滚动计算的,所以除此之外唯一的办法就是等待

后端返回的每一个身份验证失败都带有代码unauthorized和HTTP 401。在聊天页面和分享弹窗中,后端的报错信息会原样显示,所以在网络请求记录里看到的文本和屏幕上看到的文本是同一条。

"会话已过期"到底是什么意思

这句话的意思是:页面请求了一个新的会话令牌,但没有拿到。同一个问题,会根据发生时所在的位置显示成不同的句子。

出现位置报错信息
没有携带令牌的任何后端请求Authentication required.
令牌验证失败的任何后端请求Invalid or expired session token.
令牌验证通过但缺少某个claimThe Clerk user_jwt token must include sub and email claims.
聊天列表、加载聊天、删除、重命名或上传Failed to retrieve session token.
并排对比功能,在发送时Your session expired. Please refresh and try again.
导入ChatGPT或Claude导出文件时Your session ended. Sign in again, then start the import.
设置页面,在取消订阅之前Authentication failed. Please sign in again.
升级弹窗,在结账之前Authentication failed. Please sign in again.
分享弹窗Not signed in.
语音悬浮层Sign in to Whizi to use voice mode.
会话请求本身Failed to fetch session ({status}).

退出登录后重新登录。有两条文案直接说明了这一点:Your session ended. Sign in again, then start the import.Authentication failed. Please sign in again.

登录和密码重置报错

身份验证和账号管理由Clerk提供,所以这些报错信息来自登录流程,而不是来自Whizi自己的密码存储系统。

报错信息触发条件
Login failed. Please check your credentials.登录请求返回的状态不是complete
An error occurred during login.登录请求抛出异常,且没有返回可读的报错信息
Please sign out from other sessions and try again.报错文本中包含"single session mode"
Failed to authenticate with social login.Google重定向跳转在离开页面前抛出了异常
Please enter your email address.密码重置表单在邮箱字段为空的情况下被提交
Failed to send reset email. Please try again.密码重置请求抛出了异常
Current password is required.在重置密码页面,当前密码字段为空
Passwords do not match.两次输入的新密码不一致
Failed to reset password. Please try again.重置失败,且没有返回可读的报错信息

Please sign out from other sessions and try again.是列表中唯一一条解决方法在别处的报错:先关闭Whizi已登录的另一个标签页或浏览器,然后再来重试。

设置页面里有一份独立的重置流程,用的是同样的两条文案:字段为空时是Please enter your email address.,发送失败时是Failed to send reset email. Please try again.重试就是全部的解决方法。这个流程本身的分步说明在重置你的Whizi密码。如果一直失败,请联系客服,不要另外注册一个新账号。

在短时间内反复重试还可能触发限流,对应HTTP 429,报错为Too many requests. Please wait and try again.这条限流背后的时间窗口在Whizi速率限制中说明。

注册和邮箱验证报错

报错信息触发条件
Registration service is not available.表单提交时注册对象还没有准备好
Registration failed. Please check your information.注册请求抛出异常,且没有返回可读的报错信息
Verification service is not available.邮箱验证码这一步在没有注册对象的情况下运行
Verification failed. Please try again.验证请求返回的状态不是complete
Invalid verification code. Please check your email.验证请求抛出了异常
Could not start Google sign-up. Please try again.Google注册重定向抛出了异常
Missing session token after social signup.社交账号注册完成后没有拿到令牌
Your account was created, but checkout could not start. Please sign in and choose your plan again.携带待处理结账的注册流程之后没能拿到令牌

最后一条并不是注册失败:账号已经创建成功,只是那笔待处理的结账丢失了。接下来该怎么做,见结账时银行卡被拒或支付失败

两条"服务不可用"的文案,意思都是表单提交时Clerk的注册对象还没准备好,而不是你填的信息被拒绝了。等页面加载完成后再提交一次。

临时邮箱地址会被拒绝

Temporary email addresses are not allowed. Please use a permanent email address.是HTTP 403,代码为disposable_email_blocked。它在创建账号时触发,条件是邮箱域名在临时邮箱名单上。

已经存在的账号不受这份名单影响。解决方法是换一个长期使用的邮箱地址,没有例外申请的渠道。

同样的文案也可能在结账时出现,只是状态不同。这部分内容在结账时银行卡被拒或支付失败中说明。

账号共享次数超限

Account sharing limit reached. Please use your own Whizi account.是HTTP 403,代码为account_sharing_limit。当同一个账号在过去24小时内出现超过3个不同的设备或会话密钥时触发。

正常的多设备使用是被支持、也是预期内的:同一个账号可以在多台设备上登录,两边都能访问同一个后端和同一个对话记录库。但每个账号同一时间只能运行一次生成,由每用户锁强制执行,所以同一账号的两台设备永远不可能同时生成内容。

这项限制没有设置项,也没有自助重置的办法。时间窗口覆盖过去24小时,所以随着较早的设备密钥过期,它会自己解除。如果你是一个人在一天内用了三个以上的浏览器或设备,并且一直触发这个限制,请联系客服,不要尝试绕过它。

已登录,但Whizi说账号不存在

User not found.会在会话背后对应的users行已被删除时触发。结账接口在读不到调用者的账号行时,会返回同样的文案,对应HTTP 404代码not_found

账号删除在设置页面里是两步确认操作,它会移除有效的Whizi账号记录、已同步的聊天记录和消息、上传和生成的媒体文件、保存的手机端记忆、推荐记录、手机端权益和用量状态、限流状态、推送令牌,以及Clerk身份验证账号,具体以隐私政策中规定的有限保留期为准。

如果你看到这条报错,但并没有删除任何东西,请联系Whizi客服。目前没有自助修复的办法。删除操作的完整范围见Whizi如何处理你的数据

访客身份和账号绑定

访客使用就是未登录使用。在手机应用里,创建账号是可选的,不注册直接继续使用会创建一个匿名的、绑定设备的访客身份,不需要姓名或邮箱地址。它有自己的一套访问报错。

报错信息触发条件
A valid guest session is required.HTTP 401。访客令牌缺失、格式错误,或者指向一个不存在的访客身份
This guest profile has already been linked. Sign in to continue.HTTP 409。访客令牌对应的身份已经被另一个账号绑定
This guest profile is linked to a different Whizi account.HTTP 409。要绑定的访客身份已经绑定在别处
Wait for the current reply to finish, then try creating your account again.HTTP 409。在生成仍在进行时,该身份被拿去绑定账号

只有最后一条有简单的解决方法:等回复生成完成,再创建账号。另外三条都意味着这个访客身份已经绑定在某个账号上,登录那个账号即可,如果你不认识那个账号,请联系客服。

访客数据不会因此被困住。数据导出对访客会话同样有效,因为访客身份里也保存着值得导出的真实聊天记录和记忆。

账号本身无法执行某个操作时

以下是显示在设置页面里的账号级别失败,而不是登录失败。

报错信息含义
Your account could not be deleted. Please try again, or contact support.删除请求失败,显示在设置页面
Account deletion failed ({status}).那条提示背后的原始报错,附带HTTP状态码
Failed to export your data. Please try again.数据导出失败,显示在设置页面
Export request failed ({status}).那条提示背后的原始报错

数据导出限流为每分钟5次请求,因为一次导出会读取账号名下的所有内容。超过这个频率重试会被这项限制拒绝。

Whizi没有公开或开发者API,不签发API密钥,也没有个人访问令牌。每个接口都以最终用户会话的身份验证,所以没有密钥可以轮换、吊销或粘贴。如果某个脚本或第三方工具无法访问你的账号,原因就在这里。

操作清单
  • 会话报错意味着请求没有携带可用的令牌:退出登录后重新登录
  • 会话令牌无效或已过期对应HTTP 401,代码是unauthorized
  • 单一会话提示意味着必须先在另一个Whizi标签页退出登录
  • 账号共享限制在24小时内出现超过3个设备或会话密钥时触发,之后会自动解除
  • 临时邮箱域名在注册时会被拒绝,对应HTTP 403 disposable_email_blocked
  • 账号不存在意味着会话背后的账号记录已经消失:请联系客服
  • 429表示触发了限流窗口,此时应该等待,而不是循环重试
  • 没有API密钥或个人访问令牌需要轮换

常见问题

重置密码能清除Invalid or expired session token.吗?

不能。这条报错是在对照Clerk JWKS验证JWT失败时返回的,它针对的是浏览器携带的令牌,而不是账号的密码。密码重置流程有自己独立的一套文案,包括Current password is required.Passwords do not match.应该退出登录后重新登录。

Failed to retrieve session token.是Whizi的服务故障吗?

不是后端拒绝。这是网站自己抛出的错误,只要在聊天列表、加载聊天、删除、重命名或上传请求之前getToken没有返回任何东西,就会抛出这条文案,所以它不带HTTP状态码,也没有错误代码。对应的后端版本,也就是带状态码的那两条,是Authentication required.Invalid or expired session token.,都是HTTP 401 unauthorized

Failed to fetch session ({status}).是什么意思,里面的数字是什么?

这是会话请求本身失败时,网站抛出的原始报错,{status}的位置会填入那次请求的HTTP状态码。它不是为读者写的提示文案,这也是它看起来像内部字符串的原因。联系客服时请把这串文字连同数字原样贴出来。

我完全登录不进去,而且这里的文案都对不上,该怎么办?

联系客服,把你看到的原文和当时在做什么都贴出来。这里的每一条文案都对应代码里的一个具体位置,所以逐字引用是客服能拿到的最快线索。目前没有自助解锁账号的办法。