
OpenClaw 24h 更新快报(2026-10-26):Cron 自动化归属、模型路由、记忆插件
过去24小时(UTC 2026-10-24 22:16 至 2026-10-25 22:16),openclaw/openclaw 合入 721 个 PR,绝大多数是性能微调与测试清理,但真正影响使用方式的改动集中在三处:早期创建的定时自动化被重新绑定到创建它的会话;同一个定时任务在不同运行时拿到的 owner-only 工具权限被拉齐;Daybreak 工作流摆脱了对即将退役的 Blue/Red 模型别名的依赖。此外,Knowledge 记忆插件正式作为内置插件随发行版一起交付。
下面是值得单独说明的几组改动。
Cron 与自动化的归属和权限
PR #182561 解决的是一类长期存在却无法自助修复的问题:在 OpenClaw 开始记录“哪个会话创建了这条自动化”之前创建的老任务,只按 session key 关联,被判定为未绑定,每次触发都沿用运行会话自己的 board、memory 和 workspace,永远拿不到原会话的资源。改动后,操作者可以把这类历史自动化重新挂回创建它的对话,无需删掉重建。
紧随其后的 PR #182585 修掉了一个权限不一致的越权面:嵌入式运行和 Codex 运行不传 sender 位,除 intent 外的 owner-only 工具全部缺失;而 CLI 运行会把缺失位强制当作 false,反而连一个都拿不到。结果是同一个自动化在不同运行时表现不同,且非所有者的自动化在嵌入式运行里仍保留 owner-only 工具。现在各运行时的判定口径统一,并且会检查任务自身的所有者身份。
为了让操作者能提前看到影响,PR #182328 给 openclaw doctor 加了“Cron”下的只读检查项,列出哪些自动化会失去访问权限、哪些会暂停、哪些仍未绑定,--fix 前后都会打印。同一方向上,PR #172916 让未绑定的 native-login CLI 自动化改用 CLI 自身的登录凭据,而不是被环境变量还原出的宿主推断凭据;原生独占任务不再继承 Gateway 凭据,仍保留 context、thinking 和工具策略配置。
模型路由与切换的可观测性
PR #177812 是一次面向兼容性的前置修复。Daybreak 工作流依赖的 Blue/Red 别名将于 2026 年 10 月 28 日退役,改动让 Daybreak 改为通过授权的 Access 配置保持自动恢复能力,不再依赖这两个别名,选中的模型和处理速度都不变;聊天菜单的分段 Access 选项只在账号、模型或运行时明确声明了 Daybreak 计划时出现,顺序为 Access 高于 Effort 高于 Speed。
PR #182742 补上了一块审计空白。此前在控制台切换模型不留任何聊天记录,现在被接受的变更会在对话里显示“Model changed from A to B”。同时,如果会话中已有消息,切换到非本地模型前会要求确认,取消则保持原模型,并可选择在该浏览器内不再询问。改动复用了已有的系统通知与确认对话框,没有引入新机制。
路由侧另一处修正是 PR #182437:通过 Bedrock Mantle 自动发现的编号版 GPT 模型此前会继承 Chat Completions 路由,选中后无法调用。现在 GPT-5.5 与 GPT-5.6 走 Responses 传输和区域 /openai/v1 端点,GPT-OSS 保持通用 /v1 路由。PR #183470 则处理了兜底逻辑被误伤的情况:宿主生成的输出 token 上限警告会被当成已送达的助手回答,从而在空回复时抑制配置好的模型回退,修复后无实际回答的重试可以正常走回退链路。
对于使用托管 Claude Code 回合的用户,PR #183765 提供了操作者可控的开关 plugins.entries.anthropic.config.managedNativeTools,用于在托管回合中保留 Claude 原生的 Agent 与 Workflow 编排工具子集。自 2026.10.7 起托管回合会以 --tools "" 启动 Claude Code,这两个工具此前没有任何受支持的保留方式。
Agent 会话与执行正确性
PR #172959 处理的是一个容易被误判为卡死的场景:父 Agent 等待委派结果时,若采集器仍在工作,父任务会在约 15 分钟后被当作僵死工具终止,结果无人消费。改动后,已授权且归属明确的待定采集器会让父 Agent 持续等待,直到采集完成、收到 Stop、调用方权限失效或触及既有执行期限,Code Mode 内部的采集同样适用。
状态记录的诚实度也在同步修正。PR #182458 指出,当工具被拒绝而 Agent 从未生成回复时,运行在元数据和轨迹里仍被记为成功,现在改为报告为失败,同时被拦截工具的告警依旧只提示一次。
与之配套的还有两处会话连续性修复:PR #181591 让受限子 Agent 完成时不再替换所有者的原生 Codex 线程,所有者会在原线程上以引用上下文接收未见过的完成输入与回答;PR #183829 修复了 Gateway 重启后主会话的目标续跑被中断的问题,重启时选中被中断的会话后此前只报告 dispatch_settled 而不继续工作,现在续跑会在操作者当前权限下自动恢复。
记忆:Knowledge 内置与检索排序
PR #180139 把 Knowledge 证据型记忆插件改为随 OpenClaw 一起交付的 bundled plugin,默认关闭,通过 plugins.slots.memory: "knowledge" 开启。内置构建打开了一份真实独立 Knowledge 存储的副本且无需迁移步骤。已经手工安装独立插件的用户需要手动切换,因为已安装副本的优先级高于内置版本。
检索质量方面,PR #177450 修正了混合检索的打分:此前偶发的关键词重合会把语义更接近的笔记排到后面,在问题与笔记使用不同语言时尤其明显。现在弱关键词命中的权重被压低,强词法匹配仍保留原有权重,无需改配置或重建索引,代价是纯关键词堆砌的分数可能跌破调优后的 minScore。
存储侧,PR #182821 去掉了 PostgreSQL 上 embedding 缓存达到上限后每次写入都全表扫描加排序的开销,在默认 5 万行规模下,单次淘汰从约 6–8 毫秒降到约 0.2 毫秒,淘汰顺序、淘汰数量与 schema 都不变。
渠道投递的完整性
PR #182438 修复了飞书流式卡片在工具调用后丢失前文的问题。此前回复分发器把后续的分片和普通终稿当作对先前内容的替换,导致助手在工具执行后再发消息时,用户只能看到工具之后的那段回答;现在工具调用之前写下的正文会完整保留在同一条回复里。
另一处飞书修正是 PR #182441:在多机器人会话里,飞书会剥掉被呼叫机器人自身的 @ 提及,Agent 因而丢失了对谁提问的判断,现在群聊和私聊中都能拿到完整的提及上下文,命令匹配、鉴权、防抖准入与顺序路由行为不变。
其他渠道方面,PR #183028 修复了 Telegram 原生提问在进度草稿退役时与投递撞车而被静默丢弃的问题,现在提问及其按钮会借助 Telegram 既有的草稿事件队列投递一次;PR #178521 让 Nextcloud Talk 对明确要求语音回复的请求使用 Talk 原生语音形式呈现,MP3/WAV 保留字幕与回复目标,普通音频和不受支持的编码仍按附件发送。
构建运行时与开发者体验
PR #183224 为 standalone 构建器引入了实验性的 AOT 构建模式,开发者可以用具备 AOT 能力的 Bun 选择 --aot-source、裁剪、函数源码保留和字符串代码生成限制等编译控制项,不再需要维护一份独立的应用补丁栈;JIT 与字节码模式仍保留完整的 emitted 模块清单。
命令行侧的可见性也有补充。PR #178483 让 openclaw plugins list 输出增加 Trust 列,--verbose 下会给出记录的信任原因,并明确提示信任是来源出处而非代码安全性保证,缺失的记录保持留空而不暗示结论。
这一天的基调是收敛而非扩张:底层性能优化大量铺开,真正的行为变化集中在让自动化、模型与记忆的归属更明确,让同一份配置在不同运行时和不同渠道上得到一致的处理结果。


评论