---
title: "v2026.9.6"
summary: "托管更新、重新启动恢复、完整的 30 天使用情况报告、GitHub 和远程工作区工具、实时会议记录和新模型选择。"
description: "OpenClaw v2026.9.6 的发行说明,涵盖托管更新、重新启动恢复、使用情况报告、GitHub 阅读器、远程工作区、实时会议记录、TypeSafe Jev 和新聊天模型。"
keywords:
- "OpenClaw"
- "v2026.9.6"
- "发行说明"
- "托管更新"
- "重新启动恢复"
- "使用情况报告"
- "GitHub读卡器"
- "远程工作空间"
- "实时会议记录"
- "决策模型"
- "Claude Opus 5.5"
- "GPT-6 索尔和露娜"
- "Grok 4.7"
---
# v2026.9.6
AI 代理和工具可以将这些发行说明读取为 [plain Markdown](https://raw.githubusercontent.com/openclaw/openclaw/main/CHANGELOG/2026.9.6.md)。
OpenClaw 2026.9.6 带来更清晰的托管更新结果、重新启动后未完成工作的恢复以及完整的 30 天使用情况报告。 GitHub 阅读器在聊天之外带来公开讨论和差异,而远程工作区则获得文件、内存和技能,并且随着捕获的继续,会议记录也会更新。可选决策模型添加了 TypeSafe Jev 和本地选择,以及对 Claude Opus 5.5、GPT-6 Sol 和 Luna 以及 Grok 4.7. 的新聊天模型支持
**发布规模:** 2,614 个拉取请求、178 个直接提交和 350 个贡献者。
## 安装和入门
当安装无法继续时,安装程序具有更清晰的恢复路径,并且新的自定义代理会保留您批准的作业。
Windows 安装程序可以在 Node 包管理器尝试失败后继续,在将官方便携式运行时下载到您的用户帐户之前尝试其余选项。该便携式恢复不需要管理员访问权限,而如果无法验证支持的运行时,安装程序仍然会停止。 OpenClaw 还可以识别通过其完整路径配置的受支持的 JavaScript 命令行启动器,而无需更改 Windows 的可执行扩展设置。有关设置选项,请参阅 [ 安装指南](/install/installer)。
来源和完整变更列表
**错误修复**
- 在 Windows 设置过程中修复过时的 Winget Node 注册。 [76cf13b](https://github.com/openclaw/openclaw/commit/76cf13b65b5040c79ac94294f8569af120253eef) 感谢 [@ooiuuii](https://github.com/ooiuuii) 和 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 在 Node 包管理器尝试失败后继续 Windows 设置。 [#134386](https://github.com/openclaw/openclaw/pull/134386) 感谢 [@ly85206559](https://github.com/ly85206559) 和 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- Verify 支持显式 Windows JavaScript CLI 路径,无需 PATHEXT 更改,而裸命令名称保留正常的 PATH/PATHEXT 查找。 [#152862](https://github.com/openclaw/openclaw/pull/152862)
在 FreeBSD 上,不受支持的源安装现在会在更改现有安装之前停止,并将您指向 [ 软件包安装路径 ](/install/installer#install-clish)。使用已发布的 npm 版本或具有相同安装前缀的兼容内置 `.tgz` 软件包。如果 pkg 或 Ports 管理 OpenClaw,请继续使用该包管理器。仍然不支持源安装,并且此更改不会使 FreeBSD 成为第 1 层平台。
来源和完整变更列表
**限制和兼容性**
- 在安装前拒绝不支持的 FreeBSD 源安装并解释支持的包路径。 [#151227](https://github.com/openclaw/openclaw/pull/151227) 感谢 [@vincentkoc](https://github.com/vincentkoc) 和 [@lucarinaorg](https://github.com/lucarinaorg).
如果 Node 明确拒绝启动工作线程的权限,OpenClaw 可以检查当前进程中的 SQLite,而不是错误地报告 SQLite 不可用。这有助于在受限环境中进行设置和诊断,同时保留权限和网关的其他工作人员要求。
来源和完整变更列表
**错误修复**
- 当 Node 拒绝工作人员时检查 SQLite 功能。其他worker失败仍然报错。 [#152075](https://github.com/openclaw/openclaw/pull/152075)
当 Podman 由于缺少主机端初始化帮助程序而无法创建沙箱时,该错误现在会解释要修复的内容。在运行 Podman 引擎的计算机上安装 `catatonit` 或更正其配置的路径,包括使用时在 Podman 机器内部。 [Podman 设置指南](/install/podman) 涵盖了此要求,您必须在启用现有沙箱保护的情况下重试之前提供该要求。
来源和完整变更列表
**错误修复**
- 解释对丢失的 Podman 主机初始化帮助程序的修复,而不自动安装它们或禁用 `--init`。 [#152308](https://github.com/openclaw/openclaw/pull/152308)
如果无效的配置阻止安装,错误现在会指示您在重试之前运行 `openclaw doctor --fix`。 [Doctor](/cli/doctor) 在您明确请求时应用受支持的修复。安装程序在保存建议时也会保持响应,并在继续之前等待保存进度,存储故障仍报告为错误。
当 OpenClaw 自动安装 `fd` 或 `ripgrep` 搜索帮助程序时,有效的编码下载不再失败,因为它们的传输大小与下载的存档不同。当无法读取不相关的目录时,安装还可以在存档内找到可读的工具。对解码档案和提取控制的现有 100 MiB 限制仍然有效。
来源和完整变更列表
**改进**
- 当后备数据库肯定不存在时,跳过 Matrix 已保存的身份验证存储探测。现有或不确定的状态仍然接受正常的凭证验证。 [#152576](https://github.com/openclaw/openclaw/pull/152576)
**错误修复**
- 点无效配置恢复到显式Doctor修复。 [#130035](https://github.com/openclaw/openclaw/pull/130035)
- 在存储建议的同时保持设置响应,并在继续之前等待保存的进度。 [#152445](https://github.com/openclaw/openclaw/pull/152445)
- 接受有效的编码帮助工具下载。 [#154676](https://github.com/openclaw/openclaw/pull/154676)
通过 [Control UI](/web/control-ui) 创建的新自定义代理现在将其批准的用途保留为保存的说明,以供以后对话使用。这适用于在本地工作区中创建自定义代理时。现有说明保持不变,冲突的说明会提示您选择另一个工作区。改变拟议的目的需要重新获得批准。
一旦待处理的问题、设置步骤和批准完成,重新打开 **新代理** 会带回创建选择,而不会放弃询问 OpenClaw 对话。新代理还会保留您请求的显示名称与其标识符分开,包括当您选择捆绑角色时。
来源和完整变更列表
**错误修复**
- 在创建自定义和捆绑角色代理时保留请求的名称,同时保持角色指令和现有代理不变。 [#151449](https://github.com/openclaw/openclaw/pull/151449)
- 在创建时保存自定义代理的批准用途,而不覆盖现有工作区说明。自定义用途不能与捆绑角色模板或远程工作区结合使用。 [#154137](https://github.com/openclaw/openclaw/pull/154137)
- 重新打开新代理时恢复创建选择,同时保留对话和待处理交互优先级。 [#154167](https://github.com/openclaw/openclaw/pull/154167)
生产版 npm 安装在 macOS、Windows 和 Linux 上,其未使用的 Bash 解析器材料少了约 18 MiB,同时保持相同的命令解析行为。这减少了已安装的文件,无需更改配置。
新构建的 Cloudflare 模板映像还省略了未使用的 Litestream 下载存档,同时保留了可执行文件。现有部署的映像将保持不变,直到您重建并部署它们。
来源和完整变更列表
**改进**
- 从 npm 安装中删除未使用的本机 Bash 解析器负载。 [#154843](https://github.com/openclaw/openclaw/pull/154843) 谢谢 [@vincentkoc](https://github.com/vincentkoc).
- 将 Litestream 存档保留在 Cloudflare 运行时映像之外。 [#154778](https://github.com/openclaw/openclaw/pull/154778) 谢谢 [@vincentkoc](https://github.com/vincentkoc).
## Web UI
Web UI 现在可显示您可以访问的完整会话报告中 30 天的使用情况,以及对日常聊天及其控件的改进。
使用 [ 命令面板 ](/web/control-ui/sessions-and-sidebar#command-palette) 从文本或粘贴的屏幕截图启动独立任务,同时保持当前对话和草稿就位。按 Cmd/Ctrl+K 打开它,然后按 Cmd/Ctrl+Enter 或 **New session** 开始工作,而普通 Enter 应用当前搜索而不是打开过时的结果。创建失败会保留图像以供再次尝试,但关闭调色板通常会丢弃未发送的图像。
您还可以选择最多十个人在开始任务时提及。单独输入姓名并不会选择收件人,提及也不会共享对话或授予访问权限。
来源和完整变更列表
**改进**
- 直接从命令面板启动后台会话 [#152370](https://github.com/openclaw/openclaw/pull/152370) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski)、[@jalehman](https://github.com/jalehman).
- 从命令调色板启动图像任务 [#153238](https://github.com/openclaw/openclaw/pull/153238) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 在编写长或多行提示时暂停命令面板搜索 [#153100](https://github.com/openclaw/openclaw/pull/153100) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 使后台关注更新远离全局弹出窗口 [#151446](https://github.com/openclaw/openclaw/pull/151446)。
- 对齐命令面板设置和项目导航 [#153307](https://github.com/openclaw/openclaw/pull/153307) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 从快速作曲家 [#154061](https://github.com/openclaw/openclaw/pull/154061) 开始任务时提及人员 — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
**错误修复**
- 在后台更新期间保留命令面板提示滚动 [#153091](https://github.com/openclaw/openclaw/pull/153091) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 在键入 [#155104](https://github.com/openclaw/openclaw/pull/155104) 时稳定命令面板搜索 — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
建议的任务可在较短的窗口中保留其完整摘要和“开始”控件,并且在新会话或工作树中启动任务时会保留当前对话和草稿的选定状态。如果所选存储库无法启动任务,您可以更正它,而无需重新键入提示,然后使用具有提交的可用存储库显式重试。
来源和完整变更列表
**错误修复**
- 显示完整的建议任务摘要以及可到达的控件[#153304](https://github.com/openclaw/openclaw/pull/153304)。
- 启动建议任务而不中断当前聊天 [#151611](https://github.com/openclaw/openclaw/pull/151611)。
- 启动建议任务时选择有效的存储库 [#152522](https://github.com/openclaw/openclaw/pull/152522)。
新会话放置使云配置文件、操作系统、机器大小和起始分支更容易确认,并提交选择器中显示的选择。当第一条消息等待目标变为活动状态时,您的提示和附件在启动进度旁边仍然可见。 **打开会话** 返回到已创建的对话,而不再次发送提示。配置的大小默认值仍然适用,并且现有实例的大小不会调整。管理员还可以使用具有有效 Git HEAD 的可访问绝对路径 [ 注册现有存储库 ](/web/control-ui/sessions-and-sidebar#register-an-existing-repository)。中断的隐身提示仅保留在当前选项卡的内存中。
现在,失败的项目查找会保留您保存的选择并阻止启动,直到发现恢复或您故意更改目标。新会话还会记住同一代理和网关支持的快速模式选择,包括关闭。
来源和完整变更列表
**改进**
- 在选择器 [#151947](https://github.com/openclaw/openclaw/pull/151947) 中显示云操作系统和机器大小。
- 显示云会话 [#152010](https://github.com/openclaw/openclaw/pull/152010) 的起始分支。
- 在展示位置选择器中显示云后端标记 [#153288](https://github.com/openclaw/openclaw/pull/153288) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 在最近的项目中重用重复的文件夹排名[#152683](https://github.com/openclaw/openclaw/pull/152683)。
- 读取工作人员[#152691](https://github.com/openclaw/openclaw/pull/152691)中的项目列表数据库库存。
- 加载会话目录选择,不带历史枚举 [#150831](https://github.com/openclaw/openclaw/pull/150831)。
- 重复使用默认项目列表的当前会话行[#154705](https://github.com/openclaw/openclaw/pull/154705)。
**错误修复**
- 提交选择器中显示的云大小和操作系统 [#153788](https://github.com/openclaw/openclaw/pull/153788) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 使云会话提示和设置进度一起可见 [#152024](https://github.com/openclaw/openclaw/pull/152024)。
- 解释云启动失败和挂起的设置 [#152043](https://github.com/openclaw/openclaw/pull/152043)。
- 当工作人员库存失败时保持云配置文件可用 [#151783](https://github.com/openclaw/openclaw/pull/151783)。
- 通过启动保持提交的提示可见并重新连接[#152241](https://github.com/openclaw/openclaw/pull/152241)。
- 发现失败时保留已保存的项目选择 [#155619](https://github.com/openclaw/openclaw/pull/155619) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 记住新会话的快速模式选择 [#154690](https://github.com/openclaw/openclaw/pull/154690) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**文档**
- 在地点选择器 [#153721](https://github.com/openclaw/openclaw/pull/153721) 中注册现有存储库的文档 — 感谢 [@vincentkoc](https://github.com/vincentkoc).
现在,保持工作树 **From** 选择不变从获取的远程默认分支开始,就像在“设置”中手动创建工作树时将 **Base 分支** 留空一样。显式或保存的本地分支保留其含义。分支编辑保持可用,并且接受的启动会清除它使用的自定义名称,因此它不会意外命名下一个会话。被拒绝的启动保留名称,失败的远程查找保留源 HEAD 后备。如果未确认名称清理,请在开始另一个会话之前检查 **Name**。
失败的 Git 发现还会保留保存的单独工作树选择,而不是默默地切换到当前签出。开始等待恢复或您明确的 **Current checkout** 选择。
来源和完整变更列表
**错误修复**
- 保持工作树编辑稳定并清晰接受自定义名称 [#150426](https://github.com/openclaw/openclaw/pull/150426) — 感谢 [@romneyda](https://github.com/romneyda).
- 从远程默认分支 [#154234](https://github.com/openclaw/openclaw/pull/154234) 启动默认工作树。
- 使用远程默认值进行手动工作树创建 [#154364](https://github.com/openclaw/openclaw/pull/154364)。
- 在 Git 发现失败后保留保存的工作树隔离 [#155368](https://github.com/openclaw/openclaw/pull/155368) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
可以使用“撤消”功能直接从侧边栏存档或恢复对话,并使用键盘快捷键打开新会话草稿或存档当前符合条件的聊天。存档会保留对话及其工作,而组移动会立即出现,并在下次刷新失败时保留确认的位置。新选项卡将原始草稿保留在适当的位置,并在导航展开的情况下打开,生成的链接保留了预期的对话。在桌面上,右键单击或 Shift+F10 打开整行菜单,而触摸则保留菜单按钮。如果组保存不确定,请在重试之前刷新并检查其位置。
现在,隐身链接会保留确切的对话,前提是您具有管理员访问权限并且其仅内存会话仍然存在。从侧边栏重新打开它以替换旧的损坏的短链接。
来源和完整变更列表
**改进**
- 打开新会话并通过键盘存档当前聊天 [#153537](https://github.com/openclaw/openclaw/pull/153537) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski)、[@jalehman](https://github.com/jalehman).
- 过滤拥有的对话时减少不必要的工作[#152097](https://github.com/openclaw/openclaw/pull/152097)。
- 直接从侧边栏存档和恢复会话[#154144](https://github.com/openclaw/openclaw/pull/154144)。
- 打开新的桌面会话选项卡,侧边栏扩展[#153106](https://github.com/openclaw/openclaw/pull/153106) - 感谢[@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 从网关线程 [e2eae6ab](https://github.com/openclaw/openclaw/commit/e2eae6abdd06ca13e795018c6d75a68cf963bbca) 注册新会话类别。
**错误修复**
- 保留生成的会话链接绑定到所选对话[#150242](https://github.com/openclaw/openclaw/pull/150242)。
- 恢复主页链接对话 [#152439](https://github.com/openclaw/openclaw/pull/152439) 的标头组织操作。
- Show 会话组立即移动并保留保存的位置 [#151689](https://github.com/openclaw/openclaw/pull/151689) — 感谢 [@jalehman](https://github.com/jalehman).
- 在选定的组中保留普通的 Claude CLI 对话 [#150537](https://github.com/openclaw/openclaw/pull/150537) — 感谢 [@marvinthebored](https://github.com/marvinthebored), [@peetiegonzalez](https://github.com/peetiegonzalez)、[@davidofflol12](https://github.com/davidofflol12)、[@bitbalancer](https://github.com/bitbalancer).
- 恢复新会话快捷方式和作曲家焦点[#153836](https://github.com/openclaw/openclaw/pull/153836)。
- 打开带有确切会话链接的隐身会话 [#154644](https://github.com/openclaw/openclaw/pull/154644) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
临时子运行现在属于转录活动和 **Tasks**,为持久对话留下普通导航。他们的家长对话在后续工作期间继续显示活动环,并且当该环开始时,图标保持其静止大小。使用任务或记录活动来检查工作本身,因为失败工具提示不是指向子对话的链接。
来源和完整变更列表
**改进**
- 根据完整会话事件更新子代理树 [#152510](https://github.com/openclaw/openclaw/pull/152510)。
- Move 临时子代理耗尽对话导航 [#151470](https://github.com/openclaw/openclaw/pull/151470)。
- 当活动响起时保持侧边栏图标稳定 [526477da](https://github.com/openclaw/openclaw/commit/526477da9bc6152fe0eeb1ae72de8147d2401d58) — 感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 删除侧边栏子代理旋转器后面的装饰线[#154041](https://github.com/openclaw/openclaw/pull/154041) — 感谢[@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
**错误修复**
- 在子代理后续操作期间显示父活动 [#153118](https://github.com/openclaw/openclaw/pull/153118)。
- 删除重复的主页行并将会话图标向左移动 [#152498](https://github.com/openclaw/openclaw/pull/152498)。
- 避免在会话刷新期间进行历史范围扫描 [#154163](https://github.com/openclaw/openclaw/pull/154163)。
- 在延迟更新中保持侧边栏活动最新 [#154540](https://github.com/openclaw/openclaw/pull/154540) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
搜索可以找到当前加载的侧边栏之外的授权对话,其中包含头像、所有者徽章、突出显示的匹配项以及“全部”、“会话”或“消息”过滤器,以帮助识别结果。结果仍然是一组有限的匹配,并且必须首先通过打开其对话来恢复冷存档的历史。在聊天中,Escape 会关闭焦点记录搜索并返回焦点,而不会清除草稿或待回复。
来源和完整变更列表
**改进**
- 使用头像和过滤器使搜索结果可识别 [#151968](https://github.com/openclaw/openclaw/pull/151968)。
- 减少重复的会话搜索匹配工作 [#151708](https://github.com/openclaw/openclaw/pull/151708) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 用于受限会话搜索的批可见性元数据 [#152503](https://github.com/openclaw/openclaw/pull/152503) — 感谢 [@bsniznd](https://github.com/bsniznd).
- Move 转录搜索和增量历史记录读取网关线程 [#154318](https://github.com/openclaw/openclaw/pull/154318)。
**错误修复**
- 查找旧对话并保留已完成的空外部身份验证发现 [#152314](https://github.com/openclaw/openclaw/pull/152314)。
- 使用Escape关闭转录搜索而不清除回复[#151759](https://github.com/openclaw/openclaw/pull/151759)。
[Settings → Search](/tools/web#search-settings) 将提供商设置、路由信息和真实测试查询集中到一处。具有读取权限的人员可以检查代理和模型将使用哪个搜索路由,而管理员可以配置托管提供商并根据正常帐户限制和计费对其进行测试。这些设置适用于跨代理,并且配置的提供程序不一定是有效的。对于本机或外部搜索,chat**中的**Test 将打开未发送的草稿而不是运行查询。付费并行可以通过其 API 密钥检测到,而并行搜索免费则需要显式选择。
来源和完整变更列表
**改进**
- 从设置 [#154135](https://github.com/openclaw/openclaw/pull/154135) 配置和测试 Web 搜索。
自动命名可以在工作树设置停止等待后完成并更新侧边栏,而失败的命名则为新会话或工作树使用中性的两个单词名称,而不是复制打开的提示。安装程序最多可以等待 30 秒来获取名称,并且稍后的标题会使已创建的分支保持不变。手动名称保持不变,并且在标题编辑器中编写字符在合成结束之前不再保存或放弃重命名。
来源和完整变更列表
**错误修复**
- 在生成缓慢或失败后恢复会话名称 [#153221](https://github.com/openclaw/openclaw/pull/153221)。
- 在文本编写期间保留会话名称草稿 [#129341](https://github.com/openclaw/openclaw/pull/129341)。
- 对会话和工作树使用中性后备名称 [#153455](https://github.com/openclaw/openclaw/pull/153455)。
长聊天会以更少的批次加载较旧的历史记录,并在回复流、编辑器更改大小或图像完成加载时保持导航标记和阅读位置稳定。当回复的当前部分仍在编写时,扩展的详细信息和代码读取控件保持不变。代码控件现在也可以在同一实时回复中的关闭代码围栏和后面的段落中幸存下来,尽管保存的历史记录替换或源更正仍然可以重置它们。代码示例保持字面意思,从启动时就应用简化的动作首选项,并且打开聊天不再将整个对话滑入到位。初始历史负载保持较小,而较旧的历史批次可能更大。
返回聊天会恢复您保存的阅读位置一次,然后让滚动由您控制。延迟的历史记录刷新还可以保留较新的实时回复,并保留所选客服人员保存的记录。
来源和完整变更列表
**改进**
- 加载旧聊天时减少渲染工作[#153137](https://github.com/openclaw/openclaw/pull/153137)。
- 保持长聊天历史加载和滚动位置稳定[#153245](https://github.com/openclaw/openclaw/pull/153245)。
- 流畅的新聊天消息和不间断的流媒体滚动-跟随[#148447](https://github.com/openclaw/openclaw/pull/148447)。
- 将最新回复元数据调整为指针和触摸输入 [#150569](https://github.com/openclaw/openclaw/pull/150569) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 重复使用未更改的最近聊天记录[#152734](https://github.com/openclaw/openclaw/pull/152734)。
- 引入有界的旧历史分页,随后被更大批次的[#152093](https://github.com/openclaw/openclaw/pull/152093)取代。
- 减少聊天流 [#153215](https://github.com/openclaw/openclaw/pull/153215) 期间重复的换行处理 — 感谢 [@jjjhenriksen](https://github.com/jjjhenriksen)、[@patrick-erichsen](https://github.com/patrick-erichsen)、 [@noelillinger](https://github.com/noelillinger).
- 打开聊天时避免阻止配置文件查找 [#154387](https://github.com/openclaw/openclaw/pull/154387)。
- 当呼叫者共享读取的历史记录 [#154552](https://github.com/openclaw/openclaw/pull/154552) 时,避免额外的副本。
- 减少主动聊天追赶期间的重复处理[#155401](https://github.com/openclaw/openclaw/pull/155401)。
**错误修复**
- 对齐圆形聊天气泡和媒体标题 [#151457](https://github.com/openclaw/openclaw/pull/151457) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 删除聊天入口动作 [#150516](https://github.com/openclaw/openclaw/pull/150516) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 保持聊天导航对齐并拒绝过时的任务发布者[#153277](https://github.com/openclaw/openclaw/pull/153277)。
- 将提及的头像与丢失或加载的照片对齐 [#153914](https://github.com/openclaw/openclaw/pull/153914) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 将后期调整大小的回复保留在聊天控件上方 [#152386](https://github.com/openclaw/openclaw/pull/152386)。
- 保持布局调整不加载历史记录或中断后续[#151726](https://github.com/openclaw/openclaw/pull/151726) — 感谢[@vyctorbrzezowski](https://github.com/vyctorbrzezowski)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 将代码预览与隐藏行计数相匹配 [#153933](https://github.com/openclaw/openclaw/pull/153933) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 以更少的批次加载较旧的聊天历史记录,浏览器工作量更少 [#152979](https://github.com/openclaw/openclaw/pull/152979)。
- 在 Markdown 代码 [#153579](https://github.com/openclaw/openclaw/pull/153579) 中保留文字嵌入示例 — 感谢 [@sunnyshu0925](https://github.com/sunnyshu0925)、[@obviyus](https://github.com/obviyus).
- 稳定对话标记并保持键盘焦点 [#151626](https://github.com/openclaw/openclaw/pull/151626)。
- 在减少运动 [#151314](https://github.com/openclaw/openclaw/pull/151314) 下立即禁用加载占位符运动。
- 在活跃聊天回复增长时保留读者控制 [#153815](https://github.com/openclaw/openclaw/pull/153815) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在聊天流 [#151320](https://github.com/openclaw/openclaw/pull/151320) 期间批量会话刷新重绘。
- 在未更改的注册表刷新期间保持聊天历史记录可读 [#153736](https://github.com/openclaw/openclaw/pull/153736)。
- 将可选的转录本查找保持为只读 [#151745](https://github.com/openclaw/openclaw/pull/151745)。
- 在作曲家调整 [41cd52e1](https://github.com/openclaw/openclaw/commit/41cd52e170f56bf76bf3cbc3e25233b9d103c1d0) 期间保持对话导航锚定 — 感谢 [@steipete](https://github.com/steipete).
- 取消放弃新会话入口转换[#127036](https://github.com/openclaw/openclaw/pull/127036)。
- 保持替换文本可供复制,同时解决较旧的请求 [#154259](https://github.com/openclaw/openclaw/pull/154259) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 当流式块关闭时保持代码控制 [#154430](https://github.com/openclaw/openclaw/pull/154430) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 防止 Chrome 在延迟滚动 [#154592](https://github.com/openclaw/openclaw/pull/154592) 期间崩溃。
- 恢复保存的聊天阅读位置,无需重复滚动写入 [#154730](https://github.com/openclaw/openclaw/pull/154730) — 感谢 [@romneyda](https://github.com/romneyda).
- 在导航和调整 [#154917](https://github.com/openclaw/openclaw/pull/154917) 大小后保持对话标记可见。
- 保持聊天页脚焦点环可见 [#155199](https://github.com/openclaw/openclaw/pull/155199) — 感谢 [@romneyda](https://github.com/romneyda).
- 防止 Safari 聊天列表中的重复项目符号 [#155201](https://github.com/openclaw/openclaw/pull/155201) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 在历史记录刷新期间保留实时回复和特定于座席的转录本 [#155404](https://github.com/openclaw/openclaw/pull/155404)。
- Move 增量聊天历史记录可见性读取请求线程 [#155870](https://github.com/openclaw/openclaw/pull/155870)。
倒回并重新发送后,分支菜单将显示保留的对话而无需重新加载,并且加载的历史记录将遵循您选择的分支。重复的分支列表和历史读取也避免了一些不必要的转录工作。这些是对话分支,返回到一个分支不会撤消之前的工具操作或文件更改。
来源和完整变更列表
**改进**
- 以更少的数据库工作检索分支对话历史记录[#153470](https://github.com/openclaw/openclaw/pull/153470)。
- 减少会话历史记录中的冗余工作读取 [#153161](https://github.com/openclaw/openclaw/pull/153161)。
- 保留更多对话分支摘要以供重用[#152724](https://github.com/openclaw/openclaw/pull/152724)。
- 共享分支列表跨并发查看者 [#155678](https://github.com/openclaw/openclaw/pull/155678) 读取。
**错误修复**
- 使会话历史记录与分支和成绩单所有权 [#151640](https://github.com/openclaw/openclaw/pull/151640) 保持一致。
- 倒带后刷新保留的聊天分支并重新发送 [#151598](https://github.com/openclaw/openclaw/pull/151598)。
专用压缩检查点链接、历史卡和分支或恢复控件以及 `sessions.compaction.list`、`sessions.compaction.branch` 和 `sessions.compaction.restore` 已被删除。普通分叉、倒带、对话历史记录、压缩摘要和可用的代币节省报告仍然保留。检查点恢复没有等效的替代品,并且停用不需要数据清除或配置迁移。
来源和完整变更列表
**错误修复**
- 在检查点停用之前恢复失败的检查点后保留排队的工作 [#148877](https://github.com/openclaw/openclaw/pull/148877) — 感谢 [@sunnyshu0925](https://github.com/sunnyshu0925)、[@obviyus](https://github.com/obviyus).
**限制和兼容性**
- 退出压缩检查点控制,同时保留历史记录[#154131](https://github.com/openclaw/openclaw/pull/154131)。
在共享聊天中阅读较旧的消息不再被其他人的消息或打字打断,包括当自动滚动待处理时。有意的读者导航保持活动状态,并且活动回复通过排队发送和保存的历史记录保持可见。在另一个浏览器中来自您自己的帐户的消息也算作远程活动。从当前窗格发送或选择 **Latest** 会在对话后继续,而打字会减少重复的状态更新。
来源和完整变更列表
**改进**
- 减少键入 [#152042](https://github.com/openclaw/openclaw/pull/152042) 时重复出现的广播。
**错误修复**
- 在协作者消息期间保留聊天位置和主动回复 [#153061](https://github.com/openclaw/openclaw/pull/153061) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 当另一个人开始打字时保留阅读位置 [2a3aee21](https://github.com/openclaw/openclaw/commit/2a3aee2181a8ed2761e104d4c45165bc32439d77) — 感谢 [@steipete](https://github.com/steipete).
并行对话更多地保留了他们个人的工作状态。较晚完成加载的侧聊天不会将您当前的输入内容从当前输入中删除,归档相邻窗格会保留您未保存的评论和草稿,并且每个对话都会保留其自己的聊天或仪表板视图。存档您正在编辑的对话仍然会解除其控制。
尽管发送仍在等待,但您可以在回复待定期间继续编辑侧聊后续内容。重新加载的拆分窗格还会恢复其自己的对话侧面板,而不是继承另一个窗格的文件选择。
来源和完整变更列表
**错误修复**
- 在侧聊天加载 [#150217](https://github.com/openclaw/openclaw/pull/150217) 时继续输入预期的输入。
- 当另一个分割窗格存档 [#150198](https://github.com/openclaw/openclaw/pull/150198) 时保留未保存的注释。
- 保留每个拆分对话的聊天或仪表板首选项 [#150228](https://github.com/openclaw/openclaw/pull/150228)。
- 将可访问的面板导航保留在正确的窗格中 [#153478](https://github.com/openclaw/openclaw/pull/153478)。
- 在回答期间保持侧聊草稿可编辑 [#155183](https://github.com/openclaw/openclaw/pull/155183) — 感谢 [@patrick-erichsen](https://github.com/patrick-erichsen).
- 重新加载 [#155528](https://github.com/openclaw/openclaw/pull/155528) 后,保留拆分聊天面板及其自己的对话。
聊天通知、回复上下文、目标预览和选定的收件人位于有界页脚中可访问的消息字段上方,使控件在狭窄或重叠的窗格中可用。当窗格关闭时,共享选择器继续正确关闭,并且在菜单行之间移动会关闭上一个子菜单。删除选定的收件人会将提及文本保留在消息中。
多行草稿在键盘导航和选择过程中保持可读,而受影响的打字布局可避免重复调整大小和围绕所选提及进行不必要的重画。
来源和完整变更列表
**改进**
- 集成回复、目标和收件人作曲家预览 [#151246](https://github.com/openclaw/openclaw/pull/151246) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 突出显示最高推理努力设置 [#155402](https://github.com/openclaw/openclaw/pull/155402) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**错误修复**
- 保持编辑器可访问,并在匹配 OAuth 刷新 [#152608](https://github.com/openclaw/openclaw/pull/152608) 后重试过时的身份验证读取。
- 将作曲家警报与消息字段 [#151422](https://github.com/openclaw/openclaw/pull/151422) 对齐 — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 在菜单行之间移动时关闭卡住的子菜单 [#152317](https://github.com/openclaw/openclaw/pull/152317)。
- 保持选择器解雇在重叠的聊天编辑器 [23b9b82d](https://github.com/openclaw/openclaw/commit/23b9b82d72c540da116e79340eefd842209a9ee8) 之间工作。
- 在键盘导航期间保持多行草稿可读 [#154038](https://github.com/openclaw/openclaw/pull/154038) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 减少网络聊天编辑器中的打字延迟 [#154451](https://github.com/openclaw/openclaw/pull/154451) — 感谢 [@hxy91819](https://github.com/hxy91819).
- 选择提及后继续输入响应 [#155181](https://github.com/openclaw/openclaw/pull/155181) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
长粘贴的摘录在编辑器中显示为两行卡,在发送的消息中显示为紧凑的芯片,而新附加的主页上下文则与您编写的单词分开显示。您可以检查来源、复制原始文本或直接在其卡上选择“**在文本字段中显示**”,将其与当前草稿一起恢复而无需发送。发送到模型的文本保持不变。粘贴文本预览最多可覆盖 256 个 KiB,下载时保留完整内容。 Home 处理适用于带有记录的上下文元数据的新消息,并且附加的上下文不授予任何附加权限。
来源和完整变更列表
**改进**
- 将长粘贴文本显示为紧凑摘录片段 [#151618](https://github.com/openclaw/openclaw/pull/151618) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
**错误修复**
- 将附加的主页上下文与消息文本[#152539](https://github.com/openclaw/openclaw/pull/152539)分开。
- 直接从其作曲家卡恢复粘贴的文本 [#154000](https://github.com/openclaw/openclaw/pull/154000) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
文件会立即出现在稳定的附件槽中,并带有单独的读取进度和可删除的错误,因此您可以在发送前查看哪个文件需要注意。该进度衡量浏览器读取每个文件的情况,以及发送等待活动读取的情况,同时排除不可读的文件。回复会在成功的媒体旁边保留失败的附件卡,选定的本地工作区文件可以达到支持的进度和最终回复,并且进度附件在修复的清理竞赛中幸存下来。较早的失败传送可能需要重新发送,并且以前删除的文件无法通过此修复恢复。
从同一网关的 HTTPS 源提供的合格连接可以将内联转录工件作为原始文件字节获取,并且每次点击都具有新的下载权限。连接绑定链接会在五分钟后过期,并且不是共享链接。代理操作员必须在配置的 UI 挂载下转发 `/api/artifacts/download/`,如 [ 客户端指南](/gateway/clients) 中所述;其他连接和失败的 HTTP 传输保留经过身份验证的聊天连接路径。重新连接或关闭预览可防止保存过时的传输。
来源和完整变更列表
**改进**
- 显示带有单独读取进度和错误的稳定附件图块 [#152163](https://github.com/openclaw/openclaw/pull/152163) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 翻译二十种语言环境中的附件准备公告 [#152196](https://github.com/openclaw/openclaw/pull/152196)。
- 将附件历史记录查找移离网关线程 [#154448](https://github.com/openclaw/openclaw/pull/154448)。
- 使用新权限 [#154673](https://github.com/openclaw/openclaw/pull/154673) 通过 HTTPS 下载内联转录工件。
- 减少下载成绩单附件[#154726](https://github.com/openclaw/openclaw/pull/154726)的重复工作。
**错误修复**
- 将附件预览保留在窄聊编辑器中 [#153080](https://github.com/openclaw/openclaw/pull/153080) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 在托管媒体清理期间保留进度附件 [#152645](https://github.com/openclaw/openclaw/pull/152645) — 感谢 [@sahilsatralkar](https://github.com/sahilsatralkar)、[@yetval](https://github.com/yetval)、 [@takhoffman](https://github.com/takhoffman).
- 解释为什么当前聊天中附件失败 [#151913](https://github.com/openclaw/openclaw/pull/151913)。
- 保持会话操作可在附件 [#151975](https://github.com/openclaw/openclaw/pull/151975) 旁边访问。
- 从选定的本地会话工作区 [#151888](https://github.com/openclaw/openclaw/pull/151888) 传送附件。
- 删除不可用图像卡周围的空白 [#150573](https://github.com/openclaw/openclaw/pull/150573) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 保留混合附件故障和选定工作树图像、文档和音频传输 [#152079](https://github.com/openclaw/openclaw/pull/152079)。
- 恢复聊天中支持的图像粘贴[#154367](https://github.com/openclaw/openclaw/pull/154367)。
- 在准备大型内联工件下载 [#154521](https://github.com/openclaw/openclaw/pull/154521) 时减少停顿。
**文档**
- 澄清承诺的进度消息附件指南 [#152225](https://github.com/openclaw/openclaw/pull/152225)。
使用按钮、箭头键或滑动浏览附加到一条消息的图像,而无需关闭查看器。可以在加载原件时打开更清晰的预览,然后就地升级而无需重置缩放,失败的原件会使预览可见。图库停留在一条消息内并覆盖光栅图像,并单独处理 SVG。受保护的图像仍然需要 **Allow**。
来源和完整变更列表
**改进**
- 在不关闭查看器的情况下浏览消息的图像 [#152027](https://github.com/openclaw/openclaw/pull/152027) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 在加载原件时打开更清晰的图像预览 [#153265](https://github.com/openclaw/openclaw/pull/153265)。
**错误修复**
- 在聊天库中导航附加图像 [#153198](https://github.com/openclaw/openclaw/pull/153198) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 保持图像加载和重试状态为当前 [#153269](https://github.com/openclaw/openclaw/pull/153269) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
标记为语音注释的附件现在可以在聊天中播放,具有紧凑的播放、搜索、时间和静音控件以及从音频测量的波形,无需文件头或打开侧面板。普通音频文件保留其元数据和扩展控件。如果语音注释无法预览,则其可用下载将单独打开,以便对话保持原样。
来源和完整变更列表
**改进**
- 使语音笔记紧凑且可播放内联 [#154339](https://github.com/openclaw/openclaw/pull/154339) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski)、[@tangqiu25](https://github.com/tangqiu25).
独立的 HTML 附件可以填充聊天旁边的可用高度,使更大的报告和交互式页面更易于检查。同源 UTF-8 HTML 预览现在支持最多 2 个 MiB,而文本、Markdown 和工作区读取或编辑保留其 256 个 KiB 限制。跨源 HTML 仍然仅供下载,预览的沙箱权限不变。
创作的部分链接现在在显示的文档中滚动,包括严格的预览,而不会丢失表单值。稍后由脚本创建的链接不在此更改范围内。
来源和完整变更列表
**改进**
- 预览 HTML 附件最多 2 个 MiB [#153197](https://github.com/openclaw/openclaw/pull/153197) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
**错误修复**
- 让HTML预览填充附件侧面板[#152031](https://github.com/openclaw/openclaw/pull/152031)。
- 在显示的文档[#154393](https://github.com/openclaw/openclaw/pull/154393)中保留HTML预览部分链接。
显式聊天文件链接会打开目标读者,包括 CSV 文件和名称中包含空格、表情符号或标点符号的创作 Markdown 链接。网站路径保留其主机名,而不是成为本地文件按钮,并且类似于主机名的本地目录需要显式路径,例如 `./`。后台链接更新可保留读者焦点和控件,而从任何文件内搜索控件中退出则将焦点返回到其搜索按钮。
代理文件还在允许编辑或保存之前等待文件内容加载,同时在刷新期间保留加载的文件和未保存的草稿。
来源和完整变更列表
**错误修复**
- 在对话文件预览中打开CSV聊天链接[#152900](https://github.com/openclaw/openclaw/pull/152900)。
- 在聊天文件链接渲染中保留网站路径[#152630](https://github.com/openclaw/openclaw/pull/152630)。
- 关闭文件搜索后恢复键盘焦点 [#154221](https://github.com/openclaw/openclaw/pull/154221)。
- 在链接刷新期间保留附件键盘导航 [#151858](https://github.com/openclaw/openclaw/pull/151858)。
- 打开包含空格、表情符号和标点符号 [#152179](https://github.com/openclaw/openclaw/pull/152179) 的工作区链接。
- 修复文件搜索关闭和对话键盘输入[#154454](https://github.com/openclaw/openclaw/pull/154454)。
- 在允许编辑之前等待代理文件内容 [#154910](https://github.com/openclaw/openclaw/pull/154910)。
使用没有路径的 `/export` 或 `/export-session` 从浏览器下载对话 Markdown。该指南现在与该工作流程相匹配,并且无效路径或延迟导出完成会保留您当前的草稿和附件。其他客户端中的 HTML 和工作区导出保持其单独的行为。
来源和完整变更列表
**错误修复**
- 正确的浏览器导出指南并保留作曲家草稿[#152836](https://github.com/openclaw/openclaw/pull/152836)。
将鼠标悬停在普通公共链接上或通过键盘聚焦即可在打开之前查看页面详细信息,并在浏览器中执行显式的 **Open** 操作,并在图像不可用时使用文本后备。这会将符合条件的 URL(包括其路径和查询)发送到网关,以进行匿名公共页面获取,而无需浏览器的站点凭据。现有的自动图标选择退出也禁用了这种丰富功能,并且触摸点击保持正常导航。
来源和完整变更列表
**改进**
- 在悬停或键盘焦点 [#152758](https://github.com/openclaw/openclaw/pull/152758) 上预览普通外部链接。
- 通过聊天链接 [#155482](https://github.com/openclaw/openclaw/pull/155482) 预览符合条件的公共 GitHub 页面。
可以在可扩展的 **Tree** 和文字 **Raw** 视图中探索结构化助理答案,并通过复制保留原始源和保留在适当位置的扩展选择。完整的 JSON 对象和数组使用检查器,而未完成、无效或过大的内容则保留可读的后备。您自己的代码围栏和被动预览仍然是普通代码。
来源和完整变更列表
**改进**
- 在树视图和原始视图中探索助手 JSON [#153272](https://github.com/openclaw/openclaw/pull/153272) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
当您在问题之间移动时,代理问题会保留输入的答案和选定的选项,完成后保留原始措辞,并保留它们所来自的对话。可选问题仍然可以在作曲家上方或最小化的条带中触及,未经编辑的问题可以在以后成功工作后进入历史,同时保持可重新打开。档案不提供答案或许可,秘密答案仍然被掩盖,阻止问题保留其单独的跳过操作。普通和其他答案现在支持多行,用 Enter 添加一行,然后 Cmd/Ctrl+Enter 提交。未完成的可选答案可以在同一浏览器和经过身份验证的网关身份重新加载、重新连接或切换对话后恢复,有效期为 7 天且共享 20 条记录限制。隐身和删除会废弃已保存的数据,并且存储或冲突选项卡问题会显示警告。
**Dismiss** 推迟可选问题而不回答、批准或停止工作,立即 **Undo** 或稍后 **Answer** 恢复未完成的输入。提交的答案显示排队、发送、失败、不确定或已确认状态,**重试答案**保留原始答案,**放弃**重新打开其草稿。保存的历史记录确认已送达,因此恢复的草稿或消失的队列条目并不能确认答案已到达。
来源和完整变更列表
**错误修复**
- 保留键入的问题答案和待提交状态 [#152096](https://github.com/openclaw/openclaw/pull/152096)。
- 将问题和批准卡保留在其原始对话中 [#151412](https://github.com/openclaw/openclaw/pull/151412)。
- 回答 [#151623](https://github.com/openclaw/openclaw/pull/151623) 后,保持完整的客服问题可见。
- 存档过时的可选提醒,同时让他们负责 [#153849](https://github.com/openclaw/openclaw/pull/153849) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 将未回答的问题放在作曲家 [#153418](https://github.com/openclaw/openclaw/pull/153418) 上方可见。
- 在重新打开聊天 [#154312](https://github.com/openclaw/openclaw/pull/154312) 后保持提交的可选问题得到解决 — 感谢 [@jb510](https://github.com/jb510)、[@vincentkoc](https://github.com/vincentkoc).
**改进**
- 在撰写 [#154405](https://github.com/openclaw/openclaw/pull/154405) 时保持可选问题紧凑 — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在问题卡中写多行答案 [#154432](https://github.com/openclaw/openclaw/pull/154432) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 恢复未完成的可选问题答案 [#154473](https://github.com/openclaw/openclaw/pull/154473) — 感谢 [@vincentkoc](https://github.com/vincentkoc)、[@jb510](https://github.com/jb510).
- 显示可选答案传送状态和恢复 [#154486](https://github.com/openclaw/openclaw/pull/154486) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 记住可选问题解雇并恢复未完成的答案 [#154692](https://github.com/openclaw/openclaw/pull/154692) — 感谢 [@vincentkoc](https://github.com/vincentkoc)、[@vacinc](https://github.com/vacinc).
当您发送消息时,任务进度卡会保持稳定,使溢出的清单更容易注意到并保持键盘焦点可见。 **刷新任务进度** 请求当前状态更新而不添加聊天消息,在等待时保留之前的卡片,并仅在更新的保存版本到达时确认更新。刷新不会恢复工作或回答悬而未决的问题。您还可以将卡片隐藏为浏览器本地显示首选项,而无需停止基础任务。有关其控件,请参见 [progress-cardfresh](/tools/progress-card#refresh-current-work-status)。
在移动设备上,默认情况下,新消息和完成的进度保持折叠状态,除非您打开它。完成的工作持续时间包括匹配时间可用时的最终模型请求,并省略缺失或不匹配的时间而不是猜测。
来源和完整变更列表
**改进**
- H隐藏进度卡,简化设置提示并保留排队的前景文本和文件 [#152429](https://github.com/openclaw/openclaw/pull/152429)。
- 改进任务进度处理、溢出提示和清单对齐 [#150881](https://github.com/openclaw/openclaw/pull/150881) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 刷新任务进度卡而不添加聊天消息 [#154044](https://github.com/openclaw/openclaw/pull/154044) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 重复使用未更改的进度卡渲染[#153212](https://github.com/openclaw/openclaw/pull/153212) — 感谢[@jjjhenriksen](https://github.com/jjjhenriksen).
- 通过会话工作器[#153857](https://github.com/openclaw/openclaw/pull/153857)读取保存的进度卡。
- 将工作卡刷新反馈保留在按钮内 [#154193](https://github.com/openclaw/openclaw/pull/154193) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 对于可计数的工作,首选测量进度条 [#154385](https://github.com/openclaw/openclaw/pull/154385)。
**错误修复**
- 发送消息时保持任务进度稳定 [#151388](https://github.com/openclaw/openclaw/pull/151388) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 删除阻碍工具摘要悬停文本 [#152456](https://github.com/openclaw/openclaw/pull/152456)。
- 保持工具摘要键盘对焦环可见 [#149002](https://github.com/openclaw/openclaw/pull/149002) — 感谢 [@romneyda](https://github.com/romneyda).
- 修复进度刷新启动并取消后重试 [#154148](https://github.com/openclaw/openclaw/pull/154148) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 对聊天工作持续时间使用已完成运行计时 [#149240](https://github.com/openclaw/openclaw/pull/149240) — 感谢 [@romneyda](https://github.com/romneyda)、[@vincentkoc](https://github.com/vincentkoc).
- 保持修正并刷新进度,达到活动回合[#154424](https://github.com/openclaw/openclaw/pull/154424)。
- 识别成功的进度卡刷新重试 [#155025](https://github.com/openclaw/openclaw/pull/155025)。
- 默认折叠移动任务进度 [#155150](https://github.com/openclaw/openclaw/pull/155150) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
打开后台任务或内联子代理活动以检查其状态和 **Tasks** 内的记录,然后使用 **Back totasks** 返回到列表。 Review 保留其差异,Files 保留其选择,而重新加载可以恢复所选任务或显示该任务不可用。紧凑的活动摘要保留可扩展的详细信息,已完成或取消的任务会正确更新其标签。操作计数包括重复尝试,并不意味着不同的文件或成功的结果。
来源和完整变更列表
**改进**
- 保持任务活动摘要紧凑,并提供完整的工具详细信息 [#152255](https://github.com/openclaw/openclaw/pull/152255)。
**错误修复**
- 重新加载后恢复选定的任务详细信息,随后移至任务 [#153185](https://github.com/openclaw/openclaw/pull/153185)。
- 时钟回滚后显示任务完成 [#153329](https://github.com/openclaw/openclaw/pull/153329) — 感谢 [@gabrielnkl](https://github.com/gabrielnkl)、[@obviyus](https://github.com/obviyus).
- 检查任务 [#153260](https://github.com/openclaw/openclaw/pull/153260) 中的子代理状态和转录。
- 立即刷新取消的任务交付标签[#153226](https://github.com/openclaw/openclaw/pull/153226)。
- 在无关数据库清理期间保留任务分页 [#154400](https://github.com/openclaw/openclaw/pull/154400)。
- 在代理进程期间保持任务刷新工作 [#155657](https://github.com/openclaw/openclaw/pull/155657) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
正在运行、排队和等待的子代理在实时聊天活动中保持稳定的顺序。已完成、失败、取消和超时的运行在其最终状态到达时会离开该列表,从而使所有五个插槽都可用于正在进行的工作。他们的结果、交付详细信息和最终编辑统计信息保留在任务历史记录和详细信息中,其中扩展的结果仍然可读和可访问。已完成的本机子代理还可以发布其最终任务状态,而无需重新加载页面。
来源和完整变更列表
**错误修复**
- 向屏幕阅读器 [#150350](https://github.com/openclaw/openclaw/pull/150350) 公开各个 Swarm 子状态。
- 保持扩展的群体结果清晰,焦点轮廓[#153168](https://github.com/openclaw/openclaw/pull/153168)。
- 在陈旧刷新期间保持扩展的 Swarm 结果打开 [#154170](https://github.com/openclaw/openclaw/pull/154170)。
- 在历史记录刷新期间保留已完成的Swarm状态[#153840](https://github.com/openclaw/openclaw/pull/153840)。
- 在运行过程中保持紧凑子代理行稳定 [#154347](https://github.com/openclaw/openclaw/pull/154347) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 从实时对话活动 [#155408](https://github.com/openclaw/openclaw/pull/155408) 中删除已完成的子代理。
**改进**
- 从内联聊天活动 [#154469](https://github.com/openclaw/openclaw/pull/154469) 中清除已完成的子代理。
如果暂停、恢复、清除或编辑目标返回不确定的结果,**检查结果**可让您检查原始操作,而无需重复已完成的工作,即使在重新连接或重新加载正常聊天后也是如此。恢复是显式的,需要浏览器选项卡存储才能进行正常聊天,而隐身恢复则保留在内存中。保存的请求将在 24 小时后过期,之后 **Review current goal** 会在您做出下一个决定之前刷新当前状态。 [目标控制指南](/tools/goal#control-ui)解释了恢复流程。
现在,目标在终端错误或超时后暂停,通过冻结计时器和可读的暂停原因保留其目标和用法。恢复是经过深思熟虑的,普通消息不会重新启动失败的暂停目标。启动或恢复目标仍然需要内置运行时。
来源和完整变更列表
**错误修复**
- 恢复未确认的目标操作,无需重复已完成的工作 [#153910](https://github.com/openclaw/openclaw/pull/153910) — 感谢 [@vincentkoc](https://github.com/vincentkoc)、[@vacinc](https://github.com/vacinc).
- 解释目标运行时要求 [#155187](https://github.com/openclaw/openclaw/pull/155187)。
- 暂停失败的目标并澄清其状态 [#155694](https://github.com/openclaw/openclaw/pull/155694) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**立即可用** 包括绑定到当前对话的工具,并在会话重置后刷新,因此清单可以更好地反映对话可以使用的工具。打开工具还可以避免不必要地刷新整个模型目录。检查此列表不会添加工具或授予运行它们的权限。
来源和完整变更列表
**错误修复**
- 重置后显示会话绑定工具和刷新可用性 [#153553](https://github.com/openclaw/openclaw/pull/153553)。
- 列出会话工具,无需刷新完整模型目录 [#153310](https://github.com/openclaw/openclaw/pull/153310)。
显式链接的 GitHub 帐户可以保留一个人的头像、偏好和提及收件箱,人物搜索支持全名和经过验证的句柄。选定的提及会显示头像并使用允许您查看的信息打开完整的个人卡片,而作业和共享选择器仍然可搜索且处于最新状态。单独输入或粘贴姓名不会通知某人或授予会员资格。在降级之前,请保留备份,因为较旧的编写者可能会丢弃辅助帐户链接,并且如果不明确重新链接,再次升级将无法恢复它们。
当经过验证的请求者与父级的人类所有者匹配时,新的可见子对话可以继承人类所有者。其他情况保留代理回退,并且现有对话不会重新分配。
来源和完整变更列表
**改进**
- 将关联帐户保持在一起,并制作选定的提及开放人员卡[#147568](https://github.com/openclaw/openclaw/pull/147568)。
- 搜索会话人员选择器并显示当前个人资料详细信息 [#153798](https://github.com/openclaw/openclaw/pull/153798) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 简化选定的提及徽章,同时保留复制的文本 [#152423](https://github.com/openclaw/openclaw/pull/152423) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 从选定的提及[#153231](https://github.com/openclaw/openclaw/pull/153231)中打开完整的人卡。
- 在选定的人类提及中显示个人资料头像[#152037](https://github.com/openclaw/openclaw/pull/152037)。
- 避免在会话成员选择器 [#152497](https://github.com/openclaw/openclaw/pull/152497) 中进行完整历史记录扫描。
- 移动人员列表并提及读取网关线程 [#152005](https://github.com/openclaw/openclaw/pull/152005)。
- 继承新的可见工作会话的匹配人类所有权 [#155349](https://github.com/openclaw/openclaw/pull/155349) — 感谢 [@vacinc](https://github.com/vacinc).
**错误修复**
- 使用键盘和重试控件保留提及选择和个人资料照片 [#152194](https://github.com/openclaw/openclaw/pull/152194) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 在提及选择器[#153988](https://github.com/openclaw/openclaw/pull/153988)中重复使用最近的人员搜索。
- 保持并发 Gravatar 照片请求独立 [#127172](https://github.com/openclaw/openclaw/pull/127172)。
- 从使用提示文本 [#154350](https://github.com/openclaw/openclaw/pull/154350) 中保留提及搜索 — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 接受 Safari 中的详细头像并解释图像拒绝 [#154921](https://github.com/openclaw/openclaw/pull/154921) — 感谢 [@stevekinney](https://github.com/stevekinney)、[@takhoffman](https://github.com/takhoffman).
明确提及可以为 **Involving me** 带来无障碍对话,而无需您先回复。个人隐藏和显示控件会在浏览器中跟踪您的个人资料并重新启动,新的提及可以恢复隐藏的对话。当有多个身份可用时,这些控件就会出现,并且与收件箱关闭、共享成员资格和存档状态保持独立。不会扫描较旧的对话以查找遗漏的提及。请参阅所有者 ](/concepts/multi-user#finding-sessions-by-owner) 的 [ 查找会话。
来源和完整变更列表
**改进**
- 在让我参与个人隐藏和显示 [#152083](https://github.com/openclaw/openclaw/pull/152083) 中查找提到的会话。
共享浏览器中的每个帐户和网关的收件箱暂停保持独立,并且 **Dismiss** 或 **Dismiss all shown** 使清除普通通知的范围变得明确。失败或不确定的发送现在显示在 **Inbox → System** 中,对话身份和 **Review** 打开其恢复控件,包括离线。普通排队消息保留在聊天中,并且帐户或连接显示不再显示发件箱计数。审核不会重新发送或丢弃消息,恢复条目不能像普通通知一样被忽略,并且不确定的消息可能已经到达。这些恢复条目属于本地浏览器选项卡和网关,没有针对个人或跨设备的隔离。没有已知所有者的较旧的小睡可能会让警报重新出现一次。
来源和完整变更列表
**改进**
- 澄清收件箱关闭并保存发件箱消息状态 [#153810](https://github.com/openclaw/openclaw/pull/153810) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少连接的提及收件箱查看者[#153565](https://github.com/openclaw/openclaw/pull/153565)的重复读取。
- 保持通知恢复文本和操作可读 [#151575](https://github.com/openclaw/openclaw/pull/151575)。
- 审阅失败且收件箱中的邮件传送不确定 [#153974](https://github.com/openclaw/openclaw/pull/153974) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 简化重复的侧边栏和设置文本和解除控件[#154344](https://github.com/openclaw/openclaw/pull/154344)。
**错误修复**
- 保持收件箱在各个帐户之间单独休眠 [#153862](https://github.com/openclaw/openclaw/pull/153862) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 打开收件箱链接时关闭移动侧边栏 [#155149](https://github.com/openclaw/openclaw/pull/155149) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
**忘记此浏览器** 在“设置”→“连接”→“网关”→“浏览器”中重置当前网关的浏览器登录,而不清除不相关的首选项或其他网关的登录。它注销当前选项卡,可能需要再次登录或批准,但不会撤销服务器端设备或启动已停止的网关。在普通重新连接期间,聊天在加载会话列表时保持可用,并具有更清晰的帐户身份和连接状态。发送问题可从“收件箱”→“系统”中找到。
当配对批准与握手重叠时,经过批准的浏览器还可以完成重新连接,同时当前的身份和权限检查仍然适用。在没有提供原因的情况下断开连接说明重新连接是自动还是需要重试。
来源和完整变更列表
**改进**
- 忘记当前网关的浏览器登录而不清除其他数据[#120319](https://github.com/openclaw/openclaw/pull/120319) — 感谢[@nehanth](https://github.com/nehanth),[@sallyom](https://github.com/sallyom), [@theangrypit](https://github.com/theangrypit).
- 解释网关在没有提供原因的情况下断开连接 [#155432](https://github.com/openclaw/openclaw/pull/155432)。
**错误修复**
- 保持重新连接状态和未解决的发件箱消息可见 [#153321](https://github.com/openclaw/openclaw/pull/153321)。
- 防止重新连接期间全局聊天冻结 [#151567](https://github.com/openclaw/openclaw/pull/151567)。
- 澄清过期配对码通知 [#153921](https://github.com/openclaw/openclaw/pull/153921) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 当批准重叠时完成授权浏览器配对重新连接 [5cae2458](https://github.com/openclaw/openclaw/commit/5cae245897c6dd3d7ec12422864ef5300f622b9c) — 感谢 [@steipete](https://github.com/steipete).
- 在多代理网关 [#147930](https://github.com/openclaw/openclaw/pull/147930) 上恢复配置文件首选项读取 — 感谢 [@ceckert](https://github.com/ceckert)、[@obviyus](https://github.com/obviyus)、 [@ctbritt](https://github.com/ctbritt),[@lakemike](https://github.com/lakemike).
- 刷新失败后保持保存的权限可见 [#154982](https://github.com/openclaw/openclaw/pull/154982)。
即使错过了实时通知,失败或超时的聊天也会显示其已保存的错误和 **复制错误**,而临时历史记录索引重建会返回可重试的错误。失败的挂起消息可以在本地丢弃,并在重新加载后保持删除状态,一旦确认其确切运行完成,排队的后续消息就可以继续进行。丢弃并不会撤销已接受的工作或历史。过时的受保护的停止请求还会留下替换对话及其较新的排队工作。
迟到的事件和失败的转向后续操作现在保留当前的回复、草稿和停止目标。直接后续操作可以传递较旧的显式排队输入而不会丢失它,同时显式队列和目标排序保持不变。
来源和完整变更列表
**错误修复**
- 在脚本索引重建时返回可重试的聊天错误 [#119778](https://github.com/openclaw/openclaw/pull/119778) — 感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@agentsolomon](https://github.com/agentsolomon).
- 错过聊天通知时显示保存的运行错误 [#153568](https://github.com/openclaw/openclaw/pull/153568) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在回滚或数据库替换后保持会话历史记录为最新 [#153010](https://github.com/openclaw/openclaw/pull/153010)。
- 从记录中丢弃失败的待处理聊天消息 [#152188](https://github.com/openclaw/openclaw/pull/152188) — 感谢 [@mertbasar0](https://github.com/mertbasar0)、[@obviyus](https://github.com/obviyus)、 [@laurencebrown](https://github.com/laurencebrown).
- 会话完成后释放排队的消息 [#152299](https://github.com/openclaw/openclaw/pull/152299)。
- 清除已解决的排队消息编辑冲突 [#150220](https://github.com/openclaw/openclaw/pull/150220) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 保持过时停止请求中断替换对话 [#152116](https://github.com/openclaw/openclaw/pull/152116)。
- 通过延迟事件保留当前对话和设置 [#152375](https://github.com/openclaw/openclaw/pull/152375)。
- 将延迟的权限错误排除在替换聊天 [#154737](https://github.com/openclaw/openclaw/pull/154737) 之外。
- 保持延迟停止与其原始聊天[#154805](https://github.com/openclaw/openclaw/pull/154805)的反馈。
- 发送较旧的排队消息的主动对话后续消息 [#154806](https://github.com/openclaw/openclaw/pull/154806) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 将替换会话消息保留在其自己的对话中 [#154983](https://github.com/openclaw/openclaw/pull/154983)。
- 在模型回退后显示一个助手答案 [#155336](https://github.com/openclaw/openclaw/pull/155336) — 感谢 [@vacinc](https://github.com/vacinc).
- 当后续失败时保持活跃回复可见 [#155746](https://github.com/openclaw/openclaw/pull/155746)。
**改进**
- 将聊天传送状态与恢复操作分开 [#154365](https://github.com/openclaw/openclaw/pull/154365) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
要求代理发现、选择或创建 [ 个人主题 ](/tools/theme) 并将其保存到您经过身份验证的个人资料中,以便在登录的浏览器中使用。外观使用相同的目录,包括启用的插件主题,并且连接的浏览器随着选择的变化而更新。这需要更新的 UI 和网关一起使用,而旧的tweakcn 导入仍保留在浏览器本地。如果选定的主题不可用,Claw 会暂时渲染,并保留选择以供返回。
插件主题还可以打包有界的、独立的 SVG 帽子和作曲家访客,而个人主题则使用内置的装饰选择。现有的 **Lobster 访问** 首选项仍控制访问者。
来源和完整变更列表
**改进**
- 通过代理创建并应用主题,并在快速符号链接替换后刷新技能 [#152460](https://github.com/openclaw/openclaw/pull/152460) — 感谢 [@xingzihai](https://github.com/xingzihai).
- 使用插件主题 [#154935](https://github.com/openclaw/openclaw/pull/154935) 中的自定义帽子和作曲家小动物。
**错误修复**
- 在插件重新加载期间保持自定义主题稳定 [#153001](https://github.com/openclaw/openclaw/pull/153001)。
现在选择不同的主题会应用其默认字体和完整调色板,十一个内置主题会获得本地捆绑的浅色和深色背景。现有首选项在升级后仍然有效,您可以在选择主题后对其进行自定义。自定义调色板使用中性艺术品,增加对比度和强制颜色隐藏艺术品,降低透明度使作曲家不透明。在降级到仅接受十六进制重音符号的网关之前,请删除 `ui.prefs.accent=theme` 或将其替换为十六进制颜色。 [外观设置](/web/control-ui/settings#appearance-themes)涵盖了这些选择。
个人和插件主题可以选择中性品牌、自己的等待短语以及支持的头像帽子或访客。省略的选项保留通常的外观,并且这些添加默认情况下不会更改内置主题。
来源和完整变更列表
**改进**
- 切换主题时应用完全默认外观 [#152254](https://github.com/openclaw/openclaw/pull/152254) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 添加主题匹配的浅色和深色背景,并具有辅助功能回退[#153583](https://github.com/openclaw/openclaw/pull/153583)。
- 让主题自定义吉祥物、等待短语和装饰[#154518](https://github.com/openclaw/openclaw/pull/154518)。
- 让主题自定义聊天编辑器角落[#154583](https://github.com/openclaw/openclaw/pull/154583)。
- 添加四顶可选主题头像帽子[#154774](https://github.com/openclaw/openclaw/pull/154774)。
未更改的仪表板会在重新加载后恢复其选定的、关闭的和聚焦的面板排列,并将加载的小部件移动到未打开的选项卡会保留未保存的输入和计数器。布局菜单显示当前视图何时与其共享默认值匹配,而单独的全角小部件则通过任务菜单中的控件获得更多无障碍空间。显式的呈现更改仍然优先,并且在移动过程中保留小部件不会使任意小部件状态在重新加载或删除时持久。
**使用当前视图作为默认**现在可以保存打开的视图以及分屏或全屏演示文稿,而个人布局保留优先级,并且现有查看器不会重新排列。根据当前权限,先前批准的相同小部件还可以避免对相同代理、名称、内容和声明进行另一次模型审查。这种临时重用不包括新的或更改的小部件、MCP 应用程序和隐身会话;请参见 [ 仪表板 ](/web/dashboards)。
来源和完整变更列表
**改进**
- 通过数据库工作线程[#153159](https://github.com/openclaw/openclaw/pull/153159)保存仪表板更改。
- 当仪表板与其共享默认值 [#152032](https://github.com/openclaw/openclaw/pull/152032) 匹配时显示。
- 将单独的全屏小部件控件移至任务菜单 [#152053](https://github.com/openclaw/openclaw/pull/152053)。
- 跨会话重复使用批准的小部件评估 [#155698](https://github.com/openclaw/openclaw/pull/155698)。
**错误修复**
- 在板保存期间保持其他工作响应,并在访问撤销后删除交互式 MCP 工具 [#148948](https://github.com/openclaw/openclaw/pull/148948) — 感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 在聊天小部件中保留透明背景[#151972](https://github.com/openclaw/openclaw/pull/151972)。
- 正确的仪表板库结果计数措辞 [#153646](https://github.com/openclaw/openclaw/pull/153646)。
- 重新加载后保留仪表板侧面板选择[#151448](https://github.com/openclaw/openclaw/pull/151448)。
- 在重新加载时保留封闭且集中的仪表板面板布置 [#151782](https://github.com/openclaw/openclaw/pull/151782)。
- 匹配全屏小部件和会话菜单排版[#152223](https://github.com/openclaw/openclaw/pull/152223)。
- 在仪表板选项卡之间移动时保留小部件输入 [#152738](https://github.com/openclaw/openclaw/pull/152738)。
- 根据用户输入 [#151989](https://github.com/openclaw/openclaw/pull/151989) 从右到左调整面板大小。
- 让集中的仪表板小部件填充任务区域[#154440](https://github.com/openclaw/openclaw/pull/154440)。
- H重新打开会话时保存仪表板默认值 [#155524](https://github.com/openclaw/openclaw/pull/155524) — 感谢 [@carme99](https://github.com/carme99)、[@comfychloe](https://github.com/comfychloe).
活动回顾和人员列表避免准备不需要的信息,从而减少刷新期间的重复工作。当隐式模型选择选择不可用的 Codex 时,会话评估和回顾也会恢复,而显式选择的不可用 Codex 路由仍报告失败。这些实用程序请求仍然无需工具。
来源和完整变更列表
**改进**
- 减少活动人员列表[#151886](https://github.com/openclaw/openclaw/pull/151886)中不必要的工作。
- 避免在活动刷新期间不必要的保存提示解码 [#150257](https://github.com/openclaw/openclaw/pull/150257) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少活动[#154623](https://github.com/openclaw/openclaw/pull/154623)中重复的人员查找工作。
- 减少重复工作建设活动人数[#154978](https://github.com/openclaw/openclaw/pull/154978)。
**错误修复**
- 使用不可用的隐式 Codex [#151241](https://github.com/openclaw/openclaw/pull/151241) 恢复评估和回顾 — 感谢 [@jalehman](https://github.com/jalehman).
Activity 显示紧凑、未裁剪的 HTTPS 图像预览,可以在不占用列表的情况下扩展,并且插件 README 和代理文件预览可以自动加载 HTTPS 图像。这些图像是由您的浏览器直接获取的,因此它们的主机会收到其网络地址。 HTTP 图像仍被阻止,Markdown 附件和创意工坊预览保留点击打开行为。
来源和完整变更列表
**改进**
- 在紧凑的活动预览中加载HTTPS图像[#152045](https://github.com/openclaw/openclaw/pull/152045)。
[Usage](/concepts/usage-tracking) 打开最近 30 个日历日的历史记录和总计,涵盖您可以查看的完整会话报告,甚至超出了可见列表。 **Started by** 可帮助您按开始工作的人比较令牌、估计成本和会话计数。每个整个会话都归因于其记录的创建者,较早的未知创建者显示为 **Unattributed**。
成本是估计值而不是提供商账单,并且该页面明确显示了加载或不完整的总计。会话 CSV 导出和会话、文本或小时过滤器使用加载的行,导出遵循您的选择和过滤器。
来源和完整变更列表
**改进**
- 添加30天基于创建者的使用报告、OAuth结算重试和侧边栏繁忙恢复[#152528](https://github.com/openclaw/openclaw/pull/152528)。
- Reduce 大型会话库存 [#152366](https://github.com/openclaw/openclaw/pull/152366) 的使用情况报告工作。
- 防止大量使用报告阻塞不相关的网关工作[#152543](https://github.com/openclaw/openclaw/pull/152543)。
- 仅解码目标读取 [#152550](https://github.com/openclaw/openclaw/pull/152550) 中选定的使用摘要。
- 减少使用成本刷新中的重复解码[#153348](https://github.com/openclaw/openclaw/pull/153348)。
**错误修复**
- 在Usage [#152690](https://github.com/openclaw/openclaw/pull/152690)中显示保存的对话名称。
- 识别定价警告中已知的零成本使用[#143033](https://github.com/openclaw/openclaw/pull/143033)。
- 防止 Windows 在工作人员输入传输 [#152962](https://github.com/openclaw/openclaw/pull/152962) 期间读取失败。
- Match 会话使用情况导出到选择和过滤器 [#152741](https://github.com/openclaw/openclaw/pull/152741)。
系统繁忙度面板将主机和网关 CPU 读数分开,使用更清晰的标签,可以使用鼠标、触摸或键盘移动,其位置会记住在浏览器存储中。 Gateway 100%表示一台CPU,而host 100%表示机器的总容量,不包括子进程或远程进程。高 ping 值会收到可见的警告颜色,并且不可用的计数器会保持不存在状态,而不是暗示进行了测量。
当另一个托盘请求缓慢时,Vitals 会继续更新。隐藏的选项卡会暂停轮询,并且重置会使样本不存在,直到新的测量结果到达。
来源和完整变更列表
**改进**
- 在清理[#152295](https://github.com/openclaw/openclaw/pull/152295)期间显示主机和线程CPU详细信息并保留经过验证的UI资产。
- 减少重叠诊断轮询 [#152726](https://github.com/openclaw/openclaw/pull/152726) 期间的 CPU 工作。
- 在系统繁忙度中突出显示高网关 ping [#152627](https://github.com/openclaw/openclaw/pull/152627)。
- 移动并记住系统繁忙度面板[#154207](https://github.com/openclaw/openclaw/pull/154207)。
- 使CPU使用读数更容易扫描[#153149](https://github.com/openclaw/openclaw/pull/153149)。
**错误修复**
- Align 系统繁忙度面板控制 [#153782](https://github.com/openclaw/openclaw/pull/153782) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 保持托盘生命体征和健康诊断最新 [#154544](https://github.com/openclaw/openclaw/pull/154544) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
系统提供紧凑的机器列表,具有排序和在线或离线过滤器,以及所选机器的最近负载、内存和卷可用空间图表。历史记录在系统打开时累积,并在重新连接或间隙后重置,因此它是最近的视图,而不是存储的监控历史记录。连接的节点报告其主容量,负载不应被解读为 CPU 利用率。
来源和完整变更列表
**改进**
- 对系统机器列表 [#153224](https://github.com/openclaw/openclaw/pull/153224) 进行排序和筛选。
- 压缩系统侧边栏并使用基于会话的工作人员名称 [#151459](https://github.com/openclaw/openclaw/pull/151459)。
- 查看系统 [#153268](https://github.com/openclaw/openclaw/pull/153268) 中的机器资源历史记录。
- 删除冗余系统侧边栏工具提示[#153982](https://github.com/openclaw/openclaw/pull/153982)。
移动网页布局使消息边距、图库、会话控件和侧边栏工具触手可及,可从导航抽屉中进行搜索,并为较小的屏幕堆叠放置选择。在可识别的 iPhone 和 iPad Safari 浏览器上,单个 **Attach** 条目可打开现有文件选择器,相机和源提示仍由操作系统控制。
来源和完整变更列表
**改进**
- 简化 iPhone 和 iPad 中的附件选择 Safari [#152271](https://github.com/openclaw/openclaw/pull/152271) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski)、[@hannesrudolph](https://github.com/hannesrudolph).
- 在移动聊天抽屉中公开搜索 [#150551](https://github.com/openclaw/openclaw/pull/150551) — 感谢 [@marvinthebored](https://github.com/marvinthebored)、[@peetiegonzalez](https://github.com/peetiegonzalez)、 [@shakkernerd](https://github.com/shakkernerd).
- 使移动会话放置更加清晰,并一致地订购云配置文件 [#153757](https://github.com/openclaw/openclaw/pull/153757) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 在侧边栏突出显示和移动聊天周围添加空间 [#153735](https://github.com/openclaw/openclaw/pull/153735) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 给移动侧边栏会话标题更多空间 [#154493](https://github.com/openclaw/openclaw/pull/154493) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
**错误修复**
- 保留移动消息边距并包含图片库 [#150518](https://github.com/openclaw/openclaw/pull/150518) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 保持移动会话控件和侧边栏工具可访问 [#153131](https://github.com/openclaw/openclaw/pull/153131)。
- 保持分支控件和技能菜单在窄窗格中可用 [#155232](https://github.com/openclaw/openclaw/pull/155232)。
- Keep Secrets 行操作在窄表中可见 [#154586](https://github.com/openclaw/openclaw/pull/154586) — 感谢 [@moerai](https://github.com/moerai)、[@obviyus](https://github.com/obviyus)、 [@landonschropp](https://github.com/landonschropp).
现有的 20 种界面语言获得了有关设置、聊天状态、恢复、主题、用法、模型和桌面指南的更新措辞。这些更新为这些语言带来了更多最新的控件和解释,而无需引入新的语言选择或更改它们所描述的功能的行为。
来源和完整变更列表
**改进**
- 刷新翻译的登录和聊天状态消息 [#151294](https://github.com/openclaw/openclaw/pull/151294)。
- 翻译图像导航和会话恢复消息[#152098](https://github.com/openclaw/openclaw/pull/152098)。
- 刷新跨二十个区域设置的会议和聊天翻译 [#152276](https://github.com/openclaw/openclaw/pull/152276)。
- 翻译会话、桌面和预览状态消息 [#152303](https://github.com/openclaw/openclaw/pull/152303)。
- 翻译桌面访问设置指南 [#154047](https://github.com/openclaw/openclaw/pull/154047)。
- 刷新 Control UI 翻译以获取当前搜索和设置指南 [#151698](https://github.com/openclaw/openclaw/pull/151698)。
- Translate 会话设置和 CPU 诊断 [#152402](https://github.com/openclaw/openclaw/pull/152402)。
- 翻译旧消息索引指南 [#152609](https://github.com/openclaw/openclaw/pull/152609)。
- 刷新 Control UI [#152653](https://github.com/openclaw/openclaw/pull/152653) 的翻译指南。
- 更新翻译的聊天和连接指南[#153465](https://github.com/openclaw/openclaw/pull/153465)。
- 翻译门户设置和恢复指南 [#153574](https://github.com/openclaw/openclaw/pull/153574)。
- 跨现有区域设置转换会话快捷方式标签 [#153633](https://github.com/openclaw/openclaw/pull/153633)。
- 翻译安装代理和聊天权限指南 [#153690](https://github.com/openclaw/openclaw/pull/153690)。
- 刷新翻译的工具输出和桌面共享指南[#153726](https://github.com/openclaw/openclaw/pull/153726)。
- 刷新翻译的已安装编码应用程序指南 [#153762](https://github.com/openclaw/openclaw/pull/153762)。
- 翻译GitHub帐户指南并更新比较链接[#153775](https://github.com/openclaw/openclaw/pull/153775)。
- 翻译模型-路线和通知说明[#153816](https://github.com/openclaw/openclaw/pull/153816)。
- 刷新超时和 Mac 状态翻译 [#153427](https://github.com/openclaw/openclaw/pull/153427)。
- 刷新翻译后的实时设置设置指南 [#154245](https://github.com/openclaw/openclaw/pull/154245)。
- 将不可用主题警告转换为 20 个区域设置 [#152842](https://github.com/openclaw/openclaw/pull/152842)。
- 刷新跨 20 个语言环境的使用页面翻译 [#152911](https://github.com/openclaw/openclaw/pull/152911)。
- 刷新 Control UI 20 种现有语言的翻译 [#152998](https://github.com/openclaw/openclaw/pull/152998)。
- 刷新 Control UI 标签并提供二十个区域设置 [#153892](https://github.com/openclaw/openclaw/pull/153892) 的帮助。
- 翻译目标恢复和任务进度刷新指导[#154159](https://github.com/openclaw/openclaw/pull/154159)。
- 刷新翻译的聊天记录、问题和通知措辞[#154343](https://github.com/openclaw/openclaw/pull/154343)。
- 刷新 Control UI 跨二十个语言环境的翻译 [#154444](https://github.com/openclaw/openclaw/pull/154444)。
- 刷新本地化可选和必填问题标题 [#154500](https://github.com/openclaw/openclaw/pull/154500)。
- 翻译搜索设置和当前聊天指导[#154580](https://github.com/openclaw/openclaw/pull/154580)。
- 刷新翻译的聊天和设置指南[#154870](https://github.com/openclaw/openclaw/pull/154870)。
- 刷新云工作人员和组历史记录翻译 [#155252](https://github.com/openclaw/openclaw/pull/155252)。
- 翻译当前审核消息和设置指南 [#155324](https://github.com/openclaw/openclaw/pull/155324)。
- 翻译头像图像拒绝指导[#155352](https://github.com/openclaw/openclaw/pull/155352)。
- 翻译更新进度和连接通知[#155488](https://github.com/openclaw/openclaw/pull/155488)。
- 翻译内存页面搜索可用性指南[#155539](https://github.com/openclaw/openclaw/pull/155539)。
- 刷新 Chrome 设置翻译 [#155700](https://github.com/openclaw/openclaw/pull/155700)。
**错误修复**
- 翻译模型刷新和面板移动提示[#154274](https://github.com/openclaw/openclaw/pull/154274)。
聊天和侧边栏更新避免了一些布局停滞,并且打开对话会下载更少的收件箱警报信息。当您打开自动化编辑器时,它仍然会加载完整的作业设置。
日志、调试、设备和通道配对视图现在会在隐藏时暂停选定的后台轮询,并在您返回时刷新。显式刷新仍然可用,并且已经进行的请求不会被取消。
来源和完整变更列表
**改进**
- 打开聊天时减少后台自动化下载 [#153040](https://github.com/openclaw/openclaw/pull/153040)。
- 在 Control UI 启动 [#153931](https://github.com/openclaw/openclaw/pull/153931) 期间延迟链接读取器帮助程序。
- 打开聊天时推迟未使用的面板 [#154437](https://github.com/openclaw/openclaw/pull/154437)。
- 呼叫开始时加载浏览器语音传输代码 [#154666](https://github.com/openclaw/openclaw/pull/154666)。
- 在隐藏选项卡中暂停选定的 Control UI 轮询 [#155617](https://github.com/openclaw/openclaw/pull/155617) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**错误修复**
- 减少聊天和侧边栏布局停顿[#154179](https://github.com/openclaw/openclaw/pull/154179)。
- 聊天连接结束时释放过时的回复预览 [#145907](https://github.com/openclaw/openclaw/pull/145907)。
- 保留快速菜单选择并减少不相关的侧边栏重绘工作[#154285](https://github.com/openclaw/openclaw/pull/154285)。
- 避免在后台活动期间不必要的聊天重画 [#154688](https://github.com/openclaw/openclaw/pull/154688)。
## 更新和维护
托管更新可以通过可恢复的警告和明确的修复指导来完成,而重新启动恢复可以帮助未完成的对话从保存的进度继续进行。在更新之前制作并验证 [backup](/cli/backup),因为回滚应用程序不会恢复您的数据。
现在,稳定版或测试版上打包的无头节点会在其工作和清理空闲时自动更新,并保留其配对、设置和启动选项。他们在连接后每小时检查一次,激活之间至少间隔 12 小时,如果替换无法启动,则回退到之前的运行时间。繁忙的工作和没有明确空闲报告的插件可以无限期地推迟激活。
您可以使用 `nodeHost.autoUpdate.enabled: false`、`update.checkOnStart: false` 或 `OPENCLAW_NO_AUTO_UPDATE=1` 关闭此功能;网关的自动更新开关是独立的。本机应用程序节点、私人工作人员、源安装和扩展稳定引脚保留其现有的更新路径。需要数据库迁移或修复的版本仍然需要 `openclaw update`,而较旧的共置网关首先需要进行一次正常升级。请参阅 [ 无头节点更新 ](/install/updating/automatic-updates#headless-node-updates)。
来源和完整变更列表
**改进**
- 自动更新空闲打包无头节点[#151545](https://github.com/openclaw/openclaw/pull/151545)。
操作员创建的计划代理作业可以请求普通网关更新,而无需发明聊天所有者身份。源自外部请求者的作业不会获得该例外,并且通知目标不会成为授权用户。现有的更新限制仍然适用。如果在更新准备过程中预定权限结束,请检查更新状态;较晚的撤销可能不会阻止准备好的更新继续进行。请参阅 [updating](/install/updating)。
来源和完整变更列表
**错误修复**
- 允许操作员计划的自动化更新 [#154484](https://github.com/openclaw/openclaw/pull/154484) — [@agebreak0083](https://github.com/agebreak0083).
在较大的安装中,准备好的代理可以在队列的其余部分完成启动时接受请求,待处理的代理显示为仍在准备中。启动和会话源读取还可以避免重复检查和不必要的加载已保存的提示。因此,准备好的网关可以具有尚不可用的可选代理;准备就绪并不意味着整个队列已经完成,但所需的默认代理和系统代理必须具有可用的数据库。
来源和完整变更列表
**错误修复**
- Reduce 网关启动停顿和数据库工作线程冲突 [#151805](https://github.com/openclaw/openclaw/pull/151805) — [@609nft](https://github.com/609nft).
- 在剩余启动期间保持准备好的车队代理可用 [#151074](https://github.com/openclaw/openclaw/pull/151074) — [@609nft](https://github.com/609nft).
**改进**
- 减少大型队列中的会话存储发现工作 [#153223](https://github.com/openclaw/openclaw/pull/153223)。
- 减少对会话源[#153319](https://github.com/openclaw/openclaw/pull/153319)的重复文件系统检查。
- 大型代理名册[#152491](https://github.com/openclaw/openclaw/pull/152491)的批量模型目录读取。
- 减少大型会话存储中不必要的工作人员提示读取 [#149700](https://github.com/openclaw/openclaw/pull/149700) — [@vincentkoc](https://github.com/vincentkoc).
- 避免在会话读取期间重复文件系统查找[#149838](https://github.com/openclaw/openclaw/pull/149838)。
- 跳过工作清理身份中未使用的已保存提示读取 [#152447](https://github.com/openclaw/openclaw/pull/152447)。
- Move 会话放置证据读取网关线程 [#152901](https://github.com/openclaw/openclaw/pull/152901)。
大型机队更新重用配置和插件检查,并优先考虑开始更换所需的维修。推迟的可选检查尚未通过,因此请在激活后运行 `openclaw doctor --fix` 来完成它们。较旧安装的更新程序将保留现有的时间限制,直到被替换为止。
来源和完整变更列表
**错误修复**
- 减少队列更新期间的重复配置验证 [#151678](https://github.com/openclaw/openclaw/pull/151678)。
- 在大型机队更新期间优先考虑所需的医生维修 [#151683](https://github.com/openclaw/openclaw/pull/151683)。
- 减少大型机队验证开销并解决清理问题 [#152378](https://github.com/openclaw/openclaw/pull/152378)。
**改进**
- 在大型车队中重复使用医生准备工作[#151366](https://github.com/openclaw/openclaw/pull/151366)。
[Backups](/cli/backup)可以在普通文件在捕获过程中消失时完成,保留幸存的文件并报告遗漏的路径。完成的数据库副本还会返回其结果,而无需等待不相关的活动,而存档创建和验证则避免了重复复制和搜索。所需的根目录、不安全的文件替换和捕获或 I/O 故障仍然会停止备份,因此在依赖存档之前检查遗漏。
备份还可以识别同一数据库的重复注册,并跨受支持的硬链接别名保留提交的日志数据。如果核心数据库具有硬链接,请在备份的承认资源中包含每个别名,并在收到指示时停止写入程序;冲突的所有者、不明确的日志或捕获时间的更改仍然会阻止存档。维护私有快照并不授予维护其实时源的权限。
来源和完整变更列表
**错误修复**
- 恢复空闲进程中已完成的SQLite备份[#152302](https://github.com/openclaw/openclaw/pull/152302)。
- 当普通文件消失时继续备份,报告遗漏并过滤除显式选择的根之外的临时名称 [#153395](https://github.com/openclaw/openclaw/pull/153395) — [@migelizaga-rgb](https://github.com/migelizaga-rgb).
- 跨别名删除备份注册的重复数据并保留日志数据 [#154006](https://github.com/openclaw/openclaw/pull/154006) — [@rjaillc](https://github.com/rjaillc).
- 创建仍在完成时保留恢复的备份 [#155075](https://github.com/openclaw/openclaw/pull/155075)。
- 允许 Doctor 对正在运行的网关 [#155428](https://github.com/openclaw/openclaw/pull/155428) 的快照进行维护。
- 避免主动备份期间出现错误清理警告 [#155546](https://github.com/openclaw/openclaw/pull/155546) — [@vincentkoc](https://github.com/vincentkoc).
**改进**
- 创建备份存档时减少缓冲区复制 [#152332](https://github.com/openclaw/openclaw/pull/152332)。
- 减少备份验证期间的冗余存档搜索 [#152156](https://github.com/openclaw/openclaw/pull/152156)。
保存的代理历史记录现在使用选择性无损压缩,并且内存向量以更紧凑的二进制形式保持其完整精度。搜索维护可以找到属于对话的行,而无需扫描不相关的历史记录。现有数据库文件可能不会立即缩小,并且读取或附加完整对话正文可能需要更多 CPU。有效的向量转换在本地发生,无需嵌入提供程序调用。
使用受支持的更新或 Doctor 迁移路径(所有写入程序均已停止)、经过验证的备份(包括挂起的数据库日志数据以及临时表、日志和备份的空间)。最终格式为代理模式 `23` 和共享状态模式 `18`;旧版本拒绝转换的存储,因此降级需要在单独的状态目录中匹配旧版本和升级前备份,而不是更改版本标记。直接数据库读取器需要受支持的访问器或导出,压缩行需要兼容的解码器。请参阅 [ 数据库版本控制](/reference/database-schemas/versioning)。
来源和完整变更列表
**改进**
- 使用精确的会话所有权进行转录搜索维护[#153834](https://github.com/openclaw/openclaw/pull/153834)。
**限制和兼容性**
- 紧凑的历史记录和内存存储,具有基于显式备份的回滚[#153683](https://github.com/openclaw/openclaw/pull/153683)。
更新不再仅仅因为平台无法保留明确不受支持的符号链接元数据而拒绝保留的启动器备份。链接目标、条目类型和常规文件内容仍然必须匹配,真正的不匹配会使失败的备份可供检查。这属于已安装的更新程序,因此在激活之前被阻止的旧更新程序可能需要记录的 [ 手动首次升级 ](/install/updating/update-methods)。
来源和完整变更列表
**错误修复**
- 在更新[#153081](https://github.com/openclaw/openclaw/pull/153081)期间容忍不受支持的启动器符号链接元数据。
[Doctor](/cli/doctor) 保留明确选择的工作区位置,在不需要修复时保留注释和格式,并通过不相关的设置更改保留会话存储所有权。它可以从合格的仅限根、同存储备份中确认已删除的所有者设置的恢复,而只有在可以保留权限时才会修复冲突的工具列表。不明确的权限更改仍然由您决定,并且拒绝的配置写入会停止相关服务修复。
连续修复还保留创作的环境引用、文字值和包含文件所有权,在每次写入之前检查干预编辑。稍后的拒绝将保留先前提交的修复和备份,并且删除冗余的本地 OAuth 副本将保留所选的首选和后备帐户顺序。
来源和完整变更列表
**错误修复**
- 通过不相关的编辑保留会话存储所有权并提供确认的备份恢复,而实际存储更改则清除复制的所有权 [#151468](https://github.com/openclaw/openclaw/pull/151468) — [@shadesurgeon](https://github.com/shadesurgeon)、[@sunnyshu0925](https://github.com/sunnyshu0925)、 [@masterswords1](https://github.com/masterswords1).
- 在配置文件修复期间保留显式配置的工作区 [#145976](https://github.com/openclaw/openclaw/pull/145976) — [@ericcaiwx-star](https://github.com/ericcaiwx-star)、[@fuller-stack-dev](https://github.com/fuller-stack-dev)、 [@oshunter](https://github.com/oshunter).
- Honor 修复网关服务前拒绝医生配置 [#147120](https://github.com/openclaw/openclaw/pull/147120) — [@vincentkoc](https://github.com/vincentkoc)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- Doctor没有插件修复时避免重写配置 [6997e1d9](https://github.com/openclaw/openclaw/commit/6997e1d920fbf54f0c24d8d9249c470966c69de6) — [@romneyda](https://github.com/romneyda).
- 修复安全工具列表冲突而不更改权限 [#151121](https://github.com/openclaw/openclaw/pull/151121) — [@mertbasar0](https://github.com/mertbasar0).
- 通过医生修复保留环境引用和字面意图 [d3e51290](https://github.com/openclaw/openclaw/commit/d3e512906b63ca2ba9107aae99cf648ac817deaa) — [@vincentkoc](https://github.com/vincentkoc)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 在连续的 Doctor 修复中保持配置修订检查 [#147235](https://github.com/openclaw/openclaw/pull/147235) — [@vincentkoc](https://github.com/vincentkoc)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 保留配置引用和所有权,加上新会话焦点和取消的快照工作 [#147440](https://github.com/openclaw/openclaw/pull/147440) — [@vincentkoc](https://github.com/vincentkoc)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 在医生凭证清理期间保留帐户优先级 [#155629](https://github.com/openclaw/openclaw/pull/155629) — [@bdjben](https://github.com/bdjben)、[@obviyus](https://github.com/obviyus).
**改进**
- 减少配置过程中的重复检查,节省[#154758](https://github.com/openclaw/openclaw/pull/154758)。
历史对话标题、ACP 元数据、转录标记、工作树路径和任务标识符通过 [Doctor Maintenance](/gateway/doctor/state-and-sessions) 进行修复,保持正常启动并读取重写该历史记录。 `openclaw update` 已运行所需的修复通道。支持的容器映像升级现在会在服务之前自动调用 Doctor 维护。直接的二进制替换、老作者触及的状态或特定的剩余历史修复仍然需要支持的 Doctor 准备;当需要离线修复时,停止写入程序并在重新启动之前针对相同的状态和配置运行 `openclaw doctor --fix`。
成功的导入可以继续过去的仅存档或暂存清理警告,而更改的原始数据、不完整的捕获数据以及存储或所有权故障仍然需要注意。不明确的任务标识符保持不变,而不是冒着结果到达错误任务的风险;当多个智能体共享一家实体店时,所有权修复也保留了限制。
已删除代理中有意保留的存储不再阻止不相关的活动代理修复,并且有效的 ACP 所有权修复可以在退休工人解决时完成。已删除的代理将保持删除状态,未经验证或更改的历史记录仍受保护。
来源和完整变更列表
**限制和兼容性**
- 为[#151418](https://github.com/openclaw/openclaw/pull/151418)医生保留历史共享状态修复。
- 将旧的转录标记转换为Doctor [#153125](https://github.com/openclaw/openclaw/pull/153125)。
- 将历史标题和ACP-密钥修复移至Doctor,共享商店标题覆盖范围仍然有限[#151211](https://github.com/openclaw/openclaw/pull/151211)。
- 通过Doctor修复历史任务标识符,保留完成绑定,将活动更新上下文传递给恢复建议并推迟仅使用标签[#153509](https://github.com/openclaw/openclaw/pull/153509)。
**错误修复**
- 仅存档故障后继续安全医生修复 [#151313](https://github.com/openclaw/openclaw/pull/151313) — [@sunnyshu0925](https://github.com/sunnyshu0925)、[@karleetdm](https://github.com/karleetdm).
- 让已验证的会话迁移完成,同时插件仍处于待处理状态 [#153097](https://github.com/openclaw/openclaw/pull/153097) — [@berklingtools](https://github.com/berklingtools)、[@droidyouwerelookingfor](https://github.com/droidyouwerelookingfor)、 [@wiipud](https://github.com/wiipud)、[@ozp](https://github.com/ozp)、[@ericpearson](https://github.com/ericpearson).
- 在过时路径修复期间读取长会话标头 [#154034](https://github.com/openclaw/openclaw/pull/154034) — [@xydt-juyaohui](https://github.com/xydt-juyaohui).
- 在暂存清理失败后保留成功的转录本迁移 [#151370](https://github.com/openclaw/openclaw/pull/151370) — [@masatohoshino](https://github.com/masatohoshino).
- 保持保留的已删除代理数据库不阻止活动更新 [#154136](https://github.com/openclaw/openclaw/pull/154136) — [@joshpetras](https://github.com/joshpetras).
- Keep ACP 医生所有权检查在工人清理期间工作 [#154889](https://github.com/openclaw/openclaw/pull/154889) — [@shakkernerd](https://github.com/shakkernerd).
- 让Doctor完成,同时保留已删除的代理历史记录[#155752](https://github.com/openclaw/openclaw/pull/155752)。
**改进**
- 将遗留工作树工作区检查留给Doctor [#152802](https://github.com/openclaw/openclaw/pull/152802)。
- 减少大型Doctor数据库迁移中的重复工作[#155460](https://github.com/openclaw/openclaw/pull/155460)。
如果旧会话索引消失或恢复的文件在导入历史记录后更改了身份,`openclaw doctor --session-sqlite recover` 可以使用经过验证的保留内容修复导入记录。当前的对话设置和删除仍然具有权威性,并且已更改或无法验证的文件仍受到保护以供检查。遵循 [SQLite 恢复指南](/cli/doctor/sqlite-maintenance) 并保留冲突中指定的文件;正在运行的网关本身并不意味着这些文件已准备好清理。
网关停止后,Doctor 可以解决已验证的剩余导入转录本,附加符合条件的缺失后缀并存档原始字节。冲突或格式错误的文件仍然受到保护,并且通过非默认代理的固定自定义存储进行恢复仍然存在路径选择限制。新报告将当前的发现与历史错误区分开来;当出现预期的对话时,仅保留的存档警告不需要修复。
来源和完整变更列表
**错误修复**
- 在丢失或替换源文件后恢复已验证的会话导入 [#153655](https://github.com/openclaw/openclaw/pull/153655) — [@cpsleepy](https://github.com/cpsleepy)、[@mmm7053455-tech](https://github.com/mmm7053455-tech)、 [@blackeyes-boy](https://github.com/blackeyes-boy),[@albertyn87](https://github.com/albertyn87).
- 使已删除代理存储不参与自动会话导入 [e99e75e2](https://github.com/openclaw/openclaw/commit/e99e75e2e60a48875d63f6d84a3db4882ca00252) — [@steipete](https://github.com/steipete).
- 解释存档注册表警告而不丢失会话计数 [#153314](https://github.com/openclaw/openclaw/pull/153314) — [@najef1979-code](https://github.com/najef1979-code).
- 让医生结算已验证的剩余进口成绩单 [#154413](https://github.com/openclaw/openclaw/pull/154413) — [@cortanapham](https://github.com/cortanapham).
- 解决相同会话导入档案 [#155194](https://github.com/openclaw/openclaw/pull/155194) — [@fozzels-assistant](https://github.com/fozzels-assistant).
- 干净会话恢复后停止故障报告 [#155246](https://github.com/openclaw/openclaw/pull/155246) — [@chelsealong](https://github.com/chelsealong)、[@obviyus](https://github.com/obviyus)、 [@bipolar84](https://github.com/bipolar84).
- 将当前恢复结果与历史错误分开 [#155376](https://github.com/openclaw/openclaw/pull/155376) — [@lojasarah](https://github.com/lojasarah).
Doctor 的最终结果现在保留了拒绝迁移的原始原因,识别无法加载的插件,并提供有用的磁盘空间指导。已完成的检查不会出现仅清理延迟,而不会成为错误的更新失败,而未完成的检查仍会报告超时。独立的非交互式 Doctor 因插件加载失败而退出并出现错误;当更新可以继续进行时,更新程序调用的 Doctor 可以保留这些结果作为警告。请参阅 [ 如何更新 run](/cli/update/how-updates-run) 以了解剩余的旧更新程序限制。
私有更新验证还可以推迟指定的可选检查并打印激活后运行的命令。这些检查尚未通过,所需的故障仍然会阻塞,并且这不会延长旧更新程序的总体截止日期。
来源和完整变更列表
**改进**
- 在 Doctor 报告中重复使用私有数据库副本,临时磁盘占用率可能更高 [#153584](https://github.com/openclaw/openclaw/pull/153584) — [@masterswords1](https://github.com/masterswords1)、[@dmlau76](https://github.com/dmlau76).
- 避免在 Doctor 会话修复期间不必要的身份验证加载 [#153602](https://github.com/openclaw/openclaw/pull/153602)。
- Move Crabbox 诊断存储读取调用线程 [3bbb9a3f](https://github.com/openclaw/openclaw/commit/3bbb9a3f10a54e942a9ab6d58503be698433f28e)。
- Move Skill Workshop 诊断读取调用线程 [45384f58](https://github.com/openclaw/openclaw/commit/45384f58ab8a575c010c8663228cb8c7ab7950c0)。
- Reuse Doctor 对待处理插件迁移的检查工作 [#152793](https://github.com/openclaw/openclaw/pull/152793)。
- 在启动检查期间跳过未使用的插件目录[b46071e5](https://github.com/openclaw/openclaw/commit/b46071e5ec659b5ad0d877d3e3769677cccefd2f)。
- 在重复检查时重复使用准备好的插件元数据[#153452](https://github.com/openclaw/openclaw/pull/153452)。
- Move 工作区准备情况读取到后台 [#153183](https://github.com/openclaw/openclaw/pull/153183)。
- 解释心跳工作线程启动停止的位置 [#154779](https://github.com/openclaw/openclaw/pull/154779) — [@vincentkoc](https://github.com/vincentkoc)、[@lucarinaorg](https://github.com/lucarinaorg).
- 在更新验证期间推迟可选的医生检查 [#155244](https://github.com/openclaw/openclaw/pull/155244) — [@zanemc-ao](https://github.com/zanemc-ao)、[@agebreak0083](https://github.com/agebreak0083)、 [@baumus](https://github.com/baumus).
- 避免多余的早期Doctor数据库修复[#155446](https://github.com/openclaw/openclaw/pull/155446)。
**错误修复**
- 在阻止的迁移收据中包括原始故障 [#152335](https://github.com/openclaw/openclaw/pull/152335)。
- 更快的Doctor遍历大量保留历史记录[#153851](https://github.com/openclaw/openclaw/pull/153851)。
- 报告Doctor最终结果中的插件加载失败 [#153640](https://github.com/openclaw/openclaw/pull/153640) — [@th-m-vogel](https://github.com/th-m-vogel).
- 博士Matrix状态修复[#152203](https://github.com/openclaw/openclaw/pull/152203)期间减少无关工作。
- 通过清理延迟保留已完成的医生结果,而较旧的 2026.9.4 更新程序保留其总计限制 [#153679](https://github.com/openclaw/openclaw/pull/153679) — [@sebastian-hoebarth](https://github.com/sebastian-hoebarth).
- 通过清理失败保留数据库隔离拒绝 [749909f8](https://github.com/openclaw/openclaw/commit/749909f8a399182feb6fd0ccd0c22f302d6284da)。
- 在回滚清理期间保留原始 SQLite 错误 [#154862](https://github.com/openclaw/openclaw/pull/154862) — [@vincentkoc](https://github.com/vincentkoc).
- 保持可操作的终端会话迁移错误可见 [#154928](https://github.com/openclaw/openclaw/pull/154928)。
手动核心升级后,`openclaw doctor --fix` 可以使符合条件的官方 npm 插件恢复一致,同时尊重更新的引脚和非默认标签。修复指南现在可以区分可实现的版本和注册表滞后,报告不可读的所需清单,并避免向您发送循环迁移修复。第三方插件由他们自己的维护者保留,不可用的软件包仍然存在警告,并且缺少必需的清单仍然可能导致升级后检查失败。
Doctor 可以在中断安装受信任的、声明的替换插件 ID 后重新连接现有设置,而现有的规范设置和显式禁用优先。候选检查还接受有效的 `import.meta` 语法并命名剩余的每个插件解析警告,而不将格式错误的插件视为正常插件。
来源和完整变更列表
**错误修复**
- 给出可实现的ClawHub更新建议并解释注册表滞后[#145103](https://github.com/openclaw/openclaw/pull/145103) — [@dasx](https://github.com/dasx)、[@vincentkoc](https://github.com/vincentkoc)、 [@fuller-stack-dev](https://github.com/fuller-stack-dev),[@colton-harris](https://github.com/colton-harris).
- 修复手动核心升级后官方插件版本漂移[#153027](https://github.com/openclaw/openclaw/pull/153027)。
- 升级后报告缺少或不可读的所需插件清单 [baec505b](https://github.com/openclaw/openclaw/commit/baec505bffcfc67b4e80429974bf705a39dc57fe)。
- 避免循环插件迁移恢复建议 [#153419](https://github.com/openclaw/openclaw/pull/153419) — [@romneyda](https://github.com/romneyda).
- 在中断规范-ID配置写入[d9123f86](https://github.com/openclaw/openclaw/commit/d9123f864a4e442819633927acad8d0b418beb4e)后恢复插件设置 - [@vincentkoc](https://github.com/vincentkoc),[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 复制插件快照,不支持本机重命名 [#154354](https://github.com/openclaw/openclaw/pull/154354) — [@vincentkoc](https://github.com/vincentkoc)、[@lucarinaorg](https://github.com/lucarinaorg).
- 防止插件解析阻止更新排练 [#155394](https://github.com/openclaw/openclaw/pull/155394) — [@colehammond65](https://github.com/colehammond65).
更新保留本地插件覆盖和它们隐藏的 npm 副本,并提供有关哪个副本处于活动状态的指导。检查您的覆盖是否支持新版本,或故意将其删除以返回到托管副本。保留本地插件不会授予其信任,并且受信任策略阻止的通道将停止重试,直到该策略得到解决。 [插件同步指南](/cli/update/how-updates-run#local-packaged-overrides)解释了更新行为。
来源和完整变更列表
**错误修复**
- 在更新期间保留本地插件覆盖并解释被阻止的通道 [#151851](https://github.com/openclaw/openclaw/pull/151851) — [@whitenesstiger](https://github.com/whitenesstiger).
当没有提供工作截止日期时,插件和挂钩更新可以完成更长的工作,同时遵守明确的短截止日期。同样的区别还体现在受支持的 Doctor、插件聚合和最终化路径中,而无需删除单独的元数据、准备情况、清理或封闭更新程序限制。 Git 插件克隆和签出在没有截止日期的情况下运行时仍然存在取消间隙,因此这并不保证每个停滞的更新都可以立即取消。
来源和完整变更列表
**限制和兼容性**
- H 遵守插件和挂钩工作截止日期,同时保留 Git 克隆和签出取消限制 [#153043](https://github.com/openclaw/openclaw/pull/153043) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
**错误修复**
- 让核心后插件更新在没有隐式工作截止日期的情况下完成 [#153109](https://github.com/openclaw/openclaw/pull/153109) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 避免更新完成期间隐含的总体截止日期 [#153085](https://github.com/openclaw/openclaw/pull/153085) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 保留更新完成期间省略的医生截止日期 [#152973](https://github.com/openclaw/openclaw/pull/152973) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- Honor 在 Git 更新程序 API [#153036](https://github.com/openclaw/openclaw/pull/153036) 中忽略了工作截止日期 — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
长包更新保留独占控制权,直到其工作完成,并且取消会等待清理,然后才能继续进行其他更新或修复。如果无法确认清理,OpenClaw 会保留恢复文件,并可能使网关处于停止状态。重试之前检查 `openclaw update status`,不要仅仅因为锁定旧或其父进程已退出而删除锁定。
来源和完整变更列表
**错误修复**
- 防止长包更新期间重叠安装工作 [#153093](https://github.com/openclaw/openclaw/pull/153093) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 在释放控制权之前等待更新命令清理 [#150959](https://github.com/openclaw/openclaw/pull/150959)。
- Keep 在取消期间拒绝更新助手继续进行 [#154289](https://github.com/openclaw/openclaw/pull/154289) — [@vincentkoc](https://github.com/vincentkoc).
- 更新权限丢失后防止私人安装Node [#154334](https://github.com/openclaw/openclaw/pull/154334) — [@vincentkoc](https://github.com/vincentkoc).
托管重新启动会验证服务网关,并在存储和帮助程序关闭之前给予许可的代理、子代理和计划的工作时间来完成。未知活动不再算作闲置。强制重启会立即关闭新的准入,通常允许最多五分钟的时间进行已准入的工作,上限以服务剩余的关闭津贴为准;在截止日期前仍在进行的工作被取消。显式强制等待为零是立即的,而普通 `--wait 0` 保持无限制,除了本机服务限制。这些 Unix 恢复更改需要更新的启动器。现在可以在符合资格的更新或 Doctor 维护期间修复已识别的过时 Linux 关闭策略;自定义定义可能仍需要相同配置文件 `openclaw gateway install --force` 才能获取 `KillMode=mixed`。请参阅 [ 重新启动恢复](/gateway/restart-recovery)。
已经待处理的授权答案和批准可以在正常排空期间完成,并且符合条件的替换子代理可以保存其结果。新的工作仍然受阻,用完的预算也没有更新。没有提供预算的老年强制呼叫者在 60 秒的替换窗口内最多保留 45 秒的耗尽时间。
现在,更新可以通过卡住的网关,该网关拒绝连接,因为其安装已被替换。 OpenClaw 在停止之前发出警告,并且活动任务可能会被中断。检查活动工作的其他失败仍然遵循通常的重启保护。
来源和完整变更列表
**错误修复**
- 使用剩余网关关闭时间进行 sidecar 清理 [#151360](https://github.com/openclaw/openclaw/pull/151360)。
- 保留本地网关重新启动清理和初始聊天位置[#153267](https://github.com/openclaw/openclaw/pull/153267)。
- 当无法检查活动工作时,Defer 重新启动 [#118053](https://github.com/openclaw/openclaw/pull/118053) — [@harjothkhara](https://github.com/harjothkhara)、[@fuller-stack-dev](https://github.com/fuller-stack-dev)、 [@dale-goes-fast](https://github.com/dale-goes-fast).
- Let 承认在恢复的 Unix Node 在现有服务期限内重新启动期间工作消耗 [#153435](https://github.com/openclaw/openclaw/pull/153435) — [@ly85206559](https://github.com/ly85206559), [@obviyus](https://github.com/obviyus),[@donniefi](https://github.com/donniefi).
- 在恢复重启之前验证服务网关 [#153510](https://github.com/openclaw/openclaw/pull/153510)。
- Unblock 在 cron 清理挂起时强制重新启动 [#153575](https://github.com/openclaw/openclaw/pull/153575)。
- 共享存储关闭前Drain交付维护[#152379](https://github.com/openclaw/openclaw/pull/152379)。
- 更新维护前释放代理数据库租用[#151435](https://github.com/openclaw/openclaw/pull/151435)。
- 在关闭开始时拒绝挂起的数据库写入 [#152536](https://github.com/openclaw/openclaw/pull/152536)。
- 关机后保留有界网关退出路径清除错误 [6f60b59b](https://github.com/openclaw/openclaw/commit/6f60b59b6fe4a89e2050c24b4511ccf0b77bb28a) — [@metahacker](https://github.com/metahacker)、[@vincentkoc](https://github.com/vincentkoc).
- 修复工作板在关机期间重新启动清理并停止定期工作 [#154203](https://github.com/openclaw/openclaw/pull/154203) — [@flynnmcpoc](https://github.com/flynnmcpoc)、[@abusido82](https://github.com/abusido82).
- Give 强制重启有限时间以完成已承认的工作 [#154300](https://github.com/openclaw/openclaw/pull/154300) — [@metahacker](https://github.com/metahacker)、[@vincentkoc](https://github.com/vincentkoc)、 [@alvelda](https://github.com/alvelda),[@rvelasquez](https://github.com/rvelasquez).
- 在网关关闭之前完成承认的任务维护 [#154308](https://github.com/openclaw/openclaw/pull/154308)。
- 在网关关闭期间加入丢弃的附件清理 [#154832](https://github.com/openclaw/openclaw/pull/154832)。
- 在关闭期间接受待处理的答复和批准 [#155287](https://github.com/openclaw/openclaw/pull/155287)。
- 在正常重新启动期间保留替换子代理结果 [#155310](https://github.com/openclaw/openclaw/pull/155310)。
- Stop 无需等待不可用的排水检查即可替换网关安装,并在未提供 [1d8c0fcd](https://github.com/openclaw/openclaw/commit/1d8c0fcdeed18d838174a491cbc5378af32fecbb) 时为委托的 Doctor 停止提供默认超时。
重新启动后,您可以返回未完成的对话,其中包含保存的历史记录、进度和工具结果,以及重新启动通知。主导对话的代理决定如何继续中断的子代理,而不是自动重新启动它们,检查先前的工作是否已停止以及重复或替换之前的操作是否已生效。已停止的对话将保持停止状态,并且继续仍取决于当前权限和恢复检查。请参阅 [ 重新启动后仍然存在的内容 ](/gateway/restart-recovery)。
来源和完整变更列表
**错误修复**
- 保留重新启动通知并请求会话继续恢复[#152929](https://github.com/openclaw/openclaw/pull/152929)。
- 在重复重新启动时保留子代理进度 [#151450](https://github.com/openclaw/openclaw/pull/151450)。
- 恢复网关重启后搁浅的对话 [#153433](https://github.com/openclaw/openclaw/pull/153433)。
- 网关重启后恢复未完成的父工作 [#153243](https://github.com/openclaw/openclaw/pull/153243)。
- 在重新启动时取消已停止的父级对话,但不能保证每个子级都停止 [#153271](https://github.com/openclaw/openclaw/pull/153271)。
- 跨同级完成重试恢复父任务 [#153850](https://github.com/openclaw/openclaw/pull/153850) — [@vincentkoc](https://github.com/vincentkoc).
- 保留重新启动恢复限制和最终答案处理 [#137483](https://github.com/openclaw/openclaw/pull/137483) — [@vincentkoc](https://github.com/vincentkoc)、[@fuller-stack-dev](https://github.com/fuller-stack-dev)、 [@jaxonparrott](https://github.com/jaxonparrott).
**改进**
- 通过历史工作者[#153432](https://github.com/openclaw/openclaw/pull/153432)准备中断回合重放。
- 重新启动恢复期间批量待交付检查 [#154591](https://github.com/openclaw/openclaw/pull/154591)。
重新启动恢复更正还修复了模型目录资源清理问题。
重新启动、更新和诊断检查可区分仍在启动的网关和已失败的网关,并且本地运行状况检查可识别 macOS 上的服务通配符侦听器。在重新启动等待限制时,退出代码 `2` 表示仍在启动,不健康; `health` 和 `channels` JSON 同样可以与 `status=starting` 一起退出 `0`。检查 `openclaw gateway status --deep` 并再次检查,然后将服务视为就绪。现有的等待预算仍然存在,并且已经运行的旧更新程序无法继承新的检查。
来源和完整变更列表
**错误修复**
- 在本地运行状况检查中识别服务通配符网关 [#153984](https://github.com/openclaw/openclaw/pull/153984)。
- 避免在启动过程中出现错误重启失败 [#151387](https://github.com/openclaw/openclaw/pull/151387)。
- 在更新验证期间保留正在进行的网关启动 [#151663](https://github.com/openclaw/openclaw/pull/151663) — [@freshxiaoyao](https://github.com/freshxiaoyao)、[@drtony1](https://github.com/drtony1).
- 避免缓慢启动期间出现错误网关故障 [#153063](https://github.com/openclaw/openclaw/pull/153063) — [@suidge](https://github.com/suidge).
- 重复使用配对服务凭据进行可信代理重新启动检查 [#153540](https://github.com/openclaw/openclaw/pull/153540)。
**改进**
- 在更新验证期间推迟不必要的网关工作 [#154548](https://github.com/openclaw/openclaw/pull/154548) — [@zanemc-ao](https://github.com/zanemc-ao)、[@baumus](https://github.com/baumus)、 [@jplavoiemtl](https://github.com/jplavoiemtl)、[@seahopark](https://github.com/seahopark)、[@mirr0ch1](https://github.com/mirr0ch1)、[@ago1776](https://github.com/ago1776)、[@zsh20000414](https://github.com/zsh20000414).
在 macOS 和 Linux 上受支持的 Node 安装上,`SIGUSR1` 现在无需重新启动网关即可打开调试器。将用于重新启动的脚本更改为 `SIGUSR2`,或使用 `openclaw gateway restart`,这保留了对已验证的旧运行网关的处理。 [重启和监控指南](/cli/gateway/restart-and-supervision)解释了信号变化。
来源和完整变更列表
**限制和兼容性**
- 为调试器保留SIGUSR1,将网关重新启动移动到SIGUSR2,将QA诊断移动到SIGQUIT [#153462](https://github.com/openclaw/openclaw/pull/153462)。
启用 [live 配置重新加载 ](/gateway/configuration/hot-reload) 后,无需重新启动网关即可应用更多设置,包括云工作人员配置文件、会议捕获、桌面连接、浏览器控制和访问策略。成功的重叠设置和机密重新加载还可以避免不必要的恢复重启。受影响的服务或客户端可能会重新连接,现有工作人员会保留其原始配置设置,并且新启用的审核不会填补历史空白。侦听器地址或端口、有效身份验证模式和 TLS 拓扑仍需要重新启动。
来源和完整变更列表
**改进**
- 应用更多网关设置,无需重新启动 [#154792](https://github.com/openclaw/openclaw/pull/154792)。
**错误修复**
- 避免在重叠配置和机密重新加载期间不必要的重新启动 [#155073](https://github.com/openclaw/openclaw/pull/155073) — [@ceckert](https://github.com/ceckert)、[@obviyus](https://github.com/obviyus).
符合条件的同版本干净重启会重用已完成的数据库验证,并且启动会加载更少未使用的依赖项。内存、文档和 Codex 工作线程也以较少的开销开始,而并发 Windows UI 准备可以重用经过完全验证的资产。升级、非正常关闭、替换文件和迁移仍然需要全面检查;准备就绪后可能会发现同一文件内的损坏,因此快速重新启动并不是一个新的完整性证书。
来源和完整变更列表
**改进**
- 减少后台工作程序启动时间和内存使用[#154293](https://github.com/openclaw/openclaw/pull/154293)。
- 在符合条件的干净重启后重新使用数据库检查,同时如果无法写入所需的脏标记,则拒绝启动 [#153463](https://github.com/openclaw/openclaw/pull/153463)。
- 当不存在备份时,跳过不必要的配置恢复查找 [#151801](https://github.com/openclaw/openclaw/pull/151801)。
- 仅在需要时加载工作区发现依赖项 [#154115](https://github.com/openclaw/openclaw/pull/154115)。
- Load Gateway 通过手动回退按需启动恢复 [#151699](https://github.com/openclaw/openclaw/pull/151699)。
- 共享状态工作线程启动时减少不必要的导入 [#153399](https://github.com/openclaw/openclaw/pull/153399) — [@vincentkoc](https://github.com/vincentkoc).
- 在启动迁移之前避免重复数据库验证 [#155386](https://github.com/openclaw/openclaw/pull/155386) — [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@zyv5ge](https://github.com/zyv5ge)、 [@harjothkhara](https://github.com/harjothkhara).
**错误修复**
- 继承SQLite工作人员[#150715](https://github.com/openclaw/openclaw/pull/150715)中的启动器编译缓存。
- 在 Windows 发布冲突 [#151932](https://github.com/openclaw/openclaw/pull/151932) 后重新使用已验证的 Control UI 资产。
- 与 SQLite 工作线程共享预期的编译缓存 [#154358](https://github.com/openclaw/openclaw/pull/154358) — [@vincentkoc](https://github.com/vincentkoc).
更新和 Doctor 可以识别指向不同安装的合格托管网关。合格的更新通过备份事务修复已识别的过时服务设置,独立的 `openclaw doctor --fix` 现在对可写打包安装使用相同的修复。保留支持的自定义值,同时保留未知编辑以供审核。凭证写入和不相关的命令更改仍需要确认,未经验证的恢复仍待处理。支持的 Node 安装更改可能会触发私有兼容 Node 运行时的非交互式安装,而无需更改系统 Node。已停止的服务保持停止状态,外部管理的服务保留其所有者,并且 `--no-restart` 不会重新绑定服务。 Windows 和一些自定义覆盖保留 [ 更新执行](/cli/update/how-updates-run) 中描述的服务根回退。
即使系统范围的所有权检查不可用,现在也可以对加载的 Linux 用户服务进行医生和更新修复。 OpenClaw 仍会验证您的帐户是否可以更改服务,并在所有权冲突或无法确认权限的情况下阻止修复。
来源和完整变更列表
**错误修复**
- 在不确定的 systemd 检查后恢复网关 [#153017](https://github.com/openclaw/openclaw/pull/153017) — [@xilopaint](https://github.com/xilopaint).
- 修复留在不同 OpenClaw 安装中的托管网关 [24445095](https://github.com/openclaw/openclaw/commit/244450952c019eaffeced152f7c74ebaed1b8c6f) — [@baiwei0427](https://github.com/baiwei0427).
- 在 Doctor 中报告过时的网关服务设置并更新状态 [#151777](https://github.com/openclaw/openclaw/pull/151777) — [@andapeng](https://github.com/andapeng).
- 对网关服务一致地对待未设置的主文字 [#151277](https://github.com/openclaw/openclaw/pull/151277) — [@masatohoshino](https://github.com/masatohoshino).
- 在更新期间刷新过时的托管网关服务定义 [#152120](https://github.com/openclaw/openclaw/pull/152120) — [@andapeng](https://github.com/andapeng).
- Node 安装路径更改后完成托管网关更新 [97c7b359](https://github.com/openclaw/openclaw/commit/97c7b35933924ff6db0a58fba255fef9e71f1e96) — [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@romneyda](https://github.com/romneyda).
- 通过 Node 重生保留调用的安装 [#147621](https://github.com/openclaw/openclaw/pull/147621) — [@romneyda](https://github.com/romneyda)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 维护前刷新过时的服务关闭预算 [#153636](https://github.com/openclaw/openclaw/pull/153636) — [@vincentkoc](https://github.com/vincentkoc)、[@ezimerman](https://github.com/ezimerman)、 [@xilopaint](https://github.com/xilopaint),[@flynnmcpoc](https://github.com/flynnmcpoc).
- 在事务策略刷新期间保留自定义服务设置 [#154519](https://github.com/openclaw/openclaw/pull/154519) — [@ezimerman](https://github.com/ezimerman).
- 与[0a4cc91c](https://github.com/openclaw/openclaw/commit/0a4cc91c090cfb3ad12b95d0c4262f246726185f)医生一起修复已识别的陈旧网关服务设置。
- 在 Doctor 关闭争用后恢复符合条件的网关 [18a0b30d](https://github.com/openclaw/openclaw/commit/18a0b30d69cb656b2853a10b7587a0068bce9657) — [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@sagebhardt](https://github.com/sagebhardt)、 [@sasan1200](https://github.com/sasan1200).
- 公开暂停验证器并准备CLI设备认证[#155258](https://github.com/openclaw/openclaw/pull/155258)。
- 当系统检查不可用时,允许更改已验证加载的 Linux 用户服务 [945557e9](https://github.com/openclaw/openclaw/commit/945557e95c6d3764be83f53dce39bd377ad9d81d)。
Mac 服务命令可识别本机 XML 和二进制定义,在支持的回滚期间保留原始 LaunchAgent 字节和权限,并在报告完成停止之前验证服务是否已卸载。从服务所有者的登录会话运行维护并使用 `openclaw gateway status --deep` 进行检查;在运行时替换之前必须卸载已禁用但仍加载的服务。受影响的旧更新助手可能需要从独立终端进行首次升级。来自无法访问的工作目录的服务检查仍然是一个已知的限制。
服务修复会保留受支持的记录 Node 路径,除非明确选择覆盖它。如果 Mac 包装器报告格式错误的环境输入,请保留服务定义和私有环境,从相同的拥有帐户和配置文件进行修复,然后验证状态和运行状况。
来源和完整变更列表
**错误修复**
- 从外部 shell 恢复 Mac 服务命令 [#153403](https://github.com/openclaw/openclaw/pull/153403) — [@romneyda](https://github.com/romneyda).
- 在回滚[#152195](https://github.com/openclaw/openclaw/pull/152195)期间保留LaunchAgent字节和权限。
- 允许授权更新帮助者完成网关服务关闭 [#153020](https://github.com/openclaw/openclaw/pull/153020) — [@theangrypit](https://github.com/theangrypit).
- 在报告成功之前验证 macOS 网关关闭 [#153789](https://github.com/openclaw/openclaw/pull/153789) — [@britrik](https://github.com/britrik).
- 读取本机XML和二进制Mac服务定义,无法访问的工作目录仍然是一个限制[#151432](https://github.com/openclaw/openclaw/pull/151432)。
- 要求在运行时替换[#153637](https://github.com/openclaw/openclaw/pull/153637)之前卸载macOS网关服务。
- 在服务修复期间保留网关运行时路径 [#155265](https://github.com/openclaw/openclaw/pull/155265) — [@philbones49](https://github.com/philbones49).
Windows 更新和快照保留准确的目录身份,托管网关关闭通过其切换跟踪已验证的进程。当本机 Windows 作业支持可用时,清理还可以在其父级退出后停止并验证拥有的后代。如果清理工作无法通过认证,锁和临时文件将保留以供恢复;外国或重复使用的流程仍然被拒绝。
更新的 Windows 更新程序报告保留的备份,因为加载的本机插件可以防止删除,而无需重复等待该锁定的文件。已经运行的旧更新程序会保留其之前的清理行为;真正严重的删除和回滚失败仍然存在。
来源和完整变更列表
**错误修复**
- 保留更新和快照的准确 Windows 目录标识 [#152972](https://github.com/openclaw/openclaw/pull/152972)。
- 保留 Windows 网关关闭所有权和切换路径 [#151157](https://github.com/openclaw/openclaw/pull/151157) — [@romneyda](https://github.com/romneyda)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 在父级退出后验证 Windows 后代清理 [#151443](https://github.com/openclaw/openclaw/pull/151443) — [@andapeng](https://github.com/andapeng).
- 避免加载本机插件 [#154219](https://github.com/openclaw/openclaw/pull/154219) 导致 Windows 更新清理停止。
- Start Windows 嵌套波浪线路径未更改的网关 [#154331](https://github.com/openclaw/openclaw/pull/154331) — [@vincentkoc](https://github.com/vincentkoc)、[@easyteacher](https://github.com/easyteacher).
- 使用截止日期得出的探测预算 [#155051](https://github.com/openclaw/openclaw/pull/155051) 识别正在运行的 Windows 网关。
源签出更新可处理较大的 Git 包和浅层部分存储库,显示已安装的版本和目标修订版本,并在检查保留的版本进行回滚时保留本地编辑。较旧安装的更新程序可能仍然需要获取缺少的 Git 对象或手动首次升级,并且分阶段包需要磁盘空间。 Doctor 还为源自链接提供选择性恢复建议,而无需重写不相关的依赖项编辑。
[ 源服务器更新脚本](/install/updating/update-methods#source-checkout-servers-reference-script) 在干净构建之前停止网关,并在普通构建失败后恢复生成的输出。自定义自动服务命令需要配对、非空停止和重启设置;完全为空的重启设置可保持手动生命周期控制。恢复仅涵盖生成的输出,保留的嵌套构建工作仍然是自动回滚和重新启动的限制。
Git 更新还会在停止网关之前检查目标磁盘容量,并避免让不相关的不可用远程阻止选定的更新源。稳定版和 beta 后备版 Git 更新会跳过扩展稳定版标签,保留选定的发行版;较旧安装的更新程序保留其首次升级限制。
来源和完整变更列表
**错误修复**
- 在更新验证期间保留替换的克隆目录 [#147544](https://github.com/openclaw/openclaw/pull/147544) — [@romneyda](https://github.com/romneyda)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- Verify 在回滚之前保留了 npm-linked Git 构建 [#147562](https://github.com/openclaw/openclaw/pull/147562) — [@romneyda](https://github.com/romneyda)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 删除 Git 更新包限制和整个包缓冲 [#154042](https://github.com/openclaw/openclaw/pull/154042) — [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@romneyda](https://github.com/romneyda).
- 修复了浅层部分源签出[#154191](https://github.com/openclaw/openclaw/pull/154191)的更新。
- 在干净构建之前停止源网关并恢复普通的失败构建输出,嵌套构建恢复仍然受到限制 [#125896](https://github.com/openclaw/openclaw/pull/125896) — [@grynn](https://github.com/grynn)、[@fuller-stack-dev](https://github.com/fuller-stack-dev)、 [@donniefi](https://github.com/donniefi).
- 诊断源自链接并保留心跳和任务读取恢复 [#117114](https://github.com/openclaw/openclaw/pull/117114) — [@synthalorian](https://github.com/synthalorian)、[@fuller-stack-dev](https://github.com/fuller-stack-dev)、 [@piotx](https://github.com/piotx),[@vincentkoc](https://github.com/vincentkoc).
- 检查大型 Git 更新包的可用磁盘空间 [ff4379ed](https://github.com/openclaw/openclaw/commit/ff4379edda77fa24b485cab0c4873b92e1439feb) — [@obviyus](https://github.com/obviyus).
- 通过扩展稳定版本标签保持稳定的 Git 更新 [#154598](https://github.com/openclaw/openclaw/pull/154598) — [@romneyda](https://github.com/romneyda).
- 避免由不相关的 Git 远程导致的更新失败 [#155133](https://github.com/openclaw/openclaw/pull/155133) — [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
**改进**
- 在 Git 运行时升级期间跳过一次性构建缓存 [#153632](https://github.com/openclaw/openclaw/pull/153632) — [@vincentkoc](https://github.com/vincentkoc).
- 显示开发更新修订和 GitHub 比较 [#153740](https://github.com/openclaw/openclaw/pull/153740) — [@vincentkoc](https://github.com/vincentkoc).
编号为 `.33` 及更高版本的扩展稳定版本现在可以来自前两个完整月份中的任何一个,从而为符合条件的版本系列提供了更长的维护窗口。当它成为前第三个月时,一条线就会离开该窗口。资格并不能保证已发布的版本或持续的支持,并且扩展稳定更新仍然是软件包安装途径。参见[发布渠道](/install/development-channels)。
来源和完整变更列表
**限制和兼容性**
- 保持两个月完整的延长稳定维护资格 [#154777](https://github.com/openclaw/openclaw/pull/154777) — [@romneyda](https://github.com/romneyda).
Homebrew 安装现在收到正确的 [ 公式升级指南 ](/install/updating/update-methods#homebrew-formula-installs)。备份并停止网关,运行 `brew upgrade openclaw-cli`,运行 `openclaw doctor --fix`,然后重新启动。新的或更新的服务使用Homebrew稳定的公式路径;指向旧版本目录的现有服务可能需要与升级后的 CLI 相同的配置文件 `openclaw gateway install --force`。 OpenClaw 不会为您运行 Homebrew 升级。
来源和完整变更列表
**错误修复**
- Guide Homebrew 升级并保留稳定的网关服务路径 [#141011](https://github.com/openclaw/openclaw/pull/141011) — [@maxsxu](https://github.com/maxsxu).
如果外部主管拥有您的安装,则更新屏幕会说明您需要使用该服务器或部署的更新工作流程。拒绝不会影响包裹和网关,并删除不相关的修复建议。如果稍后的状态读取失败,检查状态仍然可用,而无需启动另一次更新。
来源和完整变更列表
**错误修复**
- 解释外部主管更新拒绝和状态恢复 [#151942](https://github.com/openclaw/openclaw/pull/151942) — [@vincentkoc](https://github.com/vincentkoc)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
现在,在终端中运行的网关将受支持的更新传递给新进程,从而避免在替换其运行时文件后出现模块丢失故障。候选人验证在其服务时发生,然后是短暂的激活中断;停止等待拥有的更新工作并使其停止。 `OPENCLAW_NO_RESPAWN` 更改前拒绝并给出手动说明。
尽可能使用协调的 `openclaw update` 路径。已经运行新检测代码的网关还可以注意到手动包替换,并通过 `openclaw gateway run` 进行托管重启或前台重新启动;旧的正在运行的二进制文件无法仅从替换文件中获得该行为。如果停止仍未确认,请检查更新程序并在原始终端中重试 Ctrl+C 或在原始进程中重试 SIGTERM,如 [ 更新执行](/cli/update/how-updates-run) 中所述。
更新维护可以等待相同的现有前台进程释放其状态,而无需发出信号或重新启动该进程。从已发布的 2026.9.5 更新程序进行的前台首次升级仍然需要停止、更新和启动;如果文件已部分替换,请停止旧进程并从新安装完成经过验证的修复,同时保留状态和备份。
来源和完整变更列表
**错误修复**
- 避免前台网关更新期间丢失模块故障 [#152466](https://github.com/openclaw/openclaw/pull/152466)。
- 手动更换包后恢复网关 [#153078](https://github.com/openclaw/openclaw/pull/153078) — [@mattkanwisher](https://github.com/mattkanwisher).
- 更新维护前等待前台网关关闭[#154200](https://github.com/openclaw/openclaw/pull/154200)。
支持的旧更新程序切换可以完成脱机会话修复并验证替换网关,包括支持从 2026.9.2. 进行的 Linux/npm 升级。缺少继承的更新历史记录或备份覆盖范围仍然会停止维护,并且无法重新创建已删除的旧更新程序的备份。提交的包更改后,恢复可能需要兼容的已安装版本、相同状态的 `openclaw doctor --fix`,然后是 `openclaw gateway start`。保留经过验证的备份,因为迁移后仅包回滚可能不安全; [回滚和恢复](/install/updating/rollback-and-recovery)解释了边界。
当前完成可以在共享状态迁移后将数据库工作保留在兼容的新安装的运行时中。该修复必须已存在于已安装的更新程序中,并且无法修补已在运行的旧驱动程序;上面较窄的旧版本切换路径仍然是分开的。迁移后仅代码回滚仍然不安全。
在受支持的非 Windows 升级期间,OpenClaw 可以停止托管网关进行 Doctor 维修并恢复相同的服务,即使稍后检查失败也是如此。当更新导致停止时,尽管`--no-restart`,仍可能恢复服务并解释异常;您已经停止的服务将保持停止状态。必须启用修复,并且较旧的更新程序必须已将控制权移交给新版本。
来源和完整变更列表
**错误修复**
- 在旧版更新和会话导入失败后恢复工作网关 [#151682](https://github.com/openclaw/openclaw/pull/151682) — [@allen0373](https://github.com/allen0373)、[@jjgao](https://github.com/jjgao).
- 防止较旧的网关更新程序 [#151977](https://github.com/openclaw/openclaw/pull/151977) 进行错误回滚。
- 处理恢复 [#153784](https://github.com/openclaw/openclaw/pull/153784) 上缺少的更新历史记录和临时路径别名。
- OpenClaw 2026.9.2 [#153657](https://github.com/openclaw/openclaw/pull/153657) 启动的完整数据库升级 — [@vincentkoc](https://github.com/vincentkoc).
- 允许通过别名数据库路径 [#155508](https://github.com/openclaw/openclaw/pull/155508) 进行托管更新切换。
- 共享状态数据库迁移后完成更新 [#155610](https://github.com/openclaw/openclaw/pull/155610) — [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 在更新 Doctor 之前停止较旧的托管网关并保留其重新启动处理 [523cd02d](https://github.com/openclaw/openclaw/commit/523cd02de00cc86edc644ce130e6a9ff2fad0d90)。
- Restore 网关已停止进行更新维护,并允许经过验证的 Linux 用户服务激活 [80b922db](https://github.com/openclaw/openclaw/commit/80b922db7a0d2ec62ce1b416112b15580e47719b)。
- 重试托管网关检查并在较旧的更新程序移交 [a9e0696d](https://github.com/openclaw/openclaw/commit/a9e0696df5eb9338a9131b5a25db14c3bd81eec9) 后停止。
服务指纹与管理员用户ID匹配后,恢复采用医生记录停止。早期的未检查服务回退需要启用重新启动及其自己的合格切换状态;该限制并不禁止以后恢复因维护而停止的服务。在不可用的系统所有权检查后激活 Linux 需要加载具有经过验证的可写定义的用户单元;已确认的冲突或失败的能力检查仍然拒绝。
支持的 [ 容器映像升级](/install/docker#upgrading-container-images) 现在在提供流量之前自动运行 Doctor 的保留状态迁移,包括在合格的 FUSE 卷上。被拒绝的默认代理或系统代理会阻止健康的就绪响应,而可选的被拒绝代理可以保持隔离。当传入流量需要可用代理时,请使用 `/readyz`,并保留经过验证的匹配备份以进行回滚。
不安全所需状态退出,代码为 `78` 和修复原因。 FUSE恢复需要同目录硬链接和目录同步;如果文件系统无法提供它们,请在重试之前通过其本机后备路径公开相同的保留数据。当指示或特定历史修复仍然存在时,停止编写器并运行相同状态的离线 `openclaw doctor --fix`;每个受支持的图像交换不再需要单独的离线命令。
来源和完整变更列表
**错误修复**
- 在合格的 FUSE 存储上恢复容器迁移和可用代理准备情况 [#153096](https://github.com/openclaw/openclaw/pull/153096) — [@conan-scott](https://github.com/conan-scott).
打包安装可以在可选依赖项回退后从其确切声明的预构建包中恢复丢失的本机文件系统插件。健康的安装可以避免下载,显式的本机关闭设置保持关闭,源签出或现有损坏的插件保持不变。不受支持或脱机恢复会报告警告,而不是承诺本机支持。
来源和完整变更列表
**错误修复**
- 更新回退后恢复缺少的本机文件系统支持 [#152349](https://github.com/openclaw/openclaw/pull/152349)。
当旧的丢失路径检查完成时,恢复或修复的托管工作树仍然可见,并且可以在网关写入其数据库时继续进行清理。创建还可以避免遍历不相关的被忽略的依赖文件夹,而失败的准备会保留更改的工作树和提交的重置操作。已删除的记录不会被重建,历史修复可能仍需要Doctor。
清理现在可以区分已完成、延迟和部分结果,并解释保留工作树的原因。部分 CLI JSON 结果包括详细信息并退出时出错,因此自动化不应将报告的删除计数视为所有请求的清理已完成的证据。
来源和完整变更列表
**错误修复**
- 保留恢复的工作树以防止过时路径检查 [#152567](https://github.com/openclaw/openclaw/pull/152567)。
- 网关数据库活动期间的 Worktree 清理 [#153843](https://github.com/openclaw/openclaw/pull/153843) — [@vincentkoc](https://github.com/vincentkoc).
- 避免在工作树清理期间处理不相关的放置 [#153309](https://github.com/openclaw/openclaw/pull/153309)。
- 在大型忽略的依赖项文件夹旁边创建托管工作树 [3e013774](https://github.com/openclaw/openclaw/commit/3e013774fc7677644cffb275192a3b45a28e5838) — [@masatohoshino](https://github.com/masatohoshino).
- 通过清理失败保留项目工作树并提交重置操作 [#150249](https://github.com/openclaw/openclaw/pull/150249)。
- 报告不完整的托管工作树清理和不确定的限制 [585312d8](https://github.com/openclaw/openclaw/commit/585312d8ba73fb53ee870012066274917f411ede) — [@vincentkoc](https://github.com/vincentkoc).
**改进**
- 在捕获结帐基线时减少等待 [#151548](https://github.com/openclaw/openclaw/pull/151548)。
- 减少明确请求的观察项目发现[#154210](https://github.com/openclaw/openclaw/pull/154210)中的等待。
- Reduce Gateway 在托管工作树清理期间暂停 [#154545](https://github.com/openclaw/openclaw/pull/154545)。
高级操作员可以归档受支持的分离托管工作树,而不会丢失部分暂存的编辑,使用 `openclaw worktrees remove --exact-state ` 以及与其观察到的状态匹配的请求,然后使用 `openclaw worktrees restore ` 来恢复它。这是一条明确的归档路线,与普通的强制移除不同。原始结帐保留 30 天,因此其磁盘空间不会立即回收。
[精确状态恢复](/concepts/managed-worktrees)需要支持运行时、完整的非稀疏签出、Git文件引用和支持的索引。恢复通常返回保留的签出,包括后来的文件写入;如果只有快照幸存下来,恢复将覆盖符合条件的文件和精确的暂存,而不是完整的文件系统映像或不相关的忽略缓存。
来源和完整变更列表
**改进**
- 通过精确分段归档和恢复分离的工作树 [#155169](https://github.com/openclaw/openclaw/pull/155169) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
OpenClaw 在所有权检查和一小时宽限期后回收合格的废弃托管插件副本,而会话清理则避免重复扫描无法回收的数据。活动和受保护的历史记录仍然受到保护,并且 `openclaw sessions cleanup --enforce` 仍然请求立即清理。即使后来的清理失败,提交的会话重置也会完成剩余的操作,并且原始错误仍然可见。
当扫描无法完成时,爪子移除会保留用户文件,失败的备份或快照甚至可以在整个磁盘上回收经过验证的一次性临时文件。医生报告识别出废弃的备份划痕,`doctor --fix` 尝试清理、保留实时数据、未知数据和恢复数据。 Windows 重命名限制仍然存在,因此这并不能保证在每个平台上自动回收。
来源和完整变更列表
**错误修复**
- 宽限期后回收废弃的托管插件副本,不包括遗留副本、回退副本和工作人员临时副本 [#150580](https://github.com/openclaw/openclaw/pull/150580) — [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 在插件到期清理期间保持网关请求响应 [#153689](https://github.com/openclaw/openclaw/pull/153689)。
- 在清理失败后完成提交的会话重置操作 [#151955](https://github.com/openclaw/openclaw/pull/151955)。
- 对 eval 启动的命令 [#153115](https://github.com/openclaw/openclaw/pull/153115) 进行完整的存档清理。
- 在时钟更改和数据库锁定释放后恢复会话清理 [bef4401f](https://github.com/openclaw/openclaw/commit/bef4401fbc5d0209170dfb1325ef369b08cfd932) — [@steipete](https://github.com/steipete).
- 回收已识别的废弃备份暂存并报告清理失败 [#154199](https://github.com/openclaw/openclaw/pull/154199) — [@agebreak0083](https://github.com/agebreak0083).
- 当爪去除无法完成扫描时保留用户文件[#154797](https://github.com/openclaw/openclaw/pull/154797)。
- 存储已满时回收临时快照和备份文件 [#154937](https://github.com/openclaw/openclaw/pull/154937) — [@vincentkoc](https://github.com/vincentkoc).
- 避免对已回收的临时文件产生备份警告 [#154953](https://github.com/openclaw/openclaw/pull/154953)。
- 当其数据库停用时取消未启动的归档工作 [#155153](https://github.com/openclaw/openclaw/pull/155153)。
- Prevent 网关在过期机密清理期间暂停 [#155339](https://github.com/openclaw/openclaw/pull/155339)。
- 清理快照在分配期间中断 [#155447](https://github.com/openclaw/openclaw/pull/155447) — [@shakkernerd](https://github.com/shakkernerd).
**改进**
- 解释日志 [#153390](https://github.com/openclaw/openclaw/pull/153390) 中的会话清理工作器故障。
- 减少磁盘压力下重复的会话清理工作[#152092](https://github.com/openclaw/openclaw/pull/152092)。
- 减少冷会话重置和删除加载[#153294](https://github.com/openclaw/openclaw/pull/153294)。
更多维护、快照和共享状态数据库工作在后台工作人员中运行,从而减少了与消息和状态请求竞争的工作。目录刷新可以避免冗余副本,可以取消未使用的排队快照,并且更新演练可以在其他进程写入时捕获一致的单个数据库。保留规则和不确定或活跃的所有者仍然受到保护;这些单独的副本不会在每个数据库上创建原子回滚。
当数据库检查点无法完成时,磁盘压力清理现在会推迟进一步的存档和历史记录修剪,直到观察到已完成的检查点。增加预算或等待计时器不会清除保护,并且已提交的删除仍会保持提交状态。诊断有助于调查阻止程序,而无需声称每个数据库锁定或增长的日志都已修复。
来源和完整变更列表
**改进**
- 将自动会话维护数据库工作移至工作人员中 [c9584688](https://github.com/openclaw/openclaw/commit/c9584688c46123c4ab97977e8fe87525cb0a0d97) — [@vincentkoc](https://github.com/vincentkoc).
- 避免在验证主机连接关闭后重复扫描[#154258](https://github.com/openclaw/openclaw/pull/154258)。
- 避免在任务活动期间重复读取数据库 [#153893](https://github.com/openclaw/openclaw/pull/153893)。
- 避免在会话清理期间重复完整性扫描 [#154662](https://github.com/openclaw/openclaw/pull/154662)。
- 跨代理重用数据库维护工作人员 [#155677](https://github.com/openclaw/openclaw/pull/155677)。
**错误修复**
- 在启动之前取消不需要的快照副本 [#154185](https://github.com/openclaw/openclaw/pull/154185)。
- 减少目录刷新磁盘写入并回收超大临时快照 [#153512](https://github.com/openclaw/openclaw/pull/153512) — [@galiniliev](https://github.com/galiniliev)、[@dmlau76](https://github.com/dmlau76).
- 保持快照读取和排队凭证读取可靠 [#151829](https://github.com/openclaw/openclaw/pull/151829)。
- 避免设备令牌存储中的调用者线程停顿 [#151926](https://github.com/openclaw/openclaw/pull/151926)。
- 减少快照期间竞争的数据库工作并重新启动恢复 [#151581](https://github.com/openclaw/openclaw/pull/151581) — [@galiniliev](https://github.com/galiniliev)、[@jalehman](https://github.com/jalehman).
- 防止竞争写入期间共享状态写入超时 [#152050](https://github.com/openclaw/openclaw/pull/152050)。
- 在后台工作人员启动和耗尽 [#152681](https://github.com/openclaw/openclaw/pull/152681) 时保持存储维护授权。
- 针对主动写入的数据库进行更新演练 [#149449](https://github.com/openclaw/openclaw/pull/149449) — [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@jalehman](https://github.com/jalehman).
- 保持数据库活动不中断检查和更新报告 [#153839](https://github.com/openclaw/openclaw/pull/153839) — [@pfrederiksen](https://github.com/pfrederiksen)、[@dh-js](https://github.com/dh-js)、 [@guarismo](https://github.com/guarismo).
- 当数据库检查点清理被阻止时保留保留的历史记录 [#154302](https://github.com/openclaw/openclaw/pull/154302) — [@desksk](https://github.com/desksk)、[@l497c](https://github.com/l497c)、 [@markun-japan](https://github.com/markun-japan)、[@ermalta](https://github.com/ermalta)、[@tommylei666](https://github.com/tommylei666).
- 避免安装查找超时后本地 macOS 数据库锁定 [#154492](https://github.com/openclaw/openclaw/pull/154492)。
- 在更新数据库清理之前解决记录工作 [#155138](https://github.com/openclaw/openclaw/pull/155138) — [@zanemc-ao](https://github.com/zanemc-ao)、[@agebreak0083](https://github.com/agebreak0083)、 [@baumus](https://github.com/baumus).
每个数据库维护工作人员重用可以保留更多工作人员,而现有的空闲和内存压力退休仍然适用。
[托管更新](/cli/update/how-updates-run)可以完成可恢复的插件警告,并在剩余维护等待期间保持经过验证的新网关运行。结果将正常请求的版本与恢复的先前版本区分开来,并显示哪些修复仍待处理。保留更新程序还可以减少在具有硬链接支持的文件系统上的复制次数,尽管某些混合的 link/copy 布局仍然可以阻止该步骤。
对于延迟维护,请通过其服务所有者停止网关,运行 `openclaw update repair`,然后通过同一所有者启动它。所需的数据库修复、无效设置、丢失权限或可能仍在写入的修复过程阻止完成;警告并不意味着每项检查都通过了。
来源和完整变更列表
**错误修复**
- 避免并发数据库写入期间出现错误更新恢复警报 [#152986](https://github.com/openclaw/openclaw/pull/152986) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 更新Doctor中接受的结帐并保留频道首选项[#151447](https://github.com/openclaw/openclaw/pull/151447)。
- 中断验证后识别已完成的更新 [#152202](https://github.com/openclaw/openclaw/pull/152202)。
- 清除解决成功修复后最新100条更新记录中的医生指导[#153261](https://github.com/openclaw/openclaw/pull/153261) — [@iwhatsskill](https://github.com/iwhatsskill).
- Report 确认了历史修复,并通过完全最终确定路由较旧的恢复,这可能会停止拥有的网关 [#153291](https://github.com/openclaw/openclaw/pull/153291) — [@iwhatsskill](https://github.com/iwhatsskill).
- 回滚后报告恢复的版本和网关运行状况 [#151465](https://github.com/openclaw/openclaw/pull/151465) — [@ntimesp](https://github.com/ntimesp).
- 在分类报告成功之前验证更新恢复 [#153443](https://github.com/openclaw/openclaw/pull/153443) — [@johnnyjrizzo](https://github.com/johnnyjrizzo).
- 使用已安装的运行时完成更新并保护配置回滚 [1232d3f1](https://github.com/openclaw/openclaw/commit/1232d3f13ec04a42491a3fb869bdcaf42dae78eb) — [@vincentkoc](https://github.com/vincentkoc)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 更新完成失败后报告当前网关运行状况 [#153178](https://github.com/openclaw/openclaw/pull/153178) — [@0-danielviktorovich-0](https://github.com/0-danielviktorovich-0)、[@wlassalle724](https://github.com/wlassalle724)、 [@neangneatos](https://github.com/neangneatos)、[@zsmallx](https://github.com/zsmallx)、[@hxy8241](https://github.com/hxy8241).
- 在更新修复之前重复使用已完成的候选检查 [#153188](https://github.com/openclaw/openclaw/pull/153188) — [@bodegaclaw](https://github.com/bodegaclaw)、[@theangrypit](https://github.com/theangrypit)、 [@baumus](https://github.com/baumus)、[@hypocritepro](https://github.com/hypocritepro)、[@bharatvasan](https://github.com/bharatvasan)、[@jplavoiemtl](https://github.com/jplavoiemtl)、[@guerilla47](https://github.com/guerilla47).
- 预览后保持更新恢复警告和实际故障可见 [#150807](https://github.com/openclaw/openclaw/pull/150807) — [@romneyda](https://github.com/romneyda).
- Bound 中断更新检查并保留恢复结果 [#152727](https://github.com/openclaw/openclaw/pull/152727) — [@sunnyshu0925](https://github.com/sunnyshu0925)、[@yetval](https://github.com/yetval).
- 通过替换 [#153764](https://github.com/openclaw/openclaw/pull/153764) 保留更新失败并运行工作代码。
- 避免重复更新完成并保留异步键盘焦点 [#154160](https://github.com/openclaw/openclaw/pull/154160) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 减少更新状态轮询期间重复的数据库副本 [#154233](https://github.com/openclaw/openclaw/pull/154233)。
- 当经过验证的网关服务 [#154499](https://github.com/openclaw/openclaw/pull/154499) 时,完成更新并延迟维护 — [@rajivranjanmars](https://github.com/rajivranjanmars)、[@sagebhardt](https://github.com/sagebhardt)、 [@sasan1200](https://github.com/sasan1200),[@isinghmitesh](https://github.com/isinghmitesh).
- 使用可见的可恢复插件完成更新医生警告[#154543](https://github.com/openclaw/openclaw/pull/154543) — [@brunorapido](https://github.com/brunorapido).
- 澄清更新进度和快照警告 [#155188](https://github.com/openclaw/openclaw/pull/155188) — [@romneyda](https://github.com/romneyda).
- 与排队更新分开显示正在运行的更新进度 [#155342](https://github.com/openclaw/openclaw/pull/155342) — [@vincentkoc](https://github.com/vincentkoc).
- 在结帐发现期间保持更新进度 [#155498](https://github.com/openclaw/openclaw/pull/155498) — [@vincentkoc](https://github.com/vincentkoc).
- 在关机期间保持所选更新进度可读 [#155499](https://github.com/openclaw/openclaw/pull/155499) — [@vincentkoc](https://github.com/vincentkoc).
- 减少复制,同时保留正在运行的更新程序[#155977](https://github.com/openclaw/openclaw/pull/155977)。
无法暂存的软件包布局现在拒绝通过重新安装指导进行更新。
保存的更新报告保留经过编辑的故障原因、识别失败的操作并显示恢复路径和观察到的回滚结果。他们还将进程退出缓慢的已完成检查与从未完成的检查区分开来,并避免在准备没有改变时发出有关回滚损坏的警告。这些报告有助于解释故障而不是修复故障,并且无法重建旧的丢弃细节。提交报告前先查看报告。
新报告解释了另一个 OpenClaw 进程何时使用相同的状态,区分无效配置和无法运行的验证器,并通过相关磁盘空间、权限或缺失版本指导保留已清理的 npm 原因。这些捕获改进适用于使用更新的更新程序的运行;他们无法向旧的运行添加详细信息。
当 npm 选择不同的安装时,报告现在会显示其目标和正在运行的安装的经过清理的详细信息。在重试之前,请按照 [ 目标故障排除指南 ](/install/update-troubleshooting#node-and-global-install-permissions) 更正所属帐户或 npm 前缀;不匹配不会自动修复,并且不能简单地覆盖另一个安装。在暂存之前拒绝的旧更新程序无法加载这些新诊断。
来源和完整变更列表
**错误修复**
- 保持更新警告可见并提供保存的结果报告 [#153147](https://github.com/openclaw/openclaw/pull/153147) — [@davidchyi-beep](https://github.com/davidchyi-beep)、[@bodegaclaw](https://github.com/bodegaclaw)、 [@che10x](https://github.com/che10x)、[@jammyclaw](https://github.com/jammyclaw)、[@servermacminim2ku](https://github.com/servermacminim2ku)、[@hypocritepro](https://github.com/hypocritepro)、[@lendersmark](https://github.com/lendersmark)、 [@guerilla47](https://github.com/guerilla47).
- 在历史记录和日志中保留自动更新失败原因 [#151568](https://github.com/openclaw/openclaw/pull/151568) — [@masatohoshino](https://github.com/masatohoshino).
- 解释更新元数据失败并保留安装模式 [#151649](https://github.com/openclaw/openclaw/pull/151649) — [@nsikak1](https://github.com/nsikak1).
- 识别失败的更新检查和保留的恢复路径 [#151667](https://github.com/openclaw/openclaw/pull/151667) — [@soar-king](https://github.com/soar-king)、[@baumus](https://github.com/baumus)、 [@pfrederiksen](https://github.com/pfrederiksen)、[@zzs12345-web](https://github.com/zzs12345-web)、[@jplavoiemtl](https://github.com/jplavoiemtl).
- 将记录的失败更新阶段命名为未知原因 [#148879](https://github.com/openclaw/openclaw/pull/148879) — [@navras98](https://github.com/navras98)、[@obviyus](https://github.com/obviyus)、 [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@nickfost](https://github.com/nickfost)、[@wangzhongming-yh](https://github.com/wangzhongming-yh).
- 在更新失败报告中保留有用的原因和回滚结果 [#152331](https://github.com/openclaw/openclaw/pull/152331) — [@bobbygaerd](https://github.com/bobbygaerd).
- 更新准备未更改任何内容时避免回滚警告 [#152749](https://github.com/openclaw/openclaw/pull/152749) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 保持失败的更新操作在报告中可识别 [#153425](https://github.com/openclaw/openclaw/pull/153425) — [@marcio-absmartly](https://github.com/marcio-absmartly)、[@bobbygaerd](https://github.com/bobbygaerd).
- 识别失败的更新进度写入 [#153416](https://github.com/openclaw/openclaw/pull/153416) — [@romneyda](https://github.com/romneyda).
- 解释更新运行状况检查超时和不可用修复 [#153330](https://github.com/openclaw/openclaw/pull/153330) — [@lendersmark](https://github.com/lendersmark)、[@davidchyi-beep](https://github.com/davidchyi-beep)、 [@soar-king](https://github.com/soar-king)、[@bodegaclaw](https://github.com/bodegaclaw)、[@guerilla47](https://github.com/guerilla47).
- 解释由活动代理数据库使用阻止的更新 [#152976](https://github.com/openclaw/openclaw/pull/152976) — [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@che10x](https://github.com/che10x).
- 更新后避免误导性版本警告[#154697](https://github.com/openclaw/openclaw/pull/154697)。
- 将拒绝更新报告保留在选定状态之外 [#154886](https://github.com/openclaw/openclaw/pull/154886) — [@vincentkoc](https://github.com/vincentkoc).
- 区分验证器执行失败和无效配置 [#154892](https://github.com/openclaw/openclaw/pull/154892) — [@vincentkoc](https://github.com/vincentkoc).
- 解释更新期间不可用的服务检查 [#154896](https://github.com/openclaw/openclaw/pull/154896) — [@vincentkoc](https://github.com/vincentkoc).
- 在更新失败摘要中保持原因可见 [#154920](https://github.com/openclaw/openclaw/pull/154920) — [@rlosito](https://github.com/rlosito)、[@tomekep](https://github.com/tomekep).
- 在更新报告中保留有用的验证器原因 [#155234](https://github.com/openclaw/openclaw/pull/155234) — [@vincentkoc](https://github.com/vincentkoc).
- 在更新失败报告中保留已清理的 npm 错误 [#155337](https://github.com/openclaw/openclaw/pull/155337) — [@cognos2013](https://github.com/cognos2013)、[@vildar82](https://github.com/vildar82)、 [@ckupferschmid](https://github.com/ckupferschmid)、[@keithce](https://github.com/keithce)、[@fatal0607](https://github.com/fatal0607)、[@edrwalker](https://github.com/edrwalker).
- 解释更新目标拒绝和恢复 [#155692](https://github.com/openclaw/openclaw/pull/155692) — [@imhw](https://github.com/imhw)、[@agent-axos](https://github.com/agent-axos)、 [@smaill02](https://github.com/smaill02),[@qq1091429090huo-svg](https://github.com/qq1091429090huo-svg).
更新、验证和回滚不再需要模型凭据。仅在失败的更新解决并释放控制后,使用正常共享或 OAuth 身份验证,而不更改记录的更新结果,才通过分类开始可选的模型驱动修复。支持的帮助可识别符合条件的旧版和混合 Linux cgroup 布局,重新检查它是否仍然属于正确的服务。 Triage 还解释了 PATH 中缺少代理 CLI 的情况,并在可用时提供已保存的调试提示。援助本身并不证明恢复或授权重新启动,并且 PATH 仍由您进行更改。
来源和完整变更列表
**错误修复**
- 在旧版和混合 Linux cgroup [#149596](https://github.com/openclaw/openclaw/pull/149596) 上恢复自动更新分类 — [@miorbnli](https://github.com/miorbnli)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 保持模型身份验证阻止更新 [#154453](https://github.com/openclaw/openclaw/pull/154453) — [@agebreak0083](https://github.com/agebreak0083).
**改进**
- 澄清分类找不到代理时的恢复 CLI [#153408](https://github.com/openclaw/openclaw/pull/153408) — [@romneyda](https://github.com/romneyda).
诊断视图保留完整的结构化网关日志,识别失败的存储检查并显示后台工作人员内存使用情况,包括按工作人员脚本分组的 [Prometheus 指标](/gateway/prometheus)。内存增长警报将持续增长与重复分配峰值区分开来,同时绝对压力检查仍然立即进行。样本可能是部分的,这些诊断确定要调查的位置而不是修复内存泄漏。
例程模型和语音日志更加安静,在调试级别提供详细信息,同时错误、缓慢响应和秘密出口审核仍然可见。无效的目录日志路径现在会显示错误,并使最后的记录明显过时。常规结构化日志记录可以省略 `_meta.path`,如果您的日志处理工具需要该字段,这一点很重要。
控制台记录还保留其严重性和子系统标签,以便警告和错误过滤器正常工作。维护错误保留了更有用的原因和计时信息,而预期的重新启动拒绝和有限的清理侦听器避免了误导性的故障警告。
来源和完整变更列表
**错误修复**
- 在网关请求线程 [#152248](https://github.com/openclaw/openclaw/pull/152248) 之外运行审核历史记录查询。
- Move运行检查数据库读取网关线程[#152561](https://github.com/openclaw/openclaw/pull/152561)。
- 在 CLI 快照准备 [#154025](https://github.com/openclaw/openclaw/pull/154025) 期间短暂等待数据库写入。
- 减少虚假网关内存增长警报 [#151355](https://github.com/openclaw/openclaw/pull/151355)。
- 保留完整的 JSON 网关登录状态诊断 [#151747](https://github.com/openclaw/openclaw/pull/151747) — [@alix-007](https://github.com/alix-007).
- 报告无效的目录日志路径而不清除可见日志[#151809](https://github.com/openclaw/openclaw/pull/151809)。
- 保留控制台日志严重性和子系统标签 [#153890](https://github.com/openclaw/openclaw/pull/153890) — [@alix-007](https://github.com/alix-007)、[@obviyus](https://github.com/obviyus).
- 代理覆盖率报告中的正确插件路径[#154641](https://github.com/openclaw/openclaw/pull/154641)。
- 保留状态租约心跳失败的原因和时间 [#154878](https://github.com/openclaw/openclaw/pull/154878)。
- 避免重新启动期间出现错误的任务维护警告 [#154932](https://github.com/openclaw/openclaw/pull/154932) — [@vincentkoc](https://github.com/vincentkoc).
- 避免在启动时出现误导性的 SQLite 清理警告 [#155297](https://github.com/openclaw/openclaw/pull/155297)。
**改进**
- 推迟运行状况收集器加载,直到文本输出需要它 [#152797](https://github.com/openclaw/openclaw/pull/152797)。
- 减少对长详细日志预览的处理 [#151593](https://github.com/openclaw/openclaw/pull/151593)。
- 减少例程日志开销,同时保留错误调用站点 [#152493](https://github.com/openclaw/openclaw/pull/152493)。
- Worker 内存可见性和更快的超大 Claude 历史记录导入 [#153842](https://github.com/openclaw/openclaw/pull/153842)。
- 减少会话计数状态中的临时内存读取[#153855](https://github.com/openclaw/openclaw/pull/153855)。
- 识别哪个 SQLite 检查操作失败 [#149516](https://github.com/openclaw/openclaw/pull/149516) — [@liuwqgit](https://github.com/liuwqgit)、[@obviyus](https://github.com/obviyus)、 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 减少任务流诊断中的重复工作[#152347](https://github.com/openclaw/openclaw/pull/152347)。
- 读取更新历史记录,无需调用者线程数据库工作 [#153660](https://github.com/openclaw/openclaw/pull/153660)。
- 识别使用最多堆内存的后台工作者[#154295](https://github.com/openclaw/openclaw/pull/154295)。
- 原始跟踪 [#150754](https://github.com/openclaw/openclaw/pull/150754) 的流转录使用聚合。
- 减少常规网关和Discord语音日志噪音[#152080](https://github.com/openclaw/openclaw/pull/152080)。
- 减少最近会话摘要[#154495](https://github.com/openclaw/openclaw/pull/154495)使用的临时内存。
- 避免不必要的诊断事件副本 [#155422](https://github.com/openclaw/openclaw/pull/155422)。
- 减少布局报告中的网关线程工作[#154695](https://github.com/openclaw/openclaw/pull/154695)。
## 消息传递
对话保留了回答后续问题所需的更多上下文,并且接受的请求有更清晰的最终回复路径。消息传递渠道的变化也会将进度、附件和交付结果附加到他们所描述的工作上。
[电报组和主题历史记录](/channels/telegram/messaging#retained-group-history)现在可以在重新启动和`/new`或`/reset`中继续存在,因此当最近的消息引用它时,代理可以回顾之前的讨论。自动上下文窗口保持有界,通常为 50 条消息,而显式读取可以分页浏览旧的允许消息。提及要求仍然适用,并且阅读保留在授权帐户、组、主题和发件人权限范围内。仅保留收到并允许记录的消息 OpenClaw,较旧的附件可能会过期。
保留的组历史记录随着流量的增加而增长。将 `historyLimit` 设置为 `0` 会关闭自动上下文,但保持启用记录和显式读取,而重置会话不会删除该历史记录。如果您可能需要降级,请制作兼容的更新前备份,并在针对此数据运行旧版本之前恢复它,因为旧版本可能会损坏扩展的保留历史记录。
来源和完整变更列表
**改进**
- 保留 Telegram 小组讨论并按需阅读旧消息 [#151911](https://github.com/openclaw/openclaw/pull/151911) — 感谢 [@obviyus](https://github.com/obviyus).
现在,即使短块和长块混合在一起,粘贴的 [ 电报消息 ](/channels/telegram/messaging) 的快速片段现在也可以作为一个请求到达助手。默认情况下,普通文本会等待 300 毫秒的安静时间,这会增加一个小的启动延迟,有时还会合并您打算单独发送的消息。命令绕过批处理,普通媒体位于文本批处理之外。
Telegram- 特定的 `messages.inbound.byChannel.telegram` 设置优先于全局 `messages.inbound.debounceMs` 设置。显式 `0` 禁用普通批处理,而接近限制粘贴文本的自动组装保持活动状态。一旦批次关闭,后面的消息就无法加入其中。
来源和完整变更列表
**错误修复**
- 保持快速Telegram一圈粘贴块[#155842](https://github.com/openclaw/openclaw/pull/155842) — 谢谢[@obviyus](https://github.com/obviyus).
**限制和兼容性**
为同一机器人帐户、发件人、聊天和主题收集文本。至少 4,000 个字符的未转发消息允许至少 1,500 毫秒的继续时间,并考虑更长的配置等待时间。普通批次限制为 12 条消息和 50,000 个源文本字符,收集上限为 7.5 秒和配置的初始安静窗口中的较长者。这些是收集限制,而不是总回复时间保证。转发的消息在同一发送者队列中保留单独的 80 毫秒批次。授权停止会取消缓冲的输入和仍在等待调度的批次。
接受的组和频道请求现在默认需要答案,包括配置为接受它们的组中未提及的消息。如果工具完成并且代理静默结束,回复恢复可以生成丢失的答案,而无需重复已完成的操作。已确认或仍待处理的交付会阻止另一个恢复回复,并且待处理的工具或委派的工作在重新启动恢复等待容量时保持待处理状态。
永远在线的群组在更新后可能会收到更多回复。要保留未寻址请求的可选回复,请将 `agents.defaults.silentReply.group` 设置为 `"allow"` 或使用 [ 静默回复 ](/concepts/messages#silent-replies) 中描述的相应表面覆盖。提及和访问规则仍然决定哪些请求到达代理,而环境事件、心跳和内部助手轮流仍然是可选的。内部子结果和协调通知现在可以静默完成,而不会触发重复的答复。由 Stop 取消但仍在排队的消息也保持静默,而新用户请求保留正常回复恢复。
来源和完整变更列表
**限制和兼容性**
- 默认情况下需要回复已接受的群组请求 [#153800](https://github.com/openclaw/openclaw/pull/153800) — 谢谢 [@obviyus](https://github.com/obviyus).
**错误修复**
- 在完成工具后恢复丢失的所需回复,无需重播操作 [#152786](https://github.com/openclaw/openclaw/pull/152786) — 感谢 [@obviyus](https://github.com/obviyus).
- 尊重工具故障后故意的对话沉默 [#151873](https://github.com/openclaw/openclaw/pull/151873) — 感谢 [@pash-openai](https://github.com/pash-openai).
- 在重新启动恢复容量等待期间保持消息挂起 [#152475](https://github.com/openclaw/openclaw/pull/152475)。
- 防止内部通知后重复回复 [#154464](https://github.com/openclaw/openclaw/pull/154464) — 感谢 [@obviyus](https://github.com/obviyus).
- 抑制已停止排队消息的错误回复警告 [#154872](https://github.com/openclaw/openclaw/pull/154872) — 感谢 [@vacinc](https://github.com/vacinc).
重新启动后,已寻址消息可以从 [Slack](/channels/slack/threads-and-sessions) 和 [Discord](/channels/discord/threads-and-sessions) 获取最新的讨论,而无需将安静的房间消息转变为新的座席轮流。 Slack 的默认窗口为 50 条消息,Discord 的默认窗口为 20 条消息,其中 `0` 禁用自动历史记录。 Slack 的房间 `historyLimit` 也限制 `thread.initialHistoryLimit`,包括设置为零时。读取尊重当前访问、编辑、删除、保留和有限检索,因此不可用的历史记录将被忽略,而不是用陈旧的文本替换。 Discord 回复还保留引用的机器人响应和自动化警报作为不受信任的上下文,使后续内容易于理解,而无需复制原始消息。
自动观察消息上下文现在上限为 200 条消息。最大 JSON 整数选择每个通道的默认值,而其他超大设置则使用上限。保存的设置、存储的消息、记录保留和显式 Telegram 历史读取均保持不变。
来源和完整变更列表
**错误修复**
- 重启后恢复最近的Slack和Discord讨论[#153075](https://github.com/openclaw/openclaw/pull/153075) — 谢谢[@obviyus](https://github.com/obviyus).
- 在 Discord 回复中保留引用的机器人文本 [#151821](https://github.com/openclaw/openclaw/pull/151821) — 感谢 [@obviyus](https://github.com/obviyus)、[@haukeschnau](https://github.com/haukeschnau).
- Bound 自动频道历史记录,无需更改存储的记录 [#154305](https://github.com/openclaw/openclaw/pull/154305) — 感谢 [@vacinc](https://github.com/vacinc).
当委派的工作本来会安静下来时,交互式聊天可以显示等待确认,并且状态检查保持可见,而无需中断正在运行的任务或进入其稍后的模型上下文。私有子结果在内部返回到正确的对话,而来自 Control UI 的 [ 跨会话请求 ](/concepts/session-tool) 接收其结果,而不会将面向人类的响应弹回到另一个会话。在通道设置和权限启用的情况下,线程绑定生成再次可用。等待确认是一次更新,而独立代理对等体则保留其现有的有界交换。
来源和完整变更列表
**错误修复**
- 防止 Control UI 回复交换在会话之间跳动 [#151297](https://github.com/openclaw/openclaw/pull/151297) — 感谢 [@romneyda](https://github.com/romneyda).
- 恢复专用子代理会导致通道对话 [#152207](https://github.com/openclaw/openclaw/pull/152207)。
- 在委派工作期间显示默认等待回复 [#151032](https://github.com/openclaw/openclaw/pull/151032) — 感谢 [@obviyus](https://github.com/obviyus)、[@samiralibabic](https://github.com/samiralibabic)、 [@dankarization](https://github.com/dankarization).
- 保持状态交换可见,而不中断运行转向 [#152512](https://github.com/openclaw/openclaw/pull/152512) — 感谢 [@obviyus](https://github.com/obviyus)、[@samiralibabic](https://github.com/samiralibabic).
- 在网关对话中恢复启用线程生成 [#153641](https://github.com/openclaw/openclaw/pull/153641) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
Telegram 检查和中断命令可以在会话繁忙时响应,因此检查或停止活动工作不必等待普通缓冲消息。更改会话的命令(包括 `/new`、`/reset` 和 `/think`)保持有序,而 `/btw` 使用其单独的通道。现有的授权检查仍然可以保护缓冲输入免受未经授权的控制。
来源和完整变更列表
**错误修复**
- 让 Telegram 控件在活动对话期间响应 [e5c17513](https://github.com/openclaw/openclaw/commit/e5c175132e41227ca370cfa6acd225f4f4a0c600) — 感谢 [@vacinc](https://github.com/vacinc).
当 Discord `streaming.mode` 设置为 `progress` 时,接受的向子代理的移交使现有进度清单在其工作继续时保持可见。最终答案会单独到达,因此清单仍然是正在进行的工作的有用记录。拒绝的切换和媒体或控制消息路径保持其正常的传递行为。
来源和完整变更列表
**错误修复**
- 在子代理继续 [#153028](https://github.com/openclaw/openclaw/pull/153028) 时保持 Discord 进度卡可见 — 感谢 [@obviyus](https://github.com/obviyus)、[@samiralibabic](https://github.com/samiralibabic)、 [@dankarization](https://github.com/dankarization).
Telegram 在委派工作继续进行时保留相同的进度卡和清单,包括在现有卡的交付记录可用时符合条件的重新启动恢复。最终的答案仍然是独立的,沉默的儿童工作仍然被隐藏。互动问题及其解决的结果也能在进度清理中幸存下来,而临时预览仍然会退出;丢失的交付记录不会创建替换进度卡。
一旦委派工作结束并在匹配的 Telegram 帐户和主题中确认最终答复,OpenClaw 将在删除仍然允许的情况下删除该确切的临时进度消息。待定或不确定的交付会保持进度,并且清理失败永远不会重新发送已接受的答案。
来源和完整变更列表
**错误修复**
- 保留 Telegram 进度卡,同时委派工作继续 [#152517](https://github.com/openclaw/openclaw/pull/152517) — 感谢 [@obviyus](https://github.com/obviyus)、[@samiralibabic](https://github.com/samiralibabic), [@dankarization](https://github.com/dankarization).
- 在进度清理后保留 Telegram 问题 [#151329](https://github.com/openclaw/openclaw/pull/151329) — 感谢 [@sercada](https://github.com/sercada)、[@obviyus](https://github.com/obviyus).
- 确认最终答复后删除临时进度 [#154467](https://github.com/openclaw/openclaw/pull/154467) — 谢谢 [@obviyus](https://github.com/obviyus).
- 在 Telegram 主题回复后删除过时的进度卡 [#154939](https://github.com/openclaw/openclaw/pull/154939) — 感谢 [@obviyus](https://github.com/obviyus).
如果通道接受回复并稍后保存其状态失败,OpenClaw 会保留已知的传送结果,而不是将消息视为未发送。当只有部分回复到达时,失败包括到达收件人的内容。当结果不确定时,待处理的消息和附件仍然可用,并且 OpenClaw 可以在恢复检查发生的情况时避免推测性重新发送。
回复完成跟踪也能在失败的插件观察器中幸存下来,延迟清理会保留较新的 Discord 和 Slack 预览以及人们回复的 Slack 消息。清理失败不会重新发送已接受的答案。消息试运行现在报告模拟而不是传递,而不会自动发送真实消息。
如果对话的分配在发送前发生更改、删除或取代,OpenClaw 会要求您重试,而不是继续执行旧会话。自定义会话存储更新和新记录的延迟回复也会保留选定的代理,而 `/session idle` 和 `/session max-age` 会等待其设置保存后再确认成功。
来源和完整变更列表
**错误修复**
- 当注释失败时保留已知的交付结果 [#151217](https://github.com/openclaw/openclaw/pull/151217) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 保留另一名工人拥有的待处理交货 [#153083](https://github.com/openclaw/openclaw/pull/153083) — 感谢 [@chelsealong](https://github.com/chelsealong)、[@gabrielnkl](https://github.com/gabrielnkl).
- 停止重复恢复重试过时的排队回复 [#152967](https://github.com/openclaw/openclaw/pull/152967) — 感谢 [@hartmark](https://github.com/hartmark)、[@obviyus](https://github.com/obviyus).
- 使用不透明通道元数据 [#151870](https://github.com/openclaw/openclaw/pull/151870) 保留成功回复。
- 在存储传出消息时保持网关请求响应 [#153076](https://github.com/openclaw/openclaw/pull/153076)。
- 当插件状态更改时刷新出站发件人 [#153105](https://github.com/openclaw/openclaw/pull/153105)。
- 保留会话发送超时结果而不进行诊断 [#154407](https://github.com/openclaw/openclaw/pull/154407)。
- 在观察者失败后保持回复完成跟踪工作 [#155522](https://github.com/openclaw/openclaw/pull/155522) — 感谢 [@mfurkanakinci](https://github.com/mfurkanakinci)、[@obviyus](https://github.com/obviyus)、 [@aniruddhaadak80](https://github.com/aniruddhaadak80).
- 保留来自索赔交付的消息试运行收据 [#155537](https://github.com/openclaw/openclaw/pull/155537) — 谢谢 [@alix-007](https://github.com/alix-007)、[@obviyus](https://github.com/obviyus)、 [@pennyvibe](https://github.com/pennyvibe).
- 通过共享预览交付所有权保留已接受的答案 [#155639](https://github.com/openclaw/openclaw/pull/155639) — 谢谢 [@obviyus](https://github.com/obviyus).
- 在延迟清理期间保留聊天预览和人类上下文 [#155641](https://github.com/openclaw/openclaw/pull/155641) — 感谢 [@obviyus](https://github.com/obviyus).
- 拒绝陈旧的对话路由并通过延迟回复保留代理所有权[#154864](https://github.com/openclaw/openclaw/pull/154864)。
**改进**
- 将持久通道重播检查移至工作人员 [#152642](https://github.com/openclaw/openclaw/pull/152642) 中。
- 在交付前异步准备冷通道元数据 [#149304](https://github.com/openclaw/openclaw/pull/149304) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 重用会话绑定查询模板 [#151654](https://github.com/openclaw/openclaw/pull/151654) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 避免频道默认发送的冗余帐户列表 [#151812](https://github.com/openclaw/openclaw/pull/151812) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 重用编译的对话传递查找[#150627](https://github.com/openclaw/openclaw/pull/150627)。
- 在第一次匹配 [#153248](https://github.com/openclaw/openclaw/pull/153248) 后停止重复回复扫描。
- 使交付索赔和续订远离网关线程 [#152736](https://github.com/openclaw/openclaw/pull/152736)。
- 将外向交货确认移离网关线程 [#152840](https://github.com/openclaw/openclaw/pull/152840)。
- 将待处理的交付失败解决移离网关线程 [#152892](https://github.com/openclaw/openclaw/pull/152892)。
- 减少通道发现期间的初始化[#154046](https://github.com/openclaw/openclaw/pull/154046)。
- 在仅冷文本发送 [#152784](https://github.com/openclaw/openclaw/pull/152784) 上延迟可选运行时间。
接受的消息可以通过经过验证的对话压缩继续一次,这会压缩旧的上下文,为更多的工作腾出空间。当无法建立连续性时,刷新会保留草稿而不发送第二条消息。重置、替换、重新启动和取消检查仍然适用,等待取消的聊天的客户端现在会在运行调度解决后收到其完成结果,而不是等到超时。
来源和完整变更列表
**错误修复**
- 通过验证压缩继续接受聊天消息,无需重新发送[#152958](https://github.com/openclaw/openclaw/pull/152958)。
- 聊天取消后完成等待客户端[#152597](https://github.com/openclaw/openclaw/pull/152597)。
取消的 Mattermost 在下一个收件人查找、上传或发布请求之前发送停止,并且共享消息操作在取消后停止稍后的收件人查找。当发送权限结束时,Teams 轮询也会在提交之前停止。已接受的消息和民意调查会保留其传递结果和投票跟踪,因此取消不会撤回已发送的内容或保证可以停止正在进行的请求。
来源和完整变更列表
**错误修复**
- 停止退休的 Mattermost 在以后的提供者请求之前发送 [#151252](https://github.com/openclaw/openclaw/pull/151252) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 邮件取消后停止稍后的收件人查找 [#151270](https://github.com/openclaw/openclaw/pull/151270) — 谢谢 [@shakkernerd](https://github.com/shakkernerd).
**安全信任**
- 在权限撤销后停止未提交的Teams轮询[#151287](https://github.com/openclaw/openclaw/pull/151287) — 谢谢[@shakkernerd](https://github.com/shakkernerd).
现在,编辑流式传输的 Mattermost 回复或完成交互式按钮会保留帖子的现有图钉和反应。当省略这些字段时,部分编辑还会保留消息文本和文件。包含通道范围提及的编辑会保留以前读取的属性,但仍然可以覆盖读取和更新之间其他地方所做的属性更改。
来源和完整变更列表
**错误修复**
- 在部分编辑期间保留 Mattermost 后状态 [#151255](https://github.com/openclaw/openclaw/pull/151255) — 感谢 [@leon-sk668](https://github.com/leon-sk668)、[@obviyus](https://github.com/obviyus).
[ 消息 CLI](/cli/message) 中重复的 `--media` 标志现在使用每个通道的现有发送行为以命令行顺序保留每个附件。动画 WebP 文件将其动画保持在现有尺寸和模型限制内,超大动画将被拒绝而不是展平。当标题被删除时,附件也会保留下来,而不会将删除的文本带回聊天中。没有记录发布的旧工具调用不再重建回复气泡,但它们的扩展诊断仍然可用。
具有持续时间元数据的 Discord 视频和图像也保留其视觉媒体类型,而不是被误认为是语音注释,而真正的带有波形的语音注释仍然是音频。视频理解仍然取决于配置的提供商的能力。
来源和完整变更列表
**错误修复**
- 在现有媒体限制 [#129483](https://github.com/openclaw/openclaw/pull/129483) 内保留动画 WebP 附件。
- 保留所有重复的 CLI 媒体附件 [#151043](https://github.com/openclaw/openclaw/pull/151043) — 感谢 [@krausefx](https://github.com/krausefx)、[@obviyus](https://github.com/obviyus)、 [@dmnksss](https://github.com/dmnksss),[@mirr0ch1](https://github.com/mirr0ch1).
- 保留附件,同时防止剥离标题重新显示 [#150694](https://github.com/openclaw/openclaw/pull/150694) — 感谢 [@zhangguiping-xydt](https://github.com/zhangguiping-xydt)、[@obviyus](https://github.com/obviyus).
- 识别 Discord 视频,尽管持续时间元数据 [#155573](https://github.com/openclaw/openclaw/pull/155573) — 感谢 [@yangmanbobo](https://github.com/yangmanbobo)、[@yursil](https://github.com/yursil).
长回复在将表情符号、标志和重音字符拆分为消息时会将它们保留在一起,除非单个字符簇超出频道的限制。流式代码示例保留其围栏和文字标签,回复准备通过格式化和恢复保留附件详细信息和预期回复目标。多个格式化路径还可以避免对长文本和代码较多的回复进行重复工作。较旧的第三方适配器需要准备操作接口,以避免在自己的代码中重新解析回复;现有的成绩单不会被重写。
顶级缩进代码还通过流式传输和最终回复准备保留其前导缩进和内部空白行,而在不同位置编写的相同片段保持不同。在异常严格的限制下,很长的空白运行仍然可能会丢失消息边缘的空格。
来源和完整变更列表
**错误修复**
- 拆分回复时保持表情符号和重音字符完整 [#151959](https://github.com/openclaw/openclaw/pull/151959) — 感谢 [@etzelm](https://github.com/etzelm)、[@obviyus](https://github.com/obviyus).
- 通过出站格式化和挂钩[#152231](https://github.com/openclaw/openclaw/pull/152231)保留回复元数据。
- 通过流式传输和恢复保留代码、附件详细信息和回复意图 [#146361](https://github.com/openclaw/openclaw/pull/146361)。
- 在流式回复中保留代码块和标记边界 [#151693](https://github.com/openclaw/openclaw/pull/151693) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 保留重复的流式代码,而不重复最终答案 [#152520](https://github.com/openclaw/openclaw/pull/152520) — 谢谢 [@giodl73-repo](https://github.com/giodl73-repo).
- 在流式传输期间保留顶级缩进代码 [#153587](https://github.com/openclaw/openclaw/pull/153587) — 感谢 [@sunnyshu0925](https://github.com/sunnyshu0925)、[@obviyus](https://github.com/obviyus).
- 在最终代理回复中保留代码缩进 [#154857](https://github.com/openclaw/openclaw/pull/154857) — 感谢 [@obviyus](https://github.com/obviyus).
- 格式化代码回复拆分时保留内部空白行 [#154875](https://github.com/openclaw/openclaw/pull/154875) — 感谢 [@obviyus](https://github.com/obviyus).
**改进**
- 在分割长消息时减少格式化工作 [#151898](https://github.com/openclaw/openclaw/pull/151898) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少代码繁重的处理 Discord 回复 [#151828](https://github.com/openclaw/openclaw/pull/151828) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少对纯文本回复的不必要处理[#149829](https://github.com/openclaw/openclaw/pull/149829)。
- 减少长纯文本回复的处理工作[#150230](https://github.com/openclaw/openclaw/pull/150230)。
- 减少长围栏回复中的重复扫描[#151664](https://github.com/openclaw/openclaw/pull/151664) — 感谢[@vincentkoc](https://github.com/vincentkoc).
登录、注销和目录命令现在拒绝显式空白的 `--channel`,从而防止空 shell 变量默默地选择已配置的通道或影响已保存的凭据。当您想要自动选择时,请省略该标志。有效名称、周围的空格和支持的别名将保留其现有行为。
来源和完整变更列表
**错误修复**
- 保护已保存的凭据免受空白注销选择器 [#150497](https://github.com/openclaw/openclaw/pull/150497) — 感谢 [@masatohoshino](https://github.com/masatohoshino)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
**限制和兼容性**
- 拒绝空白目录频道选择器并要求省略自动选择 [#153731](https://github.com/openclaw/openclaw/pull/153731) — 感谢 [@masatohoshino](https://github.com/masatohoshino)、[@obviyus](https://github.com/obviyus).
删除或禁用 Discord 帐户,或者删除 Matrix、Telegram 或 Slack 帐户,不再阻止剩余活动帐户的对话发现。保留的历史记录保持不变,而对退休帐户对话的访问仍然受到限制。已配置但尚未准备就绪的帐户可能会暂时不可用。
来源和完整变更列表
**错误修复**
- 对话列表保留已退休的频道帐户 [#153846](https://github.com/openclaw/openclaw/pull/153846) — 感谢 [@masatohoshino](https://github.com/masatohoshino)、[@obviyus](https://github.com/obviyus).
- 在帐户删除 [#152662](https://github.com/openclaw/openclaw/pull/152662) 后保持 Discord 对话可发现。
LINE 发送错误现在可以识别不可读的配置令牌文件,并且 Nextcloud Talk 可以区分不可用的配置机器人秘密源和丢失的凭据。不可用的 QQ Bot 秘密会阻止其自己的帐户,而健康的帐户仍然可用;失败的显式引用不会默默地回退,并且只有未更改的帐户才能在重新加载期间保留以前的工作凭据。当本地状态维护正在进行时,实时通道状态也可以从可访问的、经过身份验证的网关读取。
在线状态 JSON 现在标记未收集的通道摘要,而不是暗示未配置任何通道。使用 `channels status` 或其 `--probe` 选项进行配置帐户或实时检查。
来源和完整变更列表
**错误修复**
- 识别发送错误中不可用的 LINE 令牌文件 [#152769](https://github.com/openclaw/openclaw/pull/152769) — 感谢 [@obviyus](https://github.com/obviyus)、[@edenfunf](https://github.com/edenfunf).
- 在状态维护期间保持实时通道状态可用 [#153445](https://github.com/openclaw/openclaw/pull/153445)。
- 识别不可用的已配置 Nextcloud 对话机器人秘密 [#153751](https://github.com/openclaw/openclaw/pull/153751) — 谢谢 [@masatohoshino](https://github.com/masatohoshino)、[@obviyus](https://github.com/obviyus).
- 将缺失的 QQ 机器人凭据隔离到受影响的帐户 [#128320](https://github.com/openclaw/openclaw/pull/128320)。
- 解释在线状态中跳过的通道摘要[#155296](https://github.com/openclaw/openclaw/pull/155296) — 感谢[@yun-0000](https://github.com/yun-0000)、[@obviyus](https://github.com/obviyus)、 [@voytas75](https://github.com/voytas75).
已被授权与座席通话的发言者可以要求列出或更改 [ 当前 Discord 呼叫语音 ](/channels/discord/voice-channels),而无需配置为命令所有者。更改会影响共享通话中的每个人,而保存的默认值和其他仅限所有者的权限保持不变。该语音访问随着呼叫或转向、取消或撤销访问而结束。
来源和完整变更列表
**错误修复**
- 让授权的Discord扬声器更改当前通话语音[#152044](https://github.com/openclaw/openclaw/pull/152044)。
建立了 Discord 和 GPT 直播回放可以在其他网关工作繁忙时继续进行,减少了该工作造成的卡顿。改变声音可以使尚未开始的讲话保持不变,而无需重放已经开始的讲话。发言者准入、麦克风转发、座席工作和文字记录仍然可以在网关上等待,因此这并不能消除所有语音延迟来源。
来源和完整变更列表
**错误修复**
- 在网关工作期间保持 Discord 和 GPT 现场回放流畅 [#154119](https://github.com/openclaw/openclaw/pull/154119)。
**改进**
- 减少 Discord 语音工作器启动开销 [#154483](https://github.com/openclaw/openclaw/pull/154483)。
- 从源 [#154615](https://github.com/openclaw/openclaw/pull/154615) 运行时减少 Discord 语音启动导入。
Discord 线程创建现在独立于线程的创建时间计数器报告已接受的第一条消息,该计数器可能仍显示零值或无值。使用传送结果检查初始消息是否被接受,并在重试之前检查不确定的发送。空的独立线程没有消息传递收据。
来源和完整变更列表
**错误修复**
- 确认初始 Discord 线程消息而不误导创建计数器 [#150169](https://github.com/openclaw/openclaw/pull/150169) — 感谢 [@alix-007](https://github.com/alix-007)、[@obviyus](https://github.com/obviyus)、 [@ludovicfourrage](https://github.com/ludovicfourrage).
Feishu 帐户关闭等待接受的消息处理程序和重复消息簿记完成,然后再释放其资源。达到五分钟的排序限制不会取消已接受的处理程序,从而允许其工作在关闭期间解决。
来源和完整变更列表
**错误修复**
- 在帐户关闭 [5f7904f1](https://github.com/openclaw/openclaw/commit/5f7904f16f3c8815e896df1ee33d3afad6fc33ec) 之前完成接受的 Feishu 工作。
- Clamp 超大 Feishu 身份查找前启动超时 [#154594](https://github.com/openclaw/openclaw/pull/154594) — 感谢 [@qingminglong](https://github.com/qingminglong)、[@obviyus](https://github.com/obviyus).
如果 Feishu 会议邀请在客服人员持久接受之前失败,则可以再次处理 Feishu 稍后发送的该邀请,而不是作为重复项丢弃。 `vcAutoJoin` 仍然是明确的选择加入,此更改既不安排重试,也不保证会议加入。已接受的邀请和较旧的重复消息记录将保留其现有行为。
来源和完整变更列表
**错误修复**
- 在早期调度失败后保留 Feishu 会议邀请 [#155068](https://github.com/openclaw/openclaw/pull/155068) — 感谢 [@qingminglong](https://github.com/qingminglong)、[@obviyus](https://github.com/obviyus).
延迟的 Matrix 回复可以在原始消息处理程序正常完成后获取其连接,并且生成的图像或排队回复可以在仅配置重新加载后重用匹配的实时连接。启动和同步存储工作也脱离了网关的主线程。关闭、帐户删除和明确取消仍然会停止待处理的工作。
Matrix 还通过使用帐户的已保存设置来恢复受影响会话中的单消息助手和工具进度草稿。最终回复不变,多消息分块仍然需要插件运行时。
来源和完整变更列表
**错误修复**
- 在处理程序完成后保持延迟的 Matrix 答复 [#151063](https://github.com/openclaw/openclaw/pull/151063) — 感谢 [@synapse-homeroot](https://github.com/synapse-homeroot).
- 配置重新加载后恢复Matrix图像和排队回复传递[#153645](https://github.com/openclaw/openclaw/pull/153645) - 谢谢[@vincentkoc](https://github.com/vincentkoc).
- 将 Matrix 启动存储移离网关线程 [#151994](https://github.com/openclaw/openclaw/pull/151994)。
- Move Matrix 同步缓存工作关闭网关线程 [#151845](https://github.com/openclaw/openclaw/pull/151845)。
- 使 Matrix 机器人发现远离网关线程 [#152122](https://github.com/openclaw/openclaw/pull/152122)。
- 在没有插件运行时上下文的情况下恢复 Matrix 进度草稿 [#155354](https://github.com/openclaw/openclaw/pull/155354) — 感谢 [@holny](https://github.com/holny)、[@obviyus](https://github.com/obviyus), [@mykhul](https://github.com/mykhul).
通过 [ 消息 CLI 或代理工具 ](/cli/message) 请求特定的 Matrix 消息现在会返回该事件或错误,而不是替换不相关的最近房间历史记录。现有权限和加密消息限制仍然适用,而普通历史记录读取将保留其当前行为。配置的联系人、房间和批准者检查可避免不必要的凭据读取,过期的秘密存储请求会立即失败,而短暂的网络错误仍可以重试。
来源和完整变更列表
**错误修复**
- H尊重确切的 Matrix 消息请求 [#150554](https://github.com/openclaw/openclaw/pull/150554) — 感谢 [@masatohoshino](https://github.com/masatohoshino)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 停止重试过期的 Matrix 请求 [#153434](https://github.com/openclaw/openclaw/pull/153434)。
**改进**
- 检查Matrix批准者没有不必要的凭证读取[#152246](https://github.com/openclaw/openclaw/pull/152246)。
- List 配置的 Matrix 联系人和房间没有凭证读取 [#152124](https://github.com/openclaw/openclaw/pull/152124)。
当链接的路径、查询或片段使用与其显示标签不同的大小写时,Signal 会保留创作的目标,从而保持区分大小写的链接完整。 Signal 和 iMessage 还对具有许多样式链接的回复执行较少的格式化工作,同时保留其文本和样式。
来源和完整变更列表
**错误修复**
- 在 Signal 回复中保留区分大小写的链接目标 [#151754](https://github.com/openclaw/openclaw/pull/151754) — 感谢 [@alix-007](https://github.com/alix-007)、[@obviyus](https://github.com/obviyus).
**改进**
- 更高效地格式化链路密集型 Signal 和 iMessage 消息 [#152112](https://github.com/openclaw/openclaw/pull/152112)。
正常日志现在会报告 Slack 在回合结束时未能清除可接受的工作状态的情况,从而更容易诊断该故障。这暴露了清理问题,而无需添加重试或修复 Slack Desktop 的单独陈旧指示器行为。
来源和完整变更列表
**错误修复**
- 报告失败 Slack 回合结束状态清理 [#145778](https://github.com/openclaw/openclaw/pull/145778) — 感谢 [@alix-007](https://github.com/alix-007)、[@obviyus](https://github.com/obviyus)、 [@joncursi](https://github.com/joncursi).
当 Telegram 贴纸媒体不可用时,其表情符号和回复上下文仍保留在对话中,而不是留下可能会恢复不相关请求的空白回合。当没有可用的表情符号时,会填充贴纸标签,而无需添加视觉分析或动画和视频贴纸下载。
来源和完整变更列表
**错误修复**
- 保留不可用的表情符号和回复上下文 Telegram 贴纸 [#151461](https://github.com/openclaw/openclaw/pull/151461) — 感谢 [@obviyus](https://github.com/obviyus)、[@sloptop-the-terrible](https://github.com/sloptop-the-terrible).
Telegram 避免重复转义、链接和 HTML-tag 处理,同时使用相同支持的格式准备回复。启用 `richMessages` 后,长且嵌套的丰富回复还可避免不必要的重复检查。改进在于本地格式化工作,并且随消息而变化;它没有建立更快的网络传输。
长 Telegram 代码片段在拆分为消息时也会保留其内部空行和代码格式,同时遵守现有的消息限制。
来源和完整变更列表
**改进**
- 避免Telegram散文[#151464](https://github.com/openclaw/openclaw/pull/151464)中的冗余转义扫描。
- 跳过 Telegram 文本和表格 [#151630](https://github.com/openclaw/openclaw/pull/151630) 中未使用的链接格式。
- 避免在 Telegram 格式 [#151715](https://github.com/openclaw/openclaw/pull/151715) 中重复进行 HTML 标记解析。
- 减少长时间的准备工作Telegram丰富的回复[#151827](https://github.com/openclaw/openclaw/pull/151827)。
- 减少嵌套 Telegram 丰富格式中的重复工作 [#151965](https://github.com/openclaw/openclaw/pull/151965) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**错误修复**
- 跨消息拆分保留 Telegram 代码格式 [#153576](https://github.com/openclaw/openclaw/pull/153576) — 感谢 [@sunnyshu0925](https://github.com/sunnyshu0925)、[@obviyus](https://github.com/obviyus).
Telegram 现在选择 Bun 下完整安装的 HTTP 客户端,修复受影响的回复路径和可能因 `dispatcher.compose is not a function` 失败的 `/models` 提供程序选择器。实时验证使用了自定义 Bun 版本,因此此范围修复不会建立常规库存 Bun 支持。
来源和完整变更列表
**错误修复**
- 恢复 Bun [#152055](https://github.com/openclaw/openclaw/pull/152055) 下受影响的 Telegram 本机回复。
在同一对话中添加、删除或列出反应时,Teams 可以使用当前的入站消息,而不需要再次提供其消息 ID。另一个对话中的反应和消息删除仍然需要显式 ID。
当有人在通道线程中添加或删除反应时,代理现在会在所属线程而不是父对话中接收该反应的上下文。
来源和完整变更列表
**错误修复**
- 使用当前消息上下文进行 Teams 反应 [#151382](https://github.com/openclaw/openclaw/pull/151382) — 感谢 [@giodl73-repo](https://github.com/giodl73-repo).
- 将 Teams 反应保留在其通道线程 [#155713](https://github.com/openclaw/openclaw/pull/155713) — 感谢 [@wangmiao0668000666](https://github.com/wangmiao0668000666)、[@obviyus](https://github.com/obviyus).
在机器人等待提及的 Teams 通道中,未提及的消息现在仍可用于其自己线程中的下一个请求。在另一个线程中应答不再消耗该挂起的上下文。没有线程的群聊和消息保留其现有的历史记录行为,并且来自不同线程的快速消息被批量处理在一起的单独问题仍然不在此修复范围内。
来源和完整变更列表
**错误修复**
- 在其频道线程中继续跳过 Teams 消息 [#154825](https://github.com/openclaw/openclaw/pull/154825) — 感谢 [@nianjiuzst](https://github.com/nianjiuzst)、[@obviyus](https://github.com/obviyus), [@yunligou711-commits](https://github.com/yunligou711-commits).
配置入站批处理后,来自同一发件人的快速 WhatsApp 消息可以一起到达代理,而不是通过单独的批处理延迟进行等待。群组对话保留每个参与者的身份和消息顺序,包括当另一个人引用或缓冲的消息中断批处理时。这将恢复现有设置的行为,而不引入新的默认设置。
来源和完整变更列表
**错误修复**
- 批量快速 WhatsApp 消息,无需重新排序群组参与者 [#112001](https://github.com/openclaw/openclaw/pull/112001) — 感谢 [@mcaxtr](https://github.com/mcaxtr)、[@fuller-stack-dev](https://github.com/fuller-stack-dev)、 [@abacha](https://github.com/abacha).
Zalo 对普通回复和投票回复应用相同的照片标题限制,而不会在截止点拆分表情符号的两部分编码。超过 2,000 UTF-16 单位的文本将被截断,而不是作为额外消息发送,并且这不能保证每个多字符表情符号序列保持在一起。
来源和完整变更列表
**错误修复**
- Bound Zalo 照片说明在回复路径 [#125402](https://github.com/openclaw/openclaw/pull/125402) 中保持一致。
当正在编写答案时出现多个 iMessage 问题时,排队的文本和媒体回复可以保留在提示每个问题的问题上。显式目标和 `first`、`all` 和 `off` 回复设置仍然适用。这需要更新的 iMessage 插件和支持其推断回复目标的主机;仅更新插件是不够的。建立最新看到的消息的启动数据库读取也会移出网关的主线程。
来源和完整变更列表
**错误修复**
- 附加排队的 iMessage 问题的答案 [#150626](https://github.com/openclaw/openclaw/pull/150626) — 谢谢 [@gennadyclaw](https://github.com/gennadyclaw)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- Move iMessage 启动数据库读取网关线程 [#152837](https://github.com/openclaw/openclaw/pull/152837) — 感谢 [@summitoperations26](https://github.com/summitoperations26).
查找观看的外部对话现在可以与其他 OpenClaw 请求一起运行。当监控停止时,迟到的结果将被丢弃。
来源和完整变更列表
**改进**
- 将监视对话发现移离网关线程 [#151731](https://github.com/openclaw/openclaw/pull/151731)。
## 内存
内存搜索和维护可以从更多中断中恢复,帮助保存的信息在对话继续时保持有用。
当嵌入失败中断兼容索引升级时,您仍然可以通过关键字找到以前索引的内存。此后备搜索旧索引,因此可能会错过以后的编辑,并导致基于含义的搜索和重建不可用,直到嵌入问题得到解决。对索引源的更改或不兼容的索引历史记录仍然可以防止回退。重复的空搜索还可以避免重建未更改的空索引,并且 [ 内存状态](/cli/memory#memory-status) 在加载之前显示配置的本地嵌入模型。
内存设置不再将加载的插件标记为不健康,只是因为它通过另一个集成而不是主机搜索提供内存。实际加载和搜索失败仍然可见,并且此状态并不能证明插件自己的服务。尽管搜索本身可能需要更长的时间,但内置搜索在线程处理回复上执行的数据库工作也更少。
来源和完整变更列表
**错误修复**
- 在嵌入重建失败期间保持兼容的关键字内存搜索可用 [abbda386](https://github.com/openclaw/openclaw/commit/abbda386ef9f5b9221b402bf131eed0db8630260) — 感谢 [@ruel225](https://github.com/ruel225).
- 避免重建未更改的空内存索引[#152025](https://github.com/openclaw/openclaw/pull/152025)。
- 报告内存状态中配置的本地模型[#152618](https://github.com/openclaw/openclaw/pull/152618) — 感谢[@zyz619963502zyz](https://github.com/zyz619963502zyz)、[@obviyus](https://github.com/obviyus)和[@Yachiyo1680](https://github.com/Yachiyo1680).
- 避免在没有主机搜索的情况下对插件发出错误的健康警告 [#155117](https://github.com/openclaw/openclaw/pull/155117) — 感谢 [@etzelm](https://github.com/etzelm)、[@obviyus](https://github.com/obviyus) 和[@valkster70](https://github.com/valkster70).
**改进**
- 减少主动内存调用期间的重复消息处理 [#151778](https://github.com/openclaw/openclaw/pull/151778) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少内存文件名搜索中的重复查询处理 [#151758](https://github.com/openclaw/openclaw/pull/151758) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少重复的项目感知内存排名工作 [#151798](https://github.com/openclaw/openclaw/pull/151798) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 重复使用查询进程对文件支持的 sqlite-vec 索引进行重复本机内存搜索,最多保留两个进程 30 分钟空闲时间 [#153832](https://github.com/openclaw/openclaw/pull/153832)。
- Move 内存检索读取网关线程 [#155719](https://github.com/openclaw/openclaw/pull/155719)。
当对话继续接收消息时,历史记录和搜索索引可以在有限数量的新历史记录内赶上。重置、分支和更大的积压仍然需要重新重建。如果稍后清理失败,已完成的内存保存将保留其成功结果,并且下一次同步可以恢复已完成的本地工作留下的锁,而不是超时。恢复会检查原始锁和数据库,因此不会影响活动工作和替换锁。
当数据库命令在队列中等待时,内存重建还可以避免错误的“所有者更改”失败。真正的撤销或替换仍然会停止受影响的工作。
来源和完整变更列表
**错误修复**
- 让会话历史记录和搜索索引在活动对话期间赶上,最多 512 个事件和 256 个 KiB 新历史记录 [3c9a40aa](https://github.com/openclaw/openclaw/commit/3c9a40aae8dafa280dd6373156cb0fcf5c466672) — 感谢 [@RomneyDa](https://github.com/RomneyDa).
- 防止维护重叠而将内存索引锁留在[#152361](https://github.com/openclaw/openclaw/pull/152361)之后。
- 清除争用后恢复内存同步锁 [#152430](https://github.com/openclaw/openclaw/pull/152430)。
- 将内存锁恢复绑定到其原始数据库并授予,包括丢失获取回复后的恢复,而无需重播工作[#152480](https://github.com/openclaw/openclaw/pull/152480)。
- 通过清理失败保留已完成的内存写入 [#153150](https://github.com/openclaw/openclaw/pull/153150)。
- 保持排队的数据库命令不中断内存索引 [#155535](https://github.com/openclaw/openclaw/pull/155535) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
**改进**
- 减少记忆笔记和会话批次的准备工作[#152339](https://github.com/openclaw/openclaw/pull/152339)。
- 减少内存索引[#152021](https://github.com/openclaw/openclaw/pull/152021)期间的向量编码开销。
- 减少内存索引发布启动开销[#154155](https://github.com/openclaw/openclaw/pull/154155)。
- 减少嵌入传输编码工作[#155135](https://github.com/openclaw/openclaw/pull/155135)。
选择进入后台维护的 [ 上下文引擎 ](/concepts/context-engine) 现在可以在保存的对话轮后开始总结,使用空闲时间,而无需等待已完成的回复。使用前台维护或未指定模式的发动机仍会等待该工作,并且在稍后的转弯期间仍可能发生一些压实。新的对话摘要还接收独立的文本块,并保留其边界,避免在摘要之前将文本连接在一起。现有摘要保持不变。
具有重复工具调用的长任务可以在模型成功进展后从后来的上下文溢出中恢复,而不是耗尽整个任务的一个恢复余量。没有进展的重复尝试仍然受到限制,拒绝、错误、中止回复或因长度限制而缩短的回复不会更新该限额。使用当前插件重新加载插件后,对话压缩也可以继续工作。
来源和完整变更列表
**错误修复**
- 在接受回合后开始选择加入上下文维护,并保持其资源可用,直到完成 [#151936](https://github.com/openclaw/openclaw/pull/151936) — 感谢 [@jalehman](https://github.com/jalehman).
- 在对话摘要输入中保持文本块分开 [#151358](https://github.com/openclaw/openclaw/pull/151358) — 感谢 [@RomneyDa](https://github.com/RomneyDa).
- 插件重新加载后保持会话压缩工作 [388614d8](https://github.com/openclaw/openclaw/commit/388614d8960e3a7ef6710a03c50945e868c4d98e) — 感谢 [@jalehman](https://github.com/jalehman).
- Continue 高效工具可解决稍后的上下文溢出 [#150513](https://github.com/openclaw/openclaw/pull/150513) — 感谢 [@SunnyShu0925](https://github.com/SunnyShu0925)、[@obviyus](https://github.com/obviyus)、 [@SBC2016](https://github.com/SBC2016) 和 [@Yigtwxx](https://github.com/Yigtwxx).
- 恢复选择会话历史记录的指导 [#154890](https://github.com/openclaw/openclaw/pull/154890) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**改进**
- 在重播修复期间扫描签名回合附件一次 [#151398](https://github.com/openclaw/openclaw/pull/151398) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在检索选定消息周围的消息时避免重复编码相同的历史记录 [#150302](https://github.com/openclaw/openclaw/pull/150302) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 通过历史工作者[#153325](https://github.com/openclaw/openclaw/pull/153325)加载完整保存的记录。
- 异步加载侧聊和对话历史记录[#153331](https://github.com/openclaw/openclaw/pull/153331)。
当压缩质量警卫检查简短的对话时,它现在可以识别简短的请求,例如“现在怎么样?”正确保留摘要。这可以避免启用防护时由于匹配错误而导致不必要的重试或取消。
来源和完整变更列表
**错误修复**
- 识别压缩摘要中保留的短请求 [#153320](https://github.com/openclaw/openclaw/pull/153320) — [@vacinc](https://github.com/vacinc)
新的梦想日记条目现在会在最近的上下文被缩短以适应时保存,而不是被错误地视为过时而丢弃。实际的上下文更改和忘记仍然会阻止写入过时的条目,并且不会重新创建以前丢弃的条目。当计划被禁用时,Dreaming 也会停止尝试协调其计划的作业,从而保留这些作业以供以后使用。明确禁用梦想会删除其托管作业,并且恢复调度仍然需要合格的所有者。
生成的反射仍然可搜索,但不再与普通记忆竞争长期记忆的晋升排名,而现有的长期记忆保持不变。
来源和完整变更列表
**错误修复**
- 在未更改上下文截断后保留梦想日记条目 [#153823](https://github.com/openclaw/openclaw/pull/153823) — 感谢 [@Psychnix](https://github.com/Psychnix) 和 [@obviyus](https://github.com/obviyus).
- 推迟内存梦想作业,同时通过 `cron.enabled` 或 `OPENCLAW_SKIP_CRON` [#151713](https://github.com/openclaw/openclaw/pull/151713) 禁用自动调度。
- 从内存提升排名中排除生成的反射 [#154994](https://github.com/openclaw/openclaw/pull/154994) — 感谢 [@chelsealong](https://github.com/chelsealong)、[@obviyus](https://github.com/obviyus) 和[@Truck0ff](https://github.com/Truck0ff).
**改进**
- 减少大型会话存储中的空操作梦想清理工作[#154556](https://github.com/openclaw/openclaw/pull/154556)。
[Memory Forget](/cli/memory#memory-forget) 跟踪已选择删除的内存,并在准备操作时拾取指向所选会话的新链接,从而保留不相关的内容。预览仍然是当前状态的视图,因此在敏感清除期间暂停或协调直接代理编辑和外部编写器。此修复涵盖更改会话链接,而无需将删除扩展到信息的每个可能的副本。
来源和完整变更列表
**错误修复**
- 在会话链接更改时保持内存遗忘完整,并通过已退役的数据库连接拒绝清理[#152902](https://github.com/openclaw/openclaw/pull/152902)。
工作区适配器现在可以提供对远程主机上内存文件的访问,以进行搜索、读取和维护,而运行 OpenClaw 的计算机则保留索引和原始会话数据。此可选 [ 工作空间功能 ](/plugins/sdk-entrypoints#workspace-access) 需要单独配置的 `memoryFiles` 适配器,并且不会自动移动现有存储。
更改适配器使用的源文件后,在搜索之前运行 `openclaw memory index --force --agent `。维护期间保持工作区绑定不变。撤销访问权限不会撤回已读取或保留的结果,并且嵌入请求或多步骤日记更新可能会在原始访问检查后继续。
来源和完整变更列表
**限制和兼容性**
- 通过可选适配器读取和维护远程工作空间内存文件;没有维护支持的远程提供商失败,而不是编辑本地文件 [#153124](https://github.com/openclaw/openclaw/pull/153124) — 感谢 [@kimiyu-186](https://github.com/kimiyu-186).
## 技能
现在,技能会围绕实际内容更改进行刷新,而 Workshop 会更清晰地记录客服人员可用的技能以及塑造这些技能的评论。
不变的 [Skills](/tools/skills) 不再触发不必要的会话重建和聊天元数据刷新,并且相同的副本停止产生重复的优先级警告。指令编辑和技能优先更改仍会刷新会话,同时支持脚本和资产在沙箱副本中继续更新。 Discovery 还可以处理返回到空闲工作区的操作,以及在 Windows 上删除和重新创建技能文件夹或其父文件夹的操作。在重新扫描期间添加的技能文件夹会持续监视以供以后编辑,并且过滤技能会保持每个组在其现有打开或关闭状态下保持可见。
在初始监视设置期间,OpenClaw 现在会检查是否监视新发现的嵌套文件夹,然后再将设置视为完成。如果初始检查失败,稍后的任务准备将刷新受影响的技能源,同时健康的观察者继续运行。
来源和完整变更列表
**改进**
- 减少重复技能警告和重复解析 [#152062](https://github.com/openclaw/openclaw/pull/152062)
- 减少重复扫描丢失的技能文件夹 [#152563](https://github.com/openclaw/openclaw/pull/152563)
- Linux Node 非轮询期间避免不相关的扫描技能发现 [#153436](https://github.com/openclaw/openclaw/pull/153436)
- 加载本地技能时跳过不必要的文件系统工作 [#153777](https://github.com/openclaw/openclaw/pull/153777)
- 将本地技能文件图标与技能选择器匹配,同时保持其他链接图标不变 [#153908](https://github.com/openclaw/openclaw/pull/153908) — 感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski)
- 加载固定的技能库条目而不阻止数据库读取 [290d5c3](https://github.com/openclaw/openclaw/commit/290d5c37b6e0a21c64e3aeb0216f83df22b60d07)
- 在没有调用者线程的情况下准备选定的技能元数据 SQL [#148560](https://github.com/openclaw/openclaw/pull/148560)
- 对技能和挂钩元数据使用更快的严格 JSON 路径 [#154650](https://github.com/openclaw/openclaw/pull/154650)
**错误修复**
- 内容未更改时避免技能重新加载和元数据刷新 [#151670](https://github.com/openclaw/openclaw/pull/151670)
- Bound 保留跨执行工作区的技能订阅,并在返回被逐出的工作区时刷新文件支持的技能 [#127204](https://github.com/openclaw/openclaw/pull/127204)
- 减少共享目录更改后重复的技能刷新 [#154052](https://github.com/openclaw/openclaw/pull/154052)
- 阻止退休的技能观察者重新启动文件夹扫描 [#152903](https://github.com/openclaw/openclaw/pull/152903)
- 保留 Windows 文件夹重建后可发现的技能 [#154273](https://github.com/openclaw/openclaw/pull/154273)
- 在过滤 [#150911](https://github.com/openclaw/openclaw/pull/150911) 的同时保留技能组扩展 — 感谢 [@sunnyshu0925](https://github.com/sunnyshu0925)、[@fuller-stack-dev](https://github.com/fuller-stack-dev)、 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski)
- 在重新扫描期间监视技能目录 [#155570](https://github.com/openclaw/openclaw/pull/155570) — 感谢 [@vincentkoc](https://github.com/vincentkoc)
- 在初始准备就绪之前验证技能文件夹监控 [#155724](https://github.com/openclaw/openclaw/pull/155724) — 感谢 [@vincentkoc](https://github.com/vincentkoc)
**限制和兼容性**
订阅限制限制了保留的工作区订阅,而不是操作系统文件监视的总数。托管库修订将保持固定状态,直到明确刷新为止。
通过过滤删除的组在重新创建后将开始打开。监控准备就绪后覆盖检查失败以及不可用的共享观察程序句柄的退役仍然是单独的限制。报告为不可用的远程观察程序将保留该状态,直到其现有连接或请求重置。
[Skill Workshop](/tools/skill-workshop) 现在列出当前技能文件并记录成功的工具介导使用,即使在禁用诊断时也是如此。当审阅者未发送回复时,被拒绝的提案仍然是失败的审阅,并且审阅会延迟到空闲时间使用当前插件。使用计数从记录的活动开始,而不是填充较旧的历史记录,排除本机 Codex 技能激活,并且在文件移动时不跟踪文件。
安全指南和支持文件也不再仅因与提示相关的措辞而触发隔离或关键审计结果。删除了三个关键字规则,以实现无害的指导和实际的指令覆盖文本,而无需替换检测器。凭证检查、批准政策和其他阻止规则仍然适用。
现在正常启动不会影响旧的创意工坊数据。要修复它,请使用与受影响的安装相同的状态目录和配置运行 `openclaw doctor --fix` 或 `openclaw doctor --yes`。 [Doctor 在更新期间](/cli/doctor) 继续处理该修复。
来源和完整变更列表
**改进**
- 将技能使用和策展人状态查询移出调用者线程 [#152319](https://github.com/openclaw/openclaw/pull/152319)
- 仅准备状态摘要的技能准备计数 [#152799](https://github.com/openclaw/openclaw/pull/152799)
**错误修复**
- 恢复记录的技能使用和实时创意工坊库存 [#151048](https://github.com/openclaw/openclaw/pull/151048) — 感谢 [@obviyus](https://github.com/obviyus)
- 尽管默默回复,但仍记录失败的技能研讨会评论 [#152018](https://github.com/openclaw/openclaw/pull/152018)
- 使用当前插件进行闲置技能工坊评论 [#152235](https://github.com/openclaw/openclaw/pull/152235) — 感谢 [@jalehman](https://github.com/jalehman)
- 在后台工作人员中读取研讨会事件历史记录 [#152583](https://github.com/openclaw/openclaw/pull/152583)
- 停止隔离提示相关措辞的安全指南 [#154441](https://github.com/openclaw/openclaw/pull/154441) — 感谢 [@jesse-merhi](https://github.com/jesse-merhi)
**限制和兼容性**
- 将旧版创意工坊修复移出正常启动 [#151392](https://github.com/openclaw/openclaw/pull/151392)
较旧的客户端仅显示日期已知的当前库存条目。使用关闭耗尽涵盖已交付和接受的写入,而不是仍在上游等待的诊断事件。
现在无需安装系统 `tar` 命令即可提取 Bzip2 技能档案。完成上传的存档还可以让 OpenClaw 在散列和存储存档的同时继续处理其他工作,并且在完成之前过期的上传或重复提交将被拒绝。上传的数据库工作的其余部分现在也在后台运行,并在接受排队工作后检查过期情况。现有的提取权限和对安装已使用的上传的保护仍然保留。
来源和完整变更列表
**错误修复**
- 无需系统tar即可安装bzip2技能,并防止由于不相等的短读取而导致错误的数据库快照或恢复比较失败[#153973](https://github.com/openclaw/openclaw/pull/153973)
- 保持技能存档提交响应并拒绝过期上传 [#152816](https://github.com/openclaw/openclaw/pull/152816)
- 强制技能库限制,禁止更改本地文件 [#154793](https://github.com/openclaw/openclaw/pull/154793)
**改进**
- Move Skill上传数据库工作到后台 [#155283](https://github.com/openclaw/openclaw/pull/155283)
**限制和兼容性**
上传数据库工作在后台工作人员中运行,而存档实现和安装程序回调仍然是主机工作。存储格式和上传有效期不变。即使本地文件发生更改,库读取仍保留每个文件 1 个 MiB、每个包 8 个 MiB 和 256 个文件的限制;这些是输入限制,而不是总内存使用的上限。
支持的远程工作区连接允许代理任务使用工作区所在计算机上的技能和支持文件。还提供所需主机信息和管理操作的适配器可以显示计算机的已安装技能,选择匹配的依赖项,并在那里运行批准的依赖项或源以及 ClawHub 管理操作。缺少功能会返回错误,而不会在网关计算机上安装。 [ 工作空间适配器文档](/plugins/sdk-entrypoints) 描述了要求;单独的文档桥无法启用此管理,并且配对节点适配器不支持远程源或 ClawHub 安装、更新或删除。
保持远程技能连接到位,直到其任务完成。在任务保留其远程技能列表的同时将其替换为仅文档连接可以使该任务改为从网关计算机读取支持文件。
来源和完整变更列表
**改进**
- 使用远程工作区主机 [#153126](https://github.com/openclaw/openclaw/pull/153126) 的技能和支持文件 — 感谢 [@kimiyu-186](https://github.com/kimiyu-186)
- 检查主机技能并通过有能力的工作区适配器运行支持的依赖项、源和 ClawHub 管理 [#153438](https://github.com/openclaw/openclaw/pull/153438) — 感谢 [@kimiyu-186](https://github.com/kimiyu-186)
**限制和兼容性**
远程通道本地技能菜单保持独立。活动任务期间的提供者替换仍然是已知的读取所有权限制。
插件技能预览现在会在获取支持文档之前显示主要说明,因此您无需等待每个文件即可开始阅读。支持文件在您选择时加载,读取失败时提供重试,后台加载会保留您选择的文档和阅读位置。预览不会安装或执行插件,重新打开预览可以让您看到在打开时编辑的已安装文件。
来源和完整变更列表
**改进**
- 加载支持文件之前打开技能说明 [#155282](https://github.com/openclaw/openclaw/pull/155282) — 感谢 [@patrick-erichsen](https://github.com/patrick-erichsen)
**限制和兼容性**
加载的文件仅在当前预览和连接中重复使用。关闭、重新打开、离开或重新连接都会清除预览缓存。
## 本机应用程序
本机应用程序使日常对话更容易编写、阅读和返回,当需要关注连接或权限时,有更多的回复空间和更清晰的控制。
Android 聊天将图库、文件和位置带入附件菜单,轻按麦克风可进行听写,长按可进行语音选项。位置进入草稿,您可以在选择发送之前查看,仅使用您允许的前台权限和精度。失败的工具和恢复说明更容易阅读,点击符合条件的回复的时间戳即可打开其记录的模型、令牌使用和估计成本。这些详细信息描述了一个模型调用,因此它们不是整个对话的总数或最终账单。
暂存的照片现在会显示缩略图,您可以在发送前打开。紧凑、可扩展的工具活动部分可保持运行工具并保存结果及其原始提示,即使折叠时也能看到故障。如果您离开,停止也会与您选择的对话保持联系,并报告被拒绝或不确定的结果,而不将不确定的停止视为已完成。
来源和完整变更列表
**改进**
- 简化 Android 聊天控制和可审阅的媒体和位置共享 [#143099](https://github.com/openclaw/openclaw/pull/143099) — 感谢 [@ivankuznetsov](https://github.com/ivankuznetsov) 和 [@iwhatsskill](https://github.com/iwhatsskill).
- 检查 Android 从其时间戳 [#152880](https://github.com/openclaw/openclaw/pull/152880) 回复使用情况和模型详细信息 — 感谢 [@iwhatsskill](https://github.com/iwhatsskill),提案归功于 [@pestelence2k](https://github.com/pestelence2k).
- 将 Android 工具活动保留在一个紧凑的可扩展部分中 [#155765](https://github.com/openclaw/openclaw/pull/155765) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
**错误修复**
- 保持 Android 附件删除可使用长文件名 [#151337](https://github.com/openclaw/openclaw/pull/151337) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
- 在交付过程中保持 Android 聊天气泡一致 [#151336](https://github.com/openclaw/openclaw/pull/151336) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
- 揭露Android工具故障和完整恢复指南[#151332](https://github.com/openclaw/openclaw/pull/151332) - 感谢[@iwhatsskill](https://github.com/iwhatsskill).
- Isolate Android 捕获并预览上演的照片 [#153033](https://github.com/openclaw/openclaw/pull/153033) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill) 和 [@vacinc](https://github.com/vacinc).
- Keep Android 停止其选定的对话并报告失败 [#155035](https://github.com/openclaw/openclaw/pull/155035) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
- 中断后恢复网关切换 Android 语音笔记 [#155036](https://github.com/openclaw/openclaw/pull/155036) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
- 切换媒体后恢复 Android 视频控制 [#155037](https://github.com/openclaw/openclaw/pull/155037) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
**限制和兼容性**
缺少或零使用详细信息和合成回复行不提供推断的使用或计费值。
相机捕获保留权限和相机设置检查,拒绝竞争请求,并在应用程序离开前台时结束。未知的停止结果留下待跟踪的运行。真正的待处理导入或发送仍然会阻止网关切换。
打开 Android 聊天图像即可捏合、平移或使用可见的缩放控件,而不会意外关闭预览。变焦达到 4 倍,双击可在 2.5× 和拟合视图之间切换,旋转设备可重新拟合图像,而不是保持过时的位置。照片消息使用紧凑的行和四个图像页面,让您可以到达每个附件,浏览它们会暂停对话的自动跟踪。
来源和完整变更列表
**改进**
- 缩放和平移 Android 聊天图像预览 [#152877](https://github.com/openclaw/openclaw/pull/152877) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill),提案归功于 [@pestelence2k](https://github.com/pestelence2k).
- 保持 Android 照片消息紧凑,可访问每张图像 [#155338](https://github.com/openclaw/openclaw/pull/155338) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill) 和 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
设置 → 外观现在提供从 90% 到 140% 的五种文本大小,并结合 Android 自己的字体缩放。该选择在重新启动后仍然存在并保留在此设备上。页面标题和状态文本更完全地换行,而侧边栏页面获得了上移和下移辅助功能,因此重新排序不依赖于拖动。普通侧边栏移动可见页面;编辑固定项目包括所有页面。
来源和完整变更列表
**改进**
- 在 Android 外观 [#152878](https://github.com/openclaw/openclaw/pull/152878) 中选择设备本地文本大小 — 感谢 [@iwhatsskill](https://github.com/iwhatsskill),提案上下文来自[@pestelence2k](https://github.com/pestelence2k).
- 重新排序 Android 具有辅助功能的侧边栏页面 [#152881](https://github.com/openclaw/openclaw/pull/152881) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill),以及来自 [@pestelence2k](https://github.com/pestelence2k). 的提案上下文
**错误修复**
- 使用大文本保持 Android 页面标题的可读性 [#151341](https://github.com/openclaw/openclaw/pull/151341) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
- 使 Android 状态文本和辅助功能标签完整 [#151342](https://github.com/openclaw/openclaw/pull/151342) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
**限制和兼容性**
文本大小默认为 100%,并且不与网关配置文件同步。某些提供程序指标仍然可以在较窄的宽度和非常大的系统文本大小下进行剪辑。
在您键入并将设置错误放在相关字段旁边后,Android 连接表单会保持其标签可见。概述为聊天提供了更清晰的入口点,并使连接状态和目标行更易于阅读,而保存的凭据仍然被屏蔽,并且替换它们仍然需要确认。当服务消失或重新发现时,附近网关列表还会保留当前地址和可用性,而无需更改配对或连接检查。
来源和完整变更列表
**改进**
- 澄清 Android 概述操作和连接状态 [#151335](https://github.com/openclaw/openclaw/pull/151335) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
**错误修复**
- 保持 Android 网关标签和设置错误可见 [#151338](https://github.com/openclaw/openclaw/pull/151338) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
- 在服务更改后保持 Android 网关发现最新 [#155038](https://github.com/openclaw/openclaw/pull/155038) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
Android [Talk](/nodes/talk) 可以使用网关通告的受支持的 GPT-Live 实时路由,并显示哪个路由处于活动状态或选择设备语音的原因。 Codex 路线首先尝试 ChatGPT OAuth 并可以回退到平台密钥;公共 API 路由需要平台密钥。平台密钥的使用按使用量计费,包括回退。通告的路由仍然需要有效的凭据和帐户访问权限,并且更改活动路由需要停止并重新启动 Talk。较长的回复可以更充分地使用现有的音频缓冲区,并且停止的会话现在会在聊天中显示其失败原因。
在实时通话期间,手机会保持自动本地朗读静音,包括从另一个客户端开始的回复,因此咨询答案不会说两次。文本仍然可见,并且本机对话和显式朗读仍然可用。重新连接到同一网关还会将选定的代理保留在内存中,而新的 Android 语音消息会发送识别的单词,而无需应用程序以前添加的指令。
来源和完整变更列表
**错误修复**
- 在 Android 中使用支持的 GPT-Live 中继路由谈论并解释后备 [#153741](https://github.com/openclaw/openclaw/pull/153741) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
- 保持长时间 Android 谈话回复播放并解释故障 [#152834](https://github.com/openclaw/openclaw/pull/152834) — 感谢 [@saariuslystoned](https://github.com/saariuslystoned) 和 [@iwhatsskill](https://github.com/iwhatsskill).
- 在实时通话 [#153087](https://github.com/openclaw/openclaw/pull/153087) 期间停止重复 Android 语音 — 感谢 [@saariuslystoned](https://github.com/saariuslystoned).
- Preserve Android Talk 的代理跨网关重新连接 [#152593](https://github.com/openclaw/openclaw/pull/152593) — 感谢 [@saariuslystoned](https://github.com/saariuslystoned)、[@obviyus](https://github.com/obviyus) 和[@destinedenergy](https://github.com/destinedenergy).
- 发送 Android 无需应用程序添加说明的通话记录 [#153021](https://github.com/openclaw/openclaw/pull/153021) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill)、[@vacinc](https://github.com/vacinc) 和[@guarismo](https://github.com/guarismo).
**改进**
- 翻译Android通话状态指导[#153967](https://github.com/openclaw/openclaw/pull/153967)。
**限制和兼容性**
显式本机模式、强制协商和配置的 Azure 终结点保留其本机或受限行为。仅更新网关可以更改较旧的 Android 应用程序的路线;混合版本音频路径和独立订阅音频验证仍然悬而未决。音频缓冲区仍限制在 12 MiB。应用程序重新启动或网关切换后,代理选择不会保留,并且历史语音消息不会更改。
当语音转录完成较晚时,Talk 会保留有效的咨询答案,并在聊天中显示每个新答案。您的口头请求仍然可读,而生成的将工作交给代理的说明则不会出现在可见的对话中。在支持的可中断中继呼叫中,中断回复还可以让您继续讲话,而不会在提供商确认停止的速度较慢时立即丢失呼叫。
来源和完整变更列表
**错误修复**
- Preserve Talk 在最新语音记录中回答 [#150536](https://github.com/openclaw/openclaw/pull/150536) — 感谢 [@marvinthebored](https://github.com/marvinthebored)、[@peetiegonzalez](https://github.com/peetiegonzalez)、 [@shakkernerd](https://github.com/shakkernerd)、[@dimonnld](https://github.com/dimonnld)、[@saariuslystoned](https://github.com/saariuslystoned) 和 [@goldenrodscript](https://github.com/goldenrodscript).
- Keep Talk 咨询启动在最终语音进入历史记录时有效 [#150283](https://github.com/openclaw/openclaw/pull/150283) — 感谢 [@mertbasar0](https://github.com/mertbasar0)、[@shakkernerd](https://github.com/shakkernerd)、 [@dimonnld](https://github.com/dimonnld) 和 [@saariuslystoned](https://github.com/saariuslystoned).
- 防止重复谈话咨询答案[#153140](https://github.com/openclaw/openclaw/pull/153140) — 感谢[@shakkernerd](https://github.com/shakkernerd).
- Hide 从可见聊天 [#153698](https://github.com/openclaw/openclaw/pull/153698) 生成对话引导指令 — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 在回复中断后保持 Talk 通话连接 [#152427](https://github.com/openclaw/openclaw/pull/152427) — 感谢 [@saariuslystoned](https://github.com/saariuslystoned)、[@obviyus](https://github.com/obviyus) 和[@dimonnld](https://github.com/dimonnld).
**限制和兼容性**
较新的任务、取消和已完成的答案仍会撤销较旧的请求。现有的历史不会被改写。中继回复中断后,麦克风输入会在一秒后恢复,同时旧的输出保持抑制状态;另外 30 秒没有提供者响应边界可以结束会话。不可中断提供者和显式会话关闭保留其现有行为。
长观看回复现在提供阅读完整回复,除了紧凑预览之外,还具有滚动、部分导航和重试控件。更新手表应用程序和手机伴侣;聊天还需要一个支持完整消息检索的网关。语音状态和麦克风引导更适合小型手表,并且上下文选择将其选择的状态公开给辅助服务。实时聊天将保持预览状态,直到存储的回复可用为止,而旧的 Talk 文本在其会话数据失效后可能会变得不可用。
来源和完整变更列表
**改进**
- 阅读 Wear OS [#152041](https://github.com/openclaw/openclaw/pull/152041) 上的完整助手回复 — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
**错误修复**
- 使 Wear 上下文选择可访问且更易于阅读 [#151296](https://github.com/openclaw/openclaw/pull/151296) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
- Keep Wear Voice 文本和控件可在小型手表上使用 [#151868](https://github.com/openclaw/openclaw/pull/151868) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
- 刷新后保持磨损更新指导准确 [#151779](https://github.com/openclaw/openclaw/pull/151779) — 感谢 [@iwhatsskill](https://github.com/iwhatsskill).
**限制和兼容性**
完整回复的字符数限制为一百万个字符,并针对不受支持、已更改、不可用或过大的文本显示明确的消息。
在本机 iOS 聊天中发送照片不再触发报告的作曲家冻结,因此您可以发送附件并继续输入,而无需重新启动应用程序。这修复了发送时间焦点问题;在历史记录刷新后保持发送的照片可见仍然是单独的工作。
来源和完整变更列表
**错误修复**
- 防止本机 iOS 照片发送编辑器冻结 [#154082](https://github.com/openclaw/openclaw/pull/154082) — 感谢 [@solvely-colin](https://github.com/solvely-colin)、[@eragim](https://github.com/eragim)、 [@kittitys](https://github.com/kittitys)、[@rwoverdijk](https://github.com/rwoverdijk) 和 [@hhkwoong](https://github.com/hhkwoong).
Native Mac [Quick Chat](/platforms/mac/webchat#quick-chat-bar) 在对话中保留一位作曲家,当您折叠并重新打开它时,会保留您的草稿和流式回复。单独的模型和工作量控件使思维水平和支持的快速模式更容易选择,而上下文环提供紧凑线程。模型选择器使可用的选择保持可见,而不会出现不相关的发现警告,并且捕获操作位于加号菜单中。选择后仍会发送屏幕截图。
来源和完整变更列表
**改进**
- 使用一个保留对话状态的快速聊天编辑器 [#153383](https://github.com/openclaw/openclaw/pull/153383) — 感谢 [@benediktweber](https://github.com/benediktweber) 的相关提案。
**错误修复**
- 从本机模型选择器 [#154015](https://github.com/openclaw/openclaw/pull/154015) 中删除不相关的发现警告 - 感谢 [@romneyda](https://github.com/romneyda).
**限制和兼容性**
模型发现失败在模型设置和 CLI 中仍然可见。这里的快速聊天布局属于本机Mac应用程序。
Tauri 桌面应用程序将您最新的交流放在单独的底部编辑器之上,让您可以在回复流的同时准备下一条消息。折叠回复会保留草稿、实时文本和小部件交互;发送和切换代理等待直到当前回合结束。 Cmd/Ctrl+Shift+O 现在可以到达新会话的前台应用程序,而不是调用后台仪表板。单独的可配置快速聊天快捷方式仍然可用,如 [ 桌面应用程序指南](/platforms/linux) 中所述。
来源和完整变更列表
**改进**
- 重新设计Tauri快速聊天并简化Apple思维标签[#153564](https://github.com/openclaw/openclaw/pull/153564)。
**错误修复**
- 将新会话快捷方式返回到前台应用程序[#154118](https://github.com/openclaw/openclaw/pull/154118)。
**限制和兼容性**
已停用的后台仪表板快捷方式还删除了其“启用全局快捷方式”托盘切换。 Apple的更改简化了有效的思维级别标签并保留了重置为默认的操作;他们不将 Tauri 布局应用于 Apple 应用程序。
macOS 上的 Tauri 应用程序可以重新打开保存的本地或远程网关,而不会报告启动崩溃。如果启动环境阻止钥匙串访问,其警告现在会提供适当的恢复指导,包括在相关时从 Finder 重新打开。
来源和完整变更列表
**错误修复**
- 防止 Tauri 应用程序 [#154028](https://github.com/openclaw/openclaw/pull/154028) 中保存的网关启动崩溃 — 感谢 [@vacinc](https://github.com/vacinc) 所做的必要工作。
- 正确保存的网关钥匙串恢复警告[#154151](https://github.com/openclaw/openclaw/pull/154151)。
**限制和兼容性**
从 Finder 重新打开是恢复指导,并不能保证每个钥匙串问题都得到修复。
打开本机 Mac 应用程序或更改连接模式会使独立管理的网关和其他服务保持运行。保存的网关从其仪表板窗口显示当前连接状态,即使它们不是主要连接,并且“关于”可以在离线时复制版本和构建详细信息。通过拥有该端口的服务解决端口冲突;绿色连接指示器描述的是连接,而不是其背后每个服务的运行状况。
捆绑的 Mac 工作人员可以从保存的桌面共享首选项(包括命名配置文件)开始,并考虑是否启用或禁用共享。从开放式嵌入式仪表板登录还可以恢复受保护的图像和文件,同时保持同一帐户对话。更新 Mac 应用程序和仪表板以进行续订;通过普通浏览器选项卡登录不会更新嵌入会话。
来源和完整变更列表
**错误修复**
- 当 Mac 应用程序打开 [#153474](https://github.com/openclaw/openclaw/pull/153474) 时,保持独立管理的网关运行。
- 显示已保存的 macOS 网关 [#152638](https://github.com/openclaw/openclaw/pull/152638) 的实时连接状态。
- 使用保存的桌面共享首选项 [#154436](https://github.com/openclaw/openclaw/pull/154436) 启动 Mac 工作线程。
- 从打开的 Mac 仪表板 [#154639](https://github.com/openclaw/openclaw/pull/154639) 恢复内容登录。
**改进**
- 离线查看和复制Mac版本信息[#153184](https://github.com/openclaw/openclaw/pull/153184)。
更新了 Windows 启动和恢复帮助程序,避免在后台启动期间打开额外的空白控制台。交互式命令保留其终端,并且更改在替换助手运行时生效。
来源和完整变更列表
**错误修复**
- H在 Windows 后台启动 [#152452](https://github.com/openclaw/openclaw/pull/152452) 期间隐藏替换控制台。
Mac 权限控制可以通过授予请求缺少的屏幕录制或辅助功能访问权限,并在需要更多帮助时使用附近的系统设置。更新本机应用程序和网关后,与 OpenClaw 交互还可以为代理提供基本的 [ 最近计算机活动 ](/nodes/presence),而无需辅助功能权限。重命名的系统范围存在检测选项默认保持关闭状态,并且需要其他应用程序中活动的可访问性。现在关闭它只会禁用系统范围的检测,包括以前禁用的首选项;应用程序本地活动仍然符合资格,并且不能证明谁在计算机上或哪个设备发送了消息。
来源和完整变更列表
**错误修复**
- 恢复Mac屏幕和辅助功能权限请求[#153263](https://github.com/openclaw/openclaw/pull/153263)。
- 使Mac检查菜单遵循开发人员设置[#153273](https://github.com/openclaw/openclaw/pull/153273)。
- 释放用于读取音频输入名称和 ID 的内存 [#151455](https://github.com/openclaw/openclaw/pull/151455) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**改进**
- 恢复Mac活动上下文和Canvas媒体播放[#153381](https://github.com/openclaw/openclaw/pull/153381)。
**限制和兼容性**
仅打开或前台应用程序不算作最近的输入。删除未使用的终端自动化行不会撤销 macOS 授权,并且隐藏检查菜单是一种演示设置,而不是安全边界。
Canvas 小部件可以在内联预览、仪表板和本机面板中直接播放 HTTPS 音频和视频。更新 Mac 应用程序和网关,然后更新或重新创建旧的保存的小部件以接收新的媒体策略。浏览器格式支持和自动播放规则仍然适用,因此播放控件仍然有用。媒体请求可以到达超出小部件单独授予的 API 连接的 HTTPS 主机; [ 小部件媒体指南](/tools/show-widget#audio-and-video) 解释了其中的区别。
来源和完整变更列表
**改进**
此媒体更改的共享源和完整说明显示在上面的请求 Mac 访问和阅读最近的应用程序活动中。
**限制和兼容性**
媒体托管服务器接收客户端的请求。将私人数据和凭据保留在媒体 URL 之外。 API 请求、脚本、图像和导航保留其单独的限制。
Mac 设置将已安装的 Chrome 扩展与需要启用的扩展区分开来,并在其帮助程序需要修复时提供单独的指导。较旧的 Mac 应用程序与较新的仪表板保留可用的设置路径,包括当旧应用程序无法确定是否安装了扩展时的未知状态。安装状态与实时浏览器连接保持独立。
来源和完整变更列表
**错误修复**
- 在 Mac 设置 [#153266](https://github.com/openclaw/openclaw/pull/153266) 中识别已安装的 Chrome 扩展。
- 跨Mac应用程序和仪表板版本[#153289](https://github.com/openclaw/openclaw/pull/153289)保留Chrome设置。
**改进**
- 刷新翻译的Chrome设置指南[#153411](https://github.com/openclaw/openclaw/pull/153411)。
Tauri 托盘菜单在登录时启动旁边添加了可选的“保持计算机唤醒”设置,以实现长时间运行的本地工作。它默认处于关闭状态,会记住该设备上的选择,并在窗口靠近托盘时保持活动状态,直到您禁用它或退出。在Linux上还可以延迟自动调光和锁定;手动锁定、显式睡眠和盖子行为仍受操作系统控制。本机 Mac 应用程序对其现有设置采用更清晰的名称,但仍需要连接、托管、解锁的 Mac。
来源和完整变更列表
**改进**
- 添加可选的保持计算机唤醒桌面设置 [#152420](https://github.com/openclaw/openclaw/pull/152420)。
**限制和兼容性**
Linux 需要工作会话管理器或空闲抑制门户。无法激活的已保存首选项将被标记为非活动状态,并且仍然可以关闭。 Windows 和 macOS Tauri 请求可防止系统空闲睡眠,而不请求显示器保持打开状态。
托管工作人员通过取消和节点重新启动来跟踪未完成的命令,并在确认清理后释放占用的插槽。一起更新网关和节点主机或Mac应用程序,并重新启动更新的主机;较旧的节点可能会显示需要更新。 Linux 和 macOS 获得更强的清理能力,而 Windows 在清理不确定时保留一个槽位。让活动工作人员在降级到旧版本之前完成。
来源和完整变更列表
**错误修复**
- 跟踪取消和节点重新启动 [8277325](https://github.com/openclaw/openclaw/commit/8277325ccf1b616d3ff911b4a4102133319e8564) 期间托管的工作线程清理。
**改进**
- 将节点工作日志移出主机事件循环 [ac63848](https://github.com/openclaw/openclaw/commit/ac638483c7803d8043990eb040d0385e9196f740)。
**限制和兼容性**
将启动和结果簿记移到后台,可以通过取消和清理来跟踪占用的插槽和结果。未知的结果保留所有权,而不是提前释放插槽。
Mac 打包会修剪应用程序的私人工作人员不需要的文件,从而减小通用应用程序的大小,同时保留 Apple 芯片和英特尔支持。打包更正还保留了捆绑子进程支持所需的嵌套帮助程序,包括配置的 stdio MCP 服务器。正常的 npm 安装保留其 CLI 和网关功能。
封装现在还支持单独的 Apple 芯片,并且英特尔与默认通用应用程序一起构建。签名下载及其自动更新源的可用性取决于单独的发布工作。
来源和完整变更列表
**改进**
- 减少通用macOS应用程序包大小[#150773](https://github.com/openclaw/openclaw/pull/150773) — 感谢[@romneyda](https://github.com/romneyda).
- 支持单独的 Apple 芯片和 Intel Mac 软件包 [#154595](https://github.com/openclaw/openclaw/pull/154595) — 感谢 [@romneyda](https://github.com/romneyda).
**错误修复**
- 在 Mac 应用程序打包 [#154291](https://github.com/openclaw/openclaw/pull/154291) 中保留嵌套辅助程序。
**限制和兼容性**
记录的大小减少来自受控包比较,而不是最终签名的版本下载。后来的helper修复有原生arm64分期证据;该暂存不会建立新应用程序资产的发布。
Mac 仪表板在加载时遵循本机窗口的外观,避免在所选主题出现之前出现白色闪烁。折叠侧边栏收件箱还与其他标题栏操作相匹配,并为其未读徽章留出空间。
来源和完整变更列表
**错误修复**
- 防止macOS仪表板的白色加载闪烁[#153837](https://github.com/openclaw/openclaw/pull/153837)。
- 对齐 Mac 标题栏收件箱和未读徽章 [#153241](https://github.com/openclaw/openclaw/pull/153241)。
音频和文档附件可以通过等效的 macOS 路径(例如 `/tmp` 和 `/private/tmp`)读取。打开的文件必须仍然位于允许的文件夹内,因此这可以修复路径处理,而无需扩展对相邻文件夹或共享工作区的访问权限。
来源和完整变更列表
**错误修复**
- 通过 macOS 目录别名 [#136218](https://github.com/openclaw/openclaw/pull/136218) 读取授权媒体。
现有的本机应用程序语言接收 Android 控件、Wear 回复阅读、Apple 聊天和进度以及 Mac 同意屏幕的刷新标签。这些翻译有助于解释当前的控制和权限,而无需引入新语言或更改这些权限所允许的内容。
来源和完整变更列表
**改进**
- 刷新原生应用标签并回复阅读翻译[#152164](https://github.com/openclaw/openclaw/pull/152164)。
- 刷新本机聊天和进度翻译[#153464](https://github.com/openclaw/openclaw/pull/153464)。
- 刷新翻译的macOS自动化权限说明[#153578](https://github.com/openclaw/openclaw/pull/153578)。
- 翻译Android控件和macOS桌面共享同意[#153746](https://github.com/openclaw/openclaw/pull/153746)。
- 刷新本机工具活动翻译 [#151702](https://github.com/openclaw/openclaw/pull/151702)。
- 翻译Android聊天图像导航[#155571](https://github.com/openclaw/openclaw/pull/155571)。
**错误修复**
- 刷新原生下载和响应停止翻译和泰语措辞[b03f036](https://github.com/openclaw/openclaw/commit/b03f0366f6ef57a20b663b54f2d541cc59c7aa73) — 感谢[@steipete](https://github.com/steipete).
原生 [iOS 聊天](/platforms/ios) 现在提供在助手生成的文档上下载文件,将下载的文件传递到系统共享表,并使用“保存到文件”和其他可用的应用程序。共享本机 Mac 聊天添加了这些文档的保存面板。下载需要当前网关访问权限并保持在现有的 100 MiB 限制内;过期或删除的文件需要重新生成。图像、音频和视频保持独立的控制。
来源和完整变更列表
**错误修复**
- 从本机聊天下载辅助文档 [#155195](https://github.com/openclaw/openclaw/pull/155195) — 感谢 [@takhoffman](https://github.com/takhoffman).
Android 软件包省略了未使用的资源文件,从而减少了它们所携带的内容,而无需更改身份验证行为。
来源和完整变更列表
**错误修复**
- 从 Android 包中删除未使用的资源 [#154782](https://github.com/openclaw/openclaw/pull/154782) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**限制和兼容性**
此更改删除了三个未使用的加密资源表。记录的压缩资源节省不是最终签名的 APK 或安装大小测量。
## 模型和提供商
TypeSafe Jev 和本地决策模型为支持插件提供了一种独立于聊天进行结构化选择的方法。 Claude Opus 5.5、GPT-6 Sol 和 Luna 以及 Grok 4.7 添加了新的对话选项,以及自己的帐户要求、设置和费用。
[模型设置](/web/control-ui/settings)现在将全局默认值和所选代理的提供商连接引入一个工作流程,从而在重新扫描期间保留未完成的设置输入。保存凭据使模型激活成为一个单独的选择。仅模型更改保留兼容的已保存运行时,但清除不兼容的已保存运行时及其本机同意,以便可以应用配置的路由。显式选择不兼容的运行时或其配置的本机运行时不可用的模型仍会拒绝更改而不更改会话。模型和工作量控制在狭窄的聊天中仍然可用,具有更准确的刷新反馈、支持的思维选择以及委派工作的快速偏好。通过 `session_status` 代理请求的模型更改现在使用网关检查运行时、沙箱、工作器放置和预期会话,拒绝陈旧或不兼容的更新,而无需更改代理或全局默认值。
来源和完整变更列表
**改进**
- 在模型设置 [#147794](https://github.com/openclaw/openclaw/pull/147794) 中统一模型默认值、提供商连接和网关发现。
**错误修复**
- 选择模型时保留运行时选择 [#152394](https://github.com/openclaw/openclaw/pull/152394) — [@obviyus](https://github.com/obviyus).
- Prevent 网关因没有运行时引脚的代理而挂起 [#153386](https://github.com/openclaw/openclaw/pull/153386) — [@stackingrockss](https://github.com/stackingrockss).
- 仅当声明的标签或显式映射支持时提供思维级别 [#145248](https://github.com/openclaw/openclaw/pull/145248) — [@MasterSwords1](https://github.com/MasterSwords1)、[@obviyus](https://github.com/obviyus)、 [@itanyplus](https://github.com/itanyplus).
- Scope继承快速模式到同模型[#153251](https://github.com/openclaw/openclaw/pull/153251) — [@MertBasar0](https://github.com/MertBasar0)、[@holny](https://github.com/holny)、 [@obviyus](https://github.com/obviyus),[@Oldrich333](https://github.com/Oldrich333).
- 保持模型刷新进度紧凑且准确[#153932](https://github.com/openclaw/openclaw/pull/153932)。
- 在狭窄的聊天窗格中将模型和工作量选择器分开 [#153616](https://github.com/openclaw/openclaw/pull/153616)。
- 为提供程序加载对话框提供屏幕阅读器名称 [#152733](https://github.com/openclaw/openclaw/pull/152733) — [@obviyus](https://github.com/obviyus).
- 重新应用相同模型和帐户时保留运行时选择 [#153945](https://github.com/openclaw/openclaw/pull/153945) — [@RomneyDa](https://github.com/RomneyDa).
- 允许模型切换过去不兼容的已保存运行时间 [#154918](https://github.com/openclaw/openclaw/pull/154918) — [@VACInc](https://github.com/VACInc).
- 恢复Windows模型运行和会话设置持久性[#155071](https://github.com/openclaw/openclaw/pull/155071)。
- 按 ID 或提供商参考 [#155180](https://github.com/openclaw/openclaw/pull/155180) 查找模型。
- 避免模型测试成功后出现错误设置失败 [#155407](https://github.com/openclaw/openclaw/pull/155407) — [@RomneyDa](https://github.com/RomneyDa).
- 通过网关验证会话状态模型更改 [#155826](https://github.com/openclaw/openclaw/pull/155826) — [@shakkernerd](https://github.com/shakkernerd).
[Claude Opus 5.5](/providers/anthropic) 现在可以在 Anthropic API 和 Claude CLI 目录中选择为 `anthropic/claude-opus-5-5`,并具有显式 `opus-5.5` 和`opus-5-5` 别名。现有选择保持不变,裸 `opus` 别名仍选择 Opus 5。思考始终启用,默认为中,并提供从低到最大值;保存关闭或最小设置使用低值代替。 API 使用需承担 Opus 5.5-specific 费用,可用性仍取决于所选账户和路线。
来源和完整变更列表
**改进**
- 添加 Claude Opus 5.5 以及特定于模型的思考和定价 [#155966](https://github.com/openclaw/openclaw/pull/155966)。
**限制和兼容性**
所提供的 API 目录列出了每百万个输入令牌 4 美元和每百万个输出令牌 20 美元,每百万令牌 0.20 缓存读取和五分钟缓存写入为 5 美元。它声明了一个一百万个令牌上下文窗口和最多 128,000 个输出令牌。请求省略了手动思考预算、自定义采样、助理预填充和优先级;强制工具选择变为自动。快速模式和拒绝回退保留其直接 API-key 范围。
[GPT-6 Sol 和 Luna](/providers/openai/models) 通过 OpenAI 响应 API 或 ChatGPT 登录为您提供文本、图像和工具使用的两种新选择。对于嵌入式 ChatGPT 使用,明确选择 [OpenClaw 运行时](/providers/openai/runtimes);单独设置模型并不会选择它。现有选择和 Astra 设置默认值保持不变。 Luna 在发货目录中的标准 API 费率较低,每百万代币输入为 $0.10,输出为 $0.50,而 Sol 的输入为 2 美元,输出为 10 美元。不同的定价等级适用于超过 272,000 个输入代币。
捆绑的 Codex 0.155.1 还允许符合条件的 ChatGPT 帐户通过本机 Codex 发现和使用这两种模型。启动或升级OpenClaw后,`/codex models`将显示您的[帐户的选择](/plugins/codex-harness-reference/model-discovery)。嵌入式推理支持none到max,支持时默认medium;本机工作量选择取决于帐户。单独的 Luna Reserve 路线及其计费区别保持不变。
来源和完整变更列表
**改进**
- 添加 GPT-6 Sol 和 Luna API 以及嵌入式运行时支持 [#155967](https://github.com/openclaw/openclaw/pull/155967) — [@fduch-stranger](https://github.com/fduch-stranger).
**错误修复**
- 使用 Codex 0.155.1 [#155989](https://github.com/openclaw/openclaw/pull/155989) 恢复 Sol 和 Luna 订阅发现 — [@fduch-stranger](https://github.com/fduch-stranger).
**限制和兼容性**
编写的模型元数据区分了 1,050,000 个令牌上下文窗口、272,000 个令牌主动输入预算和 128,000 个令牌输出最大值。嵌入式 `/think off` 映射为无。测试的本机帐户提供了从低到超的 Sol 努力和从低到最大的 Luna 努力,两者都默认为中等;另一个帐户可能会提供更窄的选择。支持的外部 Codex 最小值仍为 0.149.0,ACP 适配器仍为 1.11.0,其 Codex 依赖项已更新。
您可以从“模型”设置中选择已安装的 OpenCode、Qwen Code、Pi ACP 和 Kilo Code 代理,并在普通聊天中使用它们的流式回复。在运行 OpenClaw 的计算机上安装并登录应用程序,然后使用发现反馈和再次检查控件来解决不可用的模型。仅检测并不能确认登录。 [Native-agent setup](/tools/acp-agents-setup) 解释了管理员的 **Continue 对此聊天** 如何授予完全访问权限、关闭该聊天的可选沙箱以及同意本机应用程序的权限。所需的沙箱和工作区边界仍然适用。
明确选择的不可用的 CLI 现在会报告故障,而不是默默地切换到 API 访问。恢复该 CLI 或显式选择 API 路由。 Claude 的选择器标签有助于区分这些路线,但 API-key 帐户仍会通过 Claude CLI 产生 API 费用。本机同意必须在重置、运行时更改或更强大的设置后更新,并且不会带入分叉;删除 OpenClaw 会话会保持本机应用程序的历史记录完好无损。
来源和完整变更列表
**改进**
- 从模型和聊天中选择和管理支持的已安装编码代理 [#150224](https://github.com/openclaw/openclaw/pull/150224) — [@obviyus](https://github.com/obviyus).
- 在模型选择前澄清 Claude CLI、API 和默认路由 [#153707](https://github.com/openclaw/openclaw/pull/153707) — [@obviyus](https://github.com/obviyus).
**错误修复**
- 显示已安装代理故障并重试模型发现 [#153693](https://github.com/openclaw/openclaw/pull/153693) — [@obviyus](https://github.com/obviyus).
- 在发现本机模型时避免出现错误登录提示 [#153796](https://github.com/openclaw/openclaw/pull/153796) — [@obviyus](https://github.com/obviyus).
安装并登录的 GitHub Copilot CLI 现在可以为普通 Web 和频道对话提供模型。 [Copilot setup](/tools/acp-agents-setup#github-copilot-cli-in-native-chat) 使用在该计算机上运行 OpenClaw 的帐户,访问权限和计费归 Copilot 所有;显式自带密钥设置和环境令牌可能会影响使用哪个帐户。默认情况下,发现处于启用状态,禁用它会停止新的发现,并在承认的工作继续进行时进行轮流。这些本机轮流使用应用程序的主机权限,没有 OpenClaw 沙箱或仅限工作区的限制。
来源和完整变更列表
**改进**
- 选择已安装的GitHub Copilot CLI用于普通聊天的模型[#153799](https://github.com/openclaw/openclaw/pull/153799) — [@obviyus](https://github.com/obviyus).
当前台 Bash 命令需要足够长的时间才能自动移至后台时,Claude CLI 会在原来的轮次中保留后续工具和最终答案。有意在后台启动的命令仍然会立即结束回合,并且不会获得独立的后续传递。支持的 npm- 安装的包装器现在在 Windows 上启动,长推理流需要更少的重复解析,并且当系统时钟发生变化时,恢复时序保持在现有预算内。
即使预览和块流被禁用,在本机背景研究继续的同时,也可以到达已完成的 Claude 回复。频道进度预览显示跟踪的清单和完成计数,而不将已完成的清单视为运行结束。
来源和完整变更列表
**改进**
- Reduce CPU 适用于长 CLI 推理流 [#152191](https://github.com/openclaw/openclaw/pull/152191)。
**错误修复**
- 在前台 Bash 超时后保留 Claude CLI 后续工具和答案 [#149967](https://github.com/openclaw/openclaw/pull/149967) — [@marvinthebored](https://github.com/marvinthebored), [@peetiegonzalez](https://github.com/peetiegonzalez),[@shakkernerd](https://github.com/shakkernerd).
- 启动支持的 npm- 在 Windows 上安装 Claude CLI 包装器 [#138504](https://github.com/openclaw/openclaw/pull/138504) — [@LiuwqGit](https://github.com/LiuwqGit)、[@obviyus](https://github.com/obviyus)、[@Vasanthdev2004](https://github.com/Vasanthdev2004).
- 在时钟变化时保持 CLI 恢复时序稳定 [#150817](https://github.com/openclaw/openclaw/pull/150817) — [@tzy-17](https://github.com/tzy-17)、[@altaywtf](https://github.com/altaywtf).
- 恢复聊天频道中的Claude CLI进度清单[#150903](https://github.com/openclaw/openclaw/pull/150903) — [@chelsealong](https://github.com/chelsealong), [@fuller-stack-dev](https://github.com/fuller-stack-dev),[@sennyhoney](https://github.com/sennyhoney).
- 避免不必要的 Claude 会话目录重新扫描 [#154164](https://github.com/openclaw/openclaw/pull/154164)。
- 交付已完成的 Claude 答复,同时继续进行背景研究 [#154874](https://github.com/openclaw/openclaw/pull/154874) — [@vacinc](https://github.com/vacinc).
- Claude CLI 转动后保持医生路线修复完好无损 [#155398](https://github.com/openclaw/openclaw/pull/155398) — [@hannnnn-l](https://github.com/hannnnn-l), [@obviyus](https://github.com/obviyus).
- Keep Claude 通过托管 MCP 工具超时变为活动状态 [#155663](https://github.com/openclaw/openclaw/pull/155663) — [@VACInc](https://github.com/VACInc).
直接 [Anthropic OAuth 请求](/providers/anthropic) 现在通告维护的 Claude 客户端版本,以解决拒绝过时客户端身份的新模型。 OpenClaw 至少使用版本 2.1.278 或较新安装的稳定版 Claude CLI,结果将被缓存直至重新启动。这更新了请求兼容性,同时保持帐户权利、计费策略和本地模型限制不变。
来源和完整变更列表
**错误修复**
- 更新 Anthropic OAuth 较新模型的客户端身份 [#154098](https://github.com/openclaw/openclaw/pull/154098) — [@KrasimirKralev](https://github.com/KrasimirKralev), [@SPRIC76](https://github.com/SPRIC76)、[@Cyb3rb1ade](https://github.com/Cyb3rb1ade)、[@raghidtawil-lab](https://github.com/raghidtawil-lab)、[@davidcittadini](https://github.com/davidcittadini)、[@Kiiatkin](https://github.com/Kiiatkin)、 [@fray-ai](https://github.com/fray-ai),[@Oldrich333](https://github.com/Oldrich333).
[Grok 4.7](/providers/xai) 添加了文本和图像模型选择,推理级别从低到高。新的 xAI 设置在未选择主要模型时选择它,并且 Web 搜索、X 搜索和代码执行在省略模型设置时使用它,包括在现有安装上。明确的主要和工具选择保持固定。符合条件的医生修复会替换已停用的 `xai/auto` 选择,同时保留帐户密码、后备和创作设置。超过 200,000 个代币的定价与短上下文目录价格不同。
来源和完整变更列表
**改进**
- 添加 Grok 4.7 并更新未配置的 xAI 默认值 [#155379](https://github.com/openclaw/openclaw/pull/155379) — [@RomneyDa](https://github.com/RomneyDa).
[小米 MiMo V2.6](/providers/xiaomi) 为即用即付帐户添加了 Pro、Flash 和 Pro UltraSpeed,并为区域令牌计划预设了 Pro 和 Flash。当未选择主要模型时,新设置默认为 Pro,同时保留现有选择。新模型支持文本和图像、思维控制、保留推理历史; Pro 和 Flash 也更喜欢自动代码模式,除非明确覆盖。令牌计划零美元目录价格代表配额核算,而不是免费服务。
来源和完整变更列表
**改进**
- 添加 Xiaomi MiMo V2.6 模型和新设置默认值 [#155412](https://github.com/openclaw/openclaw/pull/155412) — [@RomneyDa](https://github.com/RomneyDa).
[TypeSafe Jev](/plugins/typesafe) 允许支持插件在选项中进行选择、对提供的信息进行评分或估计是否满足条件。它使用可选的 [Decision Model](/concepts/decision-models) 角色,该角色与聊天分开,默认情况下处于关闭状态。选择决策模型不会启动后台工作或为代理提供新的工具或采取行动的权限。
单独的 `@openclaw/typesafe` 插件可在 npm 上用于 OpenClaw 和插件 API 2026.9.6 或更新版本。安装并启用它,添加受保护的 API-key 参考,然后选择 Jev 或 Jev 1.13.0. 托管评估将提供的信息发送到 TypeSafe 并产生正常的 API 费用。请求最多允许三十秒,调用者的截止时间更短,并且尊重保存的超时设置。如果替换外部原型,请在卸载之前保留其设置、凭据和策略; `uninstall --keep-files` 不保留配置。
来源和完整变更列表
**改进**
- 为结构化插件决策选择单独的决策模型 [#152237](https://github.com/openclaw/openclaw/pull/152237) — [@jalehman](https://github.com/jalehman).
- 添加选择加入 TypeSafe AI Jev 决策模型 [#152298](https://github.com/openclaw/openclaw/pull/152298) — [@jalehman](https://github.com/jalehman).
- 允许决策模型长达三十秒 [#154538](https://github.com/openclaw/openclaw/pull/154538)。
可选的 [ONNX 插件 ](/plugins/onnx) 在 CPU 本地进行结构化选择,而无需将提供的信息发送到托管推理服务。其 `@openclaw/onnx` 软件包可在 npm 上用于 OpenClaw 和插件 API 2026.9.6 或更新版本。安装并启用它,准备七个模型预设之一,然后选择它作为决策模型。五个预设已固定下载,两个需要本地导出;没有一个会自动启用。
评估最多可以允许三十秒,但仍会遵守更短的期限。大型冷模型可能需要预加载或更小的模型。无效的替换准备会使已加载的模型可用,但创建替换的本机会话时出现故障仍可能将其逐出。
来源和完整变更列表
**改进**
- 添加可选的本地 ONNX 决策模型和设置指南 [#153476](https://github.com/openclaw/openclaw/pull/153476) — [@jb510](https://github.com/jb510).
**限制和兼容性**
- 延长决策评估时间津贴[#153817](https://github.com/openclaw/openclaw/pull/153817)。
**错误修复**
- 保留加载的决策模型并强制执行请求限制[#154409](https://github.com/openclaw/openclaw/pull/154409)。
[TypeSafe 插件](/plugins/typesafe) 还将 [Decision Model](/concepts/decision-models) 角色连接到您自己运行的本地 Kev 服务器。在 OpenClaw 和插件 API 2026.9.6 或更新版本上安装并启用 npm 中的 `@openclaw/typesafe`,然后配置服务器的环回地址并选择 Kev。服务器控制加载的模型权重,其地址适用于通过插件的每个请求。本地模式不需要托管密钥,并且不会回退到托管 Jev。
未设置的超时默认为三十秒,而较短的调用者截止时间和保存的覆盖仍然有效。超时或取消的请求不一定会停止 Kev 服务器上已经运行的推理。
来源和完整变更列表
**改进**
- 通过本地Kev服务器[#154059](https://github.com/openclaw/openclaw/pull/154059)运行TypeSafe决策。
模型发现可以使用自定义代理目录中保存的凭据,在缓存过期后刷新符合条件的空目录,并在目录刷新失败时保留现有选择。即使其他提供程序仍在加载,失败和重试仍然可见,因此您可以在不丢失工作选择的情况下解决问题。 OAuth 诊断还可以使用适当的登录命令识别受影响的代理和配置文件。
默认合并模式目录现在显示符合条件的新发现的模型以及旧的保存的提供程序行。要限制可用的选择,请使用显式的 `modelPolicy.allow` 策略或 `models.mode=replace`;单独保存的提供者数组不再限制发现。
来源和完整变更列表
**错误修复**
- 从自定义代理目录恢复模型发现 [#151458](https://github.com/openclaw/openclaw/pull/151458) — [@obviyus](https://github.com/obviyus).
- 过期后成功刷新空提供商目录 [#151580](https://github.com/openclaw/openclaw/pull/151580) — [@obviyus](https://github.com/obviyus).
- 模型目录工作线程恢复后保留刷新失败状态 [#151597](https://github.com/openclaw/openclaw/pull/151597) — [@obviyus](https://github.com/obviyus).
- 保持模型发现失败、重试并保存错误可见 [#153703](https://github.com/openclaw/openclaw/pull/153703) — [@obviyus](https://github.com/obviyus).
- 使用范围恢复指南解释模型发现期间的 OAuth 故障 [#139079](https://github.com/openclaw/openclaw/pull/139079) — [@StrajnarFilip](https://github.com/StrajnarFilip)、[@obviyus](https://github.com/obviyus)、 [@jzakirov](https://github.com/jzakirov).
- 在时钟变化时保持模型发现超时稳定 [#155323](https://github.com/openclaw/openclaw/pull/155323) — [@masatohoshino](https://github.com/masatohoshino)、[@obviyus](https://github.com/obviyus).
**限制和兼容性**
- 显示发现的模型超出旧保存的提供商列表 [#155420](https://github.com/openclaw/openclaw/pull/155420) — [@obviyus](https://github.com/obviyus).
重复的模型和身份验证刷新避免了整个数据库副本并限制当前发现工作人员创建的临时插件副本。目录准备还可以重用更多现有工作,并在工人闲置时停止定期退休检查。这些目录修复对新开始的工作人员生效,现在刷新后会释放退休的目录注册。较旧的暂存目录使用单独的清理路径。
来源和完整变更列表
**改进**
- 停止闲置模型目录工作人员 [#152800](https://github.com/openclaw/openclaw/pull/152800) 中的定期退休轮询。
- 索引配置模型用于重复选择 [#151442](https://github.com/openclaw/openclaw/pull/151442) — [@vincentkoc](https://github.com/vincentkoc).
- 减少重复的提供商目录复制 [#151849](https://github.com/openclaw/openclaw/pull/151849) — [@vincentkoc](https://github.com/vincentkoc).
- 减少模型列表[#155241](https://github.com/openclaw/openclaw/pull/155241)中的策略查找工作。
**错误修复**
- Bound 模型目录临时副本并停止封闭客户端重试循环 [#153038](https://github.com/openclaw/openclaw/pull/153038) — [@mrzeepek](https://github.com/mrzeepek)、[@Conan-Scott](https://github.com/Conan-Scott)、 [@ge0el](https://github.com/ge0el)、[@cnflwzh](https://github.com/cnflwzh)、[@lishewen](https://github.com/lishewen)、[@zl0nline](https://github.com/zl0nline)、[@shakkernerd](https://github.com/shakkernerd)、 [@flyto168](https://github.com/flyto168)、[@msobrosa](https://github.com/msobrosa)、[@islandpreneur007](https://github.com/islandpreneur007)、[@JoPaMu](https://github.com/JoPaMu)、[@safrano9999](https://github.com/safrano9999).
- 在模型目录刷新期间重复使用插件源副本 [#153041](https://github.com/openclaw/openclaw/pull/153041) — [@shakkernerd](https://github.com/shakkernerd)、[@mrzeepek](https://github.com/mrzeepek)、 [@zl0nline](https://github.com/zl0nline).
- 以一致的配置异步准备模型目录[#152142](https://github.com/openclaw/openclaw/pull/152142)。
- 避免在模型刷新期间重复数据库副本 [#153130](https://github.com/openclaw/openclaw/pull/153130) — [@dmlau76](https://github.com/dmlau76)、[@mirasrael](https://github.com/mirasrael)、 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 刷新后释放旧模型目录数据[#154568](https://github.com/openclaw/openclaw/pull/154568)。
OpenClaw 在准备模型凭据时避免更多重复的存储读取、进程启动、文件系统检查和复制,从而允许其他网关工作在异步读取期间继续进行。当相关凭证或所有权发生变化时,重用将失效。由另一个进程更改的凭据最多可能需要 100 毫秒才能通过缓存路径变得可见,而在运行的进程中所做的更改会立即使其失效。
退休的目录工作人员现在等待已开始的 OAuth 刷新以保存替换凭据,而失败的 Gemini 凭据替换将删除其暂存文件并保留以前的凭据以供重试。已经搁浅的登录可能仍需要重新登录。
来源和完整变更列表
**改进**
- 存储模型凭证读取 [#149309](https://github.com/openclaw/openclaw/pull/149309) 期间的 Yield。
- Reduce 网关在并发凭证读取期间暂停 [#152140](https://github.com/openclaw/openclaw/pull/152140)。
- 跨网关轮次重用未更改的身份验证读取 [#152266](https://github.com/openclaw/openclaw/pull/152266)。
- 减少缓存模型验证读取 [#152504](https://github.com/openclaw/openclaw/pull/152504) 期间的复制。
- 在模型回退期间重用身份验证读取器 [#152016](https://github.com/openclaw/openclaw/pull/152016)。
- 减少文件系统对缓存凭证读取的工作 [#152719](https://github.com/openclaw/openclaw/pull/152719)。
- 在模型请求[#152722](https://github.com/openclaw/openclaw/pull/152722)之前避免冗余标头复制。
- 在选型时重用模块加载工作 [#152732](https://github.com/openclaw/openclaw/pull/152732)。
**错误修复**
- Gemini 凭证替换 [#154955](https://github.com/openclaw/openclaw/pull/154955) 失败后清理暂存文件。
- Preserve OAuth 刷新,而目录工作人员退休 [#155369](https://github.com/openclaw/openclaw/pull/155369) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 将已保存的凭证选择范围保留到所选代理 [#155717](https://github.com/openclaw/openclaw/pull/155717)。
当提供商要求速率限制等待时间长于保存的 [ 重试上限 ](/concepts/retry) 时,对话和计划的工作可以更快地到达配置的替代方案。这需要配置模型回退、正上限以及可以安全重放的请求;零禁用上限。尽早切换帐户或模型可以改变成本和答案。在成功完成模型响应后,长任务还会重新获得其短暂中断恢复窗口,同时总体重试和运行限制仍然有效。 [对话压缩](/concepts/model-failover)现在在显式排序和隐式帐户池中保留当前健康的帐户,包括选定的回退;实际故障和首选帐户恢复仍然可以改变它。
符合条件的后台文本请求可以尝试准备好的备份帐户,同时尊重显式帐户密码,并且取消的请求停止等待共享凭据刷新。保存的云故障保留其原因、部分输出和使用情况。当上下文窗口填满时,Claude 还会保留生成的部分回复和最终用法,而无需完成截断的答案。在重试失败的运行之前检查已完成的操作,因为早期的工具操作可能已生效。
来源和完整变更列表
**错误修复**
- 当安全速率限制等待超过保存的上限时使用配置的回退 [#148580](https://github.com/openclaw/openclaw/pull/148580) — [@azuretek](https://github.com/azuretek)、[@altaywtf](https://github.com/altaywtf)、 [@cookywook](https://github.com/cookywook)、[@oldrich333](https://github.com/oldrich333)、[@binchenutrecht](https://github.com/binchenutrecht).
- 成功模型响应 [#151610](https://github.com/openclaw/openclaw/pull/151610) 后更新瞬时重试窗口。
- 使用准备好的备份帐户重试符合条件的后台完成 [#151133](https://github.com/openclaw/openclaw/pull/151133) — [@anyech](https://github.com/anyech)、[@obviyus](https://github.com/obviyus).
- 重叠凭证刷新后重试模型选择 [#152426](https://github.com/openclaw/openclaw/pull/152426)。
- Finish 在共享 OAuth 刷新 [#152664](https://github.com/openclaw/openclaw/pull/152664) 期间取消的请求。
- 保留模型故障原因和云工作线程回退运行时 [#152028](https://github.com/openclaw/openclaw/pull/152028)。
- 在空白预输出错误后达到配置的回退 [#150908](https://github.com/openclaw/openclaw/pull/150908) — [@DonnieFi](https://github.com/DonnieFi)、[@obviyus](https://github.com/obviyus)、 [@dom521](https://github.com/dom521).
- 当其上下文窗口填满[#155029](https://github.com/openclaw/openclaw/pull/155029)时保留Claude回复。
- 通过压缩保持健康的提供者帐户 [#155204](https://github.com/openclaw/openclaw/pull/155204) — [@jason-allen-oneal](https://github.com/jason-allen-oneal)、[@aatreya](https://github.com/aatreya).
- 访问令牌过期后恢复订阅配额 [#155665](https://github.com/openclaw/openclaw/pull/155665)。
预算错误不再仅仅因为计费帮助 URL 包含与限制相关的措辞而触发无效的重试。上游服务器故障也会报告为服务器错误,而不是误导性的超时,而真正的速率限制、定时故障和过载则保留其现有的处理方式。
选择加入的诊断时间表显示模型活动并解释现有的恢复决策。 OpenAI 错位错误也被识别为提供商拒绝而不是格式错误的请求;下面单独的调查结果审核流程决定受支持的对话是否可以继续。
来源和完整变更列表
**错误修复**
- 避免因帮助 URL [#151377](https://github.com/openclaw/openclaw/pull/151377) 导致徒劳的预算错误重试 — [@obviyus](https://github.com/obviyus).
- 区分上游服务器错误和真正的超时 [#141843](https://github.com/openclaw/openclaw/pull/141843) — [@amittell](https://github.com/amittell)、[@obviyus](https://github.com/obviyus)、 [@jnikolaidis](https://github.com/jnikolaidis).
- 准确解释OpenAI不对中拒绝[#154684](https://github.com/openclaw/openclaw/pull/154684) — [@vincentkoc](https://github.com/vincentkoc).
**改进**
- 在诊断时间线中解释模型活动和恢复决策 [#149465](https://github.com/openclaw/openclaw/pull/149465) — [@RomneyDa](https://github.com/RomneyDa)、[@vincentkoc](https://github.com/vincentkoc)、 [@1Vision365-PeterTijsma](https://github.com/1Vision365-PeterTijsma),[@lraesly](https://github.com/lraesly).
当提供商返回错位预防措施时,聊天现在会显示 **审查结果** 并暂停普通发送、对话和排队输入。支持的本机 Codex 和 ChatGPT 响应对话可以提供提供商提供的准确延续信息,供授权操作员确认。仅当提供者接受该请求时,暂停才会清除,并且先前排队的消息仍保留以供单独查看和重试。普通 API-key 回复和隐身对话可以显示调查结果而不提供延续,并且遗漏或不完整的调查结果不能授权它。
该预防措施涉及代理对任务的解释,并不确定用户违反了策略。它不会撤消已完成的操作或自动绕过拒绝。 [模型故障转移指南](/concepts/model-failover)涵盖了限制,包括降级到此功能之前的代码删除暂停和保留消息强制。
来源和完整变更列表
**改进**
- 在继续暂停的聊天之前查看提供商的调查结果 [#155214](https://github.com/openclaw/openclaw/pull/155214)。
兼容的自定义响应端点保留可选的工具输入,托管聊天完成对话保留在工具之后继续所需的加密提供程序状态。合格响应流冲突可以在现有重试限额内恢复,而无需重复之前完成的工具。恢复仅限于尚未暴露失败响应输出的合格已完成响应,并且不包括提供商托管的工具。
显式终端状态现在优先于矛盾的输出限制提示,避免不必要的继续请求,同时保持真实长度恢复可用。
来源和完整变更列表
**错误修复**
- 在声明支持严格字段的自定义响应路由上保留可选工具参数,允许 `strict` 为 false [#151416](https://github.com/openclaw/openclaw/pull/151416)。
- 标准化格式错误的响应工具调用结果 [#151044](https://github.com/openclaw/openclaw/pull/151044) — [@RomneyDa](https://github.com/RomneyDa).
- 通过工具延续保留匹配的提供程序状态 [#150633](https://github.com/openclaw/openclaw/pull/150633) — [@zhangguiping-xydt](https://github.com/zhangguiping-xydt)、[@obviyus](https://github.com/obviyus).
- 恢复合格的响应流冲突,而不重复已完成的操作 [#152947](https://github.com/openclaw/openclaw/pull/152947)。
- Respect 终端输出限制恢复前的响应状态 [#149242](https://github.com/openclaw/openclaw/pull/149242) — [@RomneyDa](https://github.com/RomneyDa).
Gemini 工具请求不再包含可能导致拒绝的内部可选字段元数据。插件作者还在 Gemini 标准化器和不支持的关键字清理器中获得更深入的有限模式支持,避免这两个路径中的递归堆栈溢出,同时仍然拒绝循环对象。
来源和完整变更列表
**错误修复**
- 防止 Gemini 拒绝可选字段元数据 [#151327](https://github.com/openclaw/openclaw/pull/151327) — [@zesming](https://github.com/zesming)、[@Takhoffman](https://github.com/Takhoffman).
- 清理深层嵌套工具架构,无递归堆栈溢出 [#152990](https://github.com/openclaw/openclaw/pull/152990) — [@obviyus](https://github.com/obviyus)、[@hpyhandsome](https://github.com/hpyhandsome)、 [@wangmiao0668000666](https://github.com/wangmiao0668000666).
- 在刷新期间保留提供程序兼容的收集器架构 [#154062](https://github.com/openclaw/openclaw/pull/154062) — [@zyz619963502zyz](https://github.com/zyz619963502zyz)、[@obviyus](https://github.com/obviyus)、 [@flynnmcpoc](https://github.com/flynnmcpoc).
配置的缓存 TTL 修剪现在会删除符合条件的 OpenAI 和 ChatGPT/Codex 路由上过期的工具输出。它仍然是选择加入的,并且自定义代理必须明确支持提示缓存键。准备长对话还可以避免一些重复的请求复制和 Unicode 清理工作,同时保留有效的多语言文本和表情符号。
本机 Ollama 压缩检查现在使用有效的测量提示、输出和缓存令牌计数,当这些计数丢失或无效时,会回退到估计值。
来源和完整变更列表
**改进**
- 当指纹识别长提供者请求 [#151603](https://github.com/openclaw/openclaw/pull/151603) 时减少临时分配。
- 减少 Unicode 文本准备工作 [#151950](https://github.com/openclaw/openclaw/pull/151950)。
**错误修复**
- 在符合条件的 OpenAI 路由上恢复配置的缓存 - TTL 修剪 [e0e6ce7b](https://github.com/openclaw/openclaw/commit/e0e6ce7bab919a9e37079841b6ee399cb90631b8) — [@original4422](https://github.com/original4422).
- 在压缩之前使用测量的 Ollama 上下文计数 [#154819](https://github.com/openclaw/openclaw/pull/154819) — [@xydt-juyaohui](https://github.com/xydt-juyaohui)、[@obviyus](https://github.com/obviyus)、 [@Wildsberg](https://github.com/Wildsberg).
未知的模型成本现在不可用,而不是显示为免费使用,而明确的免费费率和提供商计费的零总额仍然为零。记录的费用保留其请求时定价。插件使用者应处理缺失的可选 `usage.costUsd` 字段。
Codex 使用视图现在将 [Luna Reserve](/plugins/codex-harness#luna-reserve-and-credit-usage) 标记为单独的路由。未使用的储备配额不涵盖普通 Luna 请求,包括快速关闭,普通 Luna 仍可能消耗积分。这可以在不启用保留路由的情况下澄清显示;帐户计数器不是每个请求的计费收据。
来源和完整变更列表
**错误修复**
- 区分不可用模型价格和真正免费使用的[#111175](https://github.com/openclaw/openclaw/pull/111175) — [@xydigit-zt](https://github.com/xydigit-zt)、[@obviyus](https://github.com/obviyus)、 [@dltlaos11](https://github.com/dltlaos11).
**限制和兼容性**
- 在Codex使用显示中单独解释Luna Reserve [#152383](https://github.com/openclaw/openclaw/pull/152383) — [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@saariuslystoned](https://github.com/saariuslystoned).
Claude Code、Codex CLI 和 Gemini CLI 现在支持显式搜索提供程序和禁用搜索设置。符合条件的本机 OpenAI 搜索也通过工具搜索和代码模式保留其选择的路线。即使该提供程序的连接失败,选择托管提供程序也会抑制本机回退,因此失败的连接不会默默地更改您的搜索选择。
来源和完整变更列表
**错误修复**
- 荣誉搜索提供程序并禁用编码 CLI [#154143](https://github.com/openclaw/openclaw/pull/154143) 中的设置。
- 在其选择的提供商路由 [#154084](https://github.com/openclaw/openclaw/pull/154084) 上保留本机搜索。
Deepgram 预先录制的转录现在保留来自后续音频通道的语音,包括第一个轨道无声的录音。它按照提供商的顺序使用每个渠道的最佳替代方案;它不会按时间顺序交错曲目或添加扬声器标签。
来源和完整变更列表
**错误修复**
- 保留后续音频通道中的 Deepgram 转录 [#151343](https://github.com/openclaw/openclaw/pull/151343) — [@leon-sk668](https://github.com/leon-sk668)、[@obviyus](https://github.com/obviyus).
Doctor 可以识别 CLI 媒体工具设置中丢失的命令或参数,转录会在启动这些不完整的命令之前拒绝它们,同时保留模型回退。它提供指导而无需重写您的设置。当未安装 `whisper-cli` 时,音频发现也会跳过 Whisper 模型扫描。
来源和完整变更列表
**改进**
- 跳过 Whisper 模型发现,无需其可执行文件 [#152570](https://github.com/openclaw/openclaw/pull/152570)。
**错误修复**
- 转录前诊断不完整的 CLI 媒体工具 [#151969](https://github.com/openclaw/openclaw/pull/151969) — [@fede-kamel](https://github.com/fede-kamel).
当通过 ChatGPT 登录生成图像失败时,OpenClaw 现在会显示提供商的可用解释或拒绝。有界的、经过净化的诊断有助于解释结果,同时保持提供商的策略和故障规则不变。
来源和完整变更列表
**错误修复**
- 使用提供程序诊断 [26c8cd22](https://github.com/openclaw/openclaw/commit/26c8cd22713ff4318b4567245d5897d56dc20e77) 解释失败的 ChatGPT 图像请求 - [@rondavis007](https://github.com/rondavis007)、[@obviyus](https://github.com/obviyus)(合著者)。
扩展的 [llmman 指南](/providers/llmman) 解释了现有的本地和混合设置、模型名称、凭据和故障排除。它记录了现有的集成,而不是添加新的提供程序或路由功能。
来源和完整变更列表
**文档**
- 展开 llmman 本地和混合推理设置指南 [#139606](https://github.com/openclaw/openclaw/pull/139606) — [@ericcurtin](https://github.com/ericcurtin)、[@sallyom](https://github.com/sallyom).
托管本地模型服务器保留关闭所有权,并等待子输出和终止在替换开始之前解决。不完全关闭仍然是可见的错误,以后的请求可以重新检查,并且 Windows 清理避免向已重用旧进程 ID 的不同进程发出信号。现有的停靠预算和平台限制仍然适用。
来源和完整变更列表
**错误修复**
- 替换前等待本地模型服务清理 [3e68350c](https://github.com/openclaw/openclaw/commit/3e68350c7cd4c6685b779f5e3e1c6847a8c33400) — [@steipete](https://github.com/steipete).
- 通过关闭和更换[#154133](https://github.com/openclaw/openclaw/pull/154133)保留本地模型服务器所有权。
- 保留 Windows 关闭进程身份并限定 Apple CI 工具链 [#154332](https://github.com/openclaw/openclaw/pull/154332)。
xAI 设备登录现在会拒绝格式错误的令牌响应字节,然后再将其保存为损坏的凭据。在替换存储的凭据之前也会验证成功的令牌刷新响应,因此格式错误的响应会使旧的本地凭据完好无损。提供商端令牌轮换仍可能需要再次登录,并且不会追溯修复现有损坏的凭据。
来源和完整变更列表
**错误修复**
- 在保存 [#111737](https://github.com/openclaw/openclaw/pull/111737) 之前拒绝格式错误的 xAI 设备登录凭据 — [@zengwen-dt](https://github.com/zengwen-dt)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 拒绝损坏的 xAI 刷新响应而不覆盖本地凭据 [2e9e7430](https://github.com/openclaw/openclaw/commit/2e9e7430449a8c1cf1c8d07c69e5a7039be292b1) — [@masatohoshino](https://github.com/masatohoshino)、[@Takhoffman](https://github.com/Takhoffman).
Codex 帐户状态现在可识别所选连接并报告已删除配置文件自身的错误,而不是将另一个订阅显示为活动状态。凭证导入在检查前请求同意,升级指南将丢失的本地配置文件与提供商身份验证失败区分开来。遵循特定于代理和配置文件的恢复指南,并使用未经过滤的身份验证列表验证结果;凭据不会自动导入。 [迁移指南](/cli/migrate)还解释了秘密检查何时仍可以提示钥匙串访问。入门引导现在会在审核和应用之前解释导入范围,包括排除会话和聊天历史记录、凭据需要单独同意以及配置和挂钩需要手动审核。
受监督轮流保留其 [ 本地 Codex 配置和登录 ](/plugins/codex-harness/native-features)。共享的 Codex 守护进程仍然在聊天之间共享其登录信息,没有每个聊天帐户隔离或回退到 OpenClaw 凭据。更改的策略可能需要重新连接或重试。
来源和完整变更列表
**错误修复**
- 更正Codex控制权限、节点清理和活动帐户报告[#151728](https://github.com/openclaw/openclaw/pull/151728)。
- 显示所选 Codex 帐户 [#151831](https://github.com/openclaw/openclaw/pull/151831) 的错误。
- 保留Codex身份验证选择和迁移同意,直接导入`allowKeychainPrompt=false`,跳过所有凭证检查,包括文件[#151761](https://github.com/openclaw/openclaw/pull/151761)。
- 解释升级后缺少的 Codex 配置文件,没有错误的 HTTP 401 错误 [#153051](https://github.com/openclaw/openclaw/pull/153051) — [@msobrosa](https://github.com/msobrosa), [@kpwillis](https://github.com/kpwillis).
- 跨受监督回合保留本地 Codex 设置 [#151001](https://github.com/openclaw/openclaw/pull/151001) — [@galiniliev](https://github.com/galiniliev)、[@iXandru](https://github.com/iXandru).
**文档**
- 在入门引导审查前解释 Codex 导入范围 [#151383](https://github.com/openclaw/openclaw/pull/151383) — [@RomneyDa](https://github.com/RomneyDa).
计划的 Codex 应用程序调用保留创建计划时捕获的关联帐户审批要求以及当前策略。插件安装会刷新共享信息,而不将另一个对话的准备情况视为应用程序在此对话中可用的证据,并在另一个连接的客户端实际回答它们时提示关闭。缺少配置的插件不再限制其他符合条件的连接应用程序,而管理员禁用的现有插件仍保留其限制。较旧的自定义运行时在安装后可能需要 `/new` 或 `/reset`。
来源和完整变更列表
**错误修复**
- 保留计划的 Codex 应用程序批准并刷新插件状态 [#151757](https://github.com/openclaw/openclaw/pull/151757)。
- 在配置的插件丢失时保持连接 Codex 应用程序可用 [#150255](https://github.com/openclaw/openclaw/pull/150255) — [@sjf-oa](https://github.com/sjf-oa)、[@sjf](https://github.com/sjf).
- 驳回由另一个客户端 [#151381](https://github.com/openclaw/openclaw/pull/151381) 解析的 Codex 请求。
Codex 轮流可以在缓慢的进程注册读取后启动,并在 OpenClaw 重新启动后从已退出进程的陈旧记录中恢复。有效的本机配置表单和托管 Bun 启动检查也会收到预期的处理。已验证的设置需要本地本机可执行文件或官方 npm 启动器,因此应用程序服务器代理不能替代该设置路径。持续的进程恢复失败仍然需要检查,而不是手动删除记录。
来源和完整变更列表
**错误修复**
- 纠正Codex TOML解析并管理Bun启动验证[#151686](https://github.com/openclaw/openclaw/pull/151686)。
- Start Codex在慢速注册读取[#153282](https://github.com/openclaw/openclaw/pull/153282)后转向。
- 恢复 Codex 被过时进程记录 [#153454](https://github.com/openclaw/openclaw/pull/153454) 阻止。
- 在打开 Codex 运行时工件 [#154394](https://github.com/openclaw/openclaw/pull/154394) 时荣誉取消。
- 拒绝过时的 Codex 回合选择 [#155817](https://github.com/openclaw/openclaw/pull/155817) — [@shakkernerd](https://github.com/shakkernerd).
合格的本地、代理范围的 Codex 背景标题和叙述可以在经过验证的隔离环境中通过管理员挂钩运行。模型可调用工具、应用程序和 MCP 在那里仍然不可用,并且不受支持的启动器可能需要直接可执行的包装器。可选的最终确定还可以选择沉默,而不会生成丢失摘要的后备,同时所需的答复和失败报告保持不变。
来源和完整变更列表
**错误修复**
- 使用管理员挂钩 [#151658](https://github.com/openclaw/openclaw/pull/151658) 恢复隔离的 Codex 后台完成。
- 尊重可选的Codex最终确定静音[#151951](https://github.com/openclaw/openclaw/pull/151951) — [@vincentkoc](https://github.com/vincentkoc).
即使源文件更改或消失,恢复的 Codex 会话也会保留其捕获的继承的 `AGENTS.md` 指令;启动一个新会话以加载编辑后的指令。符合条件的[`/btw`附带问题](/tools/btw)重新获得继承的shell工具,并取消解决附带问题的本机后台终端或停止时的报告无法确认。主对话终端和 OpenClaw 后台作业保持其现有的生命周期。
来源和完整变更列表
**错误修复**
- 保留Codex工作区快照、延迟提示保存期间的完成以及附带问题清理,同时尊重明确的推理和允许的空后台回复[#151753](https://github.com/openclaw/openclaw/pull/151753)。
当系统时钟向后移动时,Codex 远程文件和附件传输会保留其现有的运行时间预算,从而防止时钟校正延长等待时间。现有的大小、路径和取消限制仍然有效。
来源和完整变更列表
**错误修复**
- 在时钟校正后保留 Codex 远程传输超时 [#155603](https://github.com/openclaw/openclaw/pull/155603) — [@SunnyShu0925](https://github.com/SunnyShu0925)、[@obviyus](https://github.com/obviyus).
委托的 Codex 工作现在从本机完成事件或恢复的历史记录中完成,防止家长评论被误认为孩子的完成结果。家长可以在提交已完成的作业后继续,符合条件的保存结果可以恢复丢失的最终摘要,而无需重复已完成的操作。回复处理还可以区分已发送、已排队和失败的输出,同时保留未发送的图像和最终文本。
自动批准仍然仅限于一次执行,持久信任需要明确的选择,空批准表格需要允许或拒绝。恢复保留了先前工具效果的证据,但不确定的部分媒体传送仍然需要检查到达的内容。更新的 Codex 和 Copilot 插件需要匹配的核心 SDK 才能进行委托结果修复。
来源和完整变更列表
**改进**
- 在harness恢复期间仅复制匹配的任务历史记录 [#152790](https://github.com/openclaw/openclaw/pull/152790) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
**错误修复**
- 使用本机 Codex 事件进行子完成 [#151680](https://github.com/openclaw/openclaw/pull/151680)。
- 后台工作完成后恢复 Codex 摘要 [#153538](https://github.com/openclaw/openclaw/pull/153538)。
- 保存Codex交付凭证、图片回复及审批范围[#151863](https://github.com/openclaw/openclaw/pull/151863)。
- 保留多行Codex输出,而不重复解析停顿[#151399](https://github.com/openclaw/openclaw/pull/151399)。
- 拒绝格式错误和非终结的 Codex 完成事件 [#151373](https://github.com/openclaw/openclaw/pull/151373)。
- 在 Codex 重试决策 [#151371](https://github.com/openclaw/openclaw/pull/151371) 中保留后台工具效果。
- 在 Codex 父级生成 [#152172](https://github.com/openclaw/openclaw/pull/152172) 后传递委托结果。
- 恢复插件工作历史访问并避免更新清理循环 [#153772](https://github.com/openclaw/openclaw/pull/153772) — [@lidashi1025](https://github.com/lidashi1025).
- 避免网关在 Codex 进程注册和清理期间暂停,更新的插件需要支持异步进程存储的主机 [#152820](https://github.com/openclaw/openclaw/pull/152820) — [@fuller-stack-dev](https://github.com/fuller-stack-dev).
[Codex 对话](/plugins/codex-supervision) 保留其选择的物理源,停止和转向到达活动转弯,完成的叉子保留其结果。压缩等待确认,在运行时策略允许时可以分叉有效的保留文本跨度,并且在重新打开对话时可以用显式遗漏通知替换过大的工具结果而不更改其完整记录。新的发件人属性消息还保留分支所需的提交文本;旧的不匹配的转录本不会被重写。最近的助理解释在线程轮换中幸存下来,并且成功的倒带或分支切换会退出陈旧的本机上下文,因此下一轮将遵循所选的历史记录。
没有保存源的较旧采用的聊天会保留其历史记录,但需要重新采用到新聊天中。固定聊天需要恢复其原始来源,或单独采用替代来源。较旧的节点需要更新和刷新的功能批准才能继续,本机终端或配对节点 CLI 恢复需要本地 stdio 源。归档父级可以保护活动的后代,同时所需的请求和工具参数必须仍然符合历史限制。需要沙箱的会话不能使用仅主机分叉,并且倒带或切换分支可以减少提示缓存重用,而不会擦除提供者端历史记录。
来源和完整变更列表
**错误修复**
- 保留Codex历史记录并等待确认完成[#151700](https://github.com/openclaw/openclaw/pull/151700)。
- 修复Codex在发送者归因的消息[#153552](https://github.com/openclaw/openclaw/pull/153552)之后分叉。
- 从超大工具输出中恢复 Codex 上下文 [#153854](https://github.com/openclaw/openclaw/pull/153854) — [@vincentkoc](https://github.com/vincentkoc).
- 在线程轮换后保留最近的 Codex 答案 [#155127](https://github.com/openclaw/openclaw/pull/155127) — [@VACInc](https://github.com/VACInc).
- 在倒带和分支切换 [#155207](https://github.com/openclaw/openclaw/pull/155207) 后重置 Codex 上下文。
**限制和兼容性**
- 将 Codex 聊天和控件附加到其选定的源 [#151854](https://github.com/openclaw/openclaw/pull/151854)。
长期可用的 Codex 工具响应现在在重新加载后仍然保存,并通过 **显示完整输出**、复制和下载提供原始捕获文本的检查和导出。识别的本机代码模式结果还可以获得可读的命令和文本显示,以及可扩展的源和原始详细信息,而未知或不完整的结果则保持其原始表示形式,并且失败的退出状态保持可见。 [ 输出指南](/plugins/codex-harness/runtime-behavior#inspecting-tool-output) 解释了执行输出和提供者响应之间的区别。旧的废弃文本无法恢复,并且编辑、提供程序截断和传输限制仍然适用,包括每个文本字段所请求的最大 200 万个字符。这两种视图都无法准确证明 Codex 后来发送给其模型的内容。
来源和完整变更列表
**错误修复**
- 保留长Codex工具响应以用于检查和导出[#153542](https://github.com/openclaw/openclaw/pull/153542)。
- 使保存的本机代码模式结果可读,同时保留原始输出 [#155532](https://github.com/openclaw/openclaw/pull/155532)。
交互式 Codex 沙箱命令现在接收真实终端,Ctrl-C 到达交互式和非交互式命令,退出结果可识别所请求的进程。如果允许命令执行但拒绝进程管理,则允许的命令可以在前台完成,而后台继续和显式排除的 shell 工具仍然不可用。运行 Bun 的 POSIX 安装需要终端助手的真正 Node 运行时。清理会保留拥有的资源,直到工作解决,包括取消的准备情况探测。
借助 OpenClaw 的沙箱执行服务器和保留的沙箱租约,取消轮流现在会停止其自己的进程并允许子工作,同时在同一本机线程中保留独立的后台工作。撤销原始来源仍然可以停止其保留的工作;释放最终租约会清理子进程,而其他本机执行模式则保留线程范围内的清理。
来源和完整变更列表
**错误修复**
- 修复 Codex 沙箱终端、取消和准备清理 [#151764](https://github.com/openclaw/openclaw/pull/151764)。
- 保留允许的 Codex 沙箱命令,无需进程管理 [#152600](https://github.com/openclaw/openclaw/pull/152600)。
- 取消转弯时保留独立的Codex后台工作 [#154188](https://github.com/openclaw/openclaw/pull/154188) — [@shakkernerd](https://github.com/shakkernerd).
小型 Codex 目录回复可避免等待解码器工作程序启动,而大型会话列表可减少重复扫描和数据库工作。目录增量刷新,在启动和重新连接时进行完全协调;旧会话中的安静编辑或删除可能会等待成功的十五分钟安全周期。大型目录解析移出网关的主线程,重新创建的连接会抑制未使用的通知流量,从而在不更改模型生成的情况下减少重复处理。
渐进式本地列表可以在缓慢发现继续的同时显示保留的行或加载状态,并且响应式提供程序可以与较慢的提供程序一起继续进行。永久目录启动失败现在会停止重复重试并识别要修复的可执行文件;之后重新启动,因为配置重新加载并不能清除该故障。
来源和完整变更列表
**改进**
- 列出 Codex 会话 [#151979](https://github.com/openclaw/openclaw/pull/151979) 时减少数据库工作。
- 在目录轮询 [#152712](https://github.com/openclaw/openclaw/pull/152712) 期间重复使用符合条件的 Codex 会话行。
- 减少 Codex 应用程序服务器帧开销 [#152035](https://github.com/openclaw/openclaw/pull/152035)。
- 减少未使用的Codex通知流量[#151998](https://github.com/openclaw/openclaw/pull/151998)。
- 增量刷新 Codex 会话目录 [#152257](https://github.com/openclaw/openclaw/pull/152257)。
- 在网关主线程[#152352](https://github.com/openclaw/openclaw/pull/152352)之外解析大型Codex目录。
- 返回本地 Codex 会话列表,同时发现继续 [#154362](https://github.com/openclaw/openclaw/pull/154362)。
- 减少来自慢速提供商 [#155670](https://github.com/openclaw/openclaw/pull/155670) 的会话列表延迟。
**错误修复**
- 解码小 Codex 目录回复,没有工作器启动延迟 [#152647](https://github.com/openclaw/openclaw/pull/152647)。
- Stop Codex 永久启动失败后目录重试 [#154489](https://github.com/openclaw/openclaw/pull/154489) — [@cloudgg82-blip](https://github.com/cloudgg82-blip).
新的 Codex 聊天、委派工作和 HTTP 后备请求可以开始,同时十六个早期响应仍在传输。中继将准备和上传请求与保持其响应打开分开,让短突发等待容量,并仅回收已完成的空闲连接。主动响应和新打开的 WebSockets 等待其第一个请求仍然受到保护。
容量仍然有限,有十六个准备或上传加上十六个等待,与八十个常驻 HTTP 操作或 WebSocket 连接以及用于待处理或结束工作的额外空间分开。传输限制仍然适用,持续的过载可能会耗尽重试次数。 HTTP 连接在每次响应后关闭,本机 HTTP 重试重新连接,同时仍支持 WebSocket 重用。有关详细限制,请参阅 [Codex 运行时行为](/plugins/codex-harness/runtime-behavior)。
来源和完整变更列表
**错误修复**
- 保持空闲 Codex 连接不阻止新会话 [#154852](https://github.com/openclaw/openclaw/pull/154852) — [@vincentkoc](https://github.com/vincentkoc).
- 让Codex请求突发等待可用容量[#154945](https://github.com/openclaw/openclaw/pull/154945) — [@vincentkoc](https://github.com/vincentkoc).
- 保持新的 Codex 工作继续进行,同时早期响应流 [#155090](https://github.com/openclaw/openclaw/pull/155090) — [@vincentkoc](https://github.com/vincentkoc).
## 自动化和调度
计划的工作更容易运行、遵循和返回,正在执行的工作、已完成的工作和仍在等待通知您的结果之间有更清晰的区别。
您可以使用**立即运行**在“代理”面板中暂停自动化而不启用其计划。未来**一次**即使有,作业也会保留其已保存的事件**运行后删除**启用,包括手动运行等待超过该日期或OpenClaw重新启动。重新启用会使保留的事件再次可用,而真正的计划编辑仍然有效,并且不会恢复已删除的作业。[管理自动化](/automation/cron-jobs/managing-jobs)解释控件和运行历史记录。
接受的手动运行可以在调用工具或本机代理回复完成后开始,而无需在整个作业中保持该回复处于打开状态,并且现在会在保存的运行收据之后进行确认。取消、清除队列和撤回权限仍然会阻止激活。如果 OpenClaw 在发送前崩溃,则中断的收货将保留用于诊断,而不会自动重播运行。
来源和完整变更列表
**错误修复**
- Run 从代理面板 [#129310](https://github.com/openclaw/openclaw/pull/129310) 暂停自动化一次。
- 立即运行后暂停未来的一次性自动化;降级到旧代码可能会失去此保护 [#152126](https://github.com/openclaw/openclaw/pull/152126)。
- 让排队的手动自动化在工具完成后启动 [#153865](https://github.com/openclaw/openclaw/pull/153865) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在确认之前记录手动自动化运行;预调度中断保留在数据库收据中,可能不会出现在任务支持的运行历史记录中 [#153360](https://github.com/openclaw/openclaw/pull/153360) — 感谢 [@obviyus](https://github.com/obviyus).
- 让接受的排队自动化在代理回复 [#154320](https://github.com/openclaw/openclaw/pull/154320) 后启动。
[计划作业](/automation/cron-jobs/how-it-works) 在创建它们的会话轮结束后保留自己的执行和结果保存生命周期。他们的命令启动器在后台切换后仍然可用,并且在委派工作或其交付等待期间,父级对话仍然可用。取消作业或撤回消息权限会停止以后的消息操作,同时保留已接受的交付记录。
计划网关工具必须在拥有该作业的网关上运行。重新运行之前,请从同一主机模板中删除 `gatewayUrl` 和 `gatewayToken`。取消无法召回已经提交给提供者的效果。
来源和完整变更列表
**错误修复**
- 在创建轮次 [#151919](https://github.com/openclaw/openclaw/pull/151919) 后保持计划工作和委派结果处于活动状态。
- 保持完整的计划作业生命周期独立于创建请求 [#152051](https://github.com/openclaw/openclaw/pull/152051)。
- 保留用于计划命令的网关启动器 [#152451](https://github.com/openclaw/openclaw/pull/152451)。
- 取消挂起的回调工作,同时保留所需的完成 [#151214](https://github.com/openclaw/openclaw/pull/151214)。
**安全信任**
- 取消或撤销权限后停止新的计划消息操作 [10169f04](https://github.com/openclaw/openclaw/commit/10169f0489e4f31e3af6ae4e3a48252f3c739095) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
远程管理员可以在现有权限下在新的聊天回合中创建重复的自动化,包括附加到当前对话的作业。 WebChat 还可以使用 `announce` 或省略的传递设置创建回该对话的公告。新的创建权限不会转移到管理延续或授予对主机、提供程序或其他 MCP 工具的访问权限,并且显式 `delivery.channel=webchat` 仍然无效。
即使结果传送被禁用或转到另一个渠道,通过私信创建的作业也可以使用其记录的创建者帐户。仍必须配置帐户并且记录的来源有效,并保留现有的工具限制。
来源和完整变更列表
**错误修复**
- 为远程管理员恢复范围自动化创建 [#151291](https://github.com/openclaw/openclaw/pull/151291) — 感谢 [@jalehman](https://github.com/jalehman).
- 从 WebChat [#152960](https://github.com/openclaw/openclaw/pull/152960) 创建当前会话公告。
- Run DM-创建了独立于结果交付路由的自动化 [#155426](https://github.com/openclaw/openclaw/pull/155426) — 感谢 [@obviyus](https://github.com/obviyus)、[@jiangwanxin1982-ctrl](https://github.com/jiangwanxin1982-ctrl)、 [@davidcittadini](https://github.com/davidcittadini),[@ndakota79](https://github.com/ndakota79).
创建或编辑自动化会在 shell 命令中保留有意义的空格,并且无效的 cron 交错值在部分更改作业之前会被拒绝。键盘焦点在编辑器的粘性保存控件上方保持可见,延迟操作反馈为您所执行的作业命名,超时错误正确地解释了零会禁用该特定超时。其他执行限制仍然适用。
如果较旧的保存修剪了命令,请重新应用原始命令来修复它。从脚本创建作业时,省略工作目录标志以使用默认值而不是传递空字符串。
来源和完整变更列表
**改进**
- 避免显式修订 cron 临时写入 [#153941](https://github.com/openclaw/openclaw/pull/153941) 的冗余读取。
- 减少 cron 草稿记录写入 [#154337](https://github.com/openclaw/openclaw/pull/154337) 的数据库工作。
**错误修复**
- 在自动化 shell 命令中保留有意义的空格 [#150071](https://github.com/openclaw/openclaw/pull/150071) — 感谢 [@zhangguiping-xydt](https://github.com/zhangguiping-xydt)、[@obviyus](https://github.com/obviyus).
- 在更改作业之前拒绝无效的 cron 交错值 [#151740](https://github.com/openclaw/openclaw/pull/151740) — 感谢 [@alix-007](https://github.com/alix-007)、[@aniruddhaadak80](https://github.com/aniruddhaadak80)、 [@obviyus](https://github.com/obviyus).
- 保持自动化表单键盘焦点免受粘滞操作[#152135](https://github.com/openclaw/openclaw/pull/152135)。
- 解释自动化错误中现有的零超时选项[#152814](https://github.com/openclaw/openclaw/pull/152814) - 感谢[@kriswuli006](https://github.com/kriswuli006),[@aniruddhaadak80](https://github.com/aniruddhaadak80), [@obviyus](https://github.com/obviyus).
- 识别延迟动作反馈[#150203](https://github.com/openclaw/openclaw/pull/150203)背后的自动化。
**限制和兼容性**
- 创建自动化 [#129714](https://github.com/openclaw/openclaw/pull/129714) 时拒绝空白工作目录参数。
当执行成功但整体完成失败或仍然不确定时,运行历史记录现在显示 **OK · Error** 或 **OK · Unknown**。这些运行仍然显示在 **OK** 执行过滤器下,因此在检查报告是否到达您时,交付详细信息很重要。确认的最终交付可以防止稍后的工具错误将已完成的报告变成错误的失败,而仅进度消息不计为最终交付。持久会话中重复失败的运行也会保留其原始错误以供诊断。
否则,即使配置了公告目标,在没有任何可报告的情况时,成功的计划作业也可以安静地完成,而无需恢复回复或丢失摘要占位符。直接的用户消息仍然需要回复,而真正的执行、取消、子切换或传递失败仍然是失败。历史记录还区分加载和失败的请求与已确认的空结果,当请求失败时,可以使用 **Retry**。
来源和完整变更列表
**改进**
- 避免对已删除的自动化 [#152492](https://github.com/openclaw/openclaw/pull/152492) 进行重复的保留历史读取。
- 将只读 Cron 检查移至后台工作人员 [#152500](https://github.com/openclaw/openclaw/pull/152500)。
- 在停止和重新启动期间保留 Cron 恢复历史记录 [#153158](https://github.com/openclaw/openclaw/pull/153158)。
- 避免 cron 事件后重建不相关的会话 [#151279](https://github.com/openclaw/openclaw/pull/151279) — 感谢 [@jalehman](https://github.com/jalehman).
- 减少 cron 清理中的任务有效负载复制 [#154174](https://github.com/openclaw/openclaw/pull/154174)。
- 跳过空闲自动化刻度上的冗余计划检查 [#150277](https://github.com/openclaw/openclaw/pull/150277) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少繁忙 cron 流 [#151956](https://github.com/openclaw/openclaw/pull/151956) 的计时器分配。
**错误修复**
- 在计划作业历史记录 [#129396](https://github.com/openclaw/openclaw/pull/129396) 中暴露失败或不确定完成。
- 避免在发送计划报告后出现错误 [#152165](https://github.com/openclaw/openclaw/pull/152165) — 感谢 [@pash-openai](https://github.com/pash-openai).
- 保留持久会话中重复自动化运行的错误 [#150315](https://github.com/openclaw/openclaw/pull/150315) — 感谢 [@jalehman](https://github.com/jalehman)、[@dazlarus](https://github.com/dazlarus).
- 将通知传送记录附加到正确的任务[#151815](https://github.com/openclaw/openclaw/pull/151815)。
- 在没有什么可报告的情况下让计划的作业安静地完成 [#154533](https://github.com/openclaw/openclaw/pull/154533) — 感谢 [@obviyus](https://github.com/obviyus).
- 抑制计划运行的缺失摘要占位符公告 [#154930](https://github.com/openclaw/openclaw/pull/154930) — 感谢 [@vacinc](https://github.com/vacinc).
- 区分不可用的自动化历史记录和空结果[#154871](https://github.com/openclaw/openclaw/pull/154871)。
- 包含延迟任务通知传送失败 [#155233](https://github.com/openclaw/openclaw/pull/155233) — 感谢 [@jacobtomlinson](https://github.com/jacobtomlinson).
过期的 [ 心跳检查 ](/gateway/heartbeat) 不再阻碍调度程序启动或重新加载,并且它们的结果可以等待繁忙的存储,而不会阻塞不相关的工作。成功或跳过的代理不再在组合心跳结果中隐藏另一个代理的失败。当启用自动唤醒时,后台命令结果还可以在无关会话繁忙时到达其空闲的发起会话。目标会话中的活动或挂起的恢复仍然可以推迟传递,并且子代理会话仍然被排除在自动唤醒之外。
如果准备尚未开始,没有排队事件或任务的例行心跳检查现在会跳过繁忙的代理,从而避免错误超时和错误回退。他们的下一个机会是正常的预定时间。手动唤醒、排队工作和已开始的检查保持其重试行为,而实际执行超时仍然是错误。
来源和完整变更列表
**改进**
- 将心跳结果查询移至代理数据库工作线程 [#147463](https://github.com/openclaw/openclaw/pull/147463)。
- 避免在心跳准入期间进行不相关的会话扫描 [#151400](https://github.com/openclaw/openclaw/pull/151400) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少大型代理设置中的心跳成员资格工作 [#151867](https://github.com/openclaw/openclaw/pull/151867) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**错误修复**
- 防止心跳追赶阻止cron启动;处理程序不可用的跳过结果调用用于检查启动和边车错误 [#151319](https://github.com/openclaw/openclaw/pull/151319)。
- 避免在繁忙的 SQLite 工作人员后面阻塞心跳写入 [#152763](https://github.com/openclaw/openclaw/pull/152763) — 感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@smfworks](https://github.com/smfworks).
- 在心跳广播结果中保留单个代理故障 [#129648](https://github.com/openclaw/openclaw/pull/129648)。
- 显示可复制的心跳命令,以将结果保留在内部,同时保留计划的检查 [#153448](https://github.com/openclaw/openclaw/pull/153448) — 感谢 [@alix-007](https://github.com/alix-007)、[@obviyus](https://github.com/obviyus)、 [@tridefender](https://github.com/tridefender).
- 尽管不相关的繁忙会话 [#152287](https://github.com/openclaw/openclaw/pull/152287) 仍交付后台命令结果。
- 在代理忙时跳过未触及的计划心跳检查 [55995369](https://github.com/openclaw/openclaw/commit/55995369eca380466fb87a0f08fba89dee91093b) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
等待委派工作的父母可以在提供程序重试期间恢复,并且旧的待处理结果交付不再阻止现有活动运行限制内的新启动。当控制父级发送普通消息时,使用 `sessions_yield` 暂停的合格本机子级可以继续执行其原始任务,从而允许任务及其聊天活动一起完成。显式后续工作仍然是单独的工作,并在重新启动报告返回 [ 家长指导的延续 ](/tools/subagents/operations) 后打断子级。
排队的子级在启动前被记录,并在接受前进行本机后续操作,而完成通知仍保留到父级轮结束为止。如果后续验收仍处于等待状态,请在重试之前检查返回的运行。通过对话压缩和清理,结果仍然可以访问,并保留现有的访问检查;待处理或失败的保存仍然可见,而不是被视为已交付的结果。完成和取消通知通过延迟存储工作保留其预期目标,并且已接受或不确定的发送不再仅仅因为稍后的保存失败而触发回退。
完成的子结果可以在屈服后到达父级,并且延迟的跨会话回复可以在原始连接结束后恢复请求者。保留的权限上下文在运行的进程内持续存在;重新启动恢复和显式重试需要新承认的权限。稍后的回合会识别较早的待处理子项,而无需重新启动它们,并且会接受匹配的较晚结果,而无需重新发送输入。正在运行的子级继续完成现有的交付,而暂停的子级仍需要通过 `sessions_send` 继续。
来源和完整变更列表
**改进**
- 减少大型历史记录[#152263](https://github.com/openclaw/openclaw/pull/152263)的子代理能力检查工作。
- 为子会话选择显式本地放置 [#153912](https://github.com/openclaw/openclaw/pull/153912) — 感谢 [@galiniliev](https://github.com/galiniliev).
**错误修复**
- 跨提供者重试恢复等待父任务 [#151879](https://github.com/openclaw/openclaw/pull/151879) — 感谢 [@jalehman](https://github.com/jalehman).
- 在重叠结果传递期间保留子代理清理 [#151907](https://github.com/openclaw/openclaw/pull/151907)。
- Unblock 子代理在确认延迟结果交付后启动 [#151949](https://github.com/openclaw/openclaw/pull/151949) — 感谢 [@vacinc](https://github.com/vacinc).
- 保留未交付的结果,阻止新的委派工作 [#152537](https://github.com/openclaw/openclaw/pull/152537) — 感谢 [@damiansmazurek](https://github.com/damiansmazurek).
- 在启动 [#151303](https://github.com/openclaw/openclaw/pull/151303) 之前确认排队的子代理记录。
- 在确认接受之前跟踪儿童后续情况 [#153358](https://github.com/openclaw/openclaw/pull/153358)。
- Preserve允许的会话读取跨后台切换和恢复[#141865](https://github.com/openclaw/openclaw/pull/141865) - 感谢[@takhoffman](https://github.com/takhoffman),[@brokemac79](https://github.com/brokemac79), [@vacinc](https://github.com/vacinc).
- 在普通父延续之后完成合格的本机暂停子任务;自动延续需要记录的任务和存储所有权,而较旧的记录保留显式控制 [#153047](https://github.com/openclaw/openclaw/pull/153047)。
- 通过会话更改保持代理结果可访问 [#151935](https://github.com/openclaw/openclaw/pull/151935)。
- 避免私有子代理超时后错误排出失败 [#153461](https://github.com/openclaw/openclaw/pull/153461)。
- 在父代理仍在运行时保留子代理完成通知 [#152761](https://github.com/openclaw/openclaw/pull/152761) — 感谢 [@pollybot13](https://github.com/pollybot13)、[@shakkernerd](https://github.com/shakkernerd)、 [@bsniznd](https://github.com/bsniznd),[@borclaw](https://github.com/borclaw).
- 成功回退交付后显示直接公告失败 [#125130](https://github.com/openclaw/openclaw/pull/125130) — 感谢 [@vincentkoc](https://github.com/vincentkoc)、[@alix-007](https://github.com/alix-007)、 [@shakkernerd](https://github.com/shakkernerd),[@alexey-pelykh](https://github.com/alexey-pelykh).
- 将当前子代理结果传递给旧的待处理清理 [#153157](https://github.com/openclaw/openclaw/pull/153157)。
- 在代理成功暂停期间抑制过时的工具错误回复 [#153779](https://github.com/openclaw/openclaw/pull/153779) — 感谢 [@vacinc](https://github.com/vacinc).
- 通过代理和对话隔离待处理的系统通知,具有有限的瞬态队列;不明确的多代理 SDK 调用必须提供解析的 `agentId` 或合格的会话密钥 [#151652](https://github.com/openclaw/openclaw/pull/151652)。
- Settle 取消了子代理通知并安静地重复积压警告 [#151569](https://github.com/openclaw/openclaw/pull/151569) — 感谢 [@laurenceputra](https://github.com/laurenceputra).
- 抑制过时的子代理计时警告 [#151275](https://github.com/openclaw/openclaw/pull/151275) — 感谢 [@jalehman](https://github.com/jalehman).
- 生成工具退出后交付子代理完成 [b3d3f860](https://github.com/openclaw/openclaw/commit/b3d3f860e4a1911100a75112dddfa8598a719c07) — 感谢 [@steipete](https://github.com/steipete).
- 在流程维护期间保护未完成的子出版物 [#154698](https://github.com/openclaw/openclaw/pull/154698)。
- 当延迟回复到达时恢复请求会话 [#155151](https://github.com/openclaw/openclaw/pull/155151) — 感谢 [@vacinc](https://github.com/vacinc).
- 识别早期轮次中待处理的子作业 [#155253](https://github.com/openclaw/openclaw/pull/155253) — 感谢 [@vacinc](https://github.com/vacinc).
- 在请求者生成 [#155348](https://github.com/openclaw/openclaw/pull/155348) 后交付完成的子代理结果 — 感谢 [@jalehman](https://github.com/jalehman)、[@borclaw](https://github.com/borclaw).
- 无需重播即可识别延迟恢复的子代理切换结果 [#155357](https://github.com/openclaw/openclaw/pull/155357) — 感谢 [@romneyda](https://github.com/romneyda)、[@vincentkoc](https://github.com/vincentkoc)、 [@jalehman](https://github.com/jalehman)、[@borclaw](https://github.com/borclaw)、[@michaeljgood71](https://github.com/michaeljgood71)、[@massad1977](https://github.com/massad1977).
- 通过延迟存储保留任务通知传递并保护新的备份暂存文件 [68b724b3](https://github.com/openclaw/openclaw/commit/68b724b355ee9bf230e28258448c0acc5c5640d0)。
[任务详细信息](/automation/tasks)显示包含敏感值的完整命令输入,并区分实时**Running**、**Queued**、等待和**Finished**执行从保存的任务记录中。安静的后台命令仍然可以显示为正在运行,而延迟的活动不再使已完成的工作看起来处于活动状态。 **Finished** 描述了执行,因此成功和待处理的结果交付仍然是单独的事实,并且不可用的活动本身并不意味着失败。
故障通知提供简洁的预览,并通过 `tasks show` 提供完整的诊断,并且不可读的任务元数据会产生明确的错误,而不是错误的空列表。之前被截断的命令输入无法重建,并且命令输出仍然受到限制。
来源和完整变更列表
**改进**
- 减少后台作业状态读取中的重复工作 [#150299](https://github.com/openclaw/openclaw/pull/150299) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 避免对排队和已完成的任务摘要进行执行查找 [#151585](https://github.com/openclaw/openclaw/pull/151585) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 避免瞬态流事件的任务存储协调 [#152088](https://github.com/openclaw/openclaw/pull/152088)。
- Skip 已过滤的 JSON 中排除的任务副本列出 [#152440](https://github.com/openclaw/openclaw/pull/152440)。
- 检查会话的最新任务 [#152731](https://github.com/openclaw/openclaw/pull/152731) 时减少复制。
- 列出代理任务时仅复制匹配的记录 [#150297](https://github.com/openclaw/openclaw/pull/150297) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**错误修复**
- 区分活动子代理和保留的任务记录 [#152514](https://github.com/openclaw/openclaw/pull/152514) — 感谢 [@obviyus](https://github.com/obviyus)、[@samiralibabic](https://github.com/samiralibabic)、 [@dankarization](https://github.com/dankarization).
- 将实时 CLI 任务显示为正在运行或已排队 [#152329](https://github.com/openclaw/openclaw/pull/152329)。
- 显示完整命令和实时后台进程状态[#152333](https://github.com/openclaw/openclaw/pull/152333)。
- 在延迟活动 [#152367](https://github.com/openclaw/openclaw/pull/152367) 后正确显示已完成的任务。
- 保持完成的任务执行,避免短暂出现的未知[#152951](https://github.com/openclaw/openclaw/pull/152951)。
- Bound 后台任务失败预览而不丢失诊断 [#151120](https://github.com/openclaw/openclaw/pull/151120) — 感谢 [@bartok9](https://github.com/bartok9)、[@obviyus](https://github.com/obviyus)、 [@jackten](https://github.com/jackten).
- 报告不可读的任务元数据而不是空列表[#151310](https://github.com/openclaw/openclaw/pull/151310)。
- 报告不可用的任务元数据并隔离受影响的交付预览 [#152180](https://github.com/openclaw/openclaw/pull/152180)。
- 在不相关的任务更新期间保持媒体任务上下文可用 [#153612](https://github.com/openclaw/openclaw/pull/153612)。
- 共享并发任务上下文刷新[#153361](https://github.com/openclaw/openclaw/pull/153361)。
- 尽管有重叠的元数据更新,仍返回已完成的任务 [#153371](https://github.com/openclaw/openclaw/pull/153371)。
- 当任务列表重试时避免不必要的暂停 [#153328](https://github.com/openclaw/openclaw/pull/153328)。
- 避免对单个任务读取 [#153394](https://github.com/openclaw/openclaw/pull/153394) 进行完整历史记录扫描。
- 保持任务状态读取阻止其他网关请求 [#149738](https://github.com/openclaw/openclaw/pull/149738)。
- 保持任务工件请求不阻塞网关 [#149852](https://github.com/openclaw/openclaw/pull/149852)。
- 更新后保持任务运行查找一致 [#153397](https://github.com/openclaw/openclaw/pull/153397)。
- 在完成更新期间保持任务列表可读 [#153939](https://github.com/openclaw/openclaw/pull/153939)。
- Respect 在清理期间刷新了任务保留 [#151578](https://github.com/openclaw/openclaw/pull/151578)。
- 通过不变的后台更新保持任务页面有效[#154791](https://github.com/openclaw/openclaw/pull/154791)。
- 在不相关的聊天活动期间保持任务分页可用 [#155542](https://github.com/openclaw/openclaw/pull/155542)。
任务跟踪、维护和流程报告减少了重复的存储工作,同时保留了最新的进度、删除、交付详细信息和最新结果。维护可以围绕未解决的任务继续进行,即使后台工作人员的回复延迟,恢复或重试的工作流程也会显示其已提交的状态。大型任务流也可以进入等待状态,而不会出现冗余结果副本耗尽工作人员内存的情况。单个请求仍然可以等待存储,排队的事件只有在保存后才变得持久。
历史任务标识符修复在普通运行时使用之前属于[Doctor](/gateway/doctor/state-and-sessions)。正常的 `openclaw update` 路径运行它,并且支持的容器升级超过保留状态可以在启动期间自动运行独占的 Doctor 维护。保留匹配的数据库备份以供回滚。当需要离线修复时,停止写入程序并在重新启动之前针对相同状态运行 `openclaw doctor --fix`。不明确的标识符会产生警告并使修复保持不变,并且不安全的所需状态仍然拒绝在修复指导下启动。
来源和完整变更列表
**改进**
- 通过运行或子会话查找后台任务,无需扫描历史记录 [#153467](https://github.com/openclaw/openclaw/pull/153467)。
- 将待处理任务刷新合并到一个数据库中,读取 [#153560](https://github.com/openclaw/openclaw/pull/153560)。
- 并发更新期间批量任务列表刷新 [#153737](https://github.com/openclaw/openclaw/pull/153737)。
- 避免对接受的代理事件 [#153786](https://github.com/openclaw/openclaw/pull/153786) 进行冗余任务状态读取。
- Move执行跟踪注销任务启动线程[#153649](https://github.com/openclaw/openclaw/pull/153649)。
- 将挂起的任务流刷新限制为选定的记录 [#153806](https://github.com/openclaw/openclaw/pull/153806)。
- 避免重复任务读取流程报告[#152857](https://github.com/openclaw/openclaw/pull/152857)。
- 将活动任务完成持久性移出网关线程 [#151685](https://github.com/openclaw/openclaw/pull/151685)。
- 在等待选定任务时减少无关工作 [#154575](https://github.com/openclaw/openclaw/pull/154575)。
- 减少会话更新后的任务维护工作[#154657](https://github.com/openclaw/openclaw/pull/154657)。
- 将缓存的子代理状态读取限制到请求的会话 [#155299](https://github.com/openclaw/openclaw/pull/155299)。
- 在保存 [#155439](https://github.com/openclaw/openclaw/pull/155439) 之前,避免捕获的子代理有效负载的重复副本。
**错误修复**
- 在数据库争用期间保持任务活动响应 [#152655](https://github.com/openclaw/openclaw/pull/152655)。
- 保持任务维护响应,同时更新解决[#153634](https://github.com/openclaw/openclaw/pull/153634)。
- 通过清理[#151309](https://github.com/openclaw/openclaw/pull/151309)保持延迟的工作流同步最新。
- 将初始任务持久性移出网关线程 [#151634](https://github.com/openclaw/openclaw/pull/151634)。
- 在生命周期回调期间保留当前任务元数据 [#151454](https://github.com/openclaw/openclaw/pull/151454)。
- 使并发托管任务更新保持最新并正确排序 [#151590](https://github.com/openclaw/openclaw/pull/151590)。
- 将恢复的任务流状态保持为当前 [#153852](https://github.com/openclaw/openclaw/pull/153852)。
- 在持续元数据更新期间保持任务列表可用 [#153926](https://github.com/openclaw/openclaw/pull/153926)。
- 保留任务列表重试,避免等待稍后的活动 [#154338](https://github.com/openclaw/openclaw/pull/154338)。
- 在健康运行期间保持 cron 作业列表响应 [#154421](https://github.com/openclaw/openclaw/pull/154421)。
- 避免在计划运行之前进行完整会话扫描 [#154689](https://github.com/openclaw/openclaw/pull/154689)。
- 避免在会话和任务读取期间重复子代理注册表扫描 [#154727](https://github.com/openclaw/openclaw/pull/154727)。
- 保存大型等待任务流时避免冗余副本 [#154972](https://github.com/openclaw/openclaw/pull/154972)。
- 避免针对未更改的尝试活动进行冗余任务状态写入 [#155745](https://github.com/openclaw/openclaw/pull/155745) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
## 浏览器和计算机使用
OpenClaw 可以将应用程序保留在您的对话旁边,显示更多类型的云桌面,并使浏览器工作更容易检查。
要求客服人员在 Crabbox 中打开一个应用程序并将其显示在您的聊天旁边,然后在以后的轮次中继续使用同一台计算机。 [附加应用程序](/gateway/cloud-workers/desktop#ask-the-agent-to-open-an-app)需要配置的Crabbox配置文件和沙箱外的持久对话。连接的计算机会跳过不必要的代理启动准备,因为代理保留在其原始主机和工作区上。本机 Linux 应用程序还需要支持桌面的配置文件和 Cloud Worker 桌面实验室,而 Web 应用程序在门户中打开。必须明确地在该计算机上复制或准备文件。关闭面板会使应用程序继续运行,因此请保存所需的输出并在完成后停止 Crabbox。
[Remote Portals](/gateway/portals#remote-access) 现在使用其发布的 HTTPS 地址。即使网关使用漏斗,托管 Tailscale 门户仍对您的尾网保持私有,并且需要允许它们单独的端口。可选的通配符代理需要您自己的 DNS、TLS、访问控制和网关重新启动。单独转发网关不会暴露应用程序。将 OpenClaw 及其捆绑提供程序一起升级,并在降级之前停止附件。
来源和完整变更列表
**改进**
- 在当前对话旁边打开 Linux 和 Web 应用程序,并轮流重复使用其附加的 Crabbox。 [#152094](https://github.com/openclaw/openclaw/pull/152094)
**错误修复**
- 通过发布的 HTTPS 路由打开远程门户应用程序,保留应用程序路径、查询和拥有的路由清理。 [#150279](https://github.com/openclaw/openclaw/pull/150279) 谢谢 [@jalehman](https://github.com/jalehman).
- 跳过未使用的附加 Crabbox 启动并执行配置等待。 [#154321](https://github.com/openclaw/openclaw/pull/154321)
**限制和兼容性**
- 手动桌面接管暂停座席输入。交回控制权需要在输入恢复之前重新显示屏幕截图,并且即使其应用程序仍然存在,门户网站也可能需要在网关重新启动后重新打开。
- 浏览器框架和 cookie 规则仍然可以阻止应用程序嵌入。门户和远程桌面浏览器 cookie 保持独立。
- 连接的机器是一次性的,并遵循其配置的使用寿命。关闭视图不会释放计算机或停止其后台应用程序。
- A 响应超时不会取消机器准备。重试之前检查当前状态。普通云工作者轮流仍然准备他们的代理运行时。
[云桌面](/gateway/cloud-workers/desktop#native-desktops)现在支持本机macOS和Windows配置文件,具有适合和实际查看尺寸。首先启用 Cloud Worker Desktop 实验室和支持桌面的配置文件。正确准备的本机桌面还支持计算机控制以及浏览器和终端启动器。本机机器冷启动并且不支持远程显示调整大小。 Mac 设置需要 macOS 15 或更高版本、Chrome、解锁的工作人员帐户、无密码 sudo 以及单独签名的 OpenClaw Cloud Worker 应用程序(具有自己的辅助功能和屏幕录制权限)。 Windows 需要激活其工作帐户桌面并安装 Crabbox 桌面启动器。 WSL2 桌面、Windows 登录和安全 Windows 屏幕仍然不受支持,并且 Mac 配置需要现有的 EC2 Mac 专用主机容量。 Live Mac 桌面验证仍不完整。
在降级到不兼容的版本之前,请停止并释放受影响的环境和对话附件,并等待确认拆除。这包括使用新的固定启动器参数的本机 Mac 和 Windows 环境以及 Linux 环境。关闭查看器或暂停工作人员是不够的。 Linux 云会话还重新获得调整大小的屏幕截图和重新打开浏览器;已经受影响的浏览器需要重新启动或新配置的工作程序。
来源和完整变更列表
**改进**
- 使用特定于平台的身份验证配置和查看本机 macOS 和 Windows 云桌面。 [#152273](https://github.com/openclaw/openclaw/pull/152273)
- Control 准备好原生云桌面并启动其应用程序。 [ff90bc7](https://github.com/openclaw/openclaw/commit/ff90bc7fb2fec40d3e18ca82db1f465913b9d03f) 还可以在传输的 Windows 工作空间中启用长 Git 路径,并在组合编辑器和目标调整大小期间保持聊天跟随对话结束。
**错误修复**
- 在云计算机会话中交付调整大小的屏幕截图以及交互所需的坐标映射。 [#151573](https://github.com/openclaw/openclaw/pull/151573)
- 首次启动后重新打开 Linux 云浏览器,没有继承的启动锁定超时。 [#153169](https://github.com/openclaw/openclaw/pull/153169)
**限制和兼容性**
- 如果中断的设置留下了不确定的证据,表明正在运行的工作线程没有其进程 ID,请在再次启动之前释放并重新配置机器。仍不支持本机暖图像捕获。
持久配对的 Mac、Windows 和 Linux 计算机现在默认提供 [ 桌面共享 ](/gateway/config-browser-ui-desktop#paired-node-desktops),并具有本机 Mac 和 Tauri 交换机和连接状态。仍然需要配对批准和经过身份验证的本地屏幕共享或 VNC 服务,并且交换机不会打开该操作系统服务。显式禁用和网关拒绝仍然受到尊重。某些现有计算机更新后需要在设备中再次获得批准。 Tauri 需要本地 OpenClaw CLI,将其关闭到托盘会使共享处于活动状态。
对运行网关的计算机的访问仍然是单独的选择。管理员可以从 Systems](/gateway/config-browser-ui-desktop#desktop) 启用 [Host Desktop,并提供缺少服务和 macOS 权限的设置指南。启用自动配置重新加载后,无需重新启动网关即可应用实验室更改(包括系统启用)。关闭访问会关闭查看器,但系统屏幕共享服务和云工作人员仍会运行。代码模式和工具搜索更改适用于将来的运行,禁用自定义插件 UI 需要重新加载浏览器选项卡以清除已运行的代码。
来源和完整变更列表
**改进**
- 默认情况下启用与本机控件的配对桌面共享、Tauri 连接状态以及重新批准受影响的旧授权。 [#153359](https://github.com/openclaw/openclaw/pull/153359)
- 为系统中的管理员主机桌面设置提供 macOS 屏幕共享和远程管理权限的指导。 [#154008](https://github.com/openclaw/openclaw/pull/154008)
- 启用自动重新加载后,无需重新启动网关即可在现有连接上应用实验室和桌面设置。 [#153975](https://github.com/openclaw/openclaw/pull/153975)
**错误修复**
- 从实验室中保存主机桌面禁用,同时保留其其他设置。 [#147741](https://github.com/openclaw/openclaw/pull/147741) 感谢 [@TriDefender](https://github.com/TriDefender) 和 [@obviyus](https://github.com/obviyus).
**限制和兼容性**
- 桌面共享、代理计算机Control和保持唤醒仍然是单独的控件。 macOS 远程管理帐户需要观察和 Control 权限。
- 重新打开 Cloud Worker Desktop 可恢复对已有能力的工作人员的访问权限。它不会配置桌面或更换缺少桌面的工作人员。
- 使用应用程序开关、节点的显式禁用设置或网关拒绝规则来禁用配对共享。重新批准后,删除网关允许条目不再是持续的禁用机制。
普通 [Codex 计算机 Use](/plugins/codex-computer-use) 使用默认的非严格就绪设置启动时不再等待可选的实时桌面探针。安装、可用工具和权限仍然很重要,并且稍后的桌面调用仍然可能失败;严格的准备状态和明确的状态或安装命令保持实时检查。当 Bun 垫片隐藏时,计算机控制助手也会找到合适的 Node 运行时,但 Bun 用户仍然需要安装 Node。浏览器拒绝提供与实际策略或插件问题相匹配的恢复指导,之前错过短暂按键的 Linux X11 应用程序可以检测到它们。
来源和完整变更列表
**错误修复**
- 在非严格 Codex 启动期间跳过可选的实时桌面探针,同时保留安装和工具检查。 [#151666](https://github.com/openclaw/openclaw/pull/151666) 谢谢 [@jalehman](https://github.com/jalehman).
- 使用合适的 Node 运行时启动桌面计算机控制助手,尽管有遮蔽 Bun 垫片。 [#151933](https://github.com/openclaw/openclaw/pull/151933) 感谢 [@wangmiao0668000666](https://github.com/wangmiao0668000666) 和 [@altaywtf](https://github.com/altaywtf).
- 通过当前策略或插件原因的恢复步骤解释浏览器控制拒绝。 [#154091](https://github.com/openclaw/openclaw/pull/154091) 谢谢 [@mmkerrigan](https://github.com/mmkerrigan).
- 使轮询键盘状态的 Linux X11 应用程序可以检测计算机控制按键。 [#153830](https://github.com/openclaw/openclaw/pull/153830)
- 网关插件有效激活后启动浏览器控制。 [#154255](https://github.com/openclaw/openclaw/pull/154255) 感谢 [@Alix-007](https://github.com/Alix-007)、[@obviyus](https://github.com/obviyus) 和 [@mmkerrigan](https://github.com/mmkerrigan).
**限制和兼容性**
- 按键修复不会在 macOS 和 Windows 上添加持续的键盘保持或建立相同的输入改进。
- Browser 控件现在可以识别网关的有效插件激活,而无需更改源白名单。显式禁用或拒绝仍然拒绝访问,并且单独的磁盘允许列表持久性问题仍然存在。
浏览器操作和选定区域的屏幕截图与捕获的控件保持联系,包括具有重复标签或框架的页面。如果捕获的控件消失,则操作将失败,而不是选择另一个匹配的控件。浏览器输入保持其点击和按键顺序,健康的选项卡避免等待停滞的同级,表单失败解释了诸如覆盖或禁用控件之类的问题。保留精确的存储密钥,包括周围的空间。
当使用 [ 现有的 Chrome 会话 ](/tools/browser/existing-session) 时,捕获的引用现在可以在同一文档内满足条件等待,并且打包的帮助程序支持跨跨源框架的控制。导航仍然会从被替换的文档中取消引用,因此在再次操作之前拍摄一个新的快照。默认帮助程序附带 OpenClaw,不再需要在浏览器启动时下载 npm。原生坐标输入支持左键双击;右键或中键单击以及非零单击延迟需要托管配置文件。丢失的目标永远不会被另一个选项卡默默地替换。
来源和完整变更列表
**错误修复**
- 保留准确的浏览器快照和屏幕截图目标,允许操作在截止日期前完成,并返回有用的输入错误。还保留对话框和选项值、上传超时、挂起的 cookie 更改以及桥接连接详细信息。 [#153420](https://github.com/openclaw/openclaw/pull/153420)
- 将操作与捕获的控件相关联,防止陈旧的捕获替换较新的引用,清理帧标签,保留同级连接,并在不更改所选配置文件的情况下重新检查当前节点访问。 [#153597](https://github.com/openclaw/openclaw/pull/153597)
- 保留每个选项卡中浏览器扩展鼠标和键盘事件的顺序。 [#151650](https://github.com/openclaw/openclaw/pull/151650)
- 恢复浏览器检查,不会因停顿的同级选项卡而出现连续延迟,同时保留较新的连接和阻止的选项卡规则。 [#153283](https://github.com/openclaw/openclaw/pull/153283)
- 在带引号的浏览器存储键中保留空格。 [#151300](https://github.com/openclaw/openclaw/pull/151300) 感谢 [@zhangguiping-xydt](https://github.com/zhangguiping-xydt) 和 [@obviyus](https://github.com/obviyus).
- 跨等待保留浏览器引用并拒绝过时的文档控件。 [#154215](https://github.com/openclaw/openclaw/pull/154215)
- 保持缩短的浏览器上传文件名可移植。 [#153774](https://github.com/openclaw/openclaw/pull/153774) 感谢 [@xialonglee](https://github.com/xialonglee)、[@masatohoshino](https://github.com/masatohoshino)、[@Gabrielnkl](https://github.com/Gabrielnkl) 和[@obviyus](https://github.com/obviyus).
- 保持远程浏览器上传文件名的便携性和可用性。 [#154566](https://github.com/openclaw/openclaw/pull/154566)
- 保护较新的子代理选项卡免遭陈旧清理。 [#155307](https://github.com/openclaw/openclaw/pull/155307)
**限制和兼容性**
- 选定区域快照格式和参考号可以更改。自定义启动器需要 `click_at` 及其所需的坐标点击功能标志。
- Blank 存储密钥对于写入仍然无效。之前被覆盖的值不会恢复。
- Custom Chrome MCP 可执行文件需要等效的文档标识修复才能实现相同的引用行为。省略 `mcpCommand` 或将其设置为 `npx` 会选择打包的 Node 帮助程序,这会增加大约 13 MB 的未打包运行时。
- Upload 文件名调整保留文件内容并且不重命名现有文件。已在较早所有者下承认的选项卡关闭可以在不删除新选项卡注册的情况下完成。
当实时屏幕截图不可用时,浏览器卡可以显示公共页面标题、网站图标和社交图像,使关闭或历史页面更容易识别。重复打开同一页面会共享活动组内的一张卡片,而实际选项卡和不同的路线则保持独立。新的浏览器侧面板使用更多可用空间,而不会覆盖您保存的宽度。保留的计算机屏幕截图也会在运行期间和重新打开聊天后显示,并带有图像查看器、复制和下载控件。丢弃的像素无法恢复,并且某些保存的图像布局仍然可以显示重复的图块。
公共元数据获取遵循现有的默认 `automaticallyFetchFavicons` 设置。关闭它会禁用这些预览,同时保留实时屏幕截图。这些请求不携带浏览器凭据,但目标站点和图像主机可以看到所请求的 URL 和发出请求的地址。显示为观察结果的计算机屏幕截图不会自动作为传出附件发送。
来源和完整变更列表
**改进**
- 将公共图标、页面标题和社交图像添加到浏览器卡中,无需实时屏幕截图。 [#152324](https://github.com/openclaw/openclaw/pull/152324)
- 为新的浏览器侧面板提供更多可用宽度,同时保留保存的宽度和手动调整大小。 [#152575](https://github.com/openclaw/openclaw/pull/152575)
- 将浏览器仪表板发现移出网关线程,并在关闭期间完成接受的事件。 [#151952](https://github.com/openclaw/openclaw/pull/151952)
**错误修复**
- 将同一浏览器页面的重复预览合并到一个活动组中,同时保持工具历史记录可扩展。 [#152281](https://github.com/openclaw/openclaw/pull/152281)
- Display 在活动运行期间和重新打开聊天后保留内嵌计算机屏幕截图。 [#153249](https://github.com/openclaw/openclaw/pull/153249)
- 在其最终选项卡所有者退出后释放过时的浏览器活动,保留仍由另一个选项卡或保留的仪表板拥有的活动。 [#127096](https://github.com/openclaw/openclaw/pull/127096)
**限制和兼容性**
- 公共页面元数据可能不可用。禁用自动图标获取还会隐藏缓存的元数据预览。
- 当匹配保存的媒体使用内联布局时,仅存储为工件的恢复图像仍可能出现两次。
使用多个保留的云会话重新启动可以更快地完成恢复,因为独立的提供商检查在固定限制内一起运行。尚未开始的提交也可以在其工作程序重新连接后恢复,在需要时更新同一台机器上的工作程序,并重试准入一次。这需要兼容的工作安装程序和成功的重新连接。已经交给工作人员的工作(包括中断的工具调用)永远不会通过重试而重播。 [清理指南](/gateway/cloud-workers/session-lifecycle) 现在报告最新的清理失败,因此旧的会话错误不会隐藏仍需要注意的内容。
来源和完整变更列表
**错误修复**
- Reduce 重新启动通过有界并发提供商检查等待多个保留的云会话。 [#154171](https://github.com/openclaw/openclaw/pull/154171)
- 通过有限的、经过编辑的诊断显示当前对话工作人员清理错误。 [#153869](https://github.com/openclaw/openclaw/pull/153869) 感谢 [@vincentkoc](https://github.com/vincentkoc) 和 [@skorfmann](https://github.com/skorfmann).
- 在工作线程重新连接和所需的就地工作线程更新后恢复未启动的云提交。 [#154154](https://github.com/openclaw/openclaw/pull/154154)
**限制和兼容性**
- 已开始的检查必须在恢复继续之前完成,并且所有权错误仍会阻止采用会话。恢复没有固定的加速。
- A 清理警告并不意味着提供商问题已修复或机器已删除。检查当前状态并遵循其恢复指南。
[Chrome 扩展设置](/tools/chrome-extension) 现在跨桌面应用程序、[CLI](/cli/browser) 和 [TUI](/web/tui) 共享一个检查、安装和验证流程。使用 `openclaw browser extension setup --action inspect` 或 `/browser-setup inspect` 查看仍需要注意的内容,并通过相同命令执行安装和验证操作。安装程序会保留您选择的浏览器配置文件并区分安装、Chrome 批准和经过身份验证的连接。它在托管命令的计算机上运行,包括使用 SSH 时的远程主机。远程网关仍然需要在运行Chrome的计算机上有一个浏览器节点,并且仍然需要Chrome的扩展安装和权限批准。
包移动中断扩展的本地帮助程序连接后,部署所有者可以使用 `openclaw browser extension repair --dry-run --json` 检查它,然后使用替换安装中的 `repair --from /absolute/old/native-host-entry.js --json` 来修复匹配的注册。这会保留现有配置、配对和不相关的安装。 Windows 设置需要单独提供的兼容 BrowserBootstrap 可执行文件,并且重定位修复需要在那里进行手动工作。安装或修复助手本身并不意味着 Chrome 已连接。
来源和完整变更列表
**改进**
- 跨桌面和终端统一本地Chrome扩展设置。 [#152057](https://github.com/openclaw/openclaw/pull/152057) 谢谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
**错误修复**
- 包重定位后修复浏览器连接。 [#154431](https://github.com/openclaw/openclaw/pull/154431)
**安全信任**
- 通过读取句柄验证本机浏览器主机文件。 POSIX 配对和注册检查检查它们实际读取的打开文件,在创建配对凭据之前拒绝不安全的替换,同时保留拥有的私有硬链接。 Windows 保持其单独的路由。 [#155833](https://github.com/openclaw/openclaw/pull/155833)
**限制和兼容性**
- Default-profile macOS 和 Tauri 启动可以准备本地帮助程序,而无需打开 Chrome Web Store。 Chrome 批准仍然是一个单独的步骤。 Windows 自动设置取决于单独提供的兼容 `OpenClaw.BrowserBootstrap.exe`。
- 修复是明确的。它不会重新启动 Chrome、打开商店页面或创建丢失的注册。不完整的检查意味着保留报告的包路径并推迟清理。
## 插件和集成
GitHub 阅读器将源讨论保留在聊天旁边,远程工作区将该对话连接到另一台计算机上的文件、内存和技能,而实时会议记录可让您在捕获结束之前跟踪捕获。
您可以在捕获继续时跟踪会议记录,当新演讲到达时大约每五分钟更新一次,并在捕获结束时更新最终记录。这适用于捕获的语音和 [Google Meet、Microsoft Teams 和 Zoom 会议](/plugins/meeting-plugins)。会议页面会自动刷新,并将完整保存的记录保存在自己的选项卡中,以便您可以在笔记和所说内容之间移动。具有写入权限的用户还可以生成丢失的笔记。转录可能会滞后于对话,并且模型生成的注释使用您配置的模型,并具有正常的使用费用和现有的摘要输入限制。
来源和完整变更列表
**改进**
- 在实时捕获过程中遵循会议记录并保存语音 [#151957](https://github.com/openclaw/openclaw/pull/151957)。
- 在最终笔记 [#151760](https://github.com/openclaw/openclaw/pull/151760) 之前将会议标题保存为线程外并排出已接受的演讲。
- 将存储的会议记录查找移出网关主线程 [135f934d](https://github.com/openclaw/openclaw/commit/135f934db69da6d08e2e77443161ea65e9528af2)。
- 将会议记录数据库工作移离调用者线程 [#154070](https://github.com/openclaw/openclaw/pull/154070)。
- 移动转录列表并显示调用者线程的查询;如果在读取 [#154178](https://github.com/openclaw/openclaw/pull/154178) 期间时区发生更改,请重试相关的旧日期读取。
- Move 转录导出恢复散列调用者 [#154414](https://github.com/openclaw/openclaw/pull/154414)。
**错误修复**
- 加载完整的会议记录并生成具有写入权限的缺失笔记,保留现有笔记和有限摘要输入[#152463](https://github.com/openclaw/openclaw/pull/152463)。
- 在时钟变化时保持会议浏览器超时稳定 [#155648](https://github.com/openclaw/openclaw/pull/155648) — 感谢 [@masatohoshino](https://github.com/masatohoshino)、[@obviyus](https://github.com/obviyus).
离开 [ 会议](/plugins/meeting-plugins) 现在会等待正在进行的音频启动并关闭生成的音频运行时间,然后再报告成功。重新加入同一个会议会等待清理工作,而其他会议则保持独立。失败的连接保持可达状态,同时需要再次尝试离开才能完成清理。音频清理和离开浏览器会议是分开的,清理失败仍然需要重试才能继续进行替换。
来源和完整变更列表
**错误修复**
- 在离开或替换会话之前等待会议音频清理 [#155787](https://github.com/openclaw/openclaw/pull/155787)。
可选的 [FaceTime 插件 ](/plugins/facetime) 添加与您配置的代理的一对一音频对话,包括对需要其工具或内存的请求的口头答复。它是实验性的,默认情况下禁用,并且需要运行 macOS 14.4 或更高版本、OpenClaw 2026.9.6 的专用 Apple Silicon Mac、匹配的签名本机助手、配置的音频设备和实时提供商凭据。匹配插件和本机发行版的可用性仍未得到确认。
设置还需要参与者同意、开发人员工具访问权限以及手动减少 macOS SIP 调试保护。每个允许的句柄都有所有者权限,一次只能运行一个托管呼叫,并且代理发起的呼叫需要一次性批准。启用之前请遵循设置指南。
来源和完整变更列表
**改进**
- 为授权代理所有者添加实验性 FaceTime 音频桥 [#119291](https://github.com/openclaw/openclaw/pull/119291) — 感谢 [@omarshahine](https://github.com/omarshahine)、[@romneyda](https://github.com/romneyda).
- 将 FaceTime 挂起呼叫存储移离网关线程 [#154241](https://github.com/openclaw/openclaw/pull/154241)。
**文档**
- 澄清实验性 FaceTime 设置和故障排除 [#153450](https://github.com/openclaw/openclaw/pull/153450) — 感谢 [@omarshahine](https://github.com/omarshahine).
**错误修复**
- 修复FaceTime呼叫跟踪和实时语音路由[#154225](https://github.com/openclaw/openclaw/pull/154225)。
- 在取消期间保留 FaceTime 呼叫标识并减少任务流读取 [#154775](https://github.com/openclaw/openclaw/pull/154775)。
管理员现在可以直接从“设置”登录到符合条件的 [MCP 连接器 ](/tools/mcp),在浏览器中批准访问,然后返回身份验证保存的结果。当您通过自己的环回或发布的 Tailscale 地址打开网关时,这适用于使用共享本机凭据启用的 HTTP OAuth 连接器。其他帐户模式保留其现有的登录路径,并且保存凭据仍然需要检查连接器的可达性和工具访问权限。
来源和完整变更列表
**改进**
- 从设置 [#151023](https://github.com/openclaw/openclaw/pull/151023) 登录到 MCP 连接器 — 感谢 [@obviyus](https://github.com/obviyus).
- Move MCP 凭证和状态读取请求线程 [#148213](https://github.com/openclaw/openclaw/pull/148213)。
- Move MCP 凭证写入并租用调用者线程 [#148859](https://github.com/openclaw/openclaw/pull/148859) 的工作。
新的 CLI- 后端在更换插件后可以继续访问其允许的 OpenClaw 工具,而无需重新启动网关。长时间运行的 MCP 调用在等待结果时也会保持其本地连接处于活动状态,并且 Bun 清理会处理超出其命令寿命的主管。每个新回合仍然需要主动授权,并且连接保持活动既不会延长截止日期,也不表明进度。
Codex- 拥有的 MCP 连接还遵循配置的启动和工具截止时间以及显式并行调用提示,而本机只读并行性保留其自己的规则。消息请求收到 404 后,过期的旧 SSE 连接将被替换以供后续调用;发现过期的调用仍然失败并且不会重放。
来源和完整变更列表
**错误修复**
- 在插件替换[#153673](https://github.com/openclaw/openclaw/pull/153673)后保持CLI桥接工具可用 - 感谢[@zhangguiping-xydt](https://github.com/zhangguiping-xydt),[@obviyus](https://github.com/obviyus), [@kiranvk-2011](https://github.com/kiranvk-2011).
- 在长时间工具等待期间保持本地 MCP 连接处于活动状态 [#153879](https://github.com/openclaw/openclaw/pull/153879) — 感谢 [@vacinc](https://github.com/vacinc).
- 正确关闭Bun MCP清理控制通道[#153459](https://github.com/openclaw/openclaw/pull/153459)。
- Codex [#155490](https://github.com/openclaw/openclaw/pull/155490) 中的 MCP 超时和并行调用设置。
- 恢复过期的旧版 SSE 工具连接,无需重播调用 [#155497](https://github.com/openclaw/openclaw/pull/155497) — 感谢 [@gwjr](https://github.com/gwjr).
ACP-连接的编码代理根据当前连接的harness解析模型选择,包括重新连接后,并且新生成的子工作在任务列表中出现一次。如果显式模型选择未知或不明确,则会失败,因此不受支持的选择不能默默地成为另一个模型。失败的 ACPX 启动还会释放未使用的会话状态,同时保留排队重试。
托管 ACP 代理现在默认每个子进程最多有 8 个 Tokio 工作线程,或者当可用 CPU 较少时更少,同时保留继承的工作线程设置。这是工作池默认值,而不是总线程数或 CPU 限制。 ACPX 0.19.1 添加了启动、日志记录、启动准入和清理修复;让活动轮次完成并重新启动嵌入主机以加载更新的运行时。 Windows 队列清理需要更新每个参与的 acpx 客户端。
来源和完整变更列表
**错误修复**
- 根据当前连接的harness [#152850](https://github.com/openclaw/openclaw/pull/152850) 解决 ACP 模型选择 — 感谢 [@saariuslystoned](https://github.com/saariuslystoned)、[@shakkernerd](https://github.com/shakkernerd)、 [@jhgaylor](https://github.com/jhgaylor).
- 将每个新生成的 ACP 任务显示一次 [#153071](https://github.com/openclaw/openclaw/pull/153071) — 感谢 [@obviyus](https://github.com/obviyus)、[@saariuslystoned](https://github.com/saariuslystoned)、 [@markgenhealth](https://github.com/markgenhealth).
- 在失败的会话启动后释放未使用的 ACPX 状态 [a3f9d754](https://github.com/openclaw/openclaw/commit/a3f9d754ac7284d70498dc66f0539e47e7088eae)。
- 采用 ACPX 生命周期修复并保留迁移验证 [#155377](https://github.com/openclaw/openclaw/pull/155377) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 采用 acpx 0.19.1 运行时修复 [#155760](https://github.com/openclaw/openclaw/pull/155760) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**改进**
- Bound 用于托管 ACP 代理的默认工作池 [#154584](https://github.com/openclaw/openclaw/pull/154584) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
当 A2A 任务切换模型时,其完成的结果现在包含后备模型的实际答案。该任务不再提前完成,仅通知将使用不同的模型。
回复还会在仅消息工具设置下完成其原始 A2A 任务,而不是在回复完成后让呼叫者进行轮询。明确的严格设置和对等隔离仍然适用。
来源和完整变更列表
**错误修复**
- 在模型回退后返回实际的A2A答案[#152168](https://github.com/openclaw/openclaw/pull/152168) - 感谢[@chelsealong](https://github.com/chelsealong),[@obviyus](https://github.com/obviyus), [@edgarstool](https://github.com/edgarstool).
- 在仅消息工具回复设置下完成原始A2A任务[#154317](https://github.com/openclaw/openclaw/pull/154317) - 感谢[@victorylapops](https://github.com/victorylapops),[@obviyus](https://github.com/obviyus), [@kip-claw](https://github.com/kip-claw)、[@bruce-yii](https://github.com/bruce-yii)、[@beeven](https://github.com/beeven).
嵌入式和 Copilot 代理现在在省略其设置且较高优先级代码模式处于非活动状态时使用 [Tool Search](/tools/tool-search),根据需要发现相关工具,而不是预先接收每个合格工具的完整描述。您可以在Labs中将其关闭或将`tools.toolSearch`设置为`false`;恢复直接工具描述还需要代码模式处于非活动状态。额外的发现轮次可能会花费更多,特别是对于小型工具目录。
现有的显式设置保留其含义。 `true` 选择旧版 Node 代码桥,空对象会使工具搜索禁用,并且代码模式优先。 Codex 的本机工具发现保持不变。
来源和完整变更列表
**改进**
- 默认启用嵌入式结构化工具搜索,Copilot运行[#154068](https://github.com/openclaw/openclaw/pull/154068)。
现在,当全局设置不存在时(包括升级后),代码模式会自动激活目录首选模型。显式 `false`、空全局对象或仅包含选项的全局对象保持关闭状态,除非代理或模型覆盖启用它。 Haiku 4.5 通过显式激活仍然可用,但被排除在自动选择之外,并且本机 Codex 代码模式未更改。
默认的 Node 执行程序以网关的操作系统权限运行,并且不是安全沙箱。为隔离访客选择 `quickjs` 到 `tools.codeMode.executor`,或者在可信 Node 执行不合适时禁用代码模式。显式旧版 `quickjs-wasi` 选择迁移到 QuickJS;单独选择执行者并不会强制激活。不可用的选定执行程序将失败而不会回退,并且在网关重新启动后,执行程序都不会恢复单元。
[Code Mode](/tools/code-mode/configuration) 现在仅执行普通 JavaScript,而其工具发现仍然提供类型化文档。这是对现有 TypeScript 电池的重大改变。重写那些不使用 TypeScript-only 语法的单元格,并删除 `language` 和 `typecheck` 参数,即使它们的值为 `"javascript"` 或 `false` 也是如此。符合条件的启动迁移会删除旧的 `tools.codeMode.languages` 设置;否则运行 `openclaw doctor --fix`。配置迁移不会重写您的代码。
工具输入和结果在运行时检查,因此在先前的操作完成后可能会发生稍后的错误。结构化结果还拒绝 BigInts、循环以及具有可捕获错误的失败序列化器;将这些值显式转换为 JSON- 兼容数据,并牢记您配置的输出限制。
来源和完整变更列表
**限制和兼容性**
- 将代码模式执行移至 JavaScript,并提供迁移指导 [#154001](https://github.com/openclaw/openclaw/pull/154001)。
Node 的内存设置是尽力而为的工作堆预算,不包括外部缓冲区和总进程内存。它的实时上下文不受 `maxSnapshotBytes` 的限制。 QuickJS 隔离不会删除对工具策略允许的强大工具的访问。
**改进**
- 减少代码模式JavaScript准备开销[#154209](https://github.com/openclaw/openclaw/pull/154209)。
- 代码模式 [#154522](https://github.com/openclaw/openclaw/pull/154522) 选择可信 Node 或隔离 QuickJS。
- 为首选模型[#155614](https://github.com/openclaw/openclaw/pull/155614)启用自动编码模式。
**错误修复**
- 保留代码模式完成工作和结构化结果,包括 12,000 个字符限制内的编辑配置结果 [#151372](https://github.com/openclaw/openclaw/pull/151372)。
- H荣誉MiniMax M3的自动代码模式首选项[#154664](https://github.com/openclaw/openclaw/pull/154664)。
- 将代码模式语法错误报告为可操作的输入错误 [#149222](https://github.com/openclaw/openclaw/pull/149222) — 感谢 [@romneyda](https://github.com/romneyda).
格式错误的 JavaScript 在分派任何工具之前报告其语法位置。纠正它需要新的执行请求;完成效果后仍可能出现运行时错误。
[GitHub 阅读器](/plugins/github) 在对话旁边带来了公共问题、拉取请求讨论、提交和可扩展差异,因此您可以在不离开聊天的情况下检查参考。选项卡可让您保持多个项目处于打开状态,而自动检查的预览和可刷新快照可帮助您跟踪工作。该阅读器是公开且只读的,私人内容和编辑保留在GitHub上;检查结果是有界快照,而不是合并就绪判定。
文档和预览使用您配置的 GitHub 身份来避免不必要的匿名速率限制失败。屏幕截图匿名加载,无需 cookie 或凭据,支持最多 2 个 MiB 的 PNG、JPEG、GIF 和 WebP 文件。如果您的安装使用限制性插件白名单,请添加并启用 `github`,同时保留其其他条目以使用阅读器和预览。
来源和完整变更列表
**错误修复**
- 使用配置的GitHub凭证获取完整的公开文档[#153981](https://github.com/openclaw/openclaw/pull/153981)。
- 显示公共GitHub附件并隐藏读者评论元数据[#153004](https://github.com/openclaw/openclaw/pull/153004)。
- 解释GitHub预览和状态失败[#153181](https://github.com/openclaw/openclaw/pull/153181)。
- 恢复紧凑的PR预览和合著者肖像[#153193](https://github.com/openclaw/openclaw/pull/153193)。
- 保留缩短的 GitHub 文本中的完整字符 [#153344](https://github.com/openclaw/openclaw/pull/153344) — 感谢 [@xydt-juyaohui](https://github.com/xydt-juyaohui)、[@obviyus](https://github.com/obviyus).
- Resolve 命名项目 PR 链接到正确的存储库 [#151057](https://github.com/openclaw/openclaw/pull/151057) — 感谢 [@brokemac79](https://github.com/brokemac79)、[@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 澄清GitHub授权进度和完成情况[#150669](https://github.com/openclaw/openclaw/pull/150669) — 感谢[@romneyda](https://github.com/romneyda).
- 防止格式错误的合着预告片停止 GitHub 预览 [#152115](https://github.com/openclaw/openclaw/pull/152115)。
- 修复 GitHub 预览和详细信息 [#155509](https://github.com/openclaw/openclaw/pull/155509) 中的虚假身份更改错误。
**改进**
- Inspect head-commit PR 检查并导航读卡器部分,最多可显示 100 个检查项目和 30 秒快照缓存 [#153274](https://github.com/openclaw/openclaw/pull/153274)。
- 在最多 10 个仅内存选项卡中阅读聊天旁边的公开 GitHub 讨论和差异,以及有限的评论和文件集合 [#148464](https://github.com/openclaw/openclaw/pull/148464)。
**文档**
- 解释哪个计算机帐户提供本机 GitHub 凭据 [#153754](https://github.com/openclaw/openclaw/pull/153754) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
发布会话的工作会接受有效的重新创建的分支,即使它们的引用日志已过期,同时通过祖先检查和以精确观察到的远程分支为条件的发布来保留已发布的历史记录。并发分支更改将被拒绝,并且以后的工作区编辑无法输入已接受的快照。发布错误现在可以将持有锁的另一个操作与不可用的存储或取消区分开来,从而使下一步更加清晰。存储失败可以使用原始请求或检查点重试;在操作获取其锁定之前取消不可自动重试。取消的医生检查被报告为未进行,而不是作为健康结果。
会话编写者可以通过配置的 [ 共享 GitHub 帐户 ](/gateway/config-tools/github-identity) 发布他们创建的会话的普通更改。他人会话的成员资格并不授予该权利。添加、编辑、删除或重命名 GitHub Actions 工作流程文件以及通过个人帐户发布需要完全的操作员写入权限。排队的请求与原始请求者保持联系,并在重新启动时接受权限上限;新的邀请或后来的晋升不能恢复已结束的资助。已接受的结果 GitHub 在断开连接后仍可记录,但这并不授权另一次写入。不确定的回读仍有待确定。
这会将共享状态更改为模式 18,旧版本拒绝读取该模式。停止较旧的写入器并保留经过验证的升级前备份,该备份捕获仍在 SQLite 的预写日志中的数据。在新授权未完成的遗留共享请求之前,检查已记录或不确定的 GitHub 效果。要降级,请使用匹配的旧版本并在单独的状态目录中备份;恢复本地数据不会撤消已对 GitHub 所做的更改。
来源和完整变更列表
**错误修复**
- 发布有效的重新创建的分支,而不依赖引用日志 [#152334](https://github.com/openclaw/openclaw/pull/152334)。
- 改进数据库争用期间的检查点发布准入,最终结果策略由以下修复 [#152387](https://github.com/openclaw/openclaw/pull/152387) 提供。
- 区分持有的发布锁、可重试的存储故障和预授权取消;替换之前的单独重试策略,并将已取消的医生检查标记为未执行 [#152437](https://github.com/openclaw/openclaw/pull/152437)。
- 保持 GitHub 发布选项响应大量未决历史记录 [#152851](https://github.com/openclaw/openclaw/pull/152851)。
- 在断开连接后保留成功的 GitHub 发布结果 [#155321](https://github.com/openclaw/openclaw/pull/155321) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 使用当前工作区和查看器 [#154750](https://github.com/openclaw/openclaw/pull/154750) 保留 PR 和 CI 结果 — 感谢 [@shakkernerd](https://github.com/shakkernerd).
**安全信任**
- 将排队的 GitHub 发布绑定到其原始请求者 [#154477](https://github.com/openclaw/openclaw/pull/154477) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 强制共享 GitHub 出版物 [#154655](https://github.com/openclaw/openclaw/pull/154655) 的创建者和工作流程权限 — 感谢 [@shakkernerd](https://github.com/shakkernerd).
**改进**
- 在仪表板PR刷新[#154826](https://github.com/openclaw/openclaw/pull/154826)期间减少本地Git工作。
- 减少会话期间重复的 Git 工作 PR 刷新 [#154944](https://github.com/openclaw/openclaw/pull/154944)。
显式等待委派工作的代理可以使用受支持的仅限所有者的插件工具恢复,而无需您发送其他消息。符合条件的会话还会在受支持的harness延续中保留其 GitHub 工具,并具有相同的当前权限和发布批准。插件作者必须选择加入 [ 所有者授权的延续合约 ](/plugins/tool-plugins) 并在执行操作之前立即检查该权限;不相关的会话和计划的作业不会获得所有者权限。
来源和完整变更列表
**错误修复**
- 在家长恢复后保留选择加入的仅限所有者的插件访问权限 [#150295](https://github.com/openclaw/openclaw/pull/150295) — 感谢 [@vacinc](https://github.com/vacinc).
- 在子代理延续后保留合格的GitHub工具;删除已弃用的、忽略的 githubPublicationAvailable SDK 选项 [#151651](https://github.com/openclaw/openclaw/pull/151651)。
- 保留主机选择的 GitHub 工具和活动插件跨harness工作,同时保留工具配置文件和实时授权 [#152073](https://github.com/openclaw/openclaw/pull/152073) — 感谢 [@vacinc](https://github.com/vacinc).
代理可以发现配置的云配置文件,并在启动单独的可见工作树会话时请求公布的操作系统和计算机大小。 [云会话工具路径](/tools/subagents/tool-reference)需要实时托管网关、支持的提供商以及现有的放置权限。失败或不确定的启动会保留会话以供检查,而不是在本地静默运行,因此在重试之前检查该状态。已远程分配的工作还可以避免配置不相关的本地 Docker 沙箱。
来源和完整变更列表
**改进**
- 让代理选择配置的云配置文件、操作系统和机器大小 [#148034](https://github.com/openclaw/openclaw/pull/148034) — 感谢 [@vincentkoc](https://github.com/vincentkoc)、[@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
**错误修复**
- Start远程转向,无需本地容器[#153037](https://github.com/openclaw/openclaw/pull/153037)。
现在,工作程序启动失败可以更清楚地解释拒绝的命令和未经确认的取消。停止节点环境会尝试剩余的清理,即使其中一部分发生故障,并且在清理未解决时替换工作会等待。这可能会导致容量被占用,直到确认旧工作已停止,而不是启动另一个工作人员来替代它。
便携式云工作人员现在包括配置所需的浏览器资产和授权 shell 命令所需的 SQLite 可执行文件,但代价是更大的运行时下载。网关重新启动后,未启动的提交最多可以等待两分钟,以便保留的工作线程重新连接,但受轮次超时限制,一次重试和停止仍然可用。已经移交的工作不会重新发送,并且不兼容的工作运行时仍然需要更新。
云工作人员还会收到他们正在处理的请求之前的对话历史记录,即使稍后的消息在准备过程中到达也是如此。支持在切换前重试,保留该起点并仅保存输入一次。
来源和完整变更列表
**错误修复**
- 解释被拒绝的工作程序启动和取消失败 [#151985](https://github.com/openclaw/openclaw/pull/151985)。
- 尽管出现个别故障,仍尝试完成独立节点清理 [#152896](https://github.com/openclaw/openclaw/pull/152896)。
- 使用捆绑的浏览器运行时资产 [#154654](https://github.com/openclaw/openclaw/pull/154654) 恢复云工作人员配置。
- 在便携式云工作人员[#154711](https://github.com/openclaw/openclaw/pull/154711)中恢复shell命令。
- 网关重启后等待云工作人员,无需重新发送[#154794](https://github.com/openclaw/openclaw/pull/154794)。
- 将云工作人员历史记录与其已承认的请求 [#153337](https://github.com/openclaw/openclaw/pull/153337) 相关联。
**改进**
- Move节点主机配置读取调用者[#151411](https://github.com/openclaw/openclaw/pull/151411)。
- 避免在无关状态写入[#153567](https://github.com/openclaw/openclaw/pull/153567)后重复设备扫描。
- 在选择节点目标 [#151687](https://github.com/openclaw/openclaw/pull/151687) 时减少 CPU 工作 — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 从网关协调 [#153335](https://github.com/openclaw/openclaw/pull/153335) 读取工作人员成绩单。
- 将工作人员库存读取和突变移出网关线程 [#154804](https://github.com/openclaw/openclaw/pull/154804)。
**安全信任**
- Stream Crabbox 下载到已检查的私有暂存文件 [#154622](https://github.com/openclaw/openclaw/pull/154622) 中。
云工作区可以在增加的传输限制内返回更大的变基,并且在默认创建组可写目录的 POSIX 主机上传输工作。权限修复仅适用于 OpenClaw- 拥有的目录,保留传输的文件模式和主机的默认值。大回报仍限于 500,000 条前后记录和 768 MiB 更改内容或补丁数据,现有每个文件 64 MiB 和 256 MiB 压缩回滚限制。
上传保留其冻结的源文件,直到传输稳定,在访问被撤销后停止进一步的暂存写入,并在暂存期间拒绝重定向的父路径。更新已安装的节点运行时以接收节点端清单准备改进;仅刷新会话包是不够的。
应用云结果和恢复回滚快照可以保留准确的受支持文件名和文件内容,与 Git 属性或签出编码无关。取消私人准备等待分期清理完成;主机文件系统的文件名限制仍然适用。
来源和完整变更列表
**错误修复**
- 在组可写主机 [#152717](https://github.com/openclaw/openclaw/pull/152717) 上恢复工作区传输。
- 大型变基后返回云工作区 [#152566](https://github.com/openclaw/openclaw/pull/152566)。
- 在进一步写入 [#154402](https://github.com/openclaw/openclaw/pull/154402) 之前停止撤销工作区上传。
- 保留工作人员上传并限制工作区暂存 [#155101](https://github.com/openclaw/openclaw/pull/155101)。
- 在云工作区恢复期间保留支持的文件名和字节 [#155837](https://github.com/openclaw/openclaw/pull/155837)。
**改进**
- 减少首次使用云工作区清单准备 [#154770](https://github.com/openclaw/openclaw/pull/154770)。
支持的主机集成可以将现有代理文档编辑器和指令阅读器指向配对节点上的工作区,而无需维护本地副本。这需要显式的工作空间映射、兼容的连接节点和单独的文件授权,且文档限制为 16 MiB。如果该工作区不可用,读取将失败,而不是使用陈旧的本地文件。所有者写入仍仅限于根 `AGENTS`、`SOUL`、`IDENTITY` 和 `USER` 文档,并且已分派的写入无法通过断开连接来撤消。
来源和完整变更列表
**改进**
- 使用主机拥有的代理文档和引导上下文 [#150584](https://github.com/openclaw/openclaw/pull/150584) — 感谢 [@kimiyu-186](https://github.com/kimiyu-186).
- 在配对节点上读取和编辑代理文档 [#150734](https://github.com/openclaw/openclaw/pull/150734) — 感谢 [@kimiyu-186](https://github.com/kimiyu-186).
- 公开共享工作区文档规则和不可用错误 [#152635](https://github.com/openclaw/openclaw/pull/152635) — 感谢 [@kimiyu-186](https://github.com/kimiyu-186).
您可以将上传的文件发送到客服工作区所在的计算机,并在聊天中接收其完成的文件,并在同一台计算机上使用内存文件和支持的工作区技能。这需要显式配置的主机集成、当前文件和命令授权,以及网关和配对节点上匹配的 OpenClaw 版本。可以发现、阅读、观看工作空间技能,并在那里安装其依赖项;仍不支持远程技能源安装、更新、删除和 ClawHub 管理。
每个文件默认传输 50 MiB,上传时将已承认的文件保留在内存中。如果启用的上传失败,则回合不会在没有文件的情况下开始;丢失或拒绝的输出文件显式失败,而不是返回过时的本地副本。在降级到旧版本之前删除已保存的 `file.create` 授权。
来源和完整变更列表
**改进**
- 通过配对节点添加服务拥有的二进制文件传输 [#152640](https://github.com/openclaw/openclaw/pull/152640) — 感谢 [@kimiyu-186](https://github.com/kimiyu-186).
- 将上传的附件传送到启用的远程工作区 [#152652](https://github.com/openclaw/openclaw/pull/152652) — 感谢 [@kimiyu-186](https://github.com/kimiyu-186).
- 使用配对节点工作区附件、内存和技能 [#154087](https://github.com/openclaw/openclaw/pull/154087) — 感谢 [@kimiyu-186](https://github.com/kimiyu-186).
- 减少一般目录列表中的重复编码并获取摘要,同时保留文件名和 8,192 字节输出限制 [#151987](https://github.com/openclaw/openclaw/pull/151987) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
**错误修复**
- 发送远程工作区中生成的文件并回复 [#152633](https://github.com/openclaw/openclaw/pull/152633) — 感谢 [@kimiyu-186](https://github.com/kimiyu-186).
队列状态显示单元是否被记录为使用 Docker 或 Podman,普通注册表读取会看到新提交的单元信息。记录的引擎有助于识别配置;它不能确认发动机当前正在运行。
来源和完整变更列表
**改进**
- 与当前提交的读取 [a7d62b62](https://github.com/openclaw/openclaw/commit/a7d62b621ab3ce462a349f644ec4bac2f5be8002) 异步运行队列注册表操作。
- 在车队状态中显示记录的Docker或Podman发动机[#144691](https://github.com/openclaw/openclaw/pull/144691) — 感谢[@alix-007](https://github.com/alix-007), [@shakkernerd](https://github.com/shakkernerd).
安装后聊天插件卡会更新为“已安装”,并且代理指导会优先使用您已经拥有的工具,然后再从 ClawHub 中建议更多内容。插件存档避免了仅开发依赖项失败,而不完整的 npm 安装名称缺少所需的依赖项,并且可以在符合条件时由 Doctor 修复。更新期间推迟的修复可能需要随后运行另一次 Doctor。安装修复还涵盖移动 OpenClaw 后的过时路径、等效的 Windows 目录名称和本机依赖项资产路径。
管理员可以直接从插件的概述中进行安装,并跟踪阶段进度和完成所用的时间。安装接受插件声明的功能,而不授予挂钩或模型权限,并且策略警告仍然需要确认。准备好的新插件会自动启用,而缺少所需的配置或现有的禁用选项会使它们保持禁用状态。禁用已安装的插件将启用放在第一位。最终响应决定成功,不确定的结果保留防止重复安装的保护。
分组、可搜索的设置将相关字段和权限放在一起,Ask OpenClaw 会打开所选插件的可编辑、未发送的帮助草稿。管理员可以在当前配置修订版中显式地显示已声明字段的存储文字 API 密钥;秘密引用和环境值未解析或泄露。损坏的安装会获得记录源重新安装指导,而不是误导性的同意请求,而完整的插件仍然需要功能同意。
来源和完整变更列表
**错误修复**
- 优先选择当前捆绑插件而不是过时的安装路径 [#144843](https://github.com/openclaw/openclaw/pull/144843) — 感谢 [@romneyda](https://github.com/romneyda)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 安装插件档案,而不会导致仅开发依赖项失败 [#143350](https://github.com/openclaw/openclaw/pull/143350) — 感谢 [@giodl73-repo](https://github.com/giodl73-repo)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 拒绝不完整的 npm 插件并修复缺少所需的依赖项 [c6bb12b0](https://github.com/openclaw/openclaw/commit/c6bb12b061bc7980b9992b52f62d572af5a455e1) — 感谢 [@nxmxbbd](https://github.com/nxmxbbd)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 在分阶段插件 [#153546](https://github.com/openclaw/openclaw/pull/153546) 中保留本机依赖资源路径 — 感谢 [@richsomeday222](https://github.com/richsomeday222)、[@maxwell-code07](https://github.com/maxwell-code07).
- 识别等效的 Windows 插件目录别名 [#151245](https://github.com/openclaw/openclaw/pull/151245) — 感谢 [@romneyda](https://github.com/romneyda).
- 安装后刷新聊天插件卡 [#152017](https://github.com/openclaw/openclaw/pull/152017) — 感谢 [@hannesrudolph](https://github.com/hannesrudolph).
- 减少不必要的ClawHub安装建议[#153913](https://github.com/openclaw/openclaw/pull/153913)。
- 区分不完整的插件安装和缺少同意 [#154011](https://github.com/openclaw/openclaw/pull/154011) — 感谢 [@cookywook](https://github.com/cookywook).
- 避免旧版插件中的首次安装配置冲突 [#154539](https://github.com/openclaw/openclaw/pull/154539) — 感谢 [@goutamadwant](https://github.com/goutamadwant)、[@obviyus](https://github.com/obviyus)、 [@maxwell-code07](https://github.com/maxwell-code07).
- 添加缺少的插件图稿和目录类别[#154888](https://github.com/openclaw/openclaw/pull/154888)。
- 识别语音类别麦克风图标 [#155197](https://github.com/openclaw/openclaw/pull/155197) — 感谢 [@patrick-erichsen](https://github.com/patrick-erichsen).
**改进**
- 通过显式凭据检查简化插件安装和分组设置 [97043faf](https://github.com/openclaw/openclaw/commit/97043faf6f857198694f62983d95c9d76d12ecda) — 感谢 [@patrick-erichsen](https://github.com/patrick-erichsen).
- 显示插件安装进度和特定操作反馈 [#150235](https://github.com/openclaw/openclaw/pull/150235) — 感谢 [@patrick-erichsen](https://github.com/patrick-erichsen).
- 删除冗余插件插槽开关通知 [#155249](https://github.com/openclaw/openclaw/pull/155249) — 感谢 [@patrick-erichsen](https://github.com/patrick-erichsen).
- Put 首先启用已禁用的已安装插件 [#155293](https://github.com/openclaw/openclaw/pull/155293) — 感谢 [@patrick-erichsen](https://github.com/patrick-erichsen).
插件加载遵循当前选定的副本、配置文件和配置,包括有效的结构化秘密引用。失败的设置会保留其原始错误,而无需重复初始化相同的插件,并且重复的失败不再会在重复中埋藏不同的诊断或删除健康的同级工具。打包安装还会在插件启动期间跳过不必要的源解析。
尽管存在大小写差异,依赖性警告现在仍可识别插件 ID,有效的存储秘密引用可避免错误的设置错误,并且格式错误的外部架构不再阻止正常插件的加载。无效的设置和格式错误的捆绑架构仍然会失败。
来源和完整变更列表
**改进**
- 在打包启动期间跳过不必要的插件解析 [#153694](https://github.com/openclaw/openclaw/pull/153694) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少切换插件时的冗余配置工作[#152794](https://github.com/openclaw/openclaw/pull/152794)。
**错误修复**
- 将插件验证和完全加载分开[#151927](https://github.com/openclaw/openclaw/pull/151927)。
- 加载插件时使用当前配置文件和网关状态 [#152340](https://github.com/openclaw/openclaw/pull/152340)。
- 使用当前插件选择进行提取和Web设置[#152661](https://github.com/openclaw/openclaw/pull/152661)。
- 验证创作的插件秘密引用以及准备好的值[#152236](https://github.com/openclaw/openclaw/pull/152236) - 感谢[@jalehman](https://github.com/jalehman).
- Clean 失败的插件设置,无需重复初始化 [#152026](https://github.com/openclaw/openclaw/pull/152026)。
- 停止保留重复的插件工具诊断[#151897](https://github.com/openclaw/openclaw/pull/151897)。
- 避免因大小写差异而出现错误的缺少插件警告 [#154614](https://github.com/openclaw/openclaw/pull/154614)。
- 包含外部插件架构故障和重复清理错误[#154823](https://github.com/openclaw/openclaw/pull/154823)。
- 根据创作的秘密引用验证插件设置 [#155618](https://github.com/openclaw/openclaw/pull/155618) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
当另一个工作区的插件更改、对象键重新排序或重复通知报告相同配置时,未更改的同级插件将继续运行。对实际值、列表顺序、源或策略的更改仍会触发所需的刷新。
繁忙的 [ 插件重新加载 ](/plugins/architecture) 现在可以在停止服务运行时之前拒绝,从而在活动回合或其清理仍然需要该插件时保持聊天可用。主动搜索和获取调用保留其选择的插件文件,直到工作实际完成。完成工作并重试被拒绝的替换;它不会自动排队。
当恢复文件保持完整并且替换无法完成时,已经等待活动调用的重新加载可以恢复之前的运行时间,包括在现有 60 秒窗口内延迟清理成功后的恢复。停用超时并不意味着插件文件已被删除,并且从未完成的清理仍然需要操作员注意。
当旧的临时源文件消失时,也可以进行替换,并警告无法恢复以前的代码。如果替换失败,受影响的插件仍然明显失败,直到替换成功。
跨重新加载的插件代码的请求也保留其上下文和选定的插件,因此提供程序挂钩和故障处理使用预期的请求设置。
来源和完整变更列表
**错误修复**
- 防止插件在备用提供商轮换后重新加载停止 [#151588](https://github.com/openclaw/openclaw/pull/151588) — 感谢 [@jalehman](https://github.com/jalehman).
- 在模型运行时刷新期间保持缓存插件可用 [#151692](https://github.com/openclaw/openclaw/pull/151692)。
- 当繁忙的插件重新加载被拒绝时保持网关服务 [#151738](https://github.com/openclaw/openclaw/pull/151738) — 感谢 [@jalehman](https://github.com/jalehman).
- 通过主动调用和关机清理保留插件文件 [#153662](https://github.com/openclaw/openclaw/pull/153662) — 感谢 [@sagebhardt](https://github.com/sagebhardt)、[@novalux12](https://github.com/novalux12)、 [@gorkem2020](https://github.com/gorkem2020)、[@cjn119-ui](https://github.com/cjn119-ui)、[@zanechen76](https://github.com/zanechen76).
- 延迟插件清理后恢复通道 [#151216](https://github.com/openclaw/openclaw/pull/151216) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 回滚插件重新加载被活动调用阻止 [#151273](https://github.com/openclaw/openclaw/pull/151273)。
- 当对象键重新排序时保持不变的插件运行 [#151281](https://github.com/openclaw/openclaw/pull/151281) — 感谢 [@romneyda](https://github.com/romneyda).
- 在多工作区重新加载期间保持忙碌插件服务不变[#154236](https://github.com/openclaw/openclaw/pull/154236)。
- 通过未更改的配置事件保持插件重新加载运行 [1096d5ff](https://github.com/openclaw/openclaw/commit/1096d5ffc65ffef832a4d61156a194d327028c2b) — 感谢 [@steipete](https://github.com/steipete).
- 在暂时源丢失后允许插件更换 [#155065](https://github.com/openclaw/openclaw/pull/155065) — 感谢 [@jey2311](https://github.com/jey2311)、[@mulderp82](https://github.com/mulderp82).
- 跨模块重新加载保留插件请求上下文[#155925](https://github.com/openclaw/openclaw/pull/155925)。
**改进**
- 在配置重新加载期间重用兼容的插件元数据 [#151011](https://github.com/openclaw/openclaw/pull/151011) — 感谢 [@romneyda](https://github.com/romneyda).
不断增长的插件缓存不再消耗可能阻止回复、执行记录或后台作业的共享行配额。单个命名空间、过期时间、值和 blob 限制仍然适用,但总存储空间可能会增长。如果您可能降级,请保留经过验证的更新前备份,因为旧版本会恢复聚合配额。不要删除持久所有权记录以使数据符合较旧的限制。
来源和完整变更列表
**改进**
- 将插件工件存储工作移离网关调用线程 [#151175](https://github.com/openclaw/openclaw/pull/151175)。
**错误修复**
- 修复数据库身份重用后插件状态写入[#154176](https://github.com/openclaw/openclaw/pull/154176)。
- 防止不断增长的插件缓存阻止回复和作业 [#152363](https://github.com/openclaw/openclaw/pull/152363)。
现在可以在崩溃后回收托管模型目录临时文件,同时实时工作人员保留他们需要的文件。模型发现重用已加载的插件文件,而不是创建重复副本,普通 CLI 运行完成后会发布自己的临时副本。
升级主机,使用 `openclaw doctor` 检查,然后在维护期间使用 `openclaw doctor --fix`,且没有其他 OpenClaw 生产者运行。在 Linux 和 macOS 上,Doctor 仅在完成完整的全新流程检查后才能回收符合条件的遗留捕获。 Windows、已识别的容器以及不完整或不明确的检查仍仅报告。实时、更改、托管、外部和符号链接目标内容保持受保护;仅年龄并不是删除文件的原因,报告的大小可能会超出硬链接的数量。
来源和完整变更列表
**错误修复**
- 清理废弃的模型目录文件并识别旧存储 [#153468](https://github.com/openclaw/openclaw/pull/153468) — 感谢 [@zanechen76](https://github.com/zanechen76)、[@navras98](https://github.com/navras98)、 [@sagebhardt](https://github.com/sagebhardt).
- 清理 CLI 插件刮擦并恢复符合条件的旧残留物 [#154324](https://github.com/openclaw/openclaw/pull/154324) — 感谢 [@paluj85-cloud](https://github.com/paluj85-cloud)、[@cortanapham](https://github.com/cortanapham).
- 在模型发现过程中重用插件副本 [#155159](https://github.com/openclaw/openclaw/pull/155159) — 感谢 [@mulderp82](https://github.com/mulderp82)、[@podulator](https://github.com/podulator).
插件请求的答案修订等待会话历史记录变得可用,并且所需的执行启动回调在运行继续之前完成。对于插件作者来说,返回的启动承诺现在会延迟启动并可能导致启动失败,因此不要返回不相关的后台工作。工作池关闭还会等待延迟的准备和清理,并可以报告其错误。在关闭自己的池之前取消准备等待,因为永远不会解决的工厂可以继续等待关闭。
插件作者还获得了期待已久的对话绑定检查和活动 API,而现有的同步 API 仍保留在其弃用窗口中。 CLI 和环回 MCP 完成钩子再次接收孤立的结果和批准的参数,而无需重复通知;这些观察者会尽最大努力,不会阻止该工具,并且会跳过无法隔离的结果并发出警告。
来源和完整变更列表
**限制和兼容性**
- 在继续之前等待执行开始回调 [#150396](https://github.com/openclaw/openclaw/pull/150396)。
- 保留已弃用的通道消息导出及其现有截止日期;使用 openclaw/plugin-sdk/channel-outbound 作为新助手 [#151816](https://github.com/openclaw/openclaw/pull/151816)。
**错误修复**
- 通过取消准备和退休保留工人投入 [#152544](https://github.com/openclaw/openclaw/pull/152544)。
- 在插件请求的答案修改之前等待会话历史记录 [#140743](https://github.com/openclaw/openclaw/pull/140743) — 感谢 [@petroff](https://github.com/petroff)、[@obviyus](https://github.com/obviyus)、 [@rmyers64](https://github.com/rmyers64).
- 请求关闭后完成插件检查清理 [08773da2](https://github.com/openclaw/openclaw/commit/08773da26446dda32eecfcc7f8309b006c250e21) — 感谢 [@steipete](https://github.com/steipete).
- 用于 CLI 和 MCP 工具 [#155206](https://github.com/openclaw/openclaw/pull/155206) 的恢复插件完成挂钩 — 感谢 [@iuiu-py](https://github.com/iuiu-py), [@obviyus](https://github.com/obviyus),[@sac916](https://github.com/sac916).
- 在停用报告中保留独立插件清理失败[#154746](https://github.com/openclaw/openclaw/pull/154746)。
**改进**
- 添加 captureProviderApiKey 和 persistProviderApiKey 帮助程序,同时保留源输入和配置文件凭据 [#151973](https://github.com/openclaw/openclaw/pull/151973)。
- 添加等待的对话绑定路由和活动 API [#154672](https://github.com/openclaw/openclaw/pull/154672)。
本地语音命令故意保留空的引用参数,以防止后面的选项转移到错误的位置。当 OpenClaw 检查是否应该说出普通回复时,也会跳过不必要的 Markdown 解析,而无需更改语音策略或合成限制。
来源和完整变更列表
**错误修复**
- 保留空引用的本地语音参数 [#151322](https://github.com/openclaw/openclaw/pull/151322) — 感谢 [@leon-sk668](https://github.com/leon-sk668)、[@obviyus](https://github.com/obviyus).
**改进**
- 在检查普通文本的语音 [#152728](https://github.com/openclaw/openclaw/pull/152728) 时跳过不必要的解析。
背景图像、视频和音乐的生成可以独立于启动它的请求而完成,从而避免了可能使原始请求陷入完成工作的等待周期。托管映像元数据读取也会脱离网关的主线程。
恢复的媒体任务状态保留正确的请求者和当前完成状态。媒体处理可以回退到有效的 URL,并且暂存失败会保留其他附件,同时保留现有的访问权限和大小限制。
来源和完整变更列表
**错误修复**
- 保持后台媒体完成独立于其请求者 [#151056](https://github.com/openclaw/openclaw/pull/151056) — 感谢 [@romneyda](https://github.com/romneyda).
- 将恢复的媒体任务所有权和重复状态保持为当前 [#148583](https://github.com/openclaw/openclaw/pull/148583)。
- 保留媒体URL后备和其他分阶段附件[#154703](https://github.com/openclaw/openclaw/pull/154703)。
**改进**
- Move 托管映像元数据读取网关线程 [#150628](https://github.com/openclaw/openclaw/pull/150628)。
[PDF 提取](/tools/pdf) 将低文本或仅视觉页面的图像与可选文本一起保留,因此文本丰富的页面不再隐藏相邻的图表或扫描页面。这会影响提取回退;原生 Anthropic 和 Google PDF 输入不变。更多渲染的页面可能会增加图像令牌费用,而现有的 20 页默认选择、200,000 个字符的文本上限和共享的 400 万像素预算仍然保留。
来源和完整变更列表
**错误修复**
- 在混合文本中保留可视页面 PDF 提取 [#152614](https://github.com/openclaw/openclaw/pull/152614) — 感谢 [@zhangguiping-xydt](https://github.com/zhangguiping-xydt)、[@obviyus](https://github.com/obviyus).
Logbook 避免在读取一系列帧时获取未使用的元数据,同时返回相同的公共结果。
来源和完整变更列表
**改进**
- 减少不必要的日志帧范围元数据[#153162](https://github.com/openclaw/openclaw/pull/153162)。
[Team Reports](/plugins/team-reports) 添加了工作会话目录和概述预览,其中包含直接指向当前对话的链接。成员报告还链接到其成员当前拥有的对话。这些是当前的工作视图,而不是旧报告期间所有权的重建,并且存档、隐身、自动、系统和隐藏会话的现有查看者权限和排除仍然适用。存储的报告、文字记录和完整下载保持不变。
来源和完整变更列表
**改进**
- 从报告 [#154020](https://github.com/openclaw/openclaw/pull/154020) 打开当前工作对话。
- Link 成员向当前拥有的对话 [#154192](https://github.com/openclaw/openclaw/pull/154192) 报告。
- 避免加载未使用的 Markdown,团队报告读取为 [#153111](https://github.com/openclaw/openclaw/pull/153111)。
工作板加载与所选工作或对话相关的卡,因此不相关的损坏卡不再阻止这些操作。删除符合条件的空看板也与其他板上格式错误的通知订阅隔离。所选卡片中的错误仍然会出现,并且默认或非空板仍然受到保护,不会被删除。
现在,搜索可以通过完整的 ID 或当前过滤器中不区分大小写的前缀来查找已加载的卡片。与家长一起屏蔽的卡解释了如何在申领之前解锁它们,而不改变资格或自动解锁它们。
来源和完整变更列表
**改进**
- 仅加载相关工作板卡以获取上下文并捕获 [#153958](https://github.com/openclaw/openclaw/pull/153958)。
**错误修复**
- 将空板删除与其他板的订阅隔离 [#152102](https://github.com/openclaw/openclaw/pull/152102)。
- 解释如何在领取 [#154990](https://github.com/openclaw/openclaw/pull/154990) 之前解锁 Workboard 卡 — 感谢 [@moerai](https://github.com/moerai).
- 通过自己的 ID 查找工作板卡 [#155033](https://github.com/openclaw/openclaw/pull/155033) — 感谢 [@aniketkrs](https://github.com/aniketkrs)、[@obviyus](https://github.com/obviyus)、 [@oldrich333](https://github.com/oldrich333).
会话共享读取您正在浏览的页面的转录衍生标题并批量创建者查找,减少不必要的读取,同时保持相同的发现权限和标签。更新源节点上的插件以接收页面范围的行为;仅更新接收方是不够的。搜索仍会在过滤之前解析标题。
来源和完整变更列表
**错误修复**
- 避免会话共享列表中的页外转录读取 [#154249](https://github.com/openclaw/openclaw/pull/154249)。
**改进**
- 减少共享会话列表 [#151681](https://github.com/openclaw/openclaw/pull/151681) 中重复的创建者查找。
- 诊断缓慢的会话共享目录阶段 [#155517](https://github.com/openclaw/openclaw/pull/155517)。
一旦 DuckDuckGo 搜索具有请求的有效条目,它就会停止解析其他结果,并保留其返回的文本和片段。仍会收到完整的响应并检查机器人挑战。
Brave、Exa、付费并行和 Perplexity 搜索遵循请求的结构化结果数量,包括缓存的回复,而 Brave 的 LLM- 上下文缓存将不同的请求计数分开。本地调整不会减少上游计费。取消或超时的 xAI 搜索将停止等待凭证,而不会稍后发送搜索,而已拥有的凭证刷新和清理可能会独立完成。搜索结果还会忽略不可能的日历日期,而不会删除或重新排序结果。
来源和完整变更列表
**改进**
- 避免解析多余的DuckDuckGo结果[#152344](https://github.com/openclaw/openclaw/pull/152344)。
**错误修复**
- 荣誉请求的网络搜索结果限制[#154420](https://github.com/openclaw/openclaw/pull/154420)。
- H荣誉Brave LLM-上下文结果限制和缓存计数[#154602](https://github.com/openclaw/openclaw/pull/154602) — 感谢[@ly85206559](https://github.com/ly85206559), [@obviyus](https://github.com/obviyus).
- 在等待凭据时取消 xAI 搜索 [#154559](https://github.com/openclaw/openclaw/pull/154559) — 感谢 [@obviyus](https://github.com/obviyus).
- 省略不可能的 Firecrawl 出版日期 [#155032](https://github.com/openclaw/openclaw/pull/155032) — 感谢 [@qingminglong](https://github.com/qingminglong)、[@obviyus](https://github.com/obviyus).
- 从搜索结果中省略不可能的发布日期 [#155365](https://github.com/openclaw/openclaw/pull/155365) — 感谢 [@ly85206559](https://github.com/ly85206559)、[@obviyus](https://github.com/obviyus).
当保存其可选缓存失败时,地理定位将继续使用有效的下载数据库,并且单独的网关会独立进行下载。缓存失败会产生警告;无效或失败的下载仍使用现有缓存。
来源和完整变更列表
**错误修复**
- 当缓存失败时保持地理位置查找工作 [#154569](https://github.com/openclaw/openclaw/pull/154569)。
停止或重新启动 ClickClack 等待接受的房间创建和持久性完成,帮助这些操作在集成关闭之前完成。
来源和完整变更列表
**错误修复**
- 在关闭[#151978](https://github.com/openclaw/openclaw/pull/151978)之前完成接受的ClickClack操作。
## 安全与隐私
权限检查现在涵盖了聊天开始、读取文件或后台工作在原始请求后继续进行时的更多时刻。这些更改还使操作 OpenClaw 的人员更清楚地了解凭证修复和访问更改。
现在,本机代理聊天会在保存或运行第一条消息之前要求进行必要的确认。符合条件的管理员可以为此聊天选择 **Continue**,这将授予完全访问权限并禁用该聊天的可选沙箱,然后重试原始消息一次,同时保留继承的模型选择。拒绝会使消息未发送,但可能会留下空聊天。同意仅适用于该聊天和运行时,并且不能放弃强制性沙箱、工作区或远程执行限制。 [native-agent 权限指南](/tools/acp-agents-setup#permissions-for-native-chat-runtimes) 解释了此选择。
在截止日期之后到达的本机钩子响应也会返回超时而不是延迟成功。默认 Codex 权限检查在该超时时被拒绝;这不会取消服务器上已经运行的工作。
来源和完整变更列表
**错误修复**
- 在第一条消息之前确认本机代理权限 [#153805](https://github.com/openclaw/openclaw/pull/153805) — 感谢 [@obviyus](https://github.com/obviyus).
- 拒绝延迟的本机钩子响应 [#150712](https://github.com/openclaw/openclaw/pull/150712) — 感谢 [@anyech](https://github.com/anyech) 和 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
即使不存在保存的会话,独立工具调用现在也遵循经过身份验证的操作员代理和沙箱限制。依赖于该例外的自动化现在可能会被拒绝;需要使用沙箱的调用者必须首先创建并定位记录的沙箱会话。代理 shell 脚本还需要通过可用的属性会话工具或正常的子代理完成来发送报告,因此它们的消息保留其代理来源。用于此检查的 shell 标记不是对同一用户拥有的其他进程进行身份验证或隔离。
命令错误现在可以区分不受支持的命令形式和人为拒绝,并解释如何通过批准流程重试。不受支持的表单仍然被阻止。 [批准指南](/cli/approvals)还阐明了现有的`approvals get --node`和`approvals set --node`命令,其中`--file`或`--stdin`提供了替换策略。
角色限制现在保留它们仍然允许的访问权限,例如将写入凭据缩小为只读。内置工具保留其允许的默认访问权限,而显式提供的权限列表保持准确,包括空列表。排队和委派工作保持发起操作员的权限上限并尊重以后的撤销;不兼容的排队输入按顺序等待,而不是借用更强的权限。
来源和完整变更列表
**安全信任**
- 将操作员限制应用于在没有存储会话的情况下调用的工具 [#153881](https://github.com/openclaw/openclaw/pull/153881) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 当角色缩小更广泛的凭据时保留允许的访问权限 [#153978](https://github.com/openclaw/openclaw/pull/153978) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 在排队和委派工作中保留操作员权限 [#153989](https://github.com/openclaw/openclaw/pull/153989) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 保留本机调用者权限和显式限制 [#154922](https://github.com/openclaw/openclaw/pull/154922) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
**改进**
- 将批准持久性移出网关线程 [#154619](https://github.com/openclaw/openclaw/pull/154619)。
**错误修复**
- 区分不受支持的命令准备和用户拒绝的批准 [#144869](https://github.com/openclaw/openclaw/pull/144869) — 感谢 [@Alix-007](https://github.com/Alix-007)、[@obviyus](https://github.com/obviyus) 和[@cipp-ashe](https://github.com/cipp-ashe).
**文档**
- 正确的节点批准检查和更换示例 [#153716](https://github.com/openclaw/openclaw/pull/153716) — 感谢 [@harshitgupta31415](https://github.com/harshitgupta31415) 和 [@yetval](https://github.com/yetval).
**限制和兼容性**
- 需要代理 shell 消息的属性传递 [#150499](https://github.com/openclaw/openclaw/pull/150499) — 感谢 [@RomneyDa](https://github.com/RomneyDa).
沙盒会话可以在私有 Docker 或 Podman 签出中使用 `worktree: true` 处理授权注册项目,并将接受的更改返回到托管工作树。主机 Git 凭证和忽略的配置不会被检查。显式只读访问仍然是只读的,不受支持的后端会拒绝此工作流程。稍后仅在主机上创建的文件需要 `git add` 才能进入现有的私人结帐。让挂起的更改在降级之前完成,并使用支持版本来恢复未完成的工作,如 [ 托管项目工作区](/gateway/sandboxing/workspace-access#managed-project-workspaces) 中所述。
文件补丁还会在更改文件之前重新检查权限,并且操作员日志会解释哪个工作区限制拒绝了补丁而不放宽所需的根。自动清理现在遵循每个沙箱所有者的保留设置,因此一个代理的较短保留窗口不会过早删除另一个代理的工作环境。
现在,需要沙箱的会话在创建新对话之前会拒绝仅主机本机分叉。如果权限在创建过程中发生更改,初始化将停止,清理操作仅删除该操作仍拥有的未完成的工作。插件作者应在本机更改之前立即采用 `sessionForkV2` 及其检查。较旧的 `sessionFork` 在 2026 年 10 月 12 日之前仍保持源兼容,但未获得这些最终检查。
来源和完整变更列表
**改进**
- 在私有 Docker 和 Podman 沙箱 [#152641](https://github.com/openclaw/openclaw/pull/152641) 内处理托管项目。
- 解释被拒绝的补丁背后的工作空间限制 [#136126](https://github.com/openclaw/openclaw/pull/136126) — 感谢 [@Marvinthebored](https://github.com/Marvinthebored)、[@Peetiegonzalez](https://github.com/Peetiegonzalez)、 [@shakkernerd](https://github.com/shakkernerd)、[@Haderach-Ram](https://github.com/Haderach-Ram) 和 [@BottaniCals](https://github.com/BottaniCals).
**安全信任**
- 更正文字波形符和相同文件别名补丁,在突变之前重新检查文件权限,在远程创建之前拒绝 OpenShell 本地访问失败,并在内存绑定 [#154201](https://github.com/openclaw/openclaw/pull/154201) 内流式传输 ONNX 验证。
- 将临时文件名覆盖保留在其目录 [#154828](https://github.com/openclaw/openclaw/pull/154828) 中。
- 在本机会话分叉 [#155358](https://github.com/openclaw/openclaw/pull/155358) 之前强制执行沙箱要求 — 感谢 [@shakkernerd](https://github.com/shakkernerd).
**错误修复**
- 在内存压力下保留Linux沙箱传输优先级,而不改变后端的工作负载策略[#142764](https://github.com/openclaw/openclaw/pull/142764) - 感谢[@ayoakouh](https://github.com/ayoakouh), [@obviyus](https://github.com/obviyus) 和 [@mrunalp](https://github.com/mrunalp).
- 在清理期间尊重每个沙箱所有者的保留策略,共享运行时遵循全局设置 [#153752](https://github.com/openclaw/openclaw/pull/153752) — 感谢 [@vincentkoc](https://github.com/vincentkoc).
现在,保存显示隐藏机密的设置会保留其真实值,并且 OpenClaw 拒绝将已知的密文占位符作为凭据。如果存储的网关令牌已被占位符替换,请安装此修复程序并运行 `openclaw doctor --fix` 或 `openclaw doctor --generate-gateway-token`。 [Doctor在修复令牌之前验证备份](/cli/doctor/recovery#invalid-gateway-tokens);然后重新启动网关并重新连接或与替换设备重新配对。其他被破坏的秘密需要从源头进行真正的替代。
现在,在网关主机上使用可选秘密代理的后台命令在原始回合结束后保留 HTTPS 访问权限。每个命令都会保留其原始秘密和允许的目标,直到它停止为止。更改凭据或绑定后,停止旧命令以立即撤销其访问权限,并启动新的运行和命令以使用更改。退出、取消、超时和网关关闭也会撤销访问权限。此代理不涵盖沙箱、远程节点或提供者本机 shell 执行。
来源和完整变更列表
**安全信任**
- 在经过编辑的保存中保留凭据并修复占位符令牌 [#151250](https://github.com/openclaw/openclaw/pull/151250) — 感谢 [@wrgrant](https://github.com/wrgrant).
**错误修复**
- 保留后台命令代理访问,直到命令停止,并独立访问同级命令 [#152557](https://github.com/openclaw/openclaw/pull/152557)。
现在,聊天图像、文档和可信音频在整个准备过程中保留请求发件人的文件限制。当访问被撤销、工作区或执行位置发生变化或者轮次被取消时,挂起的读取和复制就会停止,并且被拒绝的准备会删除其新暂存的文件。已生成的文本仍然可用,而以前保留的附件则保留其现有的保留规则。 [Control UI 安全模型](/web/control-ui/security-model#assistant-media-route-auth) 涵盖了这些边界。
在 Discord 中,未绑定通道中的 `/new` 和 `/reset` 现在在更改会话之前考虑通道禁用、白名单、组策略和服务器命令授权。以前绕过的命令现在可能会被拒绝,而现有的配置绑定恢复异常仍然可用。
来源和完整变更列表
**安全信任**
- 当访问更改时停止挂起的聊天媒体读取 [#152219](https://github.com/openclaw/openclaw/pull/152219)。
- 恢复 Discord 对未绑定重置命令的访问检查 [#152991](https://github.com/openclaw/openclaw/pull/152991) — 感谢 [@yetval](https://github.com/yetval).
当经过验证的电子邮件与链接的别名匹配时,[Cloudflare 访问 OIDC 登录](/gateway/cloudflare-access#oidc-sign-in-and-existing-people) 可以重复使用现有的 OpenClaw 配置文件、角色和历史记录。仍然需要 Cloudflare 准入和身份提供者电子邮件验证;不匹配的电子邮件将获得具有配置的默认角色的单独配置文件。 Tailscale 个人资料图片的采用还会将其数据库工作移出主网关线程,同时保留您明确选择的图片。
管理员还可以通过配置可信发行人、提供商和账户 ID 声明,选择通过 OIDC](/gateway/cloudflare-access#verified-github-credit-through-oidc) 获得 [ 验证的 GitHub 信用。这会增加合著者信用,而无需更改角色或用于发布的帐户。冲突的身份需要明确的 `users.linkEmail` 操作;缺少的配置仅保留电子邮件,并且格式错误的可信声明将被拒绝。
对于私有的、源构建的团队插件的访客访问功能,邀请到期或撤销现在会关闭依赖的网关连接并取消受影响的活动和排队工作。保存的结果和独立的工作人员访问仍然可用。操作员必须应用受限访客角色的 `accessPolicyPlugin: "visitor-access"` 绑定作为最终设置步骤;不可用的策略拒绝访问,并且较旧的网关拒绝此字段。恢复期间保持约束和限制。该插件仍然被排除在普通 npm 包之外。失败的 Cloudflare 策略清理仍会在启动时或每小时重试,并且可能会使提供程序访问保持活动状态,直到成功为止,但它不再扩展依赖的本地工作。 Cloudflare 登录会话不会单独撤销,过期后发出的邀请需要重新入场。
来源和完整变更列表
**错误修复**
- 重复使用 Cloudflare OIDC 登录 [#153556](https://github.com/openclaw/openclaw/pull/153556) 的匹配配置文件。
**改进**
- Save 在工作人员中采用了 Tailscale 化身,而没有覆盖显式选择,包括显式空图像 [#152670](https://github.com/openclaw/openclaw/pull/152670)。
- 启用经过验证的 GitHub 信用以进行可信 OIDC 登录 [#153940](https://github.com/openclaw/openclaw/pull/153940) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
**安全信任**
- 重试失败访客访问撤销 [#153878](https://github.com/openclaw/openclaw/pull/153878) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 即使结果传送失败,也可撤销之前的角色访问权限 [e0193fa](https://github.com/openclaw/openclaw/commit/e0193faf40d69b61887b0d3ac7edfc5320c7e1ec)。
- 验证访客访问权限和防护邀请写入 [#153987](https://github.com/openclaw/openclaw/pull/153987) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 邀请结束时结束访客连接和工作 [#154461](https://github.com/openclaw/openclaw/pull/154461) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
切换会话存储现在可以阻止延迟的子代理活动将旧存储的上下文带入新会话。更改存储不会迁移对话,并且即使您稍后再次选择旧存储,挂起的子结果传递也需要显式恢复。已完成的任务结果仍然可用;店主不明的旧手表需要重新登记。另外,使用显式密钥创建隐身会话会检查冲突,而无需扫描不相关的持久历史记录,同时保留现有的隔离和授权规则。
挂起的会话预览和本地工具清单现在在返回内容之前重新检查访问和确切的对话,而排队的插件上下文在重置和冲突名称时仍保留其选定的对话。恢复延续还会检查其目标对话的权限。普通的断开连接不会取消已承认的工作,但撤销其原始许可可以。
来源和完整变更列表
**安全信任**
- 将子通知和上下文保留在其原始会话存储中 [#152828](https://github.com/openclaw/openclaw/pull/152828)。
- 在返回会话预览和清单之前重新检查访问权限 [#154336](https://github.com/openclaw/openclaw/pull/154336) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 授权其目标会话的恢复继续 [#155364](https://github.com/openclaw/openclaw/pull/155364) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
**改进**
- 对请求的隐身会话使用精确密钥检查 [#152617](https://github.com/openclaw/openclaw/pull/152617)。
**错误修复**
- 保留排队的插件上下文及其选定的对话[#155714](https://github.com/openclaw/openclaw/pull/155714)。
秘密屏蔽可避免重复扫描未更改的工具结果,并跳过无法匹配的 AWS 凭证检查,而输出或编辑策略的更改仍会触发新的检查。成绩单保存保持其单独的清理。排队的 [ 审核历史记录 ](/gateway/audit) 写入和保留清理也会移出主网关线程。审计收集仍会尽最大努力,因此队列饱和、存储故障或关闭截止日期仍然可能会丢弃等待的元数据。
秘密审核现在拒绝符号链接生成的 `models.json` 文件,并将格式错误的文件内容排除在错误消息之外。这些检查是只读的,并且每个生成的模型文件限制为 5 MiB;普通硬链接和父目录别名仍然受支持。
来源和完整变更列表
**改进**
- 在编辑过程中跳过不可能的 AWS 凭证匹配,而不更改屏蔽覆盖范围 [#152484](https://github.com/openclaw/openclaw/pull/152484)。
- 重复使用已清理的工具结果,而不跳过对输出或策略的更改 [#151638](https://github.com/openclaw/openclaw/pull/151638)。
- 减少日志和成绩单中重复的秘密屏蔽工作[#154389](https://github.com/openclaw/openclaw/pull/154389)。
**错误修复**
- 将排队审核写入移出网关线程 [#152745](https://github.com/openclaw/openclaw/pull/152745)。
**安全信任**
- 拒绝符号链接的秘密审核文件和包含内容的解析错误[#155683](https://github.com/openclaw/openclaw/pull/155683)。
现在,对自动化进行实质性编辑会停用其之前的 **始终允许** 批准,即使您稍后恢复旧内容也是如此。暂停和恢复其他方面不变的自动化会保持其批准。没有此绑定的旧授权在升级后需要重新批准,因此无人值守的作业可能会等待您批准其下一个匹配操作。 [常备自动化批准](/tools/exec-approvals#standing-grants-for-automations) 仍与您批准的工作相关。旧的二进制文件无法强制执行新的绑定,并且旧版本所做的没有任何可观察记录的编辑在再次升级后无法重建。
来源和完整变更列表
**安全信任**
- 恢复编辑的定义后需要新的自动化批准 [73f058a](https://github.com/openclaw/openclaw/commit/73f058a4e653471383c473a93571f043ddc05587) — 感谢 [@jacobtomlinson](https://github.com/jacobtomlinson).
管理员可以将稳定渠道帐户显式链接到具有 `users.linkChannelIdentity` 的现有人员,然后检查或删除与 `users.listChannelIdentities` 和 `users.unlinkChannelIdentity` 的链接。已具有有效管理员访问权限的链接人员可以使用仅限所有者的频道命令,而无需重复的所有者列表。显示名称和会话身份链接不会建立此连接,并且通道限制仍然适用。链接不会扩大对话的可见性或授予组管理员权限。降级、取消链接、重新分配或撤销会阻止待处理的特权操作;替代补助金不能恢复原来的请求。
来源和完整变更列表
**改进**
- 识别通道 [#153508](https://github.com/openclaw/openclaw/pull/153508) 中明确链接的团队管理员。
管理员可以授予 `operator.sessions.read` 和 `operator.sessions.write` 进行对话工作,而无需授予常规设置、机密或管理访问权限。具有会话写入访问权限的经过验证的人员可以使用有效的保存默认值或网关模型和帐户选择来创建自己的对话,并且停止与原始运行和调用者保持联系。共享读取访问权限不授予更改其他人的对话的权限。明确的个人帐户选择和更改默认值仍然需要更广泛的写入访问权限,并且这些权限不仅仅是一个会话的边界。
访客还可以查看并回答自己授权运行中的常见问题,包括重新连接后恢复未决问题。加入别人的谈话并不会暴露他们的问题。秘密、管理和无会话提示仍然具有特权,答案不会添加任何权限,并且新的授权不能接管原始权限已被撤销的问题。
来源和完整变更列表
**改进**
- 添加仅选择加入会话的操作员权限值 [#154392](https://github.com/openclaw/openclaw/pull/154392) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
**安全信任**
- 保持会话访问并停止与原始调用者 [#154991](https://github.com/openclaw/openclaw/pull/154991) 的绑定 — 感谢 [@vincentkoc](https://github.com/vincentkoc).
- 通过延迟回答和关闭来保护问题请求者的权限 [#155335](https://github.com/openclaw/openclaw/pull/155335) — 感谢 [@vincentkoc](https://github.com/vincentkoc) 和 [@shakkernerd](https://github.com/shakkernerd).
**错误修复**
- 为具有仅会话写入访问权限的用户恢复新会话 [#155363](https://github.com/openclaw/openclaw/pull/155363) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
- 让客人回答他们自己的代理运行的问题 [#155560](https://github.com/openclaw/openclaw/pull/155560) — 感谢 [@shakkernerd](https://github.com/shakkernerd).
默认的 `gateway-only` [ 托管代理模式 ](/security/network-proxy) 现在保持 `localhost` 和文字环回连接直接,修复了通过外部代理发送本地模型中继时 WebChat 和 Codex 失败的问题。外部目标和非环回专用、LAN 和尾网流量仍然使用代理,而显式 `proxy` 和 `block` 模式以及应用程序网络访问检查保留其限制。医生现在解释了本地连接失败的原因;限制性配置可能需要恢复 `gateway-only` 并重新启动网关。
来源和完整变更列表
**错误修复**
- 在托管代理路由 [#154013](https://github.com/openclaw/openclaw/pull/154013) 下直接保留本地 WebChat 和 Codex 呼叫 — 感谢 [@eefreenyc](https://github.com/eefreenyc).
共享的 Rust 网关客户端将 Rustls 更新为 0.23.45,包括 GHSA-2mjx-qc3c-rqvc 的修复。
来源和完整变更列表
**安全信任**
- 刷新依赖项,包括共享 Rust 客户端的 Rustls 安全更新 [#154652](https://github.com/openclaw/openclaw/pull/154652)。
## 生活质量改善
日常工作的进展更加清晰,围绕工具、回复和存储的对话的重复准备工作也更少。
共享代理指令更明确地将您的更正和代理对检查内容的承诺与继续授权的工作联系起来。他们还告诉接收委托结果的代理在停止之前解决可修复的失败检查,同时保留批准要求、暂停和取消。这些是指导性的变化,因此各个模型的行为仍然可能会有所不同。
来源和完整变更列表
**改进**
- 加强智能体指导,落实整改和进度承诺 [#152833](https://github.com/openclaw/openclaw/pull/152833) — [@vacinc](https://github.com/vacinc)
**错误修复**
- 在委托批次后保留后续指导 [#153441](https://github.com/openclaw/openclaw/pull/153441) — [@vacinc](https://github.com/vacinc)
配置帮助现在解释了 `skipBootstrap` 控制创建工作区文件,而现有文件仍然可以输入提示。 [ 工作空间设置参考](/gateway/config-agents/workspace-and-bootstrap) 阐明了嵌入式运行时的现有 `contextInjection` 选择,包括 `never`。这些选择不会控制普通的 CLI- 支持的提示准备或阻止代理使用工具读取文件。
来源和完整变更列表
**文档**
- 澄清工作区文件创建和现有提示注入控件 [#118755](https://github.com/openclaw/openclaw/pull/118755) — [@camerono](https://github.com/camerono)
运营商可以添加可选的[个人偏好文件](/concepts/user-model#personal-user-files-on-a-shared-gateway) at `users//USER.md`在代理的工作空间中。共享`USER.md`默认首先加载,然后最多加载一个为指定的人类会话所有者或经过身份验证的人类创建者选择的个人文件。其他参与者可以[引导谈话](/concepts/queue-steering)无需替换其正在运行的个人上下文,并且重新分配会在下一个新回合生效,包括排队的工作。
这适用于受支持的本地嵌入式、通用 CLI 和本机 Codex 对话,不包括 ACP、实时和远程工作人员执行。文件是操作员创建的,配置文件合并需要手动移动它们。丢失的选定文件会保留共享默认值,而不是选择其他人的文件。这些首选项不会隔离文件或对话历史记录或授予工具权限。
来源和完整变更列表
**改进**
- 将个人 USER 首选项添加到共享网关对话 [#153966](https://github.com/openclaw/openclaw/pull/153966) — [@vacinc](https://github.com/vacinc)
**错误修复**
- 将个人 USER 首选项与会话所有者相关联 [#154980](https://github.com/openclaw/openclaw/pull/154980) — [@vacinc](https://github.com/vacinc)
**限制和兼容性**
代理或系统分配允许创建者回退,但没有配置文件 ID 的人类所有者则不允许。个人文件必须完全符合 4,000 个字符的 USER 限制或任何较低的每个文件或剩余提示预算。内部和委托输入、包含不合格输入的混合集合以及现有的引导抑制仍然被排除在外。混合合格的外部参与者保留会话的选择。原生 Codex 个人覆盖范围仍限于回合,并与继承的 `AGENTS.md` 指令分开。
进度和对话历史记录抑制重复检查,同时保持有用的更新和明显的失败、阻止、完成或未知工具结果可识别。您频道的可见性设置仍然适用,因此 Telegram 安静模式可以隐藏中间工具故障,除非启用工具进度。
来源和完整变更列表
**改进**
- 安静的重复轮询并显示准确的工具结果 [#151456](https://github.com/openclaw/openclaw/pull/151456) — [@obviyus](https://github.com/obviyus)
挂钩、节点、沙箱和工作树的帮助和只读命令加载较少未使用的代码。 JSON 代理和会话列表还可以避免重复查找或仅终端显示准备,同时保留其输出。
来源和完整变更列表
**改进**
- JSON 代理列表的批量创建历史查找 [#151471](https://github.com/openclaw/openclaw/pull/151471)
- 推迟只读挂钩报告的安装程序加载 [#152433](https://github.com/openclaw/openclaw/pull/152433)
- Defer 节点命令中未使用的托管代码 [#152448](https://github.com/openclaw/openclaw/pull/152448)
- 推迟未使用的沙箱命令加载 [#152688](https://github.com/openclaw/openclaw/pull/152688)
- 仅在需要时加载工作树操作 [#152730](https://github.com/openclaw/openclaw/pull/152730)
- 减少 JSON 会话列表中的演示工作 [#152109](https://github.com/openclaw/openclaw/pull/152109)
- 保持节点帮助独立于网关请求代码 [#154765](https://github.com/openclaw/openclaw/pull/154765)
**限制和兼容性**
减少负载并不会使每个命令都变得更快。在记录的比较中,沙盒解释速度较慢,并且工作树清理没有确定的速度改进。
远程终端键入和粘贴所需的准备工作较少,而工具输出重绘和回滚读取则避免了重复工作。在 macOS 和 Linux 上,通过 Bun 启动的终端也可以在垫片隐藏它时找到真正的 Node 安装,从而保持输入和光标键正常工作。仍然需要真正的 Node 安装。
来源和完整变更列表
**改进**
- 减少远程终端输入粘贴处理 [#151982](https://github.com/openclaw/openclaw/pull/151982)
- 在终端活动更新期间重复使用准备好的工具输出 [#152008](https://github.com/openclaw/openclaw/pull/152008)
- 读取终端回滚时减少临时分配 [#152007](https://github.com/openclaw/openclaw/pull/152007)
- 减少工具输出的重绘工作,无需从右到左的文本 [#152867](https://github.com/openclaw/openclaw/pull/152867)
**错误修复**
- 在 Node 被屏蔽时保持 Bun- 启动的终端交互 [#151750](https://github.com/openclaw/openclaw/pull/151750)
**限制和兼容性**
渲染测量因内容而异,某些从右到左的文本和链接情况需要更长的时间。这些变化并没有建立统一的终端速度或内存改进。
紧凑工具预览省略了极端的数组嵌套,而不是溢出格式化程序,而无需更改用于运行该工具的原始参数。使用 [ 显示元数据帮助程序 ](/plugins/sdk-agent-harness/sessions-and-results) 的插件作者应该期望忽略超过 64 个数组级别的值,并可能得到 `undefined` 结果。未知工具请求后的建议也避免了重复的查找准备。
来源和完整变更列表
**改进**
- 在建议未知工具的替代方案时减少重复工作 [#152345](https://github.com/openclaw/openclaw/pull/152345)
**限制和兼容性**
- Bound 深度嵌套数组在紧凑工具预览中 [#152923](https://github.com/openclaw/openclaw/pull/152923) — [@wangmiao0668000666](https://github.com/wangmiao0668000666)、[@obviyus](https://github.com/obviyus)、 [@hpyhandsome](https://github.com/hpyhandsome)
显示助手是故意有损的,并且不是对参数遍历的一般限制。保留原始参数以进行验证和执行。
当消息传递工具仅提供发送和广播时,它们的定义占用较少的模型上下文,同时保留支持的选项。自动化描述还删除重复的参数列表,并且大型工具输出在上下文检查和修剪期间重用有效的文本计数。上下文限制和修剪规则保持不变。
来源和完整变更列表
**改进**
- 重复使用未更改的工具输出文本估计 [#152501](https://github.com/openclaw/openclaw/pull/152501)
- 修剪大型刀具结果时避免重复扫描 [#153551](https://github.com/openclaw/openclaw/pull/153551)
- 减少消息传递和自动化工具定义开销 [#153841](https://github.com/openclaw/openclaw/pull/153841) — [@obviyus](https://github.com/obviyus)
当调试日志记录关闭时,代理请求跳过未使用的诊断,并且媒体进度部分在每轮内共享新的任务读取。大请求诊断和 shell 设置也避免了执行前的一些重复准备;这些变化涉及本地设置工作而不是媒体生成速度。
来源和完整变更列表
**改进**
- 跳过未使用的代理设置诊断 [#150361](https://github.com/openclaw/openclaw/pull/150361) — [@vincentkoc](https://github.com/vincentkoc)
- 测量大模型有效载荷时减少重复分配 [#153821](https://github.com/openclaw/openclaw/pull/153821)
- 跨媒体提示部分共享新任务读取 [#153656](https://github.com/openclaw/openclaw/pull/153656)
- 通过生成代理启动 shell 快照助手 [#151711](https://github.com/openclaw/openclaw/pull/151711)
**限制和兼容性**
小的诊断输入的处理成本可能会稍高一些。 Shell 准备保留其捕获期限、清理、授权检查和本机回退。
OpenClaw 在接收包含比较文本或最终答案标签的长回复时避免了一些重复的本地清理和渲染。好处取决于回复,最终答案路径可以使用更多峰值内存,同时减少重复处理。
进一步的更改跳过了括号密集的散文中不必要的扫描、最终标记答案中的清理以及尚未发出更新的诊断检查。
来源和完整变更列表
**改进**
- 减少流式比较文本的过滤工作 [#153944](https://github.com/openclaw/openclaw/pull/153944)
- 减少流式最终回复的重复处理 [#154292](https://github.com/openclaw/openclaw/pull/154292)
- 避免对内嵌括号进行重复的工具调用扫描 [#154398](https://github.com/openclaw/openclaw/pull/154398)
- 减少最终标记答案流的清理工作 [#154445](https://github.com/openclaw/openclaw/pull/154445)
- 减少流媒体期间的重复诊断检查 [#154647](https://github.com/openclaw/openclaw/pull/154647)
重复的对话和状态读取重用符合条件的数据库连接和工作人员,而不是重复打开它们。健康的可重用资源可以在 30 分钟空闲时间内保持可用,从而减少间歇性活动期间的设置,同时读取继续查看当前数据。因此,较大的活动安装可以在该窗口期间保留更多内存并打开文件句柄。
Node 工作人员现在可以在完成操作后回收未使用的堆,同时保持可供重用。在内存压力严重的情况下,闲置工作人员的自动退休需要诊断保持启用状态;空闲垃圾收集独立工作并跳过 Bun。适用的工人还要求 512 MiB 老一代堆上限,这可以限制大型活动操作。
来源和完整变更列表
**改进**
- 重用空闲的SQLite连接进行重复状态操作 [#153601](https://github.com/openclaw/openclaw/pull/153601)
- 当本地工作人员打开数据库时重用主机验证 [#153581](https://github.com/openclaw/openclaw/pull/153581)
- 在短暂空闲期间保留健康的共享状态工作人员 [#152341](https://github.com/openclaw/openclaw/pull/152341)
- 在保留的会话读取器中重用准备好的查询 [#152610](https://github.com/openclaw/openclaw/pull/152610)
- 热写入后跳过冗余维护计划 [#152621](https://github.com/openclaw/openclaw/pull/152621)
- 重用有界的 Node 工作人员以获取新状态读取 [#151929](https://github.com/openclaw/openclaw/pull/151929)
- 卸载缓存快照所有权簿记 [#153112](https://github.com/openclaw/openclaw/pull/153112)
- 从空闲数据库工作线程回收未使用的内存 [#154408](https://github.com/openclaw/openclaw/pull/154408)
**限制和兼容性**
隐身连接需要显式处理,因为它们保存数据的唯一副本。 Bun 保持单独的工作人员生命周期,不健康的工作人员可以提前退休,并且在资源冷、过期或容量压力下仍然运行维护。存储数据保留规则不变。
显式的进程范围 `--max-old-space-size` 会覆盖有效的工作堆上限。本机分配和传输的缓冲区超出了该上限。抑制诊断事件记录或限制日志会保留压力通知,而禁用诊断则会停止自动压力报废。
突发的对话写作为其他工作的进行提供了更多的机会,而保存大量回复或工具结果可以缩短其他写作者被耽搁的时间。在启动或重新连接期间到达的小请求最多可以等待 10 秒以获得容量,而不是立即失败,同时内存和超大请求限制仍然适用。通过大型任务和对话历史记录进行查找还可以检查较少的不相关记录。
选定的身份、配置文件、命令授权、配对和对话成员资格操作现在将数据库工作移出请求线程,并且准备好的对话可以恢复,而无需等待不相关的写入者。当配对更改待处理时,配对有一个重要的取消限制。本地中止或超时可能会使远程工作继续运行,因此不能确认远程操作已停止。
设置保存现在可以异步刷新配置运行状况,同时防止延迟或取消的刷新覆盖较新的设置或环境值。
来源和完整变更列表
**改进**
- Shorten 数据库编写器在保存大量回复和工具结果时保持 [#153818](https://github.com/openclaw/openclaw/pull/153818) — [@todddickerson](https://github.com/todddickerson)
- 减少大型任务和会话历史记录的数据库工作 [#153548](https://github.com/openclaw/openclaw/pull/153548)
- 将选定的设备标识读取到共享工作线程中 [1fab25b](https://github.com/openclaw/openclaw/commit/1fab25b37f9580cd30496a9b32cd96e9da601c8a)
- 将设备配对数据库移离请求线程 [#154671](https://github.com/openclaw/openclaw/pull/154671)
- 减少观众之间重复的会话成员资格工作 [#155620](https://github.com/openclaw/openclaw/pull/155620)
- 设置写入后异步刷新配置运行状况 [#155344](https://github.com/openclaw/openclaw/pull/155344)
**错误修复**
- Reduce I/O 在并发代理数据库写入期间停止 [#151909](https://github.com/openclaw/openclaw/pull/151909)
- 请求突发期间短暂等待 SQLite 容量 [#153437](https://github.com/openclaw/openclaw/pull/153437)
- Reduce 在配置文件和命令授权检查期间网关停止 [#154244](https://github.com/openclaw/openclaw/pull/154244)
- 恢复准备好的会话,无需不相关的写入器等待 [#155684](https://github.com/openclaw/openclaw/pull/155684)
**限制和兼容性**
当数据库打开写入时,新索引会自动安装,并且需要构建时间、临时磁盘空间以及未来写入的额外工作。大消息准备仍然可以是同步的,并且当等待期限到期时,持续的过载仍然可以失败。
新的或不完整的会话仍在等待所需的元数据写入。小型配对查找可能会增加工作人员开销,并且加入加入代码存储和其他同步操作仍不包含在这些更改之外。
实时对话更新避免了准备在传送前被替换的重复消息数据。每个接收者仍会收到其权限所允许的版本,并且现有的每个客户端准备工作完好无损。
来源和完整变更列表
**改进**
- 避免实时会话消息的重复编码 [#153122](https://github.com/openclaw/openclaw/pull/153122)
- 避免冗余会话快照编码 [#153006](https://github.com/openclaw/openclaw/pull/153006)
- 减少监视会话更新的数据库读取 [#154714](https://github.com/openclaw/openclaw/pull/154714)
创建符合条件的会话现在会为其代理的 [Home 对话 ](/concepts/main-session) 排队通知,包括会话密钥和可用标题、创建者和创建源,而无需复制消息。默认情况下启用此功能,您可以在 [ 会话设置 ](/gateway/config-agents/sessions) 中使用 `session.notifyOnCreate: false` 选择退出。 Home 在下一个回合或计划的心跳时收到通知,但不会立即唤醒或持续监控该对话。
草稿、隐身会话、隐藏的内部会话、计划的 cron 运行和主页本身都被排除在外。重新打开或重置现有会话不会发送另一个通知,并且待处理的通知不会在重新启动后继续存在。
来源和完整变更列表
**改进**
- 让主页了解新创建的会话 [#152068](https://github.com/openclaw/openclaw/pull/152068)
[2026.9.1 版本指南](/releases/2026.9.1) 获得了界面插图和标记的概念示例来解释旧版本。这些数字记录了现有的能力,并带有虚构的和概念性的例子。
来源和完整变更列表
**文档**
- 图解历史2026.9.1发布指南[#152988](https://github.com/openclaw/openclaw/pull/152988)
## 其他错误修复
这些修复解决了工作中断、误导性命令失败以及可能妨碍日常使用的数据库等待问题。
现在停止聊天会中断可选的空闲等待和受影响的清理读取,这些读取正在等待停滞的历史重建。所需的保存和清理仍然运行,保存的答案和附件参考保持不变,并且中断的交付检查保持待处理状态,直到知道其结果。连接设置期间取消的完成现在会在联系提供商之前停止,并且如果准备的资源不再有效,PDF 或图像分析后备也会停止。已发送的请求保留其现有的取消限制。
手动取消的 [ 后台命令](/gateway/background-process) 不再仅仅因为产生一些输出而触发不需要的后续回复。他们的日志仍然可以通过 `process poll` 和 `process log` 获取,并且清理失败仍然会发出通知。已确认的过程清理会被准确保留,而未确认的停止仍不确定。进程清理还识别在现有截止日期确认的退出。进程退出时的数据库清理会进行一次自动尝试,将失败留给显式恢复,而不是重复重试和淹没日志。
来源和完整变更列表
**错误修复**
- 中断可选清理在代理轮次被取消时等待 [#149755](https://github.com/openclaw/openclaw/pull/149755)。感谢 [@romneyda](https://github.com/romneyda).
- 取消后台命令后避免未经请求的回复[#153795](https://github.com/openclaw/openclaw/pull/153795)。感谢 [@vacinc](https://github.com/vacinc).
- 授权隐式范围 CLI 调用的本地共享凭证会话取消,保留显式范围限制和远程授权 [#153332](https://github.com/openclaw/openclaw/pull/153332)。感谢 [@vacinc](https://github.com/vacinc).
- 让取消的聊天回合在历史记录重建期间完成清理,同时保留已保存的答案和待发送的 [#153778](https://github.com/openclaw/openclaw/pull/153778)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 取消后保留确认的进程清理,而不将取消的命令视为成功执行 [#152107](https://github.com/openclaw/openclaw/pull/152107)。
- 防止已取消的工作程序交换挂起关闭,同时保留资源,直到清理和工作程序退出 [#152994](https://github.com/openclaw/openclaw/pull/152994)。
- Stop 在进程退出 [#154720](https://github.com/openclaw/openclaw/pull/154720) 时重复失败的 SQLite 清理。
- 确认进程组在清理截止日期 [#154756](https://github.com/openclaw/openclaw/pull/154756) 退出。
- Stop 在提供商调度 [#155819](https://github.com/openclaw/openclaw/pull/155819) 之前取消了完成。感谢 [@shakkernerd](https://github.com/shakkernerd).
配对节点上的终端现在会报告超时,并在现有的 30 秒不活动限制后删除其本地终端会话,即使该节点从未发送其第一个心跳也是如此。每次心跳都会更新该限制。 OpenClaw 请求取消一次,但本地超时并不能确认远程进程已停止。
来源和完整变更列表
**错误修复**
- 关闭从不发送心跳的节点终端 [#154769](https://github.com/openclaw/openclaw/pull/154769)。
具有有限超时的调用保留其现有的批准等待行为。没有不活动限制的无界调用仍然是无界的。
提前停止读取输入的命令现在返回其实际退出状态和错误输出,避免误导性的破坏管道故障。文件编辑还可以从作为字符串发送的替换列表中有限的换行符和反斜杠编码错误中恢复,同时保留预期的文字文本。在不应用部分编辑的情况下,不完整的列表和格式错误的外部请求仍然无法通过验证。
失败的命令启动会保留原始操作系统错误,并且使用美元前缀名称或美元文本的有效 JavaScript 现在可以达到 Node,而不会被误认为是 shell 语法。 Node 报告其自身的错误,并且运行时错误之前的语句可能已经运行。跨批次和旧版编辑参数重复的相同替换只会应用一次,而批次内的真正重复和冲突编辑仍然会失败,而无需写入。
来源和完整变更列表
**错误修复**
- 当孩子们提前关闭输入时保留命令结果,同时将输入接纳拒绝和其他输入故障保留为故障[#153644](https://github.com/openclaw/openclaw/pull/153644)。感谢 [@stackingrockss](https://github.com/stackingrockss).
- 在编辑替换列表中恢复有限的字符串编码错误,而不更改有效的文字文本或整体验证[#153692](https://github.com/openclaw/openclaw/pull/153692)。感谢 [@wangmiao0668000666](https://github.com/wangmiao0668000666)、[@obviyus](https://github.com/obviyus) 和 [@aniruddhaadak80](https://github.com/aniruddhaadak80).
- 保留本机命令启动错误并完成清理 [f62d295](https://github.com/openclaw/openclaw/commit/f62d295e08a294eabbeaa0a046c92c50f4377de2)。感谢 [@steipete](https://github.com/steipete).
- 通过 exec [#154447](https://github.com/openclaw/openclaw/pull/154447) 允许有效的 JavaScript 脚本。感谢 [@jesse-merhi](https://github.com/jesse-merhi) 和 [@nikolasdehor](https://github.com/nikolasdehor).
- 避免旧版编辑参数 [#155513](https://github.com/openclaw/openclaw/pull/155513) 引入的重复替换。感谢 [@mfurkanakinci](https://github.com/mfurkanakinci)、[@obviyus](https://github.com/obviyus) 和 [@aniruddhaadak80](https://github.com/aniruddhaadak80).
Python 源检查、命令批准、对不明确解释器命令的限制以及沙箱路由仍然保留。
现在,当数据库繁忙时,可选的存档清理会等待稍后的机会,而不是阻止 OpenClaw。已接受的工作可以在数据库工作线程关闭之前完成,并且保存设备令牌或任务信息可以避免主进程上的额外等待。通过文件系统别名到达的状态目录(例如 macOS `/var` 和 `/private/var`)还可以避免将这些路径视为不同位置而导致的超时。完全收到的结果在清理失败后仍然存在,而结果未知的写入不会自动重复。数据库请求还可以避免仅仅因为繁忙的网关尚未做出访问决定而被过早拒绝。
来源和完整变更列表
**错误修复**
- 避免归档清理锁定停顿,并通过实时进程中的瞬时保存失败保留已知的子代理完成结果 [#151594](https://github.com/openclaw/openclaw/pull/151594)。感谢 [@laurenceputra](https://github.com/laurenceputra).
- Drain 在退出共享工作线程之前接受数据库工作,并允许在清理后进行新的调用,保留失败的清理以进行显式重试 [#152873](https://github.com/openclaw/openclaw/pull/152873)。
- 在准备好的会话元数据和模型目录读取中允许仅限于 `lastReadAt` 的更改 [#152827](https://github.com/openclaw/openclaw/pull/152827)。
- 通过状态目录别名(包括macOS `/var`和`/private/var`)防止worker写入超时,同时保留写授权[#152190](https://github.com/openclaw/openclaw/pull/152190)。
- 避免主机线程数据库在异步状态操作期间等待,并通过清除失败保留完全接收的结果[#152377](https://github.com/openclaw/openclaw/pull/152377)。
- 防止网关繁忙时数据库过早拒绝 [#154682](https://github.com/openclaw/openclaw/pull/154682)。感谢 [@vincentkoc](https://github.com/vincentkoc).
缩短更新医生警告和技能研讨会错误记录,避免在截止处留下一半的表情符号。受影响的表情符号会被整个省略,因此缩短消息不会引入损坏的字符符号。
来源和完整变更列表
**错误修复**
- 在缩短更新警告和技能研讨会错误时保留有效的 Unicode 代理项对,而不更改现有文本限制 [#150837](https://github.com/openclaw/openclaw/pull/150837)。感谢 [@xialonglee](https://github.com/xialonglee).
命令为无效代理选择和空节点调用键提供更有用的反馈,插件和技能列表保留版本标签而不添加重复的前缀。如果请求在发送后超时或失去连接,该消息现在建议在重试之前检查其当前状态,因为操作可能已经完成。
来源和完整变更列表
**错误修复**
- 显示插件和技能版本标签,不带重复前缀 [#145975](https://github.com/openclaw/openclaw/pull/145975)
- 解释网关请求超时后的不确定结果 [#153370](https://github.com/openclaw/openclaw/pull/153370) — [@liuwqgit](https://github.com/liuwqgit)、[@obviyus](https://github.com/obviyus)、 [@deregtx](https://github.com/deregtx)
- 从代理控制台诊断中删除 C1 控制字符 [#149075](https://github.com/openclaw/openclaw/pull/149075) — [@vincentkoc](https://github.com/vincentkoc)
- 在网关查找之前报告空节点调用密钥 [#145032](https://github.com/openclaw/openclaw/pull/145032) — [@wangmiao0668000666](https://github.com/wangmiao0668000666)、[@obviyus](https://github.com/obviyus)
- 在调度网关呼叫断开 [#154282](https://github.com/openclaw/openclaw/pull/154282) 后警告未知结果。感谢 [@masatohoshino](https://github.com/masatohoshino) 和 [@obviyus](https://github.com/obviyus).
**限制和兼容性**
- 在路由之前拒绝无效的代理选择器 [#153387](https://github.com/openclaw/openclaw/pull/153387)
严格的调用者必须提供有效的代理选择器或忽略它。已弃用的 SDK 别名通过记录的 2026 年 11 月 29 日兼容性窗口保留其空白省略行为。仅仅超时既不能确定成功也不能确定失败。
[ 终端界面](/web/tui) 可以恢复您记住的对话,即使新对话具有相似的名称,并且可以显示其模型详细信息,而无需依赖简短的搜索结果列表。重新连接后,旧的连接响应无法再替换当前的详细信息。现有的代理范围和隐藏对话规则仍然适用。现在打开或附加到对话使用网关识别的代理,包括当旧链接命名不同的代理时。来自其他代理的答复和附带问题结果将被拒绝,现有附件权限保持不变。
来源和完整变更列表
**错误修复**
- 尽管名称相似,但恢复预期的 TUI 对话 [#153596](https://github.com/openclaw/openclaw/pull/153596)
- 与其解析的代理 [#155872](https://github.com/openclaw/openclaw/pull/155872) 保持终端对话和附件授权。
当长终端上传文件名需要缩短时,生成的名称仍然遵循保留名称和尾随字符的可移植规则。这适用于新暂存的上传,并保留现有文件名。
来源和完整变更列表
**错误修复**
- 截断后保留便携终端上传名称 [#153023](https://github.com/openclaw/openclaw/pull/153023) — [@goutamadwant](https://github.com/goutamadwant)、[@gabrielnkl](https://github.com/gabrielnkl)、 [@obviyus](https://github.com/obviyus)
临时目录检查不再仅仅因为有效的文件系统标识符使用带符号的数字而拒绝它们。共享文件系统依赖项将修复带到 OpenClaw 和直接使用它的组件中。
来源和完整变更列表
**错误修复**
- 通过 fs 安全修复 [#155771](https://github.com/openclaw/openclaw/pull/155771) 接受有效的临时目录身份。感谢 [@vincentkoc](https://github.com/vincentkoc).
## 维护者和内部变更
此版本包括 1175 个维护者和内部更改,涵盖测试、开发工具和实施维护。以下主题为 OpenClaw 的工作人员提供了完整的更改列表和贡献者积分。
编码代理和提供程序测试使用更受控制的启动、时钟和清理,帮助故障指向测试中的行为。共享装置保留了模型选择、流式响应和证书准备的覆盖范围。
来源和完整变更列表
**改进**
- 避免在ACP测试[#153234](https://github.com/openclaw/openclaw/pull/153234)中冗余插件发现。
- 在隔离的 Codex 测试用例 [#153539](https://github.com/openclaw/openclaw/pull/153539) 之间重用数据库工作器。
- 减少Codex架构和提示测试开销[#153428](https://github.com/openclaw/openclaw/pull/153428)。
- 删除仅测试命令秘密注入[#151052](https://github.com/openclaw/openclaw/pull/151052)。
- 共享隔离选型测试治具[#151820](https://github.com/openclaw/openclaw/pull/151820)。
- 分享ACP会话配置测试夹具[#153866](https://github.com/openclaw/openclaw/pull/153866)。
- 简化提供者使用获取断言[#137609](https://github.com/openclaw/openclaw/pull/137609)。
- 整合OpenAI语音速度测试夹具[#151844](https://github.com/openclaw/openclaw/pull/151844)。
- 共享本机挂钩权限测试输入 [#151908](https://github.com/openclaw/openclaw/pull/151908)。
- 分享CLI-输出测试治具[#151954](https://github.com/openclaw/openclaw/pull/151954)。
- 重复使用完成流块夹具[#152773](https://github.com/openclaw/openclaw/pull/152773)。
- Share 响应流测试输入 [#152818](https://github.com/openclaw/openclaw/pull/152818)。
- 共享重复的Anthropic传输测试输入[#153056](https://github.com/openclaw/openclaw/pull/153056)。
- 分享重复的OpenRouter Fusion测试配置[#153098](https://github.com/openclaw/openclaw/pull/153098)。
- 共享视频提供商测试夹具[#153658](https://github.com/openclaw/openclaw/pull/153658)。
- 避免在 OpenRouter 缓存测试 [#154183](https://github.com/openclaw/openclaw/pull/154183) 中发现插件。
- 减少 Foundry 缓存驱逐测试时间 [#154223](https://github.com/openclaw/openclaw/pull/154223)。
- 减少状态模型测试设置开销[#154267](https://github.com/openclaw/openclaw/pull/154267)。
- 从模型刷新回归测试 [#154270](https://github.com/openclaw/openclaw/pull/154270) 中删除固定等待。
- 种子测试凭据,无需加载本机插件 [#152058](https://github.com/openclaw/openclaw/pull/152058)。
- 分享 ACP CLI 模拟调用断言 [#137740](https://github.com/openclaw/openclaw/pull/137740)。
- 通过其生产解析器 [#147961](https://github.com/openclaw/openclaw/pull/147961) 测试超时选择。
- 重用具有可恢复获取模拟的提供者测试工作人员[#154290](https://github.com/openclaw/openclaw/pull/154290)。
- 在工作人员预算[#154319](https://github.com/openclaw/openclaw/pull/154319)内隔离普通Codex测试文件。
- 整合图像生成结果夹具[#154438](https://github.com/openclaw/openclaw/pull/154438)。
- 在 Anthropic 测试 [#154479](https://github.com/openclaw/openclaw/pull/154479) 中验证 Vertex 端点资格。
- 从 llama.cpp 重新加载测试 [#154536](https://github.com/openclaw/openclaw/pull/154536) 中删除实时等待。
- 巩固网络搜索配置测试[#154709](https://github.com/openclaw/openclaw/pull/154709)。
- 共享捆绑的网络搜索清单固定装置 [#154732](https://github.com/openclaw/openclaw/pull/154732)。
- 从 Codex 取消订阅测试 [#154752](https://github.com/openclaw/openclaw/pull/154752) 中删除挂钟等待。
- 恢复Firecrawl刮截截断测试[#154820](https://github.com/openclaw/openclaw/pull/154820)。
- 避免在本机 Codex 终结器测试 [#155008](https://github.com/openclaw/openclaw/pull/155008) 中进行不必要的重试。
- 巩固执行目标策略测试[#155060](https://github.com/openclaw/openclaw/pull/155060)。
- 在Codex动态工具测试[#155776](https://github.com/openclaw/openclaw/pull/155776)中共享请求夹具。
**错误修复**
- 恢复安装包代码模式验证[#153442](https://github.com/openclaw/openclaw/pull/153442)。
- 仅使用 JavaScript- 参数 [f5aeb9e3](https://github.com/openclaw/openclaw/commit/f5aeb9e3671fcb29326975fde737e2720f5a19ad) 对齐代码模式模拟调用。感谢 [@steipete](https://github.com/steipete).
- 测试后期 Codex 输出,而不假设退出顺序 [#153210](https://github.com/openclaw/openclaw/pull/153210)。
- 恢复Codex会话绑定实时测试覆盖范围[#153610](https://github.com/openclaw/openclaw/pull/153610)。
- 稳定本机Codex恢复取消夹具[#153642](https://github.com/openclaw/openclaw/pull/153642)。
- 在运行器负载 [#153648](https://github.com/openclaw/openclaw/pull/153648) 下稳定 Codex 子流程测试。
- 注册缺少 Codex 本机配置测试 [#151344](https://github.com/openclaw/openclaw/pull/151344)。
- 恢复 Codex 尝试套件测试所有权 [#151349](https://github.com/openclaw/openclaw/pull/151349)。
- 修复模型运行时回归设置[#153480](https://github.com/openclaw/openclaw/pull/153480)。
- 在预热 [#152090](https://github.com/openclaw/openclaw/pull/152090) 期间让配额测试观察员保持武装。
- 将恢复测试与后台会话发现隔离 [#152214](https://github.com/openclaw/openclaw/pull/152214)。
- Bind网上搜索测试治具进口前[#152380](https://github.com/openclaw/openclaw/pull/152380)。
- Control 目录恢复测试中的更新时间 [#151856](https://github.com/openclaw/openclaw/pull/151856)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 避免早期清理在附带问题测试中挂起 [#152009](https://github.com/openclaw/openclaw/pull/152009)。
- 同步 Codex 附带问题清理测试 [#152030](https://github.com/openclaw/openclaw/pull/152030)。
- 在Codex测试拆解[#152615](https://github.com/openclaw/openclaw/pull/152615)期间加入插件停用。
- 隔离配额测试和正确响应期望[#152752](https://github.com/openclaw/openclaw/pull/152752)。
- 使外部凭证刷新测试具有确定性 [#152771](https://github.com/openclaw/openclaw/pull/152771)。
- 正确的长工作区帐户历史记录固定装置 [#152798](https://github.com/openclaw/openclaw/pull/152798)。
- 在Codex沉降测试[#152966](https://github.com/openclaw/openclaw/pull/152966)中保持模拟宽限时间固定。
- 覆盖目录刷新测试中的分数时钟[#154152](https://github.com/openclaw/openclaw/pull/154152)。
- 稳定Codex推出预览回归计时[#154260](https://github.com/openclaw/openclaw/pull/154260)。
- 稳定嵌入 HTTP 测试清理 [75803008](https://github.com/openclaw/openclaw/commit/7580300825dc9539139a13d12bb6cccf05adc142)。感谢 [@steipete](https://github.com/steipete).
- Control 本机进程权限测试中的准入时序 [9247701e](https://github.com/openclaw/openclaw/commit/9247701e7ae351dc71e81e51d6628b49e2e13dee)。感谢 [@steipete](https://github.com/steipete).
- Control OpenAI 输出重试测试时序和清理 [aa099e49](https://github.com/openclaw/openclaw/commit/aa099e492dabc5e26c6ec0b5962bc637d5df1f7c)。感谢 [@steipete](https://github.com/steipete).
- Control 模型目录新鲜度测试更新 [b485dd0b](https://github.com/openclaw/openclaw/commit/b485dd0b988f40b6cdcd94fc516623f73c776a15)。感谢 [@steipete](https://github.com/steipete).
- 通过控制断言[b8d642df](https://github.com/openclaw/openclaw/commit/b8d642dfa4b84010e8ee8e7a3e3da925176d8382)保持ACPX测试提示处于活动状态。感谢 [@steipete](https://github.com/steipete).
- 将身份验证 QA 与缩短的会话错误 [#153946](https://github.com/openclaw/openclaw/pull/153946) 对齐。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在 ACPX Codex 夹具 [#154383](https://github.com/openclaw/openclaw/pull/154383) 中序列化请求。
- 等待生成权限测试中的同级清理 [#154435](https://github.com/openclaw/openclaw/pull/154435)。
- 在冷启动 [#154683](https://github.com/openclaw/openclaw/pull/154683) 期间稳定 Codex 一次性清理测试。
- Isolate Bedrock 嵌入构造函数模拟 [#154722](https://github.com/openclaw/openclaw/pull/154722)。
- 稳定Codex工艺准备夹具定时[#154742](https://github.com/openclaw/openclaw/pull/154742)。
- 在生成测试中加入撤销的收集器清理[#154783](https://github.com/openclaw/openclaw/pull/154783)。
- 在测试取消之前等待Codex转向准备状态[#155140](https://github.com/openclaw/openclaw/pull/155140)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 无挂钟阈值的测试模型准备情况 [#155274](https://github.com/openclaw/openclaw/pull/155274)。
- 将目标模拟与提供商身份验证测试 [#155502](https://github.com/openclaw/openclaw/pull/155502) 隔离。感谢 [@shakkernerd](https://github.com/shakkernerd).
- 将 Codex 尝试夹具与准备和清理 [#155555](https://github.com/openclaw/openclaw/pull/155555) 同步。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 稳定Codex启动重试测试[#155612](https://github.com/openclaw/openclaw/pull/155612)。感谢 [@jalehman](https://github.com/jalehman).
- 同步QuickJS工人争用测试[#155624](https://github.com/openclaw/openclaw/pull/155624)。
- 稳定代码模式队列公平性测试[#155660](https://github.com/openclaw/openclaw/pull/155660)。
- 使本机 Codex 输出保真度测试可移植到受限制的 Linux 主机 [#156132](https://github.com/openclaw/openclaw/pull/156132)。
数据库测试完成待处理的工作并在删除临时文件之前关闭其读取器。套件还会在适当的情况下重用准备好的数据库,同时清除每个案例的状态。
来源和完整变更列表
**改进**
- 减少保留测试设置中的冗余转录工作[#152781](https://github.com/openclaw/openclaw/pull/152781)。
- 减少串行工作板测试中的工作器设置 [#151668](https://github.com/openclaw/openclaw/pull/151668)。
- 删除重复的数据库读取器清理映射 [#154266](https://github.com/openclaw/openclaw/pull/154266)。
- 隔离元数据保留堆扫描 [#152063](https://github.com/openclaw/openclaw/pull/152063)。
- 减少串行工作板测试开销[#153904](https://github.com/openclaw/openclaw/pull/153904)。
- 复用Doctor插件修复测试数据库[#153920](https://github.com/openclaw/openclaw/pull/153920)。
- 复用配置写入和恢复测试准备[#153927](https://github.com/openclaw/openclaw/pull/153927)。
- 复用准备好的网关测试数据库[#153948](https://github.com/openclaw/openclaw/pull/153948)。
- 避免工作程序在串行工作板测试中启动 [#154086](https://github.com/openclaw/openclaw/pull/154086)。
- 减少串行工作板测试启动开销[#154103](https://github.com/openclaw/openclaw/pull/154103)。
- 减少网关数据库固定装置开销[#154127](https://github.com/openclaw/openclaw/pull/154127)。
- 减少会话读取测试设置工作[#154238](https://github.com/openclaw/openclaw/pull/154238)。
- 将出站迁移测试集中在维护清理[#154123](https://github.com/openclaw/openclaw/pull/154123)上。
- 在Doctor SQLite测试用例[#153929](https://github.com/openclaw/openclaw/pull/153929)中重用快照工作人员。
- Doctor维护锁定测试中的共享同步[#154379](https://github.com/openclaw/openclaw/pull/154379)。
- 将失败上下文添加到会话清理测试 [#154905](https://github.com/openclaw/openclaw/pull/154905)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 覆盖会话历史记录中的重叠结算WAL恢复[#155009](https://github.com/openclaw/openclaw/pull/155009)。
- 对完整内存数据库缓冲区使用本机断言 [#155013](https://github.com/openclaw/openclaw/pull/155013)。
- 重复使用经操作员批准的隔离测试存储[#155434](https://github.com/openclaw/openclaw/pull/155434)。
- 重复使用普通模型准入测试的存储夹具[#155529](https://github.com/openclaw/openclaw/pull/155529)。
- 重复使用物理 SQLite 夹具进行会话 PR- 访问测试 [#155626](https://github.com/openclaw/openclaw/pull/155626)。
**错误修复**
- 将代理维护装置与通道发现隔离 [#153665](https://github.com/openclaw/openclaw/pull/153665)。
- 通过运行时开启器[#151283](https://github.com/openclaw/openclaw/pull/151283)初始化工作测试SQLite装置。
- 关闭测试文件之间保留的代理读取器 [#153749](https://github.com/openclaw/openclaw/pull/153749)。
- 在夹具移除之前排出转录测试数据库[#153534](https://github.com/openclaw/openclaw/pull/153534)。
- 删除临时文件[#153591](https://github.com/openclaw/openclaw/pull/153591)之前Drain心跳夹具状态。
- 在删除harness测试文件 [#153663](https://github.com/openclaw/openclaw/pull/153663) 之前等待共享状态清理。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在范围测试清理期间关闭身份验证数据库读取器 [#151676](https://github.com/openclaw/openclaw/pull/151676)。
- 完成配置的会话数据库[#151719](https://github.com/openclaw/openclaw/pull/151719)的测试清理。
- 将数据库夹具清理与测试观察分开 [#153479](https://github.com/openclaw/openclaw/pull/153479)。
- 在测试存储清理之前等待保留的网关工作 [#151550](https://github.com/openclaw/openclaw/pull/151550)。
- 在 SQLite 生命周期验证 [#151601](https://github.com/openclaw/openclaw/pull/151601) 中识别已完成的中止。
- 等待引文测试中的持续召回[#153305](https://github.com/openclaw/openclaw/pull/153305)。
- 在测试文件 [#153345](https://github.com/openclaw/openclaw/pull/153345) 之间隔离 SQLite 清理。
- 将会话保留测试与提供程序发现隔离 [#152785](https://github.com/openclaw/openclaw/pull/152785)。
- 在测试清理期间丢弃被拒绝的待处理写入器 [#152826](https://github.com/openclaw/openclaw/pull/152826)。
- 在数据库关闭之前完成语音夹具清理[#153064](https://github.com/openclaw/openclaw/pull/153064)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- 防止归档测试泄漏文件系统模式[#154138](https://github.com/openclaw/openclaw/pull/154138)。
- 退出测试文件之间的共享数据库读取池[#154206](https://github.com/openclaw/openclaw/pull/154206)。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 扩展共享数据库读取器清理回归[#154214](https://github.com/openclaw/openclaw/pull/154214)。
- 在更换 ClickClack 夹具 [#152061](https://github.com/openclaw/openclaw/pull/152061) 之前完成 SQLite 清理。
- 在夹具拆卸前关闭任务测试工人[#154083](https://github.com/openclaw/openclaw/pull/154083)。
- 删除之前关闭会话固定装置身份数据库 [#151877](https://github.com/openclaw/openclaw/pull/151877)。
- 发现已安装的 Homebrew Python 用于存档夹具 [#152676](https://github.com/openclaw/openclaw/pull/152676)。
- 在测试拆解中等待 cron 清理所有权 [#152595](https://github.com/openclaw/openclaw/pull/152595)。
- 在轨迹导出测试中等待数据库清理[#152673](https://github.com/openclaw/openclaw/pull/152673)。
- 在后续测试之前完成音乐装置退役 [#152700](https://github.com/openclaw/openclaw/pull/152700)。
- 在删除[#152780](https://github.com/openclaw/openclaw/pull/152780)之前完成配套夹具数据库清理。
- 在大突变[#153068](https://github.com/openclaw/openclaw/pull/153068)后同步SQLite清理测试。
- 使活动内存超时测试独立于运行器延迟 [#154049](https://github.com/openclaw/openclaw/pull/154049)。
- 隔离退役代理清理夹具[#153286](https://github.com/openclaw/openclaw/pull/153286)。
- 在技能测试夹具移除 [103115f2](https://github.com/openclaw/openclaw/commit/103115f2f0b11844d5cf5766424b6ab8e1e5cf01) 之前排空数据库工作人员。感谢 [@steipete](https://github.com/steipete).
- 在更新测试清理 [2a820f48](https://github.com/openclaw/openclaw/commit/2a820f484186de3618f0dc98bf92e3c4cc69109e) 之前耗尽数据库工作人员。感谢 [@steipete](https://github.com/steipete).
- 等待会话存储测试维护和清理[48883d72](https://github.com/openclaw/openclaw/commit/48883d72753bfe7f90ce6871b2cc8b41b9c789da)。感谢 [@steipete](https://github.com/steipete).
- 将会话列表测试与夹具维护隔离 [4d50b52b](https://github.com/openclaw/openclaw/commit/4d50b52bce2bd7b18a39d888ea464f167a29ce11)。感谢 [@steipete](https://github.com/steipete).
- 在测试生命周期清理 [6110505e](https://github.com/openclaw/openclaw/commit/6110505e6d475eff9e58029a2506177a07833728) 期间消耗空闲 SQLite 协调器。感谢 [@steipete](https://github.com/steipete).
- 在移除夹具状态[6d65c8b7](https://github.com/openclaw/openclaw/commit/6d65c8b7f229641bf9b32e16da2c0fec1b64079f)之前等待医生测试清理。感谢 [@steipete](https://github.com/steipete).
- 将会话存储测试路由到其数据库工作主机 [784631f8](https://github.com/openclaw/openclaw/commit/784631f8118761e77fb956dd03c4a2d6938e5f50)。感谢 [@steipete](https://github.com/steipete).
- 将持久会话读取装置与捆绑插件启动 [95221a89](https://github.com/openclaw/openclaw/commit/95221a8922d27d4b69d186cfde5065c0bba962b6) 隔离。感谢 [@steipete](https://github.com/steipete).
- 在删除固定装置[#154355](https://github.com/openclaw/openclaw/pull/154355)之前Drain工作人员测试数据库。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 让cron测试工具拥有SQLite清理[#154458](https://github.com/openclaw/openclaw/pull/154458)。
- 当资源清理失败时保留测试宿主 [#154759](https://github.com/openclaw/openclaw/pull/154759)。
- 在一致性测试中等待会话存档完成 [#154838](https://github.com/openclaw/openclaw/pull/154838)。
- 在删除夹具[#154898](https://github.com/openclaw/openclaw/pull/154898)之前完成悬挂测试清理。
- 进行恢复测试,观察承诺的结果[#154995](https://github.com/openclaw/openclaw/pull/154995)。
- 同步挂起的会话恢复测试[#155028](https://github.com/openclaw/openclaw/pull/155028)。感谢 [@VACInc](https://github.com/VACInc).
- 隔离磁盘工作人员退休观察结果 [#155124](https://github.com/openclaw/openclaw/pull/155124)。谢谢[@stevenlee-oai](https://github.com/stevenlee-oai),[@kevinlin-openai](https://github.com/kevinlin-openai).
- 属性拆解失败并继续独立清理[#155312](https://github.com/openclaw/openclaw/pull/155312)。
- 在测试之间隔离代理记录器存储 [#155366](https://github.com/openclaw/openclaw/pull/155366)。
- 隔离导航谱系夹具存储[#155373](https://github.com/openclaw/openclaw/pull/155373)。
- 将记忆遗忘设置与自动保留隔离 [#155423](https://github.com/openclaw/openclaw/pull/155423)。
- E在权限保留测试之前建立有效的目录组 [#155489](https://github.com/openclaw/openclaw/pull/155489)。
- 稳定医生OAuth取消测试[#155556](https://github.com/openclaw/openclaw/pull/155556)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在配置写入测试 [#155568](https://github.com/openclaw/openclaw/pull/155568) 之间隔离 SQLite 状态。
- 隔离嵌入 HTTP 清理测试状态 [#155703](https://github.com/openclaw/openclaw/pull/155703)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在夹具拆卸之前完成存档放置请求 [#155751](https://github.com/openclaw/openclaw/pull/155751)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 数据库拆卸前解决存档测试工作[#155701](https://github.com/openclaw/openclaw/pull/155701)。感谢 [@vincentkoc](https://github.com/vincentkoc).
代理执行、会话和计划工作共享更多现有的准备和清理代码。这些更改删除了重复查找、临时副本和未使用的导入,同时保留当前的路由和恢复规则。
来源和完整变更列表
**改进**
- 巩固代理准备和回复调度[#152399](https://github.com/openclaw/openclaw/pull/152399)。
- 合并代理工具目录和模型出版物[#152467](https://github.com/openclaw/openclaw/pull/152467)。
- 避免自动化投影 [#152029](https://github.com/openclaw/openclaw/pull/152029) 中未使用的 SQL-row 准备。
- 删除未使用的内部数组包装器[#153233](https://github.com/openclaw/openclaw/pull/153233)。
- 简化API错误负载解析[#151776](https://github.com/openclaw/openclaw/pull/151776)。
- 简化内部网关会话名称选择 [#147984](https://github.com/openclaw/openclaw/pull/147984)。
- 历史记录的批量自动化名称查找[#152054](https://github.com/openclaw/openclaw/pull/152054)。
- 扫描回复前选择传送镜像匹配[#151806](https://github.com/openclaw/openclaw/pull/151806)。
- 避免在日志轮询期间重复文件元数据读取 [#151961](https://github.com/openclaw/openclaw/pull/151961)。
- 将未更改的规范JSON重新用于文件日志[#152082](https://github.com/openclaw/openclaw/pull/152082)。
- 简化工具进程中的文件路径分组[#151780](https://github.com/openclaw/openclaw/pull/151780)。
- 与ask_user [#151395](https://github.com/openclaw/openclaw/pull/151395)共享规范验证。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 避免重复后台工作人员注册扫描 [#151997](https://github.com/openclaw/openclaw/pull/151997)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在组装恢复文本[#151817](https://github.com/openclaw/openclaw/pull/151817)时重复使用标准化回复。
- 简化重启恢复所有权和准入[#152969](https://github.com/openclaw/openclaw/pull/152969)。
- 删除段落规划[#151695](https://github.com/openclaw/openclaw/pull/151695)中的冗余空白工作。
- 重用标准化入站消息字段[#152110](https://github.com/openclaw/openclaw/pull/152110)。
- 在处理命令输出 [#152261](https://github.com/openclaw/openclaw/pull/152261) 时重用空闲定时器。
- 在运行时所有者重新绑定 [#151992](https://github.com/openclaw/openclaw/pull/151992) 期间重用准备好的输入。
- 一致地使用紧凑型 JSON 序列化器参数 [#152013](https://github.com/openclaw/openclaw/pull/152013)。
- 在代理事件发射[#152729](https://github.com/openclaw/openclaw/pull/152729)中重用共享状态。
- 整合运行时适配器并删除过时的实现[#152277](https://github.com/openclaw/openclaw/pull/152277)。
- 减少运行时检查中的重复环境读取[#152715](https://github.com/openclaw/openclaw/pull/152715)。
- 整合 cron 结果和观察程序更新 [#152376](https://github.com/openclaw/openclaw/pull/152376)。
- 在排出 cron 输出时避免不必要的复制 [#151890](https://github.com/openclaw/openclaw/pull/151890)。
- 减少单个会话广播中的临时分配[#151551](https://github.com/openclaw/openclaw/pull/151551)。
- 共享会话密钥规范化而不改变行为 [#153868](https://github.com/openclaw/openclaw/pull/153868)。
- 在会话中重复使用准备好的思维策略刷新[#151934](https://github.com/openclaw/openclaw/pull/151934)。
- 合并会话标题请求所有权 [#153871](https://github.com/openclaw/openclaw/pull/153871)。感谢 [@VACInc](https://github.com/VACInc).
- 合并会话列表工具合约[#151034](https://github.com/openclaw/openclaw/pull/151034)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 将会话历史记录架构与网关合约 [#151038](https://github.com/openclaw/openclaw/pull/151038) 对齐。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 限制未使用的上下文身份规范化[#151655](https://github.com/openclaw/openclaw/pull/151655)。
- Defer 可选网关启动初始化 [#151547](https://github.com/openclaw/openclaw/pull/151547)。
- 避免 Markdown 导入用于进度工具识别 [#151800](https://github.com/openclaw/openclaw/pull/151800)。
- 在工具调用流中共享辅助事件溢出处理[#149282](https://github.com/openclaw/openclaw/pull/149282)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 简化子代理恢复和控制内部结构 [#151199](https://github.com/openclaw/openclaw/pull/151199)。
- 一次性对任务状态记录进行分类 [#152346](https://github.com/openclaw/openclaw/pull/152346)。
- 简化实时CLI任务活动观察[#152507](https://github.com/openclaw/openclaw/pull/152507)。
- 集中现有文件命令显示标签[#149072](https://github.com/openclaw/openclaw/pull/149072)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 删除冗余工具库存副本 [#152898](https://github.com/openclaw/openclaw/pull/152898)。
- 简化 MCP 刀具库存装配 [#151612](https://github.com/openclaw/openclaw/pull/151612)。
- 将更新修复轮次执行与编排[fbea7971](https://github.com/openclaw/openclaw/commit/fbea7971ff4a401cf1304155ab805619ac1b8a58)分开。感谢 [@romneyda](https://github.com/romneyda).
- 避免使用聚合中的临时输入副本 [#151643](https://github.com/openclaw/openclaw/pull/151643)。
- 整合工作人员和模型回退处理[#152268](https://github.com/openclaw/openclaw/pull/152268)。
- 整合工作人员放置和节点执行内部[#153019](https://github.com/openclaw/openclaw/pull/153019)。
- 重用规范会话可见性类型 [#125265](https://github.com/openclaw/openclaw/pull/125265)。
- 简化代理处理程序测试依赖性 [#145422](https://github.com/openclaw/openclaw/pull/145422)。
- 减少为Codex历史准备[#154404](https://github.com/openclaw/openclaw/pull/154404)加载的依赖项。
- 减少会话历史记录读取器依赖性 [#154740](https://github.com/openclaw/openclaw/pull/154740)。
- 删除未使用的任务流观察器回调 [#154863](https://github.com/openclaw/openclaw/pull/154863)。
- 将子代理生成覆盖移至测试支持 [#154867](https://github.com/openclaw/openclaw/pull/154867)。
- Move 公告覆盖测试支持 [#154985](https://github.com/openclaw/openclaw/pull/154985)。
- 删除仅测试对话依赖项覆盖 [#155058](https://github.com/openclaw/openclaw/pull/155058)。
- 删除未使用的Codex工具进度状态[#155069](https://github.com/openclaw/openclaw/pull/155069)。
- 简化网关节点事件依赖性和测试装置[#155098](https://github.com/openclaw/openclaw/pull/155098)。
- 删除任务维护依赖性覆盖 [#155120](https://github.com/openclaw/openclaw/pull/155120)。
- 删除生产代理步骤测试注册表[#155125](https://github.com/openclaw/openclaw/pull/155125)。
- 删除任务注册表测试运行时覆盖 [#155157](https://github.com/openclaw/openclaw/pull/155157)。
- 在设置过程中重新使用解析的聊天会话所有权 [#155664](https://github.com/openclaw/openclaw/pull/155664)。
- 隔离子代理生命周期测试和基准测试装置[#155727](https://github.com/openclaw/openclaw/pull/155727)。
- 验证内部流式回复源出现情况 [#155821](https://github.com/openclaw/openclaw/pull/155821)。感谢 [@giodl73-repo](https://github.com/giodl73-repo).
- 在激活 [ee8f55c4](https://github.com/openclaw/openclaw/commit/ee8f55c4e102664d1ccf4c9c20e7b2963a900f41) 期间保留可观察的 systemd 所有权检查。
工具和模型持续时间直方图的临时扩展已恢复,现有的有限桶以十秒结束。任何部署了简短的主分支扩展的人都应该比较公共存储桶边界或在回滚过程中将观察结果分开。源列表还保留了编解码器导入修复的功劳,其合并没有添加进一步的更改。
来源和完整变更列表
**改进**
- 记录CI头再同步记账[80c826bf](https://github.com/openclaw/openclaw/commit/80c826bf9905520aae8d6044951e89487d4920f9)。感谢 [@steipete](https://github.com/steipete).
**错误修复**
- 空合并后保留编解码器导入修复信用[#154014](https://github.com/openclaw/openclaw/pull/154014)。感谢 [@RomneyDa](https://github.com/RomneyDa).
**限制和兼容性**
- 记录随后恢复的持续时间桶扩展 [#152226](https://github.com/openclaw/openclaw/pull/152226)。感谢 [@bek91](https://github.com/bek91).
- 恢复默认工具和模型直方图桶[#152292](https://github.com/openclaw/openclaw/pull/152292)。感谢 [@bek91](https://github.com/bek91).
Swift 和 Android 测试重用准备并等待可观察的准备情况,而 Apple 目录检查遵循当前应用程序文本。 Windows 生命周期装置保留其编译文件,直到清理完成。
来源和完整变更列表
**改进**
- 减少 Swift 测试执行开销 [#154100](https://github.com/openclaw/openclaw/pull/154100)。
- 减少 Swift 测试执行时间 [#154190](https://github.com/openclaw/openclaw/pull/154190)。
- 重叠独立的Android诊断测试观察结果[#153472](https://github.com/openclaw/openclaw/pull/153472)。
- 稳定 macOS 准备时间和安装程序测试 [#154269](https://github.com/openclaw/openclaw/pull/154269)。
- 从模拟计划任务测试 [#154488](https://github.com/openclaw/openclaw/pull/154488) 中删除实际等待。
- 减少 Xcode 27 iOS 冒烟测试开销 [#155417](https://github.com/openclaw/openclaw/pull/155417)。
**错误修复**
- 等待Android差异测试[#152908](https://github.com/openclaw/openclaw/pull/152908)中的背景宽度测量。谢谢[@saariuslystoned](https://github.com/saariuslystoned),[@iwhatsskill](https://github.com/iwhatsskill).
- 从目录期望 [#153363](https://github.com/openclaw/openclaw/pull/153363) 中删除已停用的 iOS 文本。
- 从托管编译夹具 [#148185](https://github.com/openclaw/openclaw/pull/148185) 运行 Windows 生命周期探针。感谢 [@jalehman](https://github.com/jalehman).
- 隔离Windows测试工作子进程管道[438046f8](https://github.com/openclaw/openclaw/commit/438046f8d903116412d1de42bd55a1a33dd7de26)。感谢 [@steipete](https://github.com/steipete).
- 同步 Android 释放探针超时夹具 [b4f1fec1](https://github.com/openclaw/openclaw/commit/b4f1fec13ae8978d7ec58f86d3738d3414d457d9)。感谢 [@steipete](https://github.com/steipete).
- Isolate MXC 测试环境覆盖 [c9d2f750](https://github.com/openclaw/openclaw/commit/c9d2f750e5365190a0a7f8eef3240724c08c96cd)。感谢 [@steipete](https://github.com/steipete).
- 将恢复测试与工作人员完成情况同步 [#154800](https://github.com/openclaw/openclaw/pull/154800)。
- Isolate macOS 启动代理测试中心 [#155551](https://github.com/openclaw/openclaw/pull/155551)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在 macOS 测试 [#155645](https://github.com/openclaw/openclaw/pull/155645) 中观察计划作业刷新准备情况。
- 稳定 macOS 快速聊天发布验证测试 [#156134](https://github.com/openclaw/openclaw/pull/156134)。
网关和命令测试更明确地协调启动、后台工作和拆卸。隔离的端口、配置文件和工作区固定装置有助于保留完整工作流程的覆盖范围,而不会让无关的活动干扰断言。
来源和完整变更列表
**改进**
- 缩短CLI清理过程测试等待[#151116](https://github.com/openclaw/openclaw/pull/151116)。感谢 [@romneyda](https://github.com/romneyda).
- 共享压实测试夹具[#153439](https://github.com/openclaw/openclaw/pull/153439)。
- 提前Cron结算等待测试[#153323](https://github.com/openclaw/openclaw/pull/153323)。
- 通过现有Doctor接口[#148964](https://github.com/openclaw/openclaw/pull/148964)测试心跳修复。
- Reduce 在网关生命周期测试中等待 [#153324](https://github.com/openclaw/openclaw/pull/153324)。
- 从离线放置测试 [#151082](https://github.com/openclaw/openclaw/pull/151082) 中删除活动节点等待。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 共享网关测试门并加强取消订购[#151274](https://github.com/openclaw/openclaw/pull/151274)。
- Speed代理截止时间测试和绑定夹具读取[#153292](https://github.com/openclaw/openclaw/pull/153292)。
- 缩短重复请求恢复QA等待[#151098](https://github.com/openclaw/openclaw/pull/151098)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 重复使用新鲜端子台测试夹具[#153385](https://github.com/openclaw/openclaw/pull/153385)。
- 在配置文件证据工作流程测试中重用磁盘缓存 [#151556](https://github.com/openclaw/openclaw/pull/151556)。
- 避免在生成测试中使用未使用的父工作树[#151710](https://github.com/openclaw/openclaw/pull/151710)。
- 整合原生广播测试夹具[#151591](https://github.com/openclaw/openclaw/pull/151591)。
- 在唤醒测试中重用延迟承诺设置 [#151631](https://github.com/openclaw/openclaw/pull/151631)。
- 巩固命令显示格式测试[#151824](https://github.com/openclaw/openclaw/pull/151824)。
- 共享语音会话测试夹具助手[#154085](https://github.com/openclaw/openclaw/pull/154085)。
- Share Talk 语音提供商测试夹具 [#154099](https://github.com/openclaw/openclaw/pull/154099)。
- 在 Talk harness测试 [#154142](https://github.com/openclaw/openclaw/pull/154142) 中重复使用提供商固定装置。
- 重复使用多文件引导预算装置[#154254](https://github.com/openclaw/openclaw/pull/154254)。
- 在 cron 提供者预检测试中重用请求防护 [#137803](https://github.com/openclaw/openclaw/pull/137803)。
- 在诊断阶段测试中重复使用延迟夹具[#137928](https://github.com/openclaw/openclaw/pull/137928)。
- 减少测试中的假网关启动开销[#152443](https://github.com/openclaw/openclaw/pull/152443)。
- Share Claw资源更新测试计划[#151871](https://github.com/openclaw/openclaw/pull/151871)。
- 共享所需压实测试夹具[#152444](https://github.com/openclaw/openclaw/pull/152444)。
- 共享启动语料库固定装置,而不删除变体[#152767](https://github.com/openclaw/openclaw/pull/152767)。
- 将标量回归案例合并到命名表 [#152855](https://github.com/openclaw/openclaw/pull/152855) 中。
- 整合重复启动语料数据[#152964](https://github.com/openclaw/openclaw/pull/152964)。
- 巩固配置诊断源位置测试[#153590](https://github.com/openclaw/openclaw/pull/153590)。
- 重复使用共享车队移除夹具[#153759](https://github.com/openclaw/openclaw/pull/153759)。
- 删除重复的 PDF 辅助验证测试 [#153808](https://github.com/openclaw/openclaw/pull/153808)。
- 删除多余的换行符分块覆盖[#153998](https://github.com/openclaw/openclaw/pull/153998)。
- 简化引导预算测试[#154197](https://github.com/openclaw/openclaw/pull/154197)。
- 重复使用Doctor和Gateway测试夹具[#153986](https://github.com/openclaw/openclaw/pull/153986)。
- 从语音超时测试 [#154092](https://github.com/openclaw/openclaw/pull/154092) 中删除实际等待。
- 从终端会话标签测试 [#154146](https://github.com/openclaw/openclaw/pull/154146) 中删除固定等待。
- 在Doctor测试[#154172](https://github.com/openclaw/openclaw/pull/154172)中重用迁移运行时准备。
- 合并警告过滤器测试和私人助手[#153255](https://github.com/openclaw/openclaw/pull/153255)。
- 减少工作区恢复测试中的人工等待[#153247](https://github.com/openclaw/openclaw/pull/153247)。
- 在流完成测试中重用准备好的网关[e914feb1](https://github.com/openclaw/openclaw/commit/e914feb121b02591e45ff0233d57442c996d0acd)。感谢 [@steipete](https://github.com/steipete).
- 在Doctor预览输出中覆盖插件警告[#148137](https://github.com/openclaw/openclaw/pull/148137)。
- 减少冗余代理管理 CLI 过程测试 [#153993](https://github.com/openclaw/openclaw/pull/153993)。感谢 [@romneyda](https://github.com/romneyda).
- 减少冗余会话 CLI 过程测试 [#153994](https://github.com/openclaw/openclaw/pull/153994)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 重复使用模型刷新测试进行迁移诊断 [#153995](https://github.com/openclaw/openclaw/pull/153995)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 减少冗余的爪生命周期过程测试[#153996](https://github.com/openclaw/openclaw/pull/153996)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 减少网关测试中的大缓冲区断言成本[#154351](https://github.com/openclaw/openclaw/pull/154351)。
- 在运行时构造经过身份验证的测试 URL [#154442](https://github.com/openclaw/openclaw/pull/154442)。
- 记录随后逆转的技能CLI测试还原[#154579](https://github.com/openclaw/openclaw/pull/154579)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在服务器拆卸之前关闭浏览器测试客户端 [#154850](https://github.com/openclaw/openclaw/pull/154850)。
- 在 cron 测试中重用共享模拟调用防护 [#155042](https://github.com/openclaw/openclaw/pull/155042)。
- 使用准备好的运行时[#155055](https://github.com/openclaw/openclaw/pull/155055)运行Doctor输出测试。
- 巩固配置环境测试治具[#155062](https://github.com/openclaw/openclaw/pull/155062)。
- Consolidate Gateway 服务器测试夹具 [#155063](https://github.com/openclaw/openclaw/pull/155063)。感谢 [@ddupg](https://github.com/ddupg).
- 整合迁移和调度程序测试夹具[#155064](https://github.com/openclaw/openclaw/pull/155064)。
- 合并嵌套 Markdown 列表测试 [#155217](https://github.com/openclaw/openclaw/pull/155217)。
- Reuse Gateway 测试完成助手 [#155319](https://github.com/openclaw/openclaw/pull/155319)。
- 减少重复的代理和网关测试设置[#155562](https://github.com/openclaw/openclaw/pull/155562)。
- 在批准拒绝测试中跳过不必要的设置[#155655](https://github.com/openclaw/openclaw/pull/155655)。
- 重复使用网关夹具进行配置测试[#155709](https://github.com/openclaw/openclaw/pull/155709)。
- 测试批准启动和发布订购以及已解决的请求 [4aad139b](https://github.com/openclaw/openclaw/commit/4aad139b0c90d2e9dce02469d0f4453dba7250a9)。
**错误修复**
- 在清理之前等待网关和任务测试工作 [#153877](https://github.com/openclaw/openclaw/pull/153877)。
- 恢复CLI无效输入验证覆盖范围[#151974](https://github.com/openclaw/openclaw/pull/151974)。
- 从 cron 实时测试回复断言 [#153715](https://github.com/openclaw/openclaw/pull/153715) 中排除计划输入。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在删除存储 [#153603](https://github.com/openclaw/openclaw/pull/153603) 之前停止 cron 夹具计时器。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 防止桌面诊断测试中的端口重用 [#153429](https://github.com/openclaw/openclaw/pull/153429)。
- 避免诊断清理测试中的冷运行时加载 [#153615](https://github.com/openclaw/openclaw/pull/153615)。
- 将 cron 重新加载装置与心跳工作隔离 [#151293](https://github.com/openclaw/openclaw/pull/151293)。
- 防止并行网关装置共享已声明的端口 [#151737](https://github.com/openclaw/openclaw/pull/151737)。
- 在网关沙箱测试 [cc96aefe](https://github.com/openclaw/openclaw/commit/cc96aefe25bb208aa17dd5620a433d528ccda4be) 中避免 Linux 客户端端口冲突。
- 使环回测试端口分配更加可靠 [#151318](https://github.com/openclaw/openclaw/pull/151318)。
- 在网络设备[#152143](https://github.com/openclaw/openclaw/pull/152143)中使用网关WebSocket传输。
- 验证预期的搁浅回复故障诊断 [#151889](https://github.com/openclaw/openclaw/pull/151889)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 修复QA子代理产量和后续验证[#152048](https://github.com/openclaw/openclaw/pull/152048)。
- 将 QA 网关配置文件与已安装的服务 [#153659](https://github.com/openclaw/openclaw/pull/153659) 隔离。
- 保留 QA 跨代理拒绝场景 [#150556](https://github.com/openclaw/openclaw/pull/150556)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 稳定超时恢复交付测试[#152100](https://github.com/openclaw/openclaw/pull/152100)。
- 报告错过了未清理的 Talk 测试注册挂起 [#152177](https://github.com/openclaw/openclaw/pull/152177)。
- 将生成回退测试与延迟心跳隔离 [#152183](https://github.com/openclaw/openclaw/pull/152183)。
- 将重试测试与持久运行特定的完成 [#152184](https://github.com/openclaw/openclaw/pull/152184) 对齐。
- 将不稳定的任务列表测试突变与扫描 [#152213](https://github.com/openclaw/openclaw/pull/152213) 同步。
- Settle 在后续测试 [#152215](https://github.com/openclaw/openclaw/pull/152215) 之前取消了 MCP 问题夹具。
- 恢复清理前分流夹具环境 [#152306](https://github.com/openclaw/openclaw/pull/152306)。
- 等待占用测试中的成绩单生命周期完成 [#152321](https://github.com/openclaw/openclaw/pull/152321)。
- 将沙箱固定装置与固定容器标识 [#153536](https://github.com/openclaw/openclaw/pull/153536) 对齐。
- 恢复可见子生命周期测试助手[#153527](https://github.com/openclaw/openclaw/pull/153527)。
- 通过持久任务所有者 [#153763](https://github.com/openclaw/openclaw/pull/153763) 恢复请求者路由固定装置。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在删除临时状态 [#153785](https://github.com/openclaw/openclaw/pull/153785) 之前等待子夹具清理。
- 在注册表测试清理之前等待任务事件 [#153302](https://github.com/openclaw/openclaw/pull/153302)。
- 在后续固定装置 [#154177](https://github.com/openclaw/openclaw/pull/154177) 之前停止任务分页测试突变。
- 在 Tailscale 警告测试 [#151922](https://github.com/openclaw/openclaw/pull/151922) 中隔离编辑状态。
- 将子代理完成测试与浏览器清理[#152779](https://github.com/openclaw/openclaw/pull/152779)隔离。
- 将状态超时装置与令牌身份验证 [#152928](https://github.com/openclaw/openclaw/pull/152928) 对齐。
- 防止在拒绝的上游测试中重用端口 [#153947](https://github.com/openclaw/openclaw/pull/153947)。
- 等待路由测试中存储的转录本准备情况 [#153351](https://github.com/openclaw/openclaw/pull/153351)。
- 在选择测试中等待成绩单启动 [#153376](https://github.com/openclaw/openclaw/pull/153376)。
- 公开成绩单启动结算测试[#153317](https://github.com/openclaw/openclaw/pull/153317)。
- 在生产者测试中等待成绩单工人[#153336](https://github.com/openclaw/openclaw/pull/153336)。
- 将 WebSocket 夹具与活动网关传输 [#153559](https://github.com/openclaw/openclaw/pull/153559) 对齐。
- 恢复配对节点集成夹具准入[#153526](https://github.com/openclaw/openclaw/pull/153526)。
- 使工作区固定装置独立于允许的默认值[#153413](https://github.com/openclaw/openclaw/pull/153413)。
- 同步托管生命周期审批测试 [11e376cd](https://github.com/openclaw/openclaw/commit/11e376cd584f4f37fc0ea75131cc071b1951b62b)。感谢 [@steipete](https://github.com/steipete).
- 稳定心跳合并测试时序[175c0b7d](https://github.com/openclaw/openclaw/commit/175c0b7d54bc824d05dbe93560c7fe99241fb6b9)。感谢 [@steipete](https://github.com/steipete).
- 等待网关测试 [2c1ea519](https://github.com/openclaw/openclaw/commit/2c1ea51936098134a914960468077e838e519d3b) 中的配对批准发布。感谢 [@steipete](https://github.com/steipete).
- 恢复真正的网关桌面测试准备和批准所有权[538cb1ee](https://github.com/openclaw/openclaw/commit/538cb1eeda403b7a53ee1b95da2770a536bd855f)。感谢 [@steipete](https://github.com/steipete).
- 同步供应取消测试截止日期[6e2ac280](https://github.com/openclaw/openclaw/commit/6e2ac28079b144cd0d8cbd4a0f4d8a040b9875ff)。感谢 [@steipete](https://github.com/steipete).
- 在测试[720c3f4a](https://github.com/openclaw/openclaw/commit/720c3f4afadf4aa842fc8176b3f9ec081c3c2972)中等待排队的cron交付完成。感谢 [@steipete](https://github.com/steipete).
- 在拆卸 [94b9c471](https://github.com/openclaw/openclaw/commit/94b9c471535b4c6b088852ecf353f45e6cf63307) 之前解决归档生命周期测试请求。感谢 [@steipete](https://github.com/steipete).
- 等待重新加载测试中应用的配置[97e9ce9b](https://github.com/openclaw/openclaw/commit/97e9ce9bf66609a4c0667aa59f67d6206e95c543)。感谢 [@steipete](https://github.com/steipete).
- 在沉降测量[9a7984ef](https://github.com/openclaw/openclaw/commit/9a7984ef3daee304a4b684961964ddfbe687b7ff)之前准备时钟跳跃交付夹具。感谢 [@steipete](https://github.com/steipete).
- 等待解说媒体测试中的实际事件[b8330aee](https://github.com/openclaw/openclaw/commit/b8330aee631da52038209cd6800b27a023e2435c)。感谢 [@steipete](https://github.com/steipete).
- 将元数据生命周期测试与 CPU 采样 [c0533cfc](https://github.com/openclaw/openclaw/commit/c0533cfc31f01fe5fa275fab47924400c1b3777b) 隔离。感谢 [@steipete](https://github.com/steipete).
- 将 cron 心跳测试与生命周期事件 [d2b9c87a](https://github.com/openclaw/openclaw/commit/d2b9c87ac5ad035dc192e0556d53a9dc05993a71) 同步。感谢 [@steipete](https://github.com/steipete).
- 在 cron 测试中等待合并心跳完成 [dba638a9](https://github.com/openclaw/openclaw/commit/dba638a954fdec8b1ecb4ac8644a6c8eff4c390c)。感谢 [@steipete](https://github.com/steipete).
- 在签名运行时测试[dbb40250](https://github.com/openclaw/openclaw/commit/dbb402500e42afd00c0d60005a79e4c9ae3b4ec2)中等待批准发布。感谢 [@steipete](https://github.com/steipete).
- 在网关启动之前释放测试数据库租约 [dbdb5f9b](https://github.com/openclaw/openclaw/commit/dbdb5f9bfb483fc5e5c3afe8d4880c451024d768)。感谢 [@steipete](https://github.com/steipete).
- 在生命周期测试中等待 cron 准入事件 [e3c65f7d](https://github.com/openclaw/openclaw/commit/e3c65f7de2ffb3ded1a49da87c42fd6285dd13fc)。感谢 [@steipete](https://github.com/steipete).
- 将批准测试与注册确认[e43f5154](https://github.com/openclaw/openclaw/commit/e43f515442db4f60a06b2f7c4458cbce4cc8f601)同步。感谢 [@steipete](https://github.com/steipete).
- 测试拆解中加入维护通知传递[f469e13c](https://github.com/openclaw/openclaw/commit/f469e13c0b8e113cbfeaa92fb5e20247e7e35bad)。感谢 [@steipete](https://github.com/steipete).
- Control SSH 配对测试中的批准时间 [f87f23c4](https://github.com/openclaw/openclaw/commit/f87f23c483b4c5130f42f2451f0b03e36ea0effe)。感谢 [@steipete](https://github.com/steipete).
- 等待固定装置 [f914e0f5](https://github.com/openclaw/openclaw/commit/f914e0f5f86cb783ba9a45e55f9d7edb82c082f5) 中的预定恢复入场。感谢 [@steipete](https://github.com/steipete).
- 将 cron 切换测试与完成 [fd2c001c](https://github.com/openclaw/openclaw/commit/fd2c001cad2d1a08f352bb56bf6584fd5786aa9b) 同步。感谢 [@steipete](https://github.com/steipete).
- 在夹具重置之前等待会话发送回调 [#147167](https://github.com/openclaw/openclaw/pull/147167)。
- 使工作人员发布装置在主机umask [#154411](https://github.com/openclaw/openclaw/pull/154411)之间私有。
- 恢复内置进程技能CLI覆盖[#154686](https://github.com/openclaw/openclaw/pull/154686)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 保留 IPv6 门户测试端口所有权直至关闭 [#154833](https://github.com/openclaw/openclaw/pull/154833)。
- 正确的成绩单测试时钟和导出断言[#154902](https://github.com/openclaw/openclaw/pull/154902)。
- 在启动测试中等待承诺配对完成 [#155006](https://github.com/openclaw/openclaw/pull/155006)。
- 等待审批准备就绪并请求清理 [#155111](https://github.com/openclaw/openclaw/pull/155111)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 从初始端口冲突中恢复测试夹具[#155209](https://github.com/openclaw/openclaw/pull/155209)。
- 防止测试探针与预留端口[#155228](https://github.com/openclaw/openclaw/pull/155228)碰撞。
- 等待 Cron 测试子进程完成 [#155278](https://github.com/openclaw/openclaw/pull/155278)。
- 短期内单独的存储所有权测试[#155294](https://github.com/openclaw/openclaw/pull/155294)。感谢 [@jalehman](https://github.com/jalehman).
- 将重新加载测试与连接的模型出版物 [#155455](https://github.com/openclaw/openclaw/pull/155455) 对齐。谢谢[@RomneyDa](https://github.com/RomneyDa),[@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 在工作线程生命周期测试中保留真实的协调时钟[#155474](https://github.com/openclaw/openclaw/pull/155474)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在布局清理测试中保留工作人员协调时钟[#155530](https://github.com/openclaw/openclaw/pull/155530)。感谢 [@RomneyDa](https://github.com/RomneyDa)、[@vincentkoc](https://github.com/vincentkoc)、[@jalehman](https://github.com/jalehman).
- 在定时器泄漏故障后恢复诊断装置 [#155545](https://github.com/openclaw/openclaw/pull/155545)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在测试请求截止日期之前准备审批人员 [#155574](https://github.com/openclaw/openclaw/pull/155574)。
- 在请求截止日期之前准备批准测试存储[#155589](https://github.com/openclaw/openclaw/pull/155589)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 修复恢复请求者网关装置[#155621](https://github.com/openclaw/openclaw/pull/155621)。感谢 [@romneyda](https://github.com/romneyda)、[@vincentkoc](https://github.com/vincentkoc)、[@jalehman](https://github.com/jalehman).
- 等待 SSH 测试中的配对批准清理 [#155643](https://github.com/openclaw/openclaw/pull/155643)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 防止采集夹具端口碰撞 [#155687](https://github.com/openclaw/openclaw/pull/155687)。
- 在缓慢启动后保留时钟跳跃回归覆盖[#155748](https://github.com/openclaw/openclaw/pull/155748)。
- 防止复位挂钩夹具阻碍后续测试[#155770](https://github.com/openclaw/openclaw/pull/155770)。
- 在SQLite生命周期测试[7345a2db](https://github.com/openclaw/openclaw/commit/7345a2db3e7abe6e9c6be3d54bf29a0ae28209a2)中识别删除取消。感谢 [@steipete](https://github.com/steipete).
- 拆解前解决子代理测试工作[#155888](https://github.com/openclaw/openclaw/pull/155888)。
- 在夹具清理之前等待子代理通知传递 [#155910](https://github.com/openclaw/openclaw/pull/155910)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 允许更多时间进行子代理测试清理 [#155960](https://github.com/openclaw/openclaw/pull/155960)。
媒体处理和浏览器快照处理重用在同一操作期间已准备好的信息。共享解析和格式化帮助器保留现有的附件选择、转录请求和浏览器输出。
来源和完整变更列表
**改进**
- 避免重复CLI图像资格分类[#152159](https://github.com/openclaw/openclaw/pull/152159)。
- 重用附件文件名分类结果[#152274](https://github.com/openclaw/openclaw/pull/152274)。
- 避免未使用的浏览器快照文本重建[#152801](https://github.com/openclaw/openclaw/pull/152801)。
- 跨媒体助手共享 Base64 字母解码 [#149189](https://github.com/openclaw/openclaw/pull/149189)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 删除无法访问的媒体几何元数据回填 [#149272](https://github.com/openclaw/openclaw/pull/149272)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 合并转录请求和摘要清理[#152953](https://github.com/openclaw/openclaw/pull/152953)。
- 减少重复的附件选择过程[#152436](https://github.com/openclaw/openclaw/pull/152436)。
- 减少图像读取中的中间base64转换[#152569](https://github.com/openclaw/openclaw/pull/152569)。
- 在构建视频工具[#151617](https://github.com/openclaw/openclaw/pull/151617)时重用插件策略。
- 添加有限的Lightpanda浏览器传输兼容性[#154342](https://github.com/openclaw/openclaw/pull/154342)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 窄内部介质 SDK 依赖项 [#154789](https://github.com/openclaw/openclaw/pull/154789)。
凭证准备和权限检查共享现有的帮助程序,并避免重复读取或未使用的数据准备。该作品保留了当前的帐户选择、访问规则和编辑行为。
来源和完整变更列表
**改进**
- 删除冗余的身份验证配置文件准备工作[#151903](https://github.com/openclaw/openclaw/pull/151903)。
- 异步准备范围共享凭据[#152286](https://github.com/openclaw/openclaw/pull/152286)。
- 在身份验证配置文件读取 [#152374](https://github.com/openclaw/openclaw/pull/152374) 期间删除重复的主机协调。
- 将内联键故障簿记移至数据库工作线程[#153570](https://github.com/openclaw/openclaw/pull/153570)。
- Share网关操作员权限检查[#153979](https://github.com/openclaw/openclaw/pull/153979)。
- 简化网关权限检查和工具路由[#154120](https://github.com/openclaw/openclaw/pull/154120)。
- 减少网关授权中未使用的归属工作[#152586](https://github.com/openclaw/openclaw/pull/152586)。
- 跨日志字段重用密文捕获坐标[#152682](https://github.com/openclaw/openclaw/pull/152682)。
- GitHub 登录期间重用链接帐户读取 [#151508](https://github.com/openclaw/openclaw/pull/151508)。
CI 规划考虑了当前的测试成本和运行器容量,并修复了缓存匹配和作业分配。故障报告保留更有用的诊断信息,独立的 Control UI 上传仅限于经过清理的摘要。一些昂贵的矩阵现在仅在完全验证或测试文件更改时运行,因此稍后可能会发现仅源回归。兼容的 Linux、PR 和 UI 测试可以使用固定的 Bun 路由,同时保留所需的 Node 覆盖范围。
来源和完整变更列表
**改进**
- 在 CI 缓存未命中 [#153030](https://github.com/openclaw/openclaw/pull/153030) 后需要 Playwright Chromium。
- Size 根据流道容量 [#152864](https://github.com/openclaw/openclaw/pull/152864) 测量网关 CI 组。
- 保留成功运行 CI 的经过清理的配额诊断 [#152173](https://github.com/openclaw/openclaw/pull/152173)。
- 捕获停滞的基础设施测试工作人员的诊断 [#152381](https://github.com/openclaw/openclaw/pull/152381)。
- 保留有界配额恢复诊断 [#152003](https://github.com/openclaw/openclaw/pull/152003)。
- 减少工作流防护测试 [#153747](https://github.com/openclaw/openclaw/pull/153747) 的 QA 运行时加载。
- 并行运行网关服务器测试[#154181](https://github.com/openclaw/openclaw/pull/154181)。
- 刷新Codex扩展CI时序估计[#154243](https://github.com/openclaw/openclaw/pull/154243)。
- 在 CI 策略测试 [#153165](https://github.com/openclaw/openclaw/pull/153165) 中重复使用库存扫描。
- 重用CI [#154095](https://github.com/openclaw/openclaw/pull/154095)中经过验证的编译测试工作人员。
- 使用测量成本 [#153515](https://github.com/openclaw/openclaw/pull/153515) 的余额扩展 CI 作业。
- 在现有 CI 预算 [#154097](https://github.com/openclaw/openclaw/pull/154097) 内并行化 cron 测试。
- 刷新 CI 时序权重,并保留延迟系列 [#152971](https://github.com/openclaw/openclaw/pull/152971)。
- 收集 PR 工具测试 [#153676](https://github.com/openclaw/openclaw/pull/153676) 的每个文件计时证据。
- 为代理会话测试创建类型检查能力[#153943](https://github.com/openclaw/openclaw/pull/153943)。
- 并行网关数据库工作人员测试[#153144](https://github.com/openclaw/openclaw/pull/153144)。
- 减少 Swift CI 构建和固定开销 [#154023](https://github.com/openclaw/openclaw/pull/154023)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 单独的macOS应用程序和Swift包CI预算[#153911](https://github.com/openclaw/openclaw/pull/153911)。
- 删除重复的 CI 工作流断言 [#152678](https://github.com/openclaw/openclaw/pull/152678)。
- 删除重复的 Android 工作流断言 [#153586](https://github.com/openclaw/openclaw/pull/153586)。
- Run 隔离 CI 观察者重播案例,并发 [#154018](https://github.com/openclaw/openclaw/pull/154018)。
- Rebalance UI 测试并使未使用的证明捕获可选 [#154116](https://github.com/openclaw/openclaw/pull/154116)。
- 跨 Windows CI 分区 [#154107](https://github.com/openclaw/openclaw/pull/154107) 共享项目设置。
- 删除未使用的 Node CI 矩阵字段 [2d71ebc9](https://github.com/openclaw/openclaw/commit/2d71ebc9426ecb14d0353e113265598959a45e07)。感谢 [@steipete](https://github.com/steipete).
- 通过更改所有权 [836aeaa7](https://github.com/openclaw/openclaw/commit/836aeaa71841d040987771ed55bd52f9372d679d) 选择维护者工具 CI。
- Bound 传统启动检查小型 CI 运行器 [ea0d3c08](https://github.com/openclaw/openclaw/commit/ea0d3c0800846434d9aa52806d3b3ea861c09dd8) 上的并发性。
- 在现有 CI 限制内并行运行工具文件 [#153820](https://github.com/openclaw/openclaw/pull/153820)。
- Balance Windows CI 和延迟选定的积分检查 [#153950](https://github.com/openclaw/openclaw/pull/153950)。
- 在分配的工作线程 [#154088](https://github.com/openclaw/openclaw/pull/154088) 上运行命令测试。
- 在不相关的清单编辑后保留依赖项缓存 [#154122](https://github.com/openclaw/openclaw/pull/154122)。
- 减少 lint 开销并重用经过验证的类型检查状态 [#154150](https://github.com/openclaw/openclaw/pull/154150)。
- 独立发布CI依赖种子并热托管缓存[#154156](https://github.com/openclaw/openclaw/pull/154156)。
- 缩小UI CI选择并解释后备决策[#154162](https://github.com/openclaw/openclaw/pull/154162)。
- 使用 CI [#154261](https://github.com/openclaw/openclaw/pull/154261) 中测得的 Windows 文件工作人员容量。
- 在 CI 预算 [#154306](https://github.com/openclaw/openclaw/pull/154306) 内并行运行自动回复测试文件。
- 在固定的 Bun 叉 [#154340](https://github.com/openclaw/openclaw/pull/154340) 上运行兼容的 Linux PR 测试。
- 在符合条件的运行者[#154366](https://github.com/openclaw/openclaw/pull/154366)上增加隔离网关CI工作人员。
- 与进口打火机[#154426](https://github.com/openclaw/openclaw/pull/154426)并行运行嵌入式代理测试。
- 重新打包并行 CI 作业并保护托管运行器路由 [#154471](https://github.com/openclaw/openclaw/pull/154471)。
- 让基础设施测试使用其分配的工作人员 [#154520](https://github.com/openclaw/openclaw/pull/154520)。
- 在 Bun 上运行兼容的 UI 测试,同时保留 Node 覆盖范围 [#154585](https://github.com/openclaw/openclaw/pull/154585)。
- 在规划期间重复使用嵌入式代理测试清单 [#154710](https://github.com/openclaw/openclaw/pull/154710)。
- 使用测量的工人和较大的跑步者进行 CLI 测试 [#154883](https://github.com/openclaw/openclaw/pull/154883)。
- 选择工装夹具编辑的相关测试[#154934](https://github.com/openclaw/openclaw/pull/154934)。
- 隔离网关 CI 测试成本 [#154959](https://github.com/openclaw/openclaw/pull/154959) 的账户。
- Split CI 工作流程测试由职责 [#155001](https://github.com/openclaw/openclaw/pull/155001) 负责。
- Replay Windows CI 因冻结测试选择 [#155223](https://github.com/openclaw/openclaw/pull/155223) 而失败。感谢 [@RomneyDa](https://github.com/RomneyDa)、[@vincentkoc](https://github.com/vincentkoc)、[@jalehman](https://github.com/jalehman).
- Name 更改了安全审核错误 [#155266](https://github.com/openclaw/openclaw/pull/155266) 中的 PR 字段。感谢 [@joshavant](https://github.com/joshavant).
- 将大型库存容量检查与有界文件系统恢复分开 [#155483](https://github.com/openclaw/openclaw/pull/155483)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少重复性UI和Codex测试成本[#155586](https://github.com/openclaw/openclaw/pull/155586)。
- 移动昂贵的运行时矩阵以发布验证[#155606](https://github.com/openclaw/openclaw/pull/155606)。
- 保留失败工作流程 [#155718](https://github.com/openclaw/openclaw/pull/155718) 的通过测试计时。
**错误修复**
- 将 CI 读取器与已发布的 Node 字节码缓存 [#154113](https://github.com/openclaw/openclaw/pull/154113) 对齐。
- 在打包核心CI测试[#154126](https://github.com/openclaw/openclaw/pull/154126)之前保留插件作业。
- Validate继承插件CI工人津贴[#151900](https://github.com/openclaw/openclaw/pull/151900)。
- 将托管核心 lint 保持在运行器内存限制内 [#152233](https://github.com/openclaw/openclaw/pull/152233)。
- 允许在修订后的 CI 作业限制 [#153519](https://github.com/openclaw/openclaw/pull/153519) 内扩展测试计划。感谢 [@liuwqgit](https://github.com/liuwqgit).
- 保留CI防护装置选择和紧凑的工人限制[#151339](https://github.com/openclaw/openclaw/pull/151339)。谢谢[@RomneyDa](https://github.com/RomneyDa),[@shakkernerd](https://github.com/shakkernerd).
- 修复紧凑型CI工人政策检查和选择[#151427](https://github.com/openclaw/openclaw/pull/151427)。感谢 [@azuretek](https://github.com/azuretek).
- 在 CI 运行 [#153005](https://github.com/openclaw/openclaw/pull/153005) 时保持安全审查待定。
- 避免重新评估后过时的安全审查作业失败 [#153089](https://github.com/openclaw/openclaw/pull/153089)。感谢 [@joshavant](https://github.com/joshavant).
- 在 CI [#153466](https://github.com/openclaw/openclaw/pull/153466) 中隔离大型工作区恢复检查。
- 通过重新平衡通道测试 [#151564](https://github.com/openclaw/openclaw/pull/151564) 恢复 CI 类型检查能力。
- 选择消息传递测试更改的容量防护[#151615](https://github.com/openclaw/openclaw/pull/151615)。
- 防止分叉合并后安全审查签出失败 [#153102](https://github.com/openclaw/openclaw/pull/153102)。感谢 [@joshavant](https://github.com/joshavant).
- 通过关闭[#152002](https://github.com/openclaw/openclaw/pull/152002)保留Docker测试失败。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在网关测试诊断 [#152407](https://github.com/openclaw/openclaw/pull/152407) 中保留失败的 HTTP 响应。
- 修复浏览器预算装置和历史语法处理[#151417](https://github.com/openclaw/openclaw/pull/151417)。
- 重用Windows CI重播[d93fc8ca](https://github.com/openclaw/openclaw/commit/d93fc8caabf90026f1fcd46c456909cbc63311dc)中配置的pnpm版本证据。感谢 [@steipete](https://github.com/steipete).
- 删除重复的工作人员测试计划条目 [f76d38a4](https://github.com/openclaw/openclaw/commit/f76d38a4ac5e5f4e6c5a5320436db169e33d5c8a)。感谢 [@steipete](https://github.com/steipete).
- Bound 迁移了数据库测试 CI 工作负载 [#153306](https://github.com/openclaw/openclaw/pull/153306)。
- 将手动 CI 计划保持在作业产出限制 [#154993](https://github.com/openclaw/openclaw/pull/154993) 内。感谢 [@shakkernerd](https://github.com/shakkernerd).
- 减少安全审查结账工作并恢复有限的API限制[#155054](https://github.com/openclaw/openclaw/pull/155054)。感谢 [@joshavant](https://github.com/joshavant).
- Restrict 继承了叉子 [#155112](https://github.com/openclaw/openclaw/pull/155112) 的定期维护。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 从不一致的文件列表恢复安全审查[#155129](https://github.com/openclaw/openclaw/pull/155129)。感谢 [@joshavant](https://github.com/joshavant).
- 停止过时的安全审查评估 [#155170](https://github.com/openclaw/openclaw/pull/155170)。感谢 [@joshavant](https://github.com/joshavant).
- 重试安全检查 [#155196](https://github.com/openclaw/openclaw/pull/155196) 中的临时 GitHub 读取失败。感谢 [@joshavant](https://github.com/joshavant).
- 将安全审查基础设施故障与批准检查分开 [#155231](https://github.com/openclaw/openclaw/pull/155231)。感谢 [@joshavant](https://github.com/joshavant).
- 临时状态故障后恢复安全审查 [#155248](https://github.com/openclaw/openclaw/pull/155248)。感谢 [@joshavant](https://github.com/joshavant).
- 运行代理-支持分叉进程[#155304](https://github.com/openclaw/openclaw/pull/155304)中的测试。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 警告过大的核心测试分片,同时保留所有权失败[4a93b5e5](https://github.com/openclaw/openclaw/commit/4a93b5e5c8ea7179f8e31ac8e1c22f7081110690)。感谢 [@steipete](https://github.com/steipete).
- 将咨询测试分片限制保留为私有 [9225217a](https://github.com/openclaw/openclaw/commit/9225217a4c8b0beb9eac4a7053ed0b50fbfde0bb)。感谢 [@steipete](https://github.com/steipete).
- 跳过在收集截止后完成的 CI 计时样本 [#155755](https://github.com/openclaw/openclaw/pull/155755)。
- 将普通网关测试过程绑定到五十个文件[#155871](https://github.com/openclaw/openclaw/pull/155871)。
- 将工作流测试暂存脚本保留在结账 [#155887](https://github.com/openclaw/openclaw/pull/155887) 之外。感谢 [@vincentkoc](https://github.com/vincentkoc).
**安全信任**
- 将自动 Control UI 诊断限制为公共摘要 [#152581](https://github.com/openclaw/openclaw/pull/152581)。
**限制和兼容性**
- 在报告成功 [#155212](https://github.com/openclaw/openclaw/pull/155212) 之前完成 Docker 测试清理。感谢 [@vincentkoc](https://github.com/vincentkoc).
例程 CI 可以推迟检查,并且取消或合并的主运行没有自动追赶。现在,大库存覆盖范围可将 257 个物理更改的文件与 26,000 条内存记录分开。 Docker 调度程序消费者必须阅读 `summary.json.status`; `failures.json.status` 已被删除。
Control UI 测试控制时钟、焦点和视口状态,并在检查之前等待渲染元素。共享固定装置减少了重复设置,同时保留了聊天、导航、登录和外观的覆盖范围。
来源和完整变更列表
**改进**
- 在 UI 装置启动 [#152309](https://github.com/openclaw/openclaw/pull/152309) 之前检测阻塞的环回传输。
- 删除重复的 Markdown 表复制覆盖范围 [#153256](https://github.com/openclaw/openclaw/pull/153256)。
- 跨宽度重复使用移动布局浏览器设置 [#153458](https://github.com/openclaw/openclaw/pull/153458)。
- 共享侧边栏目录测试设置[#153287](https://github.com/openclaw/openclaw/pull/153287)。
- 减少提及夹具设置并导入[#152612](https://github.com/openclaw/openclaw/pull/152612)。
- 在第一场比赛 [#153062](https://github.com/openclaw/openclaw/pull/153062) 后停止生成测试外观。
- 在自有芯片测试中删除冗余指针复位[#151703](https://github.com/openclaw/openclaw/pull/151703)。
- 重用聊天工具流事件固定装置[#154184](https://github.com/openclaw/openclaw/pull/154184)。
- 删除冗余聊天输入测试[#152677](https://github.com/openclaw/openclaw/pull/152677)。
- 简化语言重试测试同步[#154168](https://github.com/openclaw/openclaw/pull/154168)。
- 减少UI保留测试[#152149](https://github.com/openclaw/openclaw/pull/152149)中的垃圾收集开销。
- 高级提供商登录测试计时器实际上为 [#153766](https://github.com/openclaw/openclaw/pull/153766)。
- 整合使用页测试治具[#153259](https://github.com/openclaw/openclaw/pull/153259)。
- 测试启动、重新连接和选项卡 [74a59a23](https://github.com/openclaw/openclaw/commit/74a59a234efbc2e330f74fcd3d256ff613d35500) 的主题连续性。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 删除聊天轨道测试中的变量阴影[c1919771](https://github.com/openclaw/openclaw/commit/c1919771c30a6fcf41d615b88ab61015468752ae)。感谢 [@steipete](https://github.com/steipete).
- 重用代理UI固定装置[#137642](https://github.com/openclaw/openclaw/pull/137642)中的延期承诺。
- 在原始视图和复制视图 [#154361](https://github.com/openclaw/openclaw/pull/154361) 中测试精确的 JSON 缩进。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 覆盖菜单和对话位置焦点行为 [#154380](https://github.com/openclaw/openclaw/pull/154380)。
- 跨主题重用移动聊天测试页面[#154463](https://github.com/openclaw/openclaw/pull/154463)。
- 明确浏览器语音测试准备情况 [#154490](https://github.com/openclaw/openclaw/pull/154490)。
- 在发布测试中使用状态通知 [#154768](https://github.com/openclaw/openclaw/pull/154768)。
- 在文件选项卡装置[#154795](https://github.com/openclaw/openclaw/pull/154795)中等待工作区读取完成。
- 从后台放置测试中删除实际等待[#154856](https://github.com/openclaw/openclaw/pull/154856)。
- 从预览工具提示测试 [#154914](https://github.com/openclaw/openclaw/pull/154914) 中删除悬停延迟。
- 整合隔离的聊天窗格生命周期测试 [#154938](https://github.com/openclaw/openclaw/pull/154938)。
- 在调试托盘轮询测试中提前浏览器时间 [#155091](https://github.com/openclaw/openclaw/pull/155091)。
- Share Dreaming wiki测试配置[#155279](https://github.com/openclaw/openclaw/pull/155279)。
- 减少路由器保留测试设置开销[#155418](https://github.com/openclaw/openclaw/pull/155418)。
- 减少内存渲染 Wiki 计数测试 [#155441](https://github.com/openclaw/openclaw/pull/155441)。
- Advance OAuth 模型设置测试中的轮询时钟 [#155450](https://github.com/openclaw/openclaw/pull/155450)。
- Exercise Talk 回退计时,无需真正等待 [#155454](https://github.com/openclaw/openclaw/pull/155454)。
- 合并重复的离线聊天中止测试[#155533](https://github.com/openclaw/openclaw/pull/155533)。
- Reduce插件安装进度测试等待[#155628](https://github.com/openclaw/openclaw/pull/155628)。
- 在浏览器布局检查之前完成作曲家动画 [#155046](https://github.com/openclaw/openclaw/pull/155046)。
**错误修复**
- 当诊断捕获停止时保留浏览器测试错误 [#151555](https://github.com/openclaw/openclaw/pull/151555)。
- 等待电路板布局测试中的 iframe 准备就绪 [#152198](https://github.com/openclaw/openclaw/pull/152198)。
- 隔离转发消息浏览器测试样式和视口 [#151673](https://github.com/openclaw/openclaw/pull/151673)。
- 在浏览器测试中等待插件初始化程序就绪 [#151785](https://github.com/openclaw/openclaw/pull/151785)。
- 稳定保存的云转恢复测试设置[#153457](https://github.com/openclaw/openclaw/pull/153457)。
- Make Agents Home刷新计时测试确定性[#151842](https://github.com/openclaw/openclaw/pull/151842)。
- 在浏览器测试中等待仪表板就绪 [#151869](https://github.com/openclaw/openclaw/pull/151869)。
- 在共享 UI 测试 [#152065](https://github.com/openclaw/openclaw/pull/152065) 之间重置文档焦点。
- 提取仪表板测试设置以恢复大小检查[#152089](https://github.com/openclaw/openclaw/pull/152089)。
- 没有过时元素的示例小部件菜单字体为 [#152474](https://github.com/openclaw/openclaw/pull/152474)。
- 防止在下拉测试中继承指针状态[#152754](https://github.com/openclaw/openclaw/pull/152754)。
- 稳定活动刷新浏览器计时[#154063](https://github.com/openclaw/openclaw/pull/154063)。
- 恢复侧边栏和聊天测试集合[#152099](https://github.com/openclaw/openclaw/pull/152099)。
- 保持Control UI测试导入独立于网关状态[#152130](https://github.com/openclaw/openclaw/pull/152130)。
- 等待测试中预定的聊天轨道焦点更新 [08833949](https://github.com/openclaw/openclaw/commit/0883394977d1fb3af657635967f6e447bd7fff9a)。感谢 [@steipete](https://github.com/steipete).
- 在浏览器断言 [35755101](https://github.com/openclaw/openclaw/commit/35755101e911dc84b388cf51cada809a5be18900) 之前等待会话名单水合作用。感谢 [@steipete](https://github.com/steipete).
- 在测试 [4f2115a1](https://github.com/openclaw/openclaw/commit/4f2115a123da484329a6a2e781c22fda2b4a2aa1) 中观察键盘输入处的聊天栏位置。感谢 [@steipete](https://github.com/steipete).
- 等待聊天边距测试视口更改之间的布局[9f79472f](https://github.com/openclaw/openclaw/commit/9f79472f92497a1369c1cd64d8d479fd715133dd)。感谢 [@steipete](https://github.com/steipete).
- 在UI测试夹具[a333d707](https://github.com/openclaw/openclaw/commit/a333d707f6620aa133e74200a8fb2a327a986653)中保留已完成的持续时间。感谢 [@steipete](https://github.com/steipete).
- Scope 可选问题完成检查抄本 [c1224ba0](https://github.com/openclaw/openclaw/commit/c1224ba09be81aca92ad8478ed49ebc541919cbb)。感谢 [@steipete](https://github.com/steipete).
- 等待在浏览器中打开侧边栏菜单测试[cc253165](https://github.com/openclaw/openclaw/commit/cc2531654d1d61483485d908c515fc6148c14e08)。感谢 [@steipete](https://github.com/steipete).
- 将冷短链路测试与保存的启动状态[d44f23df](https://github.com/openclaw/openclaw/commit/d44f23df76f7dcc98ef5815962509d222d136a06)隔离。感谢 [@steipete](https://github.com/steipete).
- 在几何断言[de531283](https://github.com/openclaw/openclaw/commit/de5312833912c9926a80835c25139feaa0511c64)之前等待移动抽屉动画。感谢 [@steipete](https://github.com/steipete).
- Control 满足浏览器重试测试 [#149174](https://github.com/openclaw/openclaw/pull/149174) 的时钟。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在浏览器测试观察中保留简短的聊天亮点[#154645](https://github.com/openclaw/openclaw/pull/154645)。
- 停止重新绘制已退役的表情符号装置[#154811](https://github.com/openclaw/openclaw/pull/154811)。
- 稳定Control UI浏览器测试计时器[#154821](https://github.com/openclaw/openclaw/pull/154821)。
- 清理主题测试[#155295](https://github.com/openclaw/openclaw/pull/155295)创建的字体链接。
- 恢复访客问题浏览器测试设置 [#155853](https://github.com/openclaw/openclaw/pull/155853)。感谢 [@vincentkoc](https://github.com/vincentkoc).
新的源依赖项安装使用克隆或复制的包文件,因此另一个签出中的安装不会错误地使活动编译器输入无效。现有的硬链接安装需要重新签出和安装,并且复制回退可能会使用更多磁盘空间,如 [ 本地测试指南](/reference/test/local) 中所述。构建和类型检查修复还涵盖带有空格的 Windows 路径、选定的编译器运行时和自定义 Control UI 输出目录。
来源和完整变更列表
**改进**
- 重用构建包装器的选项扫描器[#152293](https://github.com/openclaw/openclaw/pull/152293)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 通过本机加载器[#153446](https://github.com/openclaw/openclaw/pull/153446)运行编译器分片。
- 将类型感知 lint 扩展到 CommonJS 测试支持 [#151385](https://github.com/openclaw/openclaw/pull/151385)。
- 将 UI 样式表验证范围保持在相关测试图 [#153630](https://github.com/openclaw/openclaw/pull/153630) 范围内。
- 保留有关工作转换失败的编译器证据 [#155219](https://github.com/openclaw/openclaw/pull/155219)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- Reduce编译器图形测试夹具工作[#155226](https://github.com/openclaw/openclaw/pull/155226)。
- 解释编译器输入快照拒绝类别[#155865](https://github.com/openclaw/openclaw/pull/155865)。感谢 [@vincentkoc](https://github.com/vincentkoc).
**错误修复**
- 正确的配置包括验证器导入[#153007](https://github.com/openclaw/openclaw/pull/153007)。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 在Bun-启动的构建[#151735](https://github.com/openclaw/openclaw/pull/151735)中保留选定的编译器运行时。
- 保持Node-具体开发检查Node在下面Bun [#151772](https://github.com/openclaw/openclaw/pull/151772)。
- 最终确定自定义构建目标 [#153571](https://github.com/openclaw/openclaw/pull/153571) 中的 Control UI 资产。
- Honor 配置了 Mac 工作程序打包超时 [#153380](https://github.com/openclaw/openclaw/pull/153380)。
- 记录临时消息-帮助程序导出津贴后来缩小到固定表面[#151881](https://github.com/openclaw/openclaw/pull/151881)。
- 将已弃用的消息导出限制与实际表面 [#151912](https://github.com/openclaw/openclaw/pull/151912) 相匹配。
- 跨源签出隔离新的依赖项安装 [#154096](https://github.com/openclaw/openclaw/pull/154096)。
- Run Windows 开发人员从包含空格 [#151701](https://github.com/openclaw/openclaw/pull/151701) 的路径进行检查。
- 声明现有 tsx CLI 垫片类型 [80b9608a](https://github.com/openclaw/openclaw/commit/80b9608a25e191a17e1466d750c2f76a38a38507)。感谢 [@steipete](https://github.com/steipete).
- 重新平衡会话存储测试类型检查组 [#154497](https://github.com/openclaw/openclaw/pull/154497)。
- 在工具子进程 [#154509](https://github.com/openclaw/openclaw/pull/154509) 中保留显式 Node 编译器标志。
- Run UI 构建验证器,无需额外的编译器进程 [#154675](https://github.com/openclaw/openclaw/pull/154675)。
- 从编译器输入扫描中排除临时测试包 [#155086](https://github.com/openclaw/openclaw/pull/155086)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
流程测试等待预期的子项开始和完成,使用所需的运行时并在清理不完整时保留诊断信息。受控时钟消除了夹具延迟,同时保留了生产超时设置。
来源和完整变更列表
**改进**
- 在测试中等待节点工作程序恢复完成 [#153398](https://github.com/openclaw/openclaw/pull/153398)。
- 减少进程清理测试等待和启动竞争[#153343](https://github.com/openclaw/openclaw/pull/153343)。
- 分享Docker调度程序测试进程清理[#152364](https://github.com/openclaw/openclaw/pull/152364)。
- 捕获停止的 CLI 测试 [#151946](https://github.com/openclaw/openclaw/pull/151946) 的操作系统证据。
- 记录当前停止请求[#153050](https://github.com/openclaw/openclaw/pull/153050)的测试工作人员退出条目。
- 使用受控时钟 [#152922](https://github.com/openclaw/openclaw/pull/152922) 提前看门狗测试截止时间。
- 隔离 shell 夹具日志记录依赖性 [#152431](https://github.com/openclaw/openclaw/pull/152431)。
- 在 Crabbox 测试中跳过不可能的渲染器等待 [#154012](https://github.com/openclaw/openclaw/pull/154012)。
- 完成 1后代清理后的密码超时测试 [#154169](https://github.com/openclaw/openclaw/pull/154169)。
- 重用一个进程进行读保留测试 [#151423](https://github.com/openclaw/openclaw/pull/151423)。感谢 [@romneyda](https://github.com/romneyda).
- 从 Git 截止时间测试 [#153705](https://github.com/openclaw/openclaw/pull/153705) 中删除不必要的等待。
- 同时运行独立的Mantis信号测试[#154256](https://github.com/openclaw/openclaw/pull/154256)。
- 将工作人员生命周期测试与就绪事件 [#154439](https://github.com/openclaw/openclaw/pull/154439) 同步。
- 在延迟输出订阅测试之前等待子进程退出 [#154503](https://github.com/openclaw/openclaw/pull/154503)。
- 从审阅者超时测试 [#154612](https://github.com/openclaw/openclaw/pull/154612) 中删除实际等待。
- 从代理恢复测试 [#154667](https://github.com/openclaw/openclaw/pull/154667) 中删除空闲等待。
- 及时完成过程检验测试阻断剂[#154749](https://github.com/openclaw/openclaw/pull/154749)。
- 使管理程序字节活动测试具有确定性 [#154997](https://github.com/openclaw/openclaw/pull/154997)。
- 减少内存搜索清理测试等待 [#155103](https://github.com/openclaw/openclaw/pull/155103)。
- 等待测试中的实际包生命周期争用[#155400](https://github.com/openclaw/openclaw/pull/155400)。
**错误修复**
- 恢复Bun文件系统竞赛测试仪器[#151302](https://github.com/openclaw/openclaw/pull/151302)。
- 避免 Bun 清理测试 [#151317](https://github.com/openclaw/openclaw/pull/151317) 中丢失工作程序端口泄漏。
- 将编译器清理测试预加载传递到两个运行时 [#153170](https://github.com/openclaw/openclaw/pull/153170)。
- 恢复隔离的macOS PR-操作测试[#152350](https://github.com/openclaw/openclaw/pull/152350)的依赖关系。
- 恢复macOS PR-操作测试[#153520](https://github.com/openclaw/openclaw/pull/153520)的依赖关系。
- 允许在 Windows 生命周期测试 [#152848](https://github.com/openclaw/openclaw/pull/152848) 中重复使用已退役的 PID。
- 通过完整身份 [#153338](https://github.com/openclaw/openclaw/pull/153338) 匹配流程生命周期测试。
- 通过不完整的子清理[#151161](https://github.com/openclaw/openclaw/pull/151161)保留Doctor测试诊断。感谢 [@jalehman](https://github.com/jalehman).
- 将 CLI 测试诊断发射器绑定到其过程 [#151356](https://github.com/openclaw/openclaw/pull/151356)。
- 隔离 Crabbox 装置并保留启动诊断 [#152239](https://github.com/openclaw/openclaw/pull/152239)。
- 在 Bun [#152175](https://github.com/openclaw/openclaw/pull/152175) 下保留流程生命周期覆盖范围。
- 将Node上的模具测试人员保留在Bun [#152187](https://github.com/openclaw/openclaw/pull/152187)下。
- 稳定 Bash 版本 [#152301](https://github.com/openclaw/openclaw/pull/152301) 的调度程序信号装置。
- 避免Mantis信号测试中的冷启动超时[#152342](https://github.com/openclaw/openclaw/pull/152342)。
- 在预览过程测试中使用选定的运行时 [#152359](https://github.com/openclaw/openclaw/pull/152359)。
- 在执行[#152365](https://github.com/openclaw/openclaw/pull/152365)之前准备挂钩CLI生命周期装置。
- 运行 QA 生命周期测试,无需构建 SDK 工件 [#152368](https://github.com/openclaw/openclaw/pull/152368)。
- 使PDF取消回归检查确定性[#152403](https://github.com/openclaw/openclaw/pull/152403)。
- 当后代 PID 文件丢失 [#151730](https://github.com/openclaw/openclaw/pull/151730) 时显示采样器诊断。
- 在 CLI 测试诊断 [#151918](https://github.com/openclaw/openclaw/pull/151918) 中保留借用的事件调度。
- 减少测试设置停顿并取消夹具子进程等待[#153884](https://github.com/openclaw/openclaw/pull/153884)。
- 保持子进程测试模拟的安全,以重置 [#152064](https://github.com/openclaw/openclaw/pull/152064)。
- 在Node和Bun [#152076](https://github.com/openclaw/openclaw/pull/152076)上一致地加载CLI测试夹具。
- 在 Bun [#152481](https://github.com/openclaw/openclaw/pull/152481) 下明确交付启动器测试预加载。
- 为模块模拟端口测试子项选择Node [#152485](https://github.com/openclaw/openclaw/pull/152485)。
- 防止插件清理测试中的启动竞赛[#154030](https://github.com/openclaw/openclaw/pull/154030)。
- Accept 在恢复测试 [#154134](https://github.com/openclaw/openclaw/pull/154134) 中退出 Linux 进程组。感谢 [@shakkernerd](https://github.com/shakkernerd).
- 稳定Docker调度程序清理测试[#154326](https://github.com/openclaw/openclaw/pull/154326)。
- 在超时检查之前准备语音测试运行时[#153473](https://github.com/openclaw/openclaw/pull/153473)。
- 在重叠检验测试期间保留临时安装[#154187](https://github.com/openclaw/openclaw/pull/154187)。
- 在重放断言之前等待工人清理 [057492fa](https://github.com/openclaw/openclaw/commit/057492fa6da77ff1e487feffb83d2bcfd173f41a)。感谢 [@steipete](https://github.com/steipete).
- 在取消测试[5beff9c3](https://github.com/openclaw/openclaw/commit/5beff9c33cca8c5e95783463e72735998d888a82)中等待工作人员启动切换。感谢 [@steipete](https://github.com/steipete).
- 在测试[ddcd52d5](https://github.com/openclaw/openclaw/commit/ddcd52d5bffdf570aeb76c3d422236702f99415f)中通过显式shell模式练习继电器启动。感谢 [@steipete](https://github.com/steipete).
- 从Python启动时序[#123647](https://github.com/openclaw/openclaw/pull/123647)中分离出FIFO读取检查。
- 稳定恢复时钟和子流程测试夹具[#154194](https://github.com/openclaw/openclaw/pull/154194)。
- 稳定CLI取消和Mattermost超时测试[#154333](https://github.com/openclaw/openclaw/pull/154333)。
- 将终端安全测试与渲染输出[#154356](https://github.com/openclaw/openclaw/pull/154356)同步。
- 信号测试中正确的进程清理断言[#154525](https://github.com/openclaw/openclaw/pull/154525)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 将共享 Node 策略应用于嵌套 Crabbox 测试子 [#154627](https://github.com/openclaw/openclaw/pull/154627)。
- 隔离CLI夹具并可靠地报告子流程故障[#154629](https://github.com/openclaw/openclaw/pull/154629)。
- 从头像清理测试中删除描述符重用竞赛[#154747](https://github.com/openclaw/openclaw/pull/154747)。
- 调整Bun运输和工人测试期望[#154956](https://github.com/openclaw/openclaw/pull/154956)。
- 稳定启动器和观察器启动测试[#154981](https://github.com/openclaw/openclaw/pull/154981)。
- 将生命周期终止检查与运行器延迟分开 [#155208](https://github.com/openclaw/openclaw/pull/155208)。
- 稳定测试实例拒绝排序[#155213](https://github.com/openclaw/openclaw/pull/155213)。
- 在超时测试中等待子进程就绪 [#155240](https://github.com/openclaw/openclaw/pull/155240)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 将 SQLite 编译缓存探针绑定到夹具生命周期 [#155611](https://github.com/openclaw/openclaw/pull/155611)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- 隔离分类测试资源并加入清理[#155736](https://github.com/openclaw/openclaw/pull/155736)。
PR 工具提供更清晰的签出、审查和合并诊断,并避免重复的 GitHub 元数据请求。受支持的 REST 路径可以在 GraphQL 配额耗尽后继续选定的操作,但仍强制执行审查修订和合并批准要求。合格的 GraphQL 路径还可以使用实际合并帐户进行策略检查,处理耗尽的 REST 配额或持续未知的可合并性。在提交之前恢复已检查的拒绝保留新的批准和身份检查;已接受或不明确的合并尝试永远不会重播。
来源和完整变更列表
**改进**
- 在强制帮助程序检查中同时读取源文件[#151722](https://github.com/openclaw/openclaw/pull/151722)。
- 重用插件边界源扫描[#151426](https://github.com/openclaw/openclaw/pull/151426)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 共享开发者测试报告的分组渲染[#149078](https://github.com/openclaw/openclaw/pull/149078)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 分享测试报告比较配对[#149142](https://github.com/openclaw/openclaw/pull/149142)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少提交挂钩格式化程序资源需求[#152297](https://github.com/openclaw/openclaw/pull/152297)。
- 在PR着陆[#154040](https://github.com/openclaw/openclaw/pull/154040)期间减少GitHub API工作。
- 解释合并中止和无效审阅字段[#151996](https://github.com/openclaw/openclaw/pull/151996)。
- 仅将 REST 元数据用于 CI- PR 轮询 [#152697](https://github.com/openclaw/openclaw/pull/152697)。
- 显示拒绝的合并观测值 [#150647](https://github.com/openclaw/openclaw/pull/150647)。
- 在PR准备和轮询[#153424](https://github.com/openclaw/openclaw/pull/153424)期间减少GitHub读取。
- 保持 PR 工作流程跨主机工具差异 [#152078](https://github.com/openclaw/openclaw/pull/152078) 工作。
- 在附加 CI 观察程序 [#152893](https://github.com/openclaw/openclaw/pull/152893) 时重复使用 REST 元数据。
- 同步AutoReview Git启动保护[#152039](https://github.com/openclaw/openclaw/pull/152039)。
- 和待处理的 PR 检查受保护的 GitHub 自动合并 [#154307](https://github.com/openclaw/openclaw/pull/154307)。
- 在 API 配额限制 [#154376](https://github.com/openclaw/openclaw/pull/154376) 上保持支持的 PR 着陆可用。
- 减少维护者PR操作中重复的GitHub读取[#154581](https://github.com/openclaw/openclaw/pull/154581)。
- 巩固维护者包装依赖性检查[#155883](https://github.com/openclaw/openclaw/pull/155883)。
**错误修复**
- 拒绝不完整的CI成功,并修剪维护者API读取[#153880](https://github.com/openclaw/openclaw/pull/153880)。
- 在工作流程检查引导程序 [#151222](https://github.com/openclaw/openclaw/pull/151222) 之前报告不受支持的 Python。感谢 [@wangmiao0668000666](https://github.com/wangmiao0668000666)、[@altaywtf](https://github.com/altaywtf)、[@vincentkoc](https://github.com/vincentkoc).
- 在忽略的临时目录[#151748](https://github.com/openclaw/openclaw/pull/151748)内运行行上限检查。
- 允许普通审查PR合并,同时主要预付款[d01d83b7](https://github.com/openclaw/openclaw/commit/d01d83b79b18fd7700648e97e54db9e133bca46d)。感谢 [@steipete](https://github.com/steipete).
- 确认加载程序退出后释放已完成的PR-操作锁定[#152209](https://github.com/openclaw/openclaw/pull/152209)。
- 恢复中断的PR检查并隔离分配状态[#152069](https://github.com/openclaw/openclaw/pull/152069)。
- 纠正 PR 工具 [#152723](https://github.com/openclaw/openclaw/pull/152723) 中的失败请求配额诊断。
- 使用 REST 进行 PR 身份和审阅者分配 [#153296](https://github.com/openclaw/openclaw/pull/153296)。
- 在 GraphQL 配额耗尽 [#153563](https://github.com/openclaw/openclaw/pull/153563) 后继续 CI 监控和合格的挤压着陆。
- 在 PR 分支修复 [736219b5](https://github.com/openclaw/openclaw/commit/736219b5cd71d554c2ea8146806575a80f5b7969) 之前恢复已接受的自动合并请求。感谢 [@steipete](https://github.com/steipete).
- 忽略延迟合并准入 [8e4c007a](https://github.com/openclaw/openclaw/commit/8e4c007a68296002610e7b5be8d111a4829a9f11) 中的跳过草稿 CI 门。感谢 [@steipete](https://github.com/steipete).
- 在 PR 包装器清单 [b518db47](https://github.com/openclaw/openclaw/commit/b518db473feeedcc7ff58b958f9d5cf1399ac57c) 中包含 SQLite 维护支持。感谢 [@steipete](https://github.com/steipete).
- PR登陆[#154182](https://github.com/openclaw/openclaw/pull/154182)时识别GitHub CLI检查配额错误。
- 重新验证PR观察并重用合格的存储库地址[#154212](https://github.com/openclaw/openclaw/pull/154212)。
- REST配额用完时保持PR登陆读取工作[#154558](https://github.com/openclaw/openclaw/pull/154558)。
- 恢复本地拒绝的维护者自动合并请求[#154988](https://github.com/openclaw/openclaw/pull/154988)。
- 使用经过身份验证的编写器 [#155087](https://github.com/openclaw/openclaw/pull/155087) 读取合并资格。
- 恢复合格的Octopool合并拒绝[#155215](https://github.com/openclaw/openclaw/pull/155215)。
- 当 REST 可合并性保持未知时使用 GraphQL [#155239](https://github.com/openclaw/openclaw/pull/155239)。
- 使用合并帐户身份进行PR恢复检查[#155245](https://github.com/openclaw/openclaw/pull/155245)。
- Recover 在合并 [#155681](https://github.com/openclaw/openclaw/pull/155681) 之前检查了 Octopool 策略超时。
- 在维护者包装器[#155869](https://github.com/openclaw/openclaw/pull/155869)中包含所需的工作区助手。感谢 [@vincentkoc](https://github.com/vincentkoc).
**安全信任**
- 使用完整的批处理 Git 读取 [#154974](https://github.com/openclaw/openclaw/pull/154974) 来验证提取的维护者工具。
**文档**
- 跟随待处理的 PR 通过验证完成 [f202df3c](https://github.com/openclaw/openclaw/commit/f202df3c89e0f13f94b93dc5a502009eaa398fc3) 进行合并。感谢 [@steipete](https://github.com/steipete).
- 文档守护八池PR登陆[#155110](https://github.com/openclaw/openclaw/pull/155110)。
独立推送和同步操作与较早保存的 `pr-meta.json` 记录的兼容性仍未解决。备用 API 路线和检查拒绝恢复不会免除当前的修订、身份或批准检查。
命令设置和诊断格式化可避免未使用的导入、重复扫描和临时副本。显示的结果和选择行为保持不变。
来源和完整变更列表
**改进**
- 跳过未使用的详细健康帐户选择 [#152108](https://github.com/openclaw/openclaw/pull/152108)。
- Count启用了没有临时数组[#152160](https://github.com/openclaw/openclaw/pull/152160)的插件。
- 重复使用私人认证菜单组[#152166](https://github.com/openclaw/openclaw/pull/152166)。
- 重复使用准备好的任务审核摘要[#152294](https://github.com/openclaw/openclaw/pull/152294)。
- 避免日志路径[#152305](https://github.com/openclaw/openclaw/pull/152305)的配置I/O初始化。
- Prepare 模型选择器提供程序计数一次 [#152313](https://github.com/openclaw/openclaw/pull/152313)。
- 加载MCP工具投影仅适用于测头[#152684](https://github.com/openclaw/openclaw/pull/152684)。
- Load数据库命令按需实现[#152687](https://github.com/openclaw/openclaw/pull/152687)。
- 在渲染 [#151763](https://github.com/openclaw/openclaw/pull/151763) 时重复使用队列诊断计数。
- 在 Doctor 恢复报告中重复使用任务查找 [#152023](https://github.com/openclaw/openclaw/pull/152023)。
- 在元数据检查期间推迟未使用的本机准备 [#153347](https://github.com/openclaw/openclaw/pull/153347)。
- Narrow CLI 启动日志记录导入 [#151609](https://github.com/openclaw/openclaw/pull/151609)。
- 简化通道状态准备[#151906](https://github.com/openclaw/openclaw/pull/151906)。
- 在终端选择器[#150783](https://github.com/openclaw/openclaw/pull/150783)中重用共享的ANSI解析。
- 巩固市场输出准备[#148783](https://github.com/openclaw/openclaw/pull/148783)。
- 集中守护进程动作输出[#150047](https://github.com/openclaw/openclaw/pull/150047)。
- 减少不必要的更新程序导入和重复检查[#154757](https://github.com/openclaw/openclaw/pull/154757)。
- 推迟 Canvas Gateway 导入,直至需要 [#154766](https://github.com/openclaw/openclaw/pull/154766)。
- 删除专用基线设置测试覆盖 [#154894](https://github.com/openclaw/openclaw/pull/154894)。
- 共享插件健康部分格式化[#155390](https://github.com/openclaw/openclaw/pull/155390)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 保留前停账本不变的私有[57c179a7](https://github.com/openclaw/openclaw/commit/57c179a7e565c236d30f3a4efdcae34a9b8d3f7b)。
**错误修复**
- 验证记录的医生服务站身份字段[55700ea6](https://github.com/openclaw/openclaw/commit/55700ea6c96f6107282c156d69e492b92d7384e5)。
消息传递集成共享配置类型、格式和帐户准备帮助程序。此维护保留现有的路由、帐户所有权和附件选择。
来源和完整变更列表
**改进**
- 从架构 [#151393](https://github.com/openclaw/openclaw/pull/151393) 派生 Zalo 配置类型。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 将 LINE 和 Twitch 配置类型与架构 [#151394](https://github.com/openclaw/openclaw/pull/151394) 对齐。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 重用Matrix轮询时间戳验证[#149125](https://github.com/openclaw/openclaw/pull/149125)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 合并Matrix媒体元数据组件[#149128](https://github.com/openclaw/openclaw/pull/149128)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 分享Slack Markdown准备[#149129](https://github.com/openclaw/openclaw/pull/149129)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 分享Discord Markdown编辑渲染[#149214](https://github.com/openclaw/openclaw/pull/149214)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 避免重复Twitch出站帐户准备[#128592](https://github.com/openclaw/openclaw/pull/128592)。
- 重用标准化对话父数据[#151718](https://github.com/openclaw/openclaw/pull/151718)。
- 从架构 [#153938](https://github.com/openclaw/openclaw/pull/153938) 派生四种通道配置类型。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 删除过时的 Discord 模态测试调节 [#153239](https://github.com/openclaw/openclaw/pull/153239)。
- 使消息目标描述不受运行时导入 [#153163](https://github.com/openclaw/openclaw/pull/153163) 的影响。
- 避免读取 Matrix 房间加密设置 [#152353](https://github.com/openclaw/openclaw/pull/152353) 的凭据。
- 避免在 Matrix 所有权检查 [#152382](https://github.com/openclaw/openclaw/pull/152382) 期间读取凭证。
- 巩固非发送附件准备[#150681](https://github.com/openclaw/openclaw/pull/150681)。
- 减少重复的选道工作 [#151433](https://github.com/openclaw/openclaw/pull/151433)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 集中Markdown披露深度处理[#149262](https://github.com/openclaw/openclaw/pull/149262)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 重用 Signal CLI 下载 [#154316](https://github.com/openclaw/openclaw/pull/154316) 的有界文件创建。
- 简化 Teams 文件同意帮助程序并测试 [#155050](https://github.com/openclaw/openclaw/pull/155050)。
- 窄Discord参数读取器进口[#155452](https://github.com/openclaw/openclaw/pull/155452)。
消息传递测试隔离凭据、临时路径和后台工作,并等待传递或清理以达到正在检查的状态。共享灯具保留每个通道的现有回归场景。
来源和完整变更列表
**改进**
- 分享重复LINE卡测试期望[#153218](https://github.com/openclaw/openclaw/pull/153218)。
- 在会话能力测试[#153790](https://github.com/openclaw/openclaw/pull/153790)中重用Matrix初始化。
- Reduce 在 Matrix 恢复持久性测试 [#153278](https://github.com/openclaw/openclaw/pull/153278) 中等待。
- Trim Matrix 会话重置测试设置 [#153252](https://github.com/openclaw/openclaw/pull/153252)。
- 分享Matrix QA CLI解析和故障诊断[#152087](https://github.com/openclaw/openclaw/pull/152087)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 避免在 Slack 启动测试 [#153684](https://github.com/openclaw/openclaw/pull/153684) 中加载后备插件。
- 从 Telegram 恢复装置 [#151424](https://github.com/openclaw/openclaw/pull/151424) 中删除速率延迟。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 跨 Telegram 重用工作人员发送测试 [#153301](https://github.com/openclaw/openclaw/pull/153301)。
- 在测试中锻炼生产通道状态助手[#152400](https://github.com/openclaw/openclaw/pull/152400)。
- 分享Discord回复回退测试设置[#151723](https://github.com/openclaw/openclaw/pull/151723)。
- 共享通道选项测试夹具[#153874](https://github.com/openclaw/openclaw/pull/153874)。
- 简化 SMS Webhook 注册断言 [#137621](https://github.com/openclaw/openclaw/pull/137621)。
- 共享通道设置测试夹具[#151833](https://github.com/openclaw/openclaw/pull/151833)。
- 共享通道模型和能力测试治具[#153621](https://github.com/openclaw/openclaw/pull/153621)。
- 复用通道回复收据夹具[#153783](https://github.com/openclaw/openclaw/pull/153783)。
- 从入口容量测试 [#154110](https://github.com/openclaw/openclaw/pull/154110) 中删除固定等待。
- 使Feishu注册取消测试确定性[#154196](https://github.com/openclaw/openclaw/pull/154196)。
- 删除隐藏的回复管道测试导入 [21cbb3cd](https://github.com/openclaw/openclaw/commit/21cbb3cd72439a7b06fcdbb28e305c508ece9905)。感谢 [@steipete](https://github.com/steipete).
- 复用编译的Discord音频工作者夹具[6319111d](https://github.com/openclaw/openclaw/commit/6319111df2121b72478de3be5691360ecb6d7e5c)。感谢 [@steipete](https://github.com/steipete).
- 简化Teams图形测试断言[#137802](https://github.com/openclaw/openclaw/pull/137802)。
- 简化语音呼叫运行时测试防护 [#154713](https://github.com/openclaw/openclaw/pull/154713)。
- 分享Teams同意上传测试断言[#154816](https://github.com/openclaw/openclaw/pull/154816)。
- 从语音呼叫通知测试 [#154846](https://github.com/openclaw/openclaw/pull/154846) 中删除实时等待。
- 在 LINE 图像集测试 [#154847](https://github.com/openclaw/openclaw/pull/154847) 中使用受控期限。
- 避免在 WhatsApp 测试 [#154849](https://github.com/openclaw/openclaw/pull/154849) 中真正重试等待。
- 从 Buzz 恢复测试 [#154855](https://github.com/openclaw/openclaw/pull/154855) 中删除实时等待。
- 合并ClickClack入库夹具[#154877](https://github.com/openclaw/openclaw/pull/154877)。
- 从 iMessage 收据恢复测试 [#155011](https://github.com/openclaw/openclaw/pull/155011) 中删除实际等待。
- 避免在Mattermost权威测试[#155017](https://github.com/openclaw/openclaw/pull/155017)中启动Slack。
- 删除重复的 Signal 空输入测试 [#155056](https://github.com/openclaw/openclaw/pull/155056)。
- 删除复制的通道能力测试实施[#155118](https://github.com/openclaw/openclaw/pull/155118)。
- 重复使用进度草稿测试配置[#155235](https://github.com/openclaw/openclaw/pull/155235)。
- 重用iMessage编辑和轮询测试回调[#155576](https://github.com/openclaw/openclaw/pull/155576)。
**错误修复**
- 正确的通道进度验证和观察者诊断[#153557](https://github.com/openclaw/openclaw/pull/153557)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在Discord交付测试[#153667](https://github.com/openclaw/openclaw/pull/153667)中使用规范macOS路径。
- 防止 Slack 身份恢复测试拆解挂起 [#151641](https://github.com/openclaw/openclaw/pull/151641)。
- Clean Telegram QA 启动失败后的子项 [#151894](https://github.com/openclaw/openclaw/pull/151894)。
- 隔离 Telegram 代理撤销测试 [#151925](https://github.com/openclaw/openclaw/pull/151925) 中的连接。
- 稳定Telegram媒体固定装置并拆卸[#153549](https://github.com/openclaw/openclaw/pull/153549)。
- 等待Telegram专辑夹具工作完成[#153599](https://github.com/openclaw/openclaw/pull/153599)。
- 将会话解析测试与加载 [#151945](https://github.com/openclaw/openclaw/pull/151945) 的捆绑插件隔离。
- 等待持续的Discord捕获退休[#153117](https://github.com/openclaw/openclaw/pull/153117)。
- 在指令传递测试[087ccde1](https://github.com/openclaw/openclaw/commit/087ccde18c3042c902a575e76b4bbdce97f71ca7)中验证渲染的代码块。感谢 [@steipete](https://github.com/steipete).
- 在测量 Discord 测试起搏 [761725d0](https://github.com/openclaw/openclaw/commit/761725d03f294aaddc399a759a0755d34a0e1ecf) 之前等待编码音频。感谢 [@steipete](https://github.com/steipete).
- Drain Discord 移除 [df752c82](https://github.com/openclaw/openclaw/commit/df752c82348dd9297a92cc6e9b0310a3b12802ba) 之前的命令测试状态。感谢 [@steipete](https://github.com/steipete).
- Drain Telegram 清理前恢复测试维护 [f28edb13](https://github.com/openclaw/openclaw/commit/f28edb139e7ac0cfdc19409d422149a600f46acc)。感谢 [@steipete](https://github.com/steipete).
- 自动保存文字JSON QA回复[#154620](https://github.com/openclaw/openclaw/pull/154620)。
- 在通道移除夹具 [#154754](https://github.com/openclaw/openclaw/pull/154754) 中使用当前配置路径。
- 保留 Discord 起搏装置 [#154790](https://github.com/openclaw/openclaw/pull/154790) 中生成的音频。
- 清理临时iMessage测试状态[#154900](https://github.com/openclaw/openclaw/pull/154900)。
- Discord录音测试[#154913](https://github.com/openclaw/openclaw/pull/154913)中的模型主动语音。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 使Slack传输截止时间测试独立于主机停顿[#155549](https://github.com/openclaw/openclaw/pull/155549)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 将 Telegram 排队轮次重试测试与回复准入 [#155955](https://github.com/openclaw/openclaw/pull/155955) 同步。
配置处理将纯遍历与文件访问分开并重用验证输入。现有设置、错误报告和重新加载决策保持不变。
来源和完整变更列表
**改进**
- 在配置诊断[#149099](https://github.com/openclaw/openclaw/pull/149099)中共享嵌套容器遍历。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 共享配置写入通知准备[#152022](https://github.com/openclaw/openclaw/pull/152022)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 将纯配置遍历与配置I/O [#152490](https://github.com/openclaw/openclaw/pull/152490)分开。
- 保留私人创作的配置来源以进行内部修复[#147051](https://github.com/openclaw/openclaw/pull/147051)。谢谢[@vincentkoc](https://github.com/vincentkoc),[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 跳过单代理目录冲突查找 [#152192](https://github.com/openclaw/openclaw/pull/152192)。
- 减少重复配置比较工作[#152279](https://github.com/openclaw/openclaw/pull/152279)。
- 跳过未使用的模型策略验证器设置 [#152796](https://github.com/openclaw/openclaw/pull/152796)。
- 在配置验证期间重用模型引用 [#152897](https://github.com/openclaw/openclaw/pull/152897)。
- 从验证模式 [#153935](https://github.com/openclaw/openclaw/pull/153935) 派生 Google Chat 和 WhatsApp 类型。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 从验证架构 [#153936](https://github.com/openclaw/openclaw/pull/153936) 派生主机配置类型。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 从架构 [#153937](https://github.com/openclaw/openclaw/pull/153937) 派生批准、挂钩和 MCP 配置类型。感谢 [@romneyda](https://github.com/romneyda).
- 跳过冗余启动配置扫描[#154588](https://github.com/openclaw/openclaw/pull/154588)。
- 从架构 [#154632](https://github.com/openclaw/openclaw/pull/154632) 派生 ACP 和队列配置类型。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 从验证架构 [#154633](https://github.com/openclaw/openclaw/pull/154633) 派生代理配置类型。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 从现有架构 [#154634](https://github.com/openclaw/openclaw/pull/154634) 派生共享通道类型。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在架构所有者 [#154635](https://github.com/openclaw/openclaw/pull/154635) 下合并共享配置类型。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 从现有架构 [#155484](https://github.com/openclaw/openclaw/pull/155484) 派生工具配置类型。感谢 [@RomneyDa](https://github.com/RomneyDa).
贡献者指南阐明了测试失败调查、重点验证和数据库访问,以及更新的技术参考和远程测试说明。生成的成熟度报告继续显示证据差距以及已完成的检查。
来源和完整变更列表
**文档**
- 记录紧急主分支维修程序[1894325e](https://github.com/openclaw/openclaw/commit/1894325ef72061ef1455cf2ddb3bc383e1feb1a9)。感谢 [@steipete](https://github.com/steipete).
- 文档片状调查和测试成本预算 [3b76ad84](https://github.com/openclaw/openclaw/commit/3b76ad846198a16592869164b3a6b954766f9725)。感谢 [@steipete](https://github.com/steipete).
- 减少存储库代理回复 [6f1499b0](https://github.com/openclaw/openclaw/commit/6f1499b001682843761404e08ad73648f7659db5) 中的重复引用。
- 澄清未解决的测试失败[894fb140](https://github.com/openclaw/openclaw/commit/894fb140a22246bc1574d5b29fe61e10f77036de)的有限调查。感谢 [@steipete](https://github.com/steipete).
- 淘汰旧指令文件别名,同时保留 AGENTS.md [9c831c75](https://github.com/openclaw/openclaw/commit/9c831c7551c027e6005a2132ccaa8d68a08edf03)。感谢 [@steipete](https://github.com/steipete).
- 澄清在贡献者聊天 [bef4c20d](https://github.com/openclaw/openclaw/commit/bef4c20d45bdd23c3557eb71962f908c691a7ed6) 中成功发送屏幕截图。感谢 [@steipete](https://github.com/steipete).
- 澄清重点验证以及何时需要视觉屏幕截图 [c43b7990](https://github.com/openclaw/openclaw/commit/c43b7990e6725119376c34392b7581a53d7af5a2)。感谢 [@steipete](https://github.com/steipete).
- 文档工作线程数据库访问策略[#154189](https://github.com/openclaw/openclaw/pull/154189)。
- 使用当前分类证据 [#153186](https://github.com/openclaw/openclaw/pull/153186) 刷新成熟度文档。
- 从协议文档 [#151604](https://github.com/openclaw/openclaw/pull/151604) 中删除过时的通知历史声明。
- 文档铁匠神器-目录下载[#153232](https://github.com/openclaw/openclaw/pull/153232)。
- 澄清已验证主CI的着陆修复[fd5331f1](https://github.com/openclaw/openclaw/commit/fd5331f17e0854d47d0bfe158359ac8613384249)。感谢 [@steipete](https://github.com/steipete).
- 澄清谁可以执行团队服务器更新 [#154425](https://github.com/openclaw/openclaw/pull/154425)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 澄清已完成的维护人员任务[#155716](https://github.com/openclaw/openclaw/pull/155716)的清理。感谢 [@vincentkoc](https://github.com/vincentkoc).
存储库审查通知确定修订、受影响的文件以及贡献者所需的批准。审核路由将维护者批准与 SecOps 拥有的文件分开,其独立合并实施取决于存储库规则集。
来源和完整变更列表
**改进**
- 撤销自动 secops 代码所有者审核请求 [#151624](https://github.com/openclaw/openclaw/pull/151624)。感谢 [@obviyus](https://github.com/obviyus).
- 澄清依赖性和安全审查通知 [#152578](https://github.com/openclaw/openclaw/pull/152578)。感谢 [@joshavant](https://github.com/joshavant).
- 澄清维护者审查-警告介绍[#152634](https://github.com/openclaw/openclaw/pull/152634)。感谢 [@joshavant](https://github.com/joshavant).
**错误修复**
- 恢复安全审查注释和标签[#152526](https://github.com/openclaw/openclaw/pull/152526)。感谢 [@joshavant](https://github.com/joshavant).
**安全信任**
- 与 SecOps 拥有的文件 [#152415](https://github.com/openclaw/openclaw/pull/152415) 分开的维护者批准。感谢 [@joshavant](https://github.com/joshavant).
Control UI 维护将排队消息清理、会话首选项和订阅合并到现有所有者之下。渲染还重用未更改的图标颜色。
来源和完整变更列表
**改进**
- 整合排队消息和命令清理[#152398](https://github.com/openclaw/openclaw/pull/152398)。
- 合并新会话工作树首选项 [#152455](https://github.com/openclaw/openclaw/pull/152455)。
- 从现有所有者 [#151384](https://github.com/openclaw/openclaw/pull/151384) 派生代理页面状态。感谢 [@romneyda](https://github.com/romneyda).
- 整合会话查询生命周期处理 [#151430](https://github.com/openclaw/openclaw/pull/151430)。
- 在未更改的会话更新中重复使用网站图标颜色 [#152373](https://github.com/openclaw/openclaw/pull/152373)。
- 简化工件预览转换和下载夹具[#155461](https://github.com/openclaw/openclaw/pull/155461)。
数据库和文件系统代码共享有界读取、查询准备和记录转换,并将选定的数据库工作移至现有工作人员。存储格式和数据所有权规则保持不变。
来源和完整变更列表
**改进**
- 窄数据库工作线程启动导入 [#153279](https://github.com/openclaw/openclaw/pull/153279)。
- Move Doctor 令牌库存读取到工作人员 [#151305](https://github.com/openclaw/openclaw/pull/151305)。
- 整合有界文件系统读取和散列[#153196](https://github.com/openclaw/openclaw/pull/153196)。
- 整合文件系统发现、暂存和散列[#153388](https://github.com/openclaw/openclaw/pull/153388)。
- 重用存档记录行字节计数 [#152693](https://github.com/openclaw/openclaw/pull/152693)。
- 共享会话绑定序列化[#152134](https://github.com/openclaw/openclaw/pull/152134)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 推迟共享数据库功能加载,直到首次使用 [#152071](https://github.com/openclaw/openclaw/pull/152071)。
- Batch 参与者读取会话身份检查 [#151549](https://github.com/openclaw/openclaw/pull/151549)。
- 重复使用准备好的成绩单新鲜度查询[#151606](https://github.com/openclaw/openclaw/pull/151606)。
- 跨会话放置共享数据库设置读取 [#151662](https://github.com/openclaw/openclaw/pull/151662)。
- 将 MCP 策略准备 SQL 移至其工作人员 [#151092](https://github.com/openclaw/openclaw/pull/151092)。
- Move 沙箱注册表读取到共享工作线程 [#151172](https://github.com/openclaw/openclaw/pull/151172)。
- 重复使用派生的SQL进行重复状态检查[#151835](https://github.com/openclaw/openclaw/pull/151835)。
- 合并会话数据库范围解析[#151836](https://github.com/openclaw/openclaw/pull/151836)。
- 读取 SSH 回退端口 [#151878](https://github.com/openclaw/openclaw/pull/151878) 时避免重复的工作记录。
- Cache重复代理数据库路径构建[#152525](https://github.com/openclaw/openclaw/pull/152525)。
- Pass 准备了 SQLite 绑定,没有包装副本 [#152571](https://github.com/openclaw/openclaw/pull/152571)。
- 重用准备好的语句进行会话计数 [#152591](https://github.com/openclaw/openclaw/pull/152591)。
- 将子代理记录转换与数据库操作分开 [#153838](https://github.com/openclaw/openclaw/pull/153838)。
- 减少子代理完成批次中的重复读取 [#151707](https://github.com/openclaw/openclaw/pull/151707)。
- 重用选定的任务 ID 进行交付状态读取 [#152315](https://github.com/openclaw/openclaw/pull/152315)。
- 从共享数据库工作线程 [#153060](https://github.com/openclaw/openclaw/pull/153060) 中删除仅主机依赖项。
- 重用规范工作区文件元数据 [#134906](https://github.com/openclaw/openclaw/pull/134906)。
- Narrow SQLite 快照和备份启动导入 [aeff5c8d](https://github.com/openclaw/openclaw/commit/aeff5c8d7438e32644d4617068918b8da936d625)。感谢 [@steipete](https://github.com/steipete).
- 提取可重用旧会话迁移查询[#153814](https://github.com/openclaw/openclaw/pull/153814)。
- 将转录导出所有权读取移动到共享工作线程 [#154173](https://github.com/openclaw/openclaw/pull/154173)。
- 减少转录摘要读取开销[#154391](https://github.com/openclaw/openclaw/pull/154391)。
- 减少 Web 推送更新期间重复的配置文件读取 [#154450](https://github.com/openclaw/openclaw/pull/154450)。
- 减少工人轮流记账[#154564](https://github.com/openclaw/openclaw/pull/154564)中的重复收据读取。
- 在结算期间重用worker启动元数据[#154596](https://github.com/openclaw/openclaw/pull/154596)。
- 删除未使用的异步数据库突变范围[#154776](https://github.com/openclaw/openclaw/pull/154776)。
- 重用配置文件查找查询编译[#154830](https://github.com/openclaw/openclaw/pull/154830)。
- 采用共享工作区文件读取器[#155108](https://github.com/openclaw/openclaw/pull/155108)。
- 共享转录工作人员请求类型 [#155291](https://github.com/openclaw/openclaw/pull/155291)。
- 在代理数据库清理期间避免无关的运行时加载 [#155809](https://github.com/openclaw/openclaw/pull/155809)。
**安全信任**
- 当请求完成时撤销未使用的会话突变权限[#150041](https://github.com/openclaw/openclaw/pull/150041)。
**限制和兼容性**
- 等待私有会话元数据写入并保留提交的结果 [#153216](https://github.com/openclaw/openclaw/pull/153216)。
现在必须等待私有会话追加和元数据写入调用。如果追加提交但重建本地视图失败,请解决读取失败并重新打开管理器,而不是重试已提交的追加。
兼容的依赖项和生成的元数据已在现有发布期限策略内刷新。所需的版本保持不变。
来源和完整变更列表
**改进**
- 刷新兼容的依赖项并生成元数据[#152220](https://github.com/openclaw/openclaw/pull/152220)。
- 刷新现有版本截止时间[#153781](https://github.com/openclaw/openclaw/pull/153781)内的兼容依赖项。
更新和打包测试重用隔离的准备工作并在工作人员之间分配独立的场景。夹具维修保留对历史升级、服务更换、迁移和备份所有权的检查。
来源和完整变更列表
**改进**
- 在测试工作人员之间分发历史启动检查 [#153532](https://github.com/openclaw/openclaw/pull/153532)。
- 从发布测试轮询 [#151331](https://github.com/openclaw/openclaw/pull/151331) 中删除重复的 Node 启动。
- 减少PR中的重复设置和发布工具测试[#153710](https://github.com/openclaw/openclaw/pull/153710)。
- 巩固重复的封装生命周期测试等待[#151636](https://github.com/openclaw/openclaw/pull/151636)。
- 删除重复包验收执行[#152620](https://github.com/openclaw/openclaw/pull/152620)。
- 隔离并重复使用Discord和更新器测试夹具[#154007](https://github.com/openclaw/openclaw/pull/154007)。
- 通过私有目录[#154235](https://github.com/openclaw/openclaw/pull/154235)重用更新测试准备。
- 重复使用一个子进程进行医生监护测试[#151425](https://github.com/openclaw/openclaw/pull/151425)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 通过回归和有界托管 CI 作业 [#142102](https://github.com/openclaw/openclaw/pull/142102) 保护更新重启结果。感谢 [@baovo15](https://github.com/baovo15)、[@duybaovin](https://github.com/duybaovin)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 并行化托管更新切换测试[#153569](https://github.com/openclaw/openclaw/pull/153569)。
- 将更新程序中断装置与共享 Node 策略 [#153651](https://github.com/openclaw/openclaw/pull/153651) 对齐。
- 在非 Windows CI [#150839](https://github.com/openclaw/openclaw/pull/150839) 上执行 Windows 更新路径。感谢 [@xydigitLybnnnn](https://github.com/xydigitLybnnnn)、[@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@beings1988-lab](https://github.com/beings1988-lab).
- Share 文件系统检查托管更新装置 [#149444](https://github.com/openclaw/openclaw/pull/149444)。
- 选择支持的CI运行时并添加Node 26个包检查[#154298](https://github.com/openclaw/openclaw/pull/154298)。
- 减少发布检查合同测试中的子流程工作[#154335](https://github.com/openclaw/openclaw/pull/154335)。
- 验证释放检查装置[#154345](https://github.com/openclaw/openclaw/pull/154345)中的Node关闭标志。
- 删除重复的发布检查标志断言[#154665](https://github.com/openclaw/openclaw/pull/154665)。
- 将已发布的升级测试扩展到多个提供商[#155158](https://github.com/openclaw/openclaw/pull/155158)。
- 在Doctor输入测试[#155325](https://github.com/openclaw/openclaw/pull/155325)中重用迁移运行时。
- 模拟备份测试租约到期,无需一分钟的等待 [#155332](https://github.com/openclaw/openclaw/pull/155332)。
- 避免在插件延迟测试中重复加载Doctor运行时[#155372](https://github.com/openclaw/openclaw/pull/155372)。
- 减少发布输入测试中不必要的Git设置[#155733](https://github.com/openclaw/openclaw/pull/155733)。
- 允许更多时间用于捆绑浏览器 MCP 包检查 [#155931](https://github.com/openclaw/openclaw/pull/155931)。
**错误修复**
- 恢复打包启动器测试夹具所需的依赖项[5741b3cb](https://github.com/openclaw/openclaw/commit/5741b3cbe85946ab8f680881e115cc46e5e5ecc4)。
- 将 Node 引导夹具与版本管理器路径 [#153696](https://github.com/openclaw/openclaw/pull/153696) 隔离。
- 隔离释放验证夹具状态[#153384](https://github.com/openclaw/openclaw/pull/153384)。
- Seed Dreaming 在停止网关 [#152038](https://github.com/openclaw/openclaw/pull/152038) 后重新启动装置。
- 在进度-消费者测试截止日期 [#152019](https://github.com/openclaw/openclaw/pull/152019) 之外准备 SDK。
- Run Node 恢复夹具与 Node [#151976](https://github.com/openclaw/openclaw/pull/151976)。
- 明确选择 Node 进行构建恢复测试 [#152162](https://github.com/openclaw/openclaw/pull/152162)。
- 修复并加快服务更新更换测试[#154263](https://github.com/openclaw/openclaw/pull/154263)。
- 在发布元数据固定装置 [#152486](https://github.com/openclaw/openclaw/pull/152486) 中保留工作区别名。
- 恢复 Bun [#152587](https://github.com/openclaw/openclaw/pull/152587) 下的 Doctor 夹具覆盖范围。
- 在 macOS 工作流程装置 [#152619](https://github.com/openclaw/openclaw/pull/152619) 中使用支持的 Bash。
- 防止 inode 重用导致备份测试不稳定 [#152795](https://github.com/openclaw/openclaw/pull/152795)。
- 使服务插入式固定装置独立于允许的 umask [#152807](https://github.com/openclaw/openclaw/pull/152807)。
- 使用Node进行升级诊断测试子[#151286](https://github.com/openclaw/openclaw/pull/151286)。
- Protect 更新感知插件迁移指南 [#153951](https://github.com/openclaw/openclaw/pull/153951)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 允许在医生准备 [#153382](https://github.com/openclaw/openclaw/pull/153382) 后重新安装夹具配套件。
- 在升级验证中识别已编译的插件[#153410](https://github.com/openclaw/openclaw/pull/153410)。
- 在升级验证中允许一次所需的基线重新启动 [#151607](https://github.com/openclaw/openclaw/pull/151607)。
- 将标题修复与工作树升级验证分开 [#153350](https://github.com/openclaw/openclaw/pull/153350)。
- 将安装程序 PATH 测试与已安装的 Node [#154186](https://github.com/openclaw/openclaw/pull/154186) 隔离。
- 避免假pnpm版本引脚测试失败[1497878e](https://github.com/openclaw/openclaw/commit/1497878e0bc677c6811c57442e6c775a16f43315)。感谢 [@steipete](https://github.com/steipete).
- 将升级幸存者夹具与基线准备 [6ee9578a](https://github.com/openclaw/openclaw/commit/6ee9578ab7bfd16f219e7fd7a3b1b34292552c36) 对齐。感谢 [@steipete](https://github.com/steipete).
- 等待网关验证中的初始 TLS 运行状况 [#153906](https://github.com/openclaw/openclaw/pull/153906)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在同版本升级测试中保留已发布的插件档案[#154374](https://github.com/openclaw/openclaw/pull/154374)。
- 将回滚测试缓存设置与更新程序 [#154410](https://github.com/openclaw/openclaw/pull/154410) 对齐。
- 为服务回滚夹具[#154557](https://github.com/openclaw/openclaw/pull/154557)设置有效权限。
- 在升级测试中报告实际网关进程身份[#154560](https://github.com/openclaw/openclaw/pull/154560)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在更新烟雾检查中识别候选安装身份[#154723](https://github.com/openclaw/openclaw/pull/154723)。
- 隔离更新程序子流程测试夹具[#154760](https://github.com/openclaw/openclaw/pull/154760)。
- 在更新配置测试中保留通道注册表[#154761](https://github.com/openclaw/openclaw/pull/154761)。
- 将更新完成灯具与主机效果 [#154762](https://github.com/openclaw/openclaw/pull/154762) 隔离。
- 在升级测试诊断[#154861](https://github.com/openclaw/openclaw/pull/154861)中保留基线启动日志。
- 在实时升级探针[#155085](https://github.com/openclaw/openclaw/pull/155085)中使用支持的推理。
- 在升级测试中保留已发布的插件档案[#155093](https://github.com/openclaw/openclaw/pull/155093)。
- 在升级探针测试中保留子诊断 [#155220](https://github.com/openclaw/openclaw/pull/155220)。
- 稳定插件注册表读回夹具计时[#155536](https://github.com/openclaw/openclaw/pull/155536)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- 回滚期间测试启动器权限处理[#155615](https://github.com/openclaw/openclaw/pull/155615)。感谢 [@fulgerulnegru](https://github.com/fulgerulnegru).
- 保留Matrix医生固定装置,直到清理完成[#155679](https://github.com/openclaw/openclaw/pull/155679)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 修复发射器夹具的使用寿命称为[#155825](https://github.com/openclaw/openclaw/pull/155825)。
- 在发布检查中识别已完成的延迟插件工具[#154859](https://github.com/openclaw/openclaw/pull/154859)。
- 将更新激活测试与共享切换存储[#155844](https://github.com/openclaw/openclaw/pull/155844)隔离。
- 修复本机加载程序和FaceTime发布测试设置[#155892](https://github.com/openclaw/openclaw/pull/155892)。
- 在普通 Node [#155940](https://github.com/openclaw/openclaw/pull/155940) 上运行安装包通道检查。
**文档**
- 准备历史升级测试并阐明缺失插件路径恢复[#155092](https://github.com/openclaw/openclaw/pull/155092)。
本地测试工具在支持的情况下重用经过验证的编译工作器,并保持大型测试清单的完整性。可选的离线网关测试路径可用于使用无根 Podman 以及匹配的准备好的映像和工具链对 Linux 进行可信、无密钥测试;它不支持 SELinux、外部网络访问或自动回退到主机执行。
来源和完整变更列表
**改进**
- 在准备好的 Linux 无根 Podman 主机 [#152318](https://github.com/openclaw/openclaw/pull/152318) 上为可信无钥匙装置添加选择加入离线网关测试。
- 在本地测试运行中重用经过验证的编译工作程序[#153558](https://github.com/openclaw/openclaw/pull/153558)。
- 在测试计划期间首先检查目录排除 [#151669](https://github.com/openclaw/openclaw/pull/151669)。
- 删除重复的工具路由测试覆盖范围[#151592](https://github.com/openclaw/openclaw/pull/151592)。
- 整合捕获的CI观察者夹具[#152930](https://github.com/openclaw/openclaw/pull/152930)。
- 删除重复的构建缓存测试断言 [#153101](https://github.com/openclaw/openclaw/pull/153101)。
- 减少 Git 夹具复制开销 [#154222](https://github.com/openclaw/openclaw/pull/154222)。
- 规划共享帮助程序测试时重用选择模式 [#153650](https://github.com/openclaw/openclaw/pull/153650)。
- 减少重复的工具测试编译和准备等待[#153685](https://github.com/openclaw/openclaw/pull/153685)。
- 在生命周期测试中重用编译的工作夹具[#151389](https://github.com/openclaw/openclaw/pull/151389)。
- 在本机测试报告套件[#154532](https://github.com/openclaw/openclaw/pull/154532)中重用编译工作。
- 将私有生命周期重置为测试支持 [#154669](https://github.com/openclaw/openclaw/pull/154669)。
- 减少详尽的测试路由工作[#154724](https://github.com/openclaw/openclaw/pull/154724)。
- 避免在批量错误测试中加载提供程序 [#154748](https://github.com/openclaw/openclaw/pull/154748)。
- 将仅类型测试移至编译器合约[#154841](https://github.com/openclaw/openclaw/pull/154841)中。
- 在串行混合项目测试中重用转换缓存[#155052](https://github.com/openclaw/openclaw/pull/155052)。
- 在测试中保留编译器策略和转换重用[#155481](https://github.com/openclaw/openclaw/pull/155481)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在插件导入测试[#155493](https://github.com/openclaw/openclaw/pull/155493)中重复使用准备好的CLI。
- 减少重复的命令和工具测试设置[#155503](https://github.com/openclaw/openclaw/pull/155503)。
- 跨布局和支持的运行时[#155518](https://github.com/openclaw/openclaw/pull/155518)重复使用JavaScript测试缓存。
- 减少重复的CLI和模具测试设置[#155564](https://github.com/openclaw/openclaw/pull/155564)。
**错误修复**
- 恢复合格的 Parallels 测试主机 [#153469](https://github.com/openclaw/openclaw/pull/153469) 的来宾命令传输。
- 恢复测试缓存重用和一致的UI依赖关系[#154121](https://github.com/openclaw/openclaw/pull/154121)。
- 保留大型 Git 库存的完整测试发现 [#151991](https://github.com/openclaw/openclaw/pull/151991)。
- 在 Bun 工作测试模拟 [#152956](https://github.com/openclaw/openclaw/pull/152956) 中恢复编译缓存访问。
- 在发布[45ba3419](https://github.com/openclaw/openclaw/commit/45ba3419d63e27d5dff2845d44c184f30614b445)之前准备MCP进口边界测试子项。感谢 [@steipete](https://github.com/steipete).
- 将历史 Node-runner 测试与主机 CI 策略 [7952e084](https://github.com/openclaw/openclaw/commit/7952e08424b94345bd0fef91c50ac505ac2e35fd) 隔离。感谢 [@steipete](https://github.com/steipete).
- 预编译隔离转录时区测试装置[7b9ebb0f](https://github.com/openclaw/openclaw/commit/7b9ebb0fe4390287b98f492b8eb1536119d31fc6)。感谢 [@steipete](https://github.com/steipete).
- 在 Vitest 工作线程 [9fd45e58](https://github.com/openclaw/openclaw/commit/9fd45e587ab54a921ca617f67e4ce0861d589cdd) 中保留编译器缓存策略。感谢 [@steipete](https://github.com/steipete).
- 在定时探头 [a3aa5390](https://github.com/openclaw/openclaw/commit/a3aa5390d813a0459dc14d7ea175c9b6b5ee3c45) 之前准备 SQLite 测试程序。感谢 [@steipete](https://github.com/steipete).
- 从工装测试批次 [#154265](https://github.com/openclaw/openclaw/pull/154265) 中排除静态夹具。
- 将 Git 根测试与父存储库 [#154677](https://github.com/openclaw/openclaw/pull/154677) 隔离。
- 将夹具编译限制为选定的工作条目[#154755](https://github.com/openclaw/openclaw/pull/154755)。
- 在选定的运行时[#154809](https://github.com/openclaw/openclaw/pull/154809)下运行测试子项。
- 当诊断失败时保留原始观察程序测试错误 [#155383](https://github.com/openclaw/openclaw/pull/155383)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 将 SQLite 夹具加载器参数与 Node 子 [#155557](https://github.com/openclaw/openclaw/pull/155557) 匹配。
- 在 MCP CLI 夹具 [#155609](https://github.com/openclaw/openclaw/pull/155609) 上保留编译器缓存。感谢 [@vincentkoc](https://github.com/vincentkoc).
本地化维护会删除界面文本已停用的条目,并共享 Android 报价验证逻辑。活动翻译保持不变。
来源和完整变更列表
**改进**
- 删除工作区标签后同步区域设置元数据 [#152977](https://github.com/openclaw/openclaw/pull/152977)。
- 删除已停用的本机翻译条目 [#153626](https://github.com/openclaw/openclaw/pull/153626)。
- 在Android翻译检查[#149090](https://github.com/openclaw/openclaw/pull/149090)中共享报价处理。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 删除过时的区域设置内存条目 [#155569](https://github.com/openclaw/openclaw/pull/155569)。
- 刷新翻译记忆库以获取消息批处理帮助 [dc7f1b6f](https://github.com/openclaw/openclaw/commit/dc7f1b6fd450ab68ff2129ef3e8e12f528e688c1)。
- 删除未使用的 Android 无结果翻译 [#155864](https://github.com/openclaw/openclaw/pull/155864)。
**文档**
- 澄清泰语问题-解雇术语[#155177](https://github.com/openclaw/openclaw/pull/155177)。
内存文件监视与索引分离,诊断和搜索结果准备重用现有信息。这是对当前内存实现的维护。
来源和完整变更列表
**改进**
- 从索引[#152631](https://github.com/openclaw/openclaw/pull/152631)中提取内存文件。感谢 [@Kimiyu-186](https://github.com/Kimiyu-186).
- 避免在内存诊断中重复工作区查找 [#152040](https://github.com/openclaw/openclaw/pull/152040)。
- 合并内存搜索结果准备[#152858](https://github.com/openclaw/openclaw/pull/152858)。
- 在内存恢复期间共享完整写入[#154422](https://github.com/openclaw/openclaw/pull/154422)。
- 删除重复的内存索引元数据保护 [#155510](https://github.com/openclaw/openclaw/pull/155510)。感谢 [@vincentkoc](https://github.com/vincentkoc).
模型和提供程序处理避免重复的目录搜索、元数据准备和响应解析。选择优先级、权限检查、提供者输出和后备规则保持不变。
来源和完整变更列表
**改进**
- 每个目录出版物 [#152859](https://github.com/openclaw/openclaw/pull/152859) 准备一次共享身份验证标签。
- 在环境状态读取 [#152119](https://github.com/openclaw/openclaw/pull/152119) 之前重用准备好的模型元数据。
- 在第一个文字匹配 [#152128](https://github.com/openclaw/openclaw/pull/152128) 处停止模型目录扫描。
- 跳过不可能的提供商所有权扫描 [#152158](https://github.com/openclaw/openclaw/pull/152158)。
- 重用准备好的提供商身份验证声明 [#151570](https://github.com/openclaw/openclaw/pull/151570)。
- 在首选匹配 [#151616](https://github.com/openclaw/openclaw/pull/151616) 后停止目录模板搜索。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 减少待处理模型目录状态检查 [#151819](https://github.com/openclaw/openclaw/pull/151819) 中的工作。
- 减少例程Codex请求清理开销[#152479](https://github.com/openclaw/openclaw/pull/152479)。
- Index 重复提供者和别名查找 [#152495](https://github.com/openclaw/openclaw/pull/152495)。
- 简化 xAI 响应引文选择 [#152686](https://github.com/openclaw/openclaw/pull/152686)。
- 简化Kimi引文集合[#152692](https://github.com/openclaw/openclaw/pull/152692)。
- 重用提供程序选项区域设置比较 [#151066](https://github.com/openclaw/openclaw/pull/151066)。
- 推迟提供商登录元数据构建,直到选择 [#151943](https://github.com/openclaw/openclaw/pull/151943)。
- 避免重新解析完整的流式工具参数 [#152904](https://github.com/openclaw/openclaw/pull/152904)。
- 简化兼容提供商流可读性检查[#152401](https://github.com/openclaw/openclaw/pull/152401)。
- 跳过普通完成块[#152549](https://github.com/openclaw/openclaw/pull/152549)的冗余扫描。
- 选择并行 MCP 响应,无需中间阵列 [#152685](https://github.com/openclaw/openclaw/pull/152685)。
- 从解析器结果 [#150413](https://github.com/openclaw/openclaw/pull/150413) 派生提供程序请求类型。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 简化模型重试和恢复决策 [#151995](https://github.com/openclaw/openclaw/pull/151995)。
- 仅标准化选定的 Firecrawl 搜索结果 [#152348](https://github.com/openclaw/openclaw/pull/152348)。
- 将模型查找与会话执行分开导入[#154763](https://github.com/openclaw/openclaw/pull/154763)。
- 减少重复的提供商查找工作[#155250](https://github.com/openclaw/openclaw/pull/155250)。
- 跳过保留的提供商所有者 [#155711](https://github.com/openclaw/openclaw/pull/155711) 的未使用激活计划。感谢 [@vincentkoc](https://github.com/vincentkoc).
共享本机客户端获得接口和跨语言合同检查以进行持续开发,以及统一的 Apple 监视状态格式。共享客户端基础工作不会激活新的 macOS sidecar。
来源和完整变更列表
**改进**
- Share Apple 观看交货状态格式 [#152228](https://github.com/openclaw/openclaw/pull/152228)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 将本机拥有的会话和策略接口添加到共享客户端 [#150344](https://github.com/openclaw/openclaw/pull/150344)。谢谢[@giodl73-repo](https://github.com/giodl73-repo),[@patrick-erichsen](https://github.com/patrick-erichsen).
- Check在CI [#150329](https://github.com/openclaw/openclaw/pull/150329)中共享TypeScript和Rust节点合约。感谢 [@giodl73-repo](https://github.com/giodl73-repo).
发布工具改进了包检查、发布读回和中断工作的恢复,同时保留了精确的包验证和明确的批准。默认情况下,可选的早期激活保持关闭状态,并且仅限于直接核心发布;使用它可以使发布页面公开,而 Docker 分发仍然不完整。授权的扩展稳定发布可以创建 GitHub 发布页面,而无需移动最新版本,并具有对 npm 可见性的有限等待和明确的运营商批准的豁免处理。
来源和完整变更列表
**改进**
- 共享过时包存档清理[#151930](https://github.com/openclaw/openclaw/pull/151930)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在包暂存检查中重用共享遍历[#153400](https://github.com/openclaw/openclaw/pull/153400)。
- 刷新 2026.9.5 [ab0433de](https://github.com/openclaw/openclaw/commit/ab0433dedc8d531ae15d73d2f532c6079121ef22) 的 macOS 更新源。
- 减少插件npm出版物[#152405](https://github.com/openclaw/openclaw/pull/152405)中的结帐工作。
- 将主要版本元数据与2026.9.5 [#151823](https://github.com/openclaw/openclaw/pull/151823)对齐。
- 在稳定发布证据[#151880](https://github.com/openclaw/openclaw/pull/151880)中记录明确的浸泡豁免。
- 在发布调度 [#152470](https://github.com/openclaw/openclaw/pull/152470) 之前检查发布先决条件。
- 恢复公开发布页面并可选择提前激活,而Docker分发可能仍不完整[#152435](https://github.com/openclaw/openclaw/pull/152435)。
- 允许扩展串行升级验证工作负载[#151285](https://github.com/openclaw/openclaw/pull/151285)。
- 更新插件预发布咨询扫描器 [#153942](https://github.com/openclaw/openclaw/pull/153942)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 支持非最新扩展稳定版本出版物[#154515](https://github.com/openclaw/openclaw/pull/154515)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 从发布验证中删除重复的 Git 对象检查 [#155254](https://github.com/openclaw/openclaw/pull/155254)。
**错误修复**
- 拒绝旧版 npm 包 [#152186](https://github.com/openclaw/openclaw/pull/152186) 中不完整的运行时依赖项。谢谢[@RomneyDa](https://github.com/RomneyDa),[@milanko77](https://github.com/milanko77).
- 在密封捆绑包 [#152242](https://github.com/openclaw/openclaw/pull/152242) 之前准备旧版 AI 依赖锁。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 处理一次性包装中的历史插件收缩包装[#151334](https://github.com/openclaw/openclaw/pull/151334)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 注册审查2026.9.6插件扫描结果[#153372](https://github.com/openclaw/openclaw/pull/153372)。
- 恢复Telegram发布QA [#151931](https://github.com/openclaw/openclaw/pull/151931)期间省略的合并关联。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 使用 GitHub- 托管运行器来发布 npm 工件 [#151633](https://github.com/openclaw/openclaw/pull/151633)。
- 授权Linux更新程序通道发布[#152408](https://github.com/openclaw/openclaw/pull/152408)。
- 当发布恢复 [#152425](https://github.com/openclaw/openclaw/pull/152425) 时重用 Linux 发布请求。
- 重新验证缓存的 Linux 出版物下载 [#152559](https://github.com/openclaw/openclaw/pull/152559)。
- 恢复 npm 工件检查 [#153154](https://github.com/openclaw/openclaw/pull/153154) 的共享运行器路由。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在 macOS 打包 [#152404](https://github.com/openclaw/openclaw/pull/152404) 期间重试繁忙的临时磁盘映像。
- 识别更新程序清单工具 [#152411](https://github.com/openclaw/openclaw/pull/152411) 中生成的配置包装器。
- Honor 批准了稳定插件引导程序 [#152206](https://github.com/openclaw/openclaw/pull/152206) 的浸泡豁免。
- 对齐稳定发布性能-豁免检查[#152290](https://github.com/openclaw/openclaw/pull/152290)。
- 使用可信工具 [#151282](https://github.com/openclaw/openclaw/pull/151282) 恢复扩展稳定插件发布。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 允许延迟的 npm 发布可见性来解决 [#151421](https://github.com/openclaw/openclaw/pull/151421)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 等待接受的 npm 版本变为可读 [#152176](https://github.com/openclaw/openclaw/pull/152176)。
- 恢复OpenCode Go中发现的模型选择,释放烟雾[#153107](https://github.com/openclaw/openclaw/pull/153107)。感谢 [@romneyda](https://github.com/romneyda).
- 回收废弃的ClawHub出版物儿童[#152432](https://github.com/openclaw/openclaw/pull/152432)。
- 在发布重试期间恢复原始 npm 发布者身份 [#152434](https://github.com/openclaw/openclaw/pull/152434)。
- 验证发布父版本 [#152438](https://github.com/openclaw/openclaw/pull/152438) 处的延迟插件注册表可见性。
- 恢复原始签名的npm发布尝试[#152616](https://github.com/openclaw/openclaw/pull/152616)。
- 记录审查的Codex性能助手启动[#151304](https://github.com/openclaw/openclaw/pull/151304)。
- 保留完整的历史升级测试选择并强制执行矩阵限制 [21231330](https://github.com/openclaw/openclaw/commit/21231330787094d48940247846e5c6b59232d08e)。谢谢[@pollybot13](https://github.com/pollybot13),[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 验证每个包管理器安装了确切的候选版本[e79e97b3](https://github.com/openclaw/openclaw/commit/e79e97b3591c4ccd86b74fb97b93fb341d659c8c)。感谢 [@aniruddhaadak80](https://github.com/aniruddhaadak80)、[@vincentkoc](https://github.com/vincentkoc)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 修复冷冻包装验证夹具[#152458](https://github.com/openclaw/openclaw/pull/152458)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 记录临时 OpenCode Go 烟雾模型引脚,稍后替换为发现的模型选择 [#152703](https://github.com/openclaw/openclaw/pull/152703)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 正确的扩展稳定校准和Gemini验证探头[#153190](https://github.com/openclaw/openclaw/pull/153190)。感谢 [@romneyda](https://github.com/romneyda).
- 重试后恢复经过身份验证的发布验证计划 [#151469](https://github.com/openclaw/openclaw/pull/151469)。
- 读取完整的流式发布验证元数据 [#151379](https://github.com/openclaw/openclaw/pull/151379)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在安排升级测试 [#151694](https://github.com/openclaw/openclaw/pull/151694) 之前检查历史 CLI 可用性。感谢 [@milanko77](https://github.com/milanko77).
- 验证冻结的2026.7.35释放合约[#154476](https://github.com/openclaw/openclaw/pull/154476)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 从独立安装[#154506](https://github.com/openclaw/openclaw/pull/154506)中准备捆绑发行包。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 验证冻结 2026.7.35 软件包 [#154546](https://github.com/openclaw/openclaw/pull/154546) 的 Telegram 配置。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 跨工作流重新运行 [#154561](https://github.com/openclaw/openclaw/pull/154561) 保留 Telegram 发布证据。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 避免在包验证 [#154567](https://github.com/openclaw/openclaw/pull/154567) 期间启动冗余的 npm 库存。
- 保留审查依赖性咨询验证 [#154646](https://github.com/openclaw/openclaw/pull/154646) 的请求。
- Extend 有界 npm 回读,用于扩展稳定发布 [#154824](https://github.com/openclaw/openclaw/pull/154824)。感谢 [@romneyda](https://github.com/romneyda).
- 修复候选弃权转发和npm包装[#155798](https://github.com/openclaw/openclaw/pull/155798)。
- 修复插件发布验证检查和元数据[#155818](https://github.com/openclaw/openclaw/pull/155818)。
- 更正SQLite工作程序包检查和包装器依赖关系[#155877](https://github.com/openclaw/openclaw/pull/155877)。
**限制和兼容性**
- 限定冻结的 2026.7.34 SDK 设置表面 [#152230](https://github.com/openclaw/openclaw/pull/152230)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 识别冻结的2026.7.34文件系统合约[#152326](https://github.com/openclaw/openclaw/pull/152326)。感谢 [@romneyda](https://github.com/romneyda).
- 记录v2026.9.5更新程序兼容性要求[#152472](https://github.com/openclaw/openclaw/pull/152472)。
- 对齐2026.9.6候选版本和适用的插件声明[29cde8b8](https://github.com/openclaw/openclaw/commit/29cde8b884d8516cc3510d59016c5b3d20fa0772)。感谢 [@steipete](https://github.com/steipete).
封装上限现在为 320 MiB,允许更大的封装。历史验证例外仅适用于其指定版本;这些工具更改并不建立完整的发布资格或发布。
基准将启动准备与已完成的工作区分开来,并保留更有用的已安装包诊断。这些变化改进了性能的测量和比较方式,而无需建立应用程序加速。
来源和完整变更列表
**改进**
- 验证基准测试工作并单独预热和CPU放置[#149702](https://github.com/openclaw/openclaw/pull/149702)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 测量Windows [#151635](https://github.com/openclaw/openclaw/pull/151635)上安装的网关启动和关闭。
- 比较一台 Windows 运行器 [#151697](https://github.com/openclaw/openclaw/pull/151697) 上安装的网关启动包。
- 为已安装的网关启动[#151825](https://github.com/openclaw/openclaw/pull/151825)添加可选的CPU分析。
- Cover 网关准入目录基准 [#151846](https://github.com/openclaw/openclaw/pull/151846)。
- 添加手动实时OpenAI网关并发分析[#154845](https://github.com/openclaw/openclaw/pull/154845)。
- 复杂基准测试工作负载 [#155613](https://github.com/openclaw/openclaw/pull/155613) 上的比较代码模式。
- 比较使用和不使用厨房水槽 [#155734](https://github.com/openclaw/openclaw/pull/155734) 的网关资源成本。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 通过插件关闭[#155792](https://github.com/openclaw/openclaw/pull/155792)校准网关资源测量。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 添加被动活动回顾诊断以模拟网关基准 [#155829](https://github.com/openclaw/openclaw/pull/155829)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 跨插件测试工作负载共享网关资源测量[#155830](https://github.com/openclaw/openclaw/pull/155830)。感谢 [@vincentkoc](https://github.com/vincentkoc).
**错误修复**
- 校准目录性能检查以主机CPU速度[#151732](https://github.com/openclaw/openclaw/pull/151732)。
- 将目录性能测量与后台工作隔离 [#151832](https://github.com/openclaw/openclaw/pull/151832)。
- 在目录基准 [#151840](https://github.com/openclaw/openclaw/pull/151840) 期间保留前台范围。
- 删除冗余目录基准优先保留[#151892](https://github.com/openclaw/openclaw/pull/151892)。
- 保留有效的安装启动 CPU 诊断捕获 [#152888](https://github.com/openclaw/openclaw/pull/152888)。
- Start 在 Bun [#152704](https://github.com/openclaw/openclaw/pull/152704) 下安装了 Gateway 基准装置。
- 在base64测试中使用当前内存计数器[#154808](https://github.com/openclaw/openclaw/pull/154808)。
- 在测试截止日期之前准备历史基准测试[#155780](https://github.com/openclaw/openclaw/pull/155780)。
实时提供商分析是选择性加入的,可能会产生提供商费用,包括前台轮次计数之外的后台使用情况。基准准入控制并不是严格的支出上限。厨房水槽比较需要指定的 Linux 环境和固定装置;资源观察并不能证明内存回收、不存在泄漏或聚合节省。
插件测试涵盖跨安装布局的资产查找、准备失败后的清理以及包生命周期行为。他们的装置隔离数据库状态和临时依赖性,同时保留现有断言。
来源和完整变更列表
**改进**
- 覆盖安装布局[#153723](https://github.com/openclaw/openclaw/pull/153723)的同级插件资产。谢谢[@RichSomeday222](https://github.com/RichSomeday222),[@Maxwell-Code07](https://github.com/Maxwell-Code07).
- 拒绝模型运行时准备 [#151677](https://github.com/openclaw/openclaw/pull/151677) 后覆盖清理。
- 将会话目录测试等待替换为受控时间 [#151136](https://github.com/openclaw/openclaw/pull/151136)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在插件断言[#151960](https://github.com/openclaw/openclaw/pull/151960)中共享有界文件扫描。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在插件打包测试中重用注册表存档[#154247](https://github.com/openclaw/openclaw/pull/154247)。
- 巩固预发布插件兼容性测试[#154457](https://github.com/openclaw/openclaw/pull/154457)。
- 加强插件停用错误和文件生命周期断言[#154729](https://github.com/openclaw/openclaw/pull/154729)。
- Isolate插件记录缓存争用测试[#154780](https://github.com/openclaw/openclaw/pull/154780)。
- 仅当测试装置需要时才加载代理运行时 [#154966](https://github.com/openclaw/openclaw/pull/154966)。
- 在插件夹具[#155459](https://github.com/openclaw/openclaw/pull/155459)中重复使用SQLite工人。
- 浏览器连接测试中的高级重试时钟 [#154851](https://github.com/openclaw/openclaw/pull/154851)。
- 在工作板通知测试[#155904](https://github.com/openclaw/openclaw/pull/155904)中重用SQLite内核固定装置。
**错误修复**
- 将插件生命周期测试路由到所需的数据库工作人员[#153582](https://github.com/openclaw/openclaw/pull/153582)。
- 将插件验证装置与运行时合约[#153561](https://github.com/openclaw/openclaw/pull/153561)对齐。感谢 [@vincentkoc](https://github.com/vincentkoc).
- Limit SDK 夹具复制并隔离临时 Groq 依赖项 [#152783](https://github.com/openclaw/openclaw/pull/152783)。
- 避免在 Prometheus 所有权测试 [#152782](https://github.com/openclaw/openclaw/pull/152782) 中加载冗余 SDK。
- 等待测试中的实际插件批准响应 [703dc02b](https://github.com/openclaw/openclaw/commit/703dc02bc3ea4a5d20ce5bfebddc856e46725285)。感谢 [@steipete](https://github.com/steipete).
- 按源身份 [860c9e80](https://github.com/openclaw/openclaw/commit/860c9e80d820664db44bdce1dec3ed9f594bb091) 选择转录本测试捕获。感谢 [@steipete](https://github.com/steipete).
- 关闭FaceTime音频转发测试驱动程序[abcbe771](https://github.com/openclaw/openclaw/commit/abcbe7710c6986a72df7bf106605063080148d90)。感谢 [@steipete](https://github.com/steipete).
- 在ClawHub防护测试[#154597](https://github.com/openclaw/openclaw/pull/154597)中观察实际的ZIP解码器。
- 防止介质保留固定装置 [#155174](https://github.com/openclaw/openclaw/pull/155174) 过早过期。感谢 [@VACInc](https://github.com/VACInc).
- Fix 工作人员 SDK 在内置结帐 [#155814](https://github.com/openclaw/openclaw/pull/155814) 中进行测试。
插件加载和目录避免了重复的路径解析、未使用的元数据读取和临时分配。现有工具行为、迁移历史记录和执行所有权都将被保留。
来源和完整变更列表
**改进**
- Skip 丢弃本机插件命令响应 [#152155](https://github.com/openclaw/openclaw/pull/152155)。
- 重用私有插件工具目录组[#152157](https://github.com/openclaw/openclaw/pull/152157)。
- 减少不可变数据检查中的临时分配[#152077](https://github.com/openclaw/openclaw/pull/152077)。
- 避免重复的本机插件路径查找 [#152127](https://github.com/openclaw/openclaw/pull/152127)。
- 跳过不必要的本机插件导入路径转换[#152227](https://github.com/openclaw/openclaw/pull/152227)。
- 复用插件图标根准备[#152494](https://github.com/openclaw/openclaw/pull/152494)。
- 减少重复的插件生成范围设置[#152602](https://github.com/openclaw/openclaw/pull/152602)。
- 从插件安装路径解析 [#152244](https://github.com/openclaw/openclaw/pull/152244) 读取单独的元数据。
- 仅加载挂起的插件迁移报告 [#152337](https://github.com/openclaw/openclaw/pull/152337)。
- 减少插件运行时范围[#152101](https://github.com/openclaw/openclaw/pull/152101)中的临时对象。
- 避免可变插件参数 [#152154](https://github.com/openclaw/openclaw/pull/152154) 的遍历分配。
- 减少空插件调用和属性读取中的分配[#152258](https://github.com/openclaw/openclaw/pull/152258)。
- 将插件清理包装器和固定装置与 lint 检查 [0051fa8f](https://github.com/openclaw/openclaw/commit/0051fa8f8f3126c487c9cfc91284f105eac045dc) 对齐。感谢 [@steipete](https://github.com/steipete).
- 减少重复的插件回调范围设置[#154625](https://github.com/openclaw/openclaw/pull/154625)。
- Consolidate Workboard 工作区预检错误处理 [#155465](https://github.com/openclaw/openclaw/pull/155465)。感谢 [@vincentkoc](https://github.com/vincentkoc).
QA 实验室将证据存档过滤器保留在其工具栏中,并拒绝缺少运行时结果的重播报告。通道测试工具还可以改进凭证固定装置的清理并保留更清晰的有界故障诊断。现有场景可供选择,QA 实验室控件和链接接收布局和刷新修复。 Slack 和 Discord 准备工具需要配置的凭证池; Slack 消息检查明确请求测试写入,而 Discord 的只读检查不建立写入权限。 API 收据、网关回复和实际客户端呈现仍保持单独检查。
来源和完整变更列表
**改进**
- 整合Telegram测试设置和保留运行恢复[#151571](https://github.com/openclaw/openclaw/pull/151571)。感谢 [@obviyus](https://github.com/obviyus).
- 添加可重复使用的 Discord 和 Slack 端到端 QA 工作流程 [#153471](https://github.com/openclaw/openclaw/pull/153471)。感谢 [@obviyus](https://github.com/obviyus).
- 在工作流 [#153969](https://github.com/openclaw/openclaw/pull/153969) 中选择单个 Matrix QA 场景。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在QA实验室[#154550](https://github.com/openclaw/openclaw/pull/154550)中注册心跳会话路由覆盖范围。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在QA实验室[#154601](https://github.com/openclaw/openclaw/pull/154601)中注册cron启动恢复。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 覆盖CLI的状态和健康状况并完成保留的QA夹具清理[#154613](https://github.com/openclaw/openclaw/pull/154613)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在QA实验室[#154694](https://github.com/openclaw/openclaw/pull/154694)中注册网关超时恢复。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在测试[#155016](https://github.com/openclaw/openclaw/pull/155016)中真实录取HTTP后模拟响应截止日期。
- 分享QA实验室跑步者选择夹具[#155272](https://github.com/openclaw/openclaw/pull/155272)。
- 减少配额恢复测试设置工作[#155308](https://github.com/openclaw/openclaw/pull/155308)。
- 减少QA总线媒体比较开销[#155311](https://github.com/openclaw/openclaw/pull/155311)。
- Batch 模拟提供者游标保留测试请求 [#155328](https://github.com/openclaw/openclaw/pull/155328)。
- 添加租用的 Slack 用户 OAuth 准备情况和消息检查 [#155547](https://github.com/openclaw/openclaw/pull/155547)。感谢 [@obviyus](https://github.com/obviyus).
- 在没有 QA 实验室 [#155598](https://github.com/openclaw/openclaw/pull/155598) 的情况下检查 Discord QA 机器人准备情况。感谢 [@obviyus](https://github.com/obviyus).
**错误修复**
- 将证据存档过滤器保留在工具栏内 [#152123](https://github.com/openclaw/openclaw/pull/152123)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 拒绝重播置信度报告,缺少运行时结果 [#129544](https://github.com/openclaw/openclaw/pull/129544)。
- 保留QA运输预载和包装准备边界[#152944](https://github.com/openclaw/openclaw/pull/152944)。
- 恢复Telegram QA技能集成检查[#151632](https://github.com/openclaw/openclaw/pull/151632)。
- 防止 Telegram QA [#151642](https://github.com/openclaw/openclaw/pull/151642) 中的虚假启动器泄漏故障。
- 避免 Telegram QA [#151644](https://github.com/openclaw/openclaw/pull/151644) 中的凭据启动器清理停止。
- 显示捕获的子进程错误 [#151675](https://github.com/openclaw/openclaw/pull/151675) 的 Telegram 测试输出。
- 使 Telegram 凭证租赁到期测试具有确定性 [#151729](https://github.com/openclaw/openclaw/pull/151729)。
- 修复已清理的 Slack QA 错误处理和 lint 合规性 [44559eb3](https://github.com/openclaw/openclaw/commit/44559eb315e09528aa287878494583e32ad9582e)。感谢 [@steipete](https://github.com/steipete).
- 修复当前接口[54c31297](https://github.com/openclaw/openclaw/commit/54c312971a40d5b3c3cd71ff5457cca765f6e912)的QA和MCP测试夹具。感谢 [@steipete](https://github.com/steipete).
- 在QA运行时测试[99f7055b](https://github.com/openclaw/openclaw/commit/99f7055b339155ca78baf31c3c1ffad645d83a20)中保留本机Slack发送器。感谢 [@steipete](https://github.com/steipete).
- Repair 托管 OpenShell 夹具设置和清理 [eb20f68c](https://github.com/openclaw/openclaw/commit/eb20f68c1e96309a76a05c124be1c93db85804a3)。
- 拒绝陈旧的 Slack 桌面 QA 证据 [#117344](https://github.com/openclaw/openclaw/pull/117344)。
- 保持 QA 实验室控件可在窄屏幕 [#152336](https://github.com/openclaw/openclaw/pull/152336) 上访问。感谢 [@vincentkoc](https://github.com/vincentkoc).
- URL- 后刷新 QA 实验室链接仅更改 [#152397](https://github.com/openclaw/openclaw/pull/152397)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在 QA 场景 [#154198](https://github.com/openclaw/openclaw/pull/154198) 中保留失败的工具收据。
- 在临时运行时清理之前释放空闲数据库句柄 [#154617](https://github.com/openclaw/openclaw/pull/154617)。
- 恢复等待孩子回复的可选 QA 覆盖范围 [#154642](https://github.com/openclaw/openclaw/pull/154642)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 检查本机MCP QA [#155554](https://github.com/openclaw/openclaw/pull/155554)中记录的终端回复。感谢 [@vincentkoc](https://github.com/vincentkoc).
- QA [#155811](https://github.com/openclaw/openclaw/pull/155811) 中的正确代码模式完成检查。
- Bound Telegram QA 凭证组发现 [#155601](https://github.com/openclaw/openclaw/pull/155601)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 在 QA 转录检查 [#155976](https://github.com/openclaw/openclaw/pull/155976) 中识别嵌套代码模式结果。
历史发布页面、普通 Markdown 镜像和插图保留了早期的发布记录。操作员参考资料阐明了释放交接和恢复程序。
来源和完整变更列表
**改进**
- 刷新2026.9.6贡献记录[e6645404](https://github.com/openclaw/openclaw/commit/e66454040a7403fe6e4388cddbd88a4a7bfd31bb)。感谢 [@steipete](https://github.com/steipete).
**文档**
- 添加v2026.9.5发布页面和导航[48f3d97d](https://github.com/openclaw/openclaw/commit/48f3d97de95f9cde2765204b1ecd56bb727afce4)。感谢 [@hannesrudolph](https://github.com/hannesrudolph).
- 存档已发布的 v2026.9.5 变更日志并注明 [#152395](https://github.com/openclaw/openclaw/pull/152395)。感谢 [@hannesrudolph](https://github.com/hannesrudolph).
- Mirror v2026.9.5 普通文档 Markdown [#152406](https://github.com/openclaw/openclaw/pull/152406)。感谢 [@hannesrudolph](https://github.com/hannesrudolph).
- 使用托管映像 [#152546](https://github.com/openclaw/openclaw/pull/152546) 说明 v2026.9.5 发行说明。
- 展示 9 月 2-4 日发布页面 [#152639](https://github.com/openclaw/openclaw/pull/152639)。
- 澄清释放切换和选择器恢复[#153322](https://github.com/openclaw/openclaw/pull/153322)。
- 文档扩展稳定发布恢复 [#151323](https://github.com/openclaw/openclaw/pull/151323)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 澄清更新后续和团队停机通知 [#154111](https://github.com/openclaw/openclaw/pull/154111)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 澄清扩展稳定版本页面上下文 [#155210](https://github.com/openclaw/openclaw/pull/155210)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 刷新模型发布说明和贡献记录[008107b3](https://github.com/openclaw/openclaw/commit/008107b32e27de4d4e14766cf73d1f5f6c02318f)。感谢 [@steipete](https://github.com/steipete).
- 在两个贡献记录 [2e7d7793](https://github.com/openclaw/openclaw/commit/2e7d7793bfec03c934f45684408d5eb3597edc8c) 中包含 Codex 向后移植。感谢 [@steipete](https://github.com/steipete).
- 刷新2026.9.6贡献记录[6eed4c66](https://github.com/openclaw/openclaw/commit/6eed4c664de9996082a0e38f3267f36c4ec92632)中的历史端点。感谢 [@steipete](https://github.com/steipete).
- 刷新 v2026.9.6 贡献记录端点和条目 [d1531b5b](https://github.com/openclaw/openclaw/commit/d1531b5b0ec5b296129304253f879439ab17a604)。感谢 [@steipete](https://github.com/steipete).
- 刷新贡献记录历史端点[eb377ac5](https://github.com/openclaw/openclaw/commit/eb377ac59e6c9fd6c7705028034812becf00271b)。感谢 [@steipete](https://github.com/steipete).
Crabbox 报告分类的获取失败,而不暴露原始私有 Git 输出并等待取消清理。它可以检查并恢复经过验证的废弃本地暂存,同时保留所有权或清理仍不确定的副本。测试盒验证保留在选定的签出中,恢复目标源上传并接受 Windows 上经过验证的 Microsoft OpenSSH 安装位置。准备更新后停止并重新启动现有的 Testbox 租赁;对文件系统上实时暂存的支持(无需刷新)不允许恢复未经验证的废弃副本。
来源和完整变更列表
**改进**
- 检查并恢复废弃的 Crabbox 源暂存 [#152006](https://github.com/openclaw/openclaw/pull/152006)。感谢 [@shakkernerd](https://github.com/shakkernerd).
**错误修复**
- 退出前完成 Crabbox 取消清理 [#151862](https://github.com/openclaw/openclaw/pull/151862)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- 在选定的结账[#153280](https://github.com/openclaw/openclaw/pull/153280)中保留远程验证。
- 保持 Crabbox 暂存可用,无需支持文件系统刷新 [#154368](https://github.com/openclaw/openclaw/pull/154368)。
- 承认已验证 Windows 测试盒 [#154478](https://github.com/openclaw/openclaw/pull/154478) 的 Microsoft OpenSSH 安装。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 恢复目标Testbox源上传的[#154796](https://github.com/openclaw/openclaw/pull/154796)。
**安全信任**
- 在没有原始 Git 输出的情况下对 Crabbox 获取失败进行分类 [#152138](https://github.com/openclaw/openclaw/pull/152138)。感谢 [@vincentkoc](https://github.com/vincentkoc).
技能安装将文件操作与策略分开,状态检查避免不必要的安装程序加载。研讨会审核状态和技能过滤器检查重用其现有输入,而无需更改安装或审核行为。
来源和完整变更列表
**改进**
- 将技能文件操作与安装策略分开 [#152629](https://github.com/openclaw/openclaw/pull/152629)。感谢 [@Kimiyu-186](https://github.com/Kimiyu-186).
- 保持技能状态读取独立于安装程序导入 [#152312](https://github.com/openclaw/openclaw/pull/152312)。
- 比较技能过滤器成员资格而不排序 [#152899](https://github.com/openclaw/openclaw/pull/152899)。
- 每个请求读取一次研讨会审核状态 [#151656](https://github.com/openclaw/openclaw/pull/151656)。
- 重用有界共享分段进行技能下载 [#154570](https://github.com/openclaw/openclaw/pull/154570)。