帖子

OpenClaw 小龙虾 2026.5.22 更新日志

一句话总结

2026.5.22 是一次非常大的性能、运行时稳定性、安全边界和多通道修复版本。核心方向是:Gateway 启动和模型列表热路径提速、Meeting Notes 插件体系落地、Plugin SDK 能力面扩展、QA-Lab 发布门禁强化、Codex/OpenAI/子代理链路更稳、消息工具投递证据修复、Windows/macOS 更新安装链路收敛、Memory/Dreaming 与通道投递可靠性增强


统计概览

类别 数量/说明
原始 changelog 行数 263 行
Changes 起始行 2
Fixes 起始行 49
版本性质 大型维护版本,偏性能、安全、运行时稳定性和发布链路
重点模块 Gateway、Models、Codex、Subagents、Plugin SDK、QA-Lab、Control UI、Telegram/Slack/Discord/Feishu、Memory、Windows/macOS、OpenAI/Gemini/Anthropic/Ollama
最值得关注 /models 热路径从约 20 秒降到约 5 ms;Meeting Notes 插件上线;默认子代理上下文收窄;OpenAI 图片改走 native Images API;Codex app-server compaction/超时/消息工具投递修复密集

核心亮点

1. Gateway 与模型列表性能大幅优化

  • Gateway 复用 process-stable channel catalog reads,避免重复 bundled-channel 边界检查。
  • Gateway watch CPU profiles 增加轮转机制,避免 benchmark 运行持续堆积无限 artifacts。
  • 启动、配置、模型、通道、setup、secret metadata 读取路径复用不可变 plugin metadata snapshots。
  • startup-idle plugin work、Gateway core method handlers 和 embedded ACPX runtime 改为 lazy-load。
  • Gateway health / ready signals 不再等待未使用的 handler tree 或 ACPX probe。
  • Plugin SDK public-surface alias maps 被缓存,macOS Linuxbrew PATH 探测也跳过无关慢路径。
  • /models 和模型列表调用通过 provider auth-state map 预热,单次成本从约 20 s 降到约 5 ms,约 4,100x 提升。

2. Meeting Notes 插件体系落地

  • 新增 source-only external meeting-notes plugin。
  • SDK 新增 source-provider contract,位于 core npm package 外部。
  • 支持 auto-start capture config。
  • 支持手动导入 transcripts。
  • 新增只读 openclaw meeting-notes CLI 访问。
  • Discord voice 成为第一个 live source。

3. 文档与配置说明大量补齐

  • 补充 Signal configPath、Telegram wildcard topic defaults、本地时间 backup archive names、Termux home fallback 等配置说明。
  • 加强 include-path validation、secret-scanner-safe placeholder、Gemini CLI / Antigravity media、macOS VM auto-login 文档。
  • 补充 Codex migration、model-usage portability、thread-bound subagent limits、hook ownership、config-preserving safety guidance。
  • 补充 WhatsApp QR/408 recovery、cron output language prompts、Gateway upstream 403 排障、Plugin fallback override。
  • 补充 browser CDP diagnostics、limited-tool troubleshooting、cron HEARTBEAT handling、Telegram multi-agent groups、Bitwarden SecretRef、EasyRunner deployments。
  • 补充 Gateway exposure runbook、Copilot/Voyage setup、MEDIA directives、secrets plaintext boundaries、Feishu dynamic agents 和中文术语表。

4. Plugin SDK 能力面继续扩展

  • 新增 generic channel-message poll sender,使通道插件可以提供 poll delivery,而不依赖特定通道 SDK facade。
  • 新增 row-level session workflow helpers。
  • loadSessionStore 被标记为 deprecated,鼓励插件读取和 patch session 行级数据,降低对 legacy whole-store shape 的依赖。
  • 新增 generic embeddingProviders capability contract 和注册 API,使 embeddings 成为 memory adapter 之外的可复用 provider surface。
  • external plugin runtime 下,OpenClaw plugin SDK subpaths 解析不再修改 package installs,也不扩大 process-wide module resolution。

