
关注腾讯云开发者,一手技术干货提前解锁👇
从 v2026.8.1(16,000+ PR、933 位贡献者)看个人 Agent 运行时如何从「能跑」走向「可托付」。

2026 年 8 月 31 日,OpenClaw 发布了 v2026.8.1,官方别名是 OpenClaw 2.0。这个版本合并了一万六千多个 PR、来自 933 位贡献者。而在此之前的七周,项目几乎没有发过版本;再往前推 230 天,它发了 106 次。
Changelog 正文分三节:Highlights 8 条、Changes 约 130 条、Fixes 超过 200 条(原文末条截断)。表面看这是一次功能大版本:重建的 Web 控制台、全新的引导流程、会话搜索、云端会话、交互式组件。
把 Fixes 逐条读完,主题就变了:这一版在兑现,把过去半年高速迭代攒下的不确定性收拢成可预期的行为。这篇文章不列功能,只回答三个问题:架构上换了什么,为什么必须换,代价是什么。
六个必须分清的概念
OpenClaw 的术语体系有一套自己的含义,直接读 changelog 容易误判。先对齐:


2.0 的整体形状:Gateway 居中,左侧是多种接入客户端,右侧是可迁移的执行单元,下方是新迁入的存储层。会话不再绑在某一台机器上,Gateway 可以把它调度到任意执行单元,工作区跟着一起走。
会话:从进程内的状态,变成可迁移的资源
这是 2.0 最大的一条变化,其他变化都建立在它之上。会话在三个维度上被解耦。
「Sessions beyond your Gateway」允许把工作放到配对设备或云 worker 上执行,工作区跟着会话一起走。热机器和项目种子可以被后续云会话复用。配套的生命周期策略是:空闲一段时间后挂起 worker,下一条消息时重新供给,会话与已协调的工作区都保留。
进度卡片在重载后依然存活,跨 web / macOS / iOS / Android / dashboard 保持同一张卡。会话重置的默认值也改了:没有配置重置策略时,不因空闲或跨天而重置。还有会话分支,可以从一条已持久化的用户消息回退或分叉,早先的对话路径仍然保留。
共享会话引入了可见性与成员关系:可以设置谁能查看、谁能建议、谁能直接参与;团队操作员角色(Team operator roles)给已验证用户分配具名角色,限制其可访问的 agent、他人的会话与操作范围;共享 Gateway 档案则管理显示名、头像与在线状态。

会话迁移:会话不再是 Gateway 进程里的状态,而是一个带着工作区一起移动的对象。动画循环演示「发起 → 迁移 → 挂起保留」三个阶段。
判断 三条合起来看,会话已经具备一种资源的全部特征:可寻址、可迁移、可共享、可快照、可恢复、有访问控制。聊天机器人只在乎这一轮说什么,作业运行时还必须回答「这个任务现在在哪、谁在看、断掉之后从哪继续」。 会话一旦成为资源,UI 就退化成它的一个观察者。下一节讲这件事。
2.0 把会话与 transcript 搬进了 SQLite,配套给出 openclaw backup sqlite 的 create / list / verify / restore 全套能力。收益是实打实的:会话搜索、并发安全、快照恢复。代价是这一版 Fixes 里密度最高的一组问题,几乎全部由这次存储更换直接引发:
changelog 中与 SQLite 化直接相关的修复(均为原文条目)

风险 回滚不是免费的。官方要求:回退到旧的文件存储版本之前,必须先由当前版本 CLI 恢复已归档的旧 transcript 产物。迁移之后新建的会话,在旧版本里看不到。所以升级前的备份必须是能 restore 的,复制文件不算。 打算换会话存储层的团队都一样:先建回滚路径,再切存储。
控制面:UI 退化为 Gateway 的一个客户端
官方给了两个数字:在 mocked Gateway + 50ms HTTP/1.1 延迟的模拟中,默认会话的 JavaScript 请求数从 140 降到 45,启动时间从约 1.6 秒降到 575 毫秒。

