OpenClaw 小龙虾 2026.5.12 更新说明
一句话总结
2026.5.12 是一次非常大的维护与架构收敛版本,核心方向是:核心安装瘦身、Telegram/通道投递可靠性、Codex/OpenAI 鉴权与运行时稳定性、插件安装更新抗卡死能力、安全与来源校验加固、Control UI/WebChat/TUI 体验修复,以及 Gateway/会话/转录/cron 的长期运行稳定性。
统计概览
| 类别 | 数量/说明 |
|---|---|
| 原始 changelog 行数 | 544 行 |
| 原始文本大小 | 约 90 KB |
| 主要发布区块 | Highlights / Changes / Fixes / Changes / Fixes |
| 重点模块 | Gateway、Codex、OpenAI、Telegram、Feishu、WhatsApp、Slack、插件系统、Cron、Sessions、Memory、Browser、Sandbox、Control UI |
| 风险性质 | 大型维护更新,偏稳定性、权限收紧和依赖结构调整 |
核心亮点
1. 核心安装更轻
- WhatsApp、Slack、Amazon Bedrock、Anthropic Vertex、OpenShell sandbox 等重依赖插件或 provider 被移出核心运行时。
- Bedrock / Bedrock Mantle provider 不再让核心安装默认拉取 AWS SDK 依赖。
- WhatsApp 频道外部化为 ClawHub/npm 插件,核心 npm 包不再默认带 WhatsApp 专用媒体处理依赖。
- 结果是默认安装更轻,按需安装的边界更清楚,也降低了更新和构建时的依赖冲突概率。
2. Telegram 显著增强
- Bot API polling 迁移到隔离 worker,并引入 durable local spool。
- 主事件循环卡顿时,Telegram 入站轮询仍能保持活性。
- 支持 streamed / durable replies 中的 HTML 标签渲染,避免显示原始
<a>等标记。 - Cron 延迟投递、流式回复、工具进度草稿、群媒体过滤和 token 轮换后的 update offset 都有修复。
3. Codex / OpenAI 路径更稳
- Codex OAuth profile、auth-profile-backed media tools、Codex app-server、MCP server projection、context-engine thread rotation 等路径得到集中修复。
- Codex app-server 保持 per-agent
CODEX_HOME隔离,但默认不再改写HOME,避免子进程找不到正常用户配置、tokens 或 CLI 状态。 - Codex cron、native tools、app-server watchdog、OAuth refresh、模型鉴权、OpenAI-compatible token caps 等长期运行痛点被修补。
- OpenAI HTTP 兼容端点会正确处理
max_completion_tokens/max_tokens,并对非法采样参数返回兼容的 400 错误,而不是笼统 500。
4. 插件安装与更新更不容易卡死
- 升级到 pnpm 11 配置面。
- 插件安装时的代码安全扫描范围收窄到插件自有 runtime entrypoints,同时保留依赖 manifest denylist 检查。
- peer dependency pin 会在插件安装、更新、卸载时更可靠地保留、刷新和清理。
- git/source 安装支持
--version、--no-git-update、checked-in lockfile,减少固定版本安装被意外移动或被 pnpm minimum-release-age 卡住。 doctor --fix能修复更多 managed plugin 安装状态,但不会盲目跟随 package-localnode_modules外部 symlink。
5. 安全、权限和来源校验大幅加固
- 多处涉及 Gateway、browser、node pairing、sandbox、Slack、QQBot、Matrix、Feishu、Memory wiki、exec approval、hook CLI、Control UI proxy、CDP relay 的权限收紧。
- 新增或强化多项“必须授权 / 必须 admin scope / 必须 approval”的边界:
- setup-code device pairing
- browser device pairing
- Control UI proxy-scoped access
- sandbox browser CDP relay
- node device token management
- memory-wiki ingest / Obsidian search
- Slack approval button、QQBot approval callback
- 转录和工具结果持久化路径加强敏感内容与 secret-shaped payload redaction。
- Windows sandbox 加入
USERPROFILE阻断根,避免.codex、.openclaw、.ssh等凭据目录被错误绑定。
6. UI 与回复投递更可靠
- Control UI / WebChat 新增持久化 auto-scroll 模式:
- 保持接近底部时自动滚动
- 总是跟随流式输出
- 关闭自动滚动并手动点击 New messages
- WebChat/TUI 能正确接收 Codex
tools.messagesource replies,并镜像到 session history。 - rich-only、card/button-only、interactive controls、channel-native payload 等回复不再因为没有文本而被当成空回复丢弃。
- Control UI 增加空白仪表盘恢复面板、移动端 Stop 保留草稿、Nodes tab 限域轮询、session picker 子代理嵌套显示等体验修复。
重点模块整理
Gateway / Sessions / Transcript
- Gateway 协议要求 v4 client,并提供显式
chat deltaText/replaceframes,SDK 客户端不再需要本地 diff。 - Gateway session history 保留单调递增的 transcript message sequence,并在 stale sequence 输入时刷新 SSE history,避免增量状态被错误追加。
openclaw sessions --json、openclaw status和 Gateway RPC 会正确报告 ACP control-plane session 的 runtime id,不再显示错误的auto/pifallback。- ACP spawn-child sessions 被标记为
kind: "spawn-child",而不是误判为direct。 - session transcript 读取改为流式扫描,避免长会话 JSONL 被整文件读入内存。合成 200 MiB transcript 的峰值 RSS 从约 +252 MiB 降到 +27 MiB。
- session_end plugin hook 在 Gateway shutdown/restart 时会对仍活跃的 session 触发,减少下游插件留下 ghost rows。
- Gateway 能去重并发 send / poll / message.action 请求,减少同一 idempotency key 下的重复投递。
Cron / Heartbeat / 自动化
- 新增直接查看单个 cron job 的能力:
cron.get、openclaw cron get <id>、agent-tool get。 - long manual cron run 会持续保留在 task registry 直到完成,避免 durable recovery 前短暂丢失状态。
- cron payload 的显式
timeoutSeconds会传递给 LLM idle watchdog,即使数值等于默认值也保留“显式设置”的语义。 - Codex cron 会在 workspace bootstrap 或 memory review 前执行 scheduled command-style automation payload,迁移后仍保留既有 isolated cron job 行为。
- heartbeat systemEvent wake 保持绑定在主会话路径,避免继承错误的显式目标。
Codex / App Server / Agents
- Codex app-server 支持将用户配置的
mcp.servers投射进新 Codex thread config,与 codex-cli runtime 的行为对齐。 - auth-profile-backed media tools(如
image_generate)在 OpenAI auth 存在于 agent auth-profile store 时仍可用。 - Codex app-server 复用 native Codex CLI OAuth,ChatGPT-authenticated Codex runs 不再误回落到未认证 OpenAI API。
- context-engine 管理的 native threads 会在不兼容时轮转,避免 Lossless-managed sessions 恢复陈旧隐藏 Codex history。
- native Codex 子代理生命周期事件会镜像到 Task Registry。
- subagent 完成 handoff 改为同进程 dispatcher,不再打开 Gateway RPC loopback。
- LLM idle watchdog 超时会通过 profile rotation 和 configured model fallback 升级处理,减少 silent model stream 后 agent turn 卡住。
- array tool parameter 自动补宽 permissive item schema,减少 OpenAI-compatible schema validation 报错。
OpenAI / 模型 / Provider
/v1/chat/completions正确传递max_completion_tokens和max_tokens,两者同时存在时max_completion_tokens优先。openclaw models auth login --provider openai默认走 ChatGPT/Codex account login,API key 设置需显式--method api-key。- 多处规范化 retired Gemini 3 Pro Preview id 到
google/gemini-3.1-pro-preview,覆盖 SDK OAuth、direct login、provider catalog、agent override、subagent、heartbeat、compaction 等配置写入路径。 - fallback chains 在模型 override 中优先于 configured primary models,避免同名模型跳到错误 provider。
- provider-level
localService可按需启动本地模型服务并执行一次性 model probe。 - MiniMax M2.7 在 tool-heavy session 过滤成空 payload 时,会发送最小 Anthropic-compatible fallback,避免
chat content is empty。 - x/OpenAI-compatible SSE / JSON fallback streams 能跨 split chunks 正常 drain;Azure Responses stream 若首事件异常,会给出有界诊断而不是无尽卡住。
媒体生成与理解
- Fal provider 将 GPT Image 2 和 Nano Banana 2 reference-image edit 请求路由到
/edit,支持image_urlsarray。 - GPT Image 2 edit 模式输入图上限提升到 10,Nano Banana 2 提升到 14,并支持 edit mode 下的 aspect-ratio hints。
- image tool 显式 model override 会被尊重,即使
agents.defaults.imageModel未设置。 - 音乐和视频生成在未传
timeoutMs时会尊重配置里的默认 timeout,与图像生成行为对齐。 - GitHub Copilot 图像理解请求会交换 OAuth token 为 Copilot API token,并通过 Chat Completions 路由 Gemini image payload。
Channels:Feishu / Telegram / WhatsApp / Slack / iMessage / Matrix
Feishu
- 手动 App ID / App Secret 设置成为默认绑定路径,二维码创建仍保留为可选 best-effort。
- Schema 2 card callback 支持从
operator.user_id读取操作者身份,避免按钮回调被误判为 malformed。 - 群聊引用回复目标撤回或缺失时,会回退为普通群发送,避免消息静默消失,同时保留原生 topic 安全边界。
- webhook rate-limit client key 规范化,降低限流误判风险。
Telegram
- 入站轮询迁移到隔离 worker 和 durable spool。
getUpdates活性检测不再被出站 Bot API 调用掩盖。- token 轮换后丢弃无法对应当前 bot token 的 legacy long-poll offsets,避免新消息被静默跳过。
- 群组中 requireMention 开启时,未提及 bot 的 group media 会在下载前跳过。
- 支持 native command description localizations,过滤不支持 locale code 并保留命令数量限制。
- streamed/durable replies 支持 HTML 标签渲染;手动缩进 bullet 与后续编号段之间保留空行。
- Baileys 升级到 7.0.0-rc11,
libsignal从 registry 解析。 - WhatsApp 外部化为插件,音频解码依赖也局部化到外部插件。
- 连接 opening-phase Baileys 428
connectionClosed会走 reconnect policy。 - hot-reloaded
dmPolicy和allowFrom会在处理新入站 DM 前应用到 active Web listener。 - 关闭 socket 前会处理 pending debounced inbound messages。
Slack
- malformed private-file redirect
Locationheader 被视作不可跟随 redirect,而不是让 Slack media download 失败。 - 支持
unfurlLinks/unfurlMedia配置。 - text 和 Block Kit thread replies 支持
replyBroadcast。 - inbound prompt context 保留 mention target/source metadata,agent 可区分直接 bot mention 与 thread wake。
- native DM channel ID 的 delivery-mirror route 规范化,避免同一个 Slack DM 被拆成 channel session。
iMessage / Matrix / WeCom / Weixin
- iMessage media-only native image send 不再显示
<media:image>占位文本。 - iMessage tapbacks 改为 reaction system events。
- Matrix 默认将 outbound markdown tables 转为 bullet lists,而不是 fenced code blocks。
- WeCom 官方 onboarding install 更新到
@wecom/wecom-openclaw-plugin@2026.5.7。 - Weixin 外部 catalog entry 更新到
@tencent-weixin/openclaw-weixin@2.4.3。
Browser / Node Pairing / Sandbox
- Browser CLI 显式请求已有
operator.adminGateway scope,减少 browser control 命令触发 scope-upgrade approval loop。 - raw CDP 与 persistent Playwright tab selection 会过滤 browser-internal targets,确保导航打开真实页面标签。
- browser act interaction 增加 navigation checks。
- sandbox browser CDP relay 需要授权。
- pending Node pairing commands、capabilities、permissions 在 approval 前隐藏,并在 pairing 状态变化时刷新 live approved surface。
- node exec event provenance 被验证。
- macOS companion 在首次 pin direct
wss://Gateway certificate 前要求系统 TLS 信任;远程 node-mode 使用显式gateway.remote.tlsFingerprintpin。
Memory / Active Memory / Dreaming
- memory-lancedb npm 插件优先于 bundled fallback,避免 Active Memory 的
memory_recall工具在 managed installs 后消失。 - memory_search 结果的 corpus label 与命中来源对齐,session transcript hits 显示为 sessions,memory file hits 显示为 memory。
- Dreaming promotion 写入
MEMORY.md时会压缩最旧的 auto-promoted sections,同时保留用户手写笔记,控制 active memory 在 bootstrap 预算内。 - ordinary cron 和 heartbeat hook context 中跳过 managed dreaming cron reconciliation warnings。
- configured extra memory paths 会拒绝 symlinked directory components 后再读取 Markdown,减少路径逃逸风险。
Update / Doctor / Config
- update 前 snapshot config,并在 update-time repair/restart 写入时保留 plugin install records。
- update-time config size drops 不再阻断更新,但会提示用户查看 pre-update backup。
- post-update restart health probing 中抑制 false newer-config warning。
openclaw update --tag v2026...支持校验带或不带v前缀的 npm install target,避免安装正确版本后仍回滚。- Doctor/status 对 Gateway token source conflict 的警告更清楚,并在 managed Gateway service credential context 中抑制误报。
- config mutations 集中序列化并重试,避免并发命令互相覆盖。
Build / SDK / 文档
- workspace package management 升级到 pnpm 11,Docker、install、update、release workflow 也对齐 pnpm 11 配置面。
- 启用更多 oxlint、Vitest lint、TypeScript stricter checks,并固定 oxfmt 默认值。
- 依赖版本集中刷新,包括 ACPX、Codex ACP、Baileys、Google GenAI、OpenAI、AWS SDK、Kysely、Aimock、TypeScript、Vitest、Vite、pnpm 等。
- Plugin SDK deprecate / 移除多个历史 public subpaths,保留必要 legacy alias,同时鼓励插件使用更聚焦的 SDK surface。
- 文档导航从泛化的 Tools 调整为 Capabilities,并保留 automation 与 agent coordination 分区。
值得关注
-
Codex OAuth 与图像生成链路更稳
这版明确修复 auth-profile-backed media tools、Codex OAuth refresh、Codex app-server OAuth 复用。对当前依赖openai/gpt-image-2多参考图生成和 Codex OAuth 的工作流有直接价值。 -
Feishu 通道更适合国内手动配置
Feishu 现在默认走手动 App ID / App Secret 绑定路径,并修复 Schema 2 card callback。这对飞书私聊、按钮卡片和国内客户端配置更友好。 -
长期会话与大转录更省内存
transcript streaming 读取和 session_end hook 能减少长会话内存峰值与 ghost rows,对 OpenClaw 长期运行环境是实用修复。 -
插件安装/更新风险下降
pnpm 11、peer dependency preservation、source/git install pinning、doctor managed plugin repair 都能降低升级后插件状态被卡住的概率。 -
安全策略更严格,首次配对/浏览器/节点操作可能多一步授权
多个通道和设备面默认要求显式授权或 admin scope。升级后如果遇到浏览器控制、node pairing、Control UI proxy、sandbox CDP 等请求被拒,优先检查权限与 pairing 状态。
建议升级后检查
openclaw status
openclaw doctor
openclaw cron list --json
openclaw models auth list
openclaw models list
openclaw plugins list
如果重点关注 Codex/OpenAI OAuth 与媒体工具,可补充检查:
openclaw models auth login --provider openai
openclaw status --deep
如果重点关注定时任务和长期会话:
openclaw cron get <job-id>
openclaw sessions --json
风险提示
- 这是大型维护版本,改动跨越核心 runtime、插件安装、通道、Gateway、Codex、sandbox 与权限系统。升级前建议保留配置备份。
- WhatsApp、Slack、Bedrock、Anthropic Vertex 等外部化后,如果本地依赖这些功能,需要确认对应插件/provider 已安装。
- 安全策略收紧后,部分以前能直接执行的 pairing、browser、node、memory-wiki、approval callback 操作可能需要重新授权或调整 scope。
- Gemini 3 Pro Preview 系列 id 被大量规范化为
gemini-3.1-pro-preview,如果配置中手写旧 id,升级后应确认模型解析结果符合预期。
本芙宁娜大人的结论
这版不是单点功能更新,而是一次“把长期运行的边界补齐”的大修:核心更轻、插件更稳、Telegram 与 Feishu 等通道更可靠、Codex/OpenAI 路径更顺、安全默认值更严格。对鸣人的 OpenClaw 工作台来说,最值得关注的是 Codex OAuth 媒体工具链路、Feishu 回调/绑定、Cron 与长会话稳定性、插件安装更新状态 这四块。