
OpenClaw 24h 更新快报(2026-05-06):Agent 会话、Discord 推理流、媒体完成防重
过去 24 小时,OpenClaw 合并了 10 个 Pull Request,集中在三个方向:嵌入式 session 的转录持久化机制完善、Discord 渠道推理流显示体验修复,以及多处媒体完成通知的防重复发送逻辑加固。
Agent / 会话转录与消息处理
PR #77839 修复了嵌入式 session(runner: "embedded")的 JSONL 转录持久化问题。此前只有 CLI 模式的 run 会触发 persistCliTurnTranscript,导致 WebChat / Feishu 风格的嵌入式场景下,助手侧的文本无法写入 session JSONL 文件。这次的改动将 embedded 路径与 CLI 路径合并,复用已有的 persistTextTurnTranscript 路径,并在 compaction hook 层面上做了嵌入式 session 文件的处理适配。
PR #77840 修复了 embed 模式下 lastBlockReplyText 的错误触发时机。emitBlockChunk 曾在新块内容为空(silent NO_REPLY-only 的流式文本)或有效负载被清空时,提前写入 lastBlockReplyText,导致 handleMessageEnd 误认为已有块回复而跳过 Telegram 等渠道的回退投递路径。修复改为仅在实际块回复发送成功后,才记录 lastBlockReplyText。
PR #77754 将 announce-agent 网关响应标记为 pending 而非 fallback-worthy,防止在 announce agent 仍在运行时重复发送原始媒体文件。结合 PR #78068 的改动,系统现在能正确识别 upload-file、sendAttachment、sendWithEffect 等上传类消息行为,不再在 Discord 等需要 message tool 的渠道上触发双重发送。
Discord 渠道体验改进
文件名冲突修复
两个 PR 分别修复了不同场景下的文件名冲突:PR #77765 针对 QQBot 的 /bot-logs 导出,PR #77762 针对通用的 /export-session 命令。二者问题相同:文件名只精确到秒,同一秒内的两次导出会覆盖同一文件。修复均采用独占创建语义,冲突时自动重试并追加 -2、-3 等后缀。注意用户显式指定路径的场景不受影响,仍保持覆写行为。
Gateway / 流式协议
PR #77794 修复了 OpenAI 兼容流式接口的冷启动超时问题。streaming POST /v1/chat/completions 在建立连接后到写入首个事件前有空闲窗口,可能导致客户端在 OpenClaw 输出第一个事件前就因超时中断。新版在 disconnect 处理安装完毕后立即写入标准的 assistant role 块,后续再继续正常的内容、usage、stop 和 [DONE] 块。
其他
PR #77938 合并整理了 codex 文档目录中迁移后的页面,涉及其 Docker、Gateway 相关文档的路径更新。PR #77845 修复了 update 流程在获取数据失败后仍继续推送开发版更新的问题,避免无效状态传播。
整体来看,本次更新以稳定性修复和渠道行为优化为主,涉及 Agent 会话管理、消息投递可靠性以及用户体验的细节打磨。


评论