帖子

OpenClaw 小龙虾 2026.5.20 更新日志

一句话总结

2026.5.20 是一次偏运行边界、安全策略和计划任务稳定性的维护版本。核心方向是:Exec approvals 与 Skill 加载路径收紧、Cron 成功输出和主会话隔离修复、Codex harness 升级、MiniMax 音乐参数语义修正、Doctor 安全诊断增强、消息投递去噪、Subagents 完成回传、Gateway/CLI/Nodes/Control UI/macOS/iOS/Windows/Docker 发布链路修复


统计概览

类别 数量/说明
原始 changelog 字节数 17,453 bytes
主要区块 Changes / Fixes / Release verification
版本性质 中大型维护版本,偏安全边界、Cron、Codex、渠道投递和发布链路
重点模块 Exec approvals、Cron、Codex、MiniMax、Doctor、Subagents、Messages、Gateway、CLI、Control UI、macOS/iOS/Windows/Docker
需要关注 Skill 文件必须通过 read 工具加载;Cron final output 修复;MiniMax 不再宣称支持 durationSecondsimage_generate 默认 watchdog 提升到 120 秒

核心亮点

1. Exec approvals 与 Skill 加载路径收紧

  • 移除旧的 cat SKILL.md && printf ... && <skill-wrapper> allowlist 兼容路径。
  • Skill 文件必须通过 read 工具加载。
  • 只有真实 skill executable 会被自动允许。
  • 影响:以后不能依赖“拼接读取 SKILL.md + wrapper”的旧兼容方式来绕过审批。

2. Codex harness 升级到 @openai/codex 0.132.0

  • 内置 Codex harness 升级到 @openai/codex 0.132.0
  • 同步刷新 app-server model-list 文档,适配新模型目录。

3. Policy 插件进入 CLI

  • CLI 新增内置 Policy 插件。
  • 支持基于策略的 channel conformance checks。
  • 支持 doctor lint findings。
  • 支持 opt-in workspace repair。
  • PR:#80407

4. MiniMax 音乐参数语义修正

  • 停止宣称 MiniMax 支持 durationSeconds 精确控制。
  • 移除自动注入 prompt 的 duration hints。
  • music_generate 会报告 MiniMax duration 是 unsupported override。
  • 修复:#84508

重点模块整理

新功能与增强

Discord 与语音会话

  • Discord voice sessions 可以跟随配置的 Discord 用户进入语音频道。
  • 增加 allowed-channel checks。
  • 支持 multi-user handoff。
  • reconciliation 被限制在有界范围内。
  • 保留 DAVE recovery。
  • PR:#84264

Discord / realtime voice 上下文

  • 实时语音会话默认包含有界的 IDENTITY.mdUSER.mdSOUL.md profile context。
  • 可通过 voice.realtime.bootstrapContextFiles: [] 禁用。
  • PR:#84499

Agent 配置

  • 新增 agents.list[].experimental.localModelLean
  • lean local-model mode 可按 agent 单独开启,不必全局开启。

xAI Provider

  • 新增 device-code OAuth 登录。
  • 远程与 headless 环境可授权 xAI,无需 localhost browser callback。
  • PR:#84005

OpenRouter Provider

  • OpenRouter 请求支持 provider-level params.provider routing policy。
  • model 与 agent params 会覆盖 provider 默认值。

Cron 与计划任务修复

成功任务输出投递

  • 当 successful scheduled runs 的 diagnostics 尾部仍有普通 tool warning 时,Cron 会投递首选 final assistant output。
  • 不再因为尾部 warning 把整次 run 标记为失败。

Cron final output

  • recovered tool warnings 保留为诊断信息。
  • 成功任务的 final cron output 不再被 post-processing warning 替换。
  • PR:#84045

main-session Cron 隔离

  • main-session scheduled work 改走 cron-owned wake lane。
  • 保留 reply delivery context。
  • 后台 cron turns 不再阻塞人类主会话聊天。
  • 修复:#82766
  • PR:#82767

isolated scheduled tasks 审批拒绝

  • 使用 structured embedded-run denial metadata。
  • blocked exec requests 会使 job 失败。
  • 普通 assistant prose 不再被误判为 denial。
  • PR:#84067

旧版 jobs.json 兼容

  • 加载或新增 scheduled jobs 时保留 legacy top-level array jobs.json
  • 旧 cron jobs 升级后不再被当作空 store。
  • 修复:#60799
  • PR:#84433

cron show 防挂起

  • openclaw cron show 的 job lookup pagination 增加边界。
  • non-advancing 或 unbounded cron.list 响应会失败,而不是挂住命令。
  • 修复:#83856
  • PR:#83989

Tasks、Subagents 与 Agent 运行

