Skip to content

bug: account already has NSFW enabled in Grok, but grok2api NSFW enable fails with AcceptTosReverse 403 #394

@Sipeng2024

Description

@Sipeng2024

问题内容

账号在 Grok App / Web 里看起来已经开启了 NSFW,但在 grok2api 后台执行 NSFW Enable 时仍然失败,报错卡在第一步:

Accept ToS failed: AcceptTosReverse: Request failed, 403

我这边的现象比较像“账号真实状态”和 grok2api 本地的 NSFW 开关流程不同步:

  • Grok 侧显示账号已开启 NSFW
  • grok2api 后台 token 初始 tags: []
  • 调用 /v1/admin/tokens/nsfw/enable 时失败,无法把 token 标成 nsfw

已做的排查

  1. 确认当前 token 池识别为 ssoSuper
  2. 确认 cf_clearance 已配置
  3. 直接调用 /v1/admin/tokens/nsfw/enable,返回:
{
  "status": "success",
  "summary": { "total": 1, "ok": 0, "fail": 1 },
  "results": {
    "<masked_token>": {
      "success": false,
      "http_status": 403,
      "error": "Accept ToS failed: AcceptTosReverse: Request failed, 403"
    }
  }
}
  1. 进一步用本机 FlareSolverr 单独访问:
  • https://accounts.x.ai/accept-tos

成功拿到了 .x.ai 域的新:

  • cf_clearance
  • __cf_bm
  1. 将这套 accounts.x.ai 的 cookie / cf_clearance 临时替换进 grok2api 配置后再次重试,结果仍然是:
AcceptTosReverse: Request failed, 403

额外观察

  • 同一时间普通文本聊天链路有时可正常返回(grok-4.1-fast
  • 但 NSFW enable 仍然固定卡在 AcceptTosReverse
  • 所以看起来不像是整个 token 完全失效,更像是:
    • accounts.x.ai 的 ToS 链路校验更严格
    • 或者当前实现无法正确复用 / 匹配该链路所需的 cookie / session 状态

部署方式

Docker Compose

版本 / 环境

  • 仓库:chenyme/grok2api
  • 本地通过 docker compose 部署
  • token 池当前识别为 ssoSuper
  • 已配置 cf_clearance
  • 已尝试使用 accounts.x.ai 新刷出来的 cf_clearance

想确认的问题

  1. 现在 NSFW enable 这条链路是否仍然要求 accounts.x.ai 的独立 ToS / 独立 cookie 状态?
  2. 如果账号在官方 Grok App 里已经开启了 NSFW,grok2api 是否应该提供“同步状态”而不是再次强制执行 AcceptTosReverse
  3. AcceptTosReverse 403 目前是否是已知问题,是否有推荐 workaround?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions