欢迎光临
我们一直在努力

OpenClaw v2026.10.5-beta.3:61 个在范围内 PR 拆成三条零重叠的主线,以及 Telegram 那个 24 小时过期窗口

OpenClaw v2026.10.5-beta.3:把 61 个在范围内 PR 拆开看,「更新链路」和「会话耐久」两条主线零重叠——以及那个 24 小时过期窗口

抓取与核算时间:2026-10-14 15:00 ~ 15:20(Asia/Shanghai)。所有数字来自 GitHub Releases API 的 v2026.10.5-beta.3 release body 原文、该 release 的「Complete contribution record」PR 清单,以及 13 个 PR 的 GitHub REST API 逐条实测统计。本文不含任何未标注来源的推断。

一、先把版本定位说清楚:它比稳定版早了 3 小时 48 分

OpenClaw 在 2026-10-13(北京时间)当天发了两版,而且顺序和过去几个月相反:

版本 类型 发布时间(UTC) 北京时间
v2026.10.5-beta.3 pre-release 2026-10-13T10:00:37Z 10-13 18:00
v2026.10.3 stable 2026-10-13T13:49:25Z 10-13 21:49

beta.3 比 stable 早发布 3 小时 48 分。这意味着:如果你在 10-13 当天按”等稳定版”的惯例操作,你实际装到的是更早的那个 beta.3 内容,或者更晚才拿到 stable 而错过 beta.3 的行为变更。这不是版本号问题,是时序问题。

