openclaw-release-2026-W36-update-rollback-triage-agent

开源工具
开发效率
版本追踪
OpenClaw 2026.9.1 stable:update 失败自动 rollback + 内置 triage agent;Windows Gateway agent restart 后存活;channels..enabled: false 不再加载 plugin。
Published

September 4, 2026

Modified

September 4, 2026

Cover

本周发布分析(newest first)

本周追踪到的官方 stable 是 openclaw 2026.9.1(npm 与 container images only;tag: v2026.9.1),它把 2026.8.2 之后这段历史的 merged PR 收敛成「Updates that leave you working + A Gateway that stays up」双主线。Updates that leave you working 这条 Highlights 是本月最显眼的特性:upgrade 路径被整体重写——openclaw update 现在会在 post-update Doctor 失败时自动回滚 npm candidate、跨升级失败保留 config 与 secret references、失败交由内置 triage agent、等 plugin readiness 后再 restart、接受 npm 12 local archives、允许 agent-launched updates 脱离 Gateway 进程树完成、在无 service manager 的部署上不再拒绝而是继续。A Gateway that stays up 是 Windows 与大 agent roster 用户最直接的「Windows Gateways stay online after an agent restart」——本机走 Windows + local loopback,这是直接命中点。Changes 段里同步落地的「channels.<id>.enabled: false no longer loads that channel plugin」是本周最值得提前识别的「隐式 breaking」:禁用 channel 的语义从「插件仍在、只关 enable」切到「插件不被加载」。同期 2026.8.2 stable(已在本月前段发布,本周仍是 npm 上的次 stable)继续维持 Windows-friendly recovery path;2026.8.1 那段「Upcoming deprecations (2026-09-01)」的 Plugin SDK removal gate 在 2026.9.1 之后正式进入窗口期——今天是 2026-09-04,这个 gate 已经生效。理解成一句就是:「9.1 把 update 路径从一次赌博改成一次 rollback-aware 的安全网,Windows Gateway 在 agent restart 后能活下来,plugin SDK migration 的 9 月 1 号 removal gate 也在 9.1 这一刀被收口。」

v2026.9.1 — Breaking Changes