5. 子代理默认上下文收窄

  • 默认 sub-agent bootstrap context 限定为 AGENTS.mdTOOLS.md
  • 默认不再把 persona、identity、user、memory、heartbeat、setup 文件带入 delegated workers。
  • 这能降低隐私泄露面,也减少子代理获得不必要长期记忆和人格文件。

6. QA-Lab 与发布门禁更严格

  • OpenTelemetry smoke harness 扩展到 trace、metric、log export 验证。
  • 新增 Prometheus 和 observability smoke aliases。
  • 加入 curated mock JSONL replay fixtures 和 first-drift reporting,增强 runtime parity audits。
  • QA coverage report 会列出 named scenario packs 和 live transport lane membership。
  • package integrity checks 前置到 package acceptance lanes 之前,避免私有 QA assets 泄入公开包。
  • release-soak artifacts 包含可选 100-turn runtime parity soak。
  • 新增 Codex plugin lifecycle、auth-profile fixture coverage、gateway restart recovery、streaming final-integrity、personal-agent failure recovery 等场景。

7. 安全与发布供应链增强

  • root npm package 和 OpenClaw-owned npm plugins 使用 generated shrinkwrap。
  • suitable plugin tarballs 支持 bundled plugin runtime dependencies。
  • lockfile / shrinkwrap 变更需要 review。
  • shrinkwrap package versions 保持在 pnpm lock graph 内,防止 published package locks 绕过 pnpm dependency age 和 override policy。
  • Docker setup 不再在 setup logs 和 follow-up commands 中打印 Gateway bearer token。
  • Node/Linux service 将 token 写入 node-specific env file,避免 OPENCLAW_GATEWAY_TOKEN 出现在 systemd unit 文件。

重点模块整理

Gateway / Models / Startup

  • Gateway dispatch 阶段会复用兼容的 startup plugin registry,减少 safe plugin dispatch 的重复 registry loading。
  • provider auth-state prewarm 延后到 startup readiness 之后,早期 Gateway tool/session requests 不再被 provider auth discovery 阻塞。
  • auth-profile 失败后会合并 provider auth-state rewarm,并记录 warm/rewarm 的 event-loop delay。
  • 取消的 provider auth-state prewarm 不再继续完整 provider sweep。
  • Gateway restart lifecycle runtime 改为 eager-load,避免 in-place upgrade signal handling 在包替换时 deadlock restart imports。
  • Gateway service PATH generation 和 doctor audit 会包含 active openclaw command bin directory。
  • Gateway status 增加 inbound delivery telemetry counters 和 transport-liveness warnings。

Control UI / WebChat / TUI

  • chat session picker 新增搜索和 Load More 分页,初始加载保持有界,同时可访问旧会话。
  • session search 保持在 selector 内,不再出现重复 standalone search row。
  • focused mode header chrome 折叠,隐藏 header 时的 scroll updates 被抑制,减少滚动跳动。
  • thinking selector 对已知 non-reasoning models 禁用,避免显示重复 Off。
  • 粘贴 data:image/...;base64,... 时会转成图片附件,而不是把 payload 塞进输入框。
  • logs 面板剥离 ANSI escape sequences,避免彩色控制码直接显示。
  • TUI 会镜像 internal-ui message-tool replies 到最终 chat output,message-tool-only agents 不再“无声”。
  • TUI streaming watchdog 在同 run 收到 chat event 后立即消失,不再残留“响应时间过长”提示。

