开发工具差点翻车!OpenClaw最新版紧急修路:你的GPT-5.5认证回来了
你上一版5.5更新偷偷改了我家路由
事情是这样的。你昨晚可能手贱运行了 openclaw doctor --fix,以为这工具会像老中医一样给你把把脉,结果它直接把你的 Codex OAuth 路由给重写了。本来你的 GPT-5.5 是走 OAuth 认证那条专线,就像你有小区门禁卡直接刷进去。结果 doctor 一抽风,把你的门禁卡扔了,硬要你走 OpenAI API Key 那个需要身份证登记的访客通道。
这对大部分人没啥,但如果你用的是纯 OAuth 才能激活的 GPT-5.5 套餐,那就完蛋了。你的模型突然找不到回家的路,插件开始报 401 错误,就像你站在家门口刷脸发现系统里你的照片被换成了你猫的照片。所以 2026.5.6 版本的第一件事,就是把这个错误的修改给撤回去。
恢复原状其实就一行命令
如果你发现自己的默认模型已经被改成了 openai/gpt-5.5,别慌,你只需要打开终端,敲入下面这行咒语。这行命令会告诉 OpenClaw,你要走回老路,用 openai-codex/gpt-5.5 那个认证方式。认证方式说白了就是你证明自己付过钱的手段,OAuth 就像你用微信登录,API Key 就像你输入密码。两者都能开门,但钥匙不一样。
openclaw models set openai-codex/gpt-5.5
输完这条命令之后,最好再补一个体检命令,确保整条路都是通的。这个 validate 命令会像安检员一样把每个配置文件摸一遍,看看有没有残留的坑。如果它啥都没报错,你就可以继续嗑瓜子了。如果它报了错,说明你之前可能还有其他手动魔改,那就需要按提示一条条修。
openclaw config validate
插件请求头里不能藏奇怪符号
第二个修复听起来很技术,但其实特别搞笑。有些插件在发起网络请求的时候,会给请求头里塞一些 JavaScript 特有的符号对象,而不是纯字符串。请求头就是你给网站服务器递的小纸条,上面写着“我是谁”“我要什么格式的数据”。服务器只认纯文本,就像食堂阿姨只认纸币不收贝壳。
但是这些插件的作者可能太随意了,直接把内存里的某种特殊对象塞了进去。这种对象里面有隐藏的元数据标记,普通人的眼睛看不出来,但是 JavaScript 的 fetch 函数很较真,看见这种对象就直接拒绝干活。于是插件就炸了,错误信息可能是一堆看不懂的英文,你以为是网络断了,其实是你在船上给人家递了一枚贝壳。
现在它会先把请求头洗干净再传给系统
OpenClaw 的解决办法很简单:在插件把请求交给真正的网络发送函数之前,先过一道安检。安检员会把请求头里所有带符号的对象揪出来,只保留纯字符串的键值对。就像你进游乐场之前,保安会把你兜里的打火机、自带饮料这些违禁品暂扣,只让你带手机和钱包进去。
这么做的好处是,不管插件开发者写得多随意,最终的请求都能正常发出去。你作为用户,不需要关心插件内部到底用了什么骚操作。你只需要知道,2026.5.6 版本之后,那些原本因为请求头格式不对而挂掉的插件,现在大概率能活了。除非插件本身还有别的毛病,那就不是这次能管的事了。
调试代理重放请求时也会做同样的清洗
调试代理是一个很好用的功能,它可以把你的网络请求记录下来,然后在你需要的时候重新发一遍,方便你排查问题。你可以把它想象成一个录像回放机,你之前做了什么动作,它原封不动再做一遍。问题是,如果原来的请求头里混进了那些奇怪的对象符号,回放的时候也会原样带着。
之前版本的 OpenClaw 在回放时不检查,直接就把脏数据扔出去了,结果回放的请求也失败。你看了半天日志,发现第一次请求成功了,第二次一模一样的请求却失败了,这就很让人抓狂。就像你白天刷卡进门成功了,晚上同样的卡刷上去,门禁却说“卡片格式错误”,而你明明什么都没改。
现在回放之前也会先做标准化处理
新版本在调试代理准备重放请求的时候,会先调用同一个清洗函数,把那些符号对象全部转化成纯文本字符串。这样一来,第一次请求和回放请求的请求头格式就完全一致了,服务器也会给出相同的回应。你可以安心地重放请求来测试接口,不必担心因为底层对象差异而踩坑。
这个修复其实体现了开源软件的一个常见现象:同一个 bug 会在不同模块里反复出现。因为请求头清洗这个逻辑,在网络请求模块里做了一遍,但是在调试代理模块里忘了做。就像你家门口铺了地垫,但是后门没铺,结果从前门进来的泥巴少了,从后门进来的还是满脚泥。这次更新把后门的地垫也给补上了。
网页抓取超时后不会再卡死一条车道
第三个修复是关于网页抓取的。OpenClaw 有一个功能叫 web_fetch,就是你给它一个网址,它会帮你把网页内容抓回来。如果这个网站很慢,或者你的网卡了,它就会超时。超时就是你说“我等了十秒钟它还没反应,我放弃了”。按理说,放弃之后,程序应该把所有相关的资源都释放掉,就像你挂了电话就得把通话线路还给交换机。
但是旧版本有一个漏洞:超时之后,它把错误返回给了你,却没有把底层的调度器车道清理干净。调度器车道是一个比喻,OpenClaw 内部有一个交通指挥系统,每个抓取任务会占用一条虚拟车道,车道数量是有限的。超时后车道没释放,就相当于一辆车抛锚了还堵在路中间,后面的车全得等着。
超时清理后工具错误正常返回不算车道占用
新版本在超时发生的时候,会强制执行一个清理函数,强制把那条车道标记为可回收。然后它再把你看到的错误信息打包成一个工具错误,返回给你的聊天窗口。你得到的结果和之前差不多,都是“抓取超时”,但是背后的资源已经被正确释放了。你可以立即发起下一个抓取任务,不会因为之前的超时而卡住。
这个修复的厉害之处在于,你从外面根本看不出变化。错误信息还是那个错误信息,但是系统内部的卫生状况好了很多。就像你家的马桶,冲水的按钮按下去,水声还是一样,但是之前会偷偷漏水的那个垫圈被换掉了。你只有用了一个月发现水费没涨,才知道修好了。
整个版本的修复逻辑其实是一条因果链
我们把这几个修复串起来看,就会发现它们之间存在逻辑递进。第一个修复是因为 doctor 改路由导致了认证失败,所以必须回滚并给你命令切回正确模型。这个命令执行完后,你的模型能正常用了,但是插件可能因为请求头问题而报错。所以第二个和第三个修复解决了请求头里的脏数据问题,让插件的网络请求能顺利发出。
插件能发请求了,但是如果你用调试代理去重放这些请求来排查问题,又会因为没有清洗而失败。所以第四个修复在重放环节也加了清洗。最后,即便所有请求都正常了,网页抓取功能如果因为超时后车道不释放而卡死,你依然会体验差。所以第五个修复清理了超时后的车道占用。
你可以把它想象成一个修路施工队
周一的时候,施工队不小心把一条主干道上的路牌全换了,导致司机们都走错了路。周二他们发现错了,赶紧把路牌换回来,并且贴出告示告诉你“如果你昨天走错了,现在请这样开回来”。这是第一个修复。然后他们发现辅路上有很多井盖没盖好,因为井盖的形状不标准,施工队换了一批标准井盖,这是第二个修复。
接着他们发现,在施工监控室里重放监控录像的时候,录像里的井盖也是坏的,因为监控录的就是坏井盖的样子。所以他们把监控设备也调整了,录的时候自动把坏井盖替换成标准井盖。这是第三个修复。最后他们发现,路上有一台救援拖车,每次救完故障车之后不把拖车开回停车场,导致停车位被占满。他们给拖车加了自动归位功能,这是第四个修复。
技术宅的快乐就是这么朴实无华
你可能觉得这些小修复没什么了不起的,但正是这种细枝末节的修正,让一个工具从“能用但经常抽风”变成“稳定可靠”。OpenClaw 这个工具本来就是给开发者折腾用的,开发者最讨厌的事情就是被工具本身的 bug 浪费两个小时。当 doctor 命令偷偷改了你的路由,你花了一个下午才找到原因,那种感觉就像你请了个保洁阿姨,结果她把你家钥匙扔了。
所以这次更新虽然版本号只跳了 0.0.1,但含金量很高。它没有加新功能,而是把上一版本捅的篓子给补上了,顺便优化了几个历史遗留的稳定性问题。如果你是那种紧跟最新版的人,建议你立即升级。如果你还在用 2026.5.4 之前的版本,其实也可以跳过 5.5 直接升到 5.6,跳过那个有 bug 的中间版本。
升级命令很简单,不会触及其他配置
升级 OpenClaw 通常就是运行包管理器的更新命令,比如如果你用 npm 安装的,就是 npm update -g openclaw。如果你用自家脚本安装的,就去 GitHub 拉最新 release 重新跑一遍安装脚本。升级之后不需要额外配置,因为这几个修复都是底层行为调整,不影响你的配置文件格式。
唯一需要你手动操作的就是,如果你发现模型确实被改过,运行那两行切换和验证命令。如果你不确定自己中没中招,也可以直接运行 openclaw config show 看一眼默认模型那一行。如果显示的是 openai-codex/gpt-5.5,说明你本来就没事。如果显示的是 openai/gpt-5.5,说明你中招了,按前面的方法切回去就行。
最后总结一下你现在该干嘛
第一步,升级到 2026.5.6 版本。第二步,检查你的默认模型是不是 openai-codex/gpt-5.5,如果不是就切回去并验证。第三步,正常使用你的插件和网页抓取功能,如果之前某些插件因为请求头报错,现在可以再试一次。第四步,如果一切正常,就当作无事发生过,继续写你的代码。如果还不正常,去 GitHub 的 issue 里搜 #78407、#77846 或 #78439,看看有没有人和你遇到同样的情况。
记住,开发工具的版本号不是越新越好,而是越稳越好。2026.5.5 是个意外,2026.5.6 是把意外擦干净的版本。你可以放心使用,并且下次运行 doctor --fix 之前,最好先看一眼它的更新日志,看看这个版本的医生有没有喝醉。
不到12小时就更新了两次,伙计们,你们做得太棒了!相比hermes从上个月4月30日以来一直停留在0.12版本