
OpenClaw 24h 更新快报(2026-10-11):运行时查询优化、SQLite 兼容性修复、模型发现改进
过去 24 小时,OpenClaw 合并了超过 30 个 PR,重点集中在三个方向:Agent 运行时性能调优(减少重复数据库查询)、macOS/Linux 跨运行时 SQLite 库兼容性修复,以及模型发现与配置的 UX 改进。本期同时包含重要的平台最低版本更新和设备连接逻辑优化。
运行时性能:减少未变化轮次中的重复数据库查询
PR #168655 针对"未变化轮次"场景进行了显著的性能优化。当 Agent 重复处理相同上下文时,Gateway 原本会在每个轮次重新加载workspace快照、设备配对信息、Skill库选择等运行时事实——这些数据在未变化时完全无需重新查询。
该 PR 引入了快照复用机制:在工作区状态、会话绑定、Skill 库选择、设备目录、GitHub 署名和审批准备等环节,Gateway 直接复用已持有的快照而非重新查询数据库。写入发布(write publications)会使快照失效;数据库回收(retirement)会清理旧快照;调用方收到独立的值。
实测数据:热启动轮次中,当前线程 SQL 查询从 34 次降至 6 次(降幅 82.4%),请求数从 15 次降至 3 次(降幅 80%);全线程 SQL 从 683.4 次降至 656.9 次(降幅 3.9%)。所有 11 个受影响文件(170 个测试)通过回归验证。生产代码净增 473 行、删除 76 行,测试代码净增 207 行、删除 14 行。
稳定性:macOS Bun 环境下 SQLite 库兼容性修复
PR #168564 修复了 OpenClaw 在 macOS 上运行于 Bun 运行时时的数据库初始化失败问题。当 Homebrew 等标准 SQLite 库不可用时,OpenClaw 曾尝试回退使用 Apple 打包的系统 SQLite(3.54.0),但该版本与 OpenClaw 的只读连接逻辑存在兼容性问题:
在 rollback-journal 模式下,`BEGIN IMMEDIATE` 在同一进程持有读锁时会返回 `SQLITE_IOERR_LOCK`(3850);在 WAL 模式下,在 `-wal`/`-shm` 文件不存在时打开只读连接会返回 `SQLITE_CANTOPEN`(14)。
修复后,Bun on macOS 在发现没有合格 SQLite 库时,会直接在启动时拒绝并给出清晰错误信息,指明存在的候选库及其问题(通常是架构不匹配),同时提示修复方案(`brew install sqlite` 或设置 `OPENCLAW_SQLITE_LIBRARY` 环境变量指向正确架构的库)。macOS App 不受影响,因为它始终使用打包的 SQLite 库;Node 和 Linux/Windows 上的 Bun 行为保持不变。
模型配置:API-Key 登录后立即发现模型目录
PR #168617 修复了在 Models 页面或通过 `models auth paste-api-key` 命令保存 API Key 后,模型目录无法立即刷新的问题。之前的实现在 API Key 保存后,模型发现请求可能错误地将已保存的 Profile ID 用作 Bearer Token,而非实际的 Key 内容。
修复后,API-Key 登录可以立即在约 2 秒内通过被动 `models.list` 轮询暴露提供商的所有模型,无需 Gateway 重启或手动刷新。现有字面 Key、SecretRef 和已保存的 Profile 绑定保持原有格式,无需迁移或重新输入凭证。该修复覆盖了 vLLM、SGLang 和 OpenRouter 等多个本地模型提供商。
平台兼容性:macOS / iOS / Safari 最低版本提升至 26.2
PR #168595 将 macOS、iOS/iPadOS 和 Safari 的最低支持版本提升至 26.2,Control UI 同时要求 Chrome 147+ 或 Firefox 150+。这一变更的背景是 Control UI 的原生 Overlay 功能需要更新的现代浏览器能力基线。
Capability 检测仍然基于特性检测而非 User Agent 解析,缺失必需 Overlay 能力的浏览器会显示现有升级提示界面,原生 App 则保留"在浏览器中打开"的跳转操作。Sparkle 更新框架已验证可正确读取新的最低系统版本。
设备与连接:默认加入为 session-host 服务
PR #168623 改进了新设备加入流程的默认行为。之前新加入的设备默认是前台命令模式,而 New Session 对已配对设备给出的指令包含无效的无目标 reconnect 命令,并错误提示"没有已配对的 session host"。
修复后,CLI 和 Control UI 默认提供的命令变为 `npx -y openclaw connect --service --session-host`,即安装一个可运行 Agent 会话的背景节点服务,同时保留命令-only 服务的备选方案。已配对设备则会收到正确支持的指令(`openclaw config set nodeHost.workerRuns.enabled true` 然后 `openclaw node install --force`),并通过空 host 提示区分"配对"和"启用 hosting"两个不同阶段。
本次更新基调偏重基础设施层的稳定性与性能优化,运行时查询削减和 SQLite 兼容性修复直接影响所有用户的日常使用体验。


评论