You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome扩展开发:如何生成有效arkose_token以创建GPT-4对话?

解决Chrome扩展调用ChatGPT GPT-4接口的arkose_token问题

可行的arkose_token处理流程

1. 复用ChatGPT页面的有效token

既然依赖当前ChatGPT网页会话认证,最直接的方式是从ChatGPT页面的请求中抓取已生成的arkose_token:

  • 通过Chrome扩展的chrome.scripting.executeScript向chat.openai.com页面注入脚本,监听页面内的XHR/fetch请求。
  • 捕获到/backend-api/conversation请求时,提取其请求体中的arkose_token,存入chrome.storage.local供扩展后续调用接口使用。
  • 注意:该token存在有效期,需定期重新抓取。

2. 复用ChatGPT的Arkose验证环境

Arkose token是Funcaptcha的验证产物,ChatGPT页面自带完整的验证逻辑,可通过以下方式复用:

  • 在扩展弹窗中嵌入隐藏的iframe,指向ChatGPT对话页面。
  • 通过iframe与扩展的消息通信,触发页面内的Arkose验证流程,获取生成的arkose_token。
  • 这种方式无需自行实现复杂的验证码破解逻辑,完全依托ChatGPT现有环境。

针对你尝试的两个仓库的优化方案

funcaptcha仓库

该仓库不支持浏览器环境,但可以通过Webpack/Browserify将其核心逻辑转译为浏览器兼容的代码,放在扩展的后台脚本中运行,避开页面环境的限制。

arkose-generator仓库

它返回的bda是Arkose验证所需的浏览器指纹数据,需配合Arkose的官方接口完成验证才能拿到arkose_token:

  1. 从ChatGPT页面源码中提取Arkose的公钥(可查找arkosePublicKey这类变量)。
  2. 调用arkose-generator生成bda值。
  3. 向Arkose的验证API发送请求,携带bda和公钥,完成验证后即可获取有效token。

更简便的替代方案

与其自行调用接口,不如直接在ChatGPT页面注入脚本,调用页面内置的对话函数(比如submitMessage),这样所有参数(包括arkose_token)都会自动处理,只需将对话结果回传给扩展弹窗即可。

内容的提问来源于stack exchange,提问作者munjyong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 15:18:37