ARTICLE · 998910
OpenClaw 2.0 不只是一次大更新:Agent 开始有了“可用、可协作、可恢复”的运行时
很多 Agent 产品的演示,成功条件很简单:模型能回答,工具能调通,网页能打开。
但真实工作一开始跑,问题就变了:装好后模型到底能不能用?昨天未完成的会话今天还能不能接上?消息发送超时,到底是没发出去、已经发出去,还是只丢了回执?另一个人接手时,接到的是一句摘要,还是带着文件、审批、工具结果与未完成步骤的现场?
OpenClaw 官方将 v2026.8.1 标注为 “AKA OpenClaw 2.0”。这次更新覆盖安装、消息、记忆、Skills、模型、自动化、浏览器与原生应用、插件、安全和可靠性。若只把它理解为“功能更多”,反而会错过更大的变化:它开始把 Agent 当作一套需要被安装、运行、恢复、协作和运维的运行时来处理。
本文不做功能清单,只回答三个问题:它具体更新了什么?这些改进解决了什么运行摩擦?新能力应当怎样使用,又有哪些边界不能被营销话术抹掉?
一、第一步的改进:先确认能工作,再把配置留给以后
个人 Agent 最常见的流失点,不在模型能力,而在第一条消息之前:用户装好程序,面对供应商、API Key、本地模型、权限和入口,最后在“界面亮着但发不出第一句话”时放弃。
OpenClaw 2.0 的 onboarding 改动,重点不只是让向导更短,而是将“可用性验证”前置。它可以复用机器上已经可用的受支持订阅、CLI 登录、API Key 或本地模型;选定模型后,先验证该选择能否实际回答,再保存配置并进入聊天。对本地模型而言,找到模型文件或完成下载,不等于已经具备可用对话条件。
这其实是在安装阶段引入一个最小状态机:
发现候选访问方式 → 验证模型/连接 → 写入配置 → Gateway 就绪 → 允许首次对话任何一步失败,都不应该伪装成“安装完成”。官方 release notes 还强调:可能将未认证 Gateway 暴露到网络的安装,会在发生改动前被阻止;重装准备被取消或失败时,要保护原有可工作的配置。
对用户而言,正确的使用顺序是:先复用已经验证可用的模型访问方式,确认第一条消息能通,再补齐个性化设置和自动化。 对运维者而言,安装也不是一串脚本,而是一次带验证、失败保护与可回退边界的状态变更。
二、重建的 Web 入口:会话不再只是聊天记录
过去的 Agent 控制台常有一个问题:聊天在一个页面,文件在另一个页面,审批在第三个页面,任务状态又在第四个页面。人最后只能在多个窗口间猜测 Agent 到底做到哪一步。
2.0 重建后的 Control UI 以 conversation 为中心:文件、审批、设置和正在进行的工作被放到会话附近;会话可以获得稳定、可读的 URL,并在真实浏览器标签或窗口中打开。创建会话时,用户可以选择 Agent、模型、推理等级、初始消息或图像、workspace 和运行机器;之后再通过分组、转录搜索、状态和批量操作管理工作。
这意味着会话不应再被理解为一段 UI 历史,而应被理解成最小工作单元:
typeWorkSession = {sessionId: string;agentId: string;model: string; workspace?: string;runtime: "gateway" | "node" | "cloud"; parentSessionId?: string;status: "idle" | "running" | "waiting" | "failed" | "archived";};这组字段不是抽象装饰。它决定了谁在做、用什么模型、在哪个工作区运行、是否存在父子任务关系,以及当前该继续等待、处理失败,还是归档。工具调用与结果成对呈现,审批出现在触发它的会话里,后台工作也贴近上下文;这降低了“任务仍在跑、人已经找不到现场”的摩擦。
Session Tools 进一步把这种工作单元开放给 Agent:它们可以在允许范围内管理可见会话、读取历史、跨会话发送信息、启动隔离子 Agent、查询状态。但这里必须划清线:会话工具仍受 tool profile、allow/deny policy、群组、sandbox 与 per-agent policy 约束。能看到会话,不等于可以修改;能创建子任务,也不等于能接管所有工作。
三、连续性不等于“永远记得”:跨天工作与倒带的真实含义
官方 release notes 将会话和转写迁入 SQLite,并强化跨天的连续性。未单独配置重置策略的会话可默认跨天保持打开;Web、macOS、iOS 与 Android 端支持对某条用户消息倒带、分叉和切换分支。
这让“昨天没做完的排查”可以继续停留在同一个工作单元里,而不是今天重新写一遍背景。但它不能被误读为自动恢复一切。
倒带改的是会话转写分支,不会撤销已经写出的文件、已经发出的消息和其他工具副作用。把对话历史回退到某个节点,不能让外部世界跟着回滚。这个边界与 Agent 工程中最基本的纪律一致:文本状态可以重放,外部副作用必须单独记录、确认或补偿。
因此,正确使用方式不是把倒带当“撤销键”,而是用它检查推理路径、比较分支、重新组织后续任务;对已经触发的邮件、写入或工单,仍需要独立的幂等、回执与对账机制。
四、可靠性改进的重点:超时不是失败,未知结果必须留在系统里
2.0 的可靠性更新值得注意,因为它没有把“出错就重试”包装成万能答案。
在支持的消息渠道中,已经被 OpenClaw 接受的消息可跨受管重启保持 pending。对于发送超时且结果未确认的情况,系统保留 uncertain outcome,而不是直接再次发送,避免可能的重复投递。流式回复也开始区分“完整完成”和“中途停止”:已到达的有效内容会被保留;只有在重放安全时才重试或切换到获授权的 fallback。
这背后对应的不是某个 UI 提示,而是一条可靠性原则:
classDeliveryState(str, Enum): ACCEPTED = "accepted" RUNNING = "running" DELIVERED = "delivered" UNCERTAIN = "uncertain"# 超时:未知,不应直接重发 FAILED = "failed"asyncdefsettle_send(message):try: receipt = await channel.send(message)except TimeoutError:returnawait store.mark_uncertain(message.id)returnawait store.mark_delivered(message.id, receipt)TimeoutError 最多说明本地没有在 deadline 前拿到确定结果;它无法证明远端没有接收、没有执行,也无法证明执行已经结束。将结果标记为 uncertain,然后查询、对账或人工升级,通常比盲目重发更可靠。
这也是 OpenClaw 2.0 从“能跑”走向“可恢复”的核心:恢复不是把整段工作重新跑一遍,而是从已确认边界继续,并保留不确定状态供后续处理。
五、A2A 的新能力:不是让两个 Agent 互相聊天,而是让任务有协议边界
A2A 是本次最容易被写成“多 Agent 终于互通了”的功能。但从官方 A2A channel 文档看,它真正值得分析的不是互通,而是任务协议。
外部 Agent 可通过公开 Agent Card 发现 Gateway,并以 A2A 1.0 JSON-RPC 提交经过认证的文本任务。部署者可用 exposeAgents 限制哪些 Agent 出现在 Agent Card;每个受信任 peer 应配置独立 bearer token。调用方可以同步等待,也可以以 returnImmediately: true 获得一个 working task,然后再用 GetTask 查询状态;后续对话可通过 contextId 续接。
最小请求形态如下:
{"jsonrpc":"2.0","id":"request-17","method":"SendMessage","params":{"message":{"messageId":"msg-17","role":"ROLE_USER","parts":[{"text":"Summarize the project update."}]},"configuration":{"returnImmediately":true}}}这里最重要的不是 JSON,而是语义:收到 TASK_STATE_WORKING 并不代表任务完成。调用方需要继续轮询 GetTask,或者与对端另行约定结果通知。
更值得尊重的是它对取消能力的克制。官方文档明确 CancelTask 会被拒绝:已派发的 Agent run 没有插件侧 abort seam;如果表面接受取消、后台却仍在调用工具,就会制造“对方以为停了、系统其实还在执行”的危险状态不一致。
所以,A2A 的正确理解是:它提供了受信 Agent 之间的发现、认证、任务提交、任务查询和上下文续接;它不是成熟的公共 Agent 服务平台。
当前官方边界必须完整保留:A2A 任务是单账号、内存态;暂不支持流式、推送通知和任务取消;认证对端按受信调用方处理,不走常规命令策略决策。不要把它直接暴露成公共端点,更不要把“能调通”偷换成“已经具备跨组织生产服务能力”。
六、共享与接手:交的是带上下文的现场,不是一句“你看一下”
多人协作里最昂贵的成本,常常不是写代码,而是交接:一个人离开后,另一个人只收到一句“你看一下”,却没有 Agent 已经查过什么、工具执行到哪、审批停在哪里、还差什么输入。
OpenClaw 2.0 的共享云会话与多用户 Gateway,为“带上下文接手”提供了一个工作入口:拥有者或管理员可定义只读、提建议、在草稿中修改或直接参与等方式。对接手者而言,看到的不再只是事后摘要,而是工具结果、文件和未完成步骤所在的现场。
但共享不是隔离,协作也不是权限系统的替代。官方边界已写明:opt-in roles 限制的是单个可信 OpenClaw 安装内部的协作,并不等于为敌对租户提供隔离。权限被收回后,界面短暂看似可进入,也不等于 Gateway 仍会授权。Incognito 默认不写入常规转写和自动记忆、Gateway 重启后消失,但模型提供商仍会收到内容,工具仍可能产生外部副作用。
正确用法是先用最小任务验证交接链条:一人发起任务、会话内产生工具结果或审批、另一人以明确角色进入、继续完成并留下工件。不要把“能同时看到聊天”误认为“组织协同已经完成”。
七、插件、权限与备份:运行时变强,也要承认边界更硬
OpenClaw 2.0 的安全改进并非一句“更安全”。它把多个风险点变成更具体的默认约束:网络安装可能无认证暴露时在变更前阻断;审批拥有持久生命周期,首个有效答复终局,重连不能复活已完成请求;受保护凭据可直达受支持目标端,而不必写进模型可见文本;首次从任意来源安装插件要求显式审阅,执行审批超时则 fail-closed。
插件能力越强,来源和权限越不能只靠提示词约束。尤其在尝试新插件时,应至少做到三件事:确认来源、审阅请求的权限和参数、在非关键工作区先验证行为。插件部分操作仍可能需要重启生效;即便命令审批绑定了被审阅的脚本字节,解释器或依赖变化也可能改变实际行为。
在恢复侧,官方提供全量备份与 verify-first staging restore:先验证,再恢复;恢复通过受守护路径进行。SQLite 状态和 Gateway 重启恢复也获得加强。但“有备份”不等于“能恢复”:本地源码改动和 managed dev/ 检出不在该备份边界内,升级前仍需分别处理;更重要的是,恢复路径必须演练。
升级建议同样应当工程化:先运行 openclaw update --dry-run 预演;确认 Node 与包管理器兼容性;将配置、插件和工作区视为迁移对象;升级后再用 Doctor、一次真实会话和一次权限/审批路径验证结果。不要把版本升级当成一次无状态的 npm install。
结语:升级的是运行时,不是替人做决定的机器
OpenClaw 2.0 真正升级的,不是“AI 更聪明”,而是 Agent 开始有了更清楚的运行边界:安装先验证可用性;会话成为可接续的工作单元;消息和流式结果开始区分已确认、失败与未知;A2A 把任务状态和认证带进协议;插件、审批与备份开始更明确地承认风险。
但这不等于所有问题已经自动解决:
共享会话之后,工作能否接手,仍要靠任务、工件和责任归属; A2A 能调通之后,是否能对外开放,仍要看鉴权、隔离、容量与结果确认; 备份能生成之后,能否回滚,仍要靠演练; 插件能安装之后,是否安全,仍要靠来源验证与最小权限。
一套成熟的 Agent 运行时,应当让人更容易把工作跑起来,也更容易知道:它此刻在做什么、失败时停在哪里、谁有权接手、哪些事情不能由“看起来成功”来判断。
官方资料
OpenClaw v2026.8.1(AKA OpenClaw 2.0)release notes:https://docs.openclaw.ai/releases/2026.8.1[1] A2A channel:https://docs.openclaw.ai/channels/a2a[2] Session tools:https://docs.openclaw.ai/concepts/session-tool[3] OpenClaw 2.0 官方文章:https://openclaw.ai/blog/openclaw-2-accidentally[4]
引用链接
[1]https://docs.openclaw.ai/releases/2026.8.1
[2]https://docs.openclaw.ai/channels/a2a
[3]https://docs.openclaw.ai/concepts/session-tool
[4]https://openclaw.ai/blog/openclaw-2-accidentally