Codex / OpenAI / Provider

  • Codex API-key image generation 改走 native OpenAI Images API,不再通过 Codex OAuth streaming backend,避免有效 API key 触发 401。
  • OpenAI-compatible endpoint 调用会省略空 tool payload fields,严格 vLLM 风格服务可接受无工具 turn。
  • OpenAI Responses API 家族遇到 non-visible reasoning-only turns 会重试,而不是当作空失败 turn。
  • OpenAI video edit 改发到文档化的 /videos/edits endpoint,并附带 video file,不再提交 MP4 references 到 /videos
  • OpenAI/Codex 保留稀疏 openai-codex/gpt-5.5 catalog rows 的 image input support。
  • OpenAI structured provider error 会保留 code、type 和脱敏 body metadata。
  • Responses 和 Chat Completions reasoning_tokens usage metadata 被保留,并避免 aggregate output token 双计。
  • Anthropic 1M context 迁移到 GA-capable Claude 4.x models,忽略退休的 context-1m-2025-08-07 beta。
  • Google/Gemini freshness-bound search 会剥离 fractional seconds,避免 Gemini 拒绝时间范围过滤。
  • Gemini 3 cron 的 thinkingDefault: "low" 会被保留,即使陈旧 catalog metadata 显示 reasoning:false
  • Microsoft Foundry 的 DeepSeek V4 Pro / Flash 走 Foundry Responses API,旧版 DeepSeek 模型保持原路径。
  • OpenCode Go 会剥离 Kimi 不支持的 reasoning replay fields,避免重复 kimi-k2.6 turn schema validation 失败。

Agents / Subagents / Sessions

  • 默认子代理 bootstrap context 收窄,减少不必要人格和记忆文件进入 worker。
  • tool-only child progress 会出现在 timeout summaries,不再显示“无输出”。
  • native sub-agent completion handoff 简化:child 把最新可见 assistant result 报给 requester,不使用 message。
  • required child-run completion 若只报告 progress、没有 final deliverable 或 requester delivery 失败,会标记 blocked。
  • blocked child-run completion 会作为错误暴露,而不是成功子代理完成。
  • explicit subagent allowlist targets 必须是 configured agents,stale deleted-agent ids 会被省略并拒绝。
  • stale cached agent-session entries 与 store updates 竞争时,Gateway 保留新鲜 session overrides 和 metadata。
  • session write-lock acquisition 阶段执行 max-hold policy,长时间持有的锁可在 stale-lock window 前被回收。
  • /new rotation 时会暴露 previous-transcript archive failures,避免 rename 失败被静默隐藏。
  • Gateway/ACP 会在 parent session reset/delete 时关闭通过 sessions_spawn 派生的 child ACP sessions,避免 orphan 进程累积耗尽内存。

Cron / Heartbeat / Scheduled Runs

  • Telegram forum-topic delivery target 由 Telegram plugin 解析,支持 :topic::topicId
  • cron.retry.retryOn: ["network"] 会覆盖常见网络错误码,如 EAI_AGAINEHOSTUNREACHENETUNREACH
  • single-owner session.dmScope=main 的 direct-message exec 和 cron event wake 会回到 agent main session,避免异步完成结果流入孤立 DM 队列。
  • group/channel heartbeat runs 遵循 message_tool visible-reply policy 和 model-specific Codex runtime config,失败的内部工具输出保持私有。
  • Codex heartbeat response tool schemas 可持久复用,但不会暴露 turn policy 禁用的 dynamic tools。

Messaging / Channels

  • WebChat 会摘要 internal message-tool source replies,tool cards 不再重复可见回复正文。
  • Telegram 保留显式 :topic: conversation suffix。
  • Telegram local path / filePath 和 structured attachment media 会正常通过 sendMessage actions 发送,不再降级为纯文本。
  • Telegram fenced code block languages 在 Markdown 渲染后被保留。
  • Telegram isolated ingress missing-harness failure 会进入 dead-letter,避免毒化 spooled update 阻塞同 lane 后续消息。
  • Telegram default isolated polling path 支持 channels.telegram.pollingStallThresholdMs,沉默 worker 会重启。
  • Telegram 按 chat/message identity 去重 replayed dispatches,避免 isolated-ingress replay 触发重复模型调度。
  • Slack 在 monitor、slash-command、fallback 和 direct reply 路径中会先抑制 reasoning payload,避免泄露模型推理内容。
  • Slack native plugin approval prompts 会投递到 originating app conversation thread。
  • Discord component workflow 的 agentComponents.ttlMs callback registry lifetime 可配置,最长 24 小时。
  • Discord recovery 与 /stop abort ownership 保持在 source dispatch lane,避免 bound ACP turns 泄漏。
  • Matrix 显式配置的双人房间优先走 room route,避免 stale m.direct 或 strict two-member DM fallback 绕过 mention gating。
  • Channels 对 bare abort messages,如 stopabortwait,在 inbound debounce 中立即作为控制命令处理。

