ChatGPT 反复提示会话过期

ChatGPT 用着用着就被踢下线,几分钟一次——cookie 被清、多 tab 抢 token、公司代理剥 header 是 3 大主因。

Session 正常应该 7-30 天有效,靠 silent refresh 自动续期。如果每 5-15 分钟就过期一次,问题肯定不在 session 本身,而是:cookie 被外力清掉、多个 tab 同时刷 token 互相作废、或公司 / 学校代理把 Set-CookieAuthorization header 剥了。先判定环境(家里 vs 公司 vs VPN)能让你 80% 命中根因。

常见原因

1. 浏览器设了”关闭时清 cookie”或扩展定期清

Firefox 的 “Delete cookies and site data when you close Firefox”、Safari 的某些 7 天 ITP cap、Cookie AutoDelete / Forget Me Not 扩展每次切 tab 就清。

如何判断:DevTools → Application → Cookies → 看 __Secure-next-auth.session-token 的 Expires。如果显示 “Session” 而不是某个具体日期,关浏览器就没了。

2. 多个 tab 同时刷 session token

打开 3 个 chatgpt.com tab,每个都在 init 时调 /api/auth/session 刷 token。一个赢,其他拿到旧 token,下一次 API 调用就 401。

如何判断:关掉所有 tab、只留 1 个,过期频率明显降低 = 多 tab 抢 token。

TLS 拦截代理(Zscaler、Palo Alto Prisma、Cisco Umbrella)会拆开 HTTPS 看流量,重写 header。常见错误:把 SameSite=None 改成 Strict,跨子域 cookie 失效;或把 __Secure- 前缀的 cookie 丢掉。

如何判断:用手机热点(绕过公司网)连,session 不再过期 = 公司代理。或者 DevTools → Network → 看 Set-Cookie 响应 header 是否完整。

4. Wi-Fi ↔ 移动网络频繁切换

笔记本切 Wi-Fi 时 IP 变,OpenAI 端可能把这视为 session hijack 风险,强制重新验证。

如何判断:固定一个网络试 30 分钟。不过期 = 是切网触发。

5. 系统时间偏差

JWT 有 iat / exp 时间戳。本地时间偏差 > 5 分钟,新拿到的 token 一进来就被认作过期。

如何判断:Mac → System Settings → Date & Time → “Set time automatically” 是否打开。终端跑 date 对比 time.is

6. 浏览器 in-private / 临时 profile

如果你不小心一直在用 Incognito / Private window,关闭即清空,session 当然不长存。

如何判断:浏览器窗口边框是黑色 / 紫色(不是普通颜色),或地址栏旁有 “Incognito” 图标。

最短修复路径

Step 1:环境判定——切到家庭网络

笔记本 → 关 Wi-Fi → 连手机热点(4G/5G)→ 重新登 chatgpt.com → 工作 30 分钟
  • 不再过期 = 公司 / 学校网络问题,跳到 Step 5
  • 还是过期 = 浏览器 / 系统层问题,继续 Step 2

Step 2:只留一个 tab

关掉所有 chatgpt.com 标签页,重开一个并 pin 住。如果想多个对话同时进行:

  • macOS:用浏览器的”分屏”,但仍是一个 tab,多个对话用左侧栏切换
  • 实在需要并行:用不同 browser profile,每个 profile 独立 cookie jar,不抢 token

Step 3:cookie 设成长期

Chrome: chrome://settings/cookies → 翻到底 → "Sites that can always use cookies" → Add → chatgpt.com
Firefox: about:preferences#privacy → "Custom" → uncheck "Delete cookies and site data when Firefox is closed"
Safari: Settings → Privacy → uncheck "Block all cookies" 
chrome://extensions → 检查并禁用:
- Cookie AutoDelete
- Forget Me Not
- Privacy Cleaner
- Click&Clean
- History Eraser

或给这些扩展加 chatgpt.com 例外。

Step 5:公司 / 学校代理处理

如果 Step 1 确认是公司网络:

1. 在地址栏输入 chatgpt.com 后看小锁 → 证书签发者
   - 显示 "Let's Encrypt" / "DigiCert" = 真证书,代理没拦截
   - 显示 "Zscaler" / "Palo Alto" / 公司名 = TLS 拦截,cookie 被重写

如果是 TLS 拦截:

  • 没法在客户端修,只能找 IT 给 *.openai.com*.chatgpt.com 加 TLS bypass / SSL exception
  • 工单措辞:
Subject: Request TLS bypass for OpenAI domains
Domains: *.openai.com, *.chatgpt.com, *.auth0.openai.com
Reason: SaaS service requires SameSite=None third-party cookies which
        our proxy strips during HTTPS inspection. End user impact:
        session expires every 5-15 minutes, productivity loss.
Risk: Standard SaaS endpoint, no DLP concerns, served via Cloudflare.

Step 6:VPN 固定一个出口

NordVPN/ExpressVPN/etc → Settings → 关闭 "Auto-select server" 
→ 手动选一个固定节点(最好同城)
→ 关闭 IP rotation / kill switch reconnect

Step 7:校准系统时间

Mac: System Settings → General → Date & Time → "Set time automatically" ON
Win: Settings → Time & language → Date & time → "Set time automatically" ON, Time zone 同步

Step 8:用 App 兜底

公司网无法改 IT 政策时,手机 App 用本地 bearer token,不依赖浏览器 cookie,能绕开多数代理问题。把重要会话挪到 App 直到 IT 修。

预防建议

  • ChatGPT 用专门的 browser profile,cookie 设永久保留、扩展只装必要的。
  • 同时只开 1 个 chatgpt.com tab,开多了用左侧栏切对话而不是多 tab。
  • 公司机器先验证 IT 是否把 OpenAI 加了 TLS bypass,没加就提前申请。
  • VPN 选固定 dedicated IP 节点,不要 rotating。
  • 系统时间永远开自动同步。
  • 别在 Incognito 长期工作——既不持久化 session,也对 ChatGPT 的记忆功能不友好。

相关阅读

标签: #ChatGPT #ChatGPT 账号 #排查 #排查 #会话过期