openclaw onboard⚠️ Agent failed before reply:No 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 failed: 403{"error":{"code":"unsupported_country_region_territory","message":"Country, region, or territory not supported","param":null,"type":"request_forbidden"}}09:21:09 error Error: Token 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-codexopenclaw打开的浏览器,登录,授权。网页授权成功后,会回调本地的地址,openclaw就能拿到回传的code和state。
之后openclaw就会携带code去请求ChatGPT的服务交换token。
而openclaw是本地直连请求的,所以就被ChatGPT给ban了。
知道原因就好办了,接下来,就是让openclaw不走直连,而是包装一层proxy,跟网页走同一个出口去访问。
下载openclaw在github的项目源码,然后修改请求方式,本地调试,打包,重新安装。
为了不覆盖到原有的东西,重新加了一个openclaw-proxy。
使用命令:
openclaw-proxy onboard --auth-choice openai-codex重新打开网页登录,授权。再查看本地情况,发现已经成功写入认证。
再次使用飞书给小龙虾发消息:

搞定~
如果你遇到的问题跟我一样,按照我这个方法,一定能解决,亲测可用。
如果你想要我这个版本,也可以私信给我留言
如果你遇到其他问题,也可以留言互动
夜雨聆风