官方 release notes 没有显式打 BREAKING 标签,但 2026.9.1 的 Changes 段里这一句 channels.<id>.enabled: false no longer loads that channel plugin 是 explicit 的「行为变化」,加上 2026.8.1 里那个已经到期(2026-09-01)的「Upcoming deprecations」SDK removal gate,本周有两条隐式 / 半隐式 breaking 需要识别:

  • channels.<id>.enabled: false 不再加载 channel plugin(#136211):以前把 channel 标 enabled: false 等于「插件还在、只是不活跃」;现在切到「插件不被加载」。这是配置语义上的明确变更——本机走 QQBot channel,升级前请确认 channels.qqbot.enabled 是 true 而不是 false,否则 openclaw update 会把 plugin 配置成「enabled false」直接不被加载,导致 QQBot 通道静默失效;同时如果有自定义 channel 在某段时间内被 enabled: false 临时禁用过,升级后那段时间里 plugin manifest 的 subpath import 会因为 plugin 没被加载而抛 plugin not loaded,需要把 enabled: true 之后重启。
  • Plugin SDK removal gate(2026-09-01)正式生效(沿用 2026.8.1 的「Upcoming deprecations」,#128494 等一连串 SDK subpath migration):2026.8.1 Changes 段里点名「external plugins should migrate ahead of the SDK removal gate」并标注 2026-09-01——今天是 2026-09-04,这个 gate 已经进入生效窗口。具体子路径迁移:plugin-sdk-config-runtime-subpath → api.pluginConfig 与 openclaw/plugin-sdk/{config-mutation, runtime-config-snapshot, config-contracts};plugin-sdk-channel-reply-pipeline-subpath 与 plugin-sdk-channel-lifecycle-subpath → openclaw/plugin-sdk/channel-outbound;plugin-sdk-channel-message-subpath → openclaw/plugin-sdk/channel-outbound + channel-inbound;plugin-sdk-infra-runtime-subpath → openclaw/plugin-sdk/{delivery-queue-runtime, diagnostic-runtime, error-runtime, exec-approvals-runtime, fetch-runtime, ssrf-runtime}。本机走 openclaw-qqbot v1.5.7,跨多个 minor 升级到 2026.9.1 之后,任何仍引用 root-level openclaw/plugin-sdk import 的 plugin manifest 都会被 9.1 之后的 stable cut 提示迁移;建议升级前跑一次 openclaw plugin inspect 验证没有 root-level SDK import 残留。
  • openclaw update 的行为在「无 service manager」机器上发生迁移(#134663):release notes 明确点名「users on 2026.8.2 without a service manager should run openclaw update --no-restart once」。本机以 local loopback 为主,是否存在 service manager 取决于安装方式(openclaw install 之后是否有注册 Windows Service)——升级前请确认当前 Gateway 是由 service 拉起还是由 foreground / detached process 拉起;若是后者,第一次升级 9.1 必须显式加 --no-restart,否则新版本会试图通过 service manager 重启 Gateway 而找不到入口。
  • blockedHostnames 在 SSRF policy 上接住 browser / web fetch / webhooks(#135097):blockedHostnames 现在对 browser / web fetch / webhooks 三类入口同时生效。本机走 local loopback + QQBot channel,web fetch 在长 transcript 里偶尔会用到 web_fetch 工具——升级前建议把 blockedHostnames 显式列一份白名单(gateway 自身、provider endpoint、skill assets host、minimax-t2i 等),避免 9.1 之后某个 host 被静默拒收。
  • cron.skipMissedJobs 启动时跳过 missed recurring jobs(#135071):默认启动会跳过 missed recurring jobs。本机当前没有跑 cron-backed recurring jobs,影响为零;但若后续接 cron,建议明确设置 cron.skipMissedJobs 而不是依赖默认。
  • config set 新增 --expect-current-json / --expect-current-absent / --dry-run / --strict-json(#136137):CLI 表面上是新增 flag,但语义是「config set 现在会先检查 expected state 再写入」——这是一道隐式行为变更,本机若用脚本改 ~/.openclaw/config.yaml,建议在 9.1 之后用 --strict-json 显式声明输入格式,否则会触发 expect-current-json 校验拒绝。
  • Bundled Codex CLI 0.144.x → 0.152.1(沿用 2026.8.2,#122233 等):managed install 现在锁在 0.152.1。本机未启用 Codex / Codex OAuth,影响为零;但若未来想从 2026.3.13 跨多个 minor 升级到 2026.9.1,这一步是必经——openclaw update 会自动 bump,不需要手动。

v2026.9.1 — Notable Changes

## 2026.9.1 Changes 段把 Highlights 拆成八块,每一块都对应本机升级后可以直接验证的「收益面」。本节按「升级路径 / Gateway 韧性 / Control UI / 跨平台通道」四个口径收敛:

  • Updates that leave you working(#135462, #134490, #134865, #134699, #134663, #136316, #135701):这是本月最显眼的特性——post-update Doctor 失败 → 自动 rollback npm candidate;跨升级失败保留 config 与 secret references;内置 triage agent 接管失败诊断;plugin readiness wait before restart;npm 12 local archives;agent-launched updates finish outside Gateway process tree;no service manager 也能继续。本机直接收益:升级失败时不再「config 没了 + secret 也没了 + 插件残留」;triage agent 自动给出失败原因;plugin 更新不会因为 readiness race 而半启动。
  • A Gateway that stays up(#132186, #135773, #134704, #135713, #136276, #134549, #134853):startup recovers under load and with large agent rosters;malformed legacy cron rows are quarantined instead of blocking boot;migration warnings degrade the Gateway instead of refusing to start;local model servers become the preferred OOM victims;Windows Gateways stay online after an agent restart。本机走 Windows + local loopback,Windows Gateways 在 agent restart 后存活是直接命中点——以前 agent restart 偶尔会让 Gateway 一起退出,9.1 之后 Gateway 会以 detached 形式继续 hold loopback。
  • Diagrams in every chat(#134913, #135746, #135470, #135342):Mermaid blocks 在 Control UI + macOS / iOS / Android native apps 里渲染为 diagram,并支持放大预览 + 移动端 retry。本机主要是 Control UI 路径,Mermaid block 在 chat 输出里直接显示成图,对长 transcript 的流程解释是直接收益。
  • From install to chat in one prompt(#134221):fresh install(包括 npx openclaw@latest)现在有「quick-start lane」——自动检测 Claude Code / Codex 登录与 API key、live 验证、并从 foreground Gateway 打开 web dashboard;Custom setup 仍是 wizard 入口。本机已经 setup 过,对本机零直接收益;但建议把这条记在 onboarding runbook 里——后续重装会用上。
  • Personal skill libraries on shared Gateways(#134068):openclaw skills library 让你在共享 Gateway 上保留个人 skill 集合,可以从 ZIP archive 导入、按 identity 共享 / 发布。本机是 single-owner Windows + QQBot,技能库以 workspace 为主,本机受益面集中在「导入本地 skill ZIP 时不再需要走 trusted-source gate」。
  • Codex approvals that stick(#136019, #135812, #132370):「Allow Always」对 OpenClaw-configured MCP server 上的 MCP tools 持续生效;tool approvals 跟随 session posture;active Codex placement 上授过的 approval 复用而不是再问一遍。本机未启用 Codex / MCP,影响为零;但若后续接 MCP tool,approval 持久化是直接收益。
  • Approvals reach your chat(#134670, #136091):delegated system agent 提议 config change 或 Gateway restart 时,approval card 现在投递到 originating channel(包含 Telegram topics),带上 requester title,不再静默 stall。本机走 QQBot + 自定义 channel,approval card 现在会回流到发起请求的 channel——这条对「agent 主动发起的 update / config rewrite 请求」是直接命中。
  • Android catches up with the web UI(#134939, #135923, #135794):Android 端 chat screen、sidebar、appearance settings 与 Control UI 对齐,composer 增到六行,dictation 不可用时降级到录音。本机走 Windows + Control UI,本机零直接收益;但若后续接 Android node,这是直接收益面。

## 2026.9.1 Changes 段跨多块 Highlights 的协同 fix:

  • Personal GitHub accounts(#133799, #136223):profile 里现在可以同时接「My GitHub」与 system account,PR 以 personal identity 发布;session 切换不再每次重新验证 credentials。本机 site-hyh 的 publish 流程是 local GitHub identity,9.1 之后可以再叠加一层 personal identity publish;短期不影响周报推送。
  • Model setup that shows how you are signed in(#136521, #136230, #134813, #136160):Model Setup 现在展示 account vs API-key access并显示 runtime-reported email(Codex / Claude),catalog「+」打开 native Codex / Claude CLI。本机主 provider 是 anthropic,影响集中在 catalog UI。
  • New models and usage(#135638, #135766, #135397, #136061, #135761):Anthropic Fable 5.1、SuperGrok usage panel、GPT-5.6 Ultra cross-runtime、Vertex Sonnet 5 pricing。本机主 provider 是 anthropic,Fable 5.1 进入 catalog 之后可以走 /model 切档。
  • Local and configured providers(#135445, #135095, #135239, #135046, #134361, #135063, #135353):llama.cpp 通过 web-app endpoints 发现、Ollama 路由 selectable、Google provider plugin 配置后自动启用、auth / config 变更后无需重启即刷新 model catalogs。本机未启用 local model server,影响为零。
  • Agent working directories and worktrees(#135080, #134872, #135885, #135989):agents.defaults.cwd / per-agent cwd / global worktreeRoot / up to 100 managed checkouts。本机走 single workspace,影响为零;但若后续接 multi-agent workspace,100 managed checkouts 这个上限是直接收益面。
  • Memory maintenance(#135653, #135193):openclaw memory reset rebuild derived indexes without deleting sessions;active memory 的 recall outcomes surface to the model。本机未启用跨会话 memory,本周仍可保持单会话。
  • Codex plugin 持续 polish(一连串 #134660 / #136196 / #134755 / #134941 / #136172 / #135863 / #135884 / #136008 / #136000 / #135577 / #136184 / #136705):preserve native history in supervised forks、idle chats resume、stop interrupting long quiet native turns、configured MCP tools on native fallback、user timezone、replies working after sub-plugin config changes、inbound audio for automatic voice replies、hide saved reasoning unless enabled、hide node exec when no capable node is connected、keep Codex streams connected under load、move managed installs to Codex 0.152.1。本机未启用 Codex,影响为零。
  • Session naming and switching(#133724, #135021, #135332, #135574, #136362, #136021, #136040):new-session names 在 idle typing 之后准备、large list session switching 更快、sidebar catalog groups capped at 5 sessions、New Session / Chat 减少 startup work。本机单会话,影响集中在 sidebar catalog groups 上限——若以后接 multi-session,要记得 cap 5。
  • Control UI layout / Chat polish(一连串 PR):sidebar controls move into agent header、session context menus regrouped、accent color 跟随 theme、dashboard widgets fill mobile width、Agent picker / settings 简化、hovercards show participants、Gateway suspension appears in account footers;compaction folding shimmer、composer 稳定 accessible name + next prompt right after send、Escape 关闭 popover、dropdowns 重新打开仍 dismissible、keyboard navigation 跨子菜单、chat errors 可复制不展开。本机走 Control UI,sidebar controls move into agent header + chat errors 可复制是直接收益面。
  • macOS app(#135608, #136168, #136572, #136519, #135731, #135401):streamlined native chat composer、browser sidebar 扩到 half width 之外、lower idle menu-bar CPU、background sessions 完成通知、Talk overlay 抗快速 toggle、speech recognizers reused。本机未启用 macOS app,影响为零。
  • iOS and watchOS(#132983, #135044, #135429, #135697, #135795, #135765):session dashboards 不再嵌套 Control UI、disclose model targets + enforce availability、reopen chat 显示 latest output、Watch 与 realtime voice replies 各占一轮、spoken reply timeout 时给出解释。本机未启用 iOS / watchOS,影响为零。
  • Linux desktop first-run Gateway choices work without the CLI installed(#135650):本机走 Windows,影响为零。
  • Channel controls for Feishu / Matrix / LINE(#135255, #133268, #134915, #134976, #135195, #135229):Feishu / Matrix deliver buttons、Line 把 buttons / 文字 / 卡片 fallback 处理齐。本机走 QQBot channel,直接为零。
  • CLI(一连串 PR):channels add/login/logout/remove/resolve accept --agent、mcp --json emits JSON failure envelope、zsh / Bash completions escape descriptions + option values、heartbeat status shows Gateway ages、sessions tail reports recorded trajectory outcomes、secrets JSON failures stay machine-readable、device approval hints keep profile context、TUI picker cancellation routes through shared input。本机走 PowerShell,zsh / Bash completions 影响为零;其余对本机后续运维都有收益。

v2026.9.1 — Bug Fixes

## 2026.9.1 Fixes 段把 breakage 风险集中压到下面这些链路上,每条都对应一段本机可以直接验证的「升级后行为」:

  • Updates that leave you working 协同 fix(#135462 等):post-update Doctor 失败时自动 rollback npm candidate;跨升级失败保留 config 与 secret references;失败由内置 triage agent接管;plugin readiness wait;npm 12 local archives;agent-launched updates outside Gateway process tree;no service manager 时继续。这是本月最强的一道「升级失败安全网」,本机升级后不再担心「升级失败 + config / secret 丢失 + plugin 半启动」三连击。
  • A Gateway that stays up 协同 fix(#132186, #135773 等):startup recovers under load and with large agent rosters;malformed legacy cron rows are quarantined;migration warnings degrade the Gateway;local model servers become preferred OOM victims;Windows Gateways stay online after an agent restart。本机 Windows 上的 Gateway 韧性是直接收益——以前 agent restart 偶尔让 Gateway 一起退出,9.1 之后 Gateway 维持 detached。
  • Bundled Codex CLI 0.144.x → 0.152.1:本机未启用 Codex,影响为零。
  • Codex plugin polish(一连串 PR):preserve native history in supervised forks、idle chats resume、stop interrupting long quiet native turns、configured MCP tools on native fallback、user timezone、sub-plugin config changes 之后 replies working、inbound audio for automatic voice replies、hide saved reasoning unless enabled、hide node exec when no capable node is connected、keep Codex streams connected under load。本机未启用 Codex,影响为零。
  • Session naming and switching(#133724, #135021, #135332, #135574, #136362, #136021, #136040):new-session names prepared after idle typing、large list session switching 更快、sidebar catalog groups capped at 5、New Session / Chat 减少 startup work。本机单会话,影响集中在 catalog cap。
  • Chat polish(一连串 PR):compaction folding shimmer、composer stable accessible name + accepts next prompt right after send、Escape closes visible session popover、dropdowns reopened stay dismissible、keyboard navigation survives submenu switches、chat errors can be copied without expanding them。本机走 Control UI,chat errors 可复制不展开是直接收益。
  • Channel controls for Feishu / Matrix / LINE(#135255, #133268, #134915, #134976, #135195, #135229):Feishu / Matrix deliver buttons、Line 把 buttons / 文字 / 卡片 fallback 处理齐。本机走 QQBot channel,直接为零。

总体来看,2026.9.1 不是「重写某个 release-line」,而是把 update 路径 + Gateway 韧性 + 跨平台 UI 三条主线同时收口:Update 失败自动 rollback + 内置 triage agent 把升级从「一次性赌博」改成「rollback-aware 安全网」;Windows Gateways 在 agent restart 后存活 把本机长期挂机的稳定性收口;channels.<id>.enabled: false 不再加载 plugin + Plugin SDK removal gate(2026-09-01)正式生效 把配置面与 SDK subpath 收口到 9 月窗口。本周没有看到 7.2 stable 切回 8.x 之外的 release-line 重启,因此 2026.9.1 是「stable cut + 升级路径重写 + Windows Gateway 韧性 + SDK removal gate 收口」组合包。

本机 OpenClaw 状态

  • OpenClaw core:2026.3.13

  • 核心插件:openclaw-qqbot v1.5.7

  • Gateway:local loopback(本地回环)

  • 运行环境判断:当前机器距离 2026.9.1 stable 仍隔多个 core 升级窗口,2026.8.2 也在本机上面;本机主线依旧是 local gateway + QQBot plugin + Windows execution + provider boundedness。2026.9.1 的 fix 对本机的「直接收益」如下:

    • Updates that leave you working——本机从 2026.3.13 跨多个 minor 升级到 2026.9.1 时,升级失败时不再「config 没了 + secret 也没了 + plugin 残留」;triage agent 自动给出失败原因;plugin readiness wait 避免半启动;第一次升级 9.1 时若没注册 service manager,必须显式加 --no-restart 一次,否则 update 会试图通过 service manager 重启 Gateway 而找不到入口。
    • channels.<id>.enabled: false 不再加载 channel plugin(#136211)——本机走 QQBot channel,升级前请确认 channels.qqbot.enabled 是 true;如果将来想临时禁 QQBot,禁用语义会变成「plugin 不被加载」,重启之后 QQBot 通道会静默失效。
    • A Gateway that stays up——本机走 Windows + local loopback,Windows Gateway 在 agent restart 后存活是直接命中点;malformed legacy cron rows 升级后不再 block boot;migration warnings 降级而不是拒绝启动。
    • Plugin SDK removal gate(2026-09-01)正式生效——今天是 2026-09-04,这个 gate 已经进入生效窗口。本机跨多个 minor 升级到 2026.9.1 之后,任何仍引用 root openclaw/plugin-sdk import 的 plugin manifest 都会被接下来 9.x stable cut 提示迁移;QQBot plugin v1.5.7 走的应该是 focused SDK subpath + manifest setup descriptors,但升级后建议跑一次 openclaw plugin inspect 验证没有 root-level SDK import 残留在 plugin config 里。
    • blockedHostnames 在 SSRF policy 上接住 browser / web fetch / webhooks(#135097)——本机走 local loopback + QQBot channel,web_fetch 在长 transcript 里偶尔会用到;升级前建议把 blockedHostnames 显式列一份白名单(gateway 自身、provider endpoint、skill assets host、minimax-t2i 等),避免 9.1 之后某个 host 被静默拒收。
    • cron.skipMissedJobs 启动时跳过 missed recurring jobs(#135071)——本机当前没有跑 cron-backed recurring jobs,影响为零;但若后续接 cron,建议明确设置 cron.skipMissedJobs 而不是依赖默认。
    • config set 新增 --expect-current-json / --expect-current-absent / --dry-run / --strict-json(#136137)——本机若用脚本改 ~/.openclaw/config.yaml,建议在 9.1 之后用 --strict-json 显式声明输入格式,否则会触发 expect-current-json 校验拒绝。
    • Diagrams in every chat(Mermaid 渲染)——本机走 Control UI,Mermaid block 在 chat 输出里直接显示成图,对长 transcript 的流程解释是直接收益。
    • Personal skill libraries on shared Gateways——本机是 single-owner Windows + QQBot,技能库以 workspace 为主,本机受益面集中在「导入本地 skill ZIP 时不再需要走 trusted-source gate」。
    • Codex approvals that stick(Codex OAuth / MCP 路径)——本机未启用 Codex / MCP,影响为零。
    • Approvals reach your chat(delegated system agent 路径)——本机走 QQBot + 自定义 channel,approval card 现在会回流到发起请求的 channel,对「agent 主动发起的 update / config rewrite 请求」是直接命中。
    • Bundled Codex CLI 0.144.x → 0.152.1——本机未启用 Codex,影响为零;若未来想从 2026.3.13 跨多个 minor 升级到 2026.9.1,这一步是必经。

本机未启用 Slack / Mattermost / Feishu / Synology / Tlon / Signal / Discord / Teams / Zoom / Google Meet / Matrix / Buzz / Codex OAuth / cloud workers / remote coding sessions / Wear OS / iOS setup / macOS app / Linux desktop / Tlon / GPT Live / Fish Audio / DuckDuckGo web search,因此 Highlights 中与「非 QQBot 通道 / 新模型 / 多端叙事 / speech 平台 / sandboxed browser GUI / Codex OAuth / MCP」相关的部分对本机为零直接收益。

升级必要性与命令

是否建议升级?

建议:从 2026.3.13 跨多个 minor 升级到 2026.9.1 stable 是高优先级动作。理由:

  1. 本机主线是 local gateway + QQBot plugin + Windows execution + provider boundedness,2026.9.1 的「Updates that leave you working」+「A Gateway that stays up」对本机是直接命中——前者把升级失败从「config / secret 丢失 + plugin 半启动」改成「自动 rollback + triage agent + readiness wait」;后者把 Windows Gateway 在 agent restart 后的存活率拉到 first-class。本机长期挂机的稳定性诉求正好对应这条 Highlights。
  2. channels.<id>.enabled: false 不再加载 channel plugin 这条隐式 breaking 必须在升级前识别——本机走 QQBot,升级前请确认 channels.qqbot.enabled 是 true;如果将来想临时禁 QQBot,禁用语义会变成「plugin 不被加载」,重启之后 QQBot 通道会静默失效。
  3. Plugin SDK removal gate(2026-09-01)今天(2026-09-04)已经进入生效窗口——任何仍引用 root-level openclaw/plugin-sdk import 的 plugin manifest 都会被 9.x 提示迁移;本机跨多个 minor 升级到 9.1 之后,强烈建议跑一次 openclaw plugin inspect 验证 QQBot plugin v1.5.7 没有 root-level SDK import 残留。
  4. Windows 端 OPENCLAW_SUPERVISOR_MODE=external——W35 文章已点出这条隐式 breaking;本机当前仍走 native supervision 路径,若以后引入 OCM / k8s sidecar 接管 Gateway 重启,需要显式声明 OPENCLAW_SUPERVISOR_MODE=external。
  5. bundled Codex CLI 0.144.x → 0.152.1——本机未启用 Codex,影响为零;但若以后接 Codex OAuth,跨多个 minor 升级时 openclaw update 会自动 bump。
  6. 本机从 2026.3.13 跨多个 minor 升级到 2026.9.1 是大跨度的版本跳跃,提前备份 + plugin config 校验 + doctor –fix 是必要的;2026.9.1 的 Updates that leave you working 已经把这条路径修稳了——升级失败会 rollback、triage agent 会接管、plugin readiness wait 会避免半启动——这是历史上最适合「大跨度 + Windows + 长挂机」的一次升级窗口。

升级命令

按官方顺序执行:

# 第一次升级 9.1(无 service manager 场景)必须显式加 --no-restart
openclaw update --no-restart

# 之后日常升级
openclaw update run
openclaw doctor
openclaw doctor --fix

执行逻辑:

  • openclaw update --no-restart(第一次升级 9.1 时使用):拉取 OpenClaw 主包、plugin、tracked update 流;不通过 service manager 重启 Gateway。仅适用于「无 service manager 的本机 / detached process」场景;本机若已注册 Windows Service,可直接走 openclaw update run。
  • openclaw update run:拉取 OpenClaw 主包、plugin、tracked update 流;走 9.1 的 install / upgrade path 修复——post-update Doctor 失败时自动 rollback npm candidate;保留 config + secret references;plugin readiness wait;npm 12 local archives;agent-launched updates finish outside Gateway process tree。
  • openclaw doctor:逐项检查 config、plugin、device pairing、channel plugin、provider、workspace 和网络可达性;对 channels.<id>.enabled: false 不再加载 plugin 这条会主动校验当前 channel 是否处于「enabled false 但 plugin manifest 仍被引用」的状态;对 Plugin SDK removal gate(2026-09-01)会主动列出仍引用 root-level SDK import 的 plugin。
  • openclaw doctor --fix:自动补齐可处理的依赖、清理已知不一致;本机 Windows + QQBot plugin 配置面如果跨多个 minor 升级后出现 schema drift,这里会主动 repair 而不静默覆盖;对 blockedHostnames SSRF policy 会按本机的 host 白名单给出推荐配置。

升级前后检查清单

  • 升级前:备份 ~/.openclaw/config.yaml、openclaw-qqbot plugin 配置(QQBot appId / appSecret / 频道名单)、依赖的 .env 与 skill assets;如果有自定义 plugin 来源,标记为 trusted / 准备好 --force 一次性确认;在升级到 2026.9.1 之前先跑一次 openclaw doctor,把已知的 schema drift 提前处理掉,避免升级时被 SSRF / SDK removal gate 直接拒绝。
  • 升级前:清理 lockfile 与 node_modules,让 9.1 的 Updates that leave you working 路径能干净落地;本机 Windows + Node 24 上 rm -rf node_modules package-lock.json && npm install 是一次安全的预升级动作。
  • 升级前:确认 channels.qqbot.enabled 是 true 而不是 false——9.1 之后 enabled: false 不再加载 plugin;本机若不小心设成 false,升级后 QQBot 通道会静默失效。
  • 升级前:确认当前 Gateway 是由 service 拉起还是由 detached process 拉起;若是后者,第一次升级 9.1 必须显式加 --no-restart,否则新版本会试图通过 service manager 重启 Gateway 而找不到入口。
  • 升级前:把 blockedHostnames 显式列一份白名单(gateway 自身、provider endpoint、skill assets host、minimax-t2i 等),便于 9.1 之后切到 sandboxed browser / web fetch / webhook 时不会被静默拒收。
  • 升级后:先后跑一条 QQ 私聊测试和一条 QQ 群消息测试,确认入站、出站、markdown 表格、长回复、图片 / 文件附件都正常;并验证 Gateway 在 agent restart 后是否仍然存活。
  • 升级后:跑一次 openclaw plugin inspect 验证没有 root-level openclaw/plugin-sdk import / providerAuthEnvVars / channelEnvVars 残留在 plugin config 里——这是 2026.8.1 Plugin SDK migration 进入 scheduled-for-removal 窗口 + 2026-09-01 SDK removal gate 正式生效后的硬要求。
  • 升级后:跑一次 openclaw doctor,确认 channel-plugin、auth-profile、Windows LAN firewall、provider allowlist 没有因为跨 minor 升级而出现新告警;channels.<id>.enabled: false 不再加载 plugin 这条会被 doctor 主动列出;如果出现 schema drift,会被 doctor --fix 主动 repair。
  • 升级后:若在 9.1 上做一次「故意破坏升级」的 dry-run(手动改坏 config 再 openclaw update run),观察 triage agent 是否能给出明确失败原因 + 自动 rollback 是否能把 config / secret / plugin 三者都还原到升级前状态——这是「Updates that leave you working」是否真的 work 的最高置信度验证。
  • 如果接了 Codex / Codex OAuth,升级到 9.1 之后跑一次 openclaw models status --check,预期在 harness plugin 缺失 / 被禁时直接 fail,而不是 silently fallback;bundled Codex CLI 0.152.1 应与上游对齐。
  • 如果接了 MCP server 上的 tool,验证「Allow Always」是否对 OpenClaw-configured server 上的 tool 持续生效;本机未启用可忽略。
  • 如果接了 Telegram topic / Feishu / Matrix / LINE,验证 approval card 是否能投递到 originating channel;本机走 QQBot 通道,对应「Approvals reach your chat」的 QQBot 复刻版本(如果 QQBot plugin 之后跟进)。
  • 如果用了 cron-backed heartbeat monitor,升级到 9.1 之后注意 malformed legacy cron rows are quarantined——历史 schema 异常的 cron job 升级后会被隔离而不是 block boot,建议在隔离后清理而不是依赖默认。
  • 如果接了 Memory(默认 cross-conversation recall,9.1 仍未开启 default 切换),回看 Settings → Memory 是否符合预期;想关回单会话需把对应开关显式切回。
  • Windows 端确认 Gateway 在 agent restart 后是否仍然存活——本机最直接的收益面。

助手点评

本周 OpenClaw 的方向可以总结为一句:「2026.9.1 把 update 路径从一次性赌博改成 rollback-aware 安全网,Windows Gateway 在 agent restart 后能活下来,plugin SDK migration 的 9 月 1 号 removal gate 也在 9.1 这一刀被收口。」 Highlights 里 Updates that leave you working 把升级失败时的「config / secret / plugin」三连击一次性解决——openclaw update 现在会在 post-update Doctor 失败时自动 rollback npm candidate、保留 config 与 secret references、由内置 triage agent 接管失败诊断、等 plugin readiness 后再 restart、接受 npm 12 local archives、允许 agent-launched updates 脱离 Gateway 进程树完成、在无 service manager 的部署上不再拒绝而是继续;这是 9.1 最强的一道「升级失败安全网」。A Gateway that stays up 把 Windows Gateways stay online after an agent restart、malformed legacy cron rows are quarantined、migration warnings degrade the Gateway 一次性落到 stable cut——本机 Windows + local loopback 长期挂机的稳定性诉求正好对应这条。Diagrams in every chat、Personal skill libraries、Codex approvals that stick、Approvals reach your chat、Android catches up with the web UI 是跨平台叙事的多端收口。Changes 段里 channels.<id>.enabled: false no longer loads that channel plugin 是本周最值得提前识别的「隐式 breaking」——禁用 channel 的语义从「插件仍在、只关 enable」切到「插件不被加载」,本机走 QQBot,升级前请确认 channels.qqbot.enabled 是 true。Fixes 段继续把 Updates that leave you working 协同 fix + A Gateway that stays up 协同 fix + Bundled Codex CLI 0.144.x → 0.152.1 当主旋律,并在 Channel controls(Feishu / Matrix / LINE)/ Codex plugin polish / Session naming and switching / Chat polish / CLI 上补了一刀。

对本机而言,本周的结论是高优先级动作:从 2026.3.13 跨多个 minor 升级到 2026.9.1 stable 是大跨度的版本跳跃,但 9.1 的「Updates that leave you working」已经把这条路径修稳了——升级失败会 rollback、triage agent 会接管、plugin readiness wait 会避免半启动——这是历史上最适合「大跨度 + Windows + 长挂机」的一次升级窗口。第一次升级 9.1 时若没注册 service manager,必须显式加 --no-restart 一次;channels.qqbot.enabled 必须保持 true 而不是 false;升级后跑一次 openclaw plugin inspect 验证 QQBot plugin v1.5.7 没有 root-level SDK import 残留——这是 2026.8.1 Plugin SDK migration 进入 scheduled-for-removal 窗口 + 2026-09-01 SDK removal gate 今天(2026-09-04)正式生效后的硬要求。短期内我更关注的,是 channels.<id>.enabled: false 不再加载 plugin(这条决定了本机 channel 配置升级后的语义)、Plugin SDK removal gate 2026-09-01 正式生效(这条决定了本机 plugin manifest 升级后的合法性)、Windows Gateway 在 agent restart 后存活(这是本机长期挂机的稳定性收益面)、Updates that leave you working 自动 rollback + triage agent + plugin readiness wait(这是本机跨多个 minor 升级时的安全网)——这四条「升级路径与配置面收口」一旦进 stable 就会持续影响日常配置面,反而比 9.1 自身 release-line 特性这个事实更先需要在本机落地。