乐于分享
好东西不私藏

OpenClaw OAuth 失败后,我是怎么把 Plus 接进去的

OpenClaw OAuth 失败后,我是怎么把 Plus 接进去的
我最近发现有些人并不是没有套餐,而是不知道如何接入openclaw。
网上有很多文章,教人如何配置coding plan,如何接入OAuth。
但是有多少人是只看了这些文章就顺利接入oauth的呢?
反正我没有,我第一次接入ChatGPT oauth的时候,各种报错,如果你也是,那我们遇到的很可能是一样的问题。
接下来,我就分享还原一下事情经过,以及后面我是如何接入进去的。
一开始,我就直接照着大V的文章,重头到位配置好。对,流程可能跟大家第一次配置时差不多。
也就是执行:
openclaw onboard
跟着流程一步步走完。
然后给我亲爱的小龙虾发消息,他直接给我扔了个报错:
⚠️ Agent failed before replyNo API key found for provider "openai-codex".

说我没API key,不是,我是走oauth的,跟API key有啥关系呢?

 打开网页问了下ChatGPT,说我的oauth认证没写入本地认证仓库。

可是我明明刚刚才走了授权流程,网页登录也授权成功,流程也一步步往下走了啊,问题出在哪儿呢?

我决定先听ChatGPT的,看看本地状态,执行:

openclaw models statusMissing auth- openai-codex Run openclaw configure or set an API key env var.OAuth/token status

果然没认证成功。我刚才在网页登录,授权,搞了个寂寞。。

也许我刚才打开的姿势不对?

换个姿势再来一次,这次执行:

openclaw onboard --auth-choice openai-codex

直接授权,跳过开头的前戏。

没想到,授权完成后,本地认证还是没有。

看来不是姿势的问题,这里面确实有点东西。

回到命令行往上一行行翻找执行日志,发现一个可疑点:

09:21:09 error [openai-codex] code->token failed403 {"error":{"code":"unsupported_country_region_territory","message":"Country, region, or territory not supported","param":null,"type":"request_forbidden"}}09:21:09 error ErrorToken exchange failed09:21:10 info [info]: [ 'client ready' ]09:21:12 debug cron 

重点是这句:Country, region, or territory not supported

原来是我被ban了。

哎不对啊,我明明都能打开网页授权,难道是没开全局?

对对对,一定是这样。再次开全局并且在控制台访问ip测试地址,确认生效。然后再粘贴上那行授权命令。自动打开网页,登录,授权,流程走完一看。

还!是!失!败!!

what?为什么?!

原来,网页授权是成功了的。问题出在本地。

我是用这个命令去做oauth授权的:

openclaw onboard --auth-choice openai-codex

openclaw打开的浏览器,登录,授权。网页授权成功后,会回调本地的地址,openclaw就能拿到回传的code和state。

之后openclaw就会携带code去请求ChatGPT的服务交换token。

而openclaw是本地直连请求的,所以就被ChatGPT给ban了。

知道原因就好办了,接下来,就是让openclaw不走直连,而是包装一层proxy,跟网页走同一个出口去访问。

下载openclaw在github的项目源码,然后修改请求方式,本地调试,打包,重新安装。

为了不覆盖到原有的东西,重新加了一个openclaw-proxy。

使用命令:

openclaw-proxy onboard --auth-choice openai-codex

重新打开网页登录,授权。再查看本地情况,发现已经成功写入认证。

再次使用飞书给小龙虾发消息:

搞定~

如果你遇到的问题跟我一样,按照我这个方法,一定能解决,亲测可用。

如果你想要我这个版本,也可以私信给我留言

如果你遇到其他问题,也可以留言互动