OpenClaw 24h 更新快报(2026-10-20):Solid 渲染重构、快照验证器压缩、Settings 数据层简化

内容管家 AI领域评论8字数 988阅读3分17秒阅读模式
OpenClaw 24h 更新快报(2026-10-20):Solid 渲染重构、快照验证器压缩、Settings 数据层简化

OpenClaw 24h 更新快报(2026-10-20):Solid 渲染重构、快照验证器压缩、Settings 数据层简化

过去 24 小时,openclaw/openclaw 仓库共有 6 个已合并 PR,全部来自 contributor steipete。核心主题集中在 Solid 视图层的数据流重构与代码规模精简:Cron、Settings 两大页面相继移除冗余数据副本,OptionCard 清理已弃用的桥接代码,而快照验证器通过复用 TypeBox intern 路径一次性压缩了超过 1200 行生成代码。

视图层数据流重构:Cron 与 Settings 同步简化

两个页面本周相继完成了相同模式的重构:将渲染器中手动维护的数据副本,改为直接从页面 owner 投射(projection)派生。

PR #177735 针对 Cron 视图。原有实现中,渲染器单独重新声明了页面已经生成的数据,导致两套契约需要同步维护。改动后渲染器从现有 projection 派生数据props,保留原有回调契约的 Cron 类型模块由页面 owner 和渲染器共享。Cohen 的六文件生产 LOC 净减 42 行,测试无变化。

PR #177724 针对 Settings 页面,采用完全相同的模式:移除渲染器中手动维护的第二份数据副本,改为从页面 owner 派生渲染约定。7 个单调用 section、locale 和 theme 帮助函数现在直接位于其现有回调槽位,不再经过转发层。生产 LOC 净减 97 行,所有 60 个可选字段保留,3 个测试文件 47 个测试通过。

快照验证器生成代码大比例压缩

PR #177719 一次性压缩了 ChatHistoryState 和 ChatTranscriptMetadata 的验证器生成代码——将 TypeBox 的 Intern 路径应用于这两个类型,移除重复的 identity、participant 和 scalar schema 段落。生成 LOC 从 2532 行降至 1270 行,净减 1262 行;Handwritten generator 部分则净增 7 行。全量 shipped JS gzip 减少 3701 B,Chat boot JS gzip 减少 921 B,New Session boot JS gzip 减少 900 B。

代价是验证时的计算成本有小幅上升:在 20,000 条混合元数据的校验样本中,history state 中位 CPU 时间从 385.976 ms 升至 567.328 ms,transcript metadata 从 13.045 ms 升至 29.513 ms。团队认为这一 tradeoff 可接受,因为这些校验发生在持久化快照读取(restore/prewarm)阶段,不在流式输出路径上。

OptionCard 废弃桥接代码清理

PR #177738 清理了 OptionCard 组件在原生桥接移除后遗留的冗余代码。OptionCard 的 Native Bridge 在 PR #171744 中已移除,但 Solid 渲染器仍保留了可选桥接 props、空 props 分支和一对已无生产监听的 DOM 事件(option-select/option-skip)。Custodian owner 已提供 question 并接收 selection/dismissal 回调,所以这些代码已无人使用。生产 LOC 净减 20 行,测试 LOC 净减 8 行,6 个专项测试全部通过。

Socket 安全扫描路径修复

PR #177733 是一个纯回归修复:在 PR #177655 将私有 JSONL socket 折叠进 exec-host 之后,网络 CodeQL 路由和分类的引用仍指向已删除的文件,QA 上线清单也保留了已删除的远程 onboarding 帮助引用。修复将扫描范围、shard 选择器、sensitive-diff 过滤和精确 owner/function 分类全部跟随到 exec-host 中的存活函数。生产运行时 LOC 增量为零。

Worker 准备阶段去重解码

PR #177730 处理 Worker 准备流程中的重复解码问题:准备阶段已构造并承认了 project 或 empty-workspace 的 facts,但内部消费者会再次解码这些 facts 并比较复制来的 preparationKey。改动后给私有 prepared intent 赋予实际的结构类型,直接消费其嵌套的 preparation,并将已解码的 durable preparation 携带进现有的池生成流程。生产 LOC +95/-72,净增 23 行,属于"少做重复工作"的清理而非功能删除。

本次更新整体基调一致:没有新功能上线,全部是视图层数据流治理、代码规模压缩和回归修复。

常用链接

 
内容管家

发表评论