OpenClaw 2026.5.19 更新日志
一句话总结
2026.5.19 是一次大型稳定性、运行时边界和交付链路收敛版本。重点包括:Node.js 22.19 最低版本要求、Codex app-server 与 OpenClaw runtime 的职责边界、Gateway 启动/重启性能、插件 SDK 和 CLI、QA-Lab 运行时一致性门禁、Mac App 设置体验、Feishu/Telegram/Discord/WhatsApp 等通道投递可靠性、Memory/QMD 与 media/browser 安全修复。
统计概览
| 类别 | 数量/说明 |
|---|---|
| 原始 changelog 行数 | 293 行 |
| 主要区块 | Changes / Fixes / Release proof |
| 版本性质 | 大型维护版本,兼具功能扩展、运行时稳定性和发布证明 |
| 重点模块 | Gateway、Codex、Subagents、QA-Lab、Mac app、Plugins、Memory、Feishu、Telegram、Browser、Media |
| 需要关注 | Node.js 22 line 最低要求提高到 22.19;Pi packages 更新到 0.75.1;@openclaw/proxyline 更新到 0.3.3 |
核心亮点
1. Runtime 与 Codex 边界更清晰
- Codex app-server 会按 runtime surface 限定 OpenClaw prompt guidance:native Codex 保留 Codex 自己的 base/personality instructions,OpenClaw 只注入 runtime context、delivery guidance 和显式限定的 command hints。
- 当 Codex 拥有模型 transport 时,插件工具 auth profiles 会被保留,OpenClaw dynamic tools 能解析对应 provider credentials。
- chat 或 sender policy 禁止工具时,Codex app-server 会 fail closed,禁用 native code、app、environment 和 user MCP surfaces。
- OpenClaw session spawning 仍保持可搜索,但 Codex-native delegation 会被引导到原生 subagents,减少重复的子代理入口。
- native command output、native tool calls 和 tool results 会进入 mirrored transcripts 与 trajectory artifacts,方便排障复盘。
- oversized native Codex threads 会在 resume 前轮转,并限制 dynamic tool-result text 注入 native Codex sessions,降低陈旧大上下文污染风险。
2. Gateway 启动、重启和诊断继续强化
- Gateway restart traces 会归因 startup probe、config、runtime 和 resource-count 成本,不改变 readiness 行为。
- 启动日志、plugin-service startup 与 channel sidecars 并行,减少 restart ready latency,同时保留
/readyzsidecar gating。 - update-check 延后到 readiness 之后,避免包更新检查阻塞 sidecar-ready startup。
- config lookup reload metadata 暴露字段是 restart-required、hot-reloadable 还是 no-op,降低配置变更误判。
- restart shutdown 会先 drain pending replies 和 active chat runs,再关闭 sockets 和 channels。
- Gateway secrets runtime 拆分轻量状态与 auth-store cache,无 SecretRef 时走 startup fast path。
- 协议错配诊断增强:Control UI 和 Gateway 会展示协议版本,日志包含客户端协议范围和 doctor/status 提示。
3. 插件、Skill 和 CLI 开发体验升级
- 新增
defineToolPlugin,并加入openclaw plugins build、validate、init,用于 typed simple tool plugins、manifest metadata、tool declarations 和 context factories。 - Plugin SDK 打包
openclaw/plugin-sdk/zod,避免 pnpm global install 后缺少 package-local zod symlink。 - legacy
before_agent_starthooks 默认 15 秒超时,避免挂起插件阻塞 agent startup。 - Skills CLI 支持
openclaw skills install/update --global操作 shared managed skills。 - Codex 新增
/codex plugins list|enable|disable,可以从聊天中管理 native Codex plugins。 - repo-local Codex closeout review skill/helper 改名为
autoreview,保留 Codex-first fallback。 - 新增 meme-maker、node inspector debugging、fused diagram generation、throwaway spike workflow、Python debugging 等技能。
- Obsidian skill 改为面向官方 obsidian CLI,并要求注册 binary,不再使用第三方
obsidian-cli。
4. QA-Lab 门禁和发布证明更严格
- 新增 first-hour 20-turn 和可选 100-turn runtime parity scenarios,区分 standard 与 soak QA gates。
openclaw qa suite --runtime-parity-tier接入 standard Codex-vs-Pi tier,并与 optional/live-only/soak lanes 分离。- runtime tool fixture scenarios 覆盖 Codex-native workspace tools、OpenClaw dynamic tools 和 optional plugin-backed tools。
openclaw qa coverage --tools暴露 runtime tool fixture coverage,并支持 suite-summary parity artifact 评估。- required OpenClaw dynamic runtime-tool drift 在 standard Codex-vs-Pi tier 中成为阻塞 release-check。
- 增加 personal-agent approval-denial、local task followthrough、share-safe diagnostics、no-fake-progress 和 dreaming shadow-trial 场景。
- release 证明包含 npm 版本、tarball、integrity、preflight、full validation、plugin/npm/ClawHub publish、macOS 公私有验证和 Sparkle appcast。
5. Mac App 设置体验统一
- Settings 页面重新设计为一致的卡片布局,导航缓存,Permissions/Voice/Skills/Cron/Exec/Debug 等页面间距更稳定。
- Voice & Talk 的 recognition-language 和 wake-phrase 设置统一为 compact card rows。
- Settings sidebar 保持可见,移除冗余标题栏显示/隐藏控件;后续将 sidebar toggle 移入 native titlebar。
- General、Connection、Sessions、Cron Jobs、Config 和 Channels 等设置页的 gutter、行距、对齐方式与加载方式持续收敛。
- 远程 Gateway 设置优先 private/Tailscale/LAN endpoints,保留 legacy loopback tunnel configs,并在 SSH tunneling 失败时展示 stderr。
- Dock 图标菜单新增 Dashboard、Chat、Canvas、Settings 快捷入口。
6. 通道投递与最终回复更可靠
- Feishu session thread setup 会返回绑定的 subagent delivery origins,子代理完成结果能回到同一 DM 或 topic。
- Feishu DM/group/broadcast turns 会刷新 inbound session delivery context,避免后续回复继承 stale WebChat routing。
- direct/source chats 在 message-tool visible delivery 下默认保持可见回复,
messages.visibleReplies: "automatic"作为旧模式 opt-out 文档化并测试。 - Telegram forum topic 的 inbound serialization、media/text buffers、account API queues 使用 topic-aware lanes,避免一个 topic 阻塞其他 sibling topics。
- Telegram queued same-topic follow-up 不再继承已过期的 source abort signals。
- Discord progress-mode preview streams 会交付 final replies,避免最终消息被去重丢失。
- WhatsApp 强制 document delivery 会保留图片/GIF/视频原始字节;PDF/CSV 无文件名时按 MIME 类型命名。
- QQBot C2C typing indicator 缩短为 10 秒窗口,每 5 秒续期,并保留 final passive-reply slot。
重点模块整理
Compatibility / Dependencies
- Node.js 22 line 最低支持版本提高到
22.19。 - Pi packages 更新到
0.75.1。 @openclaw/proxyline更新到0.3.3。- Providers/Together 更新 PI runtime packages 到
0.74.1,并支持 Together-style reasoning controls。 - Plugins/tokenjuice 更新到
0.7.1,带来 Codex hook approval、pre-tool command wrapping 和 Rolldown/Vitest output compaction 改进。
Docker / Podman / Proxy
- 新增
OPENCLAW_IMAGE_APT_PACKAGES,作为 runtime-neutral image build arg,用于额外 apt packages;OPENCLAW_DOCKER_APT_PACKAGES保持 legacy fallback。 - 新增
OPENCLAW_IMAGE_PIP_PACKAGES,支持本地镜像构建时可选安装 Python packages。 - Proxy 支持 HTTPS managed forward-proxy endpoints,并支持 scoped
proxy.tls.caFileCA trust。 - Browser/CDP 保留 loopback proxy bypass 的
NO_PROXY大小写处理,并在 attach 失败诊断中脱敏 home-relative Chrome MCP profile path。
Agents / Tools / Replies
- 内置工具描述和 schema hints 缩短,覆盖 media、messaging、sessions、cron、Gateway、web、image/PDF、TTS、nodes 和 plan tools,同时保留 routing guardrails。
- fixes 默认应倾向干净、有边界的重构、lean internals,以及明确 plugin SDK/API deprecation path。
video_generatereference-audio 参数仅在已注册 video provider 支持 audio inputs 时展示。- song、jingle、beat、anthem、instrumental 请求会被引导到
music_generate音频创作,而不是只写歌词。 - async image/music/video 生成失败时,若 requester-session completion handoff 失败,会直接把 provider error 投递给用户,避免静默卡住。
- final payload delivery 在 live preview updates 后继续保留,避免频道只留下 preview draft。
- provider conversation-state rejection 会变成清晰的 message-channel error,而不是自动 reset 或泛化为 runner failure。
- GPT-5 final replies 不再被硬编码简短化,避免长回复被合成省略号截断。
Codex / OpenAI / Provider
- OpenAI/Codex 不再拒绝可用的
openai-codexGPT-5.1、GPT-5.2、GPT-5.3 model refs,同时继续抑制已移除 Spark aliases。 - 显式请求但未注册的 Codex harness 会 fail closed,而不是静默尝试 model fallbacks。
- legacy
oauthRefbacked OAuth profiles 在openclaw doctor --fix迁移期间仍可用。 - OpenAI runs 解析到
openai-codex时会走 Codex provider,并注入 OpenClaw 保存的 OAuth profile。 - OpenAI streams 在 Responses chunks 密集时使用
setTimeout(0)yield,保持 timeout/cancel 响应。 - GitHub Copilot 会丢弃无法 replay 的 unsafe native Responses reasoning items,并请求 identity-encoded API 响应,避免 gzip bytes 被当 JSON 解析。
- Google provider 保留并恢复 Gemini 3 tool-call thought signatures,同时丢弃 compaction-truncated malformed Base64 signatures。
- DeepSeek 会在 normal 和 compaction requests 前规范化 MCP tool schemas 中的
anyOf/oneOfunions。 - Anthropic 在 stale local catalog 将当前 Claude 模型标记为 text-only 时,仍保留 native image input 和 Claude 4 image capability。
- Moonshot/Kimi exhausted-balance HTTP 429 会被归类为 billing,而非普通 rate limit。
Subagents / Sessions
- subagent 初始 registry save 必须成功后才报告 spawn accepted,避免创建未跟踪 run。
- Codex-native subagent task mirrors 在 blocked 或 failed spawn-agent stale initializing child state 时会被标记 terminal。
- session-backed parent runs 在 child wait timeout 但 child 尚未 settled 时保持 active,避免晚到完成结果丢失。
- queued completion handoffs 会等进入 parent transcript 后再标记 announced。
- keep-mode completion payload 在 final-delivery retry exhaustion 后保持 pending,便于 requester recovery。
- run-mode keep subagent registry entries 会保留超过 session sweep TTL,清理后仍可见。
- collect-mode announce queues 会继续批处理 compatible same-route unresolved-origin items,并在 cross-channel drain 后恢复兼容批次。
- Gateway/sessions 在 configured-only session lists 中保留 ACP/acpx 和 runtime child sessions。
Memory / QMD / Wiki
- Memory/search 的 JS-side fallback vector path 会按 bounded rowid batches 扫描,并在批次间让出 event loop,避免大 chunk tables 长时间卡住 Node.js 主线程。
- sqlite prepared statement 会保留局部引用,避免 heap pressure 下被
node:sqlite提前 finalize。 - Memory/QMD 会保留 archived session transcript hits,同时保留普通
.mdsession ids。 - raw hyphenated queries 保持 lexical search,semantic QMD sub-searches 再做规范化,避免 dashed identifiers 和日期查询回退到 builtin index。
- Memory-core 区分 sqlite-vec load failure 和缺少 semantic vector embeddings,诊断更准确。
- Memory-core 启动时扫描 persisted memory source sessions,只标记缺失、新er 或大小变化 transcript 为 dirty,支持增量同步。
- Memory Wiki bridge source page 写入失败时,保留 fs-safe diagnostics 和 underlying error code。
- wiki_lint tool 输出 vault-internal lint reports 的相对路径,同时为 CLI/file callers 保留绝对 report path。
Browser / Media / TTS
- Browser snapshots 会显示 pending 和 recently handled modal dialogs;触发 modal 的 action 返回
blockedByDialog;browser dialog --dialog-id可回答 pending dialogs。 openclaw browser evaluate --timeout-ms支持长时间 page functions 扩展 evaluate action 和 request timeout budgets。- Browser 对
/act evaluate/batch和/highlight执行当前 tab URL allowlist 检查,tab-management actions 不受影响。 - Browser CLI 保留 browser-level options 到 nested commands,并让 wait/download/dialog hooks 按声明窗口保持打开。
- Media metadata probing 不再对无法识别图片字节调用外部 decoder delegates,真实处理错误后也停止 fallback chaining。
- Sharp 随 root package 安装;不可用时 fallback 到 sips、Windows native imaging、ImageMagick、GraphicsMagick 或 ffmpeg。
- TTS directives 会在 message-tool sends 进入 core/gateway/plugin delivery 前应用,避免原始 tag 泄露。
Channels / Messaging
- Plugins/messages 增加 channel renderer presentation capability limits,rich message controls 会在 native rendering 前适配;legacy interactive/Slack directive producer APIs 标记 deprecated。
- Plugins/subagents 将 channel delivery routes 存为 canonical session metadata,并弃用临时 hook delivery-origin fields。
- Outbound send-capable channel plugins 会从 active runtime registry 解析,而不是依赖 pinned startup registry。
- Slack 在 same-channel thread replies 丢失 thread context 时 fail closed,防止延迟重复回复和意外发到 channel root。
- Messages/Codex direct/source chats 默认使用 message-tool visible delivery,并文档化旧模式 opt-out。
- group/channel visible replies 默认恢复 automatic final delivery,message_tool opt-in 保留给 ambient/shared rooms 和 tool-reliable models。
Telegram / Discord / Feishu / WhatsApp / Signal
- Telegram forum topics 改为 topic-aware lanes,避免 sibling topic traffic 被阻塞。
- Telegram HTTP 421 Misdirected Request send failures 会使用 fresh fallback transport 重试。
- Telegram topic send 遇到 message thread not found 会 fail closed,而不是退回 base chat。
- Telegram raw update verbose logs 会递归脱敏 identifiers 和 user metadata。
- Telegram/Ollama 会把当前 Telegram 图片附件传给 native PI/Ollama vision turns。
- Discord/OpenAI realtime voice follow-up turns 保持可听,并预缓冲 assistant playback。
- Discord/subagents 会把 thread-bound delegated sessions 的初始回复投递到绑定线程。
- Feishu SecretRef top-level credentials 会被识别为 configured default account。
- WhatsApp
upload-file作为 supported media send intent,走频道正常 send-media transport。 - Signal 混合大小写 group IDs 在 routing 和 session persistence 中保留。
Mac App / Control UI / Mobile
- Mac App Settings 体验统一,页面挂载缓存、边距对齐、sidebar 行为和 Channels/Config 按需加载均有调整。
- Control UI 从 session-scoped
session.toolGateway events 渲染 live tool progress,使外部启动 runs 能在 active session 看到工具卡片。 - chat delete confirmation popover 在小屏幕保持 viewport 内可见。
- chat reading indicator 不再在 assistant response 完成后卡住。
- Control UI protocol mismatch 会展示 Control UI 和 Gateway protocol versions。
- Android Talk Mode 切换为 realtime Gateway relay voice sessions,支持 streaming mic、realtime playback、tool-result bridging 和 on-screen transcripts。
- Android Gateway TLS thumbprint 变化时会提示用户确认旧/新 SHA-256 指纹。
- iOS Live Activities 会在 OpenClaw connected、idle 或 disconnected 时结束,并展示紧凑 attention states。
Release Proof
升级关注点
- 先确认 Node.js:此版本明确要求 Node.js 22 line 最低到
22.19。升级前建议执行node -v。 - 检查 Codex OAuth / openai-codex 路由:本版涉及 Codex provider、OAuth profile、GPT-5.x validation、Codex harness、dynamic tool credentials 多处关键修复,升级后建议跑常用模型探针和
openclaw config validate。 - 观察 Gateway restart trace:启动归因、sidecar 并行、update-check 延后、pending reply drain 和 SIGUSR1/config restart 都有变化,适合重点看 readiness、downtime 和 supervisor PID 行为。
- 实测 Feishu 子代理闭环:Feishu delivery context、subagent delivery origins、message-tool visible delivery 都是鸣人环境中高相关变更,建议用一个小型子代理任务确认结果能回到同一 DM/topic。
- 检查 Memory/QMD 查询:dashed identifiers、日期查询、archived transcript hits、fallback vector batch scan 均有修复,可用常见记忆关键词快速验证。
- Mac App 和 Control UI 用户建议更新:Settings、Connection、Channels、Config、Cron Jobs、Protocol mismatch、tool progress 都有大量体验和诊断修复。
- 通道插件建议小样本验收:Telegram topic、Discord final reply、WhatsApp document、QQBot typing、Signal group ID 等都属于真实渠道行为,升级后最好各跑一条最小验证消息。
简要结论
这版的主题不是单点功能,而是把 OpenClaw 作为“长期运行平台”的边界继续打磨:Codex 与 OpenClaw 的 runtime 职责更清楚,Gateway 启动与重启更可观测,QA-Lab 的发布门禁更严格,插件/Skill 开发链路更完整,通道投递和 Memory/QMD 的长尾问题也继续收敛。
对鸣人的环境来说,最优先关注:Node.js 22.19、Gateway restart 行为、Feishu 子代理投递、Codex OAuth/openai-codex 路由、Memory/QMD 检索,以及 Mac App/Control UI 协议与设置体验。
https://www.fireself.cn/post/rT8jTvY1