tasks maintenance

  • openclaw tasks maintenance --json 增加 stale-running task maintenance decisions。
  • retained 与 reconcile candidates 会解释:
    • backing-session
    • cron
    • CLI
    • wedged-subagent state
  • PR:#84691

Subagent completion 恢复

  • stale completion announces 会通过不等待 transcript 的方式重试 unsupported transcript-wait wakes。
  • requester run stale 时强制 message-tool handoff。
  • 修复:#83699
  • PR:#83700

dormant requester 处理

  • 跳过 dormant completion requesters 的 stale embedded-run wake probes。
  • late subagent completions 直接走 requester-agent 或 direct handoff。
  • 减少 reason=no_active_run 队列噪声。
  • PR:#82964

wildcard subagent allowlists

  • wildcard subagent target allowlists 被约束到 configured agents。
  • 显式列出的 compatibility targets 继续保留。
  • 修复:#84040
  • PR:#84357

trajectory flush 诊断

  • pi-trajectory-flush timeout warnings 包含 bounded trajectory queued-writer diagnostics。
  • flush stall 会显示 pending writes、queued bytes 与 append state。
  • 修复:#82961
  • PR:#82962

Codex 与 OpenAI Agent 相关

app-server system prompt report

  • bootstrap hooks 只提供 path + content 的 workspace files 时,system-prompt reports 仍可正常工作。
  • hook 注入的 SOUL、IDENTITY、TOOLS、USER context 会正确报告 injected characters。
  • PR:#84736

image_generate watchdog

  • image_generate dynamic-tool calls 默认 watchdog 调整为 120 秒。
  • 条件:没有 per-call timeout,也没有 configured image timeout。
  • 避免图像生成落回 generic 30 秒 bridge timeout。
  • PR:#84254

Codex diagnostics

  • large diagnostic backlogs drain 时,避免重复 dynamic tool terminal diagnostics 阻塞 tool responses。
  • PR:#82937

strict tool schema downgrade

  • OpenAI provider 对重复 strict tool-schema downgrade diagnostics 按 provider/model/tool signature 只记录一次。
  • 保留 strict=false fallback 行为。
  • 修复:#82930
  • PR:#82933

code mode schema 文案

  • 模型可见 schema 中明确 exec 工具约束:
    • JavaScript/TypeScript
    • 无 Node module
    • catalog-bridge 约束
  • 减少 agent 试错。
  • PR:#84269

Codex account

  • /codex account 尊重显式 models auth order 与 config.auth.order
  • 当显式顺序中的 profile 全部不可用时,不再错误标记低优先级 profile 为 active。
  • 修复:#84386
  • PR:#84412

encrypted Responses reasoning replay

  • stale mirrored Codex transcripts 会丢弃无效 encrypted content。
  • 保留同 session 匹配的 replay。
  • 修复:#83836
  • PR:#84367

消息、渠道与投递

message-tool-only turn 停止条件

  • source-channel message 成功发送后,message-tool-only turns 会停止。
  • transcript mirrors 仍在 session write lock 下保持一致。
  • PR:#84289

message-tool replies

  • normal progress 在 message-tool replies 中更紧凑。
  • 防止 final answer 后出现 late text-only tool output。
  • PR:#84303

message JSON

  • openclaw message --json 在 channel sends 返回 message id 时,包含稳定 top-level messageId
  • PR:#84191

suppress tool errors

  • messages.suppressToolErrors 对 mutating tool failures 生效。
  • 已配置的聊天表面不再收到额外 warning payload。
  • PR:#81561

Gateway agent summary

  • agents.list[].name 未设置时,Gateway agent summaries 使用 agent 的 identity.name
  • 客户端中配置的 agent labels 仍可见。
  • PR:#84355

Doctor、安全与配置

MCP tool policy 诊断

  • sandbox tool policy 隐藏 configured MCP server tools 时,Doctor 会在 provider requests 前警告。
  • PR:#84699

明文 secret 配置警告

  • Doctor 会警告 openclaw.json 中的 plaintext secret-bearing config fields。
  • 覆盖模型 provider API keys 和 sensitive provider headers。
  • PR:#84718

thinkingFormat 修复

  • doctor --fix 会移除无法识别的 models.providers.*.models[*].compat.thinkingFormat 值。
  • stale provider model config 升级后可重新通过验证。
  • 修复:#77803

secret file fail-closed

  • tryReadSecretFileSync 恢复 fail-closed 合约。
  • credential loaders 设置 rejectSymlink: true 时会拒绝 symlinked credential files。
  • 涉及 Telegram、LINE、Zalo、IRC、Nextcloud Talk tokens。

fs-safe

  • @openclaw/fs-safe 更新到 0.2.7
  • 在 default Python-helper-off policy 下,Linux/macOS 保留 best-effort Node write fallbacks。
  • 覆盖 private stores、secret writes、run logs、media attachments。

Browser、Control UI、Nodes

