OpenClaw v2026.6.5:并行搜索加上更安全的安装策略


OpenClaw 2026.6.5

并行网络搜索捆绑
️ 技能/插件安装的安全安装策略
️ 矩阵语音 + 线程修复
人类/MCP 恢复强化

OpenClaw 2026.6.5这个版本,说白了就是给你家这只长歪了的猫做一次正经“绝育+芯片植入+保险箱加固”。核心三件事:
第一,搜索功能直接打包进来,不用你再去折腾什么API key就能用;
第二,装插件和技能(skill)必须经过老板点头,不能随便来个脚本就敢往你电脑里钻;
第三,那些跟AI模型(尤其是Anthropic)聊天时容易崩、容易卡、容易记错话的毛病,全给修了。而且从这版开始,版本号改成“年.月.补丁号”——补丁号是当月第几次修,不是具体日期。这样万一上个月版本出了大bug,还能单独给上个版本打补丁,不用逼你立刻升级到最新版。


再也不怕“搜不到”了:Parallel搜索直接焊死在身上

以前用OpenClaw做网络搜索,那感觉就像出门逛街忘带手机——你知道网上啥都有,但你就是得回家拿。你得自己去搞一个搜索API的密钥,配置好了,它才能去搜。麻烦不说,免费额度用完了还得掏钱。这次更新直接给你塞了个叫“Parallel”的搜索功能,而且是“bundled”——就跟买手机送充电器一样,拆箱就有。

这个Parallel最骚的操作是:你一分钱不花也能用,它走的是免费路径。但如果你想用更猛的付费API(专业版、更快、更多结果),你也只需要在环境变量里设一个PARALLEL_API_KEY就行。它自己会去发现、去用,你不用改代码。而且它返回的搜索结果不是那种乱七八糟的网页摘要,而是“dense excerpts”——专门为大模型(比如你后面要聊天的Claude)压缩过的、信息密度很高的片段。这就像你以前去图书馆翻书,得自己从目录找到第38页第二段。现在Parallel直接递给你一张卡片,上面写着“第38页第二段的核心意思是:xxx”。LLM读完就能用,不用二次理解。

更贴心的是它把会话ID(session id)做了缓存安全的处理。什么意思呢?就是你同一个对话里搜好几次,它不会傻乎乎地每次都重新请求网络,而是先看看缓存里有没有。这样既省钱(如果是付费API)又省时间。而且它在那个选择搜索引擎的界面(onboarding picker)里也直接出现了,你点一下就能切过来。官方文档也更新了。所以说,这一项更新并不是加了个新功能,而是把“搜索”这个基本能力,从“外挂选配件”变成了“原厂标配”。你的OpenClaw从这版开始,一出生就会自己上网找答案。

装插件再也不能乱来了:老板必须点头才能装

你想想,你家大门装了指纹锁,但你却允许任何快递员直接进卧室放包裹——这合理吗?OpenClaw以前的插件和技能(skill)安装就是这个问题。它社区里有很多好用的插件,但也有一些来路不明的。你一不小心执行了个/install some-skill,它就开始在你的系统里跑脚本、读文件、发网络请求。万一里面藏着删你硬盘的命令呢?

新版本加了个叫security.installPolicy的东西。这个政策说白了就是:当有人试图安装一个插件或技能的时候,OpenClaw会先把它下载到一个临时区域(这叫“staging”),然后去执行一个你事先设定好的、可信的本地命令。这个命令会检查这个插件的内容,然后回答“可以装”或者“不许装”。只有拿到“可以装”的回答,它才会真正把东西挪到正式目录里。

最关键的是“fails closed”——如果这个检查命令不存在、没配好、或者执行失败了,那就默认“不许装”。这就像你让保安去查来访者身份证,如果保安没来上班,那就直接关门不放人。绝对不会出现“保安不在所以随便进”的荒唐事。这招一下就把安全等级从“信任插件作者”提升到了“信任你自己设定的审核策略”。尤其适合企业或者那些把OpenClaw跑在重要服务器上的用户。

而且插件和ClawHub的安装变得更“皮实”了。ClawHub是OpenClaw的插件市场概念。现在它会把GitHub上的某个技能精确到一个特定的commit(就是代码版本的那一串哈希值)上,钉死它。这样你哪怕过三个月再装同一个技能,装的也是当初那个版本,不会因为作者后来了个破坏性更新就炸了。同时,安装记录也不再是随便写个文本文件,而是放进了SQLite数据库里。这样你以后想更新、想修复一个装坏的插件,都有据可查。以前你可能得手动去删文件夹、改配置,现在可以用命令直接说“把这个插件恢复到上一个好用的版本”。这些改进单个看都不起眼,但合在一起,你的OpenClaw就从“狂野西部”变成了“有派出所的城镇”。

