乐于分享
好东西不私藏

OpenClaw 5.22:/models 从 20 秒到 5 毫秒,最烦人的卡顿被砍掉了

OpenClaw 5.22:/models 从 20 秒到 5 毫秒,最烦人的卡顿被砍掉了

01这不是推理变快,而是模型列表变快

5.22 里最容易被误解的一点,是4100 倍提速到底发生在哪里。

它不是说大模型生成速度提升了 4100 倍,也不是说 token 输出变快了。Release note 里的描述很明确:优化发生在/models和所有模型列表调用上。

换句话说,它解决的是“系统列出可用模型时很慢”的问题。这个动作本身不负责推理,却经常出现在控制台、WebChat、CLI、模型选择器、插件初始化等流程里,所以一旦慢,就会把整个使用节奏拖住。

很多 AI 工具的卡顿,并不总是卡在模型生成,而是卡在模型枚举、插件发现、外部 CLI 探测、会话加载这些热路径上。

02为什么会从 20 秒降到 5 毫秒

5.22 的做法,是在 Gateway 启动时预热 provider auth-state map。这样后续请求/models或触发模型列表时,就不需要在热路径上逐个进行 provider 插件和外部 CLI discovery。

这可以理解成一次“把重活前移”的优化:该检查的状态先准备好,用户真正点击模型列表时,走的是更短、更稳定的路径。

Release note 给出的数字非常直接:单次调用成本从约 20 秒降到约 5 毫秒,约 4100 倍;热重载之后也会重新 reset 并预热。

对重度用户来说,这种变化比新增一个低频功能更有感知。因为模型列表不是偶尔才碰一次,而是很多工作流都会隐性触发。

03Gateway 也在做一组“少重复、少等待”的优化

/models只是这次性能变化里最有传播感的一条。5.22 还有多项 Gateway/perf 更新,方向基本一致:减少重复读取、减少无意义探测、减少启动时不必要的阻塞。

A

复用稳定读取

复用 process-stable channel catalog 读取,避免重复做 bundled-channel 边界检查。

B

复用插件元数据

在 startup、config、model、channel、setup、secret metadata 等读取路径中复用不可变插件元数据快照。

C

延迟加载闲置工作

startup-idle plugin work、核心 Gateway handlers、嵌入式 ACPX runtime 都改为更懒加载的方式。

D

减少文件系统探测

缓存 Plugin SDK public-surface alias maps,并跳过无关的 macOS Linuxbrew PATH probe。

这几项合在一起,说明 5.22 不是只修了一个 endpoint,而是在清理 Gateway 日常运行里的重复成本。

04Control UI:会话多了以后,加载方式必须变

Control UI/chat 这次也有一个很实用的变化:聊天会话选择器加入了搜索和Load More分页。

Agent 工具用久之后,会话数量会自然膨胀。WebChat、CLI、IM 通道、插件任务都会留下历史。如果会话选择器每次都一次性加载全部内容,控制台迟早会变慢。

5.22 把初始会话加载控制住,同时让旧会话仍然可以通过搜索和继续加载找回来。这个变化不花哨,但很符合长期使用场景。

这类体验优化的重点,不是“能不能打开”,而是“数据多了以后还顺不顺”。

一个 Agent 产品真正进入日常后,历史会话、插件状态、模型配置都会积累。加载策略不改,早晚会变成卡顿源。

05Sub-agent 默认上下文变瘦

5.22 还调整了 sub-agent 的默认 bootstrap context:默认只保留AGENTS.mdTOOLS.md

persona、identity、user、memory、heartbeat、setup 等内容,不再默认塞给 delegated worker。

这个变化背后有三层意义:

  • 任务更聚焦:子 Agent 更像执行一个明确任务,而不是继承主 Agent 的完整身份包袱。
  • 上下文更轻:默认提示更短,长任务里更不容易被无关信息撑爆。
  • 边界更清楚:个人记忆、身份信息、内部状态不会默认扩散到每个子任务里。

这不是一个显眼的新功能,但对多 Agent 委派来说很关键。Agent 越复杂,上下文边界就越需要默认收紧。

06Plugin SDK:插件能力开始被拆成更清楚的边界

5.22 里的 Plugin SDK 变化不少,但核心不是“插件又变强了”这种泛泛说法,而是 OpenClaw 正在把插件能力拆成更稳定、更可复用的接口。

1. 通道插件可以暴露通用投票发送能力

新增 generic channel-message poll sender 后,通道插件可以暴露 poll delivery,而不必依赖某个特定通道自己的 SDK facade。这让不同消息通道的能力更容易统一。

2. 会话读写从“大对象”走向“行级 helper”

Release note 提到新增 row-level session workflow helpers,并弃用loadSessionStore。这意味着插件可以更精确地读取和 patch 会话,不必总是依赖旧的 whole-store shape。

3. Embedding provider 成为可复用能力面

这版加入了通用embeddingProviderscapability contract 和注册 API,让 embedding 不再只绑定在 memory-specific adapter 里,而是可以作为更通用的 provider surface 被插件复用。

如果后续要继续扩展长期记忆、检索、插件化知识库、多 embedding 服务适配,这类接口会变得越来越重要。

07Meeting Notes:从核心包外侧扩展会议记录能力

5.22 还加入了一个 source-only external meeting-notes plugin,以及 SDK source-provider contract。

它支持自动开始 capture 配置、手动 transcript 导入、只读的openclaw meeting-notesCLI 访问,并把 Discord voice 作为第一个 live source。

这条更新的意义不只是“新增会议记录”。更重要的是,它把会议记录这类垂直能力放在核心 npm 包之外,通过插件和 SDK contract 承接。

对 OpenClaw 来说,这是一种比较健康的扩展方式:核心系统提供边界和协议,具体场景能力由插件承载。

08修复项很多,可以按用户感知归成三类

5.22 的 Fixes 很长,不适合逐条堆。按用户能感知到的方向,可以分成三类。

  • 运行稳定性:Gateway 保留 deferred lifecycle-error cleanup,避免 provider timeout 后会话卡在 running;session write-lock 也加入 max-hold policy。
  • 模型与接口兼容:OpenAI-compatible 端点在无工具回合里省略空 tool payload 字段,让更严格的 vLLM 风格服务端更容易接受请求。
  • 界面与通道体验:WebChat 不再让 tool cards 重复可见回复;/verbose on在 direct chats、groups、channels、forum topics 等场景里保持一致。

它们共同指向一个方向:减少状态异常、减少重复信息、减少接口兼容问题。

09OpenClaw 5.22 的真正重点

5.22 的重点不是“功能爆炸”,而是三个词:变快、变轻、边界更清楚

  • 变快:/models从约 20 秒降到约 5 毫秒,Gateway 也减少了多处重复读取和探测。
  • 变轻:sub-agent 默认上下文收窄,会话选择器用分页控制初始加载。
  • 边界更清楚:Plugin SDK、meeting notes、embedding provider、session workflow helpers 都在把能力拆得更明确。

对个人 Agent 工具来说,这些变化很关键。用户不会一直为“架构更完整”买单,但会直接记住:模型列表是不是秒开,控制台是不是顺,会话是不是找得到,子任务是不是不乱带上下文。