欢迎光临
我们一直在努力

OpenClaw v2026.10.3 的 52 条修复里有 9 条卡在「自举门」上:9/17.3% 的升级修复,只有先装上修好的升级器才拿得到

2026 年 10 月 14 日北京时间凌晨,OpenClaw 的下载页出现了一个新版本:v2026.10.3。它在 GitHub 上的正式发布时间是 2026-10-13 21:49(北京时间,UTC 13:49:25),距上一个稳定版 v2026.10.2 只有 1 天 8 小时 14 分。

如果你只用一句话概括这个版本,那会是:「它把升级失败这件事本身当成 bug 修了,而且修得很彻底」——但更值得注意、也更容易被忽略的事实是:在这个版本 52 条修复说明里,有 9 条明确写着「必须先装上修复过的更新器,这个修复才生效」。

这句话看起来像一条不起眼的免责说明,但它其实划出了一条真实的分界线,把 OpenClaw 的用户分成了「已经能升级的人」和「正因为升级不了才需要这个版本的人」。本文就从这条分界线开始。

(本文全部版本号、发布时间、PR 编号、贡献者统计均取自 OpenClaw 官方 GitHub Releases API 与仓库 CHANGELOG 原始文件,抓取时间 2026-10-14 06:00-06:10 北京时间。)

一、先看版本规模:90 commits、79 PR、99 位贡献者

v2026.10.3 的发布页头部写着 90 commits · 79 pull requests · 99 contributors。而仓库里的 CHANGELOG 文件在正文开头写的是 79 pull requests, 8 direct commits, and 97 contributors。

这个差异值得说明一下,而不是简单当成矛盾:90 commits 与 8 direct commits + 79 PR 在「直接提交 vs 走 PR 合并」的拆法上并不等价,contributor 99 与 97 的差通常来自是否把 release 自动化账号计入。GitHub 发布页统计的是最终落到 commit 图上的全部作者,CHANGELOG 是发布脚本按自己口径写的。两个数字都没有写错,只是口径不同——本文引用时一律标注来源,不做合并。

我们实际解析 CHANGELOG 文件得到的是:52 条修复条目、10 个分类小节、62 个唯一 PR 链接。这 52 条按官方分类落在这 10 个桶里:

分类小节 说明
Updates and Maintenance 升级与维护,本版本最大的一块
Models and Providers 模型与供应商接入
Plugins and Integrations 插件与集成
Native Apps macOS 原生应用
Messaging 消息通道
Security and Privacy 安全与隐私
Memory 记忆文件
Automations and Scheduling 自动化与调度
Quality-of-Life Improvements 体验优化
Other Bug Fixes 其他修复

52 条里,Updates and Maintenance 一个小节就占了 23 条,接近全版本的一半。这说明这一版的工程重心非常明确:不在加功能,而在把「升级/修复/恢复」这条链路本身修通。

OpenClaw v2026.10.3 官方 GitHub Releases 发布页
OpenClaw v2026.10.3 官方 GitHub Releases 发布页:标题、Latest 标记、90 commits / 79 pull requests / 99 contributors 规模、Release SHA 59cb447、npm integrity、6 条 GitHub Actions 发布链与 21 个 Assets 清单(含 sha256 校验和)。抓取时间 2026-10-14 06:05 Asia/Shanghai,Chrome headless 1440×2400 实拍。
OpenClaw 仓库 CHANGELOG/2026.10.3.md 原文页
OpenClaw 仓库 CHANGELOG/2026.10.3.md 原文页:左侧 CHANGELOG 目录与 2026.10.3.md 高亮,正文可见 Updates and Maintenance 分类下「Blocked updates」「FreeBSD package recovery」「pnpm 12 launchers」等条目及其「requires the fixed updater」门控措辞原文。抓取时间 2026-10-14 06:06 Asia/Shanghai,Chrome headless 1440×2400 实拍。
docs.openclaw.ai/install/updating 官方升级文档页
docs.openclaw.ai/install/updating 官方升级文档页:右侧目录可见 Recommended: openclaw update、Recover an unfinished publication after a new release、Recover a completed receipt with an older updater、Unfinished publication and rollback 三个自举门对应恢复小节。抓取时间 2026-10-14 06:06 Asia/Shanghai,Chrome headless 1440×2400 实拍。

二、核心发现:9 条修复卡在「自举门」上