跟机器人聊天终于不尴尬了:Matrix和QQBot的社死现场修复

你有没有遇到过这种情况:你在QQ群里问一个AI机器人问题,它噼里啪啦回复一大段,结果里面全是“”这种乱七八糟的标签,或者干脆就是模型在自言自语“我应该这样回答用户……不对,我应该那样……”——你看到的不是答案,而是AI的脑内小剧场。以前的QQBot插件就会干这种事儿,因为它直接把模型原始输出扔到QQ里了。

这次修复(#89913, #90132)专门加了一层“剥壳”逻辑。它会在把消息发给QQ之前,扫描一遍模型输出的内容,把所有像这种用来做内部推理的脚手架标记以及它们包裹的内容,全部删掉。只把干净、完整的回答送出去。这下用户看到的就是“今天天气是晴天”,而不是“用户问天气,我需要先查API……API返回晴天,我应该说晴天今天天气是晴天”。这种社死现场一修复,你机器人的口碑立刻就从“人工智障”变成“靠谱助手”。

再说Matrix。Matrix是一个去中心化的聊天协议,类似电子邮件但用于即时通讯。OpenClaw对接Matrix的时候,之前有两个特别尴尬的毛病。第一个是语音消息。你发一条语音过去,它其实是想先转成文字再处理。但以前的流程里,语音转录发生在“检查你是否被允许跟机器人说话”之前。这就好比你给一个不接待外人的公司打电话,接线员先听你说完五分钟事由,然后才说“我们不管这事儿”。浪费感情。现在改成了先检查你是否在允许名单里(mention gating),如果不在,直接拒绝,根本不会触发语音转录。效率高了,也不会浪费你的转录API配额。

第二个更麻烦:Matrix的“线程”(thread)。你在一个房间里回复某一条消息,Matrix本应把它作为一个子对话(thread)保存。但以前的OpenClaw会把所有消息都压扁成同一个对话列表,完全丢失了“这条消息是回复哪一条”的关系。这就导致你明明在聊A话题,机器人接了B话题的上下文。新版本通过“Matrix relations pagination”这个技术,正确地读取和回复线程里的消息。而且它会保留replyread的状态,机器人知道“我刚看过那条消息了,现在这条是接着它说的”。这样一来,Matrix上的对话体验就从“一锅粥”变成了“文件夹分类”,清晰得不行。

这些聊天适配器的修复,价值在哪?在于OpenClaw不再仅仅是一个“模型到聊天软件”的转发器,而是一个懂礼貌、懂上下文的“外交官”。它知道什么该发、什么不该发,知道你在跟它说哪句话。这为后面更复杂的多轮对话、工具调用铺平了道路——因为如果连基本的回复关系都乱了,后面什么MCP、什么工具调用,全都白搭。

脑子不乱转了:Anthropic模型会话恢复更稳了

现在很多人用OpenClaw去调用Anthropic公司的Claude模型。Claude有个很牛的功能叫“extended thinking”——你可以让它思考很久、输出很长的推理过程。但这个功能有个要命的弱点:它依赖于“提示缓存”(prompt-cache)。啥叫提示缓存?就是你给Claude发了一大段系统指令、历史对话、工具定义,Claude会把这些内容缓存起来,下次你再问同一个会话里的下一个问题,就不用重新传一遍,省流省钱。

问题在于,这个缓存会过期。或者你的网关(Gateway,OpenClaw里负责跟模型API通信的那个组件)重启了。这时候Claude正准备开始输出它的长思考,突然发现“哎?我存的缓存呢?”然后它就报错。以前OpenClaw碰到这个错误,直接会话就挂了。你得手动重来,之前思考到一半的内容全丢了。

新版本(#90667, #90697)怎么修的呢?它让流式输出的开始事件等待一个叫message_start的信号。这个信号是模型真正开始输出内容的标志。在等到这个信号之前,如果出现了因为缓存过期导致的“pre-generation signature error”(生成前签名错误),那就触发已有的恢复重试机制。这个恢复机制会重新发送整个会话的历史(不带缓存假设),让Claude重新开始思考。最关键的是,整个过程对用户来说几乎是透明的——你可能只感觉它多转了几圈,但最终答案还是出来了,会话没断。

还有一个更隐蔽的坑:MCP(Model Context Protocol,模型上下文协议)工具返回的结果。Anthropic模型要求工具返回的内容必须是纯文本或者特定格式的图片。但MCP协议允许工具返回很多稀奇古怪的东西,比如resource_link(资源链接)、resource(资源本体)、audio(音频),甚至格式错误的图片。以前OpenClaw拿到这些东西,二话不说就往模型会话历史里塞,结果Anthropic那边直接返回HTTP 400错误(坏请求),整个会话历史就“中毒”了——后面的对话全没法进行。

这次在“materialize boundary”(把工具返回值变成模型能吃的格式的那个边界)加了一个非常强硬的转换层。它会检查返回的每一个块(block)。如果是resource_link,就把它变成一段文字描述“这里有一个资源链接:xxx”。如果是audio,就变成“这里有一段音频,时长xx秒”。如果是坏图片,就尝试修复,修不好就变成文字说明。总之,绝对不让任何非文本非标准图片的东西进入模型历史。这个修复(#90710, #90728)不仅救了Anthropic,也救了所有严格遵守输入格式的模型。从此以后,你的工具可以随便返回各种花里胡哨的MCP内容,OpenClaw会在门口把它们统统“安检”一遍,只放行合规的。

底层越稳,上面越浪:数据库、安装记录和配置兜底

你有没有遇到过这种情况:你给OpenClaw配置了好几个认证方式(比如用GitHub登录、用Google登录),换了一台电脑,这些登录信息全丢了,又得重新授权一遍?以前的OpenClaw把认证信息(auth profiles)存在哪?可能是在内存里,或者是一个脆弱的JSON文件。一重启就丢,一升级就乱。

从这版开始,认证配置挪到了SQLite数据库里。SQLite就是一个小型但极其可靠的关系数据库,你家浏览器、手机APP很多都用它存数据。一旦进了SQLite,读写都有事务保证,不会写到一半断电就文件损坏。而且你可以手动备份这个数据库文件,换机器的时候拷过去就行了。

同时,前面提到的npm插件安装记录,也存到了SQLite。而且这些记录里还包含了“trusted pins”(可信的版本钉)。什么意思?你装一个插件的时候,会记下它来自哪个GitHub提交。以后你想更新,OpenClaw会先看看这个新版本是不是也经过了同样的安全检查,以及它是不是同一个作者的合法更新。那些“prerelease fallback integrity checks”(预发布版本的回退完整性检查)也得到了加强。以前如果你装了一个预发布版(beta版),下次再装正式版的时候,可能会把beta版的某些校验和(integrity hash)错误地带到正式版里。现在新版会严格区分,不会让脏数据污染干净数据。

另外,那个security.installPolicy配合SQLite记录,形成了一个完整的审计链条。谁、在什么时候、试图安装什么插件、被允许了还是拒绝了、用的是哪个commit——全都能查出来。这已经不是简单的安全开关了,这是给你配了个黑匣子。

还有几个服务层面的小修小补,但合起来特别重要。比如“cron legacy JSON stores migrate during doctor preflight”——以前如果你用cron(定时任务)跑一些自动化脚本,那些脚本可能往老的JSON格式里写状态。现在你在运行doctor(OpenClaw的诊断命令)的时候,它会自动把这些老数据迁移到新格式。再比如“service env placeholders no longer mask state-dir secrets”——服务(比如systemd服务)的环境变量文件里如果用了占位符(比如{state_dir}/secrets.json),以前可能会把这个占位符当成字面路径,导致找不到真正的密钥文件。现在它会正确替换。还有WhatsApp的启动等待和禁用账户的清理——以前WhatsApp启动太快,网络还没准备好就挂了;现在会等待一下。如果你在配置文件里禁用了某个WhatsApp账号,重新加载配置的时候它会彻底关掉,不会留下僵尸进程。

这些底层改进,单个拎出来都不够“炸”,但它们就像房子的地基里的钢筋。你看不见,但没它们,上面所有的“Parallel搜索”、“MCP工具块转换”、“Matrix线程修复”全都站不稳。尤其是那个SQLite存储,它为将来更复杂的状态管理、多用户支持、甚至分布式部署打下了基础。

别让机器人瞎转圈:Agent和工具的循环更干净

OpenClaw最核心的能力是“Agent”。Agent就是一个能自己决定“我下一步该调用什么工具”的AI程序。它会循环:想一下 -> 调用一个工具 -> 得到结果 -> 再想一下 -> 再调用……直到它觉得任务完成了。这个循环要是出bug,你的Agent就会变成“复读机”或者“死循环”。

这次好几个修复都是针对这个循环里的“坑”。第一个是MCP的“lease timestamps”(租约时间戳)。MCP里有些工具是有“租约”的,比如某个资源只允许你在接下来5分钟内调用。以前Agent可能拿到一个已经过期的租约还傻乎乎地去用。现在每次调用前都会检查时间戳,过期就直接放弃,并告诉模型“这个工具现在用不了,换个方式”。

第二个是“prompt-cache tool names”。提示缓存不仅缓存大段文字,还缓存工具的定义。如果工具的名字在缓存里和实际有细微差别(比如多了一个下划线),模型就会调用一个不存在的工具。现在在做缓存的时候,会强制把工具名字标准化,确保缓存里的名字和实际注册的名字完全一致。

第三个是“local tool catalogs and unreadable dynamic tools”。你的OpenClaw可能有很多工具,有些是本地写死的,有些是动态生成的(比如从MCP服务器发现)。如果某个动态工具突然变得不可读了(比如文件权限变了),以前的Agent可能会反复尝试调用它,每次都失败。现在会在加载目录的时候就直接标记为“不可用”,Agent根本看不到这个工具,自然不会去调用。

第四个是“owner-only HTTP tools”。有些HTTP工具(通过Web API提供的工具)只允许创建者(owner)调用。比如一个管理工具只能让管理员执行。以前如果普通用户问了一个问题,Agent有可能自作主张去调用这个管理工具,然后被API拒绝。现在在Agent规划阶段就会检查工具的“owner”属性,如果不是当前会话的用户,直接不在候选列表中。

第五个是“provider catalog metadata”。不同的AI模型提供商(OpenAI、Anthropic、Google等)返回的模型列表格式不一样。以前Agent读这个列表的时候,可能会把“gpt-3.5-turbo”和“gpt-3.5-turbo-16k”当成两个毫无关系的模型。现在会保留它们的家族关系和元数据(最大上下文长度、价格等)。这样Agent在决定用哪个模型的时候,能做出更明智的选择——比如长对话自动切到16k版本。

所有这些修复,方向只有一个:让Agent的决策过程更干净、更可预测、更安全。你不会再看到一个Agent因为一个过期的租约就无限重试,也不会因为一个不可读的工具就卡死,更不会让普通用户偷偷调用了管理员的工具。这些看似琐碎的边界条件,恰恰是Agent从“玩具”走向“工具”的关键。因为真实世界里,网络会断、权限会变、缓存会过期,好的Agent必须能优雅地处理这些“意外”,而不是崩溃或者发疯。

再也不用频繁重连了:macOS和升级路径的最后一公里

最后咱们说两个听着不大但特别解气的小改进。一个是对macOS用户。OpenClaw在macOS上有一个“node mode”(节点模式),可以跟桌面应用(companion app)配合。以前有个特别烦人的bug:你明明连着一个健康的、直接到网关的会话(direct Gateway session),它还是会偷偷地自己重连一下,导致你的companion app会话ID变了,有些状态就丢了。新版(#90668, #90815)修复了这个逻辑,它会检测当前会话是否健康,如果健康就直接用,绝不搞“自我感动式”的重连。就像你打电话信号满格,它突然给你挂断再重拨一样——这种事再也不会发生了。

另一个是升级路径和WhatsApp的启动逻辑。升级OpenClaw的时候,最怕的就是老配置不兼容,一升级就炸。新版在doctor preflight(升级前的预检)里会主动迁移老的cron任务存储的JSON格式。WhatsApp那边,以前一启动就狂连,连不上就报错退出。现在加了一个有边界的等待(bounded wait),它会等几秒,网络好了就连,不好就等下次重试,不会阻塞整个OpenClaw的启动。而且如果你在配置文件里把WhatsApp账号的disabled设为true,重新加载配置时,它会彻底撕掉这个账号的所有连接和会话,不会留一个半死不活的进程在后台吃内存。

这些“最后一公里”的打磨,说明OpenClaw已经过了“能不能跑”的阶段,到了“跑得爽不爽”的阶段。版本号里的“每月补丁计数器”也证明了这一点——他们愿意为上一个版本的稳定发布单独打补丁,而不是逼你滚动更新到最新版。这对生产环境太重要了。



总结

OpenClaw 2026.6.5版本发布,核心升级包括:内置Parallel并行搜索、安全安装策略(security.installPolicy)、Matrix语音与线程修复、Anthropic/MCP会话恢复加固。新版采用年.月.补丁版本号。提供零配置免费搜索,插件安装需本地命令审批,修复QQBot模型思考泄露和MCP富内容导致模型400错误,增强SQLite存储认证与安装记录,优化macOS连接与WhatsApp启动。

并行搜索加上更安全的安装策略是一个很好的组合,因为OpenClaw可以更快地发挥作用,而不会让插件变成信任陷阱。