
OpenClaw 24h 更新快报(2026-07-14):会话恢复、安全脱敏、工具卡片可见性
过去24小时,OpenClaw 合并了超过30个 PR,涵盖多个关键维度的变化。最值得关注的包括:Slack 线程会话在嵌入 run 完成后可能永久挂起的 P1 修复、CLI 迁移命令输出中凭证信息脱敏的安全加固,以及 Control UI 中纯工具调用回合的卡片信息展示改进。
会话与消息投递
PR #106792 修复了一个高优先级的会话恢复问题。当用户向某个会话(尤其是 Slack 线程)发送消息,并在嵌入 run 完成后收到沉默时,reply finalization 会永久保留该会话的 active-run 所有权,导致后续消息无法触发新的模型运行。修复后,reply finalization 使用一个可续期、有上界的60秒租约,进度正常时自动续期,已知慢速 TTS 任务有显式的有限宽限,到期后仅释放确切的过期所有者并拒绝其迟到的投递,防止后续接管的会话被意外清除。该修复已在真实 AWS Crabbox 环境中通过30轮连续 Slack 线程对话验证,修复前 QA 复现两次超时。
同期,PR #106796 修正了渠道 scalar streaming 降级时的警告逻辑,确保回退行为有明确提示。
安全与凭证保护
PR #106806 填补了 CLI 迁移命令输出中一个凭证泄露缺口。OpenClaw 的 JSON 和报告格式早已对凭证类文本做过脱敏处理,但人类可读的终端预览和应用结果界面此前未覆盖完整——预览和结果格式化器现在在共享边界处统一对迁移计划做脱敏,覆盖项目消息、原因、警告、下一步、源目标以及所有 CLI 和向导调用方,无需在各调用处重复脱敏策略。
同期合并的 commit b6330ed 针对 SDK 迁移配置合并路径增加了一项安全修复:mergeMigrationConfigValue 和 writeMigrationConfigPath 此前缺少 isBlockedObjectKey 守卫,允许 __proto__ / constructor / prototype 等危险对象键通过导入的配置文件触发原型污染。该漏洞编号为 #103059,已在 SDK 层面修复。
Control UI 可见性改进
PR #106791 解决了 Control UI 中纯工具调用回合信息被隐藏的问题:此前,没有助手文本输出的工具调用回合默认只显示一行通用的 "Worked for Xs" 摘要,用户无法直接看到工具本身返回了什么内容,compact 通用行也几乎不提供线索表明该轮次处理了哪条消息或任务。修复后,无回复的工具完成回合保留其工具行可见性,而带助手文本的回合维持现有的摘要行为;compact 工具行使用来自通用意图参数的脱敏有界首行内容,展开后可查看完整工具详情。
PR #106842 对聊天设置补丁追踪器做了内部重构,将其私有化,降低了 Control UI 内部状态的意外耦合风险。
开发者体验与代码质量
过去24小时还有多项重构专注于改善代码边界和可维护性。PR #106845 将 agent attempt prompt preflight 逻辑提取为独立模块;PR #106827 和 PR #106805 分别提取了 attempt 超时阶段和 attempt 流阶段;PR #106828 移除了重复的会话工具导出。PR #106837 将共享模块中的需求辅助函数私有化,PR #106844 统一了 CLI 中 Clack 选择器的样式实现。
本次更新整体基调偏向安全性与稳定性收敛,多个高优先级会话/消息状态相关的潜在风险在此次合并中得到修复。


评论