这是本文最想讲清楚的一点。

我们逐条扫描了 52 条修复说明的原始英文文本,筛出所有带有这类措辞的条目——「requires the fixed updater to be installed before it starts the upgrade」(必须先装上修复过的更新器,升级才会开始)、「must already contain this fix」(更新器必须已包含此修复)、「older updaters need the manual installation or recovery first step」(旧更新器需要先走手动安装或恢复步骤)。

结果是 9 条。占全版本 52 条的 17.3%。它们分别是:

# 修复条目 PR 门控措辞
1 Blocked updates(被阻塞的升级) #168388、#169038 已被阻塞的旧更新器需先手动恢复
2 FreeBSD package recovery #168775 由修复后的更新器生成的恢复助手才生效
3 Candidate checks with older updaters #170195 面向「旧更新器 + 新候选版本」场景
4 Windows update and recovery paths #169292、#169397 需修复过的更新器先装好
5 pnpm 12 launchers #170131 更新器须已含此修复,否则需手动修复
6 Busy state databases #168210、#169283 驱动侧改进,须由修复后的更新器启动升级
7 Unrelated dependency copying #168927、#169551 启动升级的更新器必须已含此修复
8 Configured update memory limits #168889 须在升级开始前装上修复版
9 Plugin package repairs #170339 同上,修复包保存依赖修复版

把这份表反过来读,含义就清楚了:修复「升级器」的 bug,本身需要先有一个已经修好的升级器。

这是一个自指问题,工程上叫自举(bootstrapping)门。它不是疏漏,而是有意的安全设计——因为更新器要替换自己、要在替换过程中保留恢复记录、要在替换失败时可靠回滚,任何一处写错都可能让用户彻底无法启动。所以面对一个已经卡住、根本跑不起来的安装环境,最稳妥的做法不是让新代码远程自愈,而是拒绝冒险,明确告诉用户「请走手动这一步」。

官方为此在文档里开了一整块专门的分区。在 docs.openclaw.ai/install/updating 页面右侧的目录里,你可以直接看到这几个条目:

  • Recommended: openclaw update —— 推荐路径
  • Recover an unfinished publication after a new release —— 新版本发布后如何恢复一次未完成的发布
  • Recover a completed receipt with an older updater —— 用旧更新器恢复一条已完成的回执
  • Unfinished publication and rollback —— 未完成发布与回滚
  • Updating from chat —— 从聊天里发起升级
  • Inspect FreeBSD service discovery —— 检查 FreeBSD 服务发现

注意第三条 Recover a completed receipt with an older updater:它在描述的正是自举门背后那类用户的处境——「回执(receipt)已经完成、记录已经写好了,但你的更新器版本太老,认不出这条记录,于是拒绝继续」。官方给出的解法不是让老更新器变得聪明,而是提供一个独立的恢复助手:用它保留那条已完成记录,再让原本被卡住的更新器解锁。这是把问题隔离,而不是把复杂度塞进老代码。

三、被门控的 9 条,各自修的是什么

为了让「9/52」这个数字不至于变成一个干巴巴的统计,下面逐条说明它们实际对应的故障场景。