Memory / Dreaming / QMD

  • LanceDB 通过 active memory provider bridge 暴露 public memory artifacts,memory-wiki 可导入 durable memory files、daily notes、dream reports 和 event logs。
  • Memory doctor 会把缺失或不可用 QMD workspace directories 报为 workspace failures,而不是泛化为 binary failures。
  • configured extra memory paths 中的 ~ 会先展开,避免 home-relative folders 被当成 workspace-relative。
  • dreaming.enabled=false 时,memory search 不再因 recall tracking 写入 dreaming side-effect artifacts。
  • Memory-core/dreaming 复用 stable narrative subagent session keys,并保持 per-run idempotency 和有界 cleanup,避免 stale dreaming-narrative-* sessions 累积。

Browser / Proxy / Media / PDF

  • managed proxy 会绕过本地 managed Chrome CDP readiness 和 DevTools WebSocket endpoints,避免 operator proxy 阻断 loopback egress。
  • local embedding origins 对 Ollama 也会绕过 managed proxy,同时保留未配置 target 的 SSRF guardrails。
  • Browser/CDP 增加 WSL2 portproxy self-loop hint,当 Chrome DevTools endpoints 连接成功但 HTTP reply 为空时给出明确排障方向。
  • PDF tool 对远程 PDF body read 增加 120 秒 idle timeout,避免卡死 session。
  • image、music、video completion delivery 修复 task ownership 重复或丢失问题。
  • media/audio 遇到空 structured sherpa-onnx transcript 时跳过,不再把 raw JSON payload 当作 spoken text。
  • media provider credentials、custom provider API keys 会影响 media/image/video/music/PDF tools 是否可用。
  • OpenAI video 支持本地或自托管 video endpoints 的 provider request private-network opt-in。

CLI / Update / Installer / Windows / macOS

  • Windows check stage 通过 managed child runner 与显式 cmd.exe wrapping 运行,避免 Node 24 subprocess deprecation warnings。
  • Windows npm release / prepublish / postpublish 通过 Windows-safe npm command shims。
  • Windows installer 在 WSL2 UNC paths 启动时从 Windows-local directory 运行 npm 和 Corepack shims。
  • Git-backed Windows update 失败时会回滚到 previous checkout。
  • Windows installer 会持久化 user-local portable Git,并启用 repo-pinned pnpm。
  • Windows installer 在无 Node、winget、Chocolatey、Scoop 的裸机上会 bootstrap user-local portable Node.js。
  • portable Node.js 先用 native tar 解压,再回退到 .NET zip extraction,规避 PowerShell 5.1 archive 和路径长度问题。
  • macOS update 会沿 process ancestry 找 inherited Gateway runtime PID,避免 in-band updater 子进程误杀拥有自己的 LaunchAgent-supervised Gateway。
  • LaunchAgent reload 会等待 bootout 完成,bootstrap race 时回退 kickstart;并把 concurrent bootstrap 视作成功,减少错误重启失败。
  • managed Gateway service environment 会在 package cutover 中保留。
  • update handoff helpers 从稳定已有目录启动,可容忍 cwd/package roots 被删除。
  • openclaw update --json stdout 不再混入 managed Gateway service stop/restart 状态行,方便自动化解析 JSON。

