OpenClaw 24h 更新快报(2026-07-16):云端会话回收、Discord 频道安全、插件契约拆分

内容管家 AI领域评论29字数 1267阅读4分13秒阅读模式
OpenClaw 24h 更新快报(2026-07-16):云端会话回收、Discord 频道安全、插件契约拆分

OpenClaw 24h 更新快报(2026-07-16):云端会话回收、Discord 频道安全、插件契约拆分

过去 24 小时,OpenClaw 仓库共合并了 89 个 PR,涵盖云端 Worker 会话生命周期管理、Discord 频道通知权限隔离、插件类型系统重构、Reef 文件传输信任模型以及 Agent 命令编排等多个模块。其中最受关注的变化是 Control UI 现在可以完整接管云端 Worker 会话的运行与回收,解决了 Gateway 重启后无法找回工作结果的长期痛点。

云端 Worker 会话生命周期:从 Dispatch 到回收的全链路闭环

本次更新最具影响力的改动来自 PR #108398(124 个文件,size: XL)。此前用户可以把一个会话分发到云端 Worker,却无法在 Control UI 中安全地回收它——Gateway 重启后工作区变更无法保留,已完成的结果也无从找回。

新实现提供了完整的会话放置生命周期:持久化的工作区结果隔离(workspace-result fencing)、崩溃安全的 SQLite 日志、确定性本地协调、强制关闭协调,以及 Control UI 的 stop/ reclaim 操作。这意味着即使用户在任务执行中途失去连接,也能在重启后完整恢复工作上下文,而非从头开始。涉及 Android 控制端、Web UI 以及核心 Gateway 协同。

Discord 频道通知安全:不再向无关成员发送问候

PR #108448 修复了一个长期存在的隐私与资源浪费问题:配置在某个频道的"用户存在问候"(presence greetings),会向同一公会(guild)内完全无关的其他成员重复触发,从而不必要地唤醒 Agent 并暴露交互上下文。

修复方案是让 Discord 存在状态监听器在路由唤醒请求前,先验证目标成员是否实际可以查看所配置的频道。公共线程继承父频道可见性;私有线程额外要求成员身份或"管理线程"权限。查找失败时拒绝唤醒,而非静默放行。

插件类型契约重构:3,051 行巨型文件拆分为 13 个专注模块

PR #108416 将 `src/plugins/types.ts` 这个包含 provider 认证、运行时、命令注册、迁移和主插件 API 的 3,051 行合同文件,拆分为十三个专注领域模块。新结构让 `types.ts` 保留为稳定公共外观,具体领域定义下沉到各自独立的模块。

这一改动降低了未来对插件系统进行定向修改的认知负担,也消除了此前为绕过单文件行数限制而添加的 grandfathered max-lines 抑制注释。

Reef 文件传输:对等信任模型中心化到 SQLite

PR #108375 解决了 Reef 文件传输插件中信任状态分散在 relay 状态、插件配置和进程内 Map 中的问题。分离的授权权威在节点重启、并发请求、密钥轮换或删除竞争后,可能导致出站投递结果与本地信任状态不一致。

重构将 relay 确立为唯一真实的读操作权威,同时将写入路径也集中到 SQLite,使信任策略在各种边界条件下保持一致。

节点配置 SQLite 化:消除 node.json 并发初始化竞争

PR #108457 将节点身份与 Gateway 连接元数据从 `node.json` 文件迁移到共享状态 SQLite 数据库,作为一条原子快照写入。在此之前,节点身份创建存在并发竞争:升级期间运行时代码不得不在文件状态和数据库状态之间做选择题。

迁移后运行时只读写 SQLite,`openclaw doctor --fix` 负责处理文件到数据库的迁移,不再存在双重权威。

Agent 命令编排重构:3,000 行单体拆分为相位所属模块

PR #108424 将 Agent 命令入口从超过 3,000 行的单体模块中解放出来。该模块此前混合了会话准入、模型选择、尝试执行、转录持久化、投递和清理逻辑,导致故障路径审核&查验困难且存在 grandfathered 行数抑制注释。

新结构将命令拆分为 `src/agents/command/` 下的多个相位所属模块,`agent-command.ts` 保留为编排边界,提供与之前完全相同的公共行为,但内部职责清晰隔离。

其他值得注意的修复

PR #108343 修复了冻结发布验证中 Docker 构建上下文污染和 Codex 目录不兼容问题(涉及 432 个文件)。 PR #108433 修复了 QA Channel 消息操作可以越权访问其他 QA 账户消息的认证漏洞。

整体来看,本次更新的主基调是"基础设施的内聚性与边界清晰化":通过 SQLite 中心化消除状态分散、通过模块拆分降低认知负担、通过权限验证隔离安全边界——这些都是有高质量工程团队标志意义的日常重构。

常用链接

 
内容管家

发表评论