3.1 被阻塞的升级(#168388 + 169038)

这是整个版本的核心。PR #168388 叫「recover blocked updates after completed receipt identity drift」(完成回执身份漂移后恢复被阻塞的升级),改动了 5 个文件,+172/-23 行;PR #169038 叫「unblock updates after lost leases and completed recovery」(租约丢失且恢复已完成时解除升级阻塞),改了 18 个文件,+599/-533 行——是本版本改动量最大的修复之一。

「回执身份漂移」指的是:回执本身的记录还在,但它标识的那个升级对象已经不再是当初那个了(身份发生漂移)。在这种情况下,老更新器会认为「我要恢复的这次升级,我已经记不清它对应的是谁」,于是出于安全拒绝继续——这在设计上是保守正确的,但对用户就是「我卡住了,而且我不知道该干嘛」。修复的方向是让系统能在这种漂移下仍然安全地判定出「这次可以恢复」。

3.2 FreeBSD 包恢复(#168775)

修复后更新器生成的恢复助手,才能修复或退役 FreeBSD 上被中断的 npm 包更新;老助手仍然只能查状态。官方明确划了一条边界:包恢复与「重启 Gateway」或「验证 Gateway」是分开的,恢复完不代表 Gateway 自动就好了。这是把「包」和「服务」两件事解耦,避免用户以为跑完恢复就万事大吉。

3.3 旧更新器下的候选检查(#170195)

一个非常务实的判断:以前只要「Doctor 会去更新版本、setup 或迁移相关的记账信息」,新候选版本就会被拒绝——哪怕这次拒绝并不涉及任何真实的设置修复或实质迁移。修复之后,新候选不会再仅因为「Doctor 顺带要改点记账」就被否掉。#170195 改了 10 个文件,+185/-13 行。

这类修复的价值在于:它砍掉的是大量「莫名其妙被拒」的假阳性拦截,而不是修某个具体功能。

3.4 Windows 路径与恢复(#169292 + 169397)

Windows 8.3 短名、大小写差异、恢复快照「拒绝自己的临时目录」——这些都是只有 Windows 用户才会撞上的怪问题。官方在说明里写得很直白:路径修正需要修复过的更新器在升级开始之前就装好。也就是说,Windows 用户如果正被短名问题卡住,光等 10.3 发布是没用的。

3.5 pnpm 12 启动器(#170131)

原生 pnpm 更新在暂存清理之后会让 openclaw 命令失效,符号链接的全局 bin 目录也受影响。这个 PR 改了 +215/-28 行,属于中等体量。官方给了明确的补救路径:已经坏掉的命令需要手动修复,或在备份后用同一账号、同一全局目录做一次同版本 pnpm 重装。

3.6 状态数据库繁忙(#168210 + 169283)

这一组揭示了升级失败的一个常见误报来源:可选的进度日志仅仅因为数据库短暂繁忙就中止整个升级。修复后,这类可选日志不再有中止权;必选的恢复写入仍然保持强制。同时 update-history 写入阻塞 Gateway 工作的时间也缩短了——也就是说,之前一次升级会连带让 Gateway 的 cron 和清理任务一起卡住。

3.7 无关依赖复制(#168927 + 169551)

升级时会把「不相关的外层安装」的依赖也复制进来,还会扫描 npm-global 里毫不相关的工具包。修复后更新器只保留 OpenClaw 自己的依赖。两个 PR 分别是 +93/-1 和 +72/-22 行。

3.8 内存上限继承(#168889)

使用捕获到的服务设置运行的升级命令,现在会保留配置好的 Node 内存上限,包括你在 shell 里临时改的 memory-only 覆盖值。+116/-12 行。

3.9 插件包修复(#170339)

这是体量最大的一条:+516/-82 行。修复后,替换包可以在数据迁移未完成时先保存下来,让 Doctor 能继续往下走。但官方同时挂了一个非常明确的前提警告:在重启或重新加载替换包之前,必须先跑完 openclaw doctor --fix。这是一个典型的「不能跳步」说明。

四、另一个容易被忽略的点:谁能合并进来

我们统计了 CHANGELOG 里全部 51 次致谢提及,分布非常集中:

贡献者 被提及次数 大致角色(据 PR 标题)
@steipete 26 修复(update/doctor) 主力,几乎覆盖全部 9 条自举门相关条目
@RomneyDa 8 Doctor / 插件 / 更新交接
@obviyus 4 模型与供应商侧(OpenAI、Claude CLI、插件目录)

其余贡献者多数只出现 1 次。也就是说:9 条自举门相关的修复里,绝大部分由同一位维护者主导。这既是效率也是风险信号——读者应当意识到,这个「自举门」不是某个广泛讨论后的架构决定,而是一个人主导的强工程判断。它是否会在后续版本继续演进,目前只能保持观察,不能下结论。

五、发布时间线:这次 prerelease 跑在了 stable 前面

把最近四个版本的发布时间按 UTC 排开,能看到一个此前没有出现过的顺序反转:

版本 类型 UTC 发布时间 北京时间
v2026.10.5-beta.2 预发布 2026-10-12 12:10:48 10-12 20:10
v2026.10.2 稳定 2026-10-12 05:34:44 10-12 13:34
v2026.10.5-beta.3 预发布 2026-10-13 10:00:37 10-13 18:00
v2026.10.3 稳定 2026-10-13 13:49:25 10-13 21:49

三个可以量化的节奏信号:

  • stable → stable 间隔 1 天 8 小时 14 分:v2026.10.2 → v2026.10.3。这是 OpenClaw 近期出现过的最短稳定版间隔之一。
  • beta → beta 间隔 21 小时 49 分:10.5-beta.2 → 10.5-beta.3。预发布链从「一周一档」压到了「一天一档」。
  • beta.3 比 10.3 stable 早 3 小时 48 分发布:这一次预发布跑在了稳定版前面。此前是 stable 先、beta 后。版本号上 10.5 大于 10.3,实际发布顺序却相反。

另外值得注意的是版本号本身:没有 v2026.10.4。10.3 之后直接跳到 10.5 预发布线,说明 10.4 这个号大概率已被预发布链占用或被跳过,不是一个遗漏。

六、发布资产与完整性证据

v2026.10.3 的资产清单完整度是这次发布的硬证据。GitHub Releases API 返回 19 个附件,加上自动生成的两个源码包(Source code zip / tar.gz),网页上显示 21 个 Assets。覆盖平台包括:

  • macOS:OpenClaw-2026.10.3-arm64.dmg(233 MB)、-arm64.zip(302 MB)、-arm64.dSYM.zip(38 MB 调试符号)
  • Windows:-amd64.AppImage(167 MB)、-amd64.deb(47 MB)
  • Extended-Stable 通道:2026.10.3-ibm_64.dmg(239 MB)、-ibm_64.dmg.zip、-ibm_64.zip
  • 证据链:openclaw-2026.10.3-dependency-evidence.zip(294 KB)、-postpublish-evidence.json 及对应 .sha256、-release-manifest.json 及对应 .sha256
  • 各资产均附带 sha256 校验和,发布页可见

完整性链同样完整:release SHA 为 59cb44796b0f1f0daa0e37af8b1495abb45d9bc1;npm 包 integrity 为 sha512-ncl6LntMlf76K39LFhVrDXQTbaGNAG5j52f7PL5P8vIn0knWmCrvfAe9DHMslFq+47HeOWBH2CBYQH8zEb+UAA==;并挂出了 release publish、npm preflight、full release validation、plugin npm publish、plugin ClawHub submission、OpenClaw npm publish 等六条 GitHub Actions 运行链接,以及一份完整的 release evidence 报告。

作为对照,v2026.10.5-beta.3(10-13 18:00 北京)只有 5 个附件,release SHA 为 1808b57b75f056fe4ae247d6cbc1ba68f1717858,其 CI 报告链接同样齐全。资产数量差异正好印证了「稳定版 / 预发布」的通道分层。

七、如果你正在用 OpenClaw,这个版本该怎么判断

基于上面的证据,给出三类读者的具体动作建议。

第一类:升级一直正常的人。可以放心升到 10.3。这一版的主要收益在稳态场景下不明显(修的都是边缘路径),但「Busy state databases」和「Unrelated dependency copying」这两条会让你在长期运行的 Gateway 上少一些莫名其妙的中断,值得拿。

第二类:已经卡在「被阻塞的升级」上的人。这是自举门最扎心的一类——你恰恰最需要 #168388 / #169038,却拿不到它们。官方给的正路是文档里的 Recover a completed receipt with an older updater:用独立恢复助手保留那条已完成回执,再让原更新器解锁。请务必保留 recovery journal(恢复日志)及其权限,不要为了图省事删掉。

第三类:Windows 短名路径 / pnpm 启动器失效 / Busy 数据库导致升级中止的人。这三类同样在 9 条自举门之内,光等版本发布没有用。Windows 路径问题需要先装好修复版更新器;pnpm 12 启动器按官方说明走手动修复或同版本重装(务必先备份);Busy 数据库则要确认你的更新器已经是修复版再重试。

关于 v2026.10.4 是否会补发、10.5 何时转正——目前没有官方时间表,本文不做预测。

八、可信度声明

本文严格区分「已核验事实」与「未核验项」,不混淆两者:

已核验(直接来自官方源,2026-10-14 06:00-06:10 北京时间抓取): v2026.10.3 与 v2026.10.5-beta.3 的版本号、pre-release 标记、UTC 发布时间;v2026.10.3 的 release SHA、npm integrity、19 个附件、21 个页面资产、6 条 Actions 链接;CHANGELOG 原文的 52 条条目 / 10 个分类 / 62 个唯一 PR 链接 / 51 次致谢提及及贡献者分布;12 个 PR 的标题与增删行数(GitHub API 逐个查询);官方文档 docs.openclaw.ai/install/updating 右侧目录的实际条目。

已观察到的口径差异(不做合并): 发布页 90 commits / 99 contributors 与 CHANGELOG 8 direct commits / 97 contributors 的差异,本文如实并列标注。

未核验 / UNKNOWN(本文不做断言): v2026.10.4 是否存在及原因;10.5 预发布线转正时间;9 条自举门修复在真实故障机器上的实际成功率;自举门设计是否会成为长期模式;本文未在任何真实 Windows / FreeBSD / pnpm 12 环境中执行过升级测试,所有场景描述均来自官方文档与 PR 标题,非实测。

未做的事: 未在任何环境执行 openclaw update 或 doctor;未修改任何 OpenClaw 配置;未访问任何认证端点。

九、来源与可核验链接

本文全部链接均为官方源,可直接复核:

  1. OpenClaw v2026.10.3 官方发布页(发布日期 / 90 commits·79 PR·99 contributors / release SHA / integrity / 21 个 Assets / 6 条 Actions)
  2. CHANGELOG/2026.10.3.md 仓库原文(52 条修复说明 / 10 个分类 / 62 个唯一 PR 链接 / 51 次致谢)
  3. docs.openclaw.ai 格式化发布说明
  4. docs.openclaw.ai/install/updating 官方升级文档(自举门对应的三个恢复小节)
  5. docs.openclaw.ai/cli/update/repair-and-recovery 修复与恢复指南
  6. docs.openclaw.ai/cli/update 更新排障
  7. docs.openclaw.ai 更新方式(npm / pnpm / bun 手工替代路径)
  8. docs.openclaw.ai 更新执行机制
  9. docs.openclaw.ai Doctor 状态与会话恢复
  10. docs.openclaw.ai Doctor 工作区与记忆文件修复
  11. docs.openclaw.ai macOS 内置 Gateway 指南
  12. PR #168388 recover blocked updates after completed receipt identity drift(+172/-23,5 files)
  13. PR #169038 unblock updates after lost leases and completed recovery(+599/-533,18 files)
  14. PR #170195 avoid bookkeeping-only repair refusals(+185/-13,10 files)
  15. PR #170170 reclaim retained runtimes blocking npm recovery(+105/-59,11 files)
  16. PR #170218 stop chat updates rolling back during cleanup(+30/-20,2 files)
  17. PR #170339 plugins: unblock repairs while data migrations are pending(+516/-82)
  18. PR #170131 keep pnpm 12 launchers working after native updates(+215/-28)
  19. PR #168210 ride out state database contention instead of failing the update(+492/-78)
  20. PR #169283 update history writes stall Gateway cron and cleanup(+74/-7)
  21. PR #168927 avoid copying unrelated dependencies during updates(+93/-1)
  22. PR #169551 npm-global updates retain unrelated global packages(+72/-22)
  23. PR #168889 preserve service heap limits in update processes(+116/-12)
  24. PR #169292 keep updater workers on the retained runtime under Windows short names(+59/-9)
  25. PR #169397 Windows update and recovery paths
  26. PR #168775 FreeBSD package recovery refuses repair and retire(+81/-17)
  27. PR #169436 doctor: recovery copies miss Canvas and Memory Core files(+185/-4)
  28. PR #170256 doctor: preserve OAuth profiles when legacy auth is unreadable(+290/-211)
  29. PR #169403 macos: authenticate app-hosted first run and speed up setup(+576/-7)
  30. 完整 release CI 证据报告(2026.10.3)
  31. OpenClaw v2026.10.5-beta.3 官方发布页(10-13 18:00 北京 / 5 个附件 / release SHA 1808b57b…)
  32. npm 包 openclaw@2026.10.3
  33. GitHub Releases API 原始数据(v2026.10.3)

本文由 AI 基于官方公开资料整理,所有技术结论均可按上方链接逐条复核。我们未在任何真实环境执行升级测试,涉及具体机器的行为描述请以你本地环境为准。

赞(0)
未经允许不得转载:时间网 » OpenClaw v2026.10.3 的 52 条修复里有 9 条卡在「自举门」上:9/17.3% 的升级修复,只有先装上修好的升级器才拿得到

更好的WordPress主题

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

登录

找回密码

注册