请求收敛:上面 30 个点与下面 10 个点,是同一次默认会话发起的请求数对比。横条以同一速度揭示,长度差就是时间差。测试条件是 mocked Gateway + 50 ms HTTP/1.1 延迟。
请求数掉三分之二,只能由数据获取模型的重做来解释,此前几乎可以确定存在大量 N+1 拉取与重复初始化。changelog 里留了对应的注脚:启动响应性一条写着「避免重复的 CLI 插件准备与重复的 provider 目录规划」,运行准备性能一条则提到复用目录策略、路由查找、提示上下文准备与引导统计,减少重复的 SQLite schema 元数据扫描。
重建后的 Control UI 把会话放在中心,旁边是可停靠的面板:工作区文件编辑器、git 支持的 Changes 面板(带 PR 状态与 CI 摘要)、浏览器面板(元素检查与截图批注)、全屏 Web 终端。
文件编辑器不能新建或删除文件;Changes 面板是只读的;Create PR 会把你交给 GitHub,而不是在 OpenClaw 内部提交。
这三条限制被原样写进了文档。这是有意的架构克制:OpenClaw 不打算成为 IDE,也不打算成为 Git 客户端,它只想在会话旁边提供够用的上下文。越界的代价是开一个自己打不赢的战场。
当 web、macOS、iOS、Android、Wear OS、Linux 托盘、甚至 Telegram Mini App(/dashboard)都是同一个 Gateway 的客户端时,一致性问题会从「体验瑕疵」升级为「正确性缺陷」。这一版 Fixes 里那些看起来很底层的条目,正是这条架构路线的直接后果:
判断 展示层彻底客户端化之后,Gateway 就是唯一真相源,UI 之间任何「本地状态」都是潜在 bug。这条路线一旦选定,时钟同步、事件序列、重连语义就不是「有空再修」的东西,必须一次做对。2.0 把这批债一并还了。
能力供给:核心变薄,依赖外置
2.0 把一大批官方 provider 从核心拆出去,改成按需安装的独立包:第一批是 BytePlus、ComfyUI、Mistral、NovitaAI、OpenCode、Synthetic、Volcengine、Vydra、Xiaomi,第二批是 Cohere、Meta、DuckDuckGo 搜索、Voyage embeddings、iMessage。只有 OpenCode Go 仍然内置。
留下哪一个是信号。内置的判定标准已经从「是否常用」变成了是否与 Agent 执行循环强耦合。模型接入属于后者。

能力外置:九个 provider 从核心弹出为独立包。中间那个会周期性变成「缺失」,随后由 update repair 恢复。这个闭环必须和外置一起交付。
能力外置的分量比「模块化」重。它把一部分正确性责任从代码转移到了运维,所以下面四件事必须同时交付,缺一件外置就是灾难:
openclaw doctor --fix 负责恢复缺失的已配置包--force;ClawHub、内置、官方目录与可追踪更新来源跳过该警告但保留能力同意;ClawHub 安装前显示可用的安全审计信息外部 skill 引用(skills-sh:)也一起收敛:不再从源 registry 直接下载,改为走 ClawHub 的 commit-pinned 镜像产物并施加常规安全检查。
2.0 的破坏性变更与迁移动作

SDK 那一条的措辞值得注意:它是门控,本次并不移除。官方保留了几个公共 helper 的调用方名称(resolveStorePath、resolvePluginProviders、resolveThinkingDefaultWithRuntimeCatalog 接受 loadModelCatalog),同时明说这些修复不免除迁移要求。给插件作者的窗口只剩一天。先修兼容、再催迁移、最后才真正移除,这种三段式处理公共 API 演进算是体面的做法。
安全:一条信任边界,并且明确声明它不是什么
2.0 的安全设计可以拆成三层。最有价值的反而是它对各层「不能做什么」写得有多直白。
ask=off + askFallback=deny 下直接 fail closed;自动化授权针对「精确操作」授予一次,job 或 operation 变更时需要重新授权;被拒绝的插件请求会明确告知 agent 已关闭,不得重试或再次提请审批。
凭证的最短路径:明文只存在于用户输入到 Gateway 之间,进入 Gateway 后立刻变成不可读的引用;向下通往模型上下文的那条路,在入口处就被截断。
这组数字在 changelog 里检索不到。它的原文在官方 Security 文档的 Prompt injection 章节:2026 年的一次众测竞技场,272K 次攻击,覆盖 41 个 agent 场景,判定标准是「既执行了有害动作、又向用户隐藏了它」。成功率是:Claude Opus 4.5 为 0.5%,Sonnet 4.5 为 1.0%,Haiku 4.5 为 1.3%,Gemini 2.5 Pro 为 8.5%。