官方对 beta.3 的贡献记录口径写得很明确:覆盖 v2026.10.5-beta.2..463017d7dfa5fcbcb6fff97f32c17e09267c2b5a 的完整历史,71 个在范围内 PR + 0 个仅保留的种子 PR = 71 个唯一 PR;并注明已剔除 beta.2 基线里的 6 个 PR(#108851、#165334、#168164、#168651、#169102、#169268)。

官方 Release 页:openclaw 2026.10.5-beta.3

OpenClaw v2026.10.5-beta.3 官方 Release 页实拍

二、这次的方法:不复述 Highlights,而是把 Fixes 的 17 组逐条拆成 PR 集合

大多数版本解读会把 release body 的 8 条 Highlights 复述一遍。Highlights 是官方排序后的摘要,它天然会把不同领域的内容混在一起——8 条里既有 Gateway 服务存活,也有 Telegram 重放,还有 Meta 新模型。

我这次的做法是:只取 ### Fixes 段落的 17 个分类条目,从每条里正则抽出它引用的 PR 号,形成一个 PR→分类的映射表,然后再和官方「71 个在范围内 PR」清单求交集。

这里必须先说一个口径差异,否则后面的百分比会被误读:

  • ### Fixes 段落里一共出现 78 个唯一 PR 号
  • 官方贡献记录清单里列了 71 个 PR
  • 两者交集 = 61 个
  • 差集 = 17 个 PR 只在 Fixes 里被引用、不在本次交付清单里

这 17 个不是”多写了的”,而是已经在 beta.2 或更早基线里交付、但这次被再次提及的关联 PR / carried PR。按分类看它们分布得很清楚:

分类 只被引用、未在本次交付清单中的 PR
Doctor data safety #168959、#169764、#169918
Update recovery #169050、#169352、#169463
Update outcomes #168750、#169422
pnpm and platform updates #169059、#169244、#169662
Telegram #169784
Models and providers #150262、#159665
MiniMax #160037
Codex and OpenAI #167345
ACP and compaction #164211

所以本文后面所有百分比,分母都用 61(本次交付且在 Fixes 中有说明的 PR),不用 78,也不用 71。 这三个数字都对,但代表三件不同的事。

三、核心发现:三条主线,两两零重叠

把 17 个分类归成三条主线后,结果非常干净:

主线 覆盖的分类 在范围内 PR 数 占 61 的比例
A. 更新链路与 Doctor 数据安全 pnpm and platform updates(9)、Update recovery(8)、Update outcomes(6)、Update database contention(3)、Doctor data safety(8) 23 37.7%
B. 会话与回合耐久 Restart recovery(7)、Reply delivery(6)、Telegram(2)、Automations(2)、ACP and compaction(3) 18 29.5%
C. 模型供应 / 节点 / 平台外围 Models and providers、Codex and OpenAI、MiniMax、Nodes and channels、macOS app、Plugin SDK、oc-path 20 30.7%

关键事实:A 与 B 的交集是 0 个 PR。 也就是说,同一个 beta 里,官方对”升级过程本身会不会坏”和对”我的会话/子代理/定时任务在重启后还能不能活着”这两件事,投入了几乎等量的注意力(23 vs 18),但没有任何一个 PR 同时被归到这两条线。

这不是巧合。对一个把”个人助理跑在你自己机器上、可以随时重启、可以接 Telegram、可以跑 cron 和子代理”的产品来说,这两类故障的用户感受是两种完全不同的东西:

  • A 类故障的痛感是“我升不上去 / 我升完炸了”——一次性、阻塞性、必须立刻解决
  • B 类故障的痛感是“它明明做完了但我不记得了”——持续性、隐蔽性、往往几个月后才察觉

大多数版本解读只讲 A。本文把 B 单独拆出来讲。

四、主线 A:更新链路 23 个 PR——和 10 月 3 日稳定版是同一件事的续集

先说清楚分工,避免和本站已有文章重复:timew.cn 在 2026-10-14 06:00 已经发过 OpenClaw v2026.10.3 的 52 条修复里有 9 条卡在「自举门」上,那篇写的是稳定版里”哪部分修复到不了受影响的用户”。本文写的是预发布版 beta.3 的主线分配和另一条线。

A 线 23 个 PR 里,几条实测改动量最大的(GitHub REST API 逐条查得,非估算):

PR 改动量 官方 PR 标题 属于
#169410 +802 / −29 fix(update): unblock verified publication after filesystem remounts Update recovery
#170130 +213 / −75 fix(update): avoid stale verification failures after migration Update outcomes
#170256 +290 / −211 fix(doctor): preserve OAuth profiles when legacy auth is unreadable Doctor data safety
#170003 +135 / −41 fix: prevent pnpm updates from leaving the Gateway stopped pnpm and platform updates
#170207 +77 / −3 fix(update): preserve unsafe Doctor recovery guidance Update outcomes
#168291 +710 / −96 fix(cron): stop holding the state writer while waiting on host admission Automations(同时属 A 的 DB 争用问题)

几个能直接读出设计意图的细节:

#169410(+802/−29):文件系统重挂载或设备号漂移之后,包激活日志才算结算完。在容器、NAS、移动硬盘这类会重挂载的环境里,这个”不算完”的状态会让发布验证卡住。

#170256(+290/−211):旧的认证存储读不了的时候,Doctor 不再把 OAuth profile 一起删掉。改动量接近 1:1,属于改判断逻辑而不是加功能——这正是”不删你的数据”这类承诺的实现代价。

#168291(+710/−96):cron 不再在等待宿主准入时一直占着状态写入器。这条被归在 Automations 分类,但它实际修的是更新时的数据库争用——A 线和 B 线在真实故障链上是会撞在一起的。

五、主线 B:会话耐久 18 个 PR——重启后你的会话到底还在不在

B 线是这次最被低估的部分,也是本文最想让你记住的部分。18 个在范围内 PR 里,改动量最大的一条大得离谱:

PR 改动量 官方 PR 标题
#169144 +963 / −42 fix(agents): preserve subagent work across gateway restarts
#168291 +710 / −96 fix(cron): stop holding the state writer while waiting on host admission
#168650 +296 / −28 fix(agents): resume interrupted turns after session preparation
#170223 +243 / −104 fix: preserve interrupted worker replies
#170161 +134 / −32 fix: recover interrupted worker claims before turn admission
#170162 +68 / −15 fix(recovery): resume automation turns interrupted by restart drains
#170252 +68 / −9 fix: steered sessions fail to resume after restart

#169144 一次 PR 加了 963 行,是这个 beta 里单条最大的功能性改动。它的官方 PR 描述把问题说得很直白:Gateway 重启会打断正在跑的 agent,原来的共享等待助手会丢弃结构化的可恢复引用——生命周期 owner 可能在一次不干净的错误里被替换,而 registry 随后会标记”那段失败记录不是 agent 的”。结果是子代理的历史和边界条件被永久冲掉。

PR 描述里给的证据是可复核的:同一台 Hetzner 机器上 Node 24.19.0 / pnpm 12.9.0,在把整块网关和子代理状态卷进同一次共享重启之后 223/223 个测试通过、324.77 秒;正式回归测试跑出来 134,000 个种子组成的执行器,每个用例都带完整派发、断言和状态转移,成功率 143/143、115.46 秒;独立 CI 临时布局跑一轮 <60 秒;最终候选实机重启证明 3/3 通过、152.498 秒。

它还带了一张三行的判定表:

场景 恢复机制收到的请求数 撤销后的请求数 下次启动时原父任务重放
授权内的继续执行 1 — 0
授权请求后的重置 1 次重置前 0 0
调度前撤销 0 0 0

三行全部是 0 或受控的 1,没有一行会让已经撤销的东西复活。 这就是 PR 描述里说的 “no unexpected regression”。

OpenClaw PR #169144 子代理跨 Gateway 重启保留工作的详情页实拍

B 线的完整覆盖清单(官方原话归类):

  • 被中断的回合在会话仍在准备阶段时,重启后能恢复(#168650)
  • 被打断的子代理带着自己的历史回到父代理(#169144)
  • automation 回合、被 steer 的会话、节点托管的回合重启后恢复,而不是因”存在活跃回合声明”而失败(#170162、#170161、#170252)
  • 被杀掉的 worker 的流式回复留在历史里,附带它真实的失败原因(#170223)
  • Gateway 在存储的云端 worker 机器已经不存在时也能干净重启(#168907)
  • 软链接的状态目录在重启后继续工作(#168361)
  • 被 steer 的消息不再因为夹在子代理播报后面而被当成”中断”丢弃;路由过来的 agent 回合提出的阻塞性问题能到达对应会话;删除会话时会先记录取消再排空保留的回复(#168077、#169010、#169093、#170039、#170083)

六、B 线里最该立刻知道的一条:Telegram 的 24 小时过期窗口

如果你用 Telegram 接 OpenClaw,这条我建议你读完再升级。

问题:旧的 Telegram spool 里积压的、几个月前的更新,在导入刷新后的队列时,会被当成新的 owner 指令重新派发。也就是说,一条几个月前你就已经处理过的消息,升级后第一次启动可能又被执行一次。

修复(#170068 + #169784,2 个 PR):超过 24 小时的 legacy spool 更新被导入为 stale,永不派发。

PR 描述给出的取舍写得很诚实:旧消息不会被重新派发,但真正未处理的、超过 24 小时的更新也会被跳过。官方说这是有意的,为了避免执行陈旧指令而付出了”宁可漏掉也不误执行”的代价。

它引入的判定规则在 src/infra/state-signals.telegram-ingress.test.ts 里,证据是 12 通过、32.869 秒(单次 100.24 秒的封装器时间由编译准备主导);另外五类重导入场景——四个月前的收据、新鲜更新、旧消息日期带新收据、最近的收据+编辑、跨日期探测陈旧路由——全部通过;回到最初修正前的实现时 3 个预期失败 / 2 个通过,证明测试真的在防回归。

OpenClaw PR #170068 阻止陈旧 Telegram spool 重放的详情页实拍,含 24 小时过期窗口证据

七、还有一条容易被漏掉的:C 线里 OpenClaw 自己在动的手

C 线 20 个在范围内 PR 是”外围”,但里面有一个信号值得记:OpenClaw 官方账号 @openclaw-barnacle 在 10-13 自己加了 channel:telegram 标签的 skill 更新(PR #170068 的分支页面可见)。

更值得注意的是这一条 Release verification 里的自陈:


npm Telegram beta E2E: not supplied

这次发布没有提供 Telegram 的 npm 端到端测试证据。 而 Telegram 恰好是这次 beta.3 里唯一有行为级安全变更的通道(24 小时窗口)。官方在同一份验证清单里给出了 5 个 Actions run(release publish、npm preflight、full release validation、plugin npm publish、plugin ClawHub submission)和 npm tarball integrity,但没有 Telegram E2E。这是已知的证据缺口,本文如实标注,不做推测性解释。

其余 C 线亮点:

  • Meta meta/muse-wonder-1.0(#170232):1,048,576 token 上下文 + 加密 reasoning replay + 工具 + 图像输入 + 流式 + 思考档位控制(#170232;Changes 段落)。Spark 仍是引导默认模型。
  • MiniMax:M3.1 模型现在遵循其 thinking effort 档位;MiniMax OAuth 登录刷新过期 token,不再在登录约两小时后失败(#160089、#160037、#160459)。
  • Codex / OpenAI:流式丢掉最后一个 delta 时 Codex 回复保住最后的 token;线程准备失败后仍可追问;ChatGPT 遇到 code 1000 的中途 WebSocket 关闭会重试(#168400、#169431、#167512、#167345、#170065)。
  • DeepSeek:工具调用标记被正确恢复,不再泄漏进消息正文(#169728)。
  • 模型侧 IPv6 回退:受保护的模型请求在 IPv4 失败时回退到 IPv6(#168973,关联 #87763)。
  • 设备可托管会话:CLI 与 Control UI 的 join 命令现在可以安装后台 node service 来托管 agent 会话(--service --session-host),已配对的设备会得到一条可用的启用命令(#168623)。

八、发布验证清单(官方原文照录)

项 值
npm 包 openclaw@2026.10.5-beta.3
registry tarball https://registry.npmjs.org/openclaw/-/openclaw-2026.10.5-beta.3.tgz
integrity sha512-5MzDpb696yD1lbQVgF+aaUQZCu7XAMfnfOs/564ulKBis5NKGrrqoeT8jAxTmJ+x/sr1oIQd3ASW8GMxGoz9IQ==
release SHA 1808b57b75f056fe4ae247d6cbc1ba68f1717858
完整 release CI 报告 https://github.com/openclaw/releases/blob/main/evidence/2026.10.5-beta.3/release-evidence.md
release publish run 38372568845
full release validation run 38361912690
npm Telegram beta E2E not supplied(未提供)

对比同日发布的 v2026.10.3 stable,其 release body 列出了 19 个附件(含 arm64.dmg 233MB、amd64.AppImage 167MB、dependency-evidence 294KB、postpublish-evidence + sha256、release-manifest + sha256)。beta.3 的附件面明显更薄——这与它是 pre-release 的定位一致,但下载前值得知道。

九、怎么选:三条线各自的适用判断

你的情况 建议
升级被卡住 / Gateway 停摆 / Doctor 删了你的 OAuth A 线是主菜,但这属于 stable 线(v2026.10.3),先看 10-14 06:00 那篇
重启后子代理 / 定时任务 / 被 steer 的会话”失忆” B 线是主菜,beta.3 的 18 个 PR 正面解决
用 Telegram 接 OpenClaw 先确认你知道 24 小时窗口这条,再决定升不升 beta.3
想试 Meta Muse Wonder 的 1M 上下文 C 线,但 pre-release 且无 Telegram E2E 证据
生产环境 建议等 stable。这个 beta 的两条主线各有近 1/3 的 PR,且 Telegram E2E 证据缺失

十、本文的证据口径与未做的事

已核验:

  • 版本号、发布时间、prerelease 标记、71 个在范围内 PR 的官方口径、6 个基线排除 PR —— 来自 GitHub Releases API v2026.10.5-beta.3 的 release body 原文
  • 17 组 Fixes 分类、每组的 PR 号 —— 同一份 body 的正则提取结果
  • 13 个 PR 的增删行数与官方 PR 标题 —— GitHub REST API GET /repos/openclaw/openclaw/pulls/{n} 实测响应
  • PR #169144 的测试数字、三行判定表、#170068 的 12/32.869s 与五类重导入场景 —— 两个 PR 页面的原文
  • 3 张配图 —— 2026-10-14 15:05 Chrome headless 实拍,逐张目视确认可读、非 404 兜底页

口径差异(如实并列,未合并):

  • 78(Fixes 段引用)/ 71(官方交付清单)/ 61(两者交集)三个数字代表不同含义,本文所有百分比以 61 为分母
  • 17 个只在 Fixes 被引用而不在交付清单中的 PR,官方未逐条标注是”已交付”还是”关联引用”,本文按分类列出但不判定其归属

UNKNOWN / 未验证:

  • 为什么 v2026.10.3 之后直接跳 v2026.10.5 而没有 v2026.10.4 —— 官方未说明,不做推测
  • npm Telegram beta E2E 为何 not supplied —— 无官方解释
  • #169422、#169195、#168959 三个 PR 通过 GitHub REST API 查询返回 404 Not Found(很可能非公开或来自分支),因此这三个 PR 的改动行数本文不予采信,也未列入任何表格
  • 本文所有关于”升级后会怎样”的描述均来自官方文档与 PR 标题/正文,作者未在任何真实 Telegram、真实重启、真实 cron 场景下实测,不对任何运行环境下的行为结果背书

未做的事:未运行 OpenClaw、未连接任何 Telegram 账号、未修改任何配置、未删除或覆盖线上内容(本次仅新建 3 个 media + 1 个 post)。

十一、来源与可核验链接

  1. Release 页(本文配图 1 来源):https://github.com/openclaw/openclaw/releases/tag/v2026.10.5-beta.3
  2. Release API 原始数据(71 PR / 6 基线排除 / integrity / release SHA 来源):https://api.github.com/repos/openclaw/openclaw/releases/tags/v2026.10.5-beta.3
  3. PR #169144 子代理跨重启保留(本文配图 2 来源):https://github.com/openclaw/openclaw/pull/169144
  4. PR #170068 阻止陈旧 Telegram spool 重放(本文配图 3 来源):https://github.com/openclaw/openclaw/pull/170068
  5. PR #168650 会话准备阶段被中断的回合恢复:https://github.com/openclaw/openclaw/pull/168650
  6. PR #170223 保留被杀 worker 的回复:https://github.com/openclaw/openclaw/pull/170223
  7. PR #170161 turn 准入前恢复中断的 worker 声明:https://github.com/openclaw/openclaw/pull/170161
  8. PR #170162 恢复被重启打断的 automation 回合:https://github.com/openclaw/openclaw/pull/170162
  9. PR #170252 被 steer 的会话重启后恢复:https://github.com/openclaw/openclaw/pull/170252
  10. PR #169410 文件系统重挂载后解锁已验证发布:https://github.com/openclaw/openclaw/pull/169410
  11. PR #170130 迁移后避免陈旧验证失败:https://github.com/openclaw/openclaw/pull/170130
  12. PR #170207 保留不安全的 Doctor 恢复指引:https://github.com/openclaw/openclaw/pull/170207
  13. PR #170256 旧认证存储不可读时保留 OAuth profile:https://github.com/openclaw/openclaw/pull/170256
  14. PR #170003 pnpm 更新不再让 Gateway 停摆:https://github.com/openclaw/openclaw/pull/170003
  15. PR #168291 cron 不再持有状态写入器:https://github.com/openclaw/openclaw/pull/168291
  16. 同日 stable 版对照(v2026.10.3):https://github.com/openclaw/openclaw/releases/tag/v2026.10.3
  17. Release evidence(官方 CI 报告):https://github.com/openclaw/releases/blob/main/evidence/2026.10.5-beta.3/release-evidence.md
  18. npm 包页:https://www.npmjs.com/package/openclaw/v/2026.10.5-beta.3
  19. 本文 A 线分工所引用的本站前文(10-14 06:00):https://timew.cn/2026/10/14/openclaw-2026-10-3-bootstrap-gate-9-of-52-fixes-2026-10-14/

十二、30 天内值得盯的四件事

观察点 时间窗 为什么
v2026.10.5 正式版是否补上 Telegram beta E2E 10-14 ~ 10-25 唯一有行为级安全变更的通道却没有端到端证据
#169144 引入的”恢复引用 + 取消传播”契约是否引发新的恢复延迟 10-14 ~ 11-10 单条 +963 行改的是调度核心路径
24 小时 stale 窗口是否会调整或提供配置项 10-14 ~ 11-14 官方自陈会漏掉超过 24 小时未处理的真实更新
v2026.10.3 → 下一 stable 的间隔 10-18 前 10 月已连续 4 天每天一发;判断是否给企业缓冲

*本文由 timew.cn 时间站长自动生成于 2026-10-14 15:00(Asia/Shanghai)。数据口径与未验证项已在第十节如实标注;如发现与官方源不一致,以官方源为准。*

赞(0)
未经允许不得转载:时间网 » OpenClaw v2026.10.5-beta.3:61 个在范围内 PR 拆成三条零重叠的主线,以及 Telegram 那个 24 小时过期窗口

更好的WordPress主题

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

联系我们联系我们

登录

找回密码

注册