帖子

openclaw 小龙虾 2026.5.5 更新说明

📊 概览

2026.5.5 是一次大规模的 Bug 修复版本,涵盖三大渠道、四个提供者、Control UI 全面检修、CLI/TUI/Doctor 清理、安全加固和插件系统修复。


🛠️ 渠道更新

Feishu (飞书)

  • 话题线程修复: 在会话路由前补全原生话题发起者的 thread ID,确保第一条消息和后续回复在同一话题会话中。修复 #78262。感谢 @joeyzenghuan

LINE

  • DM 策略安全: 拒绝 dmPolicy: "open" 但没有通配符 allowFrom 的配置,webhook DM 在入站处理前即被阻断而非默默忽略。修复 #78316

Telegram / Codex

  • 进度草稿修复: 仅含消息工具类型的进度草稿保持可见,原生 Codex 工具进度每个工具渲染一次,不再重复 item/tool 草稿行。修复 #75641 (#77949)

Matrix

  • 审批重试: 审批消息传递失败时最多重试 3 次(带短退避),临时 Matrix 发送失败不再导致审批提示被遗忘 (#78179)。感谢 @Patrick-Erichsen

Discord

  • 心跳超时修复: 从实际心跳发送时刻开始测量 ACK 超时,防止通道尚未就绪时首条延迟心跳触发假重连循环。修复 #77668 (#78087)。感谢 @bryce-d-greybeard 和 @NikolaFC
  • 文本控制命令: 纯文本控制命令(如 /steer)通过常规授权和提及门控路由,不再在 agent 会话可见前静默丢弃。修复 #78080。感谢 @ramitrkar-hash
  • 推理文本展示: 流式回复中显示实时推理文本而非裸露的 Reasoning 状态行

Slack

  • Socket Mode 日志: 保留 Socket Mode SDK 错误上下文和结构化 Slack API 字段在重连日志中,启动失败不再坍缩为裸 unknown error

WhatsApp

  • 响应性优化: 仅停止已验证的过期本地 TUI 客户端(当其降低 Gateway 事件循环并延迟回复时)。感谢 @vincentkoc

🎨 Control UI

会话管理

  • 检查点展示: 压缩计数改为紧凑的 N Checkpoint(s) 折叠式,展开后以现代检查点历史卡片显示会话级详情,响应式表格布局。感谢 @BunsDev
  • Agent 运行时显示: 每个会话的 agent 运行时在 Sessions 表中展示,并支持按运行时标签筛选,与 Agents 面板的运行时措辞一致。感谢 @BunsDev
  • /new 命令修复: 仅显式 Control UI 创建的会话才触发 /new 命令和生命周期钩子,恢复 session-memory 和自定义钩子捕获,不改变 SDK 父会话创建行为。修复 #76957。感谢 @BunsDev

性能优化

  • 标签响应性: 历史负载和通道探测缓慢时保持 Chat/Channel 标签页响应,标注部分通道状态,在事件日志中记录慢速 Chat/配置渲染时间。感谢 @BunsDev

聊天

  • 进度文本可见性: 当同一条转录同时也包含工具使用元数据时,保留已持久化的助手的进度文本,chat.history 重载后这些回复不再消失。修复 #77374。感谢 @BunsDev

☁️ 提供者更新

xAI (Grok)

  • 推理 effort 修复: 停止向原生 Grok Responses 模型发送 OpenAI 风格的 reasoning_effort 控制参数,xai/grok-4.3 不再因 Invalid reasoning effort 在 Docker/Gateway 中失败
  • Thinking 配置锁定: 将内置 xAI thinking profile 锁定为 off,防止网关运行时向原生 Grok 模型发送不支持的推理级别

Fireworks (Kimi)

  • 推理限制: Kimi 模型仅暴露为 thinking-off-only,K2.5/K2.6 请求保持 thinking: disabled,手动切换模型不会发送 Fireworks 拒绝的 reasoning* 参数。参考 #74289。感谢 @frankekn

OpenAI / Gateway

  • SSE 流修复: 正确刷新聊天流的首个 chunk,首个 token 流式内容可见而非被后续 chunk 延迟

🔒 安全加固

iOS 配对

  • 连接协议修复: 支持通过 setup-code 和手动 ws:// 连接私有 LAN 和 .local 网关,Tailscale/公网路由保持 wss://;混合认证重连时优先使用显式网关密码而非过期 bootstrap token。修复 #47887;延续 #65185。感谢 @draix 和 @BunsDev

Docker / Gateway

  • 容器加固: Docker compose 中移除 NET_RAWNET_ADMIN 能力,启用 no-new-privileges。感谢 @VintageAyu

Exec 审批

  • Windows 重命名修复: 当 Windows 拒绝 overwrite-with-rename 时,回退到受保护的复制,同时保留符号链接、硬链接和仅拥有者权限保护。修复 #77785 (#77907)。感谢 @Alex-Alaniz 和 @MilleniumGenAI

Gateway HTTP

  • 媒体路由修复: 避免为不相关请求加载受管理的出站图片媒体处理器,已禁用 OpenAI 兼容路由返回 404 而无需等待懒加载媒体 sidecar

⚡ Gateway / 核心

关闭/重启

  • 延迟维护取消: 关闭时取消延迟的 post-ready 维护任务,快速重启后抑制维护/cron 启动,防止孤儿后台定时器。感谢 @vincentkoc
  • 结构化关闭警告: 通过 ShutdownResult 报告结构化关闭警告和 HTTP 关闭超时警告,同时保留生命周期钩子加固。延续 #41296。感谢 @edenfunf

OpenAI 兼容端点

  • 200 无响应修复: 流式 chat-completion 头一旦被接受即发送 assistant 角色 SSE chunk,冷 agent 启动不再让 /v1/chat/completions 客户端在空闲超时前收到无主体的 200 响应

模型目录

  • 空结果缓存: 缓存空的只读模型目录结果直至重载,TUI 和控制面板刷新循环不会在无可发现模型时反复锤插件元数据读取。感谢 @vincentkoc

Status/健康检查

  • CPU 误报修复: 避免将快速重复的健康/状态样本标记为事件循环降级(仅从 CPU/利用率判断),直到 Gateway 积累了足够持续采样窗口。感谢 @shakkernerd
  • 上次 Supervisor 重启: openclaw gateway status --deep 中显示最近 supervisor 重启交接,包含 JSON 详情。感谢 @shakkernerd

身份验证配置

  • Token 冲突警告: doctor/status 警告当 OPENCLAW_GATEWAY_TOKEN 与配置中其他活跃的 gateway.auth.token 源不一致时,同时避免配置指向同一 env token 时的误报。修复 #74271。感谢 @yelog

🖥️ CLI / TUI

TUI 稳定性

  • CLI 重绕修复: 交互式启动跳过通用 CLI respawn wrapper,终端丢失时干净退出,拒绝将 heartbeat 会话恢复为记忆的聊天会话,防止首次启动时过期 heartbeat 历史和孤儿 openclaw-tui 进程。感谢 @vincentkoc
  • 会话选择器: 限定会话选择器为最近行,活跃会话使用精确查找式刷新,大量旧存储不再让 TUI 在 hydrating 数周前的转录后才变得可响应。感谢 @vincentkoc

CLI 会话

  • 工件清理: 常规会话清理时修剪旧的未引用转录、压缩检查点和轨迹工件,Gateway 重启或崩溃的孤儿不会在 sessions.json 之外无限积累。修复 #77608。感谢 @slideshow-dingo
  • Agent 运行时显示: openclaw statusopenclaw sessions 中显示所选 agent 运行时/框架

CLI 通道

  • 启动提速:openclaw channels 父帮助命令跳过配置、代理、通道选项目录、banner-config 和插件启动引导,打印帮助后立即退出。感谢 @vincentkoc

CLI 更新

  • dev-channel 修复: 获取失败后干净停止 dev-channel 更新,不再继续执行后续步骤
  • 预检 lint 可选: dev-channel 预检 lint 改为 opt-in,且启用时受限,openclaw update --channel dev 不会在 Ubuntu 主机 OOM-kill 或并行 oxlint 分片失败时回滚原本好的主 commits。感谢 @vincentkoc

Doctor 增强

  • Codex 路由修复:openai-codex/* 遗留路由修复为 openai/*,仅在 Codex 插件已安装、启用、提供 codex 框架且有可用 OAuth 时选择 agentRuntime.id: "codex";否则选择 "pi"。感谢 @vincentkoc
  • Heartbeat 中毒修复: 将 heartbeat 污染的默认主会话存储条目移至恢复键,清除过期 TUI 恢复指针,doctor --fix 可修复卡在 agent:main:main heartbeat 历史的实例。感谢 @vincentkoc

🧩 插件系统

诊断插件

  • TypeScript 包警告: 纯源码 TypeScript 包的警告变为可操作——说明缺少编译运行时输出是发布者的打包问题,建议用户更新/重装或禁用/卸载插件。修复 #77835。感谢 @googlerest

插件更新/安装

  • 官方插件同步: 主机更新期间保持已安装的官方 npm 和 ClawHub 插件(Codex, Discord, WhatsApp, 诊断插件)同步,即使被禁用或之前精确 pinned,同时保留第三方插件 pin。感谢 @vincentkoc
  • peer 依赖修复: 更新前修复过期的 managed npm-root openclaw peer 包,beta-channel 官方插件更新不会被旧核心 package-lock 状态降级。感谢 @vincentkoc
  • 共享 root 修复: 共享 root npm 安装、更新、卸载后重新断言 managed npm 插件的 openclaw peer 链接,修改一个插件不会让之前安装的 SDK 使用插件无法解析 openclaw/plugin-sdk/*。感谢 @vincentkoc
  • 损坏记录容错: 更新时容错损坏的 managed 插件记录,核心包更新仍可完成并报告插件修复路径

🤖 Agent 核心修复

媒体处理

  • 附件去重: 将附件风格的消息工具操作视为已完成的聊天发送,防止已上传的生成文件重复回退发布。感谢 @vincentkoc
  • 异步完成去重: 避免在 announce-agent 运行仍在等待时直接回退已生成的媒体完成,异步视频和音乐完成不会重复推送原始媒体消息 (#77754)
  • WebChat/Codex 媒体: Codex app-server 生成的本地图片在 Gateway 展示前先 stage 到 managed media,避免 LocalMediaAccessError。感谢 @frankekn

上下文引擎

  • 运行时消息隔离: 隐藏的 OpenClaw 运行时上下文自定义消息不在 context-engine 的 assemble/afterTurn/ingest 钩子中出现,转录重建插件只看到对话消息。感谢 @vincentkoc

钩子 / Session-Memory

  • 文件名冲突修复: fallback 记忆文件名增加碰撞后缀,同一分钟内重复的 /new/reset 捕获不会覆盖之前的存档。感谢 @vincentkoc
  • LLM slug 可选: reset 记忆捕获在命令回复路径之外运行,模型生成的记忆文件 slug 通过 llmSlug: true 选择加入,/new/reset 不再阻塞 WhatsApp 等渠道的回复。感谢 @vincentkoc

Agent 配置

  • 遗留路径移除: 移除模糊的遗留 main agent 目录辅助函数;model/auth/gateway/插件/测试辅助函数通过 agents.list/agent-scope 辅助函数解析默认/会话 agent 目录,插件 SDK 保留弃用兼容导出。感谢 @vincentkoc

生成的媒体

  • 去重修复: 将附件风格的消息工具操作视为已完成的聊天发送,防止已上传的生成文件重复回退发布

🖥️ 平台特定

iOS

  • 配对协议修复: 见安全加固章节 — 支持 setup-code 和手动 ws:// 连接私有 LAN/.local 网关

Windows

  • Exec 审批重命名: 见 Exec 审批章节

🧪 杂项

  • Auth 配置集: 格式级别拒绝不将提供者加入冷却期,模型名不支持时回退配置集仍可尝试
  • WebChat/Codex: 同上 Codex 媒体修复
  • Gateway 媒体路由: 跳过不相关 HTTP 路由的媒体 sidecar 处理
  • Discord 推理草稿: 流式回复中显示推理文本
  • 视频生成: 接受提供者特定的 aspect-ratio 和 resolution 提示,720P 标准化为 MiniMax 支持的 768P,停止在 Gemini 视频请求中发送 Google generateAudio,提供者回退可从模型特定参数差异中恢复。感谢 @vincentkoc
  • Status 增强:/status 中显示 Gateway 进程运行时间(紧凑格式)和系统运行时间。感谢 @vincentkoc

🧪 致谢贡献者

@joeyzenghuan, @Patrick-Erichsen, @bryce-d-greybeard, @NikolaFC, @ramitrkar-hash, @BunsDev, @Alex-Alaniz, @MilleniumGenAI, @draix, @googlerest, @vincentkoc, @shakkernerd, @yelog, @frankekn, @slideshow-dingo, @edenfunf, @VintageAyu, @frankekn 及更多社区贡献者


本文件由 芙宁娜 🎭 整理自原始英文修复日志

https://www.fireself.cn/post/uM0SUVjo

未登录无法操作

评论 0

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

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

打开 App