出处:docs.openclaw.ai/gateway/security 的 Prompt injection 章节。截图三段依次是攻击的定义、272K 竞技场的口径与成功率、官方自己写下的两条保留条款。
数据解读 这两组数字要放在一起读。8.5% 与 0.5% 之间差 17 倍,说明模型选型确实是一道有效缓解。但同一页紧接着警告:自适应的人类攻击者,对最先进防御的成功率仍超过 80%。 所以模型选择只是第一道缓解,不是防线。任何依赖模型自律的方案都不成立,硬执行层只能是工具策略、执行审批与沙箱。这也解释了 OpenClaw 为什么把自动化的默认授权设计成「一次性、针对精确操作、变更即失效」:它不指望模型判断,只做机械的作用域约束。
共享会话与团队操作员角色的定位是协作控制,不是租户隔离,也不是安全边界。多人共用一套 Gateway 时,隔离粒度到不了租户那一层。
Incognito 带着同样的限定。它管的是本地留存,管不了对外发送:
Incognito 默认关闭,会话只留在进程内存里。但消息仍然会发给模型 provider。
两条声明直接排除了两种用法:共享会话做不了多租户隔离,Incognito 保证不了消息不出本机。想这么用的人不必自己试一遍,文档已经给了否定答案。
记忆与自学习:把上下文变成有所有权的数据资产
这一组默认值的改动密度很高,方向也一致,全部是「默认开启」:
配套的还有所有权机制:能查到哪些会话贡献了某条记忆,能把选定的来源排除在准入之外,也能用 openclaw memory forget 删掉可识别的派生记忆,源 transcript 则完整保留。Skill Workshop 那边有可恢复的评审流、/learn 时复用已有 skill,以及由 Gateway 系统级自动化驱动的定期合集评审。

记忆的可撤销:三条记忆都带着回到源会话的 provenance 连线。中间那条被 memory forget 删除时,左侧的源 transcript 只是亮一下,内容没动。
判断 这一组的共同点是可撤销。默认开启、显式关闭、来源可追溯、可定点删除,四件事凑齐,记忆才算数据资产而不是缓存。 很多 Agent 产品只做前两件,用户想删掉某段记忆时唯一手段就是清空全部。memory forget 加上「保留源 transcript」,才是记忆功能敢默认开启的前提。
四类反复出现的可靠性模式
把 200 多条 Fixes 当成一个整体看,会浮现出四类模式。这不是零散的 bug 修复,是一套已经成形的工程规范。
从 Fixes 中提炼的四类可靠性模式(均为 changelog 原文条目)


同一个分岔口:ask=off + askFallback=deny 时,无法生成可强制执行的 allowlist 计划就直接拒绝,而不是发一个注定超时的审批请求。
判断 四类模式回答的是同一个问题:系统失败时应该是什么样子。静默降级、可观测地失败、还是可控地恢复。 2.0 的答案落在后两者。这也是我觉得这个版本最值得读的地方。功能列表可以抄,这套规范抄不来,它只能从足够多的真实故障里长出来。
这不是一次无条件的升级
2026.9.1-beta.1,说明稳定版之后还有未收敛的分支更要紧的是节奏本身。七周停摆之后一次性合入 16,000+ PR,回归风险客观存在。社区在此前的 v2026.7.1 上报告过自动更新卡住的情况,官方也建议 Cron 较重的生产 Gateway 先在 staging 验证 SQLite 迁移。changelog 顶部的更新提示同样不客气:如果自动更新失败,用本地的 coding harness 协助完成更新、诊断迁移错误并验证 Gateway 能正常启动。
建议的升级顺序:
# 1. 先备份配置与状态(要能 restore 的备份,不是简单复制) openclaw backup sqlite create # 2. 升级前先体检,看清会迁移什么 openclaw doctor # 3. 升级 openclaw update # 4. 执行破坏性迁移(OpenProse 清理、codex/* → openai/* 路由) openclaw doctor --fix # 5. 验证 Gateway 正常启动,重点看模型路由与 SQLite 会话 openclaw status
结论 适合现在升级:全新安装 / 重新引导、以 Control UI 为主要工作面、小团队共享一个 agent、移动 + web 组合使用者。 建议先在 staging 验证:Cron 密集的生产 Gateway、依赖受影响 provider 的部署、以及任何需要保留旧版本会话可读性的场景。
口径说明:Changelog 原文未标注发布日期,发布日 2026-08-31 来自官方发布页与第三方发布追踪;条目数为对 changelog 的粗略统计,原文 Fixes 末条被截断,实际条目数更多。本文中的架构判断与模式提炼为作者分析,非官方表述。
-End-
原创作者|凌弘毅