gpt4free LMArena 调不通 GPT-5?5 类报错 4 条命令一次自助修好
【免费下载链接】gpt4freeThe official gpt4free repository | various collection of powerful language models | opus 4.6 gpt 5.3 kimi 2.5 deepseek v3.2 gemini 3项目地址: https://gitcode.com/GitHub_Trending/gp/gpt4free
你在终端敲下第一句话,等来的却是一行MissingAuthError。gpt4free 是个免费开源项目,能免登录调 GPT-5、Gemini、Claude,LMArena 是它借道 arena.ai 的通道。按下面四条链路逐段排查,这套报错你能自己修好。
LMArena 报错怎么修:五类信号速查
| 报错长什么样 | 它在说什么 | 往哪段修 |
|---|---|---|
MissingRequirementsError: No auth file found and nodriver is not available | 本地没有凭据,自动登录用的浏览器库也没装 | 第 1 层:补依赖 |
MissingAuthError: No authentication arguments found. | 本地没存 arena.ai 的登录缓存 | 第 2 层:走一次登录 |
ModelNotFoundError: Model 'xxx' is not supported by LMArena provider | 模型名不在实时抓取的名单里 | 第 3 层:换对名字 |
CloudflareError,或请求反复失败 | 站点的人机防护拦住了你的请求 | 第 4 层:重建登录态 |
日志反复刷waiting for authenticate,一直卡住 | 浏览器弹出来了,但登录没走完 | 第 2 层:手动把登录做完 |
这些异常类都定义在 g4f/errors.py 里,LMArena 通道自身的完整逻辑在 g4f/Provider/needs_auth/LMArena.py,想深挖再翻源码。
分层诊断:把一次请求拆成快递链路
请求从你机器出发到 arena.ai 返回,要过四段。哪一段断了,报错就长什么样。
备货站:curl_cffi 和 zendriver 装齐了吗
这层查的是通道依赖的两个库:curl_cffi(模拟浏览器发请求)和zendriver(无头浏览器,自动帮你走登录流程)。代码里对它们是"导入不了就报错"的写法,缺一个就抛MissingRequirementsError。
查法:pip list | grep -E "curl_cffi|zendriver",两行都该出现。
通过的标志:两个包都在,且 Python 版本 ≥ 3.9,python -c "import curl_cffi"不报错。
常见坑:zendriver比较新,Python 太老时 pip 直接装不上,装不上优先怀疑解释器版本,别死磕。
这层过了还报错,说明断点在下一站。
面单:auth_LMArena.json 登录缓存在不在
这层查的是登录凭据。通道把 arena.ai 的 cookies 和请求头存进 cookies 目录下的auth_LMArena.json,之后每次请求直接读缓存,不再弹浏览器。
查法:python -c "from g4f.cookies import get_cookies_dir; print(get_cookies_dir())"找到目录,确认里面有auth_LMArena.json,打开看内容是合法 JSON,不是空文件或乱码。
通过的标志:文件存在且 JSON 能正常解析。
常见坑:首次登录弹出的浏览器窗口一闪而过,你没来得及登录,写出来的就是残缺文件——这种直接删掉重来,别在坏缓存上反复重试。
凭据没问题请求还是挂,看下一站。
地址:模型名对不对得上实时名单
这层查模型名。注意:模型名单不是写死在代码里的,而是每次从 arena.ai 首页实时抓取,再落一份到 cookies 目录下的.models缓存里。改代码里的models数组没有用。
查法:python -c "import g4f; print(g4f.Provider.LMArena.get_models())",看你要的模型在不在返回列表里。
通过的标志:名单非空,且包含你请求的模型名,大小写敏感。
常见坑:名单跟着网站变,想要gpt-5就用列表里实际显示的写法,别凭记忆填。
模型名也没问题却抛出CloudflareError,就是最后一站的事。
安检口:Cloudflare 拦截怎么破
这层查站点防护。arena.ai 挂在 Cloudflare 后面,请求特征不对(IP 被标记、凭据太旧、请求太密集)就会触发挑战页,代码里对应抛CloudflareError,并且自动清掉旧凭据重试一次。
查法:前三层都通过、日志里出现Cloudflare error字样,就是到这一站了;重试一次还失败,说明干等没用,得重建登录。
通过的标志:重建一次完整登录后,简单对话能正常出字。
常见坑:IP 信誉问题在本地修不好,挂在坏 IP 上多久都是这个结果,换出口再说。
修复动作清单
- 补依赖。
pip install -r requirements.txt,再单独确认pip install curl_cffi zendriver能装干净;zendriver装不上就升级 Python。 - 清缓存。删掉 cookies 目录里的
auth_LMArena.json和.models缓存,它们只是缓存,删了会自动重建。 - 重登录。随便跑一个 LMArena 请求,等浏览器弹窗出现后手动完成登录和人机验证,直到输入框可用;日志出现
Save args to cache file就是成了。 - 核模型名。用第 3 层的命令打印当前名单,把代码里的模型参数改成名单里真实存在的名字。
- 换出口。仍被 Cloudflare 拦,隔几分钟再试;常用代理的话,切一个干净的节点。
整个过程一行源码都不用动,你只动了缓存和登录态。
防复发
- 升级 gpt4free 后立刻跑一句测试对话做冒烟测试,别等正式使用时才发现凭据失效。
- LMArena 请求之间留 30 秒以上间隔,批量脚本尤其注意,触发限流会连带清掉你的凭据缓存。
- 看到
MissingAuthError先删auth_LMArena.json再登录,不要在残缺缓存上反复重试。 - 想跑在干净环境里,直接用仓库根目录的 docker-compose.yml,
docker compose up -d一条命令,依赖冲突就断在根上。
缺库、没登录、名字错、被拦截,四段链路过一遍,LMArena 通道基本就通了。遇到新的故障模式,可以参考 CONTRIBUTING.md 提个 issue,或者先用 etc/testing/ 里的脚本自验一把再反馈。
【免费下载链接】gpt4freeThe official gpt4free repository | various collection of powerful language models | opus 4.6 gpt 5.3 kimi 2.5 deepseek v3.2 gemini 3项目地址: https://gitcode.com/GitHub_Trending/gp/gpt4free
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考