Browser screenshots

  • browser screenshots 和 labeled snapshots 遵循 configured image sanitization limit。
  • browser-captured images 与其他 image results 使用同样 resize policy。
  • PR:#84595

Control UI terminal 状态

  • terminal session status 优先于 stale active-run flags。
  • completed terminal runs 不再显示 abort/live UI。
  • PR:#84057

Control UI usage panel

  • usage panel 中过长的 context skill、tool、file names 会被截断。
  • hover 时仍可查看完整名称。
  • PR:#42197

nodes JSON 输出

  • JSON-mode openclaw nodes 命令中,lazy plugin-registration logs 输出到 stderr。
  • stdout 保持可解析。
  • PR:#84684

nodes approval scopes

  • openclaw nodes approve 前请求 pending node surface approval scopes。
  • exec-capable node approval 可使用 admin-scoped Gateway credentials。
  • 避免 missing scope: operator.admin
  • PR:#84392

Provider 与模型运行时

Anthropic

  • 通过 Claude CLI auth 选择的 Anthropic model refs 会走 Claude CLI runtime。
  • anthropic/opus-4.7 等 shorthand refs 不再回退到 embedded Anthropic billing。
  • 修复:#84222
  • PR:#84374

Provider timeout

  • 尊重显式高于默认 idle watchdog 的 models.providers.<id>.timeoutSeconds
  • cloud 与 self-hosted providers 的长 first-token waits 不再约 120 秒就 fallback。
  • PR:#83979

fallback billing guidance

  • mixed rate-limit + billing fallback exhaustion 时,显示 billing guidance。
  • 不再使用 generic failure copy。
  • 修复:#79396
  • PR:#79489

Ollama

  • /api/show 没有 capabilities 时,未知能力模型默认视为 tool-capable。
  • discovered native Ollama models 可以继续使用 tools。
  • PR:#84055

Memory、Heartbeat 与 Compaction

Memory/search

  • active-memory searches 超时时关闭 local embedding providers。
  • pending local model loads 与 embedding contexts 会被中止并释放。
  • PR:#83858

silent heartbeat artifacts

  • 从 embedded context snapshots 过滤 silent heartbeat response-tool transcript artifacts。
  • 后续用户回合不再被 heartbeat no-op messages 污染。
  • PR:#83477

plugin hooks timeout

  • before_compactionafter_compaction hooks 默认 30 秒 timeout。
  • hung plugin handler 不再阻塞 compaction completion。
  • PR:#84153

CLI transcript compaction

  • plugin-owned CLI transcript compaction 被 host safety timeout 约束。
  • hung context engine 不再 stall post-turn cleanup。
  • PR:#84083

平台与渠道

WhatsApp

  • Baileys 更新到 7.0.0-rc12
  • outbound pending deliveries 每 30 秒定期 drain。
  • 修复 provider 已连接时,队列消息仍需等待下一次 reconnect 才发送的问题。
  • PR:#79083

WhatsApp group diagnostics

  • inbound group diagnostics 更清晰。
  • observed but unregistered groups 指向 channels.whatsapp.groups
  • 不改变 routing 或 sender authorization。
  • PR:#83846

Mattermost

  • 缺失 channel type 时 fail closed。
  • PR:#84091

Matrix / Google Chat / Mattermost

  • 接受 messages.queue.byChannel.matrix queue overrides。
  • queue provider schema/type keys 对齐。

Discord controls

  • Discord message controls 渲染时保留 disabled presentation buttons。
  • PR:#84188

Twitch

  • 新增 test-only client-manager registry reset helper。
  • 非 isolated Twitch tests 可以清除 cached managers。
  • 修复:#83887
  • PR:#84244

CLI、Update 与 Gateway

private QA CLI

  • private QA subcommand 不再导出到 command descriptors。
  • 仅当 OPENCLAW_ENABLE_PRIVATE_QA_CLI=1 时启用。
  • root help 与 subcommand markers 匹配 runtime registration。
  • PR:#84519

update restart

  • restart health checks 支持一版本 CLI/Gateway protocol skew。
  • 后续命令使用 managed Gateway service Node。
  • 避免多 Node 安装时,openclaw update 静默把 gateway 切到另一个 Node binary。

gateway status JSON

  • gateway status JSON 输出 running Gateway version。
  • 保留 existing server metadata。
  • read probes 可 fallback 到 status RPC data。
  • 修复:#56222

config snapshot retry

  • transient failure 后重试 config snapshot reads。
  • 一个 rejected read 不再污染同进程后续命令。
  • PR:#83931

ACP client errors

  • openclaw acp client 失败走 shared error formatter。
  • object-shaped errors 不再输出 [object Object]
  • 修复:#83904
  • PR:#84080

inline root options

  • CLI 保留 inline root option values 中嵌入的等号。
  • 不再在第二个 separator 后截断。
  • PR:#83995