Security / Diagnostics

  • Diffs viewer toolbar icons 改用封闭 icon-name map 渲染,移除 toolbar icon XSS sink。
  • browser sandbox bind sources 增加校验。
  • legacy plugin cleanup paths 被约束。
  • channel read target allowlists 被强制执行。
  • setup logs 不再打印 Gateway bearer token。
  • OpenTelemetry log bodies 需要显式 content capture;agent-session scoped keys 从 OpenTelemetry 和 Prometheus labels 中 scrub。
  • denied exec failure logs 省略 raw command text 和 env values,只保留安全 correlation metadata。
  • workspace provider plugins 在 setup-mode discovery 中 fail closed,除非明确 trusted,避免未信任 workspace plugin code 被执行。
  • diagnostics 对 cleanup timeout detail logs 加边界,async diagnostic bursts 超过 queue cap 时输出 drop summaries。
  • OpenTelemetry exporter promise rejections 在 collector shutdown 时被处理,不再导致 Gateway 崩溃。

Fixes 重点摘录

运行卡死与超时恢复

  • Gateway lifecycle error cleanup 在后续非终止事件中保留,provider timeout 可持久化 failed session state,不再留下 stuck running。
  • Gateway chat 会广播 agent-start 后返回的 agent-run error payloads,使 ACP/WebChat 收到 terminal idle-timeout errors。
  • Codex app-server 在 server-side compaction timeout 时会重启 native app-server 并重试一次。
  • embedded auto-compaction session write-lock watchdog 被限定到 compaction timeout,而不是 full run timeout。
  • Codex app-server missing turn completion after observed execution 被标记 replay-unsafe 并释放 session。
  • Codex app-server 为 visible message dynamic tool sends 增加更长 timeout budget。
  • Codex app-server 新增 post-tool raw assistant completion idle timeout config。
  • PDF 远程读取 120 秒 idle timeout 防止 wedged session。
  • deep Docker audit probes 有边界,openclaw status --deep 会报告慢 container checks,而不是无限挂起。

投递可见性与最终回复

  • 成功的 generated media message-tool delivery 不再被后续 false failure message 覆盖。
  • same-source message-tool sends 会镜像进 session transcripts,后续上下文可看到已投递回复。
  • TUI/agents 会显示 message-tool-only agents 的最终输出。
  • WebChat tool cards 不再重复 visible reply body。
  • Channels message tool 会在 in-agent channel selection 时解析 configured external channel plugins。
  • Feishu/Slack/Telegram/cron heartbeat 等通道会更好地区分可见回复、失败私有输出和 delivery evidence。

安装、升级和发布链路

  • managed npm plugin openclaw peer links 会在 post-core convergence 阶段修复,错误 target 会在 restart 前被拒绝。
  • package update 可 pre-pack GitHub/git targets,恢复 openclaw update --tag main
  • junction-backed source checkout 会被识别为 git install。
  • Docker first-run named volumes 预创建 workspace 和 auth-profile config mount points,并设置 node ownership。
  • Docker runtime images 会 prune 未 opt-in plugin 的 source workspaces 和 dependency closures。

Provider 与模型兼容

  • custom provider auth hooks 和 transport selection 支持 per-model apibaseUrl overrides。
  • Ollama Cloud OLLAMA_API_KEY marker 会解析到真实 discovery key。
  • Docker/OrbStack host aliases 被视为 local Ollama endpoints。
  • provider-owned CLI aliases 会通过 harness selection,不再被提前拒绝。
  • moonshot/kimi、Gemini、Anthropic、OpenAI、Copilot、Foundry、Ollama 等多个 provider 的 replay、reasoning、auth、tool-call 和 catalog 兼容性继续修复。

原文结构索引

  • Changes:Gateway 性能、Meeting Notes、文档、Packaging、Media understanding、Subagents、Plugin SDK、QA-Lab、Models/perf、Release/security 等。
  • Fixes:WebChat、Gateway、Agents/subagents、Telegram、Browser/proxy、Ollama、OpenAI、Windows、Sessions、Models、Doctor、Channels、Foundry、Status、Codex app-server、Memory、CLI/update、Slack、Discord、Matrix、PDF、Diagnostics、Installer 等。

https://www.fireself.cn/post/4rPmncDc

未登录无法操作

评论 0

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

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

打开 App