TUI autocomplete

  • TUI autocomplete 包含 Gateway plugin slash commands。
  • connected sessions 可建议 running Gateway 暴露的 plugin-owned commands。
  • PR:#83640

channels logs

  • openclaw channels logs rolling tail window 正好从行边界开始时,保留第一行。
  • src/logging/log-tail.ts 中已修复的 readLogSlice 行为一致。

移动端、桌面端、Docker 与构建

macOS app

  • About settings copyright year 更新为 2026。
  • 本地 packaging 使用稳定 app identity,便于权限测试。
  • 修复当前 Vite / Highlight.js exports 下 Control UI production builds。

Peekaboo bridge

  • 嵌入的 Peekaboo bridge 更新到 3.2.1
  • OpenClaw-hosted UI automation 适配当前 Peekaboo CLI capture flows。

iOS

  • 修复 TestFlight build 的 Release archive compilation。
  • PR:#84255

Gateway/mobile

  • 恢复 iOS/Android onboarding 中 QR setup-code 的 bounded operator tokens handoff。
  • admin 与 pairing scopes 不放进 bootstrap。
  • PR:#83684

Windows installer

  • install.ps1 onboarding 作为 attached child process 启动。
  • 新 Windows 原生安装不再明显卡在 Starting setup...
  • 避免 wizard terminal rendering 被破坏。

Docker

  • 官方 release image keep lists 保留 bundled Codex plugin。
  • Docker pruning 后默认 OpenAI agent harness 仍可用。
  • 修复:#83613
  • PR:#83626

Build 输出

  • 抑制 rolldown-plugin-dts:fake-js 对内联 zod/v4/locales/*.d.cts 的 CommonJS dts warnings。
  • pnpm build 输出在 0.25.1 plugin bump 后保持可读。

其他修复

  • Status 显示 configured default、session-selected model、reason、clear hint、docs link,用于解释 session pinned model 与 agents.defaults.model.primary 不一致的情况。
  • WebChat 在 session change events 标记 active chat run complete 时,清理 stale typing indicators。
  • CLI/channels 保留 rolling tail 首行。
  • Media 对 URL path basename 进行 decode,My%20Report.pdf 会显示为 My Report.pdf
  • 修复 rebuilt system.run argv 检查。
  • Gateway 拒绝慢 node event sends,避免 outbound buffers 无界增长,并记录被拒 payload diagnostic。
  • harden update restart script creation。
  • iOS Release archive compilation 修复。

Release Proof

项目 链接 / 值
npm package https://www.npmjs.com/package/openclaw/v/2026.5.20
registry tarball https://registry.npmjs.org/openclaw/-/openclaw-2026.5.20.tgz
integrity sha512-cgshS76CxS3Vp9NGtJR2UGtVZxVR5/4rvok8DKGGL19DugAftNabsXfYajyAEiJ3dC8QTXNqF62MdQNzUnQe8Q==
full release CI report https://github.com/openclaw/releases-private/blob/main/evidence/2026.5.20/release-evidence.md
full release validation https://github.com/openclaw/openclaw/actions/runs/26248546974
full release validation manifest https://github.com/openclaw/openclaw/actions/runs/26248546974/artifacts/7146395269
normal full CI https://github.com/openclaw/openclaw/actions/runs/26248760810
release checks https://github.com/openclaw/openclaw/actions/runs/26248762847
plugin prerelease https://github.com/openclaw/openclaw/actions/runs/26248761192
npm preflight https://github.com/openclaw/openclaw/actions/runs/26248551138
release publish https://github.com/openclaw/openclaw/actions/runs/26251157671
plugin npm publish https://github.com/openclaw/openclaw/actions/runs/26251316669
plugin ClawHub publish https://github.com/openclaw/openclaw/actions/runs/26251319171
OpenClaw npm publish https://github.com/openclaw/openclaw/actions/runs/26251677950
npm Telegram package E2E https://github.com/openclaw/openclaw/actions/runs/26252161788
macOS preflight/sign/notarize https://github.com/openclaw/releases-private/actions/runs/26252146980
macOS validation https://github.com/openclaw/releases-private/actions/runs/26253801999
macOS publish/appcast https://github.com/openclaw/releases-private/actions/runs/26253953375
appcast https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml
macOS zip https://github.com/openclaw/openclaw/releases/download/v2026.5.20/OpenClaw-2026.5.20.zip
macOS dmg https://github.com/openclaw/openclaw/releases/download/v2026.5.20/OpenClaw-2026.5.20.dmg
macOS dSYM https://github.com/openclaw/openclaw/releases/download/v2026.5.20/OpenClaw-2026.5.20.dSYM.zip
https://www.fireself.cn/post/ER8i0RMt

未登录无法操作

评论 0

列表为空,暂无内容
须弥技术

专业PHP开发,运维技术社区

打开 App