---
title: "v2026.10.1"
summary: "已安装技能发现、MCP 应用程序和完整备份,以及跨聊天、本机应用程序和自动化的更新。"
description: "OpenClaw v2026.10.1 发行说明,涵盖已安装的技能、MCP 应用程序、完整备份、对话、提供程序、本机应用程序、自动化和升级更改。"
keywords:
- "OpenClaw"
- "v2026.10.1"
- "发行说明"
---
# OpenClaw v2026.10.1
AI 代理和工具可以将这些发行说明读取为 [plain Markdown](https://raw.githubusercontent.com/openclaw/openclaw/main/CHANGELOG/2026.10.1.md)。
OpenClaw v2026.10.1 帮助您的代理 [ 在任务需要时找到相关的已安装技能 ](/tools/skills#search-installed-skills),而无需将整个技能库放入提示中。然后,您可以使用支持的表单和工作区文件,在聊天旁边使用兼容的、选择加入的 [MCP Apps](/cli/mcp/apps#plugin-extensions)。为了保持您的设置可恢复,[完整备份](/install/backups)现在可以驻留在外部存储或Cloudflare R2中并恢复到新的暂存目录中。
[新功能和扩展功能](#new-and-expanded-features) · [修复和改进](#fixes-and-refinements)
## 新功能和扩展功能
### 已安装技能发现
您的客服人员可以使用 [installed-skill search](/tools/skills#search-installed-skills) 在任务需要时查找相关技能,而无需将整个技能库加载到对话中。这适用于受支持的嵌入式代理、代码模式和 [Codex 会话](/plugins/codex-harness/runtime-behavior)。
搜索指令文本遵循代理的当前读取权限,并且可能仅覆盖文件的一部分,因此没有匹配并不意味着不存在合适的技能。代理单独读取所选技能的完整说明;该读取不授予安装或运行它的权限。
来源和完整变更列表
- E 当提示的大小限制将符合条件的已安装技能排除在技能列表之外时,它们仍然可以被发现。残疾技能和无法用于模型的技能仍被排除在外。 [#158089](https://github.com/openclaw/openclaw/pull/158089)。感谢 [@vincentkoc](https://github.com/vincentkoc) 和 [@eltonwf-del](https://github.com/eltonwf-del).
- Installed-skill 搜索返回匹配的名称和描述,而精确名称读取返回完整的指令或显式的大小错误。新指令可读取最多 256 个 KiB 的支持文件。 [#158090](https://github.com/openclaw/openclaw/pull/158090)。感谢 [@vincentkoc](https://github.com/vincentkoc)、[@eltonwf-del](https://github.com/eltonwf-del) 和 [@Jarvis-Baba](https://github.com/Jarvis-Baba).
- 嵌入式代理、代码模式和Codex获得安装的技能搜索和读取工具。 Codex 读取使用正确的工作区或交付的沙箱副本并返回完整的指令或错误。 [#158091](https://github.com/openclaw/openclaw/pull/158091)。感谢 [@vincentkoc](https://github.com/vincentkoc) 和 [@eltonwf-del](https://github.com/eltonwf-del).
- Search可以在座席当前的本机读取权限下查找技能指令中描述的功能。删除该权限还会抑制缓存或正在进行的指令匹配。 [#160538](https://github.com/openclaw/openclaw/pull/160538)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 即使提示不包含技能列表,客服人员也会收到搜索任务相关技能的指导。简单对话可以跳过发现,已知技能名称可以直接读取。 [#162842](https://github.com/openclaw/openclaw/pull/162842)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 匹配技能名称时精确大小写优先,因此请求 `Deploy` 可以将其与 `deploy` 区分开来。 [#162849](https://github.com/openclaw/openclaw/pull/162849)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 长本地指令文件将其开头贡献给搜索,而不是丢失所有指令文本匹配。覆盖范围仍然是部分的,每个文件在总搜索预算内最多有 16 个 KiB。超出该前缀的单词不匹配。 [#162856](https://github.com/openclaw/openclaw/pull/162856)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 当过滤仅留下通知或空技能列表时,发现指导也适用。现有通知仍然可见,并且指南反映了允许代理使用的工具。 [#162963](https://github.com/openclaw/openclaw/pull/162963)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 如果所选指令和支持文件超过了 8 个 MiB 的组合限制,则即使诊断关闭,代理也会收到选择较少技能的解释。 [#164012](https://github.com/openclaw/openclaw/pull/164012)。感谢 [@vincentkoc](https://github.com/vincentkoc).
### MCP 具有对话和文件的应用程序
启用 [MCP Apps](/cli/mcp/apps#plugin-extensions) 并配置兼容服务器后,您可以在聊天之外的应用程序中工作,并将选定的内容附加到下一条消息中。支持的应用程序还可以查看或编辑工作区文件,并提供更丰富的表单以及预览和资源选择。
消息和文件打开会在应用程序窗格中显示其批准控件,并可临时批准重复使用一个应用程序工具。如果文件编辑器不检查过时的保存,则可以覆盖较新的编辑。 [本机 Codex 表单](/plugins/codex-harness/native-features#rich-mcp-forms) 需要提示审批策略。

_带有示例工作区数据的参考应用程序演示,在 [#161747](https://github.com/openclaw/openclaw/pull/161747) 中提供。_
应用程序面板以全屏和分屏布局填充可用空间,遵循主机主题的透明应用程序与浅色和深色仪表板相匹配。文件视图在编辑后更新,仪表板内容反映已接受的仪表板更改。
更改和来源
- 直接打开应用程序、使用其设置、附加可移动内容以及查看或编辑广告的工作区文件格式。 [#161747](https://github.com/openclaw/openclaw/pull/161747)。感谢 [@steipete](https://github.com/steipete).
- 文件视图遵循附加或替换的文件,消耗的上下文清除而不丢失新的选择,非活动面板解释如何恢复交互。 [#164277](https://github.com/openclaw/openclaw/pull/164277)。感谢 [@steipete](https://github.com/steipete).
- App 消息、工作区文件打开和确认板提示使用其窗格内的可见审批控件。 [#164493](https://github.com/openclaw/openclaw/pull/164493)。感谢 [@steipete](https://github.com/steipete).
- 重复调用一个应用程序工具可以共享当前视图的临时批准。 [#164496](https://github.com/openclaw/openclaw/pull/164496)。感谢 [@steipete](https://github.com/steipete).
- Tool 和资源模板列表保留服务器分页标记,包括空标记和仅空白标记,以检索正确的下一页。 [#164368](https://github.com/openclaw/openclaw/pull/164368)。谢谢[@ooiuuii](https://github.com/ooiuuii),[@obviyus](https://github.com/obviyus).
- MCP 会话控制遵循当前元数据,撤销的预览消失,并且在准备期间撤销的访问返回授权错误。 [#163548](https://github.com/openclaw/openclaw/pull/163548)。感谢 [@steipete](https://github.com/steipete).
- 透明、主题感知的MCP 应用程序在浅色和深色模式下与仪表板融为一体;具有自己不透明背景的应用程序保留它。 [#161494](https://github.com/openclaw/openclaw/pull/161494)。感谢 [@steipete](https://github.com/steipete).
- 仪表板、小部件和 MCP 应用程序读取遵循先前接受的板写入,避免了旧的小部件修订。更改的目标会拒绝读取,而不是从其以前的位置提供服务。 [#164448](https://github.com/openclaw/openclaw/pull/164448)。感谢 [@steipete](https://github.com/steipete).
- MCP 应用程序再次以全屏、调整大小和分割布局填充仪表板面板,而不是缩小到空白间隙以上。 [11515ce](https://github.com/openclaw/openclaw/commit/11515ce5b3dad2dde1c8a667c6252f62085dd6de)。感谢 [@steipete](https://github.com/steipete).
### 外部存储上的备份
您可以在外部驱动器、安装的存储或 Cloudflare R2 上保留完整备份,并在激活之前将其恢复到新的暂存目录中。计划备份是可选择的,并且可以选择保留,在成功备份后删除符合条件的旧副本并保留最新副本。
选择加密上传的密码或明确选择 `none` 明文。目标名称和标记保持可见,即使上传已加密,`--output` 也会保留纯文本本地存档。保留密码、标记和命名空间以供恢复。为正在运行的安装提供单独的命名空间,并仅在其前一所有者停止后才接管现有的命名空间。从一代匹配的备份中恢复设置、数据库和凭据。
请按照指南初始化 [ 备份目标 ](/cli/storage)、配置 [ 存储位置 ](/concepts/storage-locations) 和 [Cloudflare R2](/plugins/cloudflare) 以及 [ 备份和恢复 ](/install/backups)。
备份和存储控制还获得现有区域设置中的翻译状态和设置指南。
来源和完整变更列表
- 完整备份支持外部存储和Cloudflare R2、可选计划和保留、目标检查以及恢复到新的分段。 [#161913](https://github.com/openclaw/openclaw/pull/161913)。感谢 [@steipete](https://github.com/steipete).
- 当可以测量目标容量时, 完全恢复会在提取之前检查存档大小以及 256 MiB 可用空间保留。 [#164492](https://github.com/openclaw/openclaw/pull/164492)。谢谢[@RomneyDa](https://github.com/RomneyDa),[@smoe](https://github.com/smoe).
- Restore 指南解释了额外的提取空间以及从匹配的备份生成中恢复配置、数据库和凭据。 [#164491](https://github.com/openclaw/openclaw/pull/164491)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 备份和存储控制、状态和提供程序或加密指南使用现有的翻译区域设置。 [#162578](https://github.com/openclaw/openclaw/pull/162578)。
### Code 模式工作值
在交互式代码模式下,您的代理可以保存小的 JSON 结果,并在以后的单元格、后续回复和重新启动后重用它们。只有完成的单元格才会保存其数据,而普通的单元格变量仍然会重新开始。
**覆盖或删除值会在对话历史记录和导出中留下旧版本。** 保存的值有大小限制,而其累积历史记录可能会超出这些限制。如果保存报告警告,请在假设成功之前检查记录。请参阅 [ 会话商店指南 ](/tools/code-mode/guest-api#session-store)。
来源和完整变更列表
- 在交互式代码模式单元、回复和重新启动之间保存较小的 JSON 工作值。只有完成的单元格才能保存它们;覆盖或删除后,旧版本仍保留在对话历史记录中。 [#164086](https://github.com/openclaw/openclaw/pull/164086)。感谢 [@steipete](https://github.com/steipete).
- 当网关或 CLI 主机关闭时, 等待代码模式工作人员,而另一个活动主机保留其自己的可重用工作人员。关闭命令在重新启动后适用。 [#162141](https://github.com/openclaw/openclaw/pull/162141)。感谢 [@steipete](https://github.com/steipete).
### 通话暂停
您可以 [snooze](/web/control-ui/sessions-and-sidebar) 网络中符合条件的对话 Control UI 将其从活动侧边栏中清除,同时其工作仍在继续。在“延后”或“全部”中找到它并自行唤醒它,或者让它在选定的时间或更早的时间在交互、完成或固定后返回。已存档的、儿童的和受保护的对话被排除在外。

_通过示例对话控制 UI 演示,在 [#161960](https://github.com/openclaw/openclaw/pull/161960) 中提供。_
来源和完整变更列表
- Snooze 会隐藏符合条件的活动网络对话,直到工作继续进行时的选定时间。暂停和所有视图、唤醒和撤消使它们易于访问;互动、完成或固定可以提前唤醒他们。本机控件和存档的、子的或受保护的对话被排除在外。 [#161960](https://github.com/openclaw/openclaw/pull/161960)。感谢 [@steipete](https://github.com/steipete).
### 捆绑桌面设置
全新打包的 Mac 应用程序安装程序可以通过此 Mac 运行 OpenClaw,而无需安装 Node 或单独的 CLI。默认情况下,它随应用程序一起停止。启用 **在应用程序关闭时保持 OpenClaw 运行** 以保持通道和自动化在后台运行;暂停的网关保持暂停状态。
符合条件的较旧的应用程序管理的 Node 安装可以移动到捆绑运行时;独立安装和固定运行时保留自己的设置。在重试切换之前,将仅在服务定义中保存的任何设置保存到配置文件配置或 `.env`。使用当前捆绑的 CLI 进行安装,拒绝覆盖较新的服务或运行时选择;重试之前检查一下。请参阅 [ 捆绑网关指南 ](/platforms/mac/bundled-gateway)。
新的 Linux 配套设置也使用捆绑的 Bun。仅当您确认托盘中的 **使用捆绑运行时…** 且网关首先运行时,现有安装才会切换。故障切换需要手动恢复,不能自动回滚。请参阅[Linux运行时采用](/platforms/linux#adopt-the-bundled-runtime)和[Bun兼容性](/install/bun-compatibility),包括如何返回Node。

_Mac 设置演示以及示例状态,提供于[#161779](https://github.com/openclaw/openclaw/pull/161779) by [@steipete](https://github.com/steipete)._
来源和完整变更列表
- App 拥有的 Mac 更新和修复操作使用应用程序更新程序,并且托管进程在应用程序连接丢失时关闭。 [#161583](https://github.com/openclaw/openclaw/pull/161583)。感谢 [@steipete](https://github.com/steipete).
- Mac 专用工作程序和浏览器设置使用捆绑的 Bun 和 SQLite 支持,无需单独的 Node 或 Homebrew SQLite。请参阅 [Mac 应用程序签名](/platforms/mac/signing)。 [#161603](https://github.com/openclaw/openclaw/pull/161603)。感谢 [@steipete](https://github.com/steipete).
- Fresh 此 Mac 设置在应用程序生命周期内启动随附的网关,而符合条件的现有安装保留其所有权。 [#161709](https://github.com/openclaw/openclaw/pull/161709)。感谢 [@steipete](https://github.com/steipete).
- Mac 启动依赖项-目标不匹配已得到纠正,同时 macOS 15 最小值仍保留。 [#161754](https://github.com/openclaw/openclaw/pull/161754)。感谢 [@steipete](https://github.com/steipete)、[@coygeek](https://github.com/coygeek).
- Mac 应用程序托管托管获得应用程序关闭后台切换以及合格的 Node 迁移和暂停服务恢复。 [#161779](https://github.com/openclaw/openclaw/pull/161779)。感谢 [@steipete](https://github.com/steipete).
- 早期捆绑的 Mac 运行时更新提高了复制大文件时的兼容性。 [#161825](https://github.com/openclaw/openclaw/pull/161825)。感谢 [@steipete](https://github.com/steipete)、[@hannesrudolph](https://github.com/hannesrudolph).
- Mac x64 工作线程避免了 Rosetta 下的本机进程读取器启动崩溃。 [#161876](https://github.com/openclaw/openclaw/pull/161876)。感谢 [@steipete](https://github.com/steipete).
- 早期捆绑的 Mac 运行时更新修复了工作环境处理、取消的请求、默认证书和本地文件路径。 [#162570](https://github.com/openclaw/openclaw/pull/162570)。感谢 [@steipete](https://github.com/steipete).
- 早期捆绑的 Mac 运行时更新修复了保留其父进程的流,并添加了模块加载和进程回调兼容性。 [#163081](https://github.com/openclaw/openclaw/pull/163081)。感谢 [@steipete](https://github.com/steipete).
- 捆绑的Mac运行时序列改进了单个文件更改、替换和删除通知,以及管道和模块兼容性。递归目录监视保留与主机相关的延迟。 [#163170](https://github.com/openclaw/openclaw/pull/163170)。感谢 [@steipete](https://github.com/steipete).
- 早期捆绑的 Mac 运行时更新修复了输出关闭、工作消息传递、预加载排序和取消的网络请求。 [#163687](https://github.com/openclaw/openclaw/pull/163687)。感谢 [@steipete](https://github.com/steipete).
- 捆绑的Mac运行时序列修复了使用挂钩的插件和工具影响的包加载;无钩托管网关不受影响。 [#163831](https://github.com/openclaw/openclaw/pull/163831)。感谢 [@steipete](https://github.com/steipete).
- 没有本地服务的远程或未配置的 Mac 配置文件可避免错误的卸载失败。此路径不会停止定义已在应用程序外部删除的已加载服务。 [#164069](https://github.com/openclaw/openclaw/pull/164069)。感谢 [@steipete](https://github.com/steipete).
- 捆绑的Mac运行时序列包括等效路径模块崩溃修复、文件系统默认值和包验证。 [#164121](https://github.com/openclaw/openclaw/pull/164121)。感谢 [@steipete](https://github.com/steipete).
- Linux 全新设置使用捆绑的 Bun,具有用于合格运行网关的确认托盘开关、保留的运行时选择以及故障时的手动恢复。 [#164401](https://github.com/openclaw/openclaw/pull/164401)。感谢 [@steipete](https://github.com/steipete).
- 最终共享桌面Bun版本`1.4.3-canary.1+c999d9cb9`包括插件文件和符号链接解析、并发模块查找、子进程消息传递和堆栈格式修复。 [#164606](https://github.com/openclaw/openclaw/pull/164606)。感谢 [@steipete](https://github.com/steipete).
- Mac 通过当前捆绑的 CLI 进行安装,保留更新的服务或运行时选择,并在拒绝后需要检查,而不是自动恢复。 [#164616](https://github.com/openclaw/openclaw/pull/164616)。感谢 [@steipete](https://github.com/steipete).
- Mac 网关设置、准备和更新错误指南获得翻译。 [#162265](https://github.com/openclaw/openclaw/pull/162265)。
- Mac 后台托管、更新、迁移和重试指南获得翻译。 [#162834](https://github.com/openclaw/openclaw/pull/162834)。
### 模型发现和实时目录更新
模型选择和价格可以在目录检查时或显式模型列表刷新后更新,而无需重新启动 OpenClaw。正在进行的工作将保留其原始模型信息和价格。如果下载的目录包含不正确的选择或价格,请禁用远程目录刷新,直到有更正的新目录可用。
OpenAI API-key 用户可以在这些模型到达捆绑目录之前选择其帐户列表中支持的聊天模型。这些条目使用保守的纯文本限制,省略成本意味着价格未知。模型列表修复还可以减少重复准备和重复数据,使 DeepInfra 发现与意外元数据一起工作,并防止溢出的 Vercel 价格显示为无限成本。
来源
- [刷新模型列表,同时保留未使用的 Anthropic 凭证](https://github.com/openclaw/openclaw/pull/156493) — 感谢 [serg0x](https://github.com/serg0x)、[RomneyDa](https://github.com/RomneyDa), [yoyo837](https://github.com/yoyo837)。
- [采用下载的模型选择和价格,无需重新启动 Gateway](https://github.com/openclaw/openclaw/pull/158000) — 感谢 [obviyus](https://github.com/obviyus)。
- [在不阻止数据库读取的情况下准备模型目录并隔离选定的凭证源](https://github.com/openclaw/openclaw/pull/161201) — 感谢 [steipete](https://github.com/steipete)。
- [当元数据包含意外或重复标签时保留 DeepInfra 实时模型发现](https://github.com/openclaw/openclaw/pull/161471) — 感谢 [steipete](https://github.com/steipete)。
- [避免客户端重新连接时重复模型选择器准备](https://github.com/openclaw/openclaw/pull/162326) — 感谢 [steipete](https://github.com/steipete)。
- [让取消的模型列表请求完成,同时继续为其他调用者进行发现](https://github.com/openclaw/openclaw/pull/162516) — 感谢 [vincentkoc](https://github.com/vincentkoc)。
- [发现捆绑目录中缺少的受支持的OpenAI API-关键帐户聊天模型](https://github.com/openclaw/openclaw/pull/162563) — 感谢[obviyus](https://github.com/obviyus)。
- [ 当 Vercel 实时汇率溢出时使用后备目录价格](https://github.com/openclaw/openclaw/pull/162897) — 感谢 [steipete](https://github.com/steipete)。
- [在模型目录工作器中保留较少的重复数据](https://github.com/openclaw/openclaw/pull/164428) — 感谢 [steipete](https://github.com/steipete)。
- [避免仅仅为了构建模型目录而激活每个本机代理集成](https://github.com/openclaw/openclaw/commit/1acda5764e6fa45bbb91dc43e16664b75b157cff) — 感谢 [RomneyDa](https://github.com/RomneyDa)。
- [减少构建模型目录时使用的内存](https://github.com/openclaw/openclaw/commit/a3510e81ba559bd8b312412c2288ef45e94c584a) — 感谢 [RomneyDa](https://github.com/RomneyDa)。
### Workboard 对话和导航
可选的 [Workboard 插件 ](/plugins/workboard) 允许您使用运行状态、规则和持久引脚来组织会话板上的对话。个人过滤器专注于涉及您或所选人员的对话,而不改变其他人的观点。嵌套的侧边栏链接使看板更容易到达,并且看板代理可以在被要求时帮助重塑看板。
规则和引脚现在决定放置,替换模型分类及其指令和刷新控件。对您之前在列文本中描述的任何位置使用规则。大板可以打开,同时可选的 PR 详细信息在后台到达;仅板视图需要会话或 PR-watcher 事件来刷新。删除会话面板会保留其对话和面板代理对话。
2026 年 7 月之前的 **Workboard KV 数据需要中间升级。** 升级前在 OpenClaw 2026.9.7 上运行 `doctor --fix`,遵循 [older-数据恢复说明](https://github.com/openclaw/openclaw/blob/d7748b561549edfe985d77216719a4ecaf3aa035/docs/plugins/workboard.md)。 Current Doctor 会保留该数据并发出警告,而不是将其导入。如果您回滚,旧版本会将会话板显示为空的卡片板;当您返回时,添加的卡将被拒绝。
更改和来源
- Sessions 板将当前对话状态与放置规则和持久引脚相结合,包括没有观察者运行状况摘要的活动或失败运行。 [#161958](https://github.com/openclaw/openclaw/pull/161958),[#163761](https://github.com/openclaw/openclaw/pull/163761),[#163823](https://github.com/openclaw/openclaw/pull/163823)。感谢 [@steipete](https://github.com/steipete).
- Everyone,涉及我和人员过滤器可让您的看板焦点集中在您的浏览器和设备上。 [#162283](https://github.com/openclaw/openclaw/pull/162283)。感谢 [@steipete](https://github.com/steipete).
- 嵌套的板链接和可拆卸、可重新排序的侧边栏销使板更容易触及。 [#164604](https://github.com/openclaw/openclaw/pull/164604)。感谢 [@steipete](https://github.com/steipete).
- Sessions 板请求共享准备好的事实和并发刷新工作,并通过后台更新填充缺失的 PR 详细信息。 [#164218](https://github.com/openclaw/openclaw/pull/164218)。感谢 [@steipete](https://github.com/steipete).
- 重复读取未更改的卡共享服务器工作,并且提交的更改使保存的结果无效。 [#164301](https://github.com/openclaw/openclaw/pull/164301)。感谢 [@steipete](https://github.com/steipete).
- 保存证据、工件和工作日志可以避免重复读卡和数据库准备。 [#164120](https://github.com/openclaw/openclaw/pull/164120)。感谢 [@steipete](https://github.com/steipete).
- A 被拒绝的附件被删除一次,保留原始元数据限制错误。 [#162805](https://github.com/openclaw/openclaw/pull/162805)。感谢 [@steipete](https://github.com/steipete).
- Older Workboard KV 记录需要中间 Doctor 迁移,而格式错误的快速聊天小部件 URL 会被拒绝,而不会出现恐慌。 [#163713](https://github.com/openclaw/openclaw/pull/163713)。感谢 [@steipete](https://github.com/steipete).
### Bun-仅安装
支持的 Bun- 仅在 macOS 和 Linux 上安装可以运行普通 `openclaw` 命令,无需 Node。使用记录的 Bun 1.4 或更新的启动器并将命令保留在 PATH 上;重新安装或使用 `doctor --fix` 批准其修复会刷新它。较旧安装的更新程序仍然需要受支持的升级路线。
Bun 现在报告有用的 Codex 启动错误,并让有效消息跟随格式错误的消息。本机依赖项修复会保留现有包,并在无法修复它们时发出警告。大型计算机控制屏幕截图和管道 MCP 响应可避免受影响的输出故障,并且受影响的 macOS 构建会在命令输出结束后让预期的后台进程继续运行。
来源和完整变更列表
- 当 Node 不存在或不可用时,First 安装在 Bun-only 计算机上会跳过 Node 检查。这仍然需要受支持的显式 Bun 1.4 或更新的启动器,并且较早发布的更新程序不会追溯获得 Bun-only 更新支持。 [#161512](https://github.com/openclaw/openclaw/pull/161512),感谢[@steipete](https://github.com/steipete).
- Eligible 可信 Bun-only 在 macOS 和 Linux 上的全局安装可以使用选定的 Bun 可执行文件运行普通 `openclaw`,而无需 Node。 OpenClaw 命令仍需要位于 PATH 上。重新安装以刷新启动器,或通过 Bun 调用已安装的条目并使用 `doctor --fix` 批准其修复。 [#162541](https://github.com/openclaw/openclaw/pull/162541),感谢[@steipete](https://github.com/steipete).
- Bun 本机依赖项修复会保留现有包,并在修复不可用时发出警告。 Codex 启动保留有用的丢失文件、权限和体系结构错误,而格式错误的 JSON 会生成经过编辑的警告,并且不再阻止以后的有效消息。 [#162559](https://github.com/openclaw/openclaw/pull/162559),感谢[@steipete](https://github.com/steipete).
- 在Linux和macOS上的Bun下保留大型计算机控制和MCP响应,同时保留进程清理。 [#163456](https://github.com/openclaw/openclaw/pull/163456) 感谢 [@steipete](https://github.com/steipete).
- [受影响的 Bun 在 macOS 上构建,在命令输出完成 ](https://github.com/openclaw/openclaw/pull/163633) 后保留预期的后台后代运行。感谢 [@steipete](https://github.com/steipete).
### 可恢复工人安装
中断的工作程序下载可以在同一次安装尝试中恢复,并在使用前进行检查。当字节到达时,云设置会不断重试,并且在下载经过十分钟后配对可以完成,同时注册保持活动状态。在多次失败但没有进展或截止期限到期后,恢复仍然会停止。
更新保存的脚本以使用修订后的 [cloud-worker 设置示例 ](/gateway/cloud-workers#configuration),该示例处理首次启动包锁定和 nvm 选择的 Node 版本。 [ 安装指南](/gateway/cloud-workers/setup-and-bundle-installation#the-setup-command) 和[ 故障排除指南](/gateway/cloud-workers/troubleshooting) 涵盖了其余先决条件。之前颁发的配对凭证在升级后可以获得更长的使用寿命;将其保密,并且不要仅依靠关闭注册来撤销现有批准或绑定凭据。
来源和完整变更列表
- Cloud-worker 配对可以在下载超过十分钟后完成,同时注册仍然有效。通用设置令牌的十分钟生命周期保持不变。 [#161552](https://github.com/openclaw/openclaw/pull/161552),感谢[@steipete](https://github.com/steipete).
- Cloud 引导程序重试会在下载增加字节时继续进行,从而避免在几次中断但仍取得进展后提前停止。连续三次没有进展的短暂失败结束了尝试,并且现有的总体截止日期仍然适用。 [#162408](https://github.com/openclaw/openclaw/pull/162408),感谢 [@steipete](https://github.com/steipete) 和 [@vincentkoc](https://github.com/vincentkoc).
- 准备和检查云节点包不再占用网关的主线程,因此它可以在该步骤中处理其他工作。 [#163446](https://github.com/openclaw/openclaw/pull/163446),感谢[@steipete](https://github.com/steipete).
- 中断的工作包下载从同一安装期间保留的字节恢复,然后在使用前检查完整的大小和哈希值。连续三次失败且没有任何进展会停止尝试,取消或失败会删除临时下载。 [#164114](https://github.com/openclaw/openclaw/pull/164114),感谢[@steipete](https://github.com/steipete).
- 修订后的 Debian 和 Ubuntu 云设置示例在 Node 需要安装时等待首次启动初始化,并为程序包管理器提供最多十分钟的锁定来清除。现有保存的设置配置文件需要修改脚本。 [#164133](https://github.com/openclaw/openclaw/pull/164133),感谢[@steipete](https://github.com/steipete).
- [修改后的云设置示例修复了nvm选择的Node版本并报告其路径和版本。更新保存的脚本以使用它。如果仍然缺少先决条件,请检查 GitHub CLI 安装为 well.](https://github.com/openclaw/openclaw/pull/164613). 感谢 [@steipete](https://github.com/steipete).
### 较小的 npm 安装
npm 安装通过排除不相关平台的本机二进制文件来使用更少的磁盘,并避免这些额外文件导致的更新失败。 Worker 支持仍然包含在内,并且 Docker 安装获得了缺少的包准备文件。请参阅[软件包安装详细信息](/gateway/security/dependency-locking)。
已经过大的安装会保留额外的文件。如果较旧的更新程序拒绝该软件包,请使用受支持的手动重新安装途径。
来源和完整变更列表
- npm 将捆绑工作程序文件打包在存档中,以便其文件计数不再超出更新程序的条目限制,同时保留工作程序支持。 [#163985](https://github.com/openclaw/openclaw/pull/163985),感谢[@RomneyDa](https://github.com/RomneyDa).
- npm 按平台安装过滤器可选本机包,减少不相关二进制文件使用的磁盘。现有的超大安装不会自动修剪,并且拒绝该软件包的旧更新程序可能需要受支持的手动重新安装。 [#165997](https://github.com/openclaw/openclaw/pull/165997),感谢 [@steipete](https://github.com/steipete)、[@tommyfive](https://github.com/TommyFive) 和 [@kenmege](https://github.com/Kenmege).
- Published 软件包现在包括准备挂钩所需的生成器和帮助程序文件,修复了 Docker 种子安装期间的软件包完整性故障。 [98421de](https://github.com/openclaw/openclaw/commit/98421de805fb68652bcd5d0877116a469255590e),感谢[@steipete](https://github.com/steipete).
### 仅工作区会话中的浏览器图像
仅工作区主机会话中的代理可以检查网关媒体存储中的屏幕截图、暂存附件和生成的图像,包括保存在其工作区之外的图像。
该商店在会话之间共享。在多用户网关上,具有确切路径的代理也可以在那里读取另一个会话的媒体。其他目录限制仍然存在,沙盒工具无法访问主机文件系统。
来源和完整变更列表
- 让仅限工作区的主机媒体工具读取共享网关屏幕截图和附件存储。 [#162285](https://github.com/openclaw/openclaw/pull/162285) 谢谢 [@steipete](https://github.com/steipete).
### 对话搜索和在线浏览
尽管标点符号或空格存在差异,您仍可以找到对话标题,并在完成最后一个单词之前搜索消息。之前的查询词仍然需要完整。结果显示格式化预览并突出显示匹配的 URL,同时保持链接和图像被动。
在线侧边栏可让您关注正在进行工作的人员,并按状态、正在进行的工作、开放聊天计数或姓名进行排序。这些选择是临时的,并且计数涵盖可访问的公开聊天。
来源和完整变更列表
- 消息搜索预览显示基本的内联格式和突出显示的 URL 匹配,同时保持链接和图像被动。 [#162279](https://github.com/openclaw/openclaw/pull/162279)。感谢 [@steipete](https://github.com/steipete).
- 对话标题搜索规范了标点符号和空格,消息搜索支持最终查询词中的前缀。早期的消息术语仍然需要完整的单词。 [#162517](https://github.com/openclaw/openclaw/pull/162517)。感谢 [@steipete](https://github.com/steipete).
- Online 提供“全部”和“正在运行”过滤器,以及状态、运行计数、开放聊天计数和名称排序。计数涵盖可访问的公开聊天而不是一生历史记录。 [#163664](https://github.com/openclaw/openclaw/pull/163664)。感谢 [@steipete](https://github.com/steipete)、[@Patrick-Erichsen](https://github.com/Patrick-Erichsen)、[@vyctorbrzezowski](https://github.com/vyctorbrzezowski) 和 [@jesse-merhi](https://github.com/jesse-merhi).
### 连接丢失时聊天
在连接丢失期间,您可以继续阅读缓存的对话、编辑草稿和对消息进行排队。准备好的浏览器可以在报告离线时重新打开聊天和新会话,但发送会等待帐户重新验证。加载的小部件通过临时断开连接保持其本地状态;完全重新加载会丢弃它。
任何有权访问该浏览器配置文件的人都可以读取其缓存的对话和草稿。较旧的无主草稿和队列需要恢复审核并且从不自动发送。清除站点数据可能会删除已保存的副本,而回滚到较旧的 UI 可能会使新队列无法读取。请参阅 [ 离线和重新连接指南 ](/web/control-ui/offline-and-reconnect)。
来源和完整变更列表
- 缓存的对话内容、草稿和队列在连接丢失期间仍然可用。当浏览器明确离线时,准备好的聊天和新会话页面可以重新打开,并具有完整的缓存和保留的访问信息。不确定发送等待收货检查和恢复审核;任何可以使用该浏览器配置文件的人都可以读取缓存的数据。 [#162428](https://github.com/openclaw/openclaw/pull/162428)。感谢 [@steipete](https://github.com/steipete).
- E 在网关重新连接完成之前,可以显示符合条件的缓存对话路由。丢失或不明确的缓存路由仍等待实时验证。 [#162794](https://github.com/openclaw/openclaw/pull/162794)。感谢 [@steipete](https://github.com/steipete).
- Send 在帐户恢复期间等待,同时草稿仍可编辑。即使普通历史记录仍在加载,它也会在帐户恢复后变得可用,并且永远不会自动发送保留的草稿。 [#161695](https://github.com/openclaw/openclaw/pull/161695)。感谢 [@steipete](https://github.com/steipete).
- 重新连接或配置文件更改后,Control UI 保留新连接保存的对话列表和聊天启动信息。 [943286f](https://github.com/openclaw/openclaw/commit/943286f39b80e2135c3f57cd74cfa4de5d7f8fc7)。感谢 [@steipete](https://github.com/steipete).
### 保存的草稿和消息恢复
侧边栏铅笔标记可帮助您在重新加载后或在新选项卡中查找保存的草稿,包括附件、回复和目标。排队的消息显示图像预览,其附件离开作曲家而无需清除新的输入。不包括隐身模式;如果没有浏览器存储,草稿仅保留在当前选项卡中,并且更改不会实时同步到已打开的选项卡。
草稿和未发送行显示带有“恢复”和“删除”控件的预览,而确认发送会清除已保存的队列副本。恢复将输入移动到空的符合条件的聊天中,而不发送它。如果消息可能已经发送,请先检查其原始对话。删除恢复副本会删除其保存的文件并保持发送的历史记录完好无损。
来源和完整变更列表
- 保存的草稿铅笔标记包括重新加载或新选项卡后的文本、附件、回复和目标。隐身模式被排除,不可用的浏览器存储将回退到当前选项卡。 [#162049](https://github.com/openclaw/openclaw/pull/162049)。感谢 [@steipete](https://github.com/steipete).
- Saved 恢复显示有意义的预览、附件和消息计数以及已知的源对话。恢复将保存的输入移动到空的符合条件的聊天中而不发送;不确定的传递仍暂停以检查原始聊天。确认删除将删除显示的已保存副本和文件,而不是发送历史记录。 [#163717](https://github.com/openclaw/openclaw/pull/163717)。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 当加载的历史记录证明在同一对话和记录的会话中传递了确切的消息时,保存的队列副本消失。剩余的草稿或未发送行保留恢复、删除和可能发送警告;恢复永远不会自动发送。 [#164486](https://github.com/openclaw/openclaw/pull/164486)。感谢 [@steipete](https://github.com/steipete).
- 成功排队、未更改的附件离开编辑器,而新编辑的文本和文件仍然保留。存储或连接更改会阻止陈旧清理。 [#162898](https://github.com/openclaw/openclaw/pull/162898)。感谢 [@steipete](https://github.com/steipete).
- 排队消息显示其第一张图像的小预览。 [#161459](https://github.com/openclaw/openclaw/pull/161459)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 当插件替换、委托或无法安装作曲家时, 排队消息及其删除控件仍然可见。 [1571690](https://github.com/openclaw/openclaw/commit/15716905f62344c36b975583c5ab4e6d96b41052)。感谢 [@RomneyDa](https://github.com/RomneyDa).
### 聊天中的视频和附件
助理回复可以显示可播放的 [YouTube 卡](/web/control-ui/chat#youtube-videos),以及开始时间和在线播放不可用时的外部观看链接。在按“播放”之前,缩略图会联系 Google。 Control UI 还支持 [ 内联播放和搜索 ](/nodes/media-playback),允许本地本地音频和视频最多 4 个 GiB,具体取决于浏览器格式支持。远程工作区和通道限制保持不变。
在历史记录重新加载或临时文件消失后,来自会话绑定运行的新入站图像和创作进度附件仍然可见。当您返回到该分支时,保留的倒带分支上生成的媒体可用,并使用磁盘,直到删除该分支。此更改无法恢复以前丢失的文件。
来源和完整变更列表
- Assistant 回复可以显示 YouTube 缩略图卡,其中包含播放、支持的开始时间和外部观看链接。缩略图在播放前联系Google;严格模式、窄卡和提供商限制可能需要外部播放。 [#164576](https://github.com/openclaw/openclaw/pull/164576)。感谢 [@steipete](https://github.com/steipete).
- 允许本机本地音频和视频最多可以内联播放和查找 4 个 GiB。远程工作区、通道和转码限制保持不变,浏览器编解码器仍然控制播放。拒绝的链接显示未附加媒体而不暴露 URL,仅拒绝的回复可避免重复的历史记录行。 [#164137](https://github.com/openclaw/openclaw/pull/164137)。感谢 [@steipete](https://github.com/steipete).
- 在临时文件消失或页面重新加载(包括恢复的运行)后,来自会话绑定代理运行的新编写的进度附件仍保留在历史记录中。以前丢失的文件不会恢复。 [#165275](https://github.com/openclaw/openclaw/pull/165275)。感谢 [@steipete](https://github.com/steipete).
- 重新打开或重新加载历史记录时,新暂存的入站图像会保留其显示引用,而不会暴露私有工作空间路径。已经损坏的旧转录本不会被修复。 [#161842](https://github.com/openclaw/openclaw/pull/161842)。感谢 [@brandon-julio-t](https://github.com/brandon-julio-t) 和 [@obviyus](https://github.com/obviyus).
- 在文件清理后返回到该分支时,从保留的倒带分支生成的媒体仍然可用。保留使用磁盘,直到删除分支,并且已删除的文件无法恢复。 [#163043](https://github.com/openclaw/openclaw/pull/163043)。感谢 [@steipete](https://github.com/steipete) 和 [@yetval](https://github.com/yetval).
### 共享聊天反应
经授权、已识别的参与者可以 [ 对符合条件的已保存提示作出反应并回复 ](/web/control-ui/chat#reactions),而无需启动另一个代理轮次。其他读者会看到计数和姓名,而代理会了解下一回合的反应。某些导入的消息无法收到反应。
对支持的渠道来源提示的反应可以作为机器人出现在渠道上;对助理回复的反应停留在本地。局部反应在失败的镜子中幸存下来。 Telegram和WhatsApp可以在删除后恢复剩余的表情符号,但当几个人选择相同的表情符号时,通道反应仍然可能是错误的。
来源和完整变更列表
- 已识别的参与者可以对符合条件的已保存共享聊天提示和回复做出反应,而无需唤醒客服人员。某些导入的消息无法收到反应。支持的渠道来源提示可以镜像为机器人;助理回复保留在本地,失败的镜像保留本地反应。 [#161053](https://github.com/openclaw/openclaw/pull/161053)。感谢 [@steipete](https://github.com/steipete).
- 即使通道路由更改阻止镜像,持久反应也能保留本地更改。 Telegram 和 WhatsApp 删除可以恢复另一种反应,但当几个人选择相同的表情符号时,还有一个限制。 [#162434](https://github.com/openclaw/openclaw/pull/162434)。感谢 [@steipete](https://github.com/steipete).
- 反应标签、提示和参与者文本使用现有的二十种翻译区域设置。 [#161785](https://github.com/openclaw/openclaw/pull/161785)。
### 拉请求控件
管理员可以使用 CI 弹出窗口来安排 [PR 修复和评论响应、准备好后合并或独立存档 ](/web/control-ui/chat)。这些代理作业使用模型配额,需要正在运行的网关和调度程序,并在浏览器关闭或在现有批准和存储库条件下重新启动后继续。关闭其中一个会停止未来的运行,但无法撤消已接受的外部操作;更改启用用户的角色并不会取消它。归档还可以清理会话的托管工作树。
[E符合条件的来宾](/concepts/user-model) 可以通过配置的共享帐户和支持的目标发布自己会话中的更改。个人出版物仍然需要更广泛的写入权限。单个帐户有一个直接按钮,而从多个帐户中进行选择则为下一步操作留下发布内容。 PR 卡将当前状态与之前失败的尝试分开显示,并在验证发布后清除过时的警告。
来源和完整变更列表
- 管理员可以单独安排 PR 修复或评论、准备好后合并,以及从 CI 弹出窗口存档控件。作业每五分钟运行一次,使用模型限额,并且可以在浏览器关闭或网关重新启动后继续运行。取消可以防止将来运行,但无法撤消 GitHub 已接受的操作。 [#161492](https://github.com/openclaw/openclaw/pull/161492)。感谢 [@steipete](https://github.com/steipete).
- PR 自动化控制、状态、帮助和错误使用现有的翻译区域设置。 [#161688](https://github.com/openclaw/openclaw/pull/161688)。
- CI 弹出窗口使用更少的空间,同时保留其三个自动化控制、状态、作业链接和错误。 [#162444](https://github.com/openclaw/openclaw/pull/162444)。感谢 [@steipete](https://github.com/steipete).
- E 符合条件的来宾可以通过共享帐户和合格目标从自己的会话发布 PR。个人出版物仍然需要更广泛的写入权限。 [#162988](https://github.com/openclaw/openclaw/pull/162988)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- A 单个允许的发布目标使用直接按钮。明确选择个人账户可以请求发布;在多帐户菜单中选择一个帐户后,将发布内容留给下一步操作。 [#160967](https://github.com/openclaw/openclaw/pull/160967)。感谢 [@steipete](https://github.com/steipete).
- 当前的 PR 状态与之前失败的发布尝试分开。失败详细信息仍然可扩展,并且待确认的信息仍然可见。 [#162173](https://github.com/openclaw/openclaw/pull/162173)。感谢 [@steipete](https://github.com/steipete).
- 先前失败的尝试标签使用现有的翻译区域设置。 [#162185](https://github.com/openclaw/openclaw/pull/162185)。
- 当 GitHub 证明相同的已接受作品已经发布时,A 共享发布警告将失效。较新、未经验证或不可用的结果会保留恢复警告。 [#162257](https://github.com/openclaw/openclaw/pull/162257)。感谢 [@steipete](https://github.com/steipete).
- Chat 范围内的连接可避免未经授权的 PR 和讨论读取、在访问丢失后清除过时的徽章并保留允许的共享发布选项。 [bf2883a](https://github.com/openclaw/openclaw/commit/bf2883a22e341cdc0cbbdd60fadfacf505b68c62)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen) 和 [@shakkernerd](https://github.com/shakkernerd).
### 文件和HTML预览
聊天文件链接从发送对话的工作区打开,支持的 HTML 预览可以加载附近的图像、媒体、样式和脚本,包括未保存的草稿中的图像、媒体、样式和脚本。工作区外预览需要代理的当前授权,并在帐户和沙箱限制内保持只读状态。不支持本地字体、CSS 导入和没有会话文件夹的附件。
来源和完整变更列表
- File 链接使用发送者的工作区,授权的工作区外预览保持只读状态。会话文件夹 HTML 和未保存的草稿可以加载相关图像、媒体、样式和脚本。本地字体、CSS 导入和无文件夹附件仍然不受支持。相关资产的引用限制为 64 个,每个引用 1 个 MiB,每个请求 4 个 MiB;云资产保留 256 KiB 上限。 [#163185](https://github.com/openclaw/openclaw/pull/163185)。感谢 [@steipete](https://github.com/steipete).
### 回复导航
选择紧凑的回复作者行可返回原始消息,并在需要时打开折叠的工作或清除搜索。不可用的原件显示了解释。回复和复制控件会跟随您悬停、聚焦或点击的消息,并且回复上下文在恢复或部分历史记录加载后仍保留其已完成的工作。
来源和完整变更列表
- 回复使用原作者的头像和姓名,而不是重复引用的摘录。选择它会返回并突出显示原始内容,在需要时打开折叠的工作或清除搜索。无法猜测未知作者,无法点击不可用的原件。 [ed9d2c1](https://github.com/openclaw/openclaw/commit/ed9d2c1605c32e6c960bfc7a491038f2013420c6)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 回复和复制控件遵循悬停、键盘焦点和触摸选择,无需移动消息页脚。 [#160612](https://github.com/openclaw/openclaw/pull/160612)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 当找不到来源时,您自己的回复会保持原始消息不可用可见。 [#162040](https://github.com/openclaw/openclaw/pull/162040)。感谢 [@steipete](https://github.com/steipete).
- 恢复或部分历史记录后,回复保留其已完成的工作和答案。早期的失败仍然可见,而不会将后来的成功答案标记为失败。 [#162322](https://github.com/openclaw/openclaw/pull/162322)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- Reply-上下文帮助和冷历史加载标签使用现有的二十个翻译区域设置。 [#161664](https://github.com/openclaw/openclaw/pull/161664)。
### 其他对话的更新
来自同一外部对话的连续更新共享一个紧凑的行,您可以展开以阅读原始消息、时间和可用的源链接。搜索和回复导航为您打开相关消息。
来源和完整变更列表
- 来自同一外部对话的相邻更新折叠到可扩展的行中。搜索和回复导航显示原始消息及其时间和可用的源链接。 [#161656](https://github.com/openclaw/openclaw/pull/161656)。感谢 [@steipete](https://github.com/steipete).
### 委派工作活动
当客服人员已移交工作且其委派客服人员仍处于活动状态时,聊天会显示正在等待子客服人员。切换和恢复保持可见,工具详细信息隐藏,并且当可以在加载的侧栏中识别一个活动的直接子项时,会出现一个链接。委派行显示分配和可读的任务标题。
来源和完整变更列表
- A 选定的对话显示,当只有子代理处于活动状态时,正在等待子代理,并且当可以识别一个活动的直接子代理时,会显示子链接。当隐藏工具详细信息时,成功的切换和稍后的恢复仍然可见。 [#164190](https://github.com/openclaw/openclaw/pull/164190)。感谢 [@steipete](https://github.com/steipete).
- 委托工作行显示任务和普通命名的子标题,其中子代理作为未命名的后备。 [#163745](https://github.com/openclaw/openclaw/pull/163745)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
### 返回Discord和Slack
支持的 Discord 和 Slack 浏览器插件将标头链接添加回会话开始的对话。 Slack 和 GovSlack 打开通道或 DM。较早的会话在稍后的入站事件后获得链接,并且仅当有效的源链接和支持插件可用时才会出现。
来源和完整变更列表
- 支持的Discord和Slack浏览器插件可以将会话标头链接回其第一个源对话。 Slack 和 GovSlack 打开频道或 DM,而不是确切的消息或线程;较旧的会话从稍后的入站事件获取链接。 [a49a332](https://github.com/openclaw/openclaw/commit/a49a3321fa9a4f15d50246ccd2daf456acbbaa48)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
### 进度卡控件
当工作继续进行时,您可以使用 X 从窗格中隐藏 [ 进度卡 ](/tools/progress-card)。重新加载或更改网关连接会将其恢复。作者可以使用单独的“清除每个人保存的进度”操作来删除同行保存的卡片。
来源和完整变更列表
- Progress-card X 仅在当前窗格中隐藏该卡,包括对查看者而言。重新加载或网关连接更改可将其恢复。作者使用单独的“清除每个人保存的进度”垃圾操作来删除同行保存的卡片。 [4e529ba](https://github.com/openclaw/openclaw/commit/4e529baa8f6dc431fd93f8591859a022d29858fb)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen). 感谢 [@griswomw2](https://github.com/griswomw2) 早期的非活动卡调查。
### 插件设置信息
插件概述将 README 置于功能之下,让您可以扩展已发布的 MCP 设置、身份验证和权限信息。缺少或保留的详细信息会被标记,并且此设置信息并不表明帐户已连接。
推荐卡在状态加载时保留其艺术品,并在标题旁边显示出版商。清除已确定的搜索会带回已加载的精选和趋势书架,但清除后的快速过滤器更改仍然可以显示以前的类别。
来源和完整变更列表
- 插件详细信息可以扩展已发布的 MCP 连接、传输、身份验证、权限和设置信息,并明确说明缺失或保留的详细信息。这些详细信息描述的是设置,而不是实时连接或登录状态。 [#163849](https://github.com/openclaw/openclaw/pull/163849)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 清除固定的插件搜索会重用特色和趋势货架,避免重复的等效搜索并保持加载占位符填充视图。快速更改类别和类型并随后进行清除仍可以保留显示的先前类别。 [#163836](https://github.com/openclaw/openclaw/pull/163836)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 推荐卡在状态加载、刷新或失败期间保留可用的艺术品,并在标题旁边显示发布者。当前状态仍然控制安装。 [#163860](https://github.com/openclaw/openclaw/pull/163860)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
### 代理身份控制
代理身份编辑将相关字段整合在一起,并在直接输入的同时添加可搜索的表情符号选择器。开始聊天时,文本和表情符号头像会显得更大,并且名称或头像更改会显示最新保存的结果。仍然不支持清除已保存的表情符号。如果您仍使用未迁移的浏览器范围头像,请在“身份”下的“概览”中再次设置每个客服人员的头像。
来源和完整变更列表
- Identity 编辑添加了可选的可搜索表情符号选择器,保留直接输入并显示更大的文本或表情符号欢迎头像。仍然不支持清除已保存的表情符号。 [#160950](https://github.com/openclaw/openclaw/pull/160950)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen) 和 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 身份表情符号选择器按钮位于其输入内部。 [#161236](https://github.com/openclaw/openclaw/pull/161236)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 即使写入无序完成,配置文件名称和头像更新也会显示最新提交的结果。 [#162571](https://github.com/openclaw/openclaw/pull/162571)。感谢 [@steipete](https://github.com/steipete).
- 旧的浏览器范围头像不再自动迁移。在“身份”下的“概览”中设置客服人员的头像。 [#163209](https://github.com/openclaw/openclaw/pull/163209)。感谢 [@steipete](https://github.com/steipete).
### 安静时间设置
Quiet Hours 将时间窗口和时区结合在一起,并提供一个用于选择区域的菜单。已保存的别名仍然可用,但您无法键入浏览器目录中缺少的未保存区域。某些浏览器仅提供本地区域、UTC 和已保存区域。
来源和完整变更列表
- Quiet Hours对其时间窗口和时区进行分组,并添加带有已保存别名的菜单。无法进入浏览器目录之外的未保存区域;如果没有枚举,选项可能只有本地、UTC 和保存的区域。 [#149048](https://github.com/openclaw/openclaw/pull/149048)。感谢 [@nancymx-dev](https://github.com/nancymx-dev) 和 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
### 不可变 Linux 更新
支持的不可变 Linux 安装可以切换到准备好的版本、验证启动并恢复中断的更新。激活需要在建立健康的桥接版本并停止先前更新程序的调度后单独选择加入;普通收养和`--no-restart`只准备一个候选人。
按照 [immutable 安装指南 ](/cli/update#immutable-release-installations) 获取所需的根、systemd、启动器、cgroup、Node 和匹配架构设置。不确定的启动将保持挂起状态,并且恢复无法回滚数据库模式。检测器仍然可能将包含 `current` 和 `releases` 的普通结账误认为是不可变的安装并阻止更新或状态。
来源和完整变更列表
- 支持的 Linux 不可变安装添加了明确启用的生成切换和恢复,并记录了根、服务、启动器和架构要求。 [#164306](https://github.com/openclaw/openclaw/pull/164306)。感谢 [@steipete](https://github.com/steipete).
- 明确采用使密封的 Linux 候选人远离服务一代,激活需要单独选择加入。 SQLite 工作清理在最终借款人关闭后释放本地编写器。初始的不可变检测器可能会错误识别包含当前和释放的普通检查。 [99babf27](https://github.com/openclaw/openclaw/commit/99babf27254314921f7e71a8c8b710b10a851ad8)。感谢 [@steipete](https://github.com/steipete).
### 数据库空间回收
更新可以让符合条件的旧数据库返回已删除记录释放的磁盘空间,同时保留保留的数据和保留设置。第一次转换需要时间,网关已停止,并且需要临时可用空间。如果延迟,请按照 [ 离线 SQLite 维护说明 ](/cli/doctor/sqlite-maintenance) 进行操作,并在重新启动之前检查失败的转换。
来源和完整变更列表
- Updates 准备符合条件的旧数据库以回收已删除的页面,同时保留记录和保留设置。初始转换需要停止网关、时间和临时可用空间;重新启动之前检查失败的转换。 [#163105](https://github.com/openclaw/openclaw/pull/163105)。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
### Btrfs数据库维护
Linux btrfs 安装为就地写入准备新数据库,并为现有存储提供离线 Doctor 转换。修复消息可识别阻塞进程或检查错误,并支持合格的大型存储、普通符号链接和空文件。默认情况下,托管更新会推迟此可选转换。
就地写入禁用这些文件的 btrfs 校验和和压缩。转换之前,停止网关和其他数据库用户,保留经过验证的备份并遵循[SQLite维护](/cli/doctor/sqlite-maintenance)中的工具和空间要求。转换不保留所有扩展属性或安全标签;在替换商店之前检查所需的元数据。
来源和完整变更列表
- Linux btrfs 存储获得就地写入准备和离线 Doctor 转换,禁用文件系统校验和和压缩。停止数据库用户,保留经过验证的备份,满足工具和空间要求,并检查所需的非 ACL 扩展属性或安全标签,这些属性或安全标签未全部保留。 [#160877](https://github.com/openclaw/openclaw/pull/160877)。感谢 [@steipete](https://github.com/steipete).
- Offline Doctor btrfs 修复不再因所有权检查或新创建的空数据库日志而错误地拒绝共享和代理存储;网关必须保持停止状态。 [#161501](https://github.com/openclaw/openclaw/pull/161501)。感谢 [@steipete](https://github.com/steipete).
- 托管更新默认情况下会推迟可选的 btrfs NOCOW 数据库重写,在保留建议的同时保留目录;托管更新之外的显式 Doctor 修复保持其现有行为。 [#162786](https://github.com/openclaw/openclaw/pull/162786)。感谢 [@steipete](https://github.com/steipete).
- 离线 btrfs 修复拒绝现在可以将进程持有者与失败的检查区分开来,并显示有用的进程 ID 或错误,同时保留原始存储。 [#162809](https://github.com/openclaw/openclaw/pull/162809)。感谢 [@steipete](https://github.com/steipete).
- Doctor 发布自己的身份验证读取器,并在离线 NOCOW 修复之前分批检查大型 btrfs 存储;外部支架或检查失败仍然阻碍更换。 [#162919](https://github.com/openclaw/openclaw/pull/162919)。感谢 [@steipete](https://github.com/steipete).
- 可选的离线btrfs NOCOW修复保留普通符号链接和空文件,而不跟随链接目标;不支持的文件类型和数据库别名仍然被拒绝。 [#163023](https://github.com/openclaw/openclaw/pull/163023)。感谢 [@steipete](https://github.com/steipete).
- Doctor在检查打开的文件后再次检查SQLite目录,拒绝在NOCOW替换之前出现意外的新文件。 [4d1890a3](https://github.com/openclaw/openclaw/commit/4d1890a3cdc3b8f31ac70bb63e19723fee0cc6a9)。感谢 [@steipete](https://github.com/steipete).
### 修复前的恢复副本
来自固定安装的更新程序的直接更新和独立的 Doctor 修复尝试在更改之前保留原始设置、数据库和迁移文件。不完整的副本指向保留的文件和手动恢复指南。保留经过验证的完整备份,并在恢复较旧的恢复副本之前保留当前数据。
恢复副本可以在支持文件系统上使用更少的物理存储,而以后的编辑保持独立;可用空间要求仍然适用。成功进行全新捕获后,Doctor 可以删除超过 30 天的合格完整独立副本,因此请单独保留持久备份。请参阅[原始状态恢复指南](/cli/update/repair-and-recovery#original-state-captures)。
来源和完整变更列表
- 直接更新和独立Doctor修复尝试在更改之前保留原始状态,并具有更清晰的不完整捕获状态;完全恢复仍然需要经过验证的备份。 [#161044](https://github.com/openclaw/openclaw/pull/161044)。谢谢[@steipete](https://github.com/steipete),[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 未解析的原始状态捕获现在指向保留的清单和手动恢复指南,其中包含在恢复任何内容之前保留当前数据的说明。 [#161292](https://github.com/openclaw/openclaw/pull/161292)。感谢 [@steipete](https://github.com/steipete).
- Doctor 减少了修复前捕获开销,并在成功进行全新捕获后,删除超过 30 天的符合条件的已完成独立恢复副本;使用经过验证的备份进行持久恢复。 [#162364](https://github.com/openclaw/openclaw/pull/162364)。感谢 [@steipete](https://github.com/steipete).
- 恢复副本可以共享未更改的文件系统页面,而无需共享以后的编辑;普通副本后备和可用空间要求仍然存在。 [#162466](https://github.com/openclaw/openclaw/pull/162466)。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- Doctor捕获相关Wiki和Teams迁移文件;阻止的 Teams 存档保留令牌源并报告警告。 [#163780](https://github.com/openclaw/openclaw/pull/163780)。谢谢[@fuller-stack-dev](https://github.com/fuller-stack-dev),[@steipete](https://github.com/steipete).
- 当无法验证显式提供的原始状态捕获时,Doctor 在修复之前停止;在重试之前检查保留的更新证据。 [#163808](https://github.com/openclaw/openclaw/pull/163808)。谢谢[@fuller-stack-dev](https://github.com/fuller-stack-dev),[@steipete](https://github.com/steipete).
- Doctor 可以在经过验证的维护所有权下修复临时更新演练数据库,同时保留对演练之外的存储的保护。 [#163869](https://github.com/openclaw/openclaw/pull/163869)。谢谢[@fuller-stack-dev](https://github.com/fuller-stack-dev),[@steipete](https://github.com/steipete).
### 修复中断的更新
更新修复可以清除阻止后续更新的合格放弃工作,或者淘汰未使用的准备工作或检查已安装的候选程序。它还可以在支持的手动安装或替换更新所有权数据库后处理特定的恢复块。备份和助手仍然可用。普通的主动更新程序保留其所有权,而修复可以在其旁边完成;实时废弃工作所有者、更改的已安装文件或启动器以及未完成的回滚仍然会阻止其各自的恢复路径。
对于放弃的切换,请使用失败更新的确切配置文件和状态路径,保留其租用数据库和工件,并等待记录的活动至少 45 分钟或更长的记录超时。实时或无法验证的流程仍然会导致拒绝。在登台之前被阻止的旧更新程序需要在同一软件包根目录中手动安装固定的 CLI,并具有经过验证的备份和托管网关停止预防措施,然后进行医生和修复。请遵循 [ 更新修复 ](/cli/update/repair-and-recovery) 和 [ 手动安装 ](/install/updating/update-methods#alternative-manual-npm-pnpm-or-bun) 指南。
来源和完整变更列表
- 显式更新修复可以在所需的宽限期后回收合格的放弃切换,并保留证据、死进程检查和未完成的回滚拒绝。 [9680e57a](https://github.com/openclaw/openclaw/commit/9680e57a9631b6a7060b9d4642bffb9f9fbc3000)。谢谢[@steipete](https://github.com/steipete),[@taihartman](https://github.com/taihartman).
- A固定安装的CLI可以废弃未使用的准备或验证已安装的中断候选,同时保留恢复证据。它检查打包内容和启动器;启动器目标在 dist 之外接收分辨率检查而不是完整内容验证。实时更新和未完成的恢复仍然阻碍结算。 [5a5966fa](https://github.com/openclaw/openclaw/commit/5a5966fa994f637c624f0ec493cf29893bced148)。感谢 [@RomneyDa](https://github.com/RomneyDa)、[@steipete](https://github.com/steipete). 感谢 [@shanselman](https://github.com/shanselman) 共同创作了落地更改。
- 非 root macOS 更新允许无法复制的启动器所有权;在同一根目录下手动安装固定的 CLI 后,搁浅的操作具有受保护的恢复路径。 [#164636](https://github.com/openclaw/openclaw/pull/164636)。感谢 [@steipete](https://github.com/steipete)、[@hrp6vv9mwr-glitch](https://github.com/hrp6vv9mwr-glitch)、[@cmillwat](https://github.com/cmillwat).
- A 修复了 CLI 可以修复因更换其所有权数据库而阻止的软件包更新,同时保留暂存文件、帮助程序和恢复证据。 [#164849](https://github.com/openclaw/openclaw/pull/164849)。感谢 [@steipete](https://github.com/steipete)、[@szef-svg](https://github.com/szef-svg)、[@izrl613](https://github.com/izrl613).
### 启动大型数据库
当合格的大型代理数据库完成检查时,Control UI 和健康代理可以打开。仍在检查的代理仍然不可用,并为支持它们的客户端提供重试提示; CLI 不会自动重试。启动探针一直等待这些检查。重新启动还可以完成接受的子代理清理,并让延迟的数据库做好准备,而无需等待不相关的子代理。
来源和完整变更列表
- 当合格的大型代理数据库完成检查时,Control UI和健康的代理即可准备就绪;待定智能体在被接纳之前仍然无法使用。 [#163690](https://github.com/openclaw/openclaw/pull/163690)。感谢 [@steipete](https://github.com/steipete).
- 待处理的代理数据库检查返回重试提示,并让启动探测保持等待,同时健康代理和 Control UI 保持可用。 [#163839](https://github.com/openclaw/openclaw/pull/163839)。感谢 [@steipete](https://github.com/steipete).
- 重新启动等待接受的子代理清理,并且可以在不相关的子代理完成恢复之前启动合格的代理数据库准备。 [#164403](https://github.com/openclaw/openclaw/pull/164403)。感谢 [@steipete](https://github.com/steipete).
### 运行时内存诊断
Node 诊断可帮助操作员通过堆详细信息、回复大小和各个请求期间的近似内存变化来调查内存压力。样本排除重叠的处理程序并报告其覆盖范围;样本缺失意味着覆盖范围不可用。这些堆测量涵盖 Node 的主要 JavaScript 引擎,不包括工作线程和外部或本机分配。内置源工具还提供隔离的工作负载和快照引用,用于调查保留的对象。
[网关诊断](/gateway/diagnostics#rpc-response-size-and-heap-changes)和[Prometheus指标](/gateway/prometheus)指南解释了测量及其限制。
来源和完整变更列表
- 内置内存诊断添加了隔离的工作负载和快照参考路径,用于调查保留的对象。 [#163764](https://github.com/openclaw/openclaw/pull/163764)。感谢 [@steipete](https://github.com/steipete).
- Node 内存诊断公开了主要 V8 隔离的堆空间指标以及前后堆配置文件细分。 [#164057](https://github.com/openclaw/openclaw/pull/164057)。感谢 [@steipete](https://github.com/steipete).
- 网关诊断测量回复大小和大致内存变化;稍后的独占采样排除了重叠的处理程序。 [#164335](https://github.com/openclaw/openclaw/pull/164335)。感谢 [@steipete](https://github.com/steipete).
- RPC 内存样本排除重叠处理程序并报告样本覆盖率;省略样本并不意味着零内存使用。 [#164418](https://github.com/openclaw/openclaw/pull/164418)。感谢 [@steipete](https://github.com/steipete).
### 停滞消息继续
在回答之前停止的通道请求可以尝试从保存的对话上下文继续一次,并通过匹配的排队后续请求允许它回答两个问题。 Web UI 和组线程请求需要后续操作,并且失败的继续仍然会给出通常的重试通知。请参阅 [ 消息队列指南 ](/concepts/queue)。
来源和支持修复
- 符合条件的停滞通道请求可以从保存的上下文中继续。 Web UI 和组线程请求需要匹配的排队后续;继续操作仍然可能失败。 [#161069](https://github.com/openclaw/openclaw/pull/161069),感谢[@obviyus](https://github.com/obviyus).
- 压缩后的模型超时恢复可以使用已保存的用户轮次,而无需再次尝试附加它。 [#162260](https://github.com/openclaw/openclaw/pull/162260),感谢[@steipete](https://github.com/steipete).
- A 等待后续问题在该问题的现有模型重试或回退期间无法替换原始问题;后续行动获得单独的回合。 [#162439](https://github.com/openclaw/openclaw/pull/162439),感谢[@obviyus](https://github.com/obviyus).
- 已发送到源聊天的答案会抑制稍后的虚假停转恢复通知;进度和部分发送不算作已完成的答案。 [#162756](https://github.com/openclaw/openclaw/pull/162756),感谢[@obviyus](https://github.com/obviyus).
### Channel webhook 设置
新的 Telegram、Feishu、Microsoft Teams 和 Nextcloud Talk Webhook 安装默认共享网关路由。现有安装保留其以前的回调侦听器,而 Telegram 保留其旧侦听器,直到成功注册替换。
在删除旧侦听器设置之前移动并验证回调,保留 [ 配置迁移指南](/gateway/doctor/config-migrations) 中的标记。旧的 Teams 和 Nextcloud 侦听器在迁移之前可以在所有网络接口上保持可访问。在手动替换这些独立插件之前,请将核心至少升级到 **2026.9.9**。如果 Nextcloud Talk 仍使用已停用的专用网络设置,请先按照指南的 **2026.9.5** 中间升级进行操作。
来源和支持修复
- Fresh Telegram、Feishu、Microsoft Teams 和 Nextcloud Talk Webhook 安装默认使用网关路由。现有的符合条件的帐户保留历史监听器引脚,Telegram 保留其旧监听器,直到替换注册成功。在删除引脚之前移动并验证回调,保留 `meta.migrations.webhookListeners`,并将核心升级到至少 2026.9.9,然后再手动替换这些独立插件。已停用的 Nextcloud 对话 `allowPrivateNetwork` 设置需要记录的 2026.9.5 桥接器。 [c7c937a](https://github.com/openclaw/openclaw/commit/c7c937abfea22f17be5cac24bfc906d4d91368f6),感谢[@steipete](https://github.com/steipete).
- 当通道不存在、不完整或禁用时,Doctor 会跳过推断的历史 Nextcloud Talk 侦听器,从而避免不使用该通道的安装被拒绝启动。 [96622c4](https://github.com/openclaw/openclaw/commit/96622c4447ed8c2df5a297fa8d6da49709ae0e19),感谢[@steipete](https://github.com/steipete).
### 内存供应商召回
兼容的记忆插件可以将其存储的记录带入回忆、记忆维基和实时语音中。选择本机提供程序后,OpenClaw 检查对私有或特定于会话的内存的访问,包括生成的代理继承的内存。重置或替换继承访问权的父端,状态报告与内存核心分开的选定提供程序的运行状况。
每个召回功能都需要一个支持它的插件。从其父级重新创建旧的生成会话以恢复本机内存访问;如果父级早于重置跟踪,请在下次重置后执行此操作。自定义本机提供程序搜索客户端必须使用 API 版本 2。当选择另一个提供程序时,内存核心搜索和深度索引诊断拒绝使用其单独的索引。
来源和完整变更列表
- 让兼容的基于记录的提供商通过选定的提供商诊断 [#162175](https://github.com/openclaw/openclaw/pull/162175) 来服务受支持的召回、Wiki 和语音阅读器。感谢 [@jalehman](https://github.com/jalehman).
- 确定主机中的私有或精确对话内存访问并验证生成的代理继承[a9f6758](https://github.com/openclaw/openclaw/commit/a9f675839a0d7bdbcef9a4371513f2f8c91a1d88)。感谢 [@jalehman](https://github.com/jalehman).
### 压缩前内存保存
支持内存插件可以在总结长对话之前保存重要的上下文,即使工作区是只读的并且权限允许,也可以使用它们自己的存储。保存是尽力而为,因此如果保存失败或被跳过,压缩仍然会继续进行。内存核心继续使用工作区文件。
来源和完整变更列表
- 允许支持内存插件在压缩之前使用允许的提供程序工具和可选查找来保存上下文,以首先检查现有内存 [32339db](https://github.com/openclaw/openclaw/commit/32339db16b0d4af32b9925e46c59f660ec816d42)。感谢 [@jalehman](https://github.com/jalehman).
### 配对设备上的技能
您可以在 [ 配置的配对设备工作区 ](/nodes/file-transfers#workspace-skill-installation) 上安装、跟踪、更新和删除技能,并具有所需的工作区读写权限。即使两台计算机使用相同的路径,技能文件和指令也会保留在正确的设备上。
取消替换或撤销访问权限可以恢复之前的技能,但强行停止卡住的安装程序可能会阻止恢复。断开连接的设备会返回错误,并且客服人员可能需要重新读取更新的技能。
来源和完整变更列表
- 配置的配对节点源在所需的工作空间权限下拥有技能安装、跟踪、ClawHub 更新和删除。本机版本和本地编辑检查仍然存在,并且替换可以在取消或撤销访问权限后恢复以前的技能,并在强制工作人员停止后进行有限的回滚。 [#162960](https://github.com/openclaw/openclaw/pull/162960)。感谢 [@Kimiyu-186](https://github.com/Kimiyu-186).
- 从正确的主机读取托管远程技能指令和支持文件,包括本地和远程路径匹配时。停止的节点返回失败而不是陈旧的本地内容。 [#161440](https://github.com/openclaw/openclaw/pull/161440)。感谢 [@RomneyDa](https://github.com/RomneyDa)、[@sallyom](https://github.com/sallyom) 和 [@steipete](https://github.com/steipete).
### Codex 车间评论
计划的创意工坊技能审核可以使用兼容的 Codex 运行时在指定的创意工坊目录中读取和编辑。它们通过受限制的主机工具运行,没有 shell 访问、外部 MCP 工具或委派,并且如果无法验证这些限制,则拒绝启动。
背景审查可以发现并改进待决提案,每个草案仍在等待单独接受。
来源和完整变更列表
- Scheduled Workshop 评论使用捕获的 Workshop 目录中的主机工具添加兼容的 Codex 路径。它排除了 shell、进程和本机工具、MCP、委派和挂钩,并且在无法验证限制或缺少所需的主机工具时拒绝运行。 [#162406](https://github.com/openclaw/openclaw/pull/162406)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- Workshop 当其活动检查抛出而不是使其卡住时,将取消待审核。排队的技能选择保留提交时所做的选择,并且选择器文本会计入现有的大小限制。 [#161316](https://github.com/openclaw/openclaw/pull/161316)。感谢 [@steipete](https://github.com/steipete).
- 指导后台审查列出待决提案并使用返回的提案 ID 来检查或修改提案。结果仍然是一个悬而未决的提案,等待接受。 [#164292](https://github.com/openclaw/openclaw/pull/164292)。感谢 [@steipete](https://github.com/steipete).
- Eligible Workshop 运行允许沉默,在工具拒绝解决后可以以 `NO_REPLY` 结束,而不会提示不必要的结束回复。被拒绝的工具仍然是失败的,并且运行需要可见的响应保留回复恢复。 [4b08683](https://github.com/openclaw/openclaw/commit/4b0868363fab28d689ae7459d15c0aeaf893bd91)。感谢 [@steipete](https://github.com/steipete).
### Mac 上的对话组织
实验性的本机 Mac 侧边栏添加了组、颜色和所有者,以帮助您组织对话并找到您需要的对话。您可以复制文字记录或链接并在另一个窗口中打开选定的对话。组默认可以在选定的文件夹或符合条件的单独 Git 工作副本中启动新对话;编辑器快捷方式需要本地工作副本。
选择多个可见的根对话来一起管理它们,或将它们拖到组中并固定页面。删除需要确认,成功的更改可以在部分失败后继续存在,并且应用写入权限。引脚放置和排序需要管理员访问权限。存档撤消持续六秒,在悬停或聚焦时暂停,并在重新连接时结束。
借助支持网关 UI,草稿和排队消息标记可以显示需要注意的内容,而无需共享草稿文本。 Web 操作和连接设置也触手可及。请参阅 [Mac 聊天指南](/platforms/mac/webchat)。
来源和完整变更列表
- 完整的 Mac 聊天窗口显示一致的对话事实、即时重命名以及跨导航界面协调延迟或失败的更新。 [#161745](https://github.com/openclaw/openclaw/pull/161745)。感谢 [@steipete](https://github.com/steipete).
- 实验性Mac对话行显示更清晰的名称、状态、频道、后代摘要和提供的预览,以及固定和存档控件。 [#161973](https://github.com/openclaw/openclaw/pull/161973)。感谢 [@steipete](https://github.com/steipete).
- Mac 在线人员卡片显示报告的活动、环境和对话链接,其他查看者计数不包括您自己。 [#162022](https://github.com/openclaw/openclaw/pull/162022)。感谢 [@steipete](https://github.com/steipete).
- Mac 传输转发由呼叫者提供的 permission/tool 保护和替换,在发送之前拒绝不支持的网关功能。 [#162043](https://github.com/openclaw/openclaw/pull/162043)。感谢 [@steipete](https://github.com/steipete).
- Apple 子列表保留较大的报告总数和可用的部分行。自定义 Swift 子列表回调必须返回 `OpenClawChatChildSessionsResult(rows:isComplete:)`;旧的数组重载可能会产生空的默认值。 [#162278](https://github.com/openclaw/openclaw/pull/162278)。感谢 [@steipete](https://github.com/steipete).
- Mac 对话获得图标和颜色组织、所有者分配、转录和链接复制,以及正确定位新窗口。删除群组会保留其对话。 [#163001](https://github.com/openclaw/openclaw/pull/163001)。感谢 [@steipete](https://github.com/steipete).
- Mac 组默认为新对话选择起始网关文件夹和合格的单独 Git 工作副本;失败的保存会保留选择以供重试。 [#163162](https://github.com/openclaw/openclaw/pull/163162)。感谢 [@steipete](https://github.com/steipete).
- 当网关 UI 支持时,Mac 侧边栏草稿标记和排队消息关注计数会伴随所选对话的更多操作。仅共享草稿存在和关注计数。 [#163193](https://github.com/openclaw/openclaw/pull/163193)。感谢 [@steipete](https://github.com/steipete).
- Mac 更多操作等待所选对话菜单呈现并取消切换后的延迟弹出窗口。 [#163351](https://github.com/openclaw/openclaw/pull/163351)。感谢 [@steipete](https://github.com/steipete).
- 废弃的 Mac 对话菜单请求会立即完成,不会出现误导性的超时或延迟弹出窗口。 [#163672](https://github.com/openclaw/openclaw/pull/163672)。感谢 [@steipete](https://github.com/steipete).
- 实验性Mac可见根多选添加了批处理操作和拖动组织,通过部分失败保留成功的操作。 [#164013](https://github.com/openclaw/openclaw/pull/164013)。感谢 [@steipete](https://github.com/steipete).
- 实验性Mac存档撤消和选定线程组创建保留成功的结果;恢复的线程返回活动状态,跨代理名称保持不同。 [#164073](https://github.com/openclaw/openclaw/pull/164073)。感谢 [@steipete](https://github.com/steipete).
- Mac 侧边栏身份和网关菜单将仪表板、设置和使用情况路由到窗口的网关。请求徽章计算最旧的请求类型,而不是所有类型。 [#164591](https://github.com/openclaw/openclaw/pull/164591)。感谢 [@steipete](https://github.com/steipete).
- 现有的共享所有者、活动和闲置标签获得本机翻译。 [#161733](https://github.com/openclaw/openclaw/pull/161733)。
- 现有的 Apple 对话、状态和云警告消息获得翻译。 [#162030](https://github.com/openclaw/openclaw/pull/162030)。
- 本机活动、人员、重试和连接解释获得翻译。 [#162060](https://github.com/openclaw/openclaw/pull/162060)。
- 本机对话、组和复制控件获得翻译。 [#163050](https://github.com/openclaw/openclaw/pull/163050)。
- Apple 组、文件夹、过滤器、草稿和拉取请求标签获得翻译。 [#163219](https://github.com/openclaw/openclaw/pull/163219)。
- Apple 侧边栏、代理、可访问性和子加载错误文本获得翻译。 [#163793](https://github.com/openclaw/openclaw/pull/163793)。
- 本机选择提示、配置保存、重新启动和音频标签获得翻译。 [#163935](https://github.com/openclaw/openclaw/pull/163935)。
- Apple 选择、删除、存档、错误和保留工作副本消息获得翻译。 [#164050](https://github.com/openclaw/openclaw/pull/164050)。
- Apple 存档、撤消、组创建和网关恢复消息获得翻译。 [#164155](https://github.com/openclaw/openclaw/pull/164155)。
- Mac 设置为主要,iOS 主要和重试现在获得翻译标签。 [#164623](https://github.com/openclaw/openclaw/pull/164623)。
### 查找和检查 Mac 对话
您可以加载所选客服人员的旧对话,并从 Mac 侧边栏搜索姓名、详细信息和消息。搜索将直接本地匹配与网关结果结合起来,并在索引或存档记录导致结果不完整时进行解释。 [查看选项](/platforms/mac/webchat#thread-view-options) 会记住每个网关配置文件的过滤器、分组和显示选择。
可扩展的后续树和跨代理的页面使相关对话触手可及。将鼠标悬停在对话上或通过键盘聚焦对话即可预览可用人员、工作区和进度详细信息,而无需打开对话。当刷新失败时,拉取请求卡会识别最后已知的状态。 [Mac 聊天指南](/platforms/mac/webchat) 涵盖导航和键盘访问。
来源和完整变更列表
- Mac 加载更多到达较旧的选定代理线程;本地和网关搜索保留结果并公开重试或不完整索引通知。 [#163114](https://github.com/openclaw/openclaw/pull/163114)。感谢 [@steipete](https://github.com/steipete).
- Mac 过滤器、所有者视图、分组、排序、预览和重置选项保留在每个网关配置文件中。 [#163164](https://github.com/openclaw/openclaw/pull/163164)。感谢 [@steipete](https://github.com/steipete).
- 完整的 Mac 聊天详细信息卡公开可用人员、工作区、分支、拉取请求、进度、记事本和预览信息,并在需要时提供最新通知。 [#163165](https://github.com/openclaw/openclaw/pull/163165)。感谢 [@steipete](https://github.com/steipete).
- Mac 后续树、可扩展的代理名册和跨代理页面保留加载的子项,并使用配置的图像头像和文本后备。 [#163699](https://github.com/openclaw/openclaw/pull/163699)。感谢 [@steipete](https://github.com/steipete).
- Apple 对话搜索、加载、索引和存档通知获得翻译。 [#163159](https://github.com/openclaw/openclaw/pull/163159)。
### Mac 侧边栏中的插件对话
您可以在所选代理 Mac 视图中的 OpenClaw 对话旁边浏览受支持的 [ 插件对话 ](/platforms/mac/webchat#session-catalogs),按项目、个人或所有者组织。为每个网关配置文件保存可见性,发送第一条消息会将源对话带入 OpenClaw。源删除需要支持、写入或管理员权限,并确认其他运行者没有使用它。
配对的 Mac 还发现Claude Code习惯中的对话`CLAUDE_CONFIG_DIR`当它在应用程序的启动环境中设置时。仅在另一个 shell 中设置它不会配置应用程序。
来源和完整变更列表
- Mac 插件目录添加项目或人员分组、所有者筛选器、特定于配置文件的可见性、独立分页和重试以及支持的源操作。 [#164436](https://github.com/openclaw/openclaw/pull/164436)。感谢 [@steipete](https://github.com/steipete).
- 配对的 Mac Claude Code 发现在应用程序启动环境中遵循非空白 `CLAUDE_CONFIG_DIR`,否则使用主目录默认值。 [#163787](https://github.com/openclaw/openclaw/pull/163787)。感谢 [@steipete](https://github.com/steipete).
- Apple 会话源、目录、所有者、打开、隐藏、删除和重试消息获得翻译。 [#164481](https://github.com/openclaw/openclaw/pull/164481)。
### 本机应用程序中的小睡
您可以将符合条件的根对话放在一边,直到稍后使用 iOS、Android 和实验性本机 Mac 侧边栏上的 Snooze,然后在“Snoozed”中找到它们或提前唤醒它们。当它们隐藏时,工作仍在继续,传入的消息或已完成的运行可以唤醒它们。固定或存档可清除暂停;受保护的对话、子对话和存档对话被排除在外,并且更改需要写入权限。
在 iOS 上,您可以离线浏览缓存的“活动”和“已延后”列表,而存档和更改则需要连接。脱机启动时,Android 可能会短暂显示旧的暂停行。请参阅 [iOS 对话控件](/platforms/ios#sessions) 和 [Mac 聊天指南](/platforms/mac/webchat)。
来源和完整变更列表
- Android 长按暂停预设、暂停列表和提前唤醒适用于工作继续时符合条件的根对话。固定或存档可清除暂停。 [#162293](https://github.com/openclaw/openclaw/pull/162293)。感谢 [@steipete](https://github.com/steipete).
- iOS 暂停和唤醒添加活动、暂停和存档视图,包括缓存的活动和暂停离线浏览。 [#162399](https://github.com/openclaw/openclaw/pull/162399)。感谢 [@steipete](https://github.com/steipete).
- Mac 符合资格的根对话获得暂停和唤醒,在消息或运行完成可以唤醒它们时保留现有的引脚。 [#163241](https://github.com/openclaw/openclaw/pull/163241)。感谢 [@steipete](https://github.com/steipete).
- Android 贪睡和唤醒控制增益转换。 [#162363](https://github.com/openclaw/openclaw/pull/162363)。
- Apple 暂停选项和 iOS 暂停状态增益转换。 [#162630](https://github.com/openclaw/openclaw/pull/162630)。
- Mac 休眠和唤醒标签获得翻译。 [#163293](https://github.com/openclaw/openclaw/pull/163293)。
### iOS 和 Android 上的反应
iOS 和 Android 可让您查看共享对话中符合条件的已保存消息并将表情符号反应添加到其中,其中包含计数、可访问的选择器和实时更新,无需额外通知。 Android 包括通过长按的纯媒体消息。反应控制遵循对话权限,对于已存档、源目录或未保存的消息不可用。
如果 iOS 在首次连接时无法识别您的身份,则您自己的反应可能不会突出显示或可删除,直到您重新连接或切换对话。请参阅 [iOS 反应 ](/platforms/ios#reactions) 和 [ 共享对话反应 ](/concepts/multi-user#reactions)。
来源和完整变更列表
- iOS 保存的消息反应添加了计数筹码、表情符号选择器和 VoiceOver 控件,并具有实时更新和权限检查功能。 [#162296](https://github.com/openclaw/openclaw/pull/162296)。感谢 [@steipete](https://github.com/steipete).
- Android 已保存,非流消息反应添加芯片、媒体消息长按访问和 TalkBack 控件;内联添加与现有反应一起显示。 [#162307](https://github.com/openclaw/openclaw/pull/162307)。感谢 [@steipete](https://github.com/steipete).
- Apple 反应控件和辅助功能标签获得翻译。 [#162475](https://github.com/openclaw/openclaw/pull/162475)。
- Android 表情符号、反应计数和反应名称标签获得翻译。 [#162568](https://github.com/openclaw/openclaw/pull/162568)。
### iPhone和iPad上的图像粘贴
您可以将复制的屏幕截图或支持的图像粘贴到启用附件的 iPhone 或 iPad 聊天中,而无需先将其保存到照片中,然后在发送前将其删除。在混合粘贴中,图像优先于文本。不支持从文件复制的文件链接,并且附件限制仍然适用。
来源和完整变更列表
- iOS 将复制的图像作为可移动附件粘贴到启用的编辑器中;不包括文件 URL。 [#161627](https://github.com/openclaw/openclaw/pull/161627)。感谢 [@Marvinthebored](https://github.com/Marvinthebored)、[@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
### Mac自动化窗口
Mac 自动化可以在您使用 `--no-activate` 的应用程序后面打开聊天或仪表板窗口。 LaunchServices 呼叫者还需要 `open -g -n`。如果某个操作需要权限提示、文件选择、交互式钥匙串访问或外部导航,请正常重新启动并重试。请参阅 [ 启动和调试指南](/platforms/mac/webchat#launch-and-debugging)。
来源和完整变更列表
- Mac 自动化启动可以避免前台激活,需要提示的操作会推迟到正常重新启动。 [#163758](https://github.com/openclaw/openclaw/pull/163758)。感谢 [@steipete](https://github.com/steipete).
### Provider模型和思维控制
[GitHub Copilot](/providers/github-copilot) 为具有访问权限的帐户添加了捆绑的 Claude Sonnet 5.5 和 Opus 5.5 定义。 Ollama Cloud 可以尊重 GLM 5.3、GLM 5.3 Flash、Kimi K3 和 DeepSeek V4.1 Flash 的最大思考,包括直接在ollama.com;本地中继仍然需要付出很大的努力来实现兼容性。符合条件的 Daybreak Blue 和 Red 帐户重新获得 xhigh 和 max,同时受支持的 Codex 和其他提供商回复保留您选择的思维设置。
新的 Baseten 设置从 DeepSeek V4.1 Flash 开始,支持 Flash 图像和思维选项以及恢复当前的 Pro 对话重播。如果您保存的 Inkling 模型不可用,请手动选择替换模型。思考并不总是停止推理。在 Ollama Cloud GLM 5.3 和 GLM 5.3 Flash 上,它使用的工作量很少,并且无法推理答案;在 xAI 模型上,无需费力控制即可保留本机推理。
来源
- [发送最大的思考努力到GLM 5.3、GLM 5.3闪存、Kimi K3和DeepSeek V4.1 Ollama Cloud](https://github.com/openclaw/openclaw/pull/155640) 上的闪存 — 感谢 [Ram-G](https://github.com/Ram-G)、[RomneyDa](https://github.com/RomneyDa)、[serg0x](https://github.com/serg0x)、 [g0st1n](https://github.com/g0st1n),[steipete](https://github.com/steipete)。
- [荣誉支持Codex聊天和频道回复中的最大思考](https://github.com/openclaw/openclaw/pull/161103) — 感谢[yashas-13](https://github.com/yashas-13)、[obviyus](https://github.com/obviyus), [Oldrich333](https://github.com/Oldrich333)。
- [为符合条件的Daybreak蓝色和红色帐户恢复xhigh和最大推理选择](https://github.com/openclaw/openclaw/pull/162024) — 感谢[VACInc](https://github.com/VACInc)。
- [为 Copilot](https://github.com/openclaw/openclaw/pull/162171) 添加捆绑的 Claude Sonnet 5.5 和 Opus 5.5 定义 — 谢谢[roslinmahmud](https://github.com/roslinmahmud),[steipete](https://github.com/steipete)。
- [对通过普通 Ollama 提供商直接连接到 Ollama Cloud 的已验证模型进行最大程度的思考](https://github.com/openclaw/openclaw/pull/162204) — 感谢 [serg0x](https://github.com/serg0x), [罗姆尼达](https://github.com/RomneyDa)。
- [当 Ollama 思维是 Off](https://github.com/openclaw/openclaw/pull/162300) 时,将 GLM 5.3 和 GLM 5.3 Flash 推理与回复分开 — 谢谢[serg0x](https://github.com/serg0x)。
- [在受影响的 xAI、MiniMax 和自定义提供商聊天回复中准备好推理设置](https://github.com/openclaw/openclaw/pull/163909) — 感谢 [steipete](https://github.com/steipete), [Oldrich333](https://github.com/Oldrich333)、[yashas-13](https://github.com/yashas-13)。
- [允许在 xAI 模型上关闭,无需费力控制,同时保留其本机推理 ](https://github.com/openclaw/openclaw/pull/164352) — 感谢 [steipete](https://github.com/steipete)。
- [使用 DeepSeek V4.1 Flash 进行新的 Baseten 设置,恢复 Flash 图像和思维选项,并保留当前的 Pro 对话重播](https://github.com/openclaw/openclaw/pull/164389) — 感谢 [steipete](https://github.com/steipete)。
### 超快选择
您可以使用 API-key 配置文件或直接密钥在受支持的嵌入式 OpenAI 响应路由上选择超快。 Codex 需要对所选模型进行明确的超快选择和本机帐户支持。如果您依赖于自动快速升级或自动升级,请在选择器中选择超快或使用 `/fast ultrafast`。请参阅 [ 共享速度控制 ](/plugins/codex-harness/commands#shared-fast-mode-and-codex-fast-mode)。
提供商可能会返回不同的级别,因此选择超快并不能保证速度或价格。自定义响应端点现在从保存的快速或创作的层设置接收 `service_tier` 并可能拒绝它;在依赖这些设置之前,请检查端点的兼容性。
选定的速度设置也会到达后台工作人员,并且不同的指示器显示“快速”和“超快”。当选择不可用时,Codex 回退到 Fast;禁用超快会隐藏它并使保存的选择使用普通的快速。
来源
- [配置Codex Ultrafast及其共享速度控制](https://github.com/openclaw/openclaw/pull/163320) — 感谢[steipete](https://github.com/steipete)。
- [在 OpenClaw-runtime OpenAI 和 ChatGPT 响应请求中保留明确请求的超快](https://github.com/openclaw/openclaw/pull/163484) — 感谢 [VACInc](https://github.com/VACInc)。
- [ 在可用的嵌入式 API-key 上提供超快响应路由并通过工作人员呼叫进行选定的速度 ](https://github.com/openclaw/openclaw/pull/163663) — 感谢 [steipete](https://github.com/steipete)。
- [ 通过直接 API 密钥提供超快速,并需要在 Codex](https://github.com/openclaw/openclaw/pull/164556) 中进行明确的合格选择 — 感谢 [steipete](https://github.com/steipete)。
- Eligible 会话可以在模型选择器中选择 Ultrafast,或者使用 `/fast ultrafast`。可用性取决于帐户、模型和运行时,不可用的选择可能会回退到“快速”。 [#160352](https://github.com/openclaw/openclaw/pull/160352)。感谢 [@steipete](https://github.com/steipete).
- Fast 和 Ultrafast 使用不同的螺栓图标,具有完整的可访问名称和紧凑的力度控制。 [#162356](https://github.com/openclaw/openclaw/pull/162356)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
### 后台模型路线
模型设置显示哪个运行时和帐户处理背景摘要、标题和进度旁白。当 API 凭据不可用时,同一提供商的符合条件的自动选择后台模型可以使用主模型的 CLI 运行时。可用的 API 凭证和显式模型或运行时选择保留自己的路由和计费。请参阅 [CLI 后端指南](/gateway/cli-backends)。
来源
- [显示后台实用程序模型使用的运行时和帐户上下文](https://github.com/openclaw/openclaw/pull/160884) — 感谢 [etzelm](https://github.com/etzelm)、[Patrick-Erichsen](https://github.com/Patrick-Erichsen), [miguelarios](https://github.com/miguelarios)、[asikorskiy](https://github.com/asikorskiy)、[cbhawthorne84](https://github.com/cbhawthorne84)。
- [当 API 凭证缺失时,让符合条件的自动后台任务借用主模型的 CLI 运行时](https://github.com/openclaw/openclaw/pull/157867) — 感谢 [etzelm](https://github.com/etzelm), [帕特里克-Erichsen](https://github.com/Patrick-Erichsen)、[miguelarios](https://github.com/miguelarios)、[cbhawthorne84](https://github.com/cbhawthorne84)。
### Agents API 本机工具和会话访问
代理 API 操作员可以选择托管对话使用哪些受支持的本机工具,包括 [ 网络搜索选项](https://developers.openai.com/api/docs/guides/agents-api/tools/web-search)。更改后重新启动网关并启动或重置会话。您的列表替换本机默认值,将 OpenClaw 和 MCP 权限分开。空列表会删除网络搜索,但会启用编程调用;使用 [ 编程工具调用指南 ](https://developers.openai.com/api/docs/guides/tools-programmatic-tool-calling#agents-api) 显式禁用它。
附件后续可以保留可用的原始文件,并在上传不可用时显示。托管计算机不会自动接收您的本地文件或技能。有关设置和返回文件检查的信息,请参阅 [ 运行时指南](/providers/openai/runtimes#agents-api-mvp)。
当凭证更改时,新格式会话会保留其远程 ID,但托管访问仍需要创建密钥。 **较旧的 `authFingerprint` 绑定,包括来自 9.7 的绑定,无法再继续、重置或删除,并且没有自动迁移。** 模型、环境或有效的 HTTP MCP 更改仍然需要重置。在重复中断的操作之前检查先前的工具结果。请参阅 [ 代理 API 访问指南](/plugins/agentsapi)。
来源
- [正确的代理API运行时选择并解释如何验证执行和返回的文件](https://github.com/openclaw/openclaw/pull/162158) — 感谢[sjf-oa](https://github.com/sjf-oa)、[sjf](https://github.com/sjf)。
- [继续托管代理API附件,提供可用的原件和诚实的上传反馈](https://github.com/openclaw/openclaw/pull/162210) - 感谢[sjf-oa](https://github.com/sjf-oa)、[sjf](https://github.com/sjf)。
- [在重新启动后创建或重置代理 API 会话时选择本机工具和 Web 搜索选项](https://github.com/openclaw/openclaw/pull/162335) — 感谢 [sjf-oa](https://github.com/sjf-oa), [sjf](https://github.com/sjf)。
- [使用 OpenClaw 产品和版本 ](https://github.com/openclaw/openclaw/pull/162426) 识别本机 OpenAI 代理 API 请求 - 感谢 [sjf-oa](https://github.com/sjf-oa), [sjf](https://github.com/sjf)。
- [在凭证更改和记录不支持的旧绑定和访问恢复中保留新格式代理 API 会话身份](https://github.com/openclaw/openclaw/pull/162948) — 感谢 [sjf-oa](https://github.com/sjf-oa), [sjf](https://github.com/sjf)。
### Claude CLI 叉子和后台工作
兼容的 Claude CLI 会话的整个会话分支可以将模型的上下文保留在独立的子级中。每条消息分叉、缺少检查点以及更改的帐户或环境都会启动新的本机会话。您还可以通过网关查找和读取现有的 sdk-ts 转录本,尽管本机 Mac 节点阅读器没有获得该支持。
使用捆绑网关 MCP 的普通本地 Claude CLI 聊天可以返回控制权,同时在配置的权限和截止日期下继续进行长时间的 shell 工作。后台答案保留父上下文,允许的工具仍然可用于验证的本地子结果,并且网关工具适用于以后的 CLI 回合。因已完成的咨询或移交而阻止的对话可以恢复而无需重置;恢复的运行保留其提供商连接,取消的远程转向避免新的批准提示。请参阅 [CLI 后端](/gateway/cli-backends) 和 [ 子工具策略](/tools/subagents/tool-policy)。
来源
- [通过网关查找并读取现有的 sdk-ts Claude 转录本,本机 Mac 节点阅读器不变](https://github.com/openclaw/openclaw/pull/143248) — 感谢 [nimarosa](https://github.com/nimarosa), [obviyus](https://github.com/obviyus)。
- [在独立的整个对话分支中保留 Claude CLI 上下文](https://github.com/openclaw/openclaw/pull/155591) — 感谢 [Marvinthebored](https://github.com/Marvinthebored), [帕特里克-Erichsen](https://github.com/Patrick-Erichsen),[皮蒂冈萨雷斯](https://github.com/Peetiegonzalez)。
- [在完成咨询、回退或切换后恢复 Claude CLI 对话](https://github.com/openclaw/openclaw/pull/161228) — 感谢 [SunnyShu0925](https://github.com/SunnyShu0925), [帕特里克-Erichsen](https://github.com/Patrick-Erichsen)、[Oldrich333](https://github.com/Oldrich333)、[vincentkoc](https://github.com/vincentkoc)。
- [完成 Claude CLI 在后台命令后转动并保留重叠的任务答案](https://github.com/openclaw/openclaw/pull/161260) — 感谢 [VACInc](https://github.com/VACInc)。
- [使用选定的自定义状态目录查找 CLI 后端](https://github.com/openclaw/openclaw/pull/161270) — 感谢 [steipete](https://github.com/steipete)。
- [通过网关 MCP](https://github.com/openclaw/openclaw/pull/161780) 返回长本地 Claude CLI shell 工作的进程句柄 — 感谢 [VACInc](https://github.com/VACInc)。
- [恢复经验证的自动Claude CLI子结果轮允许的工具](https://github.com/openclaw/openclaw/pull/162374) — 感谢[Stronggenics](https://github.com/Stronggenetics), [VACInc](https://github.com/VACInc)、[Jeehut](https://github.com/Jeehut)、[abacha](https://github.com/abacha)、[glaiveai](https://github.com/glaiveai)、 [pibur](https://github.com/pibur)、[ranukadf82-hub](https://github.com/ranukadf82-hub)、[nano-richtera](https://github.com/nano-richtera)、[aspalagin](https://github.com/aspalagin)、 [Oldrich333](https://github.com/Oldrich333)、[davidcittadini](https://github.com/davidcittadini)、[Marvinthebored](https://github.com/Marvinthebored)、[aikohoshinoai-prog](https://github.com/aikohoshinoai-prog)。
- [在子任务完成时保留 CLI 父级对话上下文](https://github.com/openclaw/openclaw/pull/164378) — 感谢 [steipete](https://github.com/steipete)。
- [取消配对节点后避免新的批准请求 Claude CLI 转](https://github.com/openclaw/openclaw/pull/164614) — 感谢 [steipete](https://github.com/steipete)。
- [在第一轮结束后保持网关工具对 CLI 代理可用](https://github.com/openclaw/openclaw/pull/165428) — 感谢 [steipete](https://github.com/steipete)、[nano-richtera](https://github.com/nano-richtera)。
- [在 CLI 历史写入器恢复后保存提供程序对话绑定](https://github.com/openclaw/openclaw/commit/ed71fa44a4ab5ef8dfe9217771ef62ea69cb20ec) — 感谢 [steipete](https://github.com/steipete)。
- [避免在取消后启动远程 Claude 批准请求](https://github.com/openclaw/openclaw/commit/2039d9cf2fcd949c8e07055fcdba92f20a24fb35)。
### Claude指令更新
当工作区指导或技能发生变化时,受支持的直接 Anthropic API-key 对话可以继续重用缓存的指令,而 Claude 稍后会在对话中接收更新。 OAuth、代理和其他托管路由保持其现有行为,并且压缩、路由或工具更改仍然会使缓存失效。
临时上下文将停止使用下一条消息的模型输入,但仍保留在已保存的记录中。失败的、回滚的插件注册也会停止阻止原本健康的代理轮流。请参阅 [ 人类保留上下文 ](/providers/anthropic#tool-calls-and-retained-thinking) 和 [ 上下文指南 ](/concepts/context)。
来源
- [在更新工作区指令和临时上下文时保留 Claude 的缓存提示前缀](https://github.com/openclaw/openclaw/pull/163461) — 感谢 [steipete](https://github.com/steipete)。
### Codex 中的共享工作区上下文
没有托管推理中继的 Codex 连接现在可以接收共享工作区角色和内存指导,并在下一轮进行编辑以达到持久对话。 **在这些连接上省略了选定的个人 `USER.md` 配置文件**,因此以前的一些首选项可能会消失。当您需要这些个人偏好时,请使用托管的仅限家长的中继。
本地孩子可能会继承共享的指令。本机压缩后的隐身对话以及没有继承历史的新子项可以在刷新之前短暂使用创建中的指令。删除角色并不会将其从早期历史中删除。
来源
- [ 在不使用托管中继的情况下向 Codex 连接提供共享工作区角色和内存](https://github.com/openclaw/openclaw/pull/162156) — 感谢 [Kimiyu-186](https://github.com/Kimiyu-186)、[mbelinky](https://github.com/mbelinky)。
### OpenAI 对话继续
符合条件的 OpenAI 响应当保存的历史记录仍然匹配时,HTTP 对话可以在暂停最多 90 分钟后仅使用新输入恢复。如果该本地记录过期或较早清除,则 OpenClaw 会发送完整历史记录。工具延续还在工具调用 ID 修复期间保留合格的压缩检查点。这不会改变提供商的存储空间或保证较低的费用。请参阅 [OpenAI 高级指南](/providers/openai/advanced)。
来源
- [在修复以后的工具调用 ID 时保留 OpenAI 压缩检查点](https://github.com/openclaw/openclaw/pull/160895) — 感谢 [brandon-julio-t](https://github.com/brandon-julio-t), [obviyus](https://github.com/obviyus)。
- [ 在暂停长达 90 分钟后重新使用符合条件的 OpenAI HTTP 对话基线](https://github.com/openclaw/openclaw/commit/13ed30a6603de6fe2c6e106db17bb09b7587ea16) — 感谢 [hartmark](https://github.com/hartmark), [帕特里克-Erichsen](https://github.com/Patrick-Erichsen)。
### Node 集成的单独模型运行时
Node 开发人员可以使用 `createNodeLlmRuntime` 运行具有单独凭证和请求策略、连接和清理的多个模型集成。提供每个运行时的策略并使用 Node 异步上下文支持。浏览器集成保留默认运行时,并且没有指定所有者的清理仍然会影响所有所有者。
来源
- [为嵌入式 Node 模型运行时提供单独的凭证策略、连接和清理](https://github.com/openclaw/openclaw/commit/8a2d2ff7e28cf0ec5dfeeda5c96c29fad094558b) — 感谢 [RomneyDa](https://github.com/RomneyDa)、[sallyom](https://github.com/sallyom)、 [steipete](https://github.com/steipete)。
### 实验决策辅助
启用实验性决策辅助并选择模型后,对话转向可以省略被认为不必要的可选工具。所需的工具和权限保持不变,稍后轮流从正常工具开始。默认情况下处于关闭状态,但 **a 保存的选择加入可以在升级** 后启动此自动行为。不受支持的运行时(包括 Codex 应用程序服务器)保留其正常工具。
选定的提供程序接收有界请求文本、最多两个最近的可见交换、工具返回和错误计数以及提示挂钩文本。托管评估可能要花钱,而且判断也可能是错误的。关闭辅助会停止新的自动评估;已发送的评估仍可能传输数据并限制工具。显式 `decision_evaluate` 调用具有单独的控制。
来源
- [(可选)通过实验性决策辅助省略不需要的对话工具](https://github.com/openclaw/openclaw/commit/2f1f8beed7a3314e704d5435e90a33397b4ca787) — 感谢 [MertBasar0](https://github.com/MertBasar0)、[jalehman](https://github.com/jalehman)。
### 自动化搜索和运行历史记录
您可以在终端中按名称、描述、ID 或代理搜索计划作业,然后检查可见作业中的故障,而无需打开每个作业。已完成的消息还直接链接到其工作的历史记录和成绩单,并带有工作重命名后的标签。
[Usage](/concepts/usage-tracking) 在下一次运行开始时保留每个重复运行的记录创建者,但已经丢失的归属无法恢复。 [CLI 索引](/cli) 还使现有的`cron show` 和`cron scratch` 命令更容易查找,在[cron 参考](/cli/cron) 中使用。
来源和变化
- 使用 `runs --all` 跨可见自动化查询历史记录,保留过滤器和分页。在没有定位作业 ID 或 `--id` 的情况下使用它。 [#148947](https://github.com/openclaw/openclaw/pull/148947) 感谢 [@Alix-007](https://github.com/Alix-007) 和 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 用`list --query`搜索职位ID、名称、描述和代理名称;消息和脚本内容不在此搜索范围内。 [#150097](https://github.com/openclaw/openclaw/pull/150097) 感谢 [@Alix-007](https://github.com/Alix-007) 和 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 从已完成消息的发件人链接打开作业历史记录页面。较旧的运行可能需要手动分页,并且无法打开已删除的作业。 [#161643](https://github.com/openclaw/openclaw/pull/161643) 谢谢 [@steipete](https://github.com/steipete).
- 使自动化名称在历史记录和实时消息中保持最新;删除的作业保留自动化标签。 [#163797](https://github.com/openclaw/openclaw/pull/163797) 谢谢 [@steipete](https://github.com/steipete).
- 在下一次运行开始时保留先前重复运行的记录创建者,而不是将它们移至未归因中。 [#161806](https://github.com/openclaw/openclaw/pull/161806) 感谢 [@PollyBot13](https://github.com/PollyBot13)、[@Conan-Scott](https://github.com/Conan-Scott) 和 [@obviyus](https://github.com/obviyus).
- 省略新完成的一次性作业(自行删除)中陈旧的下一次运行时间。早期手动运行仍保留其未来计划的发生;现有历史条目不变。 [#161554](https://github.com/openclaw/openclaw/pull/161554) 谢谢 [@steipete](https://github.com/steipete).
- 使现有的 `cron show` 和 `cron scratch` 命令在主 CLI 索引中可发现。 [#145034](https://github.com/openclaw/openclaw/pull/145034) 谢谢 [@qingminglong](https://github.com/qingminglong).
### 用于预定作业的工具
默认计划的代理作业可以使用其所属对话的当前工具,包括因过时的工具列表而保留的符合资格的旧作业。 **这些作业现在遵循对话的当前权限,失去仅与原始发送者或其插件挂钩相关的限制。** 显式工具限制、脚本、条件触发作业和应用程序或运行时绑定作业保持其限制,并且保存的执行主机保持固定。
即使提供商共享模型 ID,模型选择器也会保留您选择的提供商,并且 CLI 在保存代理作业之前捕获拼写错误的思维级别。要删除思维覆盖,请使用 `--clear-thinking`;空白值不会清除它。
来源和变化
- 为符合条件的默认计划代理作业提供当前所有者对话工具,而无需重写已保存的行。将其转换为脚本或添加条件即可捕获具体的工具列表。 Claude CLI 通配符作业使用普通聊天行为,无需 CLI 工具上限。 [#162432](https://github.com/openclaw/openclaw/pull/162432) 感谢 [@obviyus](https://github.com/obviyus)、[@jalehman](https://github.com/jalehman)、[@steipete](https://github.com/steipete) 和[@joshavant](https://github.com/joshavant).
- 在创建或编辑智能体作业之前拒绝无效的非空白 CLI 思维级别。识别的值仍然依赖于模型支持,之前保存的无效值需要更正。 [#149968](https://github.com/openclaw/openclaw/pull/149968) 感谢 [@Alix-007](https://github.com/Alix-007) 和 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 保存新发现的自动化模型时保留选定的提供程序。现有保存的裸模型覆盖保持不变,并且仅提供符合手动选择条件的模型。 [425d77a8](https://github.com/openclaw/openclaw/commit/425d77a86afba0d23b668081f63a26922073ee74) 感谢 [@ooiuuii](https://github.com/ooiuuii) 和 [@obviyus](https://github.com/obviyus).
### 按需自动化结果
当您要求代理运行自动化时,短作业可以直接返回其结果。较长的作业继续运行,并运行 ID 进行后续操作。需要呼叫对话立即确认的作业才能完成该轮次,并且他们的报告可以随后到达。
委派的工作会保留孩子的答案,而不是重复他们的指示。关闭交付的合格工作将这个答案保留在私人运行历史中,在现有的截止日期内等待。他们可能需要更长的时间并揭示以前未记录的故障;有意的沉默仍然算成功。删除其子会话后,捕获的答案仍暂时可用。
来源和变化
- 将完成的短期结果返回给代理,并为较长的运行提供精确的运行 ID 以供以后检查。等待超时会使接受的工作继续运行;调用代理必须稍后检查运行的结果。 CLI 等待不变。 [#162481](https://github.com/openclaw/openclaw/pull/162481) 感谢 [@obviyus](https://github.com/obviyus).
- 避免在等待需要相同对话的工作时轮到呼叫者,包括指定的主会话别名和当前会话公告。 [#162683](https://github.com/openclaw/openclaw/pull/162683) 谢谢 [@obviyus](https://github.com/obviyus).
- 在启动回合结束后交付聊天触发的自动化报告并保留受影响的转录副本。 [#162780](https://github.com/openclaw/openclaw/pull/162780) 谢谢 [@obviyus](https://github.com/obviyus).
- 当委托作业的家长没有实质性回复时,记录并公布孩子的最终答案,而不是发送作业提示。 [#162460](https://github.com/openclaw/openclaw/pull/162460) 谢谢 [@obviyus](https://github.com/obviyus).
- 将子结果保留在父级仅委托的隔离、无交付作业的私有历史记录中。丢失或延迟输出遵循正常错误统计,仅在配置时才发出警报。 [#162474](https://github.com/openclaw/openclaw/pull/162474) 谢谢 [@obviyus](https://github.com/obviyus).
- 当历史记录将其显示预览标记为已截断时,恢复完整的计划回复。如果恢复失败,则不完整的预览不会被视为完整的答案。 [#160520](https://github.com/openclaw/openclaw/pull/160520) 感谢 [@jayzhou2309](https://github.com/jayzhou2309)、[@xiao398008](https://github.com/xiao398008)、[@obviyus](https://github.com/obviyus) 和[@markoub](https://github.com/markoub). 感谢 [@vincentkoc](https://github.com/vincentkoc) 的出处建议。
- 在 `cleanup` 设置为 `delete` 后保留计划子项捕获的答案,同时仍删除其会话。答案将在现有存档截止日期(通常为 60 分钟)或禁用存档时在五分钟后过期。 [#162962](https://github.com/openclaw/openclaw/pull/162962) 谢谢 [@obviyus](https://github.com/obviyus).
- 在计划执行后恢复发送到自动化稳定会话密钥的后续消息。它们到达最新的本地分离运行并保留在该运行的记录中,而不继承原始对话的工作树或云工作线程。较新的运行会取消较旧的飞行中后续操作,而不会撤消已完成的效果。 [#161085](https://github.com/openclaw/openclaw/pull/161085) 感谢 [@steipete](https://github.com/steipete) 和 [@ysumatta](https://github.com/ysumatta).
### 自动化故障和维修请求
反复失败的作业可以在另一个合格的失败运行触发警报之前要求其所属对话修复工作区问题,包括升级后符合条件的现有作业。修复使用对话的普通权限,而更改作业本身需要用户回复。每一次故障都会收到一次维修请求;不再运行的作业保持直接警觉。 **设置 `failureAlert:false` 禁用修复请求和警报。**
客服人员可以在第一行单独使用 `AUTOMATION_FAILED` 明确报告失败的计划工作,包括在孩子的回答中。历史记录该解释为错误,而公告则省略了该标记。 **一次性作业将这些报告视为永久性故障。** 没有警报路由的静默重复作业通过它们保持启用状态,延迟增加最多可达每小时;运行时故障或保存中断仍然可以禁用这些作业。请参阅 [ 故障通知 ](/automation/cron-jobs/delivery#failure-notifications) 和 [ 预定有效负载指南 ](/automation/cron-jobs/payloads)。
来源和变化
- 在拥有对话中请求对符合条件的重复故障进行诊断和工作区修复。命令作业、流或退出计划、Webhook 路由和没有所有者的作业会保留其警报路径。被拒绝的请求会在下一次资格失败时回退。 [#161007](https://github.com/openclaw/openclaw/pull/161007) 谢谢 [@obviyus](https://github.com/obviyus).
- 每个故障连续请求修复一次,即使错误发生变化,保留作业的最终警报而无需再次计划尝试,并在回退警报后保持正常的冷却时间。 [#162702](https://github.com/openclaw/openclaw/pull/162702) 谢谢 [@obviyus](https://github.com/obviyus).
- 记录显式代理报告的任务失败及其解释,包括其他静默作业。未配置的无交付作业会保持静默,不会发出警报或修复请求。 [#162391](https://github.com/openclaw/openclaw/pull/162391) 谢谢 [@obviyus](https://github.com/obviyus).
- 正确分类采用的子故障报告并保留失败的运行记录。对于代理报告的故障,没有警报路由的故意静默重复作业保持启用状态。累积失败后的后续运行时故障,或者保存历史记录和作业状态之间的崩溃,仍然可以禁用作业。 [#162686](https://github.com/openclaw/openclaw/pull/162686) 谢谢 [@obviyus](https://github.com/obviyus).
- 使用 `null` 清除故障警报覆盖会恢复继承的策略,而不是禁用警报。之前使用 `false` 保存的作业仍需要显式更正。 [#158869](https://github.com/openclaw/openclaw/pull/158869) 感谢 [@masatohoshino](https://github.com/masatohoshino) 和 [@obviyus](https://github.com/obviyus).
- 即使代理轮转成功,也会在作业详细信息和历史记录中显示已清理的未解决执行警告。该警告省略了原始错误和参数;请参阅 [cron 故障排除](/automation/cron-jobs/troubleshooting)。 [#158929](https://github.com/openclaw/openclaw/pull/158929) 感谢 [@Ayushdevo](https://github.com/Ayushdevo)、[@elvisquirino](https://github.com/elvisquirino)、[@MertBasar0](https://github.com/MertBasar0) 和[@obviyus](https://github.com/obviyus).
- 当交付不明确时,保留故障警报 Webhooks **Unknown**,避免基于不正确的未交付状态进行回退。已知的拒绝或已证明的预发送失败仍然允许回退;未知不确认收货。 [#161750](https://github.com/openclaw/openclaw/pull/161750) 谢谢 [@steipete](https://github.com/steipete).
- 抑制来自失败的自动修复轮次的通用运行时重试警告,同时保留编写的回复和作业失败警报。重新启动后恢复的修复仍会发出超时警告。 [#162772](https://github.com/openclaw/openclaw/pull/162772) 谢谢 [@obviyus](https://github.com/obviyus).
- 有关失败运行输出与基于阈值的故障警报的正确指导。普通输出遵循作业的交付设置;警报可以等待重复的失败。 [#162695](https://github.com/openclaw/openclaw/pull/162695) 谢谢 [@obviyus](https://github.com/obviyus).
### MCP 检查计划脚本
计划条件和脚本可以检查明确允许的 MCP 服务,并在没有任何更改时跳过有效负载和模型调用。按名称或特定于服务器的模式启用工具;裸露的通配符无法实现任何功能。条件保留其时间和工具调用限制,并且请求者范围内的服务仍然不可用。请参阅 [ 条件观察器 ](/automation/cron-jobs/schedules#event-triggers-condition-watchers) 和 [ 有效负载 ](/automation/cron-jobs/payloads)。
[ 经常性作业创作指南](/automation/cron-jobs/payloads#authoring-recurring-jobs) 帮助代理使用脚本进行可重复检查和簿记。脚本必须抛出来记录失败;返回错误对象算作成功。
来源和变化
- Let 条件和脚本有效负载查询明确允许的 MCP 服务器工具,并在条件未触发时跳过有效负载执行。不可用的服务器仍然不存在诊断。 [#160995](https://github.com/openclaw/openclaw/pull/160995) 谢谢 [@obviyus](https://github.com/obviyus).
- 指导代理使用脚本进行可重复的自动化工作、精确的工具选择和显式的脚本失败。无论是否启用触发器,都会遵循特定于脚本的建议。 [#160996](https://github.com/openclaw/openclaw/pull/160996) 谢谢 [@obviyus](https://github.com/obviyus).
### 交互式 Lobster 工作流程
使用可选的 Lobster 插件,您可以在聊天中回答工作流程问题、更正拒绝的答案并从保存的进度继续,或取消剩余步骤。 **对简历令牌保密。任何持有它的人都可以恢复工作流程;令牌不与您的 OpenClaw 用户或会话绑定。** 请参阅 [Lobster 结构化输入](/tools/lobster#structured-input)。
- 支持反馈和选择检查点,更正JSON或模式答案,连续暂停和显式取消。安装的 Lobster 运行时拥有保存的进度和验证。 [#162003](https://github.com/openclaw/openclaw/pull/162003) 感谢 [@miguelbranco80](https://github.com/miguelbranco80)、[@Patrick-Erichsen](https://github.com/Patrick-Erichsen) 和 [@Alix-007](https://github.com/Alix-007).
### 插件对话和侧面板
插件可以在页面旁边添加对话,包括草稿、附件和可移动的页面上下文,或者在请求它的对话旁边打开已注册的侧面板。这要求插件在支持的主机上采用 [Control UI 主机功能](/plugins/feature-plugins);通过工具打开面板需要`operator.write`权限。
更改和来源
- 采用对话底座的插件可以将选定的对话放置在其页面旁边,其中包含草稿、附件和可移动的页面上下文。 [#161957](https://github.com/openclaw/openclaw/pull/161957)。感谢 [@steipete](https://github.com/steipete).
- 在受支持的主机上,插件可以在具有 `operator.write` 权限的请求对话旁边打开自己注册的侧面板。 [#163428](https://github.com/openclaw/openclaw/pull/163428)。感谢 [@jalehman](https://github.com/jalehman).
### 企业存储库和准备好的云工作人员
企业团队可以在新会话中提供默认的 GitHub 存储库和分支,并在连接符合条件的 Control UI 浏览器时准备匹配的云工作人员。人们仍然可以选择另一个项目,并且准备的容量保持在配置的池限制内。当这些浏览器断开连接或失去访问权限时,重新填充就会停止,未使用的储备就会消失;活动会话保留自己的工作生命周期。
凭据必须与配置的企业主机匹配,并且公共 GitHub 登录保持独立。配置存储库不会完成对库存云工作线程的 GitHub 身份验证。本地存储库恢复需要恢复记录的主机配置。
更改和来源
- 配置的企业存储库默认值和授权浏览器存在在所选池限制内准备匹配的云工作人员容量。 [db01f6d520b8](https://github.com/openclaw/openclaw/commit/db01f6d520b844c62f146a789f3da2c11075529c)。感谢 [@galiniliev](https://github.com/galiniliev).
### Agents API 工具和附件
[Agents API 会话](/plugins/agentsapi) 可以使用可从其执行环境访问的已配置 Streamable HTTP MCP 工具,包括专用服务。解析的凭证标头将传递到 API。 **更改 MCP 设置或凭据后使用 `/new` 或 `/reset`;升级后,现有对话可能还需要重置。** 其他 MCP 传输和网关 OAuth 仍然不受支持。
当注册的工作区提供商为执行程序准备输入文件时,自托管用户可以提交输入文件。本机图像输入和自动输出文件传输仍然不可用。代理 API 也有自己的插件选择,无需重新启动网关即可更改;明确从 Codex 复制支持的选择,因为仅此一项并不能启用本机应用程序或连接器。
更改和来源
- Fresh Agents API 会话发现并调用已配置的 Streamable HTTP MCP 工具以及已解析的凭证标头。 [#160931](https://github.com/openclaw/openclaw/pull/160931)。谢谢[@sjf-oa](https://github.com/sjf-oa),[@sjf](https://github.com/sjf).
- Agents API 获得独立的插件选择配置块,无需网关重启;它不会激活本机应用程序或连接器。 [#161048](https://github.com/openclaw/openclaw/pull/161048)。谢谢[@sjf-oa](https://github.com/sjf-oa),[@sjf](https://github.com/sjf).
- 当工作区提供程序使执行程序可以读取完整批次时,自托管轮次可以提交暂存附件。 [#161312](https://github.com/openclaw/openclaw/pull/161312)。谢谢[@sjf-oa](https://github.com/sjf-oa),[@sjf](https://github.com/sjf).
- 已接受的后续指令不再阻止代理 API 任务重试临时失败;下一个回合将读取新的历史。 [#161444](https://github.com/openclaw/openclaw/pull/161444)。谢谢[@sjf-oa](https://github.com/sjf-oa),[@sjf](https://github.com/sjf).
- 专用插件指南将代理API设置和功能结合在一起,取代了旧的运行时片段书签。 [#162255](https://github.com/openclaw/openclaw/pull/162255)。感谢 [@sjf-oa](https://github.com/sjf-oa).
### 爪管理现有智能体
启用实验性 Claws 后,您可以将现有配置的本地代理置于 Claw 管理之下,同时保留其 ID 和工作区。使用 [Claws 指南 ](/cli/claws) 在应用迁移计划之前预览该计划。它采用支持的设置和选定的提示文件,将凭据和对话数据保留在 Claw 所有权之外。删除收养的爪子会保留原始资源,但老爪子读者拒绝新的所有权格式。
更改和来源
- 实验性 Claw 迁移可预览现有配置代理的注册,并在删除时保留其原始资源。 [#162329](https://github.com/openclaw/openclaw/pull/162329)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen)、[@sasan1200](https://github.com/sasan1200)、[@jalehman](https://github.com/jalehman). 感谢 [@giodl73-repo](https://github.com/giodl73-repo) 早期的采用提案。
### 插件状态和对话结束
加载的本地、链接和社区插件可以保存自己的 [ 托管状态和传入消息队列](/plugins/sdk-runtime/state-and-system#api-runtime-state),并保留存储限制和 [ 特权操作的信任要求](/tools/plugin#plugin-runtime-trust-refused)。正常停止和重新启动会保留插件会话状态。 **禁用或删除插件仍会删除该状态,并且无法恢复之前的损失。**
插件可以在对话结束时采用阅读器,包括在重置之后,而不会意外地读取其替换内容。外部插件必须选择在处理程序的生命周期内进行对话访问和读取。跟踪的开始和结束工作也可以在请求关闭后完成。
更改和来源
- 普通 stop/restart 保留插件会话状态并将已解决的回调错误报告为命名警告。 [#164975](https://github.com/openclaw/openclaw/pull/164975)。感谢 [@steipete](https://github.com/steipete).
- 每个加载的插件都可以保存自己的托管状态并处理持久的传入消息队列,而无需以前的存储信任拒绝。 [#165063](https://github.com/openclaw/openclaw/pull/165063)。感谢 [@steipete](https://github.com/steipete).
- 延迟的会话开始和会话结束回调可以在触发请求关闭后完成,包括 `/new` 翻转。 [e9e1134c1809](https://github.com/openclaw/openclaw/commit/e9e1134c1809dbd6f66afde81c11a06046ece012)。感谢 [@xialonglee](https://github.com/xialonglee)、[@vincentkoc](https://github.com/vincentkoc)、[@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 采用会话结束插件可以在处理程序生命周期内读取已结束会话的授权有界尾部;外部插件必须选择对话访问。 [#161451](https://github.com/openclaw/openclaw/pull/161451)。谢谢[@ekinnee](https://github.com/ekinnee),[@jalehman](https://github.com/jalehman),[@PaulClawitzki](https://github.com/PaulClawitzki),[@xydigitLybnnnn](https://github.com/xydigitLybnnnn),[@azuretek](https://github.com/azuretek).
### Plugin 创作 API
插件作者可以在使用结果之前等待保存对话历史记录、会话更改和提供程序重播元数据,对于工作区结果、发布和提及收件箱使用类似的方法。请遵循 [ 持久性迁移指南 ](/plugins/sdk-migration/how-to-migrate#await-session-transcript-persistence),特别是对于需要等待准备及其返回的提交的转录重写。记录的同步适配器在兼容性窗口期间保留。
插件可以订阅会话更改,而不是重复读取所有内容,并针对订阅之外的更改进行清理和回退读取。作者还可以获得草稿重置控件和可重用的会议构建器以及线程绑定验证。
更改和来源
- 插件作者可以等待会话历史记录、扩展更改和重播元数据。成绩单重写需要等待准备及其返回的提交;请参阅 [ 持久性迁移](/plugins/sdk-migration/how-to-migrate#await-session-transcript-persistence)。 [#163264](https://github.com/openclaw/openclaw/pull/163264)。感谢 [@steipete](https://github.com/steipete).
- Awaited 工作区结果和发布阅读器与已弃用的同步适配器一起可用,这些适配器保留其返回值和完成时间。 [#163819](https://github.com/openclaw/openclaw/pull/163819)。感谢 [@steipete](https://github.com/steipete).
- Plugins 可以订阅更改的会话密钥和失效标签,并对订阅之外的更改进行取消订阅和回退读取。 [#163820](https://github.com/openclaw/openclaw/pull/163820)。感谢 [@steipete](https://github.com/steipete).
- Mention收件箱使用后台存储,并在有序关闭时结算接受记录和驳回;插件作者获得等待的方法,而同步方法仍然带有弃用警告。发布回调必须同步发送其响应,并随后等待相关突变。 [#164291](https://github.com/openclaw/openclaw/pull/164291)。感谢 [@steipete](https://github.com/steipete).
- Plugin 作者可以在重置期间保留草稿限制期限,并通过可选的生命周期参数推迟过时消息的退出。 [#162219](https://github.com/openclaw/openclaw/pull/162219)。感谢 [@steipete](https://github.com/steipete).
- Meeting 作者可以为现有 Zoom、Teams 和 Slack 会议行为重用已记录的浏览器适配器和页面脚本构建器。 [19f112eaabcb](https://github.com/openclaw/openclaw/commit/19f112eaabcbd24250929900ee7c5d3b0b6efa28)。感谢 [@steipete](https://github.com/steipete).
- `ChannelThreadBindingsSchema` 通过通道配置模式外观公开现有验证,以供插件作者重用。 [1a158881cd01](https://github.com/openclaw/openclaw/commit/1a158881cd01f0ba5d4155c1ced4f1ba87a13ba1)。感谢 [@steipete](https://github.com/steipete).
### ClawHub 放行检验
在用户决定安装之前,客户端开发人员可以显示所选 ClawHub 插件或技能版本的可用 README 文本、发行说明和信任信息。缺失的信息仍然很明显,包括不完整的功能摘要和未知的下载可用性;检查清单并不授权安装。
更改和来源
- Client 开发人员可以在安装前检索选定的 ClawHub 插件和技能版本详细信息,并明确缺少元数据和不完整的远程功能摘要。 [#163460](https://github.com/openclaw/openclaw/pull/163460)。感谢 [@jacobtomlinson](https://github.com/jacobtomlinson).
### 通过验证的 GitHub 登录角色
团队管理员可以在人员首次登录之前通过验证的 GitHub 登录来分配角色,然后查看每个人的有效角色及其来源。显式分配优先。映射使用缓存的已验证主要身份,并且立即应用更改需要重新加载实时配置。
- 可选的 `gateway.roles.assignments.byGithubLogin` 映射使用缓存的已验证主 GitHub 登录名。显式角色分配优先,然后是映射,最后是默认角色;管理员可以看到有效的角色及其来源。 [#163825](https://github.com/openclaw/openclaw/pull/163825)。感谢 [@steipete](https://github.com/steipete).
### 访客邀请及撤销
访客访问可以使用私人电子邮件邀请 GitHub 帐户,并在登录更改时将邀请附加到该帐户。管理员可以通过经过验证的电子邮件别名撤销某人记录的邀请,或者在首次登录之前取消邀请,从而保留保存的工作和独立访问。
GitHub 邀请需要现有的经过验证的 Cloudflare OIDC 帐户-ID 映射。选择单个 GitHub 或电子邮件目标,并使用配置文件或邀请 ID 进行撤销。个人范围的撤销需要主机支持并结束记录的授权,因此可以保留独立的访问权限。请参阅 [ 用户模型 ](/concepts/user-model) 和 [ 身份要求 ](/plugins/sdk-runtime/gateway-and-nodes)。
- 访客邀请接受 GitHub 选择器,无需公共电子邮件。仅使用一个 GitHub 或电子邮件选择器以及现有的经过验证的 Cloudflare OIDC 帐户-ID 映射;邀请插件不会配置登录提供程序。 [#162666](https://github.com/openclaw/openclaw/pull/162666)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- 管理员可以通过配置文件 ID 撤销某个人记录的已验证电子邮件别名的访客授权,或在登录前通过授予 ID 撤销一项邀请。这需要主机支持并影响记录的授权,从而保持独立访问完好无损。 [#162207](https://github.com/openclaw/openclaw/pull/162207)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- Visitor 访问列表和撤销使用当前已验证的 GitHub 身份,以避免与具有相同句柄的其他人匹配。明确的电子邮件选择优先,当身份丢失或不明确时,可以使用精确的电子邮件后备。 [#160497](https://github.com/openclaw/openclaw/pull/160497)。感谢 [@shakkernerd](https://github.com/shakkernerd).
### 托管会话网络控制
代理 API 用户可以允许、禁用或限制 OpenAI- 托管会话的网络访问。受限访问与确切的主机名匹配,因此包括所需的子域和重定向目标。 **每当添加、更改或删除策略时重置会话。** 托管 stdio MCP 需要启用网络;服务源远程 MCP 连接使用单独的路径。请参见 [ 托管网络控制 ](https://developers.openai.com/api/docs/guides/agents-api/environments/openai-hosted#control-network-access)。
- Agents API 托管 VM 可以与 1–100 个确切主机一起使用启用、禁用或受限的网络。子域和重定向需要有自己的条目,并且添加、更改或删除策略需要重置会话。托管 stdio MCP 需要启用网络。请参见 [ 托管网络控制 ](https://developers.openai.com/api/docs/guides/agents-api/environments/openai-hosted#control-network-access)。 [#161004](https://github.com/openclaw/openclaw/pull/161004)。谢谢[@sjf-oa](https://github.com/sjf-oa),[@sjf](https://github.com/sjf).
### GitHub 沙箱中的身份
管理员可以让代理在受支持的 Docker 或 Podman 沙箱内工作时使用其托管 GitHub 身份。 [per-agent opt-in](/gateway/config-tools/github-identity#sandbox-opt-in) 默认为关闭,需要适当的非共享隔离、GitHub 工具和身份验证以及允许的网络访问。当安装更改时重新创建容器。
**选择加入会将完整选定的配置文件凭据公开给沙箱代码和后台进程,包括刷新的凭据。** 只读挂载仍允许使用凭据,并且选择退出不会撤销正在运行的进程已持有的凭据。
- 默认关闭的每个代理 GitHub 选择支持内置 Docker 和 Podman 后端。丢失或不安全的托管凭据会拒绝执行,安全审核会报告每个选择加入的代理。 [#163784](https://github.com/openclaw/openclaw/pull/163784)。感谢 [@steipete](https://github.com/steipete).
### 必需的结果和子代理后续行动
代理可以使用 `awaitResults:true` 等待所需的命令和子结果(包括失败),而无需重复要求模型进行轮询。代码模式在其现有限制内恢复相同的等待程序。 **如果您采用了早期的 `required` 参数,请切换到 `awaitResults`;旧密钥被忽略。**
父代理可以等待排队的后续任务,并继续活动的可见或隐藏的子级,当完成重叠或另一个任务快速启动时,会保留单独的答案。等待消息的孩子仍然需要授权的发件人才能继续。
内部工作不能再使用静音占位符来隐藏丢失的结果。如果您的配置使用 `silentReply.internal`,请使用 Doctor 的正常备份和验证流程将其删除。外部群体沉默偏好仍然受到支持。
**使用 `sessions_send` 的工作流程必须再次显式发送才能继续交换,并使用带有通道和目标的 `message` 来发布给人员。** 每次发送都会返回一个对等回复;自动交换和目标频道帖子被删除。隔离的计划作业会收到内联回复,但不会收到分离的对等回复或失败通知,并且 `ANNOUNCE_SKIP` 和 `REPLY_SKIP` 不再控制交付。请参阅 [ 会话工具指南 ](/concepts/session-tool)。
来源和完整变更列表
- 保持所需的命令和子结果挂起直到收集,从完成事件恢复相同的代码模式程序。引入为 `required` 的选项现在为 `awaitResults`;独立的服务和现有的截止日期保留其行为。 [#162707](https://github.com/openclaw/openclaw/pull/162707)。感谢 [@VACInc](https://github.com/VACInc)、[@SparcleAI](https://github.com/SparcleAI)、[@jalehman](https://github.com/jalehman).
- 避免在可见子代理完成后出现过时的命令完成消息。 [#147432](https://github.com/openclaw/openclaw/pull/147432)。感谢 [@Tosko4](https://github.com/Tosko4)、[@obviyus](https://github.com/obviyus)、[@VACInc](https://github.com/VACInc).
- 指导普通座席直接处理日常工作,并在独立工作有明显效益时进行委托。 [#151599](https://github.com/openclaw/openclaw/pull/151599)。感谢 [@jalehman](https://github.com/jalehman).
- 在私人儿童代理等待后交付家长的答案,遵循对话的回复政策,同时将儿童调查结果保密。 [#156540](https://github.com/openclaw/openclaw/pull/156540)。感谢 [@obviyus](https://github.com/obviyus).
- 在发布已完成的子结果时受支持的失败后恢复父项的延续,而不重复保存的更改或答案。当无法验证原始排队请求时,恢复将等待。 [#160472](https://github.com/openclaw/openclaw/pull/160472)。感谢 [@steipete](https://github.com/steipete).
- 在后台存储工作中准备初始子等待、结果切换和保存的代理恢复,保留原始呼叫者和中断的切换进度。 [#160778](https://github.com/openclaw/openclaw/pull/160778)。感谢 [@steipete](https://github.com/steipete).
- 在子恢复期间读取较少的已保存会话数据。浏览器清理不会影响选项卡,并在安装的浏览器缺乏所需的清理支持时要求更新。 [#160831](https://github.com/openclaw/openclaw/pull/160831)。感谢 [@steipete](https://github.com/steipete).
- 在同一会话中保留恢复的儿童时间津贴。重新启动恢复的工作和没有会话身份的旧记录使用普通代理策略,通常为 48 小时,除非该策略不受限制。 [#161078](https://github.com/openclaw/openclaw/pull/161078)。感谢 [@steipete](https://github.com/steipete).
- 当宣布完成的子级显式暂停以等待消息时通知父级。家长必须发送延续;已暂停的记录不会收到追溯通知。 [#161114](https://github.com/openclaw/openclaw/pull/161114)。感谢 [@steipete](https://github.com/steipete).
- 等待现有孩子接受的观看后续行动,包括排队的工作,并保留他们单独的答案。如果转向报告 `sentBeforeError`,请在重试之前检查目标。 [#161130](https://github.com/openclaw/openclaw/pull/161130)。感谢 [@steipete](https://github.com/steipete).
- 在子级完成后恢复父级,而不进行完成簿记,使其卡住或中断其答复,包括重新启动后。 [#161194](https://github.com/openclaw/openclaw/pull/161194)。感谢 [@steipete](https://github.com/steipete).
- 通过工具清理保留等待代理的切换,以便它可以恢复而不会出现过早结束转弯错误。 [#161197](https://github.com/openclaw/openclaw/pull/161197)。感谢 [@steipete](https://github.com/steipete).
- 允许对已完成的子项进行有效的后续操作,同时仍保存其完成记录,使用有界的额外等待,同时仍拒绝退休的调用者和替换的运行。 [#161279](https://github.com/openclaw/openclaw/pull/161279)。感谢 [@steipete](https://github.com/steipete).
- 避免对不需要公告的成功子任务进行不必要的父级回复,以及明确的单一回复传递规则。 [#161542](https://github.com/openclaw/openclaw/pull/161542)。感谢 [@steipete](https://github.com/steipete).
- 当父级在屈服之前检查状态时,保持已完成的私有子级的答案可用。 [#161820](https://github.com/openclaw/openclaw/pull/161820)。感谢 [@steipete](https://github.com/steipete).
- 返回来自 `sessions_send` 的一个对等回复。继续另一次发送并发布给具有明确 `message` 呼叫的人员。使用`message`和`delivery.status`;旧别名 `delivery.mode`、`ANNOUNCE_SKIP` 和 `REPLY_SKIP` 控件已被删除。 [#162227](https://github.com/openclaw/openclaw/pull/162227)。感谢 [@steipete](https://github.com/steipete).
- 即使在请求者完成后也未产生助理答复时,将失败或超时的孩子的解释记录在自己的笔录中。 [#162297](https://github.com/openclaw/openclaw/pull/162297)。感谢 [@steipete](https://github.com/steipete).
- 让符合条件的同级和子级回复在请求者的原始回合结束后到达。非阻塞发送等待切换;撤销访问权限、重新启动或丢失所有权仍可能会阻止以后的交付。 [#162299](https://github.com/openclaw/openclaw/pull/162299)。感谢 [@steipete](https://github.com/steipete).
- 显示接受的子消息等待的正常等待确认,而不是错误的丢失连续警告。 [#162306](https://github.com/openclaw/openclaw/pull/162306)。感谢 [@steipete](https://github.com/steipete).
- 在父级结果批次中包含一个具有空最终回复的成功子级,保留其任务标识和明确的无输出结果,而不恢复旧文本或故意沉默的公告。 [#162542](https://github.com/openclaw/openclaw/pull/162542)。感谢 [@steipete](https://github.com/steipete).
- 保留委托的后续行动,直到处理他们的答案并恢复丢失的答案,而无需重复已完成的工具效果。 Doctor 使用其正常备份和验证路径删除已停用的 `silentReply.internal` 设置。取消工作上传还可以避免未处理的文件打开错误。 [#162567](https://github.com/openclaw/openclaw/pull/162567)。感谢 [@steipete](https://github.com/steipete).
- 当同级子任务一起完成时保留父级的唤醒,并防止延迟的结果读取覆盖较新的重试计时或计数。 [#162760](https://github.com/openclaw/openclaw/pull/162760)。感谢 [@VACInc](https://github.com/VACInc).
- 当保存的记录重复元数据字段时,保持紧凑的子代理列表与完整列表一致。 [#163135](https://github.com/openclaw/openclaw/pull/163135)。感谢 [@steipete](https://github.com/steipete).
- 当子完成与产量、暂停、取消或恢复重叠时保留父唤醒。 [#163195](https://github.com/openclaw/openclaw/pull/163195)。感谢 [@steipete](https://github.com/steipete).
- 当会话密钥重叠时,使用孩子记录的拥有代理进行后续、引导和取消。没有所有者的旧记录保留仅键匹配。 [#163282](https://github.com/openclaw/openclaw/pull/163282)。感谢 [@steipete](https://github.com/steipete).
- 允许完成的子清理在发起请求结束后通知其上下文引擎,并在清理失败时显示可读的编辑错误。 [#163331](https://github.com/openclaw/openclaw/pull/163331)。感谢 [@steipete](https://github.com/steipete).
- 当另一项普通任务在分娩前开始时,保留孩子完成的第一个答案,保留单独的答案。暂停的延续和转向保留其替换行为。 [#163352](https://github.com/openclaw/openclaw/pull/163352)。感谢 [@steipete](https://github.com/steipete).
- 当静默同级共享批次时交付所需的子结果,而仅静默工作可以完成清理,而无需启动不必要的父级回复。 [#163677](https://github.com/openclaw/openclaw/pull/163677)。感谢 [@steipete](https://github.com/steipete).
- 当另一个完成回调或较新的子运行拥有清理时,避免错误的浏览器清理失败。 [#163741](https://github.com/openclaw/openclaw/pull/163741)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在快速默认子跟进后抑制过时的暂停通知;稍后的后续采用将为原始请求者保留合格的答复。 [#163814](https://github.com/openclaw/openclaw/pull/163814)。感谢 [@steipete](https://github.com/steipete).
- 在子暂停之前接受一次合格的仍在运行的插件后续操作。暂停前完成的后续操作和采用前的重新启动仍不属于此修复范围。 [#164101](https://github.com/openclaw/openclaw/pull/164101)。感谢 [@steipete](https://github.com/steipete).
- 允许活动注册的可见和隐藏的本机子级等待传入消息。授权发件人必须提供延续,并且仍需要收集所需的后台结果。 [#164463](https://github.com/openclaw/openclaw/pull/164463)。感谢 [@steipete](https://github.com/steipete).
- 让排队的共享计算工作到达另一个符合条件的工作程序检查点,而不是重复定位等待主机响应的工作程序。 [#164537](https://github.com/openclaw/openclaw/pull/164537)。感谢 [@steipete](https://github.com/steipete).
- 在浏览器清理挂起时接受已完成的子级后续操作,以防止旧的清理接管替换。 [b725cc7](https://github.com/openclaw/openclaw/commit/b725cc7b27f64ae1b1cf72eccc0bd5959d982839)。感谢 [@steipete](https://github.com/steipete).
- 在交付准备期间,当不相关的簿记发生更改时,交付已完成的子结果,同时拒绝真正替换的答复。 [dab6c79](https://github.com/openclaw/openclaw/commit/dab6c7975c1969fbcf13d6614ba9a0ff00dca556)。感谢 [@steipete](https://github.com/steipete).
### Native 对话导入
您可以使用 **Import 到 OpenClaw** 或 `sessions import` CLI 在 OpenClaw 中保留本机工具对话的可读副本。当您使用相同的代理和完整源定位器时,重复导入会附加未见的项目。启用草稿时,新副本为 creator/admin-visible 草稿,否则应用配置的默认值。
导入需要可访问的源并复制文本,将本机文件和本机工具恢复与源一起保留。大型对话仅保留提供商和导入限制内的最新部分,并报告不完整的副本。使用一致的来源-主页选择以避免重复副本;一旦导入窗口填满,可以跳过没有稳定 ID 的相同项目。
来源和完整变更列表
- 通过 Control UI 或 `sessions import` 导入可访问的本机工具对话文本。重复导入会为同一代理和完整定位器附加未见过的项目,并带有不完整的副本报告以及记录的文本和项目限制。 [#161955](https://github.com/openclaw/openclaw/pull/161955)。感谢 [@steipete](https://github.com/steipete).
### 共享会话分配
渠道用户可以再次要求客服人员将可见工作会话分配给注册人员或配置的客服人员。这可以确定谁负责,而无需转移访问权限或凭据。使用“我”需要经过管理员验证的个人资料链接。
**将私人信息排除在受让人的个人指令之外。** 这些指令可应用于共享会话中其他参与者的后续轮次。
来源和完整变更列表
- 恢复代表非管理通道请求者的代理的可见会话分配。注册人员和配置的代理无需转移权限或凭证即可承担责任。 [#154239](https://github.com/openclaw/openclaw/pull/154239)。感谢 [@VACInc](https://github.com/VACInc)、[@steipete](https://github.com/steipete).
### 托管工作树
隐藏的本机子代理可以使用单独的 [ 管理的 Git 签出](/concepts/managed-worktrees) 并报告,而无需添加持久侧边栏会话。保留孩子保留其结帐;删除它会先保存快照。这些选项不支持 ACP 或隐藏云放置。
在验证首次安装后,符合条件的新专用 Docker 或 Podman 工作树可以重用 pnpm 依赖项。不支持或失败的准备会留下仅源签出,并且现有会话在锁定文件编辑后不会自动重新安装。缓慢的 Git 准备也可以使其分配保持活动状态,直到完成。
工作树创建使用正在运行的本地网关并需要 `operator.admin`。升级较旧的网关或停止它以使用支持的离线路径。 **如果创建结果不确定,请在重试之前检查`worktrees list --json`和存储库。**
来源和完整变更列表
- 为隐藏的本机子项提供单独的托管 Git 签出,而无需持久的侧边栏会话。 Keep保留结帐;删除在删除之前保存快照。 ACP 不支持这些工作树选项。 [#163124](https://github.com/openclaw/openclaw/pull/163124)。感谢 [@steipete](https://github.com/steipete).
- 在符合条件的新私有 Docker 或 Podman 结账中重新使用已验证的 pnpm 依赖项。第一代安装了它们;失败或不受支持的准备会退回到纯源文件。现有会话保持独立结账。 [#164517](https://github.com/openclaw/openclaw/pull/164517)。感谢 [@steipete](https://github.com/steipete).
- 通过使用 `operator.admin` 的经过身份验证的本地网关或通过支持的独占离线路径创建工作树。升级或停止旧网关,并在重试之前出现不确定结果后检查工作树列表和存储库。 [#163853](https://github.com/openclaw/openclaw/pull/163853)。感谢 [@steipete](https://github.com/steipete).
- 通过引导程序和沙箱准备协调同一本地工作区的进程内设置。取消或撤销的排队请求在创建文件之前停止;单独的目录保持独立。 [#164377](https://github.com/openclaw/openclaw/pull/164377)。感谢 [@steipete](https://github.com/steipete).
- 在缓慢的 Git 准备过程中保留分配更新。获取跳过内联自动维护,转为每小时清理或 `worktrees gc`,并具有 30 分钟的维护超时。 [#164521](https://github.com/openclaw/openclaw/pull/164521)。感谢 [@steipete](https://github.com/steipete).
- 在长时间工作树创建和恢复期间保持分配更新,同时推迟自动 Git 维护。 [b8f5fea](https://github.com/openclaw/openclaw/commit/b8f5feae579eda0d3a110345bdc6fa5680baf5fd)。
### 配对设备和远程工作空间
配对设备上的代理重新获得允许的 Web、内存、会话、安装技能和 GitHub 身份工具,同时文件和进程工作保留在设备上。较大的工具批量队列,浏览器或计算机访问取决于设备的功能。请参阅 [ 节点会话托管 ](/nodes/session-hosting) 和 [ 云工作人员指南 ](/gateway/cloud-workers)。
Windows 工作人员可以从深层嵌套存储库返回编辑,而受支持的 Linux 配对设备上已运行的工作人员花费更少的时间完成回复。 **更新本机节点主机以进行Linux改进;仅刷新工作程序包是不够的。** 回复仍等待保存的工作区更改并报告冲突或故障。当旧的远程工作无法确认停止时,替换工作将等待。
来源和完整变更列表
- 等待取消的远程工作完成输入的工作区更改和流程清理,然后再开始替换工作。未经确认的远程停止可能会让替代者等待。 [#161759](https://github.com/openclaw/openclaw/pull/161759)。感谢 [@RomneyDa](https://github.com/RomneyDa)、[@sallyom](https://github.com/sallyom)、[@steipete](https://github.com/steipete).
- 当主会话别名更改时,保留现有云工作人员的原始会话和工作区,消除恢复和停止失败的原因,同时新请求仍遵循当前别名。 [#163133](https://github.com/openclaw/openclaw/pull/163133)。感谢 [@steipete](https://github.com/steipete).
- 通过重用本机看门狗连接,减少受支持的 Linux 配对节点上的回复完成开销。更新本机节点主机;仅靠工作包刷新并不能启用它。 [#163866](https://github.com/openclaw/openclaw/pull/163866)。感谢 [@steipete](https://github.com/steipete).
- 为已运行的受支持的 Linux 配对节点工作线程重新使用空闲的本机助手。更新本机主机;最终答复仍等待保存的工作区协调并显示冲突或失败。 [#163954](https://github.com/openclaw/openclaw/pull/163954)。感谢 [@steipete](https://github.com/steipete).
- 当配对设备离线或会话托管被禁用时,暂停咨询磁盘探测和重复警告。保留其工作区和最后一个样本,然后在重新连接后在下一次计划的扫描中刷新。 [#164048](https://github.com/openclaw/openclaw/pull/164048)。感谢 [@jayzhou2309](https://github.com/jayzhou2309)、[@steipete](https://github.com/steipete)、[@wynxo](https://github.com/wynxo).
- 结果失去授权后拒绝云工作区上传,并等待本地恢复和任何开始的上传后再释放传输。 [#164104](https://github.com/openclaw/openclaw/pull/164104)。感谢 [@steipete](https://github.com/steipete).
- 在 Crabbox 设置期间与运行时安装重叠工作包下载,并在失败或取消时删除临时文件之前停止拥有的安装程序。 [#164187](https://github.com/openclaw/openclaw/pull/164187)。感谢 [@steipete](https://github.com/steipete).
- 将允许的网关 Web、内存、会话、已安装技能和 GitHub 身份工具恢复到节点托管代理。文件和进程工作保留在节点上,较大的工具批次队列和 browser/computer 工具依赖于放置功能。 [#164296](https://github.com/openclaw/openclaw/pull/164296)。感谢 [@steipete](https://github.com/steipete).
- Return Windows 工作人员使用命令范围的长路径支持从深度嵌套的 Git 存储库进行编辑。存储库保存的设置保持不变;其他 Git 客户端可能仍然需要自己的长路径设置。 [#164331](https://github.com/openclaw/openclaw/pull/164331)。感谢 [@steipete](https://github.com/steipete).
- 在工作区准备开始之前拒绝更改或丢失的工作会话目标。 [be13aee](https://github.com/openclaw/openclaw/commit/be13aeea2072f847b9a7810bd96631c60a957602)。感谢 [@steipete](https://github.com/steipete).
- 在准入和工具验证后加载远程转动运行时,避免为拒绝或取消的工作做准备。已验证的安装包括所需的拆分运行时文件。 [4aa24e3](https://github.com/openclaw/openclaw/commit/4aa24e3a1340cf17e0d661e87d35d7789948d76f)。感谢 [@steipete](https://github.com/steipete).
- 清理后显示worker的失败状态和恢复原因。工作器命令避免从临时本地状态读取秘密存储,而单独委托的 GitHub 凭据在提供时仍然可用。 [2e33b81](https://github.com/openclaw/openclaw/commit/2e33b81f2efa7d4b2a719640b58837fb02e1d814),[953f6b4b](https://github.com/openclaw/openclaw/commit/953f6b4b7a35914f9d742c99999293a0fc5f0e96)。感谢 [@steipete](https://github.com/steipete).
### Heap 和 CPU 配置文件
操作员可以捕获最多 15 分钟的仅实时 Node 网关堆样本,以调查捕获后幸存下来的新分配。包括已收集的对象可保持 30 秒的限制。堆和 CPU 配置文件现在可以识别没有 JavaScript 源的依赖包和框架,同时隐藏详细的路径、版本和函数名称。请参阅 [ 诊断指南 ](/gateway/diagnostics)。
来源和完整变更列表
- 允许最多 15 分钟的仅实时 Node 网关堆采样。包括由任一垃圾收集标志收集的对象都会保留 30 秒的上限;配置文件描述了捕获过程中进行的分配,这些分配在捕获结束时仍然保留。 [#163813](https://github.com/openclaw/openclaw/pull/163813)。感谢 [@steipete](https://github.com/steipete).
- 识别堆和 CPU 配置文件中没有 JavaScript 源的依赖包和框架,同时隐藏详细的依赖路径、版本和函数名称。 Package/native 标签更改编辑节点计数,并且本机标签不标识特定分配器。 [#163922](https://github.com/openclaw/openclaw/pull/163922)。感谢 [@steipete](https://github.com/steipete).
### 插件流量监控
Prometheus 和 OpenTelemetry 现在通过方法名称识别已注册的插件和辅助流量。 **更新仪表板查询,用于从 `other` 移动到命名方法的注册流量以及从 `unknown` 移动到 `other` 的通用流量。** 当其共享样本上限填满时,Prometheus 仍然可以删除新系列,并由删除系列计数器记录遗漏。
来源和完整变更列表
- 识别请求和计时指标中注册的插件和辅助方法。更新仪表板查询以查找已更改的标签;共享样本上限仍然可以掉落新系列并记录这些掉落。 [#164028](https://github.com/openclaw/openclaw/pull/164028)。感谢 [@steipete](https://github.com/steipete).
## 修复和改进
### 安装和入门
- 模型设置可让您更正错误的 LM Studio 或 llama.cpp 地址并继续。如果网关在 Web 设置期间重新启动,成功的设置刷新可以重新选择提供商或提供对已保存模型的验证。 **再次检查**重试失败的刷新;保存的模型仍需要验证。请参阅 [ 设置参考 ](/start/wizard-cli-reference)。
- 您可以使用引导式 `agents add` 在清理完成后使用复制的或新的登录凭据重新创建完全删除的代理。直接或在容器中启动网关还会检查另一个网关是否已经拥有其保存的数据,即使是在另一个端口上;启动可能会等待最多五分钟才能报告冲突。
- 如果替换登录失败,安装程序会在重新连接之前恢复以前的凭据。 Copilot 设置可以在同一主机域上重用授权保存的令牌或秘密引用;更改域名仍然需要重新登录。重新运行安装程序会保留可信代理登录,除非您明确更改它;将其与 Tailscale 漏斗结合会被拒绝,因此请选择密码登录或关闭公开曝光。
- 当使用新代码进行配对时,“移动设置”链接可与 [ 自定义 Web 界面路径 ](/gateway/config-gateway) 配合使用。受影响的客户端需要新代码并且必须重新配对。安装程序还以选定的简体或繁体中文显示其固定的欢迎和选择。
- 配置示例不再建议整个代理运行的意外十分钟限制。如果您将其复制到您的设置中,请 [ 删除或更改覆盖您自己的 ](/concepts/agent-loop#timeouts)。多代理示例现在解释了哪个代理拥有数据并接收每个对话。使用旧代理名册进行手动二进制升级后,在启动前运行 `openclaw doctor --fix`; [roster 迁移指南](/gateway/doctor/config-migrations#agent-roster-migration) 涵盖跨文件拆分的配置。
- 在 macOS 中安装 VM 对 [installer](/install/installer)、Node、npm 和 [VM 中的后台服务设置有更清晰的指导指南](https://github.com/openclaw/openclaw/blob/f05312877512a29b216ae233c4a2ee9f535b1f89/docs/install/macos-vm.md)。检查[节点平台要求](/install/node);报告的旧版 macOS 上的 CLI 操作不支持这些系统。没有 Corepack 的源安装使用结帐固定的 pnpm 版本。画布构建回退也会拒绝不完整的渲染器包。
- 可选的[macOS DNS指南](/cli/dns)解释了当Homebrew超时或终止时会发生什么。没有 Matrix 配置或旧 Matrix 数据的全新安装不再收到不相关的迁移警告。配置安装和不完整扫描保留 [ 迁移检查](/cli/doctor/state-migrations)。
来源和完整变更列表
- 通过引导式 `agents add`,使用复制的或新的登录凭据,使用之前的 ID 重新创建完全删除的代理。当删除清理挂起时,娱乐活动仍然被阻止。 [#143991](https://github.com/openclaw/openclaw/pull/143991),感谢 [@Giannoulakos](https://github.com/Giannoulakos)、[@ioannis-giannoulakos](https://github.com/ioannis-giannoulakos)、[@steipete](https://github.com/steipete) 和[@Arslan-Mehmood1](https://github.com/Arslan-Mehmood1).
- 配置示例意外地取消了整个代理运行的 600 秒限制。现有复制的配置需要手动更改,并且运行时默认值不变。 [#158513](https://github.com/openclaw/openclaw/pull/158513),感谢 [@HunterStile](https://github.com/HunterStile)、[@100yenadmin](https://github.com/100yenadmin) 和 [@obviyus](https://github.com/obviyus).
- 直接启动网关或在容器中启动网关现在可以防止第二个实例共享正在运行的网关已拥有的状态,即使在另一个端口上也是如此。 Startup 在报告冲突之前最多可以等待五分钟。 [#160193](https://github.com/openclaw/openclaw/pull/160193),感谢 [@steipete](https://github.com/steipete)、[@grtninja](https://github.com/grtninja) 和 [@R3NK0R](https://github.com/R3NK0R).
- 新的macOS VM指南使用现有安装程序提供Node和npm,然后指导您使用Ctrl+C停止前台网关,运行`openclaw gateway install`,并在无头设置之前检查状态。 [#160239](https://github.com/openclaw/openclaw/pull/160239),感谢[@samadarsh](https://github.com/samadarsh).
- 不带 Corepack 的源安装说明现在选择由结帐固定的 pnpm 版本,在安装前删除其完整性后缀。所需的安装脚本和可选的依赖项仍然是说明的一部分。 [#160513](https://github.com/openclaw/openclaw/pull/160513),感谢[@Irish-Joseph](https://github.com/Irish-Joseph).
- 更正 Web 或终端设置中无效的本地模型服务器地址。 LM Studio 和外部 llama.cpp 地址接受 HTTP 或 HTTPS,无需嵌入凭据,并且速记地址仍然有效。 [#160720](https://github.com/openclaw/openclaw/pull/160720),感谢[@steipete](https://github.com/steipete).
- 可选 macOS DNS 设置解释其 Homebrew- 前缀查找何时达到现有的 15 秒超时或终止。这些消息澄清了失败的步骤,而不添加新的超时。 [#160797](https://github.com/openclaw/openclaw/pull/160797),感谢 [@ericcurtin](https://github.com/ericcurtin) 和 [@steipete](https://github.com/steipete).
- 当正常的源构建回退到预构建的 Canvas 资源时,它现在会拒绝不完整的渲染器集,而不是接受缺少所需版本的包。 [#161390](https://github.com/openclaw/openclaw/pull/161390),感谢[@steipete](https://github.com/steipete).
- 新的移动 QR 和设置代码在设置和加入地址中保留 Control UI 安装路径,修复返回 404 的设置链接。受影响的客户端需要新代码并且必须重新配对。 [#161620](https://github.com/openclaw/openclaw/pull/161620),感谢 [@Marvinthebored](https://github.com/Marvinthebored)、[@Peetiegonzalez](https://github.com/Peetiegonzalez) 和 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 设置欢迎和选项遵循您选择的简体中文或繁体中文,即使它与浏览器语言不同或翻译仍在加载。 [#162913](https://github.com/openclaw/openclaw/pull/162913),感谢[@steipete](https://github.com/steipete).
- macOS 文档将 Node 的官方 macOS 13.5 构建目标与报告的 CLI 和 macOS 12 上的网关操作与 Node 24 区分开来。 macOS 仍然不受支持和未经测试,本机二进制文件和应用程序有单独的要求。 [#163324](https://github.com/openclaw/openclaw/pull/163324),感谢 [@NovaUnboundAi](https://github.com/NovaUnboundAi)、[@xXG0DLessXx](https://github.com/xXG0DLessXx) 和 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 多代理文档使用正确的配置形式并使所有权和路由明确。如果您在保留旧配置的同时手动替换二进制文件,请在启动前运行 `openclaw doctor --fix`。正常更新已通过其备份流程运行 Doctor。 [#163475](https://github.com/openclaw/openclaw/pull/163475),感谢[@steipete](https://github.com/steipete).
- Web 模型设置可以在网关重新启动后通过成功刷新保存的设置来恢复。保存的模型在继续之前需要显式验证。如果刷新失败,设置防护将保持原位并提供 **再次检查**。 [#164602](https://github.com/openclaw/openclaw/pull/164602),感谢[@steipete](https://github.com/steipete).
- 当 Matrix 未配置且完整扫描未发现旧状态时, 全新安装可避免不相关的 Matrix 迁移工作。配置的 Matrix 安装和不完整扫描保留迁移检查。 [#165209](https://github.com/openclaw/openclaw/pull/165209),感谢[@steipete](https://github.com/steipete).
- 如果替换登录凭据无法激活,则在重新连接之前将恢复之前保存的凭据。 [cd75f44](https://github.com/openclaw/openclaw/commit/cd75f44f9cd3fb2476beb313f87d8b8acd50f2f5),感谢[@steipete](https://github.com/steipete).
- 交互式 Copilot 安装程序可识别已为同一主机域授权的已保存令牌或秘密引用。秘密引用保留引用,更改域需要重新登录。 [332e4d3](https://github.com/openclaw/openclaw/commit/332e4d3ec02df53b18003155fe44a0a102b383e1),感谢[@steipete](https://github.com/steipete).
- Setup 重新运行会保留可信代理登录及其信任策略,除非您明确更改它们。完成检查使用配置的本地网关及其本地密码,保留秘密引用。在重写策略之前,不兼容的 Tailscale 漏斗选择被拒绝。 [1f74f3c](https://github.com/openclaw/openclaw/commit/1f74f3cf39b065f89a4b5bffc63e5d9dd53fcc92),感谢 [@wangmiao0668000666](https://github.com/wangmiao0668000666) 和 [@steipete](https://github.com/steipete).
### Web UI
- 组织聊天可以使列表与您的操作保持一致。自定义组在 `/new` 和 `/reset` 中保留,标记聊天已读不会将其在列表中向上移动,并且确认的存档、恢复或撤消会立即出现。侧边栏重置可恢复显示设置和过滤器,并且当配置文件或连接发生更改时,标题会删除过时的装饰。
- 短聊天窗格使“发送”和“停止”触手可及,受限草稿保留其文本和附件。相机预览失败后,相机操作仍可用;确认组合字符不再发送或保存受影响的草稿。评论编辑器在滚动时保持可读性,已完成的工作使其小部件保持有序,保存的安全拒绝解释了部分答案停止的原因。
- 打开和导航长聊天需要更少的重复下载、历史记录和布局工作,同时保持阅读位置和停止可用。重新启动后,正常代理准备会显示正在启动,并在准备好时加载聊天和侧边栏数据。重新连接突发优先建立连接,因此初始会话列表可能需要更长的时间。保留文件被修剪的旧选项卡需要重新加载。受限容器部署需要安装或构建修复的映像以应用整个 UI 503 修复。
- **工作区文件夹:** 工作区视图打开准备好的签出并保留无效的文件夹文本以供更正。本机 Windows 工作区创建可处理更深的存储库,但仍存在跨驱动器和深度引用限制。
- **浏览器终端:** 浏览器终端保留挂起的输出,等待重叠关闭完成后再重新打开,并通告支持的 RGB 颜色。
- **Widgets:** 小部件遵循支持的主题,让滚动继续进入聊天并保持浏览器停靠栏旁边的控件可用。
- **视频预览:** 新的视频预览可以在播放前下载媒体。
- Tool 活动命名运行的工具并显示它是否仍在运行、已完成或具有未知结果。活动还可以更正时间范围总计、屏幕截图条和过滤器;分配菜单提供了一份可搜索的已加载人员和代理列表,并提及收件箱失败按计划重试。符合条件的活动更改会立即从会话事件中显示,但紧凑列表在模型更改后仍可以保留一些先前模型的详细信息。
- **模型选择:** 选择模型立即集中搜索,保持长选择可读并区分配置的 Codex 替代方案。
- **Credentials:** 新凭证字段接受完整屏蔽值,同时存储的经过编辑的机密仍受到保护。
- **首选项编辑:** 仅首选项编辑可避免在加载和保存之间到达插件默认值时不必要的重新启动。
- **浏览器和客户端更新:** 7月1日之前保存的浏览器选择需要重新选择,并保留对话;不受支持的 v2026.6.1 Web 客户端需要受支持的客户端。
- **社区邀请:**社区邀请现在提供Reddit、Discord和X,并且可能在较早的解雇后出现一次;选择退出和后来的解雇仍然受到尊重。
来源和完整变更列表
- 自定义工作区组默认显示所需的管理员访问权限,并在文件夹检查失败后提供重试。保存仍然需要许可和成功的检查。 [#139024](https://github.com/openclaw/openclaw/pull/139024)。感谢 [@LiuwqGit](https://github.com/LiuwqGit)、[@hewal-dev](https://github.com/hewal-dev) 和 [@obviyus](https://github.com/obviyus).
- 长模型名称会包裹在模型菜单中,而关闭的选择器则保持在一行上。 [#150464](https://github.com/openclaw/openclaw/pull/150464)。感谢 [@SunnyShu0925](https://github.com/SunnyShu0925)、[@dh-js](https://github.com/dh-js) 和 [@obviyus](https://github.com/obviyus).
- Sessions 在其有效设置未更改时避免不必要的刷新。改变的值和解决的秘密仍然会刷新它们。 [#155300](https://github.com/openclaw/openclaw/pull/155300)。感谢 [@azuretek](https://github.com/azuretek)、[@obviyus](https://github.com/obviyus)、[@VACInc](https://github.com/VACInc) 和 [@jbfranklin](https://github.com/jbfranklin).
- 粘贴文本和分组评论附件在可见对话附近或聚焦时加载,在其详细信息到达时保持键盘焦点。 [#156277](https://github.com/openclaw/openclaw/pull/156277)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 简体中文显示审批、遥测和云工作人员的现有翻译。 [#157414](https://github.com/openclaw/openclaw/pull/157414)。感谢 [@chaitongxue](https://github.com/chaitongxue).
- 浏览器底座和嵌入式面板共享页面空间,无需竞争布局。 [面板指南](/web/control-ui/panels)。 [#157533](https://github.com/openclaw/openclaw/pull/157533)。感谢 [@sonofakel](https://github.com/sonofakel) 和 [@obviyus](https://github.com/obviyus).
- 阅读对话会清除其未读标记,但不会使其更新。将其标记为未读仍然可以更改其位置。 [#158577](https://github.com/openclaw/openclaw/pull/158577)。感谢 [@sxh313](https://github.com/sxh313)、[@hannesrudolph](https://github.com/hannesrudolph) 和 [@obviyus](https://github.com/obviyus).
- 上下文使用警告将估计值标记为近似值。 [#159549](https://github.com/openclaw/openclaw/pull/159549)。感谢 [@steipete](https://github.com/steipete).
- 检查未决问题可以避免重新读取无法包含该问题的历史记录。 [#159556](https://github.com/openclaw/openclaw/pull/159556)。感谢 [@Marvinthebored](https://github.com/Marvinthebored) 和 [@Peetiegonzalez](https://github.com/Peetiegonzalez).
- 启用的侧边栏进度可以在第二行显示工具图标,同时保留可读的活动文本和可访问的名称。 [#160066](https://github.com/openclaw/openclaw/pull/160066)。感谢 [@steipete](https://github.com/steipete).
- 拆分仪表板小部件使用一个全角标题,并在任务菜单中提供调整大小控件。 [#160117](https://github.com/openclaw/openclaw/pull/160117)。感谢 [@steipete](https://github.com/steipete).
- Cold 远程对话可以更早地显示文字记录,并且允许的图标重用可以避免在当前凭据内重复下载。 [#160293](https://github.com/openclaw/openclaw/pull/160293)。感谢 [@steipete](https://github.com/steipete).
- Use 设备摄像头在预览被拒绝或失败后仍然可用,以便浏览器可以处理另一次摄像头尝试。 [#160359](https://github.com/openclaw/openclaw/pull/160359)。感谢 [@steipete](https://github.com/steipete).
- 选定文本注释引脚可避免当新内容流低于其源时不必要的重新定位。 [#160799](https://github.com/openclaw/openclaw/pull/160799)。感谢 [@steipete](https://github.com/steipete).
- 大侧边栏避免了在活动字幕不断刷新的同时重复进行不相关的更新工作。 [#160876](https://github.com/openclaw/openclaw/pull/160876)。感谢 [@steipete](https://github.com/steipete) 和 [@jalehman](https://github.com/jalehman).
- 新频道对话保留共享所有者字段的已知发件人名称。较旧的对话和失踪的名字保留了现有的后备。 [#160923](https://github.com/openclaw/openclaw/pull/160923)。感谢 [@stevenlee-oai](https://github.com/stevenlee-oai).
- 主题感知内联小部件可以遵循其小部件主题消息支持的暗模式。 [#160940](https://github.com/openclaw/openclaw/pull/160940)。感谢 [@steipete](https://github.com/steipete).
- 导航栏使用配置的代理身份,当其名称为空时具有通用后备。 [#160941](https://github.com/openclaw/openclaw/pull/160941)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 中断的提供商登录会关闭其保留的空白选项卡并解释重新连接或启动超时。再次检查处理结果不再已知的登录。 [#160954](https://github.com/openclaw/openclaw/pull/160954)。感谢 [@obviyus](https://github.com/obviyus).
- A 受限作曲家解释了无法发送的原因并保留其草稿和附件。排队发送重新检查相关代理的访问权限。 [#160977](https://github.com/openclaw/openclaw/pull/160977)。感谢 [@stevenlee-oai](https://github.com/stevenlee-oai).
- 主机信息视图避免未经授权的请求并废弃过时的结果。当帐户缺乏访问权限时,主机统计信息将保持不可用。 [#160982](https://github.com/openclaw/openclaw/pull/160982)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 具有门户读取权限的帐户可以打开面板,而预览则需要写入权限。没有读取权限的帐户会看到访问说明。 [#160984](https://github.com/openclaw/openclaw/pull/160984)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 聚焦嵌入式仪表板会关闭收件箱,而不会获得焦点或丢弃笔记。普通的窗户模糊使其保持打开状态。 [#160997](https://github.com/openclaw/openclaw/pull/160997)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 滚动到最新显示悬停反馈。 [#161009](https://github.com/openclaw/openclaw/pull/161009)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- Review 和文件在第一次运行期间遵循新准备的签出,在同一工作区刷新时保留现有差异,并且在准备挂起时不显示任何更改。 [#161010](https://github.com/openclaw/openclaw/pull/161010)。感谢 [@steipete](https://github.com/steipete).
- Activity 屏幕截图条使用可下载的图像,在刷新期间保留其布局,并在远程图像失败时显示不可用的图块。大图像需要可访问的下载参考。 [#161021](https://github.com/openclaw/openclaw/pull/161021)。感谢 [@steipete](https://github.com/steipete).
- 基于 Bun- 的网关在启动期间重复使用其状态读取器,以减少可能延迟登录和对话列表的拥塞。 [#161040](https://github.com/openclaw/openclaw/pull/161040)。感谢 [@steipete](https://github.com/steipete).
- 活动总数使用完整的匹配时间范围,包括超出显示列表的会话。历史图表显示最近十二个月的活动。 [#161060](https://github.com/openclaw/openclaw/pull/161060)。感谢 [@steipete](https://github.com/steipete).
- Channel `/new` 和 `/reset` 保留自定义对话组。 [#161066](https://github.com/openclaw/openclaw/pull/161066)。感谢 [@jayzhou2309](https://github.com/jayzhou2309)、[@catnipluss](https://github.com/catnipluss) 和 [@obviyus](https://github.com/obviyus).
- “正在应用”指示器在设置页面完成加载之前会显示动画。 [#161102](https://github.com/openclaw/openclaw/pull/161102)。感谢 [@steipete](https://github.com/steipete).
- 短聊天窗格和已安装的应用程序画布使编辑器和发送或停止控件保持可用。非常短的窗格可能会隐藏文字记录以腾出空间。 [#161134](https://github.com/openclaw/openclaw/pull/161134)。感谢 [@hxy91819](https://github.com/hxy91819).
- 确认组合字符可防止聊天草稿、注释和重命名输入作用于同一 Enter 键。 [#161302](https://github.com/openclaw/openclaw/pull/161302)。感谢 [@NianJiuZst](https://github.com/NianJiuZst)、[@obviyus](https://github.com/obviyus) 和 [@stbtyx747](https://github.com/stbtyx747).
- 悬停在“分配给”控件上的 Enter 会使人员菜单保持打开状态,而不是将会话分配给您自己。 [多用户指南](/concepts/multi-user)。 [#161393](https://github.com/openclaw/openclaw/pull/161393)。感谢 [@steipete](https://github.com/steipete).
- 网关、配置文件或连接更改后,对话链接会丢弃旧的或最新的标题,而底层链接仍然可用。 [#161433](https://github.com/openclaw/openclaw/pull/161433)。感谢 [@steipete](https://github.com/steipete).
- 侧边栏重置可恢复可见的显示设置以及过滤器,同时保留隐藏的所有代理首选项。 [#161437](https://github.com/openclaw/openclaw/pull/161437)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 新对话可避免在父对话丢失时重复后台读取,同时及时显示新行和斜线命令。 [#161442](https://github.com/openclaw/openclaw/pull/161442)。感谢 [@steipete](https://github.com/steipete).
- 要素参考导航恢复其现有锚点并删除已停用的任务条目。 [#161453](https://github.com/openclaw/openclaw/pull/161453)。感谢 [@steipete](https://github.com/steipete).
- 折叠已完成的工作使小部件和浏览器预览保持其执行顺序。 [#161473](https://github.com/openclaw/openclaw/pull/161473)。感谢 [@steipete](https://github.com/steipete).
- 确认非Git文件夹隐藏签出控件,从云或设备存储切换到本地不会带来强制隔离。失败的 Git 检查需要在创建之前成功重试。 [#161475](https://github.com/openclaw/openclaw/pull/161475)。感谢 [@steipete](https://github.com/steipete).
- 对话图像预览获得跟随主题的微弱边框。 [#161478](https://github.com/openclaw/openclaw/pull/161478)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 系统和危险通知在桌面和触摸对话中具有平衡的间距。 [#161479](https://github.com/openclaw/openclaw/pull/161479)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- Chat 活动在悬停时或通过辅助技术使用具有确切名称的工具图标,而扩展则保留了详细信息和结果。 [#161483](https://github.com/openclaw/openclaw/pull/161483)。感谢 [@steipete](https://github.com/steipete).
- 权限选择器使用带有命名菜单、工具提示和可访问标签的紧凑图标。 [#161484](https://github.com/openclaw/openclaw/pull/161484)。感谢 [@steipete](https://github.com/steipete).
- Open 人员卡最多保留三个已加载的可访问对话链接,在时间和状态更新时保持目标稳定。在重新打开卡之前,删除的条目不会重新填充。 [#161493](https://github.com/openclaw/openclaw/pull/161493)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- 仅屏幕截图回顾更新不再留下误导性的省略消息通知。真正省略的消息仍然会显示该通知。 [#161518](https://github.com/openclaw/openclaw/pull/161518)。感谢 [@steipete](https://github.com/steipete).
- 分配失败显示网关错误,并且在选择器中检查并禁用当前所有者。 [#161562](https://github.com/openclaw/openclaw/pull/161562)。感谢 [@steipete](https://github.com/steipete).
- Eligible同源HTTPS仍然截图可以使用较小的预览,同时打开保留原始。动画图像和失败或较大的转换会保留原始预览。 [#161602](https://github.com/openclaw/openclaw/pull/161602)。感谢 [@steipete](https://github.com/steipete).
- 短历史记录页面避免解析已索引的旧消息。 [#161638](https://github.com/openclaw/openclaw/pull/161638)。感谢 [@steipete](https://github.com/steipete).
- 初始 Control UI 加载会减少 JavaScript 请求,打开时可以使用远程桌面。 [#161648](https://github.com/openclaw/openclaw/pull/161648)。感谢 [@steipete](https://github.com/steipete).
- 登录启动可避免过早登录下载和重复匹配的自我头像请求。身份验证拒绝仍会加载登录视图。 [#161649](https://github.com/openclaw/openclaw/pull/161649)。感谢 [@steipete](https://github.com/steipete).
- GitHub 悬停卡限制了其上游等待,并且可以省略可选的图片或合著者。缓慢的所需信息提供了可重试的不可用结果;部分卡可能需要刷新。 [GitHub 指南](/plugins/github)。 [#161653](https://github.com/openclaw/openclaw/pull/161653)。感谢 [@steipete](https://github.com/steipete).
- 分支统计信息包括名称以空格开头的未跟踪文本文件。 [#161723](https://github.com/openclaw/openclaw/pull/161723)。感谢 [@steipete](https://github.com/steipete).
- 返回实时活动可恢复活动工具过滤器,包括在旧的未选择工具消失之后。 [#161860](https://github.com/openclaw/openclaw/pull/161860)。感谢 [@steipete](https://github.com/steipete).
- IP- 位置标签在其组件返回时恢复,忽略后期分离的结果并在地址消失时清除。 [#161911](https://github.com/openclaw/openclaw/pull/161911)。感谢 [@steipete](https://github.com/steipete).
- 通过大型名册进行切换可以避免对普通和恢复的对话进行不必要的存档查找。 [#161995](https://github.com/openclaw/openclaw/pull/161995)。感谢 [@steipete](https://github.com/steipete).
- 长聊天本地保存减少了重复序列化,并在可用时使用空闲时间,并立即保存生命周期更改。 [#162004](https://github.com/openclaw/openclaw/pull/162004)。感谢 [@steipete](https://github.com/steipete).
- Live 对话更新避免了不相关的显示刷新等待。慢订阅获得 [ 诊断阶段日志 ](/gateway/logging)。范围恢复检查允许 [Windows 更新清理](/cli/update/how-updates-run) 在中断后继续进行;它无法修复已经正在进行的旧更新。 [#162013](https://github.com/openclaw/openclaw/pull/162013)。感谢 [@steipete](https://github.com/steipete).
- 在加载的长对话中键入、流式传输和滚动可避免重复的历史记录处理。 [#162035](https://github.com/openclaw/openclaw/pull/162035)。感谢 [@steipete](https://github.com/steipete).
- 大型会话视图和长时间聊天减少了重复的本地运行检查和保存的流选择,同时保持停止可用。 [#162092](https://github.com/openclaw/openclaw/pull/162092)。感谢 [@steipete](https://github.com/steipete).
- 确认存档、恢复和撤消立即更新加载的侧边栏,无需等待单独的事件或页面重新加载。 [#162208](https://github.com/openclaw/openclaw/pull/162208)。感谢 [@steipete](https://github.com/steipete).
- 当提供两个运行时时,模型选择将使用 codex 后缀来区分已配置的 Codex 替代方案。单个运行时保留其普通标签。 [模型指南](/concepts/models)。 [#162292](https://github.com/openclaw/openclaw/pull/162292)。感谢 [@steipete](https://github.com/steipete).
- 打开 Control UI 不再在需要之前下载尽可能多的审阅显示代码。 [#162294](https://github.com/openclaw/openclaw/pull/162294)。感谢 [@steipete](https://github.com/steipete).
- 系统繁忙扩展和最小化动画在不相关的更新中幸存下来,并且仍然响应实际大小的变化。 [#162315](https://github.com/openclaw/openclaw/pull/162315)。感谢 [@steipete](https://github.com/steipete).
- 当前缀包含标点符号时,对话标题不再获得重复翻译的前缀,并且隐藏前缀也有效。 [#162331](https://github.com/openclaw/openclaw/pull/162331)。感谢 [@steipete](https://github.com/steipete).
- Cmd+K(Apple 设备上)或 Ctrl+K(其他位置)从普通聊天仪表板小部件打开命令选项板。转义返回相同的输入、插入符和草稿。 [#162369](https://github.com/openclaw/openclaw/pull/162369)。感谢 [@vyctorbrzezowski](https://github.com/vyctorbrzezowski).
- Cold 新会话加载会下载较少的初始 JavaScript 并发出较少的请求。 [#162382](https://github.com/openclaw/openclaw/pull/162382)。感谢 [@steipete](https://github.com/steipete).
- 现有翻译涵盖导入结果、对工作区外部文件夹的管理员访问权限以及目录检查指南。 [#162451](https://github.com/openclaw/openclaw/pull/162451)。
- Saved OpenAI 仅包含旧代码的安全拒绝现在在部分答案旁边显示其解释和指导。 [#162469](https://github.com/openclaw/openclaw/pull/162469)。感谢 [@steipete](https://github.com/steipete).
- 在应答之前停止的符合条件的网络聊天尝试可以在同一对话中进行一次恢复尝试。失败留下重试指导;个人或工作区技能写入权限需要新的用户消息。 [队列和恢复指南](/concepts/queue)。 [#162490](https://github.com/openclaw/openclaw/pull/162490)。感谢 [@obviyus](https://github.com/obviyus).
- 浏览器终端保留其挂起的输出并报告原始清理错误。 [#162520](https://github.com/openclaw/openclaw/pull/162520)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- Chat 控件和查看者头像避免了冗余更新,而真实内容、访问和状态更改仍会刷新它们。 [#162536](https://github.com/openclaw/openclaw/pull/162536)。感谢 [@steipete](https://github.com/steipete).
- Tooltips 在首次使用时创建弹出窗口并重复使用它,同时保持键盘焦点和可访问的描述可用。 [#162539](https://github.com/openclaw/openclaw/pull/162539)。感谢 [@steipete](https://github.com/steipete).
- 大型对话和列表可以避免不必要的样式工作,并在屏幕外标签首次可见时对其进行测量。 [#162589](https://github.com/openclaw/openclaw/pull/162589)。感谢 [@steipete](https://github.com/steipete).
- 切换、滚动和调整聊天大小可以避免重复的布局工作,同时保留阅读位置和结束锚定。 [#162617](https://github.com/openclaw/openclaw/pull/162617)。感谢 [@steipete](https://github.com/steipete).
- 同时客户端对于设置和会话请求具有更多有限的等待能力。过载的网关仍然可以拒绝请求。 [#162668](https://github.com/openclaw/openclaw/pull/162668)。感谢 [@steipete](https://github.com/steipete).
- 如果原始尝试和恢复尝试在输出之前都停止,请重试返回而不是让对话卡住。 [#162713](https://github.com/openclaw/openclaw/pull/162713)。感谢 [@obviyus](https://github.com/obviyus).
- Codex 推理和压缩活动不再显示为空的已完成工具卡。真正的工具活动仍然可见。 [#162758](https://github.com/openclaw/openclaw/pull/162758)。感谢 [@jayzhou2309](https://github.com/jayzhou2309)、[@DarkJuanFra](https://github.com/DarkJuanFra) 和 [@obviyus](https://github.com/obviyus).
- 首次开放批准避免了初始化不相关的聊天和编辑工作。 [#162808](https://github.com/openclaw/openclaw/pull/162808)。感谢 [@steipete](https://github.com/steipete).
- 打开模型选择器可以集中搜索,而不会影响未发送的对话草稿。 [#162832](https://github.com/openclaw/openclaw/pull/162832)。感谢 [@eleqtrizit](https://github.com/eleqtrizit).
- 本地工作区图标无需打开聊天即可加载,并且可以在缓存驱逐后恢复,在有限重试后回退到文件夹图标。 [#162885](https://github.com/openclaw/openclaw/pull/162885)。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 屏幕外边栏指示器在会话继续工作时暂停其动画。 [#162905](https://github.com/openclaw/openclaw/pull/162905)。感谢 [@steipete](https://github.com/steipete).
- 启动后第一个存储的对话可以更快加载。 [#162936](https://github.com/openclaw/openclaw/pull/162936)。感谢 [@steipete](https://github.com/steipete).
- 仅会话用户可以避免目录权限错误,并且撤销或延迟的目录结果不再显示为当前结果。 [#162944](https://github.com/openclaw/openclaw/pull/162944)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- GitHub 图标位于窄且从右到左布局中的第一行包装标签旁边。 [#163047](https://github.com/openclaw/openclaw/pull/163047)。感谢 [@steipete](https://github.com/steipete).
- H隐藏的保留聊天窗格会暂停更新并在返回时应用它们,而可见的拆分窗格则继续更新。 [#163073](https://github.com/openclaw/openclaw/pull/163073)。感谢 [@steipete](https://github.com/steipete).
- 7 月 1 日之前保存的浏览器选择需要重新选择,并保留对话。仅旧令牌不会恢复为凭证。 [#163083](https://github.com/openclaw/openclaw/pull/163083)。感谢 [@steipete](https://github.com/steipete).
- 较旧的打开选项卡在网关重新启动后等待保留的 UI- 文件清单。文件已被删除的选项卡仍需要重新加载。 [#163090](https://github.com/openclaw/openclaw/pull/163090)。感谢 [@steipete](https://github.com/steipete).
- Retained UI 构建避免存储压缩的重复项,使早期选项卡在现有的三代和 96 MiB 限制内可用。早期版本的下载使用较大的未压缩文件。 [#163099](https://github.com/openclaw/openclaw/pull/163099)。感谢 [@steipete](https://github.com/steipete).
- 社区邀请链接到Reddit、Discord和X,并续订一次旧的解雇。当浏览器存储可用时,将保留新的解雇,并且遵守选择退出设置。 [#163109](https://github.com/openclaw/openclaw/pull/163109)。感谢 [@hannesrudolph](https://github.com/hannesrudolph) 和 [@steipete](https://github.com/steipete).
- 重新启动后的第一个浏览器连接避免了较繁重的启动调度准备。 [#163173](https://github.com/openclaw/openclaw/pull/163173)。感谢 [@steipete](https://github.com/steipete).
- 现有翻译涵盖模型连接、帐户和计费控制。 [#163176](https://github.com/openclaw/openclaw/pull/163176)。
- A 失败提及收件箱刷新在一分钟后重试,而不是等待遥远的到期。 [#163229](https://github.com/openclaw/openclaw/pull/163229)。感谢 [@steipete](https://github.com/steipete).
- 无效相对文件夹路径上的 Enter 会保留输入和列表,同时保持该路径不可选择。 [#163284](https://github.com/openclaw/openclaw/pull/163284)。感谢 [@steipete](https://github.com/steipete).
- Review 在其选项卡不存在时保持卸载状态,而现有的隐藏“审阅”选项卡保留其内容。 [#163346](https://github.com/openclaw/openclaw/pull/163346)。感谢 [@steipete](https://github.com/steipete).
- Notification 设置在网关请求线程上执行的数据库准备工作较少,在挂起的订阅更改继续之前完成保存。 [#163355](https://github.com/openclaw/openclaw/pull/163355)。感谢 [@steipete](https://github.com/steipete).
- 新凭证字段接受完整屏蔽值并接收焦点。以前编辑的秘密和结构化秘密引用仍然受到保护,并且不能以这些形式替换。 [#163487](https://github.com/openclaw/openclaw/pull/163487)。感谢 [@ericcurtin](https://github.com/ericcurtin)、[@jonathanlindsay](https://github.com/jonathanlindsay) 和 [@obviyus](https://github.com/obviyus).
- 配对的Codex断开连接保持指导以开始新的尝试。 [放置指南](/plugins/codex-harness/placement)。 [#163515](https://github.com/openclaw/openclaw/pull/163515)。感谢 [@vincentkoc](https://github.com/vincentkoc) 和 [@RomneyDa](https://github.com/RomneyDa).
- Tool 卡将未完成的工作与报告的成功、失败或中断区分开来,包括识别的等待和匹配的代理完成事件。未知的结果仍然未知。 [#163545](https://github.com/openclaw/openclaw/pull/163545)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- Reconnect 突发优先考虑连接握手和传播重试,这可能会使第一个会话列表需要更长时间才能到达。 [#163714](https://github.com/openclaw/openclaw/pull/163714)。感谢 [@steipete](https://github.com/steipete).
- 社区邀请函使用主题明暗艺术作品,并标记为 Reddit、Discord 和带有较大触摸目标的 X 控件。 [#163734](https://github.com/openclaw/openclaw/pull/163734)。感谢 [@hannesrudolph](https://github.com/hannesrudolph).
- 社区邀请会在现有翻译的区域设置中刷新其副本。 [#163738](https://github.com/openclaw/openclaw/pull/163738)。感谢 [@hannesrudolph](https://github.com/hannesrudolph).
- 内联小部件内未使用的垂直滚动会传递到聊天。新的视频指南可以在播放前加载预览,因此可以提前下载媒体。 [#163762](https://github.com/openclaw/openclaw/pull/163762)。感谢 [@steipete](https://github.com/steipete).
- 并发对话历史记录读取在网关请求线程上做的准备工作较少。本地终端启动还避免了身份验证读取器维护竞争。 [#163771](https://github.com/openclaw/openclaw/pull/163771)。感谢 [@steipete](https://github.com/steipete).
- 添加到聊天评论编辑器在桌面和移动设备创建或编辑视图中滚动时保持可读性。 [聊天指南](/web/control-ui/chat)。 [#163772](https://github.com/openclaw/openclaw/pull/163772)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- “执行权限”标题与“了解更多”分开,因此单击该标题会使菜单保持打开状态。 [权限模式](/gateway/permission-modes)。 [#163776](https://github.com/openclaw/openclaw/pull/163776)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- Tool 搜索活动卡显示实际调用的工具及其查询、文件或命令,而不仅仅是调度程序。 [#163829](https://github.com/openclaw/openclaw/pull/163829)。感谢 [@steipete](https://github.com/steipete).
- Session 状态和工作板摘要接受以普通或 JSON 代码块封装的有效观察者回复,同时拒绝格式错误的内容。 [#163878](https://github.com/openclaw/openclaw/pull/163878)。感谢 [@steipete](https://github.com/steipete).
- 调整聊天大小可避免冗余重绘,同时保留滚动锚定和隐藏窗格几何形状。 [#163898](https://github.com/openclaw/openclaw/pull/163898)。感谢 [@steipete](https://github.com/steipete).
- 格式错误的终端附件会释放其侦听器,斜杠命令会保留其提供的帮助文本,并且当浏览器支持加密但缺少 UUID 帮助程序时,MCP 安装程序可以继续。 [#164011](https://github.com/openclaw/openclaw/pull/164011)。感谢 [@steipete](https://github.com/steipete).
- 终端保持关闭状态,直到重叠关闭等待全部结束,从而防止部分或重复释放提前重新打开它。 [#164014](https://github.com/openclaw/openclaw/pull/164014)。感谢 [@steipete](https://github.com/steipete).
- Avatar 查找因临时主要 Gravatar 错误而停止,并在确定未命中后尝试辅助地址。不受支持的 v2026.6.1 Control UI 客户端需要受支持的客户端,因为已删除已停用的配置路由。 [迁移指南](/gateway/doctor/config-migrations)。 [#164022](https://github.com/openclaw/openclaw/pull/164022)。感谢 [@steipete](https://github.com/steipete).
- PR 预览重用未更改的签出信息,而选定的引用、暂存、配置和祖先更改在下次读取时仍然可见。仅未暂存的计数可以保持陈旧状态五分钟,包括刷新后。 [#164035](https://github.com/openclaw/openclaw/pull/164035)。感谢 [@steipete](https://github.com/steipete).
- 仍在准备的代理会保留启动消息,而不是已解决的故障,即使在一分钟后也是如此。 [#164041](https://github.com/openclaw/openclaw/pull/164041)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- Native Windows 托管工作区可以从深度嵌套的源存储库中创建或重用,这些源存储库会遇到 Git 的元数据路径太大错误。跨驱动器元数据和单独的深度引用协调限制仍然存在。 [#164249](https://github.com/openclaw/openclaw/pull/164249)。感谢 [@steipete](https://github.com/steipete).
- 当主机缺少 COLORTERM 时,本地浏览器终端中的 RGB-aware 程序将使用其预期颜色。显式环境选择和目录覆盖保留优先权。 [#164325](https://github.com/openclaw/openclaw/pull/164325)。感谢 [@ooiuuii](https://github.com/ooiuuii).
- Large Claude CLI 对话使用普通的有界页面和向后滚动来处理本地和仅限本机的消息。初始索引仍然会扫描历史记录,并且尽管有可读的本地历史记录,但不可用的本机转录本仍然会阻止加载。 [#164419](https://github.com/openclaw/openclaw/pull/164419)。感谢 [@steipete](https://github.com/steipete).
- 已完成的工作标题会详细说明经过的时间,折叠时可以看到展开的调用总数和不成功的结果。错过休假时间在没有发明持续时间的情况下工作。 [#164430](https://github.com/openclaw/openclaw/pull/164430)。感谢 [@steipete](https://github.com/steipete).
- 当没有明显的详细信息可显示时,Tool 活动会保留可读标签,例如“等待”或“会话状态”。 [#164437](https://github.com/openclaw/openclaw/pull/164437)。感谢 [@steipete](https://github.com/steipete).
- 仅首选项编辑可以避免当插件默认值在读取和保存设置之间可用时不必要的网关重新启动。 [#164450](https://github.com/openclaw/openclaw/pull/164450)。感谢 [@RomneyDa](https://github.com/RomneyDa)、[@wenwenxiong](https://github.com/wenwenxiong) 和 [@SuperMarioYL](https://github.com/SuperMarioYL).
- 分配和会员菜单在一个可滚动列表中显示所有已加载的匹配人员和代理,并且搜索保持可见。 [#164469](https://github.com/openclaw/openclaw/pull/164469)。感谢 [@steipete](https://github.com/steipete).
- 正常代理准备显示正在启动,并在准备好时自动加载聊天和侧边栏数据。准备工作可能需要几分钟;真正的故障保留他们的诊断。 [#164532](https://github.com/openclaw/openclaw/pull/164532)。感谢 [@steipete](https://github.com/steipete).
- 确认组合字符可使排队消息编辑保持打开状态,并保留侧聊草稿而不发送。稍后有意的快捷方式执行预期的保存或发送。 [#164560](https://github.com/openclaw/openclaw/pull/164560)。感谢 [@steipete](https://github.com/steipete) 和 [@NianJiuZst](https://github.com/NianJiuZst).
- Eligible 活动和当前工作更改直接从会话事件中显示,并具有较小的侧边栏和仪表板列表响应。已过滤或不完整的视图仍会刷新,并且模型更改可能会留下先前模型的一些紧凑行模型详细信息。 [#164573](https://github.com/openclaw/openclaw/pull/164573)。感谢 [@steipete](https://github.com/steipete).
- 设备控制文本在设备需要时加载,从而减少了初始 JavaScript 下载。 [#164735](https://github.com/openclaw/openclaw/pull/164735)。感谢 [@shakkernerd](https://github.com/shakkernerd) 和 [@steipete](https://github.com/steipete).
- 修复的容器捆绑包允许受限的任意用户 ID 读取核心 Control UI 资产,解决整个 UI 503 故障。安装或构建修复后的映像;现有部署不会自动更改,并且私有运行时文件仍然受到限制。 [#165937](https://github.com/openclaw/openclaw/pull/165937)。感谢 [@RomneyDa](https://github.com/RomneyDa) 和 [@Conan-Scott](https://github.com/Conan-Scott).
- New Session 在共享的二十秒截止时间后结束了停滞的模型目录等待,解释说没有创建任何会话并保留草稿以供重试。该截止日期涵盖目录等待,而不是完整的工作区设置或第一个答案。 [#165989](https://github.com/openclaw/openclaw/pull/165989)。感谢 [@steipete](https://github.com/steipete)、[@DonnieFi](https://github.com/DonnieFi) 和 [@dprev](https://github.com/dprev).
- Chat 更新在消除可保存工作指标和草稿更新的帧等待后返回到按需调度。 [d1dc3cd](https://github.com/openclaw/openclaw/commit/d1dc3cd51104d5592968802de29b54002578117a)。感谢 [@steipete](https://github.com/steipete).
- 直接链接的自动化编辑器和未保存的编辑可以在延迟的初始代理信息中保留下来。有意的代理过滤器更改和连接停用会保留其现有的重置行为。 [a7d093b](https://github.com/openclaw/openclaw/commit/a7d093b7e2d0c5e1d58e1e9c7185afbe49985a44)。感谢 [@steipete](https://github.com/steipete).
- Completed 工具停止显示“正在运行”,而助手仍在继续。如果没有明确的结果,他们会显示“结果未知”;仅部分输出即可保持工具运行。 [7b3972c](https://github.com/openclaw/openclaw/commit/7b3972c677e20444376aeac1f3b2860633467b9d)。感谢 [@steipete](https://github.com/steipete).
- 准备捆绑的 Web 界面一次最多检查四个保留文件,在提供每个文件之前对其进行验证。 [4cf8c4d](https://github.com/openclaw/openclaw/commit/4cf8c4d334a18a521f94314b0abbe357ff0bf470)。感谢 [@RomneyDa](https://github.com/RomneyDa).
### 更新和维护
- **更新效率:** 包和源更新减少了重复检查和复制,保留了选定的运行时和包管理器,并通过替换保留了恢复工具。
- **已安装的更新程序限制:** 启动操作的已安装更新程序中必须存在多个修复程序。如果较旧的更新程序在登台前拒绝,请按照 [ 手动更新程序 ](/install/updating/update-methods#alternative-manual-npm-pnpm-or-bun) 进行验证备份,然后使用新的 CLI 的 Doctor 和修复命令。
- **Windows 2026.9.4 自动更新:** 来自 Windows 的受影响自动更新 2026.9.4 拒绝不兼容的候选者;等待更新程序退出,制作 [ 已验证备份 ](/install/updating/rollback-and-recovery#before-updating-create-a-verified-backup),并使用相同的帐户、安装和配置文件从独立 shell 手动更新。
- **其他网关和停止的服务:** 在更新期间自行停止其他网关和安装修改工具;分别重新启动同级网关。已停止的服务将保持停止状态,除非更新者拥有其恢复权。
- 在更新检查期间保存兼容设置现在可以进行全新检查,而不是立即失败。更新程序将呼叫者和服务配置文件分开,并且仍然拒绝不兼容或重复更改的设置。回滚在移动实时数据库之前准备恢复副本,并拒绝会丢弃较新更改的恢复。即使合法的 Doctor 迁移也会禁用已更改数据库的自动恢复,因此以后发生故障后的恢复可能需要手动操作。请参阅 [ 回滚和恢复](/install/updating/rollback-and-recovery)。
- Update 报告在最终结果中保持可见,保持 JSON 输出可解析并解释故障而不暴露私人详细信息。当网关准备好并服务于预期目标时,旧的故障可以被标记为历史故障;其原始结果被保留。合格的 Linux 更新收据可以在文件系统的设备编号更改后刷新,从而允许再次更新。初始的 `update --dry-run` 路径也可以重写这些收据,以便预览不是只读的。
- Doctor 可以修复支持的会话所有权和隔离数据,减少重复归档工作,并使用 [ 只读配置 ](/cli/config) 修复可写状态。所需的配置编辑仍然属于部署源。接受的设置和修复权限仍然受到保护,并且在修复之前必须验证显式恢复引用。如果 Doctor 在受管网关仍在启动时完成,请随后检查 `openclaw gateway status`。空脚本恢复仍然会破坏另一个代理对共享文件的引用;将原始文件和备份保存在其报告的路径中。请参阅 [ 运行 Doctor](/cli/doctor/running)。
- 非常旧的配置和保存的数据格式可能需要中间版本才能继续进行升级;拒绝保留旧文件。首先备份完整的配置、状态和队列拥有的媒体。记录的配置表格需要**2026.9.5 Doctor**; Matrix的5个退役文件也需要Matrix启动一次,较旧的平面布局首先需要**2026.6 Doctor和Gateway启动**。退役的 outgoing/session JSON 队列、cron 文件、加密的 OAuth sidecar、语音通话日志和嵌套工作区设置文件需要原始主机上的 **2026.9.7,然后是 Doctor**。不要重命名已迁移的队列工件以重播消息。支持的 7 月路由别名、支持的 JSON 导入和当前的 SQLite 状态仍然受支持。按照 [ 状态迁移 ](/cli/doctor/state-migrations)、[ 矩阵迁移 ](/channels/matrix-migration#retired-pre-july-state-files) 和 [ 传入队列迁移 ](/plugins/sdk-migration/how-to-migrate#migrate-durable-ingress-files-through-doctor) 了解受影响的格式。
- Doctor 为符合条件的单文件 [Talk 配置 ](/nodes/talk) 提供其自己保存的提供商设置,因此以后的语音呼叫编辑不会更改 Talk。跨包含文件拆分的配置可能会丢失继承的设置并需要单独更正;请参阅 [Talk 迁移](/gateway/doctor/config-migrations#talk-realtime-inheritance)。支持的命令批准策略还可以使用私有原始副本进行修复,但普通的 Pre-Doctor 导出可以忽略旧的命令权限或 MCP 授予。在依赖旧格式导出之前,针对正确的状态目录运行 Doctor。废弃的嵌入式会话设置和快捷方式需要备份手动更正;目前的医生不修复它们。遵循 [ 会话设置迁移](/gateway/doctor/config-migrations#session-settings)。
- 停止网关等待接受的数据库维护和工作线程清理。插件清理超时不再将成功的消息命令变成失败,尽管清理可以保持挂起状态。最终的本机工作线程清理失败会导致该源不可用,直到进程重新启动。在重复的配置通知后继续重新启动,并且崩溃循环暂停会在完全稳定的窗口后保留中断的轮次重试以进行重放。仅当其原始访问仍然有效时,正在运行或排队的工作才能在访问策略更改后继续存在。请参见 [ 重新启动恢复 ](/gateway/restart-recovery#safety-valves-and-observability) 和 [ 消息命令 ](/cli/message)。
- 即使容器之间的进程 ID 不同,Container 也能识别共享网关数据的经过验证的实时所有者。外国或无法验证的所有者需要超过 90 秒的心跳才能进行符合资格的恢复;医生拒绝了一个陌生的新主人。将记录的共享进程命名空间用于单独的 Docker CLI 容器,或在网关容器内运行 TUI。 Windows 恢复可以重新启用已验证的已禁用网关任务,同时拒绝外部启动器。请参阅 [Windows 指南](/platforms/windows)。
- **存档清理和完整性检查:** 会话和存档清理将支持的数据库工作移至后台工作人员,同时保留保留规则和拒绝访问检查。自动五分钟和每日完整数据库完整性扫描停止;请求的快速检查比全面扫描覆盖的损坏更少。
- **源 Control UI 重建:** 当源 Control UI 重建失败时,将保留先前的捆绑包,但包装器仍使用 `dist/control-ui` 覆盖自定义 `--outDir`。
较新的修复路径可恢复符合条件的废弃更新子项和可读的保留对话历史记录。 Windows pnpm 用户可以使用当前安装的 `openclaw gateway install --force` 修复现有的过时网关启动器;普通的重新安装可能会保留注册的任务。
来源和完整变更列表
- 空闲浏览器节点可以更新,同时保留上传文件,并通过重新启动恢复中断的清理。 [#154384](https://github.com/openclaw/openclaw/pull/154384)。谢谢[@xialonglee](https://github.com/xialonglee),[@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- Doctor 检查显式选择的会话存储是否属于所请求的代理;具有不匹配选择器的脚本必须使用其实际所有者。 [#156907](https://github.com/openclaw/openclaw/pull/156907)。谢谢[@Alix-007](https://github.com/Alix-007),[@obviyus](https://github.com/obviyus).
- 较旧的压缩会话可以在配置的空闲期后进入启用的冷存储,同时对所需历史记录的引用仍然受到保护。 [#157994](https://github.com/openclaw/openclaw/pull/157994)。谢谢[@anyech](https://github.com/anyech),[@obviyus](https://github.com/obviyus).
- 保留已删除代理的历史记录不再阻止网关关闭期间受影响的插件存储清理。 [#158473](https://github.com/openclaw/openclaw/pull/158473)。谢谢[@anyech](https://github.com/anyech),[@obviyus](https://github.com/obviyus).
- Doctor 接受指向帐户规范主目录的服务主目录覆盖,恢复现有的凭证修复路径。 [#160056](https://github.com/openclaw/openclaw/pull/160056)。感谢 [@steipete](https://github.com/steipete)、[@oscarsixsecllc](https://github.com/oscarsixsecllc)、[@vincentkoc](https://github.com/vincentkoc).
- 当 Doctor 无法验证其当前所有权和离线状态时,已停止的网关将保持停止状态;在手动启动之前检查深度状态。 [#160083](https://github.com/openclaw/openclaw/pull/160083)。感谢 [@steipete](https://github.com/steipete).
- 当可读进程和包证据确认它们不使用这些文件时,Doctor 可以删除不相关的 Node 或 Bun 应用程序旁边的废弃更新文件。 [#160158](https://github.com/openclaw/openclaw/pull/160158)。谢谢[@steipete](https://github.com/steipete),[@Marvinthebored](https://github.com/Marvinthebored).
- 失败更新恢复保留Doctor期间更改的数据库,包括合法迁移;然后恢复这些数据库需要手动恢复。 [#160167](https://github.com/openclaw/openclaw/pull/160167)。感谢 [@steipete](https://github.com/steipete)、[@RomneyDa](https://github.com/RomneyDa)、[@vyctorbrzezowski](https://github.com/vyctorbrzezowski)、[@jalehman](https://github.com/jalehman).
- A 重新启动可以在空闲或完成的写入程序成功关闭后跳过重复的数据库扫描,即使其他关闭清理已达到其截止日期。 [#160201](https://github.com/openclaw/openclaw/pull/160201)。感谢 [@steipete](https://github.com/steipete).
- Repair 保留不兼容插件的设置,并在纠正兼容性后完成挂起的已保存数据确认,包括当软件包未更改时。 [#160344](https://github.com/openclaw/openclaw/pull/160344)。谢谢[@steipete](https://github.com/steipete),[@EndeavorPioneer](https://github.com/EndeavorPioneer).
- Eligible 数据库回滚保留当前更新尝试和失败详细信息,同时保持原始快照不变。 [#160614](https://github.com/openclaw/openclaw/pull/160614)。谢谢[@steipete](https://github.com/steipete),[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 当观察到的同级网关正在运行时,Updates 拒绝替换共享安装;自行停止该服务并在更新后重新启动它。 [#160663](https://github.com/openclaw/openclaw/pull/160663)。感谢 [@steipete](https://github.com/steipete).
- Gateways 已经运行此修复程序,通过包替换保留清理代码,并使用启发式注释保存最终演讲;模型注释可以在重启后重新生成。 [#160674](https://github.com/openclaw/openclaw/pull/160674)。感谢 [@steipete](https://github.com/steipete).
- Windows 网关检查和更新修复在识别正在运行的进程时保留空参数、引号、反斜杠和 Unicode。 [#160680](https://github.com/openclaw/openclaw/pull/160680)。感谢 [@steipete](https://github.com/steipete).
- Doctor 和插件维护可以通过简短的竞争数据库写入继续进行,而不会立即失败准入或失去维护所有权。 [#160702](https://github.com/openclaw/openclaw/pull/160702)。感谢 [@RomneyDa](https://github.com/RomneyDa)、[@Ludwigtheo0815](https://github.com/Ludwigtheo0815)、[@laurentschwartz](https://github.com/laurentschwartz).
- 来自 Windows 2026.9.4 的不兼容自动更新在激活前停止;等待更新程序退出,创建经过验证的备份并按照手动更新过程进行操作。 [#160718](https://github.com/openclaw/openclaw/pull/160718)。感谢 [@steipete](https://github.com/steipete).
- 繁忙的数据库编写器将自动检查点工作从保存更改中移开,解决了大型存储中暂停的一个根源;空闲工人检查点的完成情况仍然不确定。 [#160818](https://github.com/openclaw/openclaw/pull/160818)。感谢 [@steipete](https://github.com/steipete).
- Cloud 工作人员在网关更新后保留新的运行时,直到记录安装为止,从而避免下一轮丢失运行时故障。 [#160820](https://github.com/openclaw/openclaw/pull/160820)。感谢 [@steipete](https://github.com/steipete).
- Eligible 计划会话清理在后台运行,并保留属于重新创建的会话的发布记录。 [#160858](https://github.com/openclaw/openclaw/pull/160858)。感谢 [@steipete](https://github.com/steipete).
- 新请求错误区分网关重新启动、关闭或临时暂停,并解释何时重试。 [#160869](https://github.com/openclaw/openclaw/pull/160869)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 当原始访问保持有效时,正在运行和排队的工作可以在实时连接策略更改中幸存下来;客户端仍然会重新连接,并且实际的访问丢失仍然会取消受影响的工作。 [#160909](https://github.com/openclaw/openclaw/pull/160909)。感谢 [@steipete](https://github.com/steipete).
- A 延迟节点连接警报在网关关闭开始后完成配对检查时被抑制。 [#160915](https://github.com/openclaw/openclaw/pull/160915)。感谢 [@steipete](https://github.com/steipete).
- 会话历史记录清理可以在其阻塞写入被安全设置检查点后恢复,即使不相关的写入仍在继续;相关开放读者仍推迟清理工作。 [#161061](https://github.com/openclaw/openclaw/pull/161061)。感谢 [@steipete](https://github.com/steipete).
- 中断的更新验证等待接受的进度写入,并在结果不确定时保留临时恢复数据。 [#161104](https://github.com/openclaw/openclaw/pull/161104)。感谢 [@steipete](https://github.com/steipete).
- 当前的自动源服务器更新脚本在停止网关之前检查私有候选者;准备失败会保留服务安装,而共享同级服务仍由您停止。 [#161110](https://github.com/openclaw/openclaw/pull/161110)。感谢 [@steipete](https://github.com/steipete).
- 活动会话更新可以在后台维护执行其初始数据库检查时提交。 [#161181](https://github.com/openclaw/openclaw/pull/161181)。感谢 [@steipete](https://github.com/steipete).
- Doctor 可以恢复旧 MCP 登录文件的中断导入,而无需重播已停用的凭据或撤消稍后的注销;不确定的结果保留恢复状态并发出警告。 [#161219](https://github.com/openclaw/openclaw/pull/161219)。感谢 [@steipete](https://github.com/steipete).
- 更新和源重建通过实际服务名称识别发现的同级网关,包括加载的缺少单元文件的Linux服务,并解释要停止哪个服务。 [#161238](https://github.com/openclaw/openclaw/pull/161238)。感谢 [@steipete](https://github.com/steipete).
- 源更新完成和更新修复拒绝替换已发现的正在运行的同级网关使用的文件;自行停止重叠服务并重试。 [#161239](https://github.com/openclaw/openclaw/pull/161239)。感谢 [@steipete](https://github.com/steipete).
- 非托管前台网关在重新启动分类失败或失败后可以保持活动状态以进行手动配置修复;仅在启动成功后才恢复请求。 [#161294](https://github.com/openclaw/openclaw/pull/161294)。谢谢[@steipete](https://github.com/steipete),[@dh-js](https://github.com/dh-js).
- 较旧的更新程序不再错误地报告更改的数据库清单并回滚,因为省略了可选的所有权详细信息。 [#161411](https://github.com/openclaw/openclaw/pull/161411)。感谢 [@steipete](https://github.com/steipete).
- 失败的更新恢复跳过等待已知不存在的网关,同时保留原始故障和恢复检查。 [#161426](https://github.com/openclaw/openclaw/pull/161426)。感谢 [@steipete](https://github.com/steipete).
- Source 安装在重建失败后保留以前的 Control UI 捆绑包,并且可以在下一个构建中恢复中断的替换;包装器用 dist/control-ui. [#161438](https://github.com/openclaw/openclaw/pull/161438) 覆盖自定义 --outDir。感谢 [@steipete](https://github.com/steipete).
- Doctor 清除禁用的 SMS 和未配置的 Mistral 的仅安装升级警告,无需启用通道或添加设置;真正的迁移工作还需要完成。 [#161535](https://github.com/openclaw/openclaw/pull/161535)。感谢 [@steipete](https://github.com/steipete)、[@akennedytog](https://github.com/akennedytog)、[@g62nkcx4q7-wq](https://github.com/g62nkcx4q7-wq).
- Docker 包 JSON 收据不再在共享 npm 缓存中留下已完成存档的额外副本;初始打包仍然可以使用该缓存。 [#161548](https://github.com/openclaw/openclaw/pull/161548)。感谢 [@steipete](https://github.com/steipete).
- 在接受的工作完成后关闭并重新启动关闭的共享本机工人及其主管;清理失败仍然可见。 [#161558](https://github.com/openclaw/openclaw/pull/161558)。感谢 [@steipete](https://github.com/steipete).
- Doctor 在原始工作空间退役后可识别经过验证的技能研讨会历史档案,从而在保留原始备份的同时停止重复警告。 [#161586](https://github.com/openclaw/openclaw/pull/161586)。感谢 [@steipete](https://github.com/steipete)、[@percilabs](https://github.com/percilabs)、[@sunlit-deng](https://github.com/sunlit-deng).
- Updates 记录并检查后台数据库工作人员中先前网关的停止情况,同时在维护继续之前仍在等待持久确认。 [#161813](https://github.com/openclaw/openclaw/pull/161813)。感谢 [@steipete](https://github.com/steipete).
- Doctor 存档严格验证的空退役 Telegram 绑定文件,以便更新可以继续,同时保留其原始字节并拒绝有意义或不确定的状态。 [#161832](https://github.com/openclaw/openclaw/pull/161832)。谢谢[@ericcaiwx-star](https://github.com/ericcaiwx-star),[@PennyVibe](https://github.com/PennyVibe).
- Managed 在停止网关之前更新记录激活并在所有权变更后拒绝停止;接受的回滚可以在中断期间完成。 [#161851](https://github.com/openclaw/openclaw/pull/161851)。谢谢[@steipete](https://github.com/steipete),[@vincentkoc](https://github.com/vincentkoc).
- Doctor 在另一个所有者替换其维护文件后拒绝覆盖恢复记录,保留现有的恢复信息。 [#161861](https://github.com/openclaw/openclaw/pull/161861)。感谢 [@steipete](https://github.com/steipete).
- Update 恢复加载更少的捆绑组件,同时保留现有的服务和恢复检查。 [#161919](https://github.com/openclaw/openclaw/pull/161919)。感谢 [@steipete](https://github.com/steipete).
- Doctor 和本地 TLS 网关检查与启用的托管代理配合使用,同时保留环回路由策略和证书指纹检查。 [#161946](https://github.com/openclaw/openclaw/pull/161946)。谢谢[@obviyus](https://github.com/obviyus),[@saizero-dr](https://github.com/saizero-dr).
- 由固定安装版本运行的 Windows 更新在成功挂起后和安装更改之前取消后恢复原始任务自动启动状态。 [#161990](https://github.com/openclaw/openclaw/pull/161990)。感谢 [@steipete](https://github.com/steipete).
- 五分钟和每日全数据库扫描自动停止;请求的快速检查对索引和页面损坏的覆盖范围较小。 [#162015](https://github.com/openclaw/openclaw/pull/162015)。感谢 [@steipete](https://github.com/steipete).
- Doctor 将其最初的争用网关所有权检查转移到后台工作人员中,并在停止服务之前再次检查取消和许可。 [#162021](https://github.com/openclaw/openclaw/pull/162021)。感谢 [@steipete](https://github.com/steipete).
- Windows 更新取消可以在报告失败之前禁用任务生效时恢复之前启用的自动启动,前提是原始更新者仍拥有恢复功能。 [#162050](https://github.com/openclaw/openclaw/pull/162050)。感谢 [@steipete](https://github.com/steipete).
- 由固定安装的更新程序启动的Updates在包替换后保留SQLite验证worker,避免丢失worker启动失败。 [#162076](https://github.com/openclaw/openclaw/pull/162076)。感谢 [@steipete](https://github.com/steipete)、[@xilopaint](https://github.com/xilopaint)、[@paweldrozd](https://github.com/paweldrozd).
- Gateway关闭取消以后的后台维护,等待运行回调后再释放资源;停止一个子系统会使不相关的计划保持活动状态。 [#162079](https://github.com/openclaw/openclaw/pull/162079)。感谢 [@steipete](https://github.com/steipete).
- Updates 在前进之前等待保存的进度,在记录拒绝后保留授权恢复并保留操作和报告错误。 [#162098](https://github.com/openclaw/openclaw/pull/162098)。感谢 [@steipete](https://github.com/steipete).
- Shutdown 在supervisor退出后保留本机worker清理错误;终端清理失败需要重新启动进程,然后该源才能接受新工作。 [#162128](https://github.com/openclaw/openclaw/pull/162128)。感谢 [@steipete](https://github.com/steipete).
- Doctor 保留现有的计划任务历史存档,并以编号名称逐字节保存新导入的旧日志,并在存档需要重试时发出警告。 [#162152](https://github.com/openclaw/openclaw/pull/162152)。感谢 [@steipete](https://github.com/steipete).
- 有序关闭等待接受数据库维护后再关闭存储;紧急进程退出清理仍尽最大努力。 [#162166](https://github.com/openclaw/openclaw/pull/162166)。感谢 [@steipete](https://github.com/steipete).
- 使用退休上下文预算或Copilot发现开关进行直接二进制升级必须在启动前运行openclaw doctor --fix;托管更新在验证设置之前应用这些迁移。 [#162184](https://github.com/openclaw/openclaw/pull/162184)。感谢 [@steipete](https://github.com/steipete).
- Chat 请求的更新可避免在 Doctor 检查当前权限时重复进行整个数据库复制;删除或替换请求者仍然会阻止进一步的更改。 [#162200](https://github.com/openclaw/openclaw/pull/162200)。感谢 [@steipete](https://github.com/steipete)、[@DasX](https://github.com/DasX)、[@xilopaint](https://github.com/xilopaint).
- Doctor 恢复支持的旧 Telegram 传入队列,无需重复导入或重放历史故障;已停用的传出和会话 JSON 队列使用单独的 2026.9.7 修复路由。 [#162206](https://github.com/openclaw/openclaw/pull/162206)。感谢 [@steipete](https://github.com/steipete).
- 网关关闭期间自动会话清理停止,避免维护人员重复启动;稍后的写入可以在重新启动后恢复清理。 [#162212](https://github.com/openclaw/openclaw/pull/162212)。感谢 [@steipete](https://github.com/steipete).
- 当没有要检查的遗留分配状态时,Doctor 会跳过加载 Codex 恢复助手,从而减少空扫描中不必要的工作。 [#162215](https://github.com/openclaw/openclaw/pull/162215)。感谢 [@steipete](https://github.com/steipete).
- 由固定安装的更新程序运行的 Windows 更新在备份期间重试简短的包文件夹锁定最多 57.75 秒,保留警告并解释持续性故障。 [#162231](https://github.com/openclaw/openclaw/pull/162231)。谢谢[@steipete](https://github.com/steipete),[@miguelpt2026](https://github.com/miguelpt2026).
- Doctor 重用其更新历史记录发现快照来减少重复读取,并提供可选的阶段计时来诊断缓慢的修复。 [#162232](https://github.com/openclaw/openclaw/pull/162232)。感谢 [@steipete](https://github.com/steipete).
- 修复了npm更新程序从依赖项扫描中排除历史包备份,并在验证激活后仅废弃合格的捕获的备份;较旧的运行更新程序仍然需要记录的备份保留恢复。 [#162246](https://github.com/openclaw/openclaw/pull/162246)。谢谢[@steipete](https://github.com/steipete),[@DonnieFi](https://github.com/DonnieFi).
- 现在,当通过符号链接到达状态目录时,删除代理或运行路径范围的维护会关闭其会话清理工作线程。 [#162248](https://github.com/openclaw/openclaw/pull/162248)。感谢 [@steipete](https://github.com/steipete).
- Update 数据库检查在非活动代理数据库变为活动状态时重试瞬时更改,仅返回一致的快照;持续的更改和清理失败仍然会停止检查。 [#162258](https://github.com/openclaw/openclaw/pull/162258)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 成功的更新和修复进度记录为信息,建议记录为警告,失败的阶段记录为错误,而进度保留在 stderr 上,JSON 标准输出保持干净。 [#162270](https://github.com/openclaw/openclaw/pull/162270)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 已验证的空已退役 Telegram 绑定的存档失败现在会发出警告并保留重试源;不确定或非空文件仍然会阻止具有可读恢复指南的迁移。 [#162290](https://github.com/openclaw/openclaw/pull/162290)。感谢 [@steipete](https://github.com/steipete)、[@PennyVibe](https://github.com/PennyVibe)、[@ericcaiwx-star](https://github.com/ericcaiwx-star).
- Doctor 可修复会话所有者的深层链,而不会导致堆栈溢出,从而保留终端会话和对话历史记录,而不会缩短链。 [#162321](https://github.com/openclaw/openclaw/pull/162321)。谢谢[@steipete](https://github.com/steipete),[@jasdeepohri-max](https://github.com/jasdeepohri-max).
- 使用 --no-restart 的失败更新通过一项检查保留恢复诊断,无需等待未请求的启动,同时包激活和所需的维护仍然有效。 [#162327](https://github.com/openclaw/openclaw/pull/162327)。谢谢[@steipete](https://github.com/steipete),[@PennyVibe](https://github.com/PennyVibe).
- Doctor 设置冲突通知在删除已设置替换的过时别名时一致命名完整的当前设置路径。 [#162336](https://github.com/openclaw/openclaw/pull/162336)。感谢 [@steipete](https://github.com/steipete).
- 启动进度不再隐藏旧更新程序的实际错误;报告保留有用的经过编辑的错误详细信息。 [#162344](https://github.com/openclaw/openclaw/pull/162344)。谢谢[@steipete](https://github.com/steipete),[@jamiezigelbaum](https://github.com/jamiezigelbaum).
- Updates 由固定安装的更新程序启动,避免重复的整个数据库复制和进度轮询的停顿,同时保留提交的阶段和最终报告。 [#162345](https://github.com/openclaw/openclaw/pull/162345)。感谢[@steipete](https://github.com/steipete)、[@xilopaint](https://github.com/xilopaint). 感谢[@alkor2000](https://github.com/alkor2000)对pnpm终端的相关诊断和维修。
- 固定安装的更新程序可以容忍在包回滚期间狭义定义的 npm 簿记更改,并报告有关真正不匹配的有限详细信息;较旧的运行更新程序保留其先前的检查。 [#162365](https://github.com/openclaw/openclaw/pull/162365)。谢谢[@steipete](https://github.com/steipete),[@nessim-liamani](https://github.com/nessim-liamani).
- 由固定安装的更新程序捕获的数据库备份保留其最初验证的内容事实,因此回滚可以在替换实时数据库之前拒绝以后的更改。 [#162383](https://github.com/openclaw/openclaw/pull/162383)。感谢 [@steipete](https://github.com/steipete).
- Source 构建跳过冗余插件文件检查并在支持文件系统上保留跟踪的特殊文件名;在根构建之前将新的自动发现的包和条目添加到 Git 索引。 [#162384](https://github.com/openclaw/openclaw/pull/162384)。感谢 [@steipete](https://github.com/steipete).
- npm 插件更新重用已为同一安装尝试解析的元数据,避免重复的注册表查找,同时保留兼容性、完整性、策略和同意检查。 [#162385](https://github.com/openclaw/openclaw/pull/162385)。感谢 [@steipete](https://github.com/steipete).
- 使用修复的验证器进行更新,警告非对象插件清单并继续检查以后的插件,而其他配置、所有权和准备就绪失败则保留其现有处理。 [#162386](https://github.com/openclaw/openclaw/pull/162386)。感谢 [@steipete](https://github.com/steipete).
- Git 更新暂存可以在没有一次性缓存需要过滤时使用本机目录复制,从而避免不必要的暂存工作,同时保留真正的排除项。 [#162387](https://github.com/openclaw/openclaw/pull/162387)。感谢 [@steipete](https://github.com/steipete).
- Doctor 使用更少的内存来准备具有同等插件源的大型队列,同时保留不同的插件选择和工作区。 [#162394](https://github.com/openclaw/openclaw/pull/162394)。谢谢[@steipete](https://github.com/steipete),[@609NFT](https://github.com/609NFT).
- 较新的更新程序可以避免重新复制私有排练数据库并保留其原始行ID以进行迁移检查;现有的可用空间要求和较旧的更新程序限制仍然存在。 [#162403](https://github.com/openclaw/openclaw/pull/162403)。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- Doctor 在停止托管网关之前准备未更改的转录存档,并在以后的同一版本运行中重用经过验证的工作,从而在重新检查更改或恢复的源时减少与存档相关的停机时间。 [#162404](https://github.com/openclaw/openclaw/pull/162404)。感谢 [@steipete](https://github.com/steipete)、[@boeingchoco](https://github.com/boeingchoco)、[@MikyWang](https://github.com/MikyWang)、[@harshitgupta31415](https://github.com/harshitgupta31415).
- Doctor 将覆盖的发件人工具策略迁移到 id:Alice 等键入的密钥,同时保留第一个有效策略;直接二进制升级需要在启动前进行Doctor,并且外部渠道策略可能需要显式迁移。 [#162427](https://github.com/openclaw/openclaw/pull/162427)。感谢 [@steipete](https://github.com/steipete).
- Update 演练避免了经过验证的一次性核心数据库副本的冗余备份,同时保留普通恢复备份和单独的配置、插件和 Workshop 捕获。 [#162429](https://github.com/openclaw/openclaw/pull/162429)。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 兼容性检查在识别较旧的沙箱和嵌入式代理设置时保留当前值;退役表格遵循中间版本指南。 [#162430](https://github.com/openclaw/openclaw/pull/162430)。感谢 [@steipete](https://github.com/steipete).
- 当没有延迟迁移或验证保留的遗留会话源时,Doctor 会跳过未使用的插件完成检查,从而避免不必要的检测器通过,同时保留普通的修复检查。 [#162486](https://github.com/openclaw/openclaw/pull/162486)。感谢 [@steipete](https://github.com/steipete).
- 支持的POSIX npm更新可以使用所选的Node或Bun可执行文件恢复中断的包替换,保留macOS SQLite库;恢复使网关停止以单独重新启动。 [#162586](https://github.com/openclaw/openclaw/pull/162586)。感谢 [@steipete](https://github.com/steipete).
- Doctor 备份并转换旧的挂起回复、回退通知和内存刷新状态;仍需要转换的会话请求停止网关和 openclaw doctor --fix。 [#162595](https://github.com/openclaw/openclaw/pull/162595)。感谢 [@steipete](https://github.com/steipete).
- 具有匹配恢复收据的更新可以在 SQLite 移动已捕获的数据后恢复以前的包,同时仍然拒绝会丢弃较新更改的恢复;较旧的更新程序收据格式仍然是一个限制。 [#162599](https://github.com/openclaw/openclaw/pull/162599)。感谢 [@steipete](https://github.com/steipete).
- 包含此修复程序的已安装更新程序可防止进度记录破坏其自己的验证副本并报告进度错误,而无需将成功的检查重新标记为失败。 [#162604](https://github.com/openclaw/openclaw/pull/162604)。感谢 [@steipete](https://github.com/steipete).
- Doctor 在转换旧名册时保留现有座席数据和工作区所有权;直接二进制替换需要在启动或普通配置编辑之前进行修复,并且要特别注意包含的配置。 [#162612](https://github.com/openclaw/openclaw/pull/162612)。感谢 [@steipete](https://github.com/steipete).
- Gateway 关闭使数据库工作线程可用于完成已接受的内存写入,从而减少重复的工作线程启动,而不会丢弃写入或缩短关闭期限。 [#162616](https://github.com/openclaw/openclaw/pull/162616)。感谢 [@steipete](https://github.com/steipete).
- 当插件修复失败或报告没有更改时,Doctor 会保留以前接受的设置,继续稍后修复并保留仅警告指导。 [#162641](https://github.com/openclaw/openclaw/pull/162641)。感谢 [@steipete](https://github.com/steipete).
- Doctor 迁移符合条件的单文件配置中继承的 Talk 提供程序设置;包含支持的配置可能会丢失这些设置并需要单独更正。 [#162644](https://github.com/openclaw/openclaw/pull/162644)。感谢 [@steipete](https://github.com/steipete).
- A 存在但损坏的通道修复模块现在会停止 Doctor 及其原始加载错误,而不是默默地选择后备修复;真正缺少的模块仍然是可选的。 [#162645](https://github.com/openclaw/openclaw/pull/162645)。谢谢[@wangmiao0668000666](https://github.com/wangmiao0668000666),[@vincentkoc](https://github.com/vincentkoc).
- 来自受支持的 2026.9.7 更新程序的 Bun 更新可以完成候选医生并激活替换网关而不是挂起;此修复已包含在候选包中。 [#162655](https://github.com/openclaw/openclaw/pull/162655)。感谢 [@steipete](https://github.com/steipete).
- 一旦接受停止或重启信号,网关立即拒绝新的工作,同时继续其现有的关闭和重启策略。 [#162679](https://github.com/openclaw/openclaw/pull/162679)。感谢 [@steipete](https://github.com/steipete).
- Doctor 使用私有原始副本修复支持的命令批准策略; Doctor 之前的普通导出可以省略旧权限和 MCP 授予。首先针对正确的状态目录运行 Doctor。 [#162687](https://github.com/openclaw/openclaw/pull/162687)。感谢 [@steipete](https://github.com/steipete).
- 通过符号链接进行代理删除和状态根清理可以释放由存档修剪、预览和相关存储维护保留的执行和历史资源。 [#162700](https://github.com/openclaw/openclaw/pull/162700)。感谢 [@steipete](https://github.com/steipete).
- Rollback 在移动当前数据库之前准备恢复副本,因此分配或磁盘空间拒绝会将当前数据库和日志保留在原处;以后的发布失败会保留恢复文件。 [#162726](https://github.com/openclaw/openclaw/pull/162726)。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- Doctor 停用已验证的已完成插件导入义务,以便可以导入以后的历史记录,并在稍后成功更新后通过受保护的停用来更新记录迁移备份的清理清单;保留回滚所需的备份。 [#162771](https://github.com/openclaw/openclaw/pull/162771)。感谢 [@steipete](https://github.com/steipete)、[@shadow-enthusiast](https://github.com/shadow-enthusiast)、[@islandpreneur007](https://github.com/islandpreneur007).
- macOS 服务诊断会读取所选网关作业自身的状态,并在 launchd 输出无法识别该作业时报告未知。 [#162838](https://github.com/openclaw/openclaw/pull/162838)。感谢 [@steipete](https://github.com/steipete).
- 更新超时报告保留检查名称、已用时间和上次清理进度;旧安装的更新程序截止日期仍然适用,观察到的进度并不能证明已完成。 [#162883](https://github.com/openclaw/openclaw/pull/162883)。谢谢[@steipete](https://github.com/steipete),[@nachoratico-source](https://github.com/nachoratico-source).
- Doctor 可以在检查工作人员完成后删除符合条件的废弃更新程序运行时,识别仍然阻止清理的独立进程,并建议在工作结束后重新运行修复。 [#162886](https://github.com/openclaw/openclaw/pull/162886)。感谢 [@steipete](https://github.com/steipete).
- 失败的更新报告首先放置简单的运行时检查指南和选定的下一步,并标记保存的恢复观察结果,以便它们不会被误认为当前网关的运行状况。 [#162887](https://github.com/openclaw/openclaw/pull/162887)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 当模式迁移后将手工最终确定更新为新候选者时,在最终确定之前按顺序确认转移进度;拒绝写入会停止进一步的工作。 [#162909](https://github.com/openclaw/openclaw/pull/162909)。感谢 [@steipete](https://github.com/steipete).
- Doctor 从经过验证的备份或规范历史记录中恢复受支持的空副本。对于共享所有者,恢复可能会在每个代理验证之前移动空的原始文件,从而使另一个代理的恢复记录无法找到该文件;将原始文件和备份保存在其报告的路径上。 [#162946](https://github.com/openclaw/openclaw/pull/162946)。谢谢[@steipete](https://github.com/steipete),[@leoreq](https://github.com/leoreq).
- Cleanup 可以在首次数据库创建后释放工作器租约,即使在收据到达之前读取权限已被撤销;撤销的操作仍然失败并且会话保持不变。 [#162950](https://github.com/openclaw/openclaw/pull/162950)。感谢 [@steipete](https://github.com/steipete).
- Doctor 修复支持的旧凭据字段,与不安全的帐户重命名无关,保留可用的当前凭据和经过验证的原始凭据,并向受影响的运行时读取器提供修复命令。 [#162958](https://github.com/openclaw/openclaw/pull/162958)。感谢 [@steipete](https://github.com/steipete).
- 包含此更改的更新程序减少了重复的文件系统扫描,同时保留其运行时间,并在复制停止时保留回退进度检查;较早安装的更新程序在第一次尝试时不会获得此信息。 [#162995](https://github.com/openclaw/openclaw/pull/162995)。谢谢[@steipete](https://github.com/steipete),[@vincentkoc](https://github.com/vincentkoc).
- 更新快照避免冗余的中间完整性扫描,同时保留源和最终检查;已发布的 2026.9.7 更新程序的初始快照仍然使用其旧的实现。 [#162996](https://github.com/openclaw/openclaw/pull/162996)。谢谢[@steipete](https://github.com/steipete),[@vincentkoc](https://github.com/vincentkoc).
- 选定的源构建避免生成两次纯插件资产,同时尽早保持清单写入挂钩并在登台之前验证已完成的资产。 [#162997](https://github.com/openclaw/openclaw/pull/162997)。谢谢[@steipete](https://github.com/steipete),[@vincentkoc](https://github.com/vincentkoc).
- 临时更新验证网关跳过恢复保留的子代理运行,将恢复留给服务网关,同时保留所需的配置、数据库和准备情况检查。 [#162998](https://github.com/openclaw/openclaw/pull/162998)。感谢 [@steipete](https://github.com/steipete).
- 包含此更改的更新程序通过有界并发读取来验证包内容,同时保留指纹和新的恢复检查;这种好处适用于验证工作,而不是保证整体更新加速。 [#162999](https://github.com/openclaw/openclaw/pull/162999)。谢谢[@steipete](https://github.com/steipete),[@vincentkoc](https://github.com/vincentkoc).
- 在POSIX上,包含此修复的更新程序在捕获之前解决其保留的本地数据库编写器,避免Doctor错误后错误回滚拒绝,同时仍然保护真正的较新数据。 [#163008](https://github.com/openclaw/openclaw/pull/163008)。感谢 [@steipete](https://github.com/steipete).
- 现在,更多已退役的配置表单需要在升级之前进行记录的 2026.9.5 中间修复,包括旧代理运行时、沙箱、浏览器、队列、网络聊天和编写的插件安装格式。 [#163015](https://github.com/openclaw/openclaw/pull/163015)。感谢 [@steipete](https://github.com/steipete).
- Bun 指南解释了已安装的 2026.9.7 更新程序的临时 Node 24 解决方法,使网关和更新程序保持相同的运行时和状态,并将恢复的包文件与已完成的网关恢复区分开来。 [#163017](https://github.com/openclaw/openclaw/pull/163017)。感谢 [@steipete](https://github.com/steipete).
- 2026.9.7 Bun 解决方法现在默认使用普通的已发布更新;特定版本或本地包仍然是可选的,具有相同的准备和状态保存步骤。 [#163034](https://github.com/openclaw/openclaw/pull/163034)。感谢 [@steipete](https://github.com/steipete).
- 7 月前退役的格式收到源保留拒绝;支持的 7 月路由别名和 JSON 导入仍单独受支持。 [#163036](https://github.com/openclaw/openclaw/pull/163036)。感谢 [@steipete](https://github.com/steipete).
- A 修复了更新程序重试名为 npm 或 Bun 的依赖项缓存失败一次,并在报告中保留安全阶段、错误代码和包详细信息,而不会暴露命令、凭据或专用路径。 [#163039](https://github.com/openclaw/openclaw/pull/163039)。感谢 [@steipete](https://github.com/steipete)、[@ttcmourao](https://github.com/ttcmourao)、[@akrosliving](https://github.com/akrosliving).
- Archive 发现使非常旧的全局会话文件保持不变;使用记录的或显式的路径来检查支持的历史记录。 [#163055](https://github.com/openclaw/openclaw/pull/163055)。感谢 [@steipete](https://github.com/steipete).
- Doctor 保留不受支持的 7 月前插件安装 JSON,并需要记录的 2026.9.5 修复以及兼容的更新前备份;支持 SQLite 在架构修复后升级刷新插件发现。 [#163075](https://github.com/openclaw/openclaw/pull/163075)。感谢 [@steipete](https://github.com/steipete).
- 维护错误识别首先丢失访问的操作,并将存储故障与不可用的所有权区分开来。 [#163103](https://github.com/openclaw/openclaw/pull/163103)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 数据库心跳错误保留在工作线程失败之前已收到的所有权丢失详细信息。 [#163134](https://github.com/openclaw/openclaw/pull/163134)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 未配置的旧全局会话索引不再阻止启动;明确选择以前的商店以导入其支持的历史记录。 [#163160](https://github.com/openclaw/openclaw/pull/163160)。感谢 [@steipete](https://github.com/steipete).
- Doctor 恢复支持的 7 月会话路由别名,同时保留备份;退役的仅房间分组仍然需要中间修复。 [#163171](https://github.com/openclaw/openclaw/pull/163171)。感谢 [@steipete](https://github.com/steipete).
- 退役了Telegram DM,线程和流媒体设置现在需要2026.9.5中的Doctor才能升级;仍然支持规范的嵌套流。 [#163181](https://github.com/openclaw/openclaw/pull/163181)。感谢 [@steipete](https://github.com/steipete).
- H历史加密OAuth sidecar停止升级而不改变状态;记录的修复在原始主机上使用 2026.9.7,并且不保证残留文件恢复。 [#163186](https://github.com/openclaw/openclaw/pull/163186)。感谢 [@steipete](https://github.com/steipete).
- 五老Talk实时选择器需要2026.9.5 Doctor;拒绝保留设置和备份,包括可恢复的前缀 JSON。 [#163189](https://github.com/openclaw/openclaw/pull/163189)。感谢 [@steipete](https://github.com/steipete).
- 冷存储维护选择工作人员中的非活动档案,同时保护活动会话并保留现有限制。 [#163200](https://github.com/openclaw/openclaw/pull/163200)。感谢 [@steipete](https://github.com/steipete).
- Reload 检查废弃过时的任务结果和单一模型回退,同时保留支持的任务范围和模型设置。 [#163207](https://github.com/openclaw/openclaw/pull/163207)。感谢 [@steipete](https://github.com/steipete).
- Archive 保留在工作人员中运行普通数据库清理,并在删除之前重新检查更改的引用和文件;保留规则保持不变。 [#163218](https://github.com/openclaw/openclaw/pull/163218)。感谢 [@steipete](https://github.com/steipete).
- Doctor 在其现有清单漂移警告中正确命名已安装的插件索引。 [#163220](https://github.com/openclaw/openclaw/pull/163220)。感谢 [@steipete](https://github.com/steipete).
- 旧的 cron 作业、分割状态和运行历史文件需要原始主机上的 2026.9.7 Doctor;支持的 SQLite 作业和检疫进口仍然存在。 [#163221](https://github.com/openclaw/openclaw/pull/163221)。感谢 [@steipete](https://github.com/steipete).
- Bun-驱动的Git更新始终使用PATH中的兼容Node作为候选工具,同时保留所选的网关运行时。 [#163227](https://github.com/openclaw/openclaw/pull/163227)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 过时的内存索引布局现在拒绝升级而不删除其表;恢复指南要求进行 7 月或更新的备份。 [#163271](https://github.com/openclaw/openclaw/pull/163271)。感谢 [@steipete](https://github.com/steipete).
- 退休代理和子代理模型超时字段需要 2026.9.5 修复步骤;工具模型超时仍然受支持。 [#163280](https://github.com/openclaw/openclaw/pull/163280)。感谢 [@steipete](https://github.com/steipete).
- 当合格的 Node 目录还包含 pnpm 时,Source 更新会保留选定的包管理器启动器。 [#163310](https://github.com/openclaw/openclaw/pull/163310)。感谢 [@steipete](https://github.com/steipete).
- Chat 更新通知显示简短的结果和下一步,并在“设置”→“更新”或 openclaw 更新状态中提供完整的诊断。 [#163318](https://github.com/openclaw/openclaw/pull/163318)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 当较旧的更新程序无法提供捕获历史记录时,Doctor 会继续授权数据库修复,而无需创建恢复副本或扩展程序包回滚。 [#163344](https://github.com/openclaw/openclaw/pull/163344)。感谢 [@steipete](https://github.com/steipete).
- 保存重新启动和更新通知会移出请求线程,同时仍强制执行所需的保存。 [#163364](https://github.com/openclaw/openclaw/pull/163364)。感谢 [@steipete](https://github.com/steipete).
- Doctor 存档维护在检查当前修复权限时避免重复的全数据库哈希和复制。 [#163369](https://github.com/openclaw/openclaw/pull/163369)。感谢 [@victor-gurbani](https://github.com/victor-gurbani)、[@Olli0103](https://github.com/Olli0103)、[@steipete](https://github.com/steipete).
- Updates 重复更少的包扫描;当其布局妨碍以后的清理发现时,可以保留已完成的运行时副本。 [#163370](https://github.com/openclaw/openclaw/pull/163370)。感谢 [@steipete](https://github.com/steipete).
- 即使所选的 Node 目录已经在 PATH 上领先或重复,Git 更新也会使范围 pnpm 领先于竞争副本。 [#163380](https://github.com/openclaw/openclaw/pull/163380)。感谢 [@steipete](https://github.com/steipete).
- 五个退役的Matrix状态文件需要2026.9.5 Doctor并启动Matrix一次;较旧的平面布局首先需要 2026.6 Doctor 和 Gateway 启动。被拒绝的原件保持原样。 [#163383](https://github.com/openclaw/openclaw/pull/163383)。感谢 [@steipete](https://github.com/steipete).
- 后来npm更新重用已解决的文件检查以缩短停机时间;更新时停止修改安装的其他工具。 [#163432](https://github.com/openclaw/openclaw/pull/163432)。感谢 [@steipete](https://github.com/steipete).
- 可选的孤立结果清理在重新启动后检查小空闲批次,并提供固定的 Git 操作名称以进行诊断。 [#163445](https://github.com/openclaw/openclaw/pull/163445)。感谢 [@steipete](https://github.com/steipete).
- Restart 恢复检查工作线程中的持久会话存储并拒绝过时或取消的结果。 [#163457](https://github.com/openclaw/openclaw/pull/163457)。感谢 [@steipete](https://github.com/steipete).
- 例行程序包备份清理被记录为进度,而不是误导性的更新错误。 [#163477](https://github.com/openclaw/openclaw/pull/163477)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 当包目录暂时不存在时,npm 升级通过 macOS 目录别名保留安装标识。 [#163479](https://github.com/openclaw/openclaw/pull/163479)。谢谢[@RomneyDa](https://github.com/RomneyDa),[@vincentkoc](https://github.com/vincentkoc).
- Startup Git discovery 重试一次超时并报告不可用的事实;耗尽的结果会保留在缓存中,需要开发人员刷新或重新启动才能恢复。 [#163500](https://github.com/openclaw/openclaw/pull/163500)。感谢 [@steipete](https://github.com/steipete).
- 不相关的祖先包会停止错误地阻止更新检查,并且两个匹配的候选医生失败会暂停自动重试,直到出现新的候选者或手动干预。 [#163541](https://github.com/openclaw/openclaw/pull/163541)。谢谢[@steipete](https://github.com/steipete),[@iJaack](https://github.com/iJaack).
- 传统内存转换一次处理一行向量,更新的更新程序保留崩溃信号和有限的编辑诊断。 [#163640](https://github.com/openclaw/openclaw/pull/163640)。谢谢[@steipete](https://github.com/steipete),[@fenglanhua](https://github.com/fenglanhua).
- Git 更新和回滚报告显示记录的版本号和短提交。 [#163683](https://github.com/openclaw/openclaw/pull/163683)。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev).
- 实验性 pre-schema-8 会话和退役搜索布局需要通过 2026.9.7 Doctor 进行完整副本恢复;已释放的内存、身份验证和缓存格式仍受支持。 [#163723](https://github.com/openclaw/openclaw/pull/163723)。感谢 [@steipete](https://github.com/steipete).
- Doctor 指南将支持的提供商别名修复与房间到组通道状态的单独 2026.9.5 路由区分开来。 [#163729](https://github.com/openclaw/openclaw/pull/163729)。感谢 [@steipete](https://github.com/steipete).
- E在重新启动之前检查并完成挂起的共享和代理迁移;未解决的或较新的模式拒绝手动指导。 [#163803](https://github.com/openclaw/openclaw/pull/163803)。谢谢[@steipete](https://github.com/steipete),[@chffhc](https://github.com/chffhc).
- Doctor 可以识别经过验证的 Linux systemd 环境覆盖,并且仍然报告真正丢失的托管设置。 [#163847](https://github.com/openclaw/openclaw/pull/163847)。谢谢[@steipete](https://github.com/steipete),[@travellingsoldier85](https://github.com/travellingsoldier85).
- Gateway 日志识别请求有效聊天或会话停止的客户端,包括之前丢失归因的快速请求。 [#163851](https://github.com/openclaw/openclaw/pull/163851)。感谢 [@steipete](https://github.com/steipete).
- Doctor 在升级之前通过 OpenClaw 2026.9.5 和 Doctor --fix 恢复 Teams 警告,指导已退役的 JSON 数据。 [#163896](https://github.com/openclaw/openclaw/pull/163896)。感谢 [@steipete](https://github.com/steipete).
- 失败的更新在正常和 JSON 模式下在 stderr 上保留其特定原因和原始安装程序错误。 [#163901](https://github.com/openclaw/openclaw/pull/163901)。感谢 [@steipete](https://github.com/steipete).
- 已验证的会话导入收据在 macOS VM 设备编号更改后仍有效; Doctor 升级旧收据,无需重放已完成的导入。 [#163904](https://github.com/openclaw/openclaw/pull/163904)。谢谢[@steipete](https://github.com/steipete),[@paulotvlincelia](https://github.com/paulotvlincelia).
- 已停用的嵌入式会话设置和快捷方式需要备份手动更正。设置实用程序模型选择、内联 Pi API 继承和原型命名的 Talk 语音别名也得到修复。 [#163919](https://github.com/openclaw/openclaw/pull/163919)。感谢 [@steipete](https://github.com/steipete).
- Sandbox权限编辑避免无关服务重启;缓慢的服务清理保持隔离,所需的重新启动保留有限的关闭宽限。 [#163931](https://github.com/openclaw/openclaw/pull/163931)。感谢 [@steipete](https://github.com/steipete).
- 诊断导出取消 7 月前轨迹条目的自动转换,同时保留源文件和当前 SQLite 导出。 [#163934](https://github.com/openclaw/openclaw/pull/163934)。感谢 [@steipete](https://github.com/steipete).
- Git 备份恢复包含 CASE 表达式的触发器;已停用的同一文件内存索引需要通过 2026.9.7. [#163945](https://github.com/openclaw/openclaw/pull/163945) 保留兼容副本。感谢 [@steipete](https://github.com/steipete).
- Worktree清理和恢复使用所属网关;不确定的结果需要检查,沙盒游戏需要独家的离线所有权。 [#163953](https://github.com/openclaw/openclaw/pull/163953)。感谢 [@steipete](https://github.com/steipete).
- 当就绪的本地网关服务于预期目标时,Status 将保存的更新失败标记为历史,保留原始失败记录。 [#163991](https://github.com/openclaw/openclaw/pull/163991)。谢谢[@steipete](https://github.com/steipete),[@sergiorodriguez-sudo](https://github.com/sergiorodriguez-sudo).
- 迁移规划在检查传递队列之前解释了无效的复制状态路径。 [#164007](https://github.com/openclaw/openclaw/pull/164007)。感谢 [@steipete](https://github.com/steipete).
- Future npm 使用固定安装的更新程序进行更新,通过有界散列工作器和未更改的完整性检查来验证新的包内容。 [#164052](https://github.com/openclaw/openclaw/pull/164052)。感谢 [@steipete](https://github.com/steipete).
- 更新的节点接受 2026.9.8 网关使用的技能研讨会启动字段,保留受影响的托管回合。 [#164068](https://github.com/openclaw/openclaw/pull/164068)。感谢 [@steipete](https://github.com/steipete).
- 数据库打开和索引修复避免重复的元数据检查,同时保留完整的完整性和外键保护。 [#164099](https://github.com/openclaw/openclaw/pull/164099)。感谢 [@steipete](https://github.com/steipete).
- 失败传递运行状况计数可避免在没有规划器统计信息的情况下进行不相关的历史扫描,并通过一次性可写索引重建。 [#164131](https://github.com/openclaw/openclaw/pull/164131)。感谢 [@steipete](https://github.com/steipete).
- Doctor介质修复删除了冗余表扫描,但仍然拒绝并发更改;在重试之前停止竞争数据库用户。 [#164139](https://github.com/openclaw/openclaw/pull/164139)。感谢 [@steipete](https://github.com/steipete).
- 支持的服务恢复和本地诊断在配置无效的情况下仍然可用,同时启动验证和较新版本的防护仍然存在。 [#164158](https://github.com/openclaw/openclaw/pull/164158)。感谢 [@steipete](https://github.com/steipete).
- Update 报告保留已识别的工作错误原因,同时删除私有路径和文件名后缀。 [#164169](https://github.com/openclaw/openclaw/pull/164169)。感谢 [@steipete](https://github.com/steipete).
- 修复了已安装的更新程序,避免丢弃重复的配置读取,同时保留新的编辑和数据库兼容性检查。 [#164182](https://github.com/openclaw/openclaw/pull/164182)。感谢 [@steipete](https://github.com/steipete).
- Plugin 快照和运行时准备与有界元数据检查重叠,而无需更改发现顺序或完整性检查。 [#164183](https://github.com/openclaw/openclaw/pull/164183)。感谢 [@steipete](https://github.com/steipete).
- Verified pnpm 11 和 12 独立更新跳过不必要的全局根子进程,同时保留后备发现。 [#164184](https://github.com/openclaw/openclaw/pull/164184)。感谢 [@steipete](https://github.com/steipete).
- Trusted 官方插件预发布更新在同一尝试中重用成功的包选择元数据,保留完整性、同意和警告。 [#164185](https://github.com/openclaw/openclaw/pull/164185)。感谢 [@steipete](https://github.com/steipete).
- 使用完全相同的状态路径的调用者和服务配置文件在每个检查点共享一个数据库备份,并保留最新的检查。 [#164186](https://github.com/openclaw/openclaw/pull/164186)。感谢 [@steipete](https://github.com/steipete).
- 失败更新建议正确识别经过验证的服务网关,同时保留失败状态以及重新启动或回滚限制。 [#164193](https://github.com/openclaw/openclaw/pull/164193)。谢谢[@steipete](https://github.com/steipete),[@DonnieFi](https://github.com/DonnieFi).
- Doctor 修复外部管理的只读配置下的可写状态并报告所需的源编辑;旧映像回滚可能需要匹配的备份。 [#164235](https://github.com/openclaw/openclaw/pull/164235)。谢谢[@steipete](https://github.com/steipete),[@JD8855122](https://github.com/JD8855122).
- Docker CLI 容器跨进程命名空间保留新的网关所有权,并解释如何共享命名空间或在网关容器内运行 TUI。 [#164236](https://github.com/openclaw/openclaw/pull/164236)。谢谢[@steipete](https://github.com/steipete),[@JakeMalis](https://github.com/JakeMalis).
- Completed Doctor修复警告并在受管网关仍在启动时成功退出;之后检查网关状态以确认准备就绪。 [#164261](https://github.com/openclaw/openclaw/pull/164261)。谢谢[@steipete](https://github.com/steipete),[@waynegault](https://github.com/waynegault).
- Update JSON 输出省略了人工清理进度线,同时保留结构化清理结果。 [#164312](https://github.com/openclaw/openclaw/pull/164312)。感谢 [@steipete](https://github.com/steipete).
- Updates 在更换网关之前检测已停用的语音呼叫日志,并首先通过 2026.9.7 Doctor 指导受影响的用户。 [#164330](https://github.com/openclaw/openclaw/pull/164330)。感谢 [@steipete](https://github.com/steipete).
- 修复超时 JSON 即使网关恢复也失败,也会保留失败的结果和原始卡住阶段。 [#164337](https://github.com/openclaw/openclaw/pull/164337)。感谢 [@steipete](https://github.com/steipete).
- 当 Linux 创建时元数据不可用时,Doctor 可以发布未更改的迁移前备份,保留文件身份、大小、哈希和所有权检查。 [#164363](https://github.com/openclaw/openclaw/pull/164363)。谢谢[@jayzhou2309](https://github.com/jayzhou2309),[@steipete](https://github.com/steipete),[@StevenKrebs](https://github.com/StevenKrebs),[@kirylh](https://github.com/kirylh),[@stunt4711](https://github.com/stunt4711).
- 嵌套工作区设置文件在进一步升级之前需要2026.9.7 doctor --fix;已停用的嵌套字节保持不变,并且仍支持根级导入。 [#164399](https://github.com/openclaw/openclaw/pull/164399)。感谢 [@steipete](https://github.com/steipete).
- 修复的更新程序接受目标未更改的重新创建的命令链接;较旧的 Claude Code 恢复提示警告正常自定义适用。 [#164438](https://github.com/openclaw/openclaw/pull/164438)。感谢 [@steipete](https://github.com/steipete).
- Doctor 在释放维护资源之前完成数据库清理,防止其剩余租约阻碍以后的修复。 [#164503](https://github.com/openclaw/openclaw/pull/164503)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 更新围绕保留代理删除保留进行,而Doctor保留不确定的存储并解释保留代理恢复。 [#164509](https://github.com/openclaw/openclaw/pull/164509)。感谢 [@steipete](https://github.com/steipete)、[@rosmiroslav-create](https://github.com/rosmiroslav-create)、[@PollyBot13](https://github.com/PollyBot13).
- Container 所有权恢复使用经过验证的进程死亡或超过 90 秒的心跳,保护经过验证的实时所有者。 [#164546](https://github.com/openclaw/openclaw/pull/164546)。感谢 [@steipete](https://github.com/steipete)、[@Alex-vonAllmen](https://github.com/Alex-vonAllmen)、[@coygeek](https://github.com/coygeek).
- Doctor 报告实际的更新数据库或恢复清单结果;一次性检查快照删除失败会在其读取器关闭后发出警告。 [#164697](https://github.com/openclaw/openclaw/pull/164697)。感谢 [@steipete](https://github.com/steipete).
- Doctor 和网关启动可以重新启用已验证已禁用的 Windows 网关任务,并具有配置文件感知指导和外部启动器拒绝功能。 [#164728](https://github.com/openclaw/openclaw/pull/164728)。谢谢[@steipete](https://github.com/steipete),[@taoxia255-del](https://github.com/taoxia255-del).
- Reports 在稍后崩溃后保留了 Doctor 的检查完成消息;非零或信号退出仍然无法通过验证。 [#164853](https://github.com/openclaw/openclaw/pull/164853)。谢谢[@steipete](https://github.com/steipete),[@cunzai007-hub](https://github.com/cunzai007-hub).
- 当插件关闭挂钩超时时,Message 命令会保留其操作结果,并将未完成的共享状态清理报告为延迟。 [#164915](https://github.com/openclaw/openclaw/pull/164915)。感谢 [@steipete](https://github.com/steipete).
- 来自 2026.10.1-beta.1 的更新保留了包替换后所需的清理导入。 [#165855](https://github.com/openclaw/openclaw/pull/165855)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- Doctor 从 JSON 会话导入遗留待处理回复,而无需重复修复拒绝,保留准确的会话 ID、记录和原始存档字节。 [#165866](https://github.com/openclaw/openclaw/pull/165866)。感谢 [@SunnyShu0925](https://github.com/SunnyShu0925)、[@steipete](https://github.com/steipete)、[@609NFT](https://github.com/609NFT).
- 崩溃循环安全模式会保留中断的轮次重试,并在完全稳定窗口后恢复重播,除非发生另一次崩溃或关机干预。 [#166238](https://github.com/openclaw/openclaw/pull/166238)。感谢 [@steipete](https://github.com/steipete)、[@masatohoshino](https://github.com/masatohoshino)、[@KoalaShen](https://github.com/KoalaShen).
- 新的更新程序会在设备编号更改后刷新符合条件的已完成 Linux 收据;初始更新试运行也可以重写这些收据。 [#166394](https://github.com/openclaw/openclaw/pull/166394)。谢谢[@steipete](https://github.com/steipete),[@neilofneils404](https://github.com/neilofneils404).
- 2026.10.1-beta.2 更新器桥库存已恢复,并从桥选择中排除独立工作副本。 [#167091](https://github.com/openclaw/openclaw/pull/167091)。谢谢[@RomneyDa](https://github.com/RomneyDa),[@ericcurtin](https://github.com/ericcurtin),[@obviyus](https://github.com/obviyus),[@steipete](https://github.com/steipete),[@adele-with-a-b](https://github.com/adele-with-a-b), [@Patrick-Erichsen](https://github.com/Patrick-Erichsen),[@vincentkoc](https://github.com/vincentkoc).
- 当请求保存时,候选兼容性检查使原始配置文件数据库及其SQLite附属文件保持不变。 [5a19f360](https://github.com/openclaw/openclaw/commit/5a19f3608c28baf0a890526c82bf4e09f5dde32b)。感谢 [@steipete](https://github.com/steipete).
- 候选检查在请求时保留原始代理数据库文件,但仍然拒绝仅保存在日志中的较新模式。 [89217d3b](https://github.com/openclaw/openclaw/commit/89217d3b875373f5ba4f63dfc5e23fa9ca744ba6)。感谢 [@steipete](https://github.com/steipete).
- 临时数据库快照在模块重新加载后仍然存在; shutdown 等待读取器,并且陈旧清理无法删除替换快照。 [7b64dada](https://github.com/openclaw/openclaw/commit/7b64dadaeeb43212fb23787feaf8722f56a45032)。感谢 [@steipete](https://github.com/steipete).
- 显式通道更改将调用者和托管服务兼容性检查分开,保留每个配置文件的设置。 [1794d8b4](https://github.com/openclaw/openclaw/commit/1794d8b4ef8dde46f39a16da2bdbcf0bf2b519ef)。感谢 [@steipete](https://github.com/steipete).
- 更新重新检查验证期间保存的设置,并在需要时重新选择隐式通道;不兼容或反复更改设置仍然会停止激活。 [b36eb3e7](https://github.com/openclaw/openclaw/commit/b36eb3e7b11afb2774d1f6ab41977df4713269ff)。感谢 [@steipete](https://github.com/steipete).
- 更新进度保存在数据库工作人员中运行;延迟保存不能让替换或撤销的更新继续。 [ea4aaef1](https://github.com/openclaw/openclaw/commit/ea4aaef16715c65bf9a9530a1e275bdbf84f548e)。感谢 [@steipete](https://github.com/steipete).
- 配置触发的网关在重复的文件观察器通知后继续重新启动,同时保留准备状态和秘密检查。 [a4cc77c3](https://github.com/openclaw/openclaw/commit/a4cc77c355f50dc650087815b43a2b73a34c29ae)。感谢 [@steipete](https://github.com/steipete).
- 当其起始目录消失时,可以通过从有效的临时目录启动只读工作器来继续更新验证。 [8e303782](https://github.com/openclaw/openclaw/commit/8e303782bb5677edbb27c77c222b568fb692dbbf)。感谢 [@steipete](https://github.com/steipete).
- 更正的已安装更新程序在替换包含其起始目录的安装时保留相对用户、会话和本地包路径。 [6830c82e](https://github.com/openclaw/openclaw/commit/6830c82ea080767b8953edce13a3e543eed419da)。感谢 [@steipete](https://github.com/steipete).
- 通过最终验证和结果报告,交互式更新进度仍然可见。 [82fe5e96](https://github.com/openclaw/openclaw/commit/82fe5e962f72a54bc80c43cb9b2a116228bafb3b)。感谢 [@steipete](https://github.com/steipete).
- Eligible Windows 更新在回滚捕获之前解决挂起的数据库日志写入;另一个连接仍然限制快照只能手动恢复。 [9863e3f9](https://github.com/openclaw/openclaw/commit/9863e3f97ab4ad345ebbdcb575e6d310b13d40a1)。感谢 [@steipete](https://github.com/steipete).
- 当数据库访问被拒绝时,挂起的会话维护回调会停止,从而避免在不更改限制的情况下出现未处理的错误。 [5ca95288](https://github.com/openclaw/openclaw/commit/5ca95288927072852018ac363be57bb5154032a6)。感谢 [@steipete](https://github.com/steipete).
- Gateway 检查可识别 Bun 监视和热命令以及单独的 Node 堆限制值;工作器诊断忽略运行时堆栈字段。 [4c7d05d9](https://github.com/openclaw/openclaw/commit/4c7d05d917325b77836455a55837ecb2b1b23eef)。感谢 [@steipete](https://github.com/steipete).
- Blank 迁移计划快照路径在人工和机器输出中收到特定参数错误。 [71b857a7](https://github.com/openclaw/openclaw/commit/71b857a75b52b64bded377bda4f53086897a8283)。感谢 [@steipete](https://github.com/steipete).
- 退休的传出和会话JSON队列在重试之前需要完整的状态和媒体备份、原始主机2026.9.7及其Doctor;不得重播保留的恢复工件。 [ff96d47c](https://github.com/openclaw/openclaw/commit/ff96d47c3506c50123a555332e6a6cc576b2559f)。感谢 [@steipete](https://github.com/steipete).
- Gateway 启动使 webhook 配置字节保持不变,以用于仅完成标记;实际修复需要医生并随后重新启动。 [b978fc0e](https://github.com/openclaw/openclaw/commit/b978fc0e0e7107b1a6bfa00989557e0aa51d2641)。感谢 [@steipete](https://github.com/steipete).
- Doctor在规划之前备份和修复支持的Claw所有权历史列;包删除保留当前所有权并保护修改或共享的文件。 [de1f4385](https://github.com/openclaw/openclaw/commit/de1f4385dc66f31f586b79f3e274007e0e3da253)。感谢 [@steipete](https://github.com/steipete).
- 保存前面的恢复后读取的重叠会话恢复请求,避免错误冲突,同时保留访问检查。 [2a206318](https://github.com/openclaw/openclaw/commit/2a206318a7f53bfaa0aa9112c21aed405ac6ab16)。感谢 [@steipete](https://github.com/steipete).
- Shareable 失败更新报告在删除私人详细信息后保留公共安全原因,包括运行任何命令之前的失败。 [fc7e71ba](https://github.com/openclaw/openclaw/commit/fc7e71bad25845ba8c23ddd6f3c44ded11a9f427)。感谢 [@steipete](https://github.com/steipete). 感谢 [@iancollyer87](https://github.com/iancollyer87) 报告问题。
- Doctor 和临时代理命令在释放访问或删除存储之前等待后台数据库维护。 [b58e6e98](https://github.com/openclaw/openclaw/commit/b58e6e98933e82d956cad7991c3df4c312665f8c)。感谢 [@steipete](https://github.com/steipete).
- 当临时文件清理也失败时, 快照错误保留其原始解释。 [20f485c7](https://github.com/openclaw/openclaw/commit/20f485c7af9185eb29707fb7d8d879ce6b88ca33)。感谢 [@steipete](https://github.com/steipete).
- Doctor可以在没有活动或不可验证的网关所有者阻止维护时检查隔离状态以开始修复;普通阅读仍然尊重隔离。 [6d4ee0af](https://github.com/openclaw/openclaw/commit/6d4ee0afd92e9636b81b6e9bdb65a7367f072bc6)。感谢 [@steipete](https://github.com/steipete).
- 当前更新可以应用公认的旧版配置修复,而无需通道选项,从而保留存储的通道。 [d1006ac0](https://github.com/openclaw/openclaw/commit/d1006ac0a2066bfc78334b4a5433c1ded40a9051)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 候选配置检查保留支持的旧修复计划,无需切换通道或写入原始文件。 [107b2353](https://github.com/openclaw/openclaw/commit/107b2353d13e2a793ef1fbac6301585b310bccac)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 当缺少官方插件安装被推迟时,Update 排练会保留 Telegram、Feishu、Teams 和 Nextcloud Talk 的历史 Webhook 侦听器设置。 [237b7b91](https://github.com/openclaw/openclaw/commit/237b7b91fd69e5d3963d9e94eb8f727768530726)。感谢 [@RomneyDa](https://github.com/RomneyDa). 感谢 [@shakkernerd](https://github.com/shakkernerd) 的原始 webhook 迁移修复。
- Update,医生和交付所有权计时器可以处理向后的时钟变化和遥远的最后期限,而不会过早过期。 [15405665](https://github.com/openclaw/openclaw/commit/1540566502bde1656f525ef4f2b9283d1d310379)。感谢 [@steipete](https://github.com/steipete).
- 当较旧的导入记录指向另一个数据库时,Doctor 可以恢复可读的保留对话,从而保留当前设置和已知删除。缺失或模糊的历史记录可能会被推迟;该警告本身不再阻止更新者拥有的网关恢复。请参阅 [SQLite 维护](/cli/doctor/sqlite-maintenance)。 [#167538](https://github.com/openclaw/openclaw/pull/167538)。谢谢[@bipolar84](https://github.com/bipolar84),[@steipete](https://github.com/steipete).
- 安装固定更新程序后,`openclaw update repair`可以在已安装其候选包时清除待处理的恢复记录,保留恢复证据并允许以后更新。其他代错配仍需要检查。 [#167648](https://github.com/openclaw/openclaw/pull/167648)。谢谢[@cbhawthorne84](https://github.com/cbhawthorne84),[@steipete](https://github.com/steipete).
- 失败更新回滚可以在确认网关已停止且其端口空闲时恢复以前的安装,而无需等待正常的耗尽超时。仅拒绝连接是不够的。 [#167649](https://github.com/openclaw/openclaw/pull/167649)。感谢 [@alkor2000](https://github.com/alkor2000)、[@hannnnn-l](https://github.com/hannnnn-l)、[@steipete](https://github.com/steipete).
- Triage 将待处理的包恢复报告为未修复并指向 `openclaw update repair`,即使 Doctor、当前运行状况和上次更新记录看起来成功也是如此。本指南不执行修复。请参阅 [ 更新恢复](/cli/update/repair-and-recovery#update-repair)。 [#167782](https://github.com/openclaw/openclaw/pull/167782)。谢谢[@steipete](https://github.com/steipete),[@waynegault](https://github.com/waynegault).
- 用于经过验证的 pnpm 全局安装的新 Windows 网关启动器遵循软件包替换,而不是指向已删除的版本。使用当前安装中的 `openclaw gateway install --force` 修复现有的过时启动器。请参阅 [Windows 设置 ](/platforms/windows)。 [#167905](https://github.com/openclaw/openclaw/pull/167905)。谢谢[@SMF12138](https://github.com/SMF12138),[@steipete](https://github.com/steipete).
- `openclaw update repair --yes` 可以释放早期更新程序(包括手动升级后)留下的合格的放弃子所有权。它还可以在普通的活动更新程序旁边完成,同时保持更新程序的所有权不变。实时或不可检查的废弃工作所有者、幸存的进程组、模糊的历史记录和未完成的回滚仍然受到保护;可能需要原始OS账户和检查权限。请参阅 [ 修复和恢复 ](/cli/update/repair-and-recovery)。 [#168043](https://github.com/openclaw/openclaw/pull/168043),[#168197](https://github.com/openclaw/openclaw/pull/168197),[#168198](https://github.com/openclaw/openclaw/pull/168198)。谢谢[@farisoftfry](https://github.com/farisoftfry),[@steipete](https://github.com/steipete),[@alkor2000](https://github.com/alkor2000),[@amittell](https://github.com/amittell),[@frankhli843](https://github.com/frankhli843), [@goutamadwant](https://github.com/goutamadwant)、[@hannesrudolph](https://github.com/hannesrudolph)、[@hannnnn-l](https://github.com/hannnnn-l)、[@jacobtomlinson](https://github.com/jacobtomlinson)、[@jlapenna](https://github.com/jlapenna)、 [@obviyus](https://github.com/obviyus)、[@Oldrich333](https://github.com/Oldrich333)、[@RomneyDa](https://github.com/RomneyDa)、[@SMF12138](https://github.com/SMF12138)、[@Tosko4](https://github.com/Tosko4)、 [@waynegault](https://github.com/waynegault),[@yu-xin-c](https://github.com/yu-xin-c).
- Doctor并更新修复复用已记录的延续或接管权限,在检查当前所有权后,避免冗余的数据库扫描。冷读和其他服务检查延迟仍然可能存在。参见[医生恢复](/cli/doctor/recovery)。 [#168069](https://github.com/openclaw/openclaw/pull/168069)。感谢 [@obviyus](https://github.com/obviyus)、[@steipete](https://github.com/steipete)、[@Tosko4](https://github.com/Tosko4).
- Post-install Doctor 在从旧版本(包括 2026.8.2)更新时可以工作,无需环境变量解决方法。属于另一个 Doctor 调用的无效运行 ID 和收据仍然会被拒绝。 [0322c196](https://github.com/openclaw/openclaw/commit/0322c1969400d2674094f829d0a0a294ebd77947)。谢谢[@GoDiao](https://github.com/GoDiao),[@steipete](https://github.com/steipete).
### 消息传递
- 当 Telegram 回复可以在相关照片、转发的注释和附件已在繁忙的主机上排队或符合条件的附件下载缓慢时一起使用它们。相册在每个聊天或主题中保持其到达顺序,来自一个发件人的连续消息可以在忙碌的代理后面单独排队。收集仍然是有限制的,所以迟到的人仍然可以形成另一个转弯。
- Telegram 代理在具有 [ 图像功能 ](/nodes/media-understanding) 时可以看到作为文件发送的受支持图像。带连字符的命令保持可复制,深度嵌套的回复成为带有媒体链接的可读文本,[丰富的消息](/channels/telegram/rich-messages)保留明确的数字用户提及。长单代理任务可以通过回复插件传递已完成的 [ 进度消息 ](/channels/telegram/messaging) ,尊重流选择退出。进度链接在没有网站预览卡的情况下仍然可点击。
- 在支持的引用列表或紧凑数组中发送多个文件可以使每个附件保持顺序,包括带有空格或逗号的文件名。长代码块和不寻常的行结尾保留其格式和标题。支持的纯语音答案可以与模型推理一起完成,无需填充聊天文本。请参阅 [TTS 回复指南](/tools/tts/commands) 和 [ 受限配置文件设置 ](/tools/tts/api#tool-profiles)。
- 来自远程工作人员的回复会附加其实际文件,包括在复制回工作区之前发送的完整回复。在附加输出之前,将输出从其分配的工作区外部复制到该工作区中;不可读的文件会产生标记故障,而不是替换网关文件。
- A 排队的后续请求在其原始请求关闭后仍然可以完成,并且系统时钟更改不再延长其正常的安静期。在加载模型设置时取消可以释放下一条消息的对话。重置和删除等待已经开始处理的通道工作。
- 后台命令和重新启动回复返回到它们所属的符合条件的 Web 对话。受影响的通道在睡眠唤醒维护后继续应答,并且设置未更改的通道可以在不相关的插件重新加载后完成准备好的应答。成功的后台媒体请求在等待结果时不再显示错误的丢失回复通知。
- 允许 Discord 父通道允许代理发现其活动线程,而无需服务器范围的通配符;显式线程拒绝仍然有效。长模型 ID 通过提交保留完整选择;如果目录不再解析它,请重新打开 `/models`。语音连接和播放使用经过的时间,因此更改系统时钟不会延长或缩短该余量。
- Slack后备进度卡默认显示更安静的旁白;现有选项仍然支持详细的工具活动。Slack和Matrix预览在显示可能是静默回复指令的片段之前会等待。Matrix当帐户读取失败时,通过停止联系人映射写入来保留不相关的联系人;读取恢复后重试修复。
- Each [WhatsApp 名为 account](/channels/whatsapp) 使用自己的群组回复首选项,回退到其配置的提及策略。如果某个组依赖于旧的共享设置,请使用目标帐户在该组中重新运行 `/activation always` 或 `/activation mention`。 Doctor 保留已配置的帐户,并对不明确的未链接默认值发出警告;在删除不需要的默认设置之前,请自行检查并保留所需的共享策略。
- IMAP 追赶批次消息,Tlon 邀请可以更新,格式错误的 Mattermost 回调收到无效请求响应,并且 Twilio 断开清除陈旧的呼叫流注册。早期[Reef发送](/channels/reef)没有投递记录可以保持未知;重新发送前请与收件人核实。较晚拒绝这些旧发送不再启动 15 分钟的冷却时间,因此较晚的拒绝可能会允许自动重新发送。
- 升级非常旧的通道设置或数据可能需要桥接版本。保留 **完整的更新前备份** 并遵循 [ 旧版本升级指南 ](/install/updating#upgrading-very-old-versions)。已停用的 Nextcloud Talk 重播缓存、Discord JSON preferences/bindings、Telegram sidecar 和选定的 Matrix/Slack 设置需要 **2026.9.5**桥。退役的Discord语音-TTS和行会频道设置需要**2026.9.7**医生。在更新之前迁移旧的 Matrix JSON 状态,并且切勿针对已升级的共享数据库运行旧版本。非常旧的 Mattermost `allowPrivateNetwork` 别名会失去其 Doctor 转换;保留原始配置,因为已确认的恢复路径仍未解析。
- 如果 Telegram 设置包含完整的机器人端点而不是 API 根,请运行 `openclaw doctor --fix` 并重新启动;只读源需要手动更正。手动替换软件包后,受影响的旧 Telegram 轮询偏移和共享根 WhatsApp 凭据在帐户启动前也需要 Doctor。旧的未版本控制的 Telegram 回复上下文在再次观察到消息之前不可用,并且没有记录身份的助理回复可能会在上下文中出现两次。支持的对话历史记录仍然可用。
Telegram 设置命令和技能调用可以等待待决问题,而不会丢失它。停止,`/new` 和 `/reset` 仍然取消待处理的工作。
来源和完整修复列表
**Telegram 相册及转发消息**
- E 符合条件的转发附件在下载前进行缓冲,在缓慢下载期间将其注释和上下文保留在一起;可重试的下载失败会使突发挂起。 [#162787](https://github.com/openclaw/openclaw/pull/162787),感谢[@steipete](https://github.com/steipete).
- Telegram 转发的文本和媒体可以在一秒的安静窗口和五秒的批量截止日期内跨单独的民意调查进行合并。 [#163286](https://github.com/openclaw/openclaw/pull/163286),感谢[@steipete](https://github.com/steipete).
- 在忙碌的客服人员后面排队的相册保留其聊天或主题到达顺序,避免在等待时可能重播或放错照片的重试。 [#163926](https://github.com/openclaw/openclaw/pull/163926),感谢[@steipete](https://github.com/steipete).
- 同一发送者 Telegram 消息和转发批次可以在代理繁忙时在队列中占据单独的位置,从而避免与超时相关的重播和等待时的意外合并。 [#164549](https://github.com/openclaw/openclaw/pull/164549),感谢[@steipete](https://github.com/steipete).
- Telegram 保存已在本地待办事项中排队的匹配项目的相册和转发集合。收集仍然是有限的,因此后来到达的人可以形成另一个回合。 [db966d6](https://github.com/openclaw/openclaw/commit/db966d62ae0fc6ec3da692dfd5dee3707e8a5b7a),感谢[@steipete](https://github.com/steipete).
**Telegram回复,丰富消息和进度**
- Telegram 将支持的图像文件路由到具有图像功能的代理,无需用户将其作为压缩照片重新发送; PDF 仍然是文档。 [#141292](https://github.com/openclaw/openclaw/pull/141292),感谢[@ooiuuii](https://github.com/ooiuuii),[@obviyus](https://github.com/obviyus),[@sercada](https://github.com/sercada).
- H连字符插件命令在 Telegram 命令帮助中保持完整且可复制,包括跨列表页面。 [#141332](https://github.com/openclaw/openclaw/pull/141332),感谢[@ooiuuii](https://github.com/ooiuuii),[@obviyus](https://github.com/obviyus).
- 当Telegram无法删除替换的媒体消息时,它会尝试清除旧的内联控件;如果编辑也失败,控件可以保留。 [#159012](https://github.com/openclaw/openclaw/pull/159012),感谢[@wakqasahmed](https://github.com/wakqasahmed),[@aniruddhaadak80](https://github.com/aniruddhaadak80),[@obviyus](https://github.com/obviyus).
- 替换的 Telegram 回合的 A 受保护预览在调度延迟或泛洪等待后无法覆盖当前回合的消息。 [#160137](https://github.com/openclaw/openclaw/pull/160137),感谢[@steipete](https://github.com/steipete),[@obviyus](https://github.com/obviyus).
- 深度嵌套的 Telegram 丰富回复将多余的嵌套呈现为带有媒体源链接的可读文本,而不是溢出调用堆栈。 [#160437](https://github.com/openclaw/openclaw/pull/160437),感谢[@Ayushdevo](https://github.com/Ayushdevo),[@obviyus](https://github.com/obviyus),[@hpyhandsome](https://github.com/hpyhandsome).
- Completed Telegram [流式处理进度块](/concepts/streaming)可以在应用了回复插件的长单代理任务期间出现,而显式流式传输和块选择退出仍然有效。 [#161546](https://github.com/openclaw/openclaw/pull/161546),感谢[@VACInc](https://github.com/VACInc),[@sercada](https://github.com/sercada).
- 无效 Telegram 主题零发送前被拒绝;使用积极的主题 ID 或省略普通聊天的主题。 [#162197](https://github.com/openclaw/openclaw/pull/162197),感谢[@adamczhang](https://github.com/adamczhang),[@aniruddhaadak80](https://github.com/aniruddhaadak80),[@obviyus](https://github.com/obviyus).
- Telegram 丰富消息在发送或编辑时将安全数字 `tg://user?id=` 链接转换为命名提及。 [#162523](https://github.com/openclaw/openclaw/pull/162523),感谢[@jayzhou2309](https://github.com/jayzhou2309),[@alexph-dev](https://github.com/alexph-dev),[@obviyus](https://github.com/obviyus).
- Telegram 进度链接会抑制网站卡,而不更改帐户的最终答案预览首选项,包括进度和最终文本匹配时。 [#163727](https://github.com/openclaw/openclaw/pull/163727),感谢[@ivan-magda](https://github.com/ivan-magda).
- Telegram 消息工具发送(包括本机内联按钮)在受影响的 ACP 或聊天切换后工作,而没有无效的推断回复目标。 [#165137](https://github.com/openclaw/openclaw/pull/165137),感谢[@mbelinky](https://github.com/mbelinky).
**附件、文字和语音回复**
- 当请求者无法被唤醒时,通过直接消息后备发送的已完成的子代理工作会保留附件、无字幕媒体和语音注释意图;部分终端发送不会自动重复。 [#142852](https://github.com/openclaw/openclaw/pull/142852),感谢[@Finn763](https://github.com/Finn763),[@obviyus](https://github.com/obviyus),[@hotfemale](https://github.com/hotfemale).
- 一条旧 `MEDIA:` 行上的多个以空格分隔、完全引用的路径按顺序作为单独的附件提供,保留文件名中的空格和标点符号。 [#150958](https://github.com/openclaw/openclaw/pull/150958),感谢[@zhangguiping-xydt](https://github.com/zhangguiping-xydt),[@obviyus](https://github.com/obviyus).
- TTS 文档显示 `tools.alsoAllow: ["tts"]` 用于 [ 受限刀具轮廓 ](/gateway/config-tools/tool-policy#tool-profiles),具有单独的 [ 自动语音输出指导 ](/tools/tts/output#auto-tts-behavior);默认情况下,受限制的配置文件不会获得 TTS。 [#155950](https://github.com/openclaw/openclaw/pull/155950),感谢[@fede-kamel](https://github.com/fede-kamel).
- 纯文本出站回复会保留受影响的表情符号或星体 Unicode 字母后面的比较文本,而不是将其作为明显标记删除。 [#160850](https://github.com/openclaw/openclaw/pull/160850),感谢[@steipete](https://github.com/steipete).
- 当删除内部文本时, 传出结构化通道数据保留其自己的 `__proto__` 字段。 [#160938](https://github.com/openclaw/openclaw/pull/160938),感谢[@steipete](https://github.com/steipete).
- 当选择基于换行的流数据块时,Discord 和 LINE 会在长消息中保留隔离代码。 [#162412](https://github.com/openclaw/openclaw/pull/162412),感谢[@boeingchoco](https://github.com/boeingchoco),[@altaywtf](https://github.com/altaywtf).
- 具有零或负限制的换行分块将围栏块及其后续段落保持在一起。 [#163255](https://github.com/openclaw/openclaw/pull/163255),感谢[@vincentkoc](https://github.com/vincentkoc).
- 以逗号分隔、引用的 `MEDIA:` 路径按顺序传送每个附件,同时保留名称中的标点符号。 [#163448](https://github.com/openclaw/openclaw/pull/163448),感谢[@sxh313](https://github.com/sxh313).
- Compact `MEDIA:` 数组保留每个列出的附件及其顺序,包括包含空格或逗号的文件名。 [#163627](https://github.com/openclaw/openclaw/pull/163627),感谢[@sxh313](https://github.com/sxh313).
- 使用仅回车符或混合行结尾的回复会保留附件、标题和文字围栏内容。 [#163665](https://github.com/openclaw/openclaw/pull/163665),感谢[@ly85206559](https://github.com/ly85206559),[@obviyus](https://github.com/obviyus).
- 换行分块在隔离或内联代码中保留 Unicode 行和段落分隔符。 [#163697](https://github.com/openclaw/openclaw/pull/163697),感谢[@ly85206559](https://github.com/ly85206559).
- A 选择的零或负媒体限制使用现有的有界回退,而不是拒绝每个缓冲区,从而恢复受影响的 Matrix 缓冲区发送。 [#163701](https://github.com/openclaw/openclaw/pull/163701),感谢[@sxh313](https://github.com/sxh313),[@obviyus](https://github.com/obviyus).
- 远程工作人员附件使用远程字节并强制指定工作空间路径边界,包括在已完成的实时回复中。 [#164219](https://github.com/openclaw/openclaw/pull/164219),感谢[@steipete](https://github.com/steipete).
- 当模型还返回推理时,A 非空白配对的 `[[tts:text]]` 语音块将被视为完整答案,从而允许受支持的入站通道传送音频而无需可见的填充文本。 [#164285](https://github.com/openclaw/openclaw/pull/164285),感谢[@obviyus](https://github.com/obviyus),[@Twilight-Networks](https://github.com/Twilight-Networks).
**排队消息和回复传送**
- 当系统时钟向后移动时, 排队的后续操作会在正常安静期后恢复。 [#160836](https://github.com/openclaw/openclaw/pull/160836),感谢[@nwang783](https://github.com/nwang783),[@aniruddhaadak80](https://github.com/aniruddhaadak80),[@obviyus](https://github.com/obviyus).
- Eligible Control UI 和 WebChat 后台命令或重新启动回复返回到自己的对话,而不是配置的心跳目标;失败的重启回复仍然可以重试。 [#161006](https://github.com/openclaw/openclaw/pull/161006),感谢[@Marvinthebored](https://github.com/Marvinthebored),[@Patrick-Erichsen](https://github.com/Patrick-Erichsen),[@oywino](https://github.com/oywino).
- 频道重新格式化的回复保留排队传送和完成跟踪所需的原始对话关联。 [#161123](https://github.com/openclaw/openclaw/pull/161123),感谢[@steipete](https://github.com/steipete).
- 成功的后台媒体请求可以确认请求并稍后传送结果,而不会在等待时出现错误的丢失回复或屈服失败通知。 [#161154](https://github.com/openclaw/openclaw/pull/161154),感谢[@obviyus](https://github.com/obviyus).
- 在模型设置发现期间取消回复会释放该回复,因此它不会阻止下一条对话消息。 [#161319](https://github.com/openclaw/openclaw/pull/161319),感谢[@Baumus](https://github.com/Baumus),[@obviyus](https://github.com/obviyus).
- [自定义通道](/plugins/sdk-channel-outbound)使用带有`deferredLaneOccupancy: release`的直接消息消耗可以在前一个处理程序立即延迟时启动下一个同通道消息。 [#161476](https://github.com/openclaw/openclaw/pull/161476),感谢[@xydigitLybnnnn](https://github.com/xydigitLybnnnn),[@aniruddhaadak80](https://github.com/aniruddhaadak80).
- 当回合在其成功的源聊天进度批次结束后结束时,OpenClaw 避免冗余的最终答案请求。 [#162367](https://github.com/openclaw/openclaw/pull/162367),感谢[@obviyus](https://github.com/obviyus).
- A 发送的最终回复将保留其完成结果,并在先前抑制回复的通知失败时发送通知;早期的错误仍然是可报告的。 [#162509](https://github.com/openclaw/openclaw/pull/162509),感谢[@steipete](https://github.com/steipete).
- 故意静默未经授权的组命令,避免错误的丢失传递警告。 [#163148](https://github.com/openclaw/openclaw/pull/163148),感谢[@obviyus](https://github.com/obviyus).
- 对话传送记录保留发送顺序,并且当其等待请求到期时,保存的答复仍然被消耗。 [#163222](https://github.com/openclaw/openclaw/pull/163222),感谢[@steipete](https://github.com/steipete).
- 受影响的通道侦听器可以在主机唤醒启动的维护工作关闭后继续发送回复。 [#163268](https://github.com/openclaw/openclaw/pull/163268),感谢[@scotthuang](https://github.com/scotthuang),[@obviyus](https://github.com/obviyus),[@ChenGuoShun1979](https://github.com/ChenGuoShun1979), [@Harvey-XuH](https://github.com/Harvey-XuH).
- Logs 识别已加载通道上不受支持的操作,而不是错误地报告其插件丢失。 [#163551](https://github.com/openclaw/openclaw/pull/163551),感谢[@jayzhou2309](https://github.com/jayzhou2309),[@axeg0](https://github.com/AXEG0).
- A 发货前明确拒绝不再在下一回合产生错误的不确定发货通知。 [#163769](https://github.com/openclaw/openclaw/pull/163769),感谢[@steipete](https://github.com/steipete).
- Prepared 在没有准备回调的通道上发送,可以在注册和设置保持不变的情况下,在不相关的插件重新加载后完成。 [#163893](https://github.com/openclaw/openclaw/pull/163893),感谢[@VACInc](https://github.com/VACInc).
- 已完成审批通知渠道清理,包括 Telegram 审批跟踪。 [#163969](https://github.com/openclaw/openclaw/pull/163969),感谢[@steipete](https://github.com/steipete).
- 仅消息工具答案保留完成历史记录,而其数据库工作在后台运行。 [#164112](https://github.com/openclaw/openclaw/pull/164112),感谢[@steipete](https://github.com/steipete).
- 会话重置或删除在排队取消后等待已启动的通道处理完成;空闲取消的转弯立即释放。 [#164247](https://github.com/openclaw/openclaw/pull/164247),感谢[@vincentkoc](https://github.com/vincentkoc).
- 当无法读取原始消息比较时,Chat 重试会报告可重试的不可用响应,而不是重播未经验证的答案。 [#164313](https://github.com/openclaw/openclaw/pull/164313),感谢[@steipete](https://github.com/steipete).
- 没有会话密钥的回复会保留会话 ID 和文件回退,而不会尝试无效的键控查找或耗尽键控事件。 [4a1c078](https://github.com/openclaw/openclaw/commit/4a1c07851faa9aa7fb50bc8de4f08e3134949e88),感谢[@steipete](https://github.com/steipete).
- 延迟排队的后续操作可以在触发请求关闭后完成,而不是在其关闭的工作生命周期内重复失败。 [3400fd9](https://github.com/openclaw/openclaw/commit/3400fd992cfce289f33e25271eaecfc7362e7e8d),感谢[@xialonglee](https://github.com/xialonglee)、[@Patrick-Erichsen](https://github.com/Patrick-Erichsen).相关提案:[#148025](https://github.com/openclaw/openclaw/pull/148025) (上下文)。
- 传入消息等待会话元数据完成保存,避免首次使用数据库初始化竞争。 [4324af4](https://github.com/openclaw/openclaw/commit/4324af413b0606667368b063814f49a598db8af9),感谢[@steipete](https://github.com/steipete).
- 即使在预订丢失后,重试受影响的已取消聊天请求也会返回其记录的超时;使用相同请求 ID 更改输入仍然存在冲突。 [9b83d35](https://github.com/openclaw/openclaw/commit/9b83d350f1841d632f28fbb24153669e330a36be),感谢[@steipete](https://github.com/steipete).
**Discord 线程、模型和语音**
- Discord 语音加入在系统时钟更改时保留其连接限额。 [#156979](https://github.com/openclaw/openclaw/pull/156979),感谢[@SunnyShu0925](https://github.com/SunnyShu0925),[@altaywtf](https://github.com/altaywtf).
- 允许读取 Discord 父通道的代理可以发现其允许的活动线程和成员记录,而无需服务器范围的通配符。明确的线程否认仍然适用。 [#160629](https://github.com/openclaw/openclaw/pull/160629),感谢[@PollyBot13](https://github.com/PollyBot13),[@Patrick-Erichsen](https://github.com/Patrick-Erichsen),[@postoso](https://github.com/postoso).
- 当组件传递回退到经典消息时,Discord 附件上传保留呼叫者的提及限制。 [#161604](https://github.com/openclaw/openclaw/pull/161604),感谢[@steipete](https://github.com/steipete).
- Discord 和 OpenAI 实时语音编解码器处理增加了分配或部分初始化失败后的输入验证和清理。 [#162592](https://github.com/openclaw/openclaw/pull/162592),感谢[@vincentkoc](https://github.com/vincentkoc).
- Discord 播放截止时间可以容忍系统时钟更改,避免由该触发导致的中断或延迟清理。 [#163652](https://github.com/openclaw/openclaw/pull/163652),感谢[@ly85206559](https://github.com/ly85206559).
- Discord 的选择器缩短了超过 100 个字符的模型 ID 的显示标签,同时通过提交保留了准确的完整选择。如果目录不再解析选择,则重新打开`/models`;共享前缀仍然可以产生相同的显示标签。 [#164311](https://github.com/openclaw/openclaw/pull/164311),感谢[@ooiuuii](https://github.com/ooiuuii),[@obviyus](https://github.com/obviyus).
**Slack、Matrix、WhatsApp等通道**
- [Nextcloud Talk 指南](/channels/nextcloud-talk) 分别解释了消息接收、权限检查和回复传递,因此 Webhook 确认不会被误认为是完整的答案。 [#157715](https://github.com/openclaw/openclaw/pull/157715),感谢[@deepujain](https://github.com/deepujain),[@jm9151821](https://github.com/jm9151821).
- 可选的[IMAP插件](/automation/imap)在追赶期间以20个为一组获取待处理的消息正文,保留有序重试,而无需一次保留每个正文。 [#160413](https://github.com/openclaw/openclaw/pull/160413),感谢[@Ayushdevo](https://github.com/Ayushdevo),[@obviyus](https://github.com/obviyus),[@addyCooks](https://github.com/addyCooks).
- Slack 和 Matrix 草稿预览可能包含单独的 `N` 静音标记片段,而以 N 开头的普通单词和真正的结尾 N 仍然可以交付。 [#160582](https://github.com/openclaw/openclaw/pull/160582),感谢[@jayzhou2309](https://github.com/jayzhou2309),[@imabotone-ui](https://github.com/imabotone-ui),[@nashtu3000](https://github.com/nashtu3000), [@obviyus](https://github.com/obviyus).
- 自动通道解析接受 Slack 工作区限定的用户 ID,无需 `--kind user` 解决方法。 [#160619](https://github.com/openclaw/openclaw/pull/160619),感谢[@LinzeShi](https://github.com/LinzeShi),[@obviyus](https://github.com/obviyus).
- Slack 后备卡默认使用安静旁白。设置`channels.slack.streaming.progress.toolProgress: true`以获取详细活动;当在保留后备卡的同时显式禁用它时,还要选择 `style: card`。 [#161472](https://github.com/openclaw/openclaw/pull/161472),感谢[@steipete](https://github.com/steipete).
- Tlon 可以根据现有的自动接受和邀请人规则,在先前的邀请结束后处理续订的群组邀请。 [#161596](https://github.com/openclaw/openclaw/pull/161596),感谢[@steipete](https://github.com/steipete).
- A 失败 Matrix 帐户数据读取会停止直接房间映射写入,而不是删除不相关的联系人。 [#161727](https://github.com/openclaw/openclaw/pull/161727),感谢[@steipete](https://github.com/steipete).
- 当待配对队列已满时,Matrix 会默默拒绝多余的请求,而不是发送空代码或错误的批准提醒。 [#161767](https://github.com/openclaw/openclaw/pull/161767),感谢[@steipete](https://github.com/steipete).
- 包含 Mattermost 交互回调包含 JSON `null` 返回无效主体响应,而不是引发上下文异常。 [#162603](https://github.com/openclaw/openclaw/pull/162603),感谢[@steipete](https://github.com/steipete).
- WhatsApp 命名帐户不再继承旧的无范围组激活设置;需要时在目标帐户组中重新运行所需的 `/activation` 命令。 [#162799](https://github.com/openclaw/openclaw/pull/162799),感谢[@steipete](https://github.com/steipete).
- Reef 的模型防护在其现有验证规则下接受确切的 `gpt-6.1-sol` ID。 [#162955](https://github.com/openclaw/openclaw/pull/162955),感谢[@steipete](https://github.com/steipete).
- Early Reef 在没有规范收据的情况下发送,保留未知的传送状态,而不施加历史拒绝冷却时间。重新发送前请与收件人核实;后来记录的拒绝保留了谨慎的改写规则。 [#163205](https://github.com/openclaw/openclaw/pull/163205),感谢[@steipete](https://github.com/steipete).
- Tlon 将配置的模型名称(例如 `constructor` 和 `toString`)显示为普通字符串。 [#163438](https://github.com/openclaw/openclaw/pull/163438),感谢[@steipete](https://github.com/steipete).
- Twilio 甚至会清除空流 - ID 在断开连接时注册,以便下一个入站呼叫可以流式传输。 ngrok 环回选项需要有效的 Twilio 签名。非常旧的 Mattermost `allowPrivateNetwork` 别名会失去其 Doctor 转换;保留原始配置,因为已确认的恢复路径仍未解决。 [#163767](https://github.com/openclaw/openclaw/pull/163767),感谢[@steipete](https://github.com/steipete).
- Doctor 保留现有的渠道帐户映射和 WhatsApp 共享策略。它会警告操作员审查不明确的未链接默认值,而不是删除它们;在显式删除不需要的默认策略之前保留所需的共享策略。 [#163974](https://github.com/openclaw/openclaw/pull/163974),感谢[@steipete](https://github.com/steipete),[@ooiuuii](https://github.com/ooiuuii).
- Matrix 部分 [ 消息预览](/concepts/messages) 保留标点符号前缀的静音标记片段,例如 `.NO_REP`;不同的文本恢复流式传输,并且真正的最终片段仍然可以交付。 [#164259](https://github.com/openclaw/openclaw/pull/164259),感谢[@ooiuuii](https://github.com/ooiuuii),[@obviyus](https://github.com/obviyus).
**频道设置和升级**
- Telegram 故障排除将 Node 网络阈值与 OpenClaw 维护的 [ 支持的运行时要求 ](/install/node) 区分开来。 [#159240](https://github.com/openclaw/openclaw/pull/159240),感谢[@AmelioMansour](https://github.com/AmelioMansour),[@aniruddhaadak80](https://github.com/aniruddhaadak80).
- Doctor 使用私有 `.migrated` 备份和冲突保留将隐式共享根 WhatsApp 凭证导入到 `credentials/whatsapp/default` 中。手动更换后,运行`openclaw doctor --fix`,如果需要,请先升级核心。显式的 `authDir` 保持权威。删除报告的忽略的 `exposeErrorText` 密钥(包括错误值),或使用其记录的 2026.9.5 Doctor 桥。 [#163203](https://github.com/openclaw/openclaw/pull/163203),感谢[@steipete](https://github.com/steipete).
- Nextcloud Talk 保留并拒绝废弃的重放重复数据删除 JSON 文件;在升级之前,使用同一配置文件中的 2026.9.5 Doctor 迁移受影响的状态。 [#163216](https://github.com/openclaw/openclaw/pull/163216),感谢[@steipete](https://github.com/steipete).
- Matrix 保留并拒绝活动的 `thread-bindings.json` 和 `startup-verification.json` 文件。更新前迁移并保留兼容的更新前备份;旧版本不得打开已升级的共享数据库。 [#163292](https://github.com/openclaw/openclaw/pull/163292),感谢[@steipete](https://github.com/steipete).
- Discord 保留并拒绝旧的模型选择器首选项和线程绑定 JSON 文件。升级前使用更新前备份和 2026.9.5 Doctor 桥。 [#163329](https://github.com/openclaw/openclaw/pull/163329),感谢[@steipete](https://github.com/steipete).
- Zalo 个人医生修复支持指定代理的旧直接消息密钥,无需转换真正的组;运行 `openclaw doctor --fix` 以了解受影响的状态。 [#163399](https://github.com/openclaw/openclaw/pull/163399),感谢[@steipete](https://github.com/steipete).
- 正常更新在启动前备份并修复较旧的 Telegram SQLite 轮询偏移。手动更换需要`openclaw doctor --fix`;仅 sidecar 历史状态需要完整的更新前备份和 2026.9.5 桥接器。通过记录的迁移路径将已停用的 `groupMentionsOnly` 替换为 `groups["*"].requireMention`。 [#163418](https://github.com/openclaw/openclaw/pull/163418),感谢[@steipete](https://github.com/steipete).
- Discord 审核遵循 `allowFrom`,包括显式空覆盖,并且超时操作保留超时错误。医生正确命名为`dangerouslyAllowNameMatching`。退役的Discord语音-TTS提供商和行会频道`allow`或`agentId`设置需要2026.9.7医生才能升级;替换使用 `voice.tts.providers`、通道 `enabled` 和顶级绑定。 [#163728](https://github.com/openclaw/openclaw/pull/163728),感谢[@steipete](https://github.com/steipete).
- Matrix 限制配对跟踪,并在其兼容性分块器收到非正限制时保留原始空白文本。退役Matrix可信-DM、扁平专网和room/group允许设置,加上Slack通道允许设置,升级前需要2026.9.5 Doctor。 [#163740](https://github.com/openclaw/openclaw/pull/163740),感谢[@steipete](https://github.com/steipete).
- 旧的未版本化 Telegram 回复上下文将变得不可用,直到再次观察到消息为止,并且没有记录身份的助理回复可以出现在回复上下文和文字记录中。支持的历史记录仍然可用。 [#164173](https://github.com/openclaw/openclaw/pull/164173),感谢[@steipete](https://github.com/steipete).
- Telegram 报告完整的机器人端点配置,并指导操作员在启动、探测或发送之前进行医生修复,而不是默默地修剪 URL。 [#164414](https://github.com/openclaw/openclaw/pull/164414),感谢[@steipete](https://github.com/steipete).
- Telegram 设置命令和技能调用会在未决问题后面等待,而不是默默地丢失它。授权停止,`/new`和`/reset`仍取消未决工作。 [#168004](https://github.com/openclaw/openclaw/pull/168004)。谢谢[@obviyus](https://github.com/obviyus),[@vicary](https://github.com/vicary).
### 内存
- Search 和 Dreaming 在不同语言中保留不同的记忆,Wiki 搜索保留重音和非拉丁单词。支持的巴西葡萄牙语问题可以促进更深入的查找,普通的对话摘要笔记也可以用于 Dreaming。空白搜索提供关键字重试指导,文件名搜索避免重复扫描,并且回忆说明考虑了可选的 Wiki。请参阅 [ 会话搜索指南 ](/concepts/session-search)、[ 活动内存查找说明 ](/concepts/active-memory/how-it-works) 和 [ 调用设置指南 ](/concepts/active-memory/enabling#remember-across-conversations)。
- 当插件委托内置压缩时,长对话可以完成需要几个阶段的摘要。每个请求都是有限制的;插件作者必须传递原始主机取消信号才能应用此修复。自动摘要使用您的推理设置和当前对话大小,将请求的 AGENTS.md 摘录与不相关的材料分开,并将已完成的检查与仍需要的工作区分开来。请参阅 [ 上下文引擎指南](/plugins/architecture-internals/context-engines)、[ 压缩设置](/gateway/config-agents/heartbeat-compaction-and-streaming)、[ 压缩策略](/reference/session-management-compaction/compaction) 和[ 概述](/concepts/compaction)。
- 在数据库限制或死锁阻止索引后,大型对话历史记录可以再次变得可搜索。内存更新和清理会将更多数据库工作放在后台,并且排除的仅系统会话会停止错误地显示索引需要更新。忘记保留原始记录并从未来的索引中排除选定的会话;如果结果不确定,请显式重试。
- 内存搜索可以在中断后通过主嵌入提供程序恢复,而无需重新启动或重建索引。当提供程序、模型和设置与保存的索引匹配并且回退不兼容时,稍后的搜索会尝试恢复;尝试有 30 秒的冷却时间,并且可以使用兼容的后备方案。 Bedrock 索引还共享凭证查找而不阻止轮换,而当以中文报告其 64 项限制时,Zhipu 会批量分割并重试。
- 内存搜索可以再次使用符合条件的已保存 Codex OAuth 帐户进行 OpenAI 嵌入,而无需单独的 API 密钥。该帐户必须具有所需的访问权限:单独的“使用 ChatGPT 登录”令牌共享授予不会授权嵌入。
- 当本机文件监视不可用或选择轮询时,内存和技能编辑使用 30 秒轮询默认值。 `CHOKIDAR_INTERVAL` 覆盖该默认值,低至 20 毫秒;较短的间隔意味着更多的背景扫描。允许出现编辑之前的间隔加上扫描和去抖时间。状态说明观看模式和回退原因;修复原生后端后重启 OpenClaw 再次尝试原生观看。
- 非常旧的 Dreaming 和 Wiki 安装需要升级恢复计划:Doctor 不再导入 4 个 7 月之前的 Dreaming JSON 期刊或两个较旧的 Wiki JSON 格式。文件保持完整,并且仍然支持普通 Markdown 内存。升级前保留与当前版本兼容的备份。没有更新的备份或已建立的 SQLite 状态的经过验证的恢复路径仍然丢失;将旧文件移到一边不会迁移其数据。请参阅 [ 内存指南 ](/concepts/memory) 和 [ 升级非常旧的版本 ](/install/updating#upgrading-very-old-versions)。
- 在升级之前检查较旧的 Wiki 设置并保留已停用的 Active Memory JSON 首选项。 Doctor 不再修复 Wiki 的 `bridge.readMemoryCore` 设置或警告这些偏好;如果没有以前的修复指南,旧的 Wiki 配置可能会无法通过验证。
托管 llama.cpp 索引使用较小的缺失默认值,同时保留显式调整。这会降低默认并发性和长输入容量,因此异常长的请求可能需要更大的现有 [llama.cpp 限制](/plugins/llama-cpp)。 Memory Wiki 还可以重用已完成的 CLI 编译,并且通过提供程序重新加载继续进行内存索引和梦想。
来源和完整变更列表
**搜索并召回**
- 当对话搜索为空时请求关键字重试 [#129120](https://github.com/openclaw/openclaw/pull/129120)。感谢 [@ruel225](https://github.com/ruel225)、[@obviyus](https://github.com/obviyus) 和 [@brainatworkharris](https://github.com/brainatworkharris).
- 识别支持的巴西葡萄牙语回顾性问题,以进行更深入的 Active Memory 查找 [#135137](https://github.com/openclaw/openclaw/pull/135137)。感谢 [@wangyan2026](https://github.com/wangyan2026)、[@obviyus](https://github.com/obviyus) 和 [@wave-workflow](https://github.com/wave-workflow).
- 避免对文件名和路径搜索进行重复的全索引扫描 [#152585](https://github.com/openclaw/openclaw/pull/152585)。感谢 [@sahilsatralkar](https://github.com/sahilsatralkar)、[@personaltrainerkoichan](https://github.com/personaltrainerkoichan)、[@aron-intframe](https://github.com/aron-intframe) 和 [@obviyus](https://github.com/obviyus).
- 指导助手使用成功的配置调用,而不将缺少的可选Wiki视为失败[#157089](https://github.com/openclaw/openclaw/pull/157089)。感谢 [@LLagoon3](https://github.com/LLagoon3) 和 [@obviyus](https://github.com/obviyus).
- 在 Memory Wiki 多词搜索中保留重音和非拉丁词 [#159683](https://github.com/openclaw/openclaw/pull/159683)。感谢 [@Yigtwxx](https://github.com/Yigtwxx) 和 [@altaywtf](https://github.com/altaywtf).
- 澄清配置的召回何时运行以及如何启用跨对话的记住 [#161179](https://github.com/openclaw/openclaw/pull/161179)。感谢 [@yashas-13](https://github.com/yashas-13)、[@obviyus](https://github.com/obviyus) 和 [@Raven-Gt](https://github.com/Raven-Gt).
- 使普通对话摘要笔记符合做梦的条件,同时过滤原始对话轮流[#161363](https://github.com/openclaw/openclaw/pull/161363)。感谢 [@Irish-Joseph](https://github.com/Irish-Joseph)、[@obviyus](https://github.com/obviyus) 和 [@Gabrielnkl](https://github.com/Gabrielnkl).
- 在配置的嵌入提供程序从中断中恢复后恢复搜索 [#163936](https://github.com/openclaw/openclaw/pull/163936)。感谢 [@obviyus](https://github.com/obviyus)、[@cknzraposo](https://github.com/cknzraposo) 和 [@hubofvalley](https://github.com/hubofvalley).
- 在搜索和做梦选择中保留独特的多语言记忆[#164062](https://github.com/openclaw/openclaw/pull/164062)。感谢 [@harshitgupta31415](https://github.com/harshitgupta31415) 和 [@jarimustonen](https://github.com/jarimustonen) 的修复并承认之前的工作。
**会话压缩**
- E 无需重新叙述历史即可估计活动对话上下文,该历史记录已被摘要 [#150623](https://github.com/openclaw/openclaw/pull/150623) 取代。感谢 [@goutamadwant](https://github.com/goutamadwant)、[@obviyus](https://github.com/obviyus)、[@BillBOT33](https://github.com/BillBOT33) 和 [@he-yufeng](https://github.com/he-yufeng).
- 在自动摘要 [#159476](https://github.com/openclaw/openclaw/pull/159476) 期间遵守配置的压缩推理级别。感谢 [@MoerAI](https://github.com/MoerAI)、[@obviyus](https://github.com/obviyus)、[@rtfcv](https://github.com/rtfcv) 和 [@he-yufeng](https://github.com/he-yufeng).
- 改进摘要说明,以保留发现问题的已完成检查并单独进行剩余补救措施[#161293](https://github.com/openclaw/openclaw/pull/161293)。感谢 [@itayzit](https://github.com/itayzit) 和 [@jacobtomlinson](https://github.com/jacobtomlinson).
- 将请求的 AGENTS.md 部分与不相关的附录分开,同时保留围栏示例 [#162735](https://github.com/openclaw/openclaw/pull/162735)。感谢 [@boeingchoco](https://github.com/boeingchoco).
- 在受影响的非 Codex Bun 对话路径和缺失的 Cloudflare 插件身份和活动图稿 [#163051](https://github.com/openclaw/openclaw/pull/163051) 中恢复基于转录的上下文估计。感谢 [@steipete](https://github.com/steipete).
- 刷新通过委托插件 [#163636](https://github.com/openclaw/openclaw/pull/163636) 达到的内置汇总阶段之间的超时。感谢 [@obviyus](https://github.com/obviyus).
**分度和维护**
- Run 在后台工作程序 [#161395](https://github.com/openclaw/openclaw/pull/161395) 中保存了条件指令的数据库工作。感谢 [@steipete](https://github.com/steipete).
- 在处理文件更改时重用观察程序路径以避免冗余工作 [#161495](https://github.com/openclaw/openclaw/pull/161495)。感谢 [@steipete](https://github.com/steipete).
- 将内存维护计划和遗忘会话读取到工作人员[#161741](https://github.com/openclaw/openclaw/pull/161741)中。感谢 [@steipete](https://github.com/steipete).
- 将生成的搜索向量缓存条目保存在工作线程中,同时检查索引是否仍然是当前的[#161831](https://github.com/openclaw/openclaw/pull/161831)。感谢 [@steipete](https://github.com/steipete).
- 对工作线程中缓存的嵌入进行计数和修剪,在批次之间生成 [#161884](https://github.com/openclaw/openclaw/pull/161884)。感谢 [@steipete](https://github.com/steipete).
- Finish 忘记在工作线程中进行检查和写入,保留预览并在不确定结果 [#161959](https://github.com/openclaw/openclaw/pull/161959) 后要求显式恢复。感谢 [@steipete](https://github.com/steipete).
- Move 忘记预览并将索引扫描应用到检索工作线程 [#162045](https://github.com/openclaw/openclaw/pull/162045) 中。感谢 [@steipete](https://github.com/steipete).
- 引入30秒轮询默认值并暴露后备运行状况;稍后的修复恢复显式较短的覆盖 [#162271](https://github.com/openclaw/openclaw/pull/162271)。感谢 [@steipete](https://github.com/steipete).
- 在索引 [#162528](https://github.com/openclaw/openclaw/pull/162528) 期间从网关线程读取源哈希和可重用缓存嵌入。感谢 [@steipete](https://github.com/steipete).
- 将持久会话内存记账和侧聊历史记录准备工作移至工作人员中,阻止延迟记账在访问过期后开始维护 [#163045](https://github.com/openclaw/openclaw/pull/163045)。感谢 [@steipete](https://github.com/steipete).
- Scan 索引工作器 [#163194](https://github.com/openclaw/openclaw/pull/163194) 中的会话内存启动统计信息。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在历史工作者[#163234](https://github.com/openclaw/openclaw/pull/163234)中发现用于索引、归档搜索和选择性遗忘的存储对话。感谢 [@steipete](https://github.com/steipete).
- 在历史工作者[#163269](https://github.com/openclaw/openclaw/pull/163269)中计划持久召回和梦想清理。感谢 [@steipete](https://github.com/steipete).
- 跳过不必要的嵌入缓存逐出扫描,并仅删除最旧的多余条目 [#164083](https://github.com/openclaw/openclaw/pull/164083)。感谢 [@steipete](https://github.com/steipete).
- 在索引期间共享 Bedrock 实例角色凭证查找,同时允许稍后凭证轮换 [#161164](https://github.com/openclaw/openclaw/pull/161164)。感谢 [@obviyus](https://github.com/obviyus) 和 [@slinkoff](https://github.com/slinkoff).
- Stop 排除了纯系统会话错误地将内存索引标记为脏 [#161834](https://github.com/openclaw/openclaw/pull/161834)。感谢 [@obviyus](https://github.com/obviyus) 和 [@alfred429](https://github.com/alfred429).
- Keep unresolved-session 忘记创建缺失内存数据库 [#162155](https://github.com/openclaw/openclaw/pull/162155) 的空运行。感谢 [@steipete](https://github.com/steipete).
- 恢复大型会话选择的内存追赶、更新和清理 [#164336](https://github.com/openclaw/openclaw/pull/164336)。感谢 [@jayzhou2309](https://github.com/jayzhou2309) 和 [@nkarkare](https://github.com/nkarkare).
- 修复了回滚日志索引死锁,该死锁使受影响的大型会话无法搜索[#164624](https://github.com/openclaw/openclaw/pull/164624)。感谢 [@triciah73](https://github.com/triciah73) 和 [@steipete](https://github.com/steipete).
- 当以中文返回 64 项限制时,拆分并重试超大的直普嵌入请求 [00c09b7](https://github.com/openclaw/openclaw/commit/00c09b79fc0f440c390e67c5540d0099137fb0ba)。感谢 [@SunnyShu0925](https://github.com/SunnyShu0925) 和 [@obviyus](https://github.com/obviyus). 感谢 [@vanecook](https://github.com/vanecook) 的报告和准确的错误负载。
- 为 OpenAI 内存嵌入 [f6883b3](https://github.com/openclaw/openclaw/commit/f6883b3771c0a40d7bd62fcb99815dcbbb2e24f3) 选择符合条件的已存储 Codex OAuth 凭证。感谢 [@astra-openclaw](https://github.com/astra-openclaw) 和 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
**旧版安装升级更改**
- 取消 `memory/.dreams/daily-ingestion.json`、`session-ingestion.json`、`short-term-recall.json` 和 `phase-signals.json` 的自动导入,同时保留其字节完整 [#163334](https://github.com/openclaw/openclaw/pull/163334)。感谢 [@steipete](https://github.com/steipete).
- 取消 `.openclaw-wiki/source-sync.json` 和 `.openclaw-wiki/import-runs/.json` 的自动导入,同时保留当前的 SQLite 回滚支持 [#163391](https://github.com/openclaw/openclaw/pull/163391)。感谢 [@steipete](https://github.com/steipete).
- 删除旧维基`bridge.readMemoryCore`对`readMemoryArtifacts`的修复和退役的`plugins/active-memory/session-toggles.json`警告,无替换恢复指导[#163667](https://github.com/openclaw/openclaw/pull/163667)。感谢 [@steipete](https://github.com/steipete).
- 自动节省内存轮流保留其指定的内存工具,而不是重新获得可以编辑项目文件或执行不相关工作的工具。请参阅 [ 压缩前的内存节省 ](/plugins/sdk-overview/memory-and-context#pre-compaction-memory-flush)。 [#166650](https://github.com/openclaw/openclaw/pull/166650)。谢谢[@jlapenna](https://github.com/jlapenna),[@steipete](https://github.com/steipete).
- 具有较小上下文窗口的内置对话可以在自动压缩后继续。单个超大消息会收到缩短消息或选择更大上下文模型的指导,同时保存的输入和历史记录仍然可用。请参见 [compaction](/concepts/compaction)。 [#167900](https://github.com/openclaw/openclaw/pull/167900)。感谢 [@steipete](https://github.com/steipete).
- Memory Wiki 可以在单独的 CLI 编译后使用当前缓存,而不是再次编译未更改的库。更改的导入、丢失的索引或无效的替换缓存仍然需要编译。 [#167929](https://github.com/openclaw/openclaw/pull/167929)。谢谢[@etzelm](https://github.com/etzelm),[@obviyus](https://github.com/obviyus).
- 托管 llama.cpp 内存索引添加了较小的缺失默认值:一个插槽和一个 2,048 个令牌上下文,并在输入预算内保留了空间。显式的本机调整仍然具有权威性。较低的并发性和长输入容量可能会降低吞吐量,或者对于异常长的请求需要更大的现有限制。请参阅 [llama.cpp 设置 ](/plugins/llama-cpp)。 [#168020](https://github.com/openclaw/openclaw/pull/168020)。谢谢[@Deregtx](https://github.com/Deregtx),[@frankhli843](https://github.com/frankhli843),[@jj5638521](https://github.com/jj5638521),[@Nehanth](https://github.com/Nehanth),[@spunzon](https://github.com/spunzon), [@steipete](https://github.com/steipete).
- 内存索引和计划的梦想通过内存核心或提供程序重新加载继续。替换实例会等待待处理的梦想日记条目完成,并且已退休的回调无法使用替换。 [eaf60b0e](https://github.com/openclaw/openclaw/commit/eaf60b0eb517b15c71438c9fd7c4e44154938f59)。感谢 [@steipete](https://github.com/steipete).
- 在 Memory Wiki 中撤消 ChatGPT 导入会拒绝导入页面路径中的文件夹,而不是将其作为页面移动到恢复中。丢失的文件保留其现有的已处理无操作行为。 [08a1d712](https://github.com/openclaw/openclaw/commit/08a1d712b04b00e5244b506f2aa3201caa20e6c7)。谢谢[@RomneyDa](https://github.com/RomneyDa),[@steipete](https://github.com/steipete).
### 技能
- 您可以使用 [ 技能故障排除 ](/cli/skills#commands) 检查是否已找到技能、是否满足其先决条件以及是否对客服人员可见。下一个代理轮流后,[`/context list`](/concepts/context) 显示到达提示的目录。从您的个人技能库中浏览和选择也会将数据库查询移至后台。
- 安装无效技能不再替换工作副本,即使强制本地或 Git 安装也是如此。 [沙箱技能副本](/gateway/sandboxing/workspace-access)可以从POSIX系统上的只读安装进行刷新,并在下次完全同步时修复受影响的副本。 SDK 会话还可以恢复由仅根忽略规则错误隐藏的嵌套技能。
- 在报告内容没有更改的文件通知后,技能仍然可用,并且开发会话避免了由此产生的错误重新启动。扫描会跳过临时活动,同时仍然刷新支持文件并在需要时重新发现技能。技能和记忆现在尊重现有的 `CHOKIDAR_INTERVAL` 覆盖:默认为 30 秒,最小值为 20 毫秒,较短的设置会增加后台扫描。
- 较旧的技能和挂钩需要手动元数据更新以保留先决条件、安装提示和挂钩事件:将 `metadata.clawdbot` 重命名为 `metadata.openclaw`,如果两个块都存在,则保留现有的规范值。将 `.clawdhub` 跟踪协调到 `.clawhub` 而不覆盖记录。当节点客户端同等匹配时,选择精确的节点ID; 2026 年 4 月的 macOS 设置 PATH- 检查豁免也已停用。
- Skill 指令为查找集成提供了更清晰的路线:一般请求使用现有的 ClawHub 插件,而显式技能请求则使用技能;安装任何一个仍然需要单独的授权。 Feishu Wiki 指令使用支持的浏览或已知的 wiki 令牌。调用者必须采用更正的 tmux 完成标记示例来区分新输出与回显命令和旧结果。
- Telegram技能快捷键不再接管内置`/export_session`命令;冲突技能会获得一个编号别名,受影响的用户应使用该别名。从命令行开始的多行参数保留从通道接收到的内部缩进、制表符和空白段落。
来源和完整变更列表
- 下一次智能体轮流后,`/context list` 和详细诊断报告提示中实际包含的技能目录。计数现在反映了省略的目录和提示覆盖。 [#145775](https://github.com/openclaw/openclaw/pull/145775)。感谢 [@tianhaotian](https://github.com/tianhaotian)、[@obviyus](https://github.com/obviyus)、[@adembektas](https://github.com/adembektas)、[@aron-intframe](https://github.com/aron-intframe) 和 [@bulingbuling688](https://github.com/bulingbuling688).
- 故障排除文档将已发现的技能与已满足先决条件或客服人员可以看到其指令的技能区分开来。 [#146951](https://github.com/openclaw/openclaw/pull/146951)。感谢 [@Frosmans](https://github.com/Frosmans).
- 个人技能库浏览、修订查找和选择准备加载其记录,而无需在主网关线程上执行数据库工作。新的选择会检查当前权限和确切的修订版本,而现有会话保留对其固定修订版本的访问权限。 [#164165](https://github.com/openclaw/openclaw/pull/164165)。感谢 [@steipete](https://github.com/steipete).
- 在复制文件之前,Local 和 Git 安装会因技能根不可用或过大而明显失败。无效的强制替换会保留现有的有效技能。之前接受不可用源的脚本现在收到失败状态 1. [#160492](https://github.com/openclaw/openclaw/pull/160492)。感谢 [@Yun-0000](https://github.com/Yun-0000)、[@obviyus](https://github.com/obviyus)、[@suninweb](https://github.com/suninweb) 和 [@ooiuuii](https://github.com/ooiuuii).
- Refresh 清理会删除过时的沙箱技能副本,同时保护托管副本外部的挂载目标和符号链接目标。 [#162295](https://github.com/openclaw/openclaw/pull/162295)。感谢 [@steipete](https://github.com/steipete).
- 在 POSIX 系统上,沙盒技能副本会从只读安装中刷新,并在下一次完全同步时修复现有副本。源权限、可执行文件和来宾配置的只读访问权限将被保留。 [#162304](https://github.com/openclaw/openclaw/pull/162304)。感谢 [@steipete](https://github.com/steipete).
- SDK 资源匹配将仅根 `/build` 排除视为仅根排除,从而允许嵌套路径(例如 `deploy/build`)下的技能保持可发现状态。锚定异常保留相同的根范围。 [#162455](https://github.com/openclaw/openclaw/pull/162455)。感谢 [@boeingchoco](https://github.com/boeingchoco) 和 [@obviyus](https://github.com/obviyus).
- Skill 扫描会跳过更多不相关的临时文件,同时保留部分扫描之间的文件分类。如果分类缓存已满,下次扫描将重新发现文件。 [#161881](https://github.com/openclaw/openclaw/pull/161881)。感谢 [@steipete](https://github.com/steipete).
- Unchanged 监视的内容避免了错误的开发重新启动,而 Claude 目录监视程序允许一次性命令退出。技能和内存轮询遵循 `CHOKIDAR_INTERVAL`,默认时间为 30 秒,最短时间为 20 毫秒。 [fcdd870](https://github.com/openclaw/openclaw/commit/fcdd87021745fd8352e362626b29b7a2e3a2c87d)。感谢 [@steipete](https://github.com/steipete) 和 [@vincentkoc](https://github.com/vincentkoc).
- 旧版 `metadata.clawdbot` 不再在技能和挂钩文件中读取。手动将所需字段迁移到 `metadata.openclaw` 以保留先决条件、安装提示和挂钩事件。 [#163104](https://github.com/openclaw/openclaw/pull/163104)。感谢 [@steipete](https://github.com/steipete).
- 旧版 `.clawdhub` 记录不再被读取,需要手动核对到 `.clawhub`,从而保留现有的规范记录。同等匹配的节点现在需要精确的节点 ID,而不是旧客户端的抢七,并且删除了 2026 年 4 月的 macOS PATH- 审核豁免。 [#163965](https://github.com/openclaw/openclaw/pull/163965)。感谢 [@steipete](https://github.com/steipete).
- ClawHub 指南搜索现有插件以获取一般集成和技能以获取明确的技能请求。安装仍然需要单独的授权。 [#163848](https://github.com/openclaw/openclaw/pull/163848)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- Feishu wiki 指南使用已知空间或父空间的节点列表并直接查找 wiki 令牌,从而避免了不可用的搜索操作。 [#161755](https://github.com/openclaw/openclaw/pull/161755)。感谢 [@steipete](https://github.com/steipete).
- tmux 技能的完成标记示例使用跨 `printf` 参数分割的新随机标记,因此回显的命令或旧输出看起来不像已完成的任务。调用者需要采用更新的示例。 [#146329](https://github.com/openclaw/openclaw/pull/146329)。感谢 [@GodBlf](https://github.com/GodBlf)、[@mrzeepek](https://github.com/mrzeepek) 和 [@obviyus](https://github.com/obviyus).
- Telegram 保留内置 `/export_session` 命令。碰撞技能会收到 `/export_session_2` 或其他独特的后缀,因此其命令别名会发生变化。请参阅 [ 斜杠命令指南 ](/tools/slash-commands)。 [#163149](https://github.com/openclaw/openclaw/pull/163149)。感谢 [@ooiuuii](https://github.com/ooiuuii).
- 当文本从命令行开始时,多行技能命令有效负载会保留内部缩进、制表符和空白段落。已被通道转换的空白仍受该通道的处理。 [#164151](https://github.com/openclaw/openclaw/pull/164151)。感谢 [@ooiuuii](https://github.com/ooiuuii) 和 [@obviyus](https://github.com/obviyus).
### 本机应用程序
- Mac 聊天在网关完成设置或重新连接时保持打开状态,打开已完成的对话可以恢复失败的仪表板。刷新不相关的配置文件会保留同一连接的登录状态。切换主网关会清除旧的聊天和预览缓存,并且消除旧的通知不再隐藏其替换通知。
- 您可以登录 Mac Dashboard 内符合条件的 Cloudflare 访问应用程序,并在重新启动后保留这些应用程序会话。将更新的 Mac 应用程序与同一站点上端口 443 上观察到的 HTTPS 应用程序一起使用,访问团队和帐户。 WebKit 限制仍然可能需要嵌入式应用程序自己的登录链接。
- Saved 远程 Mac 网关可以在对 macOS 信任的同一主机和端口(包括管理员安装的根)进行有效证书续订后重新连接、打开和切换。显式 `gateway.remote.tlsFingerprint` 保持固定,需要有意更新;过期的、不受信任的和错误的主机替换仍然被拒绝。
- 当麦克风权限迟到时,Canceled Mac 和 iOS 录音保持取消状态,而 Android 听写在较早的尝试结束后继续收听。 Mac 一键通在释放右侧选项后完成,有时会短暂等待最终语音结果;取消不会发送任何内容。语音修复还保留了 iOS 立体声音频、重复的语音唤醒命令以及通过普通突发和短暂的麦克风延迟在 Apple 实时播放中打开的单词。 iOS Talk 将语音指令排除在稍后的语音片段之外,并且已停用的健康检查停止报告过时的故障。
- 切换 Apple 对话不再让最新的摘要、分叉、倒带或设置保存覆盖您正在查看的聊天。 Mac 附件保留在您选择或放置它们的聊天中,区分大小写的对话 ID 保持独立,链接预览与当前的 URL 匹配。本地数据库清理避免了双重关闭失败,并且监视回复避免了重新连接后不必要的重试暂停。
- Android 组编辑保留其原始网关:切换连接会拒绝过时的重命名和删除对话框,删除组会使其对话保持未分组状态。 iPhone 和 iPad 演示捕获隐藏了真实保存的网关和凭据控件。 Android 保留当前通知转发,同时删除旧的最近应用程序建议。
- 在依赖已停用的本机应用程序连接回退之前更新 2026 年 7 月之前的网关。使用保存的设备令牌重试 Apple 和 Android 现在需要显式网关权限,并且 Android 停止接受旧的传入字段别名。 Apple 应用程序还从 2026 年 7 月 1 日起停止导入选定的设置和证书信任,因此仅较旧的设置可能需要重新连接并再次建立信任。 iOS 及其共享扩展现在使用 `openclaw-ios`;旧的客户端身份覆盖和应用程序本地 Talk 密钥已停用,本地 Talk 使用网关配置的密钥。
- Android 上的阅读和搜索技能已翻译了 21 种现有非英语语言环境中的标签。
来源和完整变更列表
- 打开已完成的对话可恢复失败的 Mac 仪表板;排队的本机操作可以在取消替换加载后恢复。 [#160886](https://github.com/openclaw/openclaw/pull/160886)。感谢 [@steipete](https://github.com/steipete).
- 当旧的解雇动画结束时,A 替换 Mac 通知保持可见。 [#161250](https://github.com/openclaw/openclaw/pull/161250)。感谢 [@steipete](https://github.com/steipete).
- Saved Mac 仪表板登录可以在同一活动连接上进行不相关的配置文件刷新。 [#161464](https://github.com/openclaw/openclaw/pull/161464)。感谢 [@steipete](https://github.com/steipete)、[@fuller-stack-dev](https://github.com/fuller-stack-dev).
- Eligible Cloudflare Access 仪表板支持应用程序内登录和持久的特定于应用程序的浏览器会话。 [#161474](https://github.com/openclaw/openclaw/pull/161474)。感谢 [@steipete](https://github.com/steipete).
- Mac 菜单栏对话和预览缓存遵循主网关,清除交换机上的旧数据。 [#163892](https://github.com/openclaw/openclaw/pull/163892)。感谢 [@steipete](https://github.com/steipete).
- Mac 聊天保持打开状态,而其未更改的网关完成设置或重新连接,包括命令行聊天启动。 [#163971](https://github.com/openclaw/openclaw/pull/163971)。感谢 [@steipete](https://github.com/steipete).
- Mac获悉证书引脚接受macOS信任的主机名有效续订,包括保存的网关打开和切换;显式指纹保持固定。 [#164435](https://github.com/openclaw/openclaw/pull/164435)。感谢 [@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@joryirving](https://github.com/joryirving).
- Mac 一键通取消了按键释放、权限延迟或语音模式替换的正确保持。 [#143064](https://github.com/openclaw/openclaw/pull/143064)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 当重新使用捕获缓冲区时,iOS 语音唤醒会保留排队的立体声麦克风音频的两个通道。 [#161148](https://github.com/openclaw/openclaw/pull/161148)。感谢 [@steipete](https://github.com/steipete).
- Restarted 当旧的权限或识别尝试被延迟取消时,Android 听写会继续监听。 [#161391](https://github.com/openclaw/openclaw/pull/161391)。感谢 [@steipete](https://github.com/steipete).
- iOS Talk 从累积文本中删除指令,在监听重新启动后重复语音唤醒命令起作用,并且退休的运行状况检查无法发布过时的故障。 [#161639](https://github.com/openclaw/openclaw/pull/161639)。感谢 [@steipete](https://github.com/steipete).
- Late Apple 紧凑、分叉和倒回结果无法替换较新的对话错误或历史记录。 [#161799](https://github.com/openclaw/openclaw/pull/161799)。感谢 [@steipete](https://github.com/steipete).
- Apple 本地状态存储可避免初始化被拒绝和并发数据库误用后的重复关闭。 [#162782](https://github.com/openclaw/openclaw/pull/162782)。感谢 [@steipete](https://github.com/steipete).
- Apple 转录保持区分大小写的 Matrix、Signal 和目录对话键,同时保留结构别名。 [#162818](https://github.com/openclaw/openclaw/pull/162818)。感谢 [@steipete](https://github.com/steipete).
- Apple 实时语音播放通过短暂的麦克风延迟保留开场白和普通突发声。 [#163146](https://github.com/openclaw/openclaw/pull/163146)。感谢 [@Marvinthebored](https://github.com/Marvinthebored)、[@Peetiegonzalez](https://github.com/Peetiegonzalez). 感谢 [@Takhoffman](https://github.com/Takhoffman) 共同创作了落地变更。
- Apple 需要明确的存储令牌重试权限,并且迟到的麦克风权限无法恢复已取消或替换的语音注释。 [#163433](https://github.com/openclaw/openclaw/pull/163433)。感谢 [@steipete](https://github.com/steipete).
- A 失败从已离开的线程保存的 Apple 设置无法替换当前线程的可见错误,同时其排队消息被搁置。 [#164037](https://github.com/openclaw/openclaw/pull/164037)。感谢 [@steipete](https://github.com/steipete).
- Delayed Mac 文件选择和放置仍与其原始对话绑定,而 Apple 链接预览仅显示其当前 URL 的标题和图像。 [669db5d36e](https://github.com/openclaw/openclaw/commit/669db5d36e0637ba4c3033028ef050303963715b)。感谢 [@steipete](https://github.com/steipete).
- 当重新连接取消旧的历史请求时,Watch 回复恢复会立即启动,避免不必要的重试暂停。 [287a4003d3](https://github.com/openclaw/openclaw/commit/287a4003d34f14a3e3422456944bd6e1e6edb8ed)。感谢 [@steipete](https://github.com/steipete).
- iPhone 和 iPad 演示捕获隐藏已保存的网关和凭据控件,并删除矛盾的配对提示。 [#160857](https://github.com/openclaw/openclaw/pull/160857)。感谢 [@steipete](https://github.com/steipete).
- iOS 及其共享扩展废弃了旧的客户端身份和覆盖。 Local Talk 使用网关配置的密钥;网关路由的凭据保留在网关上。 [#163339](https://github.com/openclaw/openclaw/pull/163339)。感谢 [@steipete](https://github.com/steipete).
- Android 遵循显式存储令牌重试权限和拒绝,而不是已退役的仅代码回退。 [#163347](https://github.com/openclaw/openclaw/pull/163347)。感谢 [@steipete](https://github.com/steipete).
- Android 进行中组重命名和删除保留在其原始网关上并拒绝过时的响应。 [#163420](https://github.com/openclaw/openclaw/pull/163420)。感谢 [@steipete](https://github.com/steipete).
- Android 入站事件使用规范的 `payload` 和 `paramsJSON` 字段;已停用的入站别名需要更新相关网关。 [#163441](https://github.com/openclaw/openclaw/pull/163441)。感谢 [@steipete](https://github.com/steipete).
- Android 在网关更改时消除陈旧或恢复的组对话框。删除群组后,其对话将不再分组。 [#163455](https://github.com/openclaw/openclaw/pull/163455)。感谢 [@steipete](https://github.com/steipete).
- Android 停止导入旧的最近通知应用程序建议设置,同时保留当前的转发设置。 [#163675](https://github.com/openclaw/openclaw/pull/163675)。感谢 [@steipete](https://github.com/steipete).
- 现有的Android技能阅读和搜索标签获得翻译。 [#162602](https://github.com/openclaw/openclaw/pull/162602)。
- Apple 停用选定的 7 月前设置和证书导入;仅较旧的设置可能需要重新连接网关并重新建立信任。 [#163002](https://github.com/openclaw/openclaw/pull/163002)。感谢 [@steipete](https://github.com/steipete).
- 当Mac应用程序等待现有后台网关启动时,它会在延长等待时间之前检查进程是否仍然相同。较早的响应不能使其等待替换过程。 [ad93d1ac](https://github.com/openclaw/openclaw/commit/ad93d1ac05c1cac3317d237637e25f656c244663)。感谢 [@RomneyDa](https://github.com/RomneyDa).
### 模型和提供商
- 现在,当别名与其名称冲突时,选择提供程序会将您的模型保留在该提供程序上。 `openai/gpt-4o-mini`选用OpenAI;使用`openrouter/openai/gpt-4o-mini`保留以前的OpenRouter别名路由。检查受影响的选择,因为路由可能会更改凭据、可用性和成本。添加回退可以保留主要模型,排队的选择可以在旧的清理中幸存下来,并且共享回退更改需要省略 `--agent`。
- 模型状态使用您保存的昵称,本地终端聊天显示回退后实际尝试的模型。嵌入输出提供八值预览,可通过 `--json` 获得完整矢量;迁移链接导致相关模型指南。
- [Bedrock](/providers/bedrock) 可以使用外部旋转的 AWS 配置文件凭据,无需重新启动,并在早期格式错误的工具参数后继续。当尝试被取消时,安装程序会保留您选择的配置,避免未使用的连接,并在声明成功之前报告自托管凭据存储失败。队列溢出还会保留受保护的条目,同时删除符合条件的条目。
- Windows本地模型设置可以在以下情况下恢复llama.cpp将 Visual C++ 运行时文件放置在托管服务器旁边,从而丢失它们。如果恢复失败,请重新运行安装程序或手动配置兼容服务器。
- 较旧的 ZAI 和 Ollama Cloud 配置可能需要手动更改。 ZAI 使用情况检查现在使用支持的配置、身份验证存储、`ZAI_API_KEY` 或 `Z_AI_API_KEY`。将Ollama Cloud已退役的`https://ai.ollama.com`地址替换为`models.providers.ollama-cloud.baseUrl`中的`https://ollama.com`;医生不再纠正或警告旧地址。
- 官方 OpenRouter、Vercel 和 Perplexity 请求通过应用标头向提供商标识 OpenClaw。当安装遥测被禁用时,OpenRouter 仍然收到该标识,并且其 Anthropic 消息请求替换配置的 Referer 和 Title 值。自定义代理主机不会收到自动归因。
- 如果帐户拒绝默认值,则可以使用 `agents.defaults.model` 中支持的 OpenAI 聊天模型重试使用 OAuth 生成图像。 Runway 和 Together 视频请求也支持更长的超时。对于ElevenLabs语音,手动将旧的`model`设置替换为`modelId`以选择所需的模型;请参阅 [ 语音配置指南 ](/tools/tts/configuration) 和 [ 字段参考 ](/tools/tts/field-reference#param-model)。
- OpenAI 和 Azure 响应保留请求的 JSON 输出格式,恢复的 DeepSeek 调用保留文字名称和空字符串参数。直接查看图像的模型可以避免不相关的媒体提供程序加载错误。
- Astra 在静默工具结果后保留完整的答案,而无需发送两次。自定义 OpenAI- 兼容路由可以选择 [stale-output 修剪](/concepts/session-pruning)。 [图像指导](/nodes/media-understanding)解释了重放成本以及用描述替换图像,这消除了对该回合的像素的访问。 Kimi K3 的代码模式修复将 `exec`、`shellexec` 和 `agents_wait` 上的结果等待参数重命名为 `awaitResults`;调用者必须替换 `required`,该值现在被忽略。
- Failed 请求提供更清晰的重试提示并保留原始拒绝,而本地 SQLite 错误则停止无意义的模型切换。符合条件的格式错误或输出受限的工具调用最多获得一次恢复尝试;不完整的调用不会执行,完成的结果仍然可用。在重复工作之前检查结果,因为之前的操作可能已经完成。远程 Codex 启动失败表明执行批准未轮换正常凭证。
- 即使本机准入挂钩不可用,A 单独的 Codex 会话也可以委托;另一个登录者的消息将作为后续消息排队。受早期源主回归影响的对话需要新的对话才能恢复。在子级后续被拒绝之前,过时的准备情况检查会得到一次刷新。
- 切换或替换 Codex 聊天可保护新聊天免受延迟命令和清理的影响。子分配可以在同一连接上的父线程替换中幸存下来,并且中断的聊天可以在停止和订阅清理成功后恢复,而同级聊天则继续。
- Codex 避免重复的历史记录准备,推迟未使用的目录和服务器,并修复耗尽内存的队列配置复制路径。失败的命令和支持的简单代码模式操作保留保存的结果;沙箱列表和副本保留文件名中的制表符和换行符。错过的文件通知仍然会使列表保持陈旧,直到重新启动为止。较旧的 schema-1 sidecar 绑定仍可用于诊断,但不再导入或转换。
- Codex 启动诊断可识别达到的阶段、启动器和待处理的请求,而已知的进程范围日志通知将停止在聊天中重复。托管启动器故障需要安装修复并重新启动网关才能重试。更新后,运行独立的 Doctor 来诊断受影响的本地 Linux Docker 或 Podman 运行时中的沙箱环回限制;它不会使被阻止的 shell 命令成功。
Claude CLI 恢复获取更新的指令,受影响的 Ollama 模型通过工具搜索重新获得工具执行,而 Gemma 4 可以恢复以文本形式返回的完整独立工具请求。 ChatGPT 还获得对特定被拒绝的 WebSocket 延续的有界重试,从而保留已完成的工具结果。
来源
- [保持明确的提供者选择不被模型别名冲突重定向](https://github.com/openclaw/openclaw/pull/162973) - 感谢[steipete](https://github.com/steipete),[RXQ6](https://github.com/RXQ6), [yunligou711-提交](https://github.com/yunligou711-commits)。
- [在添加后备或支持的工具模型超时时保留选定的主要模型](https://github.com/openclaw/openclaw/pull/162974) — 感谢 [steipete](https://github.com/steipete)、[jayzhou2309](https://github.com/jayzhou2309), [波音巧克力](https://github.com/boeingchoco)。
- [拒绝会更改共享文本或图像后备的代理范围命令](https://github.com/openclaw/openclaw/pull/163077) — 感谢 [ericcurtin](https://github.com/ericcurtin)、[steipete](https://github.com/steipete)。
- [在正常 CLI 输出中显示嵌入维度和前八个向量值](https://github.com/openclaw/openclaw/pull/163722) — 感谢 [obviyus](https://github.com/obviyus)、[LinzeShi](https://github.com/LinzeShi)。
- [保留更新的排队模型、运行时或帐户选择等待下一次安全切换](https://github.com/openclaw/openclaw/pull/164015) — 感谢 [steipete](https://github.com/steipete)。
- [在状态摘要中正确显示每个代理自己的模型昵称](https://github.com/openclaw/openclaw/pull/164126) — 感谢[ooiuuii](https://github.com/ooiuuii)、[obviyus](https://github.com/obviyus)。
- [显示在本地终端聊天中尝试的后备模型](https://github.com/openclaw/openclaw/pull/164364) — 感谢[ooiuuii](https://github.com/ooiuuii)。
- [修复 Apple 基础模型和 Doctor 链接到主要模型迁移指南](https://github.com/openclaw/openclaw/commit/7db2084787edbc63b585badc8fe41beaa0d03d89) — 感谢 [LinzeShi](https://github.com/LinzeShi)。
- [在基岩中获取外部旋转的 AWS 配置文件凭据,无需重新启动](https://github.com/openclaw/openclaw/pull/154158) — 感谢 [ayoakouh](https://github.com/ayoakouh)、[obviyus](https://github.com/obviyus), [paweldrozd](https://github.com/paweldrozd)。
- [在早期工具调用存储的格式错误的参数后继续基岩对话](https://github.com/openclaw/openclaw/pull/160729) - 感谢[RileyJJY](https://github.com/RileyJJY),[obviyus](https://github.com/obviyus), [odrodash](https://github.com/odrodash)、[ruel225](https://github.com/ruel225)。
- [ 一致地将自定义 OpenRouter 路线识别为 OpenClaw](https://github.com/openclaw/openclaw/pull/160956) — 感谢 [obviyus](https://github.com/obviyus)。
- [使用 Vercel AI 网关和 Perplexity](https://github.com/openclaw/openclaw/pull/161018) 的供应商应用程序标识标头 — 感谢 [obviyus](https://github.com/obviyus)。
- [OAuth 查找返回其后备凭证之前取消 ](https://github.com/openclaw/openclaw/pull/161122) — 感谢 [steipete](https://github.com/steipete)。
- [避免为工作轮次构建第二个未使用的提供者连接](https://github.com/openclaw/openclaw/pull/161570) — 感谢 [joshavant](https://github.com/joshavant)。
- [在保存令牌查找期间撤销权限时停止 Copilot 重新连接](https://github.com/openclaw/openclaw/pull/162165) — 感谢 [steipete](https://github.com/steipete)。
- [保留提供程序登录配置并放弃在连接准备期间停用的工作人员预览](https://github.com/openclaw/openclaw/pull/162829) — 感谢 [steipete](https://github.com/steipete)。
- [在设置期间取消 Copilot 并清理失败的身份验证或代理准备](https://github.com/openclaw/openclaw/pull/162992) — 感谢 [steipete](https://github.com/steipete)。
- [在 Windows](https://github.com/openclaw/openclaw/pull/163093) 上的托管 llama.cpp 设置期间提供缺少的 Visual C++ 运行时文件 — 感谢 [RomneyDa](https://github.com/RomneyDa)。
- [ 注销保存的提供商配置文件时避免不必要的模型目录写入](https://github.com/openclaw/openclaw/pull/163451) — 感谢 [steipete](https://github.com/steipete)。
- [使用支持的 ZAI 使用凭证并手动设置规范 Ollama Cloud 端点](https://github.com/openclaw/openclaw/pull/163827) — 感谢 [steipete](https://github.com/steipete)。
- [ 在设置成功之前报告自托管凭证存储故障,并删除符合条件的队列溢出,同时保留受保护的条目](https://github.com/openclaw/openclaw/pull/163960) — 感谢 [steipete](https://github.com/steipete)。
- [将个人模型帐户成功和失败簿记移出网关的主线程](https://github.com/openclaw/openclaw/pull/164240) — 感谢[steipete](https://github.com/steipete)。
- [通过身份验证刷新保留已接受的代理回合的选定配置和工作区](https://github.com/openclaw/openclaw/pull/164340) — 感谢 [steipete](https://github.com/steipete)。
- [当默认被拒绝时,使用配置的 OpenAI 聊天模型重试 OAuth 图像生成](https://github.com/openclaw/openclaw/pull/158895) — 感谢 [TeaCup404](https://github.com/TeaCup404), [obviyus](https://github.com/obviyus)。
- [使用 modelId 选择预期的 ElevenLabs 语音模型](https://github.com/openclaw/openclaw/pull/161917) — 感谢 [obviyus](https://github.com/obviyus)、[hartra344](https://github.com/hartra344)。
- [Runway 和 Together](https://github.com/openclaw/openclaw/pull/164381) 较长时间请求的视频生成超时 — 感谢 [steipete](https://github.com/steipete)。
- [在 OpenAI 和 Azure Responses](https://github.com/openclaw/openclaw/pull/114204) 上保留请求的 JSON 格式 — 感谢 [kevin2966n](https://github.com/kevin2966n), [obviyus](https://github.com/obviyus)、[axiom-ncis](https://github.com/axiom-ncis)。
- [在明确选择的自定义 OpenAI- 兼容路由上进行过时工具输出修剪](https://github.com/openclaw/openclaw/pull/159100) — 感谢 [chopin-op60](https://github.com/chopin-op60), [joelwp](https://github.com/joelwp)、[obviyus](https://github.com/obviyus)。
- [解释图像重播成本以及用描述替换所选图像的权衡](https://github.com/openclaw/openclaw/pull/159205) — 感谢[monde](https://github.com/monde)、[Patrick-Erichsen](https://github.com/Patrick-Erichsen)。
- [当模型本身读取图像时跳过未使用的媒体提供程序加载](https://github.com/openclaw/openclaw/pull/159234) — 感谢 [alexeysophia](https://github.com/alexeysophia)、[obviyus](https://github.com/obviyus)。
- [在恢复 DeepSeek 工具调用时保留文字参数名称](https://github.com/openclaw/openclaw/pull/162358) — 感谢 [steipete](https://github.com/steipete)。
- [在恢复的 DeepSeek 工具调用中保留有意的空字符串参数](https://github.com/openclaw/openclaw/pull/162830) — 感谢 [ly85206559](https://github.com/ly85206559)。
- [使用 audio/video-only 媒体模型避免图像轮转时出现不相关的媒体提供商故障](https://github.com/openclaw/openclaw/pull/163106) — 感谢 [ly85206559](https://github.com/ly85206559)。
- [ 完成后,在没有最终换行符的情况下,在答案文本中保持打开工具调用标记](https://github.com/openclaw/openclaw/pull/163301) — 感谢 [steipete](https://github.com/steipete)。
- [ 在新节点延续中使用相同的标准化推理签名并保存历史记录](https://github.com/openclaw/openclaw/pull/164287) — 感谢 [steipete](https://github.com/steipete)。
- 完成的答案在随后的静默工具后续或仅推理响应中幸存下来,而不是丢失或被误导性的生成失败警告所取代。真正的无应答输出保留其现有的警告或固定工具收据;不会重播已完成的工具操作。 [#164774](https://github.com/openclaw/openclaw/pull/164774),[#167567](https://github.com/openclaw/openclaw/pull/167567)。感谢 [@obviyus](https://github.com/obviyus)、[@goutamadwant](https://github.com/goutamadwant)、[@hannesrudolph](https://github.com/hannesrudolph).
- [避免畸形Kimi K3通过重命名结果等待参数进行代码模式调用](https://github.com/openclaw/openclaw/pull/165022)- 谢谢[斯泰佩特](https://github.com/steipete)。
- [当所有回退模型失败时保留提供程序重置提示](https://github.com/openclaw/openclaw/pull/141345) — 感谢 [ayaangazali](https://github.com/ayaangazali)、[obviyus](https://github.com/obviyus)。
- [使用另一个配置的代理的工作模型进行帮助者对话和问候](https://github.com/openclaw/openclaw/pull/145002) - 感谢[FtlC-ian](https://github.com/FtlC-ian),[obviyus](https://github.com/obviyus), [科尔顿-Harris](https://github.com/Colton-Harris)、[MaikiMolto](https://github.com/MaikiMolto)、[jj5638521](https://github.com/jj5638521)。
- [给出格式错误的工具使用回复一次受保护的恢复尝试](https://github.com/openclaw/openclaw/pull/156342) — 感谢 [namest504](https://github.com/namest504)、[obviyus](https://github.com/obviyus)、 [hokawa000](https://github.com/hogawa000)。
- [给输出受限的OpenAI工具调用一个恢复延续,并提供较小的调用指导](https://github.com/openclaw/openclaw/pull/161082) - 感谢[steipete](https://github.com/steipete)。
- [报告无效的Anthropic请求,无需不必要的思考历史重试](https://github.com/openclaw/openclaw/pull/161118) — 感谢[jayzhou2309](https://github.com/jayzhou2309)、[abacha](https://github.com/abacha), [altaywtf](https://github.com/altaywtf)。
- [处理取消后出现的提供商设置失败](https://github.com/openclaw/openclaw/pull/161337) — 感谢 [steipete](https://github.com/steipete)。
- [显示回退 CLI 启动错误,但没有来自先前提供商的陈旧详细信息](https://github.com/openclaw/openclaw/pull/162111) — 感谢 [steipete](https://github.com/steipete)。
- [本地 SQLite 工作节点故障后停止模型回退](https://github.com/openclaw/openclaw/pull/162624) — 感谢 [ericcurtin](https://github.com/ericcurtin)、[Jeehut](https://github.com/Jeehut)。
- [为请求超时提供中立的重试指导,无需声明提供商 HTTP 响应](https://github.com/openclaw/openclaw/pull/163250) — 感谢 [vincentkoc](https://github.com/vincentkoc)。
- [在确认支持的提供商审查结果后继续相同的对话](https://github.com/openclaw/openclaw/pull/163507) — 感谢[steipete](https://github.com/steipete)。
- [保留 Anthropic 流错误类型以进行现有重试和模型回退](https://github.com/openclaw/openclaw/pull/163662) — 感谢 [steipete](https://github.com/steipete)。
- [将过期或被拒绝的远程 Codex 启动批准视为执行批准失败,而不轮换健康凭证](https://github.com/openclaw/openclaw/pull/164237) — 感谢 [steipete](https://github.com/steipete)。
- [当本机准入挂钩不可用时保留单独的 Codex 委派](https://github.com/openclaw/openclaw/pull/161070) — 感谢 [steipete](https://github.com/steipete)。
- [ 在拒绝后续子任务之前刷新陈旧的 Codex 准备状态一次](https://github.com/openclaw/openclaw/pull/161155) — 感谢 [b4rRa](https://github.com/b4rRa)、[obviyus](https://github.com/obviyus)、 [Olli0103](https://github.com/Olli0103)。
- [当系统时钟改变时保持Codex中断重试一致](https://github.com/openclaw/openclaw/pull/155824) — 感谢[SunnyShu0925](https://github.com/SunnyShu0925)、[altaywtf](https://github.com/altaywtf)。
- [ 在监控开始之前客户端关闭后恢复远程 Codex 重新连接](https://github.com/openclaw/openclaw/pull/160912) — 感谢 [steipete](https://github.com/steipete)。
- [保持 Codex 订阅、配额快照和子清理在同一插件 build](https://github.com/openclaw/openclaw/pull/160949) 的重复加载中保持一致 - 感谢 [anyech](https://github.com/anyech), [帕特里克-Erichsen](https://github.com/Patrick-Erichsen)。
- [在同一连接上替换父线程时保留 Codex 子分配和已完成的结果](https://github.com/openclaw/openclaw/pull/160952) — 感谢 [steipete](https://github.com/steipete)。
- [ 从文件系统根映射 Codex 工作区并恢复压缩历史发现错误](https://github.com/openclaw/openclaw/pull/161425) — 感谢 [steipete](https://github.com/steipete)。
- [保留有效的 Codex 工具上下文字段并使应用程序诊断与最新刷新相关联](https://github.com/openclaw/openclaw/pull/162032) — 感谢 [steipete](https://github.com/steipete)。
- [重用未更改的Codex会话检查并读取网关线程外部的当前绑定](https://github.com/openclaw/openclaw/pull/162037) — 感谢[steipete](https://github.com/steipete)。
- [在 Codex 沙箱目录列表和递归副本中保留制表符和换行符](https://github.com/openclaw/openclaw/pull/162610) — 感谢 [steipete](https://github.com/steipete)。
- [在 Codex 会话发现期间防止队列配置副本耗尽网关内存](https://github.com/openclaw/openclaw/pull/162912) — 感谢 [obviyus](https://github.com/obviyus)、[609NFT](https://github.com/609NFT)。
- [ 在请求时加载空闲代理的 Codex 会话目录,而不是在网关启动时加载 ](https://github.com/openclaw/openclaw/pull/163129) — 感谢 [obviyus](https://github.com/obviyus)、[609NFT](https://github.com/609NFT)。
- [将早期工作区写入拒绝报告为失败的 Codex shell 命令及其原始参数](https://github.com/openclaw/openclaw/pull/163427) — 感谢 [joshavant](https://github.com/joshavant)、[100yenadmin](https://github.com/100yenadmin), [文森特科克](https://github.com/vincentkoc)。
- [在浏览大量Codex历史记录时减少重复的文件检查和显示准备](https://github.com/openclaw/openclaw/pull/163706) — 感谢[steipete](https://github.com/steipete)。
- [ 保留旧的 Codex sidecar 绑定进行诊断,无需导入或转换它们](https://github.com/openclaw/openclaw/pull/163707) — 感谢 [steipete](https://github.com/steipete)。
- [在保存的 Codex 对话中保留链接的失败补丁和 shell 操作,以支持简单的代码模式调用](https://github.com/openclaw/openclaw/pull/164116) — 感谢 [joshavant](https://github.com/joshavant)。
- [保护替换 Codex 会话免受延迟命令和属于较旧会话的清理的影响](https://github.com/openclaw/openclaw/pull/164197) — 感谢 [steipete](https://github.com/steipete)、[galiniliev](https://github.com/galiniliev), [KirDE](https://github.com/KirDE)。
- [ 恢复中断的 Codex 聊天,同时兄弟姐妹聊天继续 ](https://github.com/openclaw/openclaw/pull/165487) — 感谢 [steipete](https://github.com/steipete)。
- [当启动器在错误到达之前退出时,保留有用的托管 Codex 启动错误](https://github.com/openclaw/openclaw/pull/161419) — 感谢 [steipete](https://github.com/steipete)。
- [停止在聊天中重播已知的进程范围 Codex 诊断日志通知](https://github.com/openclaw/openclaw/pull/161657) — 感谢 [vyctorbrzezowski](https://github.com/vyctorbrzezowski)。
- [使用独立Doctor检测本地Linux Codex沙箱环回故障](https://github.com/openclaw/openclaw/pull/161692) — 感谢[steipete](https://github.com/steipete), [eugifa](https://github.com/eugifa)、[oc-jarvis](https://github.com/oc-jarvis)、[sallyom](https://github.com/sallyom)、[tedassur](https://github.com/tedassur)、 [Thinkscape](https://github.com/Thinkscape)、[vincentkoc](https://github.com/vincentkoc)。
- [在 Codex 超时诊断中显示观察到的阶段和等待的请求计数](https://github.com/openclaw/openclaw/pull/162927) — 感谢 [vincentkoc](https://github.com/vincentkoc)。
- [显示最后观察到的 Codex 启动阶段以及客户端是否已启动、加入或重用](https://github.com/openclaw/openclaw/pull/163156) — 感谢 [vincentkoc](https://github.com/vincentkoc)。
- [区分超时诊断中的Codex初始化写入、本机响应和版本检查](https://github.com/openclaw/openclaw/pull/163230) — 感谢[vincentkoc](https://github.com/vincentkoc)。
- [在启动超时诊断中识别已注册的 Codex 启动器](https://github.com/openclaw/openclaw/pull/163388) — 感谢 [vincentkoc](https://github.com/vincentkoc)。
- 长响应达到其输出限制后,第一个校正模型请求从该请求开始时获取其现有的恢复窗口。稍后的重试共享相同的有限期限;普通提供者和不活动超时仍然存在。 [#167708](https://github.com/openclaw/openclaw/pull/167708)。感谢 [@steipete](https://github.com/steipete).
- Resumed Claude CLI 对话应用更新的指令并更改插件上下文,同时保留其对话历史记录,而不是默默地仅保留第一回合的指令。请参阅 [CLI 后端](/gateway/cli-backends)。 [#167817](https://github.com/openclaw/openclaw/pull/167817)。感谢 [@robburke](https://github.com/robburke)、[@steipete](https://github.com/steipete)、[@yu-xin-c](https://github.com/yu-xin-c).
- OpenAI- 兼容代理的估计空间太小,无法触发上下文恢复或出现明显错误,而不是返回不可用的简短答复,包括禁用思考。保守估计可能需要较小的提示或与服务器分配相匹配的上下文设置。参见[本地模型](/gateway/local-models)。 [#167878](https://github.com/openclaw/openclaw/pull/167878)。谢谢[@amittell](https://github.com/amittell),[@dankarization](https://github.com/dankarization),[@glebsergeevich](https://github.com/glebsergeevich),[@jacobtomlinson](https://github.com/jacobtomlinson),[@steipete](https://github.com/steipete).
- Managed Gemma 4 个回复可以恢复在答案末尾以文本形式返回的完整独立工具请求。不完整、取消、截断或示例文本不能授权操作;直接模式和其他模型系列不属于此恢复范围。 [#167886](https://github.com/openclaw/openclaw/pull/167886)。谢谢[@jlapenna](https://github.com/jlapenna),[@steipete](https://github.com/steipete).
- 受影响的 Ollama 模型可以在启用工具搜索的情况下执行工具,而不是将工具调用包装器误认为是控制函数。更正涵盖已知的本机和兼容的聊天信封;自定义模板和其他路由仍然需要注意。请参阅 [Ollama 故障排除](/providers/ollama/troubleshooting)。 [#167933](https://github.com/openclaw/openclaw/pull/167933)。感谢 [@steipete](https://github.com/steipete). 感谢 [@shailaja-bot](https://github.com/shailaja-bot) 提供支持解析器调查的相关报告和提示。
- 在响应开始之前,在特定缓存的 WebSocket 延续被拒绝后,A ChatGPT 会以其完整输入重试一次。已完成的工具结果将继续下去,而无需再次运行工具。 SSE,后来的故障和不相关的错误仍然不在本次修复范围内。请参阅 [OpenAI 延续行为](/providers/openai/advanced)。 [#168055](https://github.com/openclaw/openclaw/pull/168055)。谢谢[@nikosml](https://github.com/nikosml),[@steipete](https://github.com/steipete).
- 慢速本机插件检查可以继续前进,直到模型列表准备好,并且普通模型列表准备超时可以恢复。停止的活动本机检查仍然需要手动重新加载或重新启动。网关诊断还会检查您选择的安装。 [8b786700](https://github.com/openclaw/openclaw/commit/8b786700801e24738e86740535ef57078bbeaac0)。谢谢[@martinderm](https://github.com/martinderm),[@matthematics1137](https://github.com/matthematics1137),[@obviyus](https://github.com/obviyus),[@RomneyDa](https://github.com/RomneyDa),[@steipete](https://github.com/steipete), [@swampgorilla](https://github.com/swampgorilla).
- A 使用不同大小写的提供程序文本进行失败的模型查找不再隐藏稍后的有效查找;提供者名称保持区分大小写。 Vertex 还使用 Google Auth 的旋转令牌作为非文件应用程序凭据。 [99878430](https://github.com/openclaw/openclaw/commit/998784305885de579a83f71aef4bc3f60d4ba6e3)。感谢 [@steipete](https://github.com/steipete).
- 回复、计划任务和网关代理请求在后台目录更改时保留其接受的模型信息。取消、撤销访问、关闭租约和网关关闭仍然会停止工作。请参阅 [ 模型目录](/concepts/models)。 [df18524e](https://github.com/openclaw/openclaw/commit/df18524e3f9a41e4e00a6b583a811d9e0b1606c9)。感谢 [@steipete](https://github.com/steipete).
- 当非空流文本是已完成答案的精确前缀时,Codex 回复会恢复丢失的结尾。这不会恢复丢失的中间文本或没有流文本的回复。 [2bb51e77](https://github.com/openclaw/openclaw/commit/2bb51e77b0de34dda2a9c35bec830e4ed5bd67d1)。感谢 [@RomneyDa](https://github.com/RomneyDa).
### 自动化和调度
- 较旧的计划作业保留其原始代理和交付意图,而不是在日常活动或编辑期间默默更改。出现提示时运行 `openclaw doctor --fix`,或使用普通更新程序的 Doctor 阶段。受影响的作业在运行、编辑或删除之前会等待,并保留一次性发生的事件。未知的交付模式需要在保存之前在编辑器中进行审查和明确选择。
- 中断的一次性消息和 Webhook 在重新启动后仍处于禁用状态,并显示 **Unknown**(当它们可能已发送时),包括设置为自行删除的作业。 **在重试之前检查收件人**,因为“未知”可能意味着已发送或未发送。 **在升级之前,制作一个经过验证的 SQLite 备份,其中包括其预写日志。** 较旧的运行时拒绝更新程序临时宽限期之外的迁移状态;仅恢复二进制文件是不够的。恢复较旧的备份会丢失后来的传送记录,并且无法撤消已发送的消息或 Webhook。
- OpenClaw 在任务编辑、结果和便笺等待保存时继续处理事件,保留较新的更改、记录的收件人和取消检查。计划会话清理在大型商店中的工作量较少,并且后台运行可以重用匹配的准备好的插件,而无需更改其工作区或文件访问边界。删除正在运行的作业请求取消;确认并不意味着工作已停止或撤消已完成的效果。
- 现在,仅手动运行到期作业遵循与调度相同的重试退避和触发间隔。强制可以绕过计时和启用,而主动运行、所有权和交付检查仍然适用。停止调度源会等待正在进行的回调。日志在回调完成后开始每个重复间隔,因此较长的回调会延长其节奏;团队报告保留绝对截止时间。
- Gmail 观察程序可以在重新启动期间从短端口冲突中恢复,并且在重试继续时,重复拒绝处理同一电子邮件的尝试会产生更少的重复通知。对于持续冲突,停止占用进程并重新启动OpenClaw或前台watcher。失败消息将定期检查与事件驱动的工作区分开来,并解释如何跟踪日志。
- 您可以使用 `diagnostics-otel` 在一次跟踪中通过代理活动和可用计费使用情况跟踪消息中的隔离计划运行。
来源和变化
- 通过医生修复保留历史作业所有者和交付意图,并通过验证的备份和未决事件完好无损。在存储的交付对象中,丢失或空模式以及旧的 `deliver` 拼写变为 `announce`;未知模式需要审查。完全省略的交付设置保留其正常默认值。更新排练保留实时遗留文件以供真正导入。 [d89da759](https://github.com/openclaw/openclaw/commit/d89da7595d0d6c51f4e17b5631114023e49f931b) 谢谢 [@steipete](https://github.com/steipete).
- Hold 在重播可以再次发送消息和 webhook 时中断了一次性消息和 webhook 传送;事实证明,从未开始交付的运行仍然可以恢复。 [#159873](https://github.com/openclaw/openclaw/pull/159873) 谢谢 [@joshavant](https://github.com/joshavant).
- Reject 格式错误的存储作业保存在更改任何捆绑作业行之前仅提供过时的身份别名。支持的作业和公共 `jobId` RPC 参数保持其行为。 [#163247](https://github.com/openclaw/openclaw/pull/163247) 谢谢 [@steipete](https://github.com/steipete).
- 在另一个进程导致编辑被拒绝后重新检查当前作业状态,以便在运行完成后允许稍后进行编辑,同时保留所有权检查。 [0193905d](https://github.com/openclaw/openclaw/commit/0193905dfa3c8c49f12d4fa432c4e20ef38d3848) 谢谢 [@steipete](https://github.com/steipete).
- 保持网关事件移动,同时完成的手动或计时器作业等待保存其结果,作业和执行记录一起更新。 [#161142](https://github.com/openclaw/openclaw/pull/161142) 谢谢 [@steipete](https://github.com/steipete).
- 在后台工作人员中保存任务编辑,同时保留较新的编辑和运行标记。如果工作人员回复丢失,则不会重播已确认的更改,尽管调用者仍然可以看到回复丢失错误。 [#161241](https://github.com/openclaw/openclaw/pull/161241) 谢谢 [@steipete](https://github.com/steipete).
- 保存草稿笔记和心跳建议而不阻塞网关线程;排队保存拒绝更改作业、撤销权限和过时的原始轮次。 [#161332](https://github.com/openclaw/openclaw/pull/161332) 谢谢 [@steipete](https://github.com/steipete).
- 通过避免不必要地加载普通会话的已保存快照,减少大型存储中的定期计划会话清理暂停。 [#161510](https://github.com/openclaw/openclaw/pull/161510) 感谢 [@steipete](https://github.com/steipete) 和 [@todddickerson](https://github.com/todddickerson).
- 通过在解码之前选择相关的已保存数据,保留相同的检查和保留规则,进一步减少计划会话清理工作。 [#161645](https://github.com/openclaw/openclaw/pull/161645) 谢谢 [@steipete](https://github.com/steipete).
- 保存历史较长的作业结果,同时保持共享数据库写入器锁的时间较短,并更清楚地识别慢速写入背后的操作。 [#161655](https://github.com/openclaw/openclaw/pull/161655) 谢谢 [@steipete](https://github.com/steipete).
- 通过重用未更改的快照重复列出自动化或读取重新启动状态时使用更少的临时内存。 [#164160](https://github.com/openclaw/openclaw/pull/164160) 谢谢 [@steipete](https://github.com/steipete).
- 在删除自动化时披露主动运行取消请求,保留运行历史记录。已承认的运行可以删除自己的作业,而不会自行取消。 [#159586](https://github.com/openclaw/openclaw/pull/159586) 感谢 [@ericcaiwx-star](https://github.com/ericcaiwx-star)、[@dh-js](https://github.com/dh-js) 和 [@obviyus](https://github.com/obviyus).
- 保留与保存时捕获的代理和收件人相关的跳过的运行历史记录和启动通知,包括缺席的默认收件人。中断的清理避免了本地保留的卡住和不确定写入的重播。 [#161703](https://github.com/openclaw/openclaw/pull/161703) 谢谢 [@steipete](https://github.com/steipete).
- Check 执行记录远离网关线程,如果在该检查期间删除了其作业,则停止下一个受影响的事件、结果发布或 Webhook。 [#161935](https://github.com/openclaw/openclaw/pull/161935) 谢谢 [@steipete](https://github.com/steipete).
- 避免在其他工作区中运行网关后台以及匹配禁用或失败的插件记录时加载冗余插件。执行目录和文件访问限制仍然存在。 [#164594](https://github.com/openclaw/openclaw/pull/164594) 谢谢 [@steipete](https://github.com/steipete).
- 当源更改或关闭丢失工作人员回复时,保留流作业状态和非递减损失计数器。过时的更新无法覆盖替换流,并且不确定的结果仍然是错误。 [#161502](https://github.com/openclaw/openclaw/pull/161502) 谢谢 [@steipete](https://github.com/steipete).
- 将手动到期计时与计划重试相一致,并在计划源停止时解决开始的工作。兄弟计划继续进行,并且已过的流截止时间在睡眠后处理一次。 [#163228](https://github.com/openclaw/openclaw/pull/163228) 谢谢 [@steipete](https://github.com/steipete).
- Tie 日志和团队报告安排服务生命周期,在关闭报告资源之前等待承认的工作。日志使用完成后的间隔,而团队报告保留绝对到期时间及其现有的取消截止日期。 [#163918](https://github.com/openclaw/openclaw/pull/163918) 谢谢 [@steipete](https://github.com/steipete).
- 在托管观察程序和前台命令的 5、10 和 20 秒后重试 Gmail 观察程序端口冲突,从短暂的重新启动重叠中恢复。 [#161503](https://github.com/openclaw/openclaw/pull/161503) 感谢 [@obviyus](https://github.com/obviyus) 和 [@kazuyuki-eguchi](https://github.com/kazuyuki-eguchi).
- 当同一封保留的电子邮件无法在五分钟内开始处理时,抑制重复失败通知,同时重试和诊断继续。到期、驱逐或重新启动可以允许再次发出通知。处理开始后的故障仍然可见。 [#164206](https://github.com/openclaw/openclaw/pull/164206) 感谢 [@jayzhou2309](https://github.com/jayzhou2309)、[@obviyus](https://github.com/obviyus) 和 [@TrevorDGreen33](https://github.com/TrevorDGreen33).
- 将失败的检测信号描述为不完整的背景检查,并提供 `openclaw logs --follow` 故障排除指南和由披露设置控制的可选诊断详细信息。 [#162869](https://github.com/openclaw/openclaw/pull/162869) 谢谢 [@vincentkoc](https://github.com/vincentkoc).
- 将失败措辞与选定的工作相匹配,因此事件驱动的请求不会错误地表现为定期检查失败。选定的定期任务和监视器检查保留心跳措辞。 [ac85f6dc](https://github.com/openclaw/openclaw/commit/ac85f6dc13ab6572f3f564a9fde920e4dd6a4d6e) 感谢 [@juyterman1000](https://github.com/juyterman1000) 和 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 将自动化索引直接指向自定义 `POST /hooks/` 路由的现有 [ 映射 webhook 指令 ](/automation/cron-jobs/webhooks#mapped-hooks-post-hooks-name)。 [0ad243f9](https://github.com/openclaw/openclaw/commit/0ad243f936f18008dfd307cc90fa4f7e18a44a1e) 谢谢 [@LinzeShi](https://github.com/LinzeShi).
- 使用 `diagnostics-otel` 时,将隔离的计划运行活动和可用的计费使用情况一起保留在其诊断跟踪中。 [#161304](https://github.com/openclaw/openclaw/pull/161304) 感谢 [@NianJiuZst](https://github.com/NianJiuZst)、[@ryan-dyer-sp](https://github.com/ryan-dyer-sp) 和 [@obviyus](https://github.com/obviyus).
### 浏览器和计算机使用
- 托管浏览器可以在 Linux ARM64 上以及当 `XDG_CACHE_HOME` 重定向缓存时找到已安装的 Playwright Chromium。浏览器医生检查您的配置文件实际使用的启动设置,包括远程、附加和自定义浏览器。
- Native Codex 应用程序控制不再报告 API-key 安装的错误浏览器身份验证错误。安装程序会在时钟发生变化时保持超时允许,并且代理会获得定位窗口并同时提供浏览器和页面引用的说明。
- Mac 桌面自动化使用 Peekaboo 4.7.0. 如果无法安全地调度精确窗口菜单操作,`actionOnly` 会拒绝它;使用受支持的 `actionFirst` 后备。
- 浏览器连接地址即使在路径、查询或片段包含 at 符号时也会保留其显式默认端口。 Firecrawl 还通过 `infer web fetch` 和 `capability web fetch` 获取 `--format text`,但可以保留一些 Markdown 格式。
- Tab 清理和仪表板协调在启动它们的请求结束后继续,直到浏览器服务停止。清理重试会减少针对已停止配置文件的重复警告,并且会返回速率限制错误,而不会挂起响应取消。请参阅 [ 浏览器配置 ](/tools/browser/configuration)。
- Desktop 重新连接不再累积清理失败会话的重复尝试。 **单独重新连接不再重试清理失败**,即使它是暂时的。检查报告的进程或文件系统错误并执行生命周期清理,例如在实验室中关闭主机桌面;仅在清理成功后才开始替换。请参阅 [ 桌面配置 ](/gateway/config-browser-ui-desktop)。
- 保持专用网络浏览器访问需要规范的 `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork` 设置。如果您的配置仍然使用已停用的 `browser.ssrfPolicy.allowPrivateNetwork` 密钥,请将其替换;旧的浏览器密钥不再有效。
- 浏览器检查显示已注册的工具,沙箱保留和清理工作移至后台,同时保持其顺序。旧的未配置的 `browser/clawd` 目录现在保留在磁盘上,而不是提供给 Doctor 存档;已配置的配置文件仍受支持。
来源和完整变更列表
- 减少重复的停止配置文件无法访问选项卡警告,而无需停止清理重试。 [#155211](https://github.com/openclaw/openclaw/pull/155211) 感谢 [@LiuwqGit](https://github.com/LiuwqGit)、[@obviyus](https://github.com/obviyus)、[@ghowkay](https://github.com/ghowkay).
- 在系统时钟更改期间保留设置请求超时限额。 [#155873](https://github.com/openclaw/openclaw/pull/155873) 谢谢[@SunnyShu0925](https://github.com/SunnyShu0925),[@altaywtf](https://github.com/altaywtf).
- 在运行时插件检查中显示浏览器工具的名称。 [#158823](https://github.com/openclaw/openclaw/pull/158823) 谢谢[@chopin-op60](https://github.com/chopin-op60),[@priyabrataedu-droid](https://github.com/priyabrataedu-droid),[@Spheresta](https://github.com/Spheresta), [@altaywtf](https://github.com/altaywtf).
- Bound 重新连接时桌面清理失败,需要在替换前进行显式清理。 [#161621](https://github.com/openclaw/openclaw/pull/161621) 谢谢 [@steipete](https://github.com/steipete).
- Match Browser Doctor 有效配置文件的先决条件,包括明确的 Chrome MCP 端点和本地自动连接选择。 [#161694](https://github.com/openclaw/openclaw/pull/161694) 感谢 [@steipete](https://github.com/steipete).
- 在包含 at 符号的浏览器连接地址的正确部分中保留显式默认端口。 [#161984](https://github.com/openclaw/openclaw/pull/161984) 谢谢 [@steipete](https://github.com/steipete).
- 尊重两个 web-fetch 命令别名中的现有文本输出选项。 [#162036](https://github.com/openclaw/openclaw/pull/162036) 谢谢 [@LinzeShi](https://github.com/LinzeShi).
- 解释窗口发现、准备先决条件以及对代理的配对 browser/page 参考。 [#162286](https://github.com/openclaw/openclaw/pull/162286) 谢谢 [@steipete](https://github.com/steipete).
- 在浏览器服务的生命周期内保持选项卡清理和仪表板协调处于活动状态。 [#162312](https://github.com/openclaw/openclaw/pull/162312) 谢谢 [@steipete](https://github.com/steipete).
- 避免本机计算机使用准备情况检查中出现错误的浏览器身份验证失败。 [#162467](https://github.com/openclaw/openclaw/pull/162467) 谢谢 [@RomneyDa](https://github.com/RomneyDa).
- 将 macOS 桌面自动化更新为 Peekaboo 4.7.0,并具有精确的窗口拒绝和回退行为。 [#162746](https://github.com/openclaw/openclaw/pull/162746) 感谢 [@vincentkoc](https://github.com/vincentkoc),[@steipete](https://github.com/steipete).
- 停止遵守已停用的浏览器专用网络密钥并使用规范设置。 [#163168](https://github.com/openclaw/openclaw/pull/163168) 谢谢 [@steipete](https://github.com/steipete).
- 在Linux ARM64上自动查找安装的Playwright Chromium。 [#163281](https://github.com/openclaw/openclaw/pull/163281) 感谢 [@jesse-merhi](https://github.com/jesse-merhi).
- 在重定向的 Linux 缓存中查找 Chromium,同时保留显式的可执行文件和缓存选择。 [#163510](https://github.com/openclaw/openclaw/pull/163510) 感谢 [@ly85206559](https://github.com/ly85206559).
- Retire Doctor 对旧的未配置浏览器配置文件残留的检测和归档,保留现有目录。 [#163709](https://github.com/openclaw/openclaw/pull/163709) 谢谢 [@steipete](https://github.com/steipete).
- [沙箱浏览器预留、活动和清理簿记在网关主线程之外运行,同时保留预留和清理顺序并保护替换浏览器 instances.](https://github.com/openclaw/openclaw/pull/164106). 感谢 [@steipete](https://github.com/steipete).
- 返回浏览器速率限制错误,而不挂起响应取消。 [88b1a534](https://github.com/openclaw/openclaw/commit/88b1a534773af8d6770de4fb52d595ca872445ce) 感谢 [@obviyus](https://github.com/obviyus). 感谢 [@nocodet888-arch](https://github.com/nocodet888-arch) 编写修复程序。
### 插件和集成
- **插件升级。** 在 OpenClaw 主机之前更新受影响的插件,使其保持正常工作; [SDK 迁移指南](/plugins/sdk-migration) 解释了退役的导入和替换。旧版仅扩展安装在升级之前需要明确支持的安装或 2026.9.7 Doctor 修复。使用重构助手更新的 Zoom、Teams、ClickClack、Google Chat、IRC、Slack、SMS 和 Zalo 软件包需要主机 2026.9.8 或更高版本。没有公认的插件所有权的历史对话绑定可以拒绝重新分配,恢复仍然悬而未决。
- **加载和重新加载。** 在插件重新加载等待工作完成时,您可以读取模型列表、登录状态和会话元数据。如果等待失败,请重试 `openclaw plugins reload --wait` 或恢复挂起的设置;阻止其自身重新加载的模型调用会立即失败,然后可以重试。加载避免了重复的本机插件扫描,并支持跨文件系统和符号链接的托管 npm 布局。编辑捆绑的TypeScript后,重启OpenClaw;编译的安装也需要首先重建。
- **后台工作和较旧的文件。** 停止或替换服务会取消挂起的回调并等待所有者清理后已接受的工作。本次升级前,通过2026.9.5和Doctor迁移旧设备对通知文件、Discord model/thread文件和iMessage回复、发送回显或追赶文件;语音呼叫 `calls.jsonl` 需要 2026.9.7. 在备份或移动保留的原始文件并重试之前验证迁移。独立语音呼叫在打印结果后保持其 webhook 服务; SIGINT 或 SIGTERM 结束它并完成清理。
- **Cloud 工作线程和 GitHub.** 工作线程清理和重新注册会尊重您选择的配置文件和平台,并针对符合条件的超时进行有限重试。 Worker 和远程防护路径需要 Crabbox 0.69.0 或更高版本。明确不支持的 Linux 快照捕获可以使用现有恢复;较旧的暂停捕获仍然需要恢复。 GitHub 在冲突快照活动期间发布选择和状态保持可读。按照 [cloud-worker Troubleshooting](/gateway/cloud-workers/troubleshooting) 进行操作,并在命令拒绝继续时保留 `--lease-id`。
- **Tool 发现和输入。** [Tool Search](/tools/tool-search) 查找具有嵌套在组合模式中的可信参数的工具。重复的工具或技能搜索重复使用未更改的索引。输入保留引用的类型和默认值,并接受自定义字符串和预设;过度嵌套的 MCP 结果解释了需要更平坦的输出。会议标题和日志会跳过已完成的历史记录,尽管它们的第一次索引构建可能需要时间和临时磁盘空间。
- **集成设置和恢复。**语音呼叫保留活动呼叫的录音座席;通过提供商挂断旧的无主呼叫并开始新呼叫。 `openclaw doctor --fix` 修复旧版 MCP 传输别名,Gmail 设置接受带有空格的 Python 路径。支持Ollama模型,直接发送到`ollama.com`即可使用最大思维;本地和本地`:cloud`中继路由保持兼容的高映射。删除的 Diffs 语言包 `api.ts` 入口点可能会影响外部导入;更换指南仍未解决。
外部插件避免了模型目录采用期间不必要的重新加载。安装插件启动重复较少的文件读取,Windows 对符合条件的小文件使用有界复制路径,并且有效的插件可以通过祖先目录连接加载。更改或不完整的捕获仍会被拒绝。
更改和来源
- 整个存储和转录文件 SDK 桥被删除;受影响的插件必须在主机更新之前采用受支持的重点 API。 [#162220](https://github.com/openclaw/openclaw/pull/162220)。感谢 [@steipete](https://github.com/steipete).
- `channel-lifecycle`、`channel-message`、`channel-reply-pipeline`、`config-runtime` 和 `infra-runtime` 导入已停用,替换调用记录在迁移指南中。 [#162333](https://github.com/openclaw/openclaw/pull/162333)。感谢 [@steipete](https://github.com/steipete).
- `command-auth`、`discord` 和 `telegram-account` SDK 外墙已停用;使用支持的通道合约和注入的运行时。 [#163366](https://github.com/openclaw/openclaw/pull/163366)。感谢 [@steipete](https://github.com/steipete).
- 使用已停用的 Copilot 令牌交换帮助程序的插件必须转移到注册的身份验证挂钩和提供商拥有的端点解析。 [#163587](https://github.com/openclaw/openclaw/pull/163587)。感谢 [@steipete](https://github.com/steipete).
- Provider 插件用现有的系列构造函数替换了八个已退役的 stream/replay 常量; [ 兼容性指南](/plugins/sdk-migration/compatibility-policy) 列出了替换和保留的别名。 [#163591](https://github.com/openclaw/openclaw/pull/163591)。感谢 [@steipete](https://github.com/steipete).
- 重构的Zoom和Teams插件包需要主机2026.9.8或更新版本。 [#161628](https://github.com/openclaw/openclaw/pull/161628)。感谢 [@steipete](https://github.com/steipete).
- 使用共享秘密助手更新了 ClickClack、Google Chat、IRC、Slack、SMS 和 Zalo 软件包需要主机 2026.9.8 或更高版本。 [#162827](https://github.com/openclaw/openclaw/pull/162827)。感谢 [@steipete](https://github.com/steipete).
- 仅旧扩展 npm 存根需要明确支持的安装或预升级 Doctor 修复。 [#163231](https://github.com/openclaw/openclaw/pull/163231)。感谢 [@steipete](https://github.com/steipete)、[@Dylanzhang1128](https://github.com/Dylanzhang1128)、[@vincentkoc](https://github.com/vincentkoc).
- 捆绑的源插件共享加载的主机代码,因此源编辑在重新启动网关后生效。 [#163639](https://github.com/openclaw/openclaw/pull/163639)。感谢 [@steipete](https://github.com/steipete).
- 支持较旧的Codexharness插件保留`sourceVisibleReplies`; `visibleReplies` 是规范字段,显式消息配置优先。 [#163497](https://github.com/openclaw/openclaw/pull/163497),[#163786](https://github.com/openclaw/openclaw/pull/163786)。感谢 [@steipete](https://github.com/steipete).
- Typed 批准挂钩必须省略已停用的 `requireApproval.timeoutBehavior` 字段; `timeoutMs` 和 `timeoutReason` 仍受支持。 [#163333](https://github.com/openclaw/openclaw/pull/163333)。感谢 [@steipete](https://github.com/steipete).
- Typed 配置使用 `models[ref].agentRuntime` 和 `agents.defaults.compaction` 而不是已停用的每代理字段。 [#164586](https://github.com/openclaw/openclaw/pull/164586)。感谢 [@steipete](https://github.com/steipete).
- 较新的会议页面脚本工厂使用 `statusPrelude` 和 `statusCall` 描述符;较旧的独立构建器仍然可用。 [#163983](https://github.com/openclaw/openclaw/pull/163983)。感谢 [@steipete](https://github.com/steipete).
- 使用仅旧版注册安装的 QA 运行器插件必须将其运行器注册移动到 `qa-runner-api.ts` 或 `.js`。 [#164058](https://github.com/openclaw/openclaw/pull/164058)。感谢 [@steipete](https://github.com/steipete).
- Feishu 广播和代理选择接受规范的密钥名册,而源类型则拒绝较早退役的 roster/default 字段。 [#164103](https://github.com/openclaw/openclaw/pull/164103)。感谢 [@steipete](https://github.com/steipete).
- 固定代理帮助程序用户应查看零值连接选项。大多数使用 Node 默认值,但 `maxTotalSockets: 0` 在构建过程中失败。 [#161624](https://github.com/openclaw/openclaw/pull/161624)。感谢 [@steipete](https://github.com/steipete).
- Callable 提供程序目录保留生命周期检查,历史无所有者对话绑定现在拒绝重新分配,而不是进入旧的迁移流程。 [#164047](https://github.com/openclaw/openclaw/pull/164047)。感谢 [@steipete](https://github.com/steipete).
- Migration-index 链接直接到达匹配的 replacement-API 部分。 [80f68b8862fc](https://github.com/openclaw/openclaw/commit/80f68b8862fc98c843df31040af3219b6b8b99ed)。感谢 [@LinzeShi](https://github.com/LinzeShi).
- 插件重新加载可通过等待和失败的消耗保持被动模型、登录和聊天元数据可用。 [#162301](https://github.com/openclaw/openclaw/pull/162301)。感谢 [@steipete](https://github.com/steipete).
- Session 列表、检查和运行状况可以在退役注册管理机构过渡到替代注册管理机构时使用积极思考策略。 [#162470](https://github.com/openclaw/openclaw/pull/162470)。感谢 [@jalehman](https://github.com/jalehman).
- A 插件模型调用将阻止其自身重新加载立即失败,并指示稍后重试。 [#162484](https://github.com/openclaw/openclaw/pull/162484)。感谢 [@jalehman](https://github.com/jalehman).
- 在旧插件生成后,正在进行的会话可以使用当前的工具策略处理程序。 [#164451](https://github.com/openclaw/openclaw/pull/164451)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- Reply 模型查找支持自定义提供程序、别名和模型覆盖的禁用插件。 [120b43633fde](https://github.com/openclaw/openclaw/commit/120b43633fde174329b35cb6017fad31cac635d3)。感谢 [@steipete](https://github.com/steipete).
- 本机预构建加载可避免在检查和启动期间重复进行完整捕获的文件扫描。 [#165301](https://github.com/openclaw/openclaw/pull/165301)。感谢 [@goutamadwant](https://github.com/goutamadwant)、[@steipete](https://github.com/steipete)、[@exGeni](https://github.com/exGeni).
- 具有本机依赖项的托管 npm 插件跨文件系统边界和支持的符号链接布局加载。对于错误的主机安装,请在目标主机上运行 `doctor --fix`,然后重新加载。 [#163876](https://github.com/openclaw/openclaw/pull/163876)。感谢 [@steipete](https://github.com/steipete)、[@wlassalle724](https://github.com/wlassalle724)、[@EmisvaldoSilva](https://github.com/EmisvaldoSilva).
- Bun 加载遵循捕获的依赖项元数据,其可移植 worker/recovery 捆绑包包括受支持的 Node 目标所需的 JavaScript 依赖项。 [#163052](https://github.com/openclaw/openclaw/pull/163052)。感谢 [@steipete](https://github.com/steipete).
- Bun 插件解析带有文件名后缀的有效通配符包导入别名。 [#163232](https://github.com/openclaw/openclaw/pull/163232)。感谢 [@steipete](https://github.com/steipete).
- Deferred Bun SDK 导入保留由其插件生成选择的源或构建主机。 [#163360](https://github.com/openclaw/openclaw/pull/163360)。感谢 [@steipete](https://github.com/steipete).
- Bun 在公开 Node- 兼容模块挂钩时保留其预期的插件加载器。 [#163539](https://github.com/openclaw/openclaw/pull/163539)。感谢 [@steipete](https://github.com/steipete).
- 共享插件缓存遵循选定的状态位置,失败的安装在尝试清理时会保留其诊断错误。 [#161351](https://github.com/openclaw/openclaw/pull/161351)。感谢 [@steipete](https://github.com/steipete).
- Quarantined 工具和上下文引擎运行状况读取会移出调用线程,同时继续报告存储的状态。 [#161375](https://github.com/openclaw/openclaw/pull/161375)。感谢 [@steipete](https://github.com/steipete).
- Doctor 和计划的清理警告会保留文件系统和所有权令牌释放失败的情况。 [#161488](https://github.com/openclaw/openclaw/pull/161488)。感谢 [@steipete](https://github.com/steipete).
- Plugins 通过多层转发提供程序流,避免重复检查同一事件。 [#161696](https://github.com/openclaw/openclaw/pull/161696)。感谢 [@steipete](https://github.com/steipete).
- Stream和结果切换消除了重复的边界环绕;插件作者保留保持交付的有效负载不变的责任。 [#163818](https://github.com/openclaw/openclaw/pull/163818)。感谢 [@steipete](https://github.com/steipete).
- Native 挂钩在声明其经过身份验证的桥不可用之前,会在现有期限内重试短暂的数据库锁定。 [#161822](https://github.com/openclaw/openclaw/pull/161822)。感谢 [@steipete](https://github.com/steipete).
- Context-引擎启动和重新加载等待接受的运行状况清理,而不让过时的激活清除较新的故障。 [#161952](https://github.com/openclaw/openclaw/pull/161952)。感谢 [@steipete](https://github.com/steipete).
- Standalone SDK 沙箱准备拒绝实时或未经验证的运行时拥有的共享状态。使用所属运行时,或通过服务所有者停止它并等待嵌入活动,然后再重试脱机。 [#164203](https://github.com/openclaw/openclaw/pull/164203)。感谢 [@steipete](https://github.com/steipete).
- Remote-exec 引导程序包括受影响的外部插件(例如 Codex)所需的已发布 `.setup` 运行时块。 [#165669](https://github.com/openclaw/openclaw/pull/165669)。谢谢[@LiuwqGit](https://github.com/LiuwqGit),[@JakeBotFleet](https://github.com/JakeBotFleet).
- CLI 帮助和命令发现释放可执行文件拥有的插件元数据资源并保留报告的清理失败。 [bfdb432570ac](https://github.com/openclaw/openclaw/commit/bfdb432570aca3797c8c42230ae2488959381214)。谢谢[@steipete](https://github.com/steipete),[@vincentkoc](https://github.com/vincentkoc).
- 完成处理可以完成关机,但仍报错;未完成的清理和失败的先决条件仍然处于阻塞状态。 [cf78e6443477](https://github.com/openclaw/openclaw/commit/cf78e64434775321f863c8c55369979d3ae90d07)。感谢 [@steipete](https://github.com/steipete).
- Saved Control UI 插件描述符在停用后仍然可读,而无需调用停用的插件。 [dc8393473d09](https://github.com/openclaw/openclaw/commit/dc8393473d094e033eab94a66f5c51db0c6b4dc6)。感谢 [@steipete](https://github.com/steipete).
- Catalog 创建的资源控件保留其工厂的插件上下文,包括修复的语音流发布回调。 [a388b8f1a736](https://github.com/openclaw/openclaw/commit/a388b8f1a736201531399571af7b8209569cd392)。感谢 [@steipete](https://github.com/steipete).
- Worker-运行时导入通过注册的 main、worker 和生命周期包入口点进行解析。 [6c31d857a79c](https://github.com/openclaw/openclaw/commit/6c31d857a79c9cca42b7d8bf686d36a91851eb03)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- Installed-plugin 所有权和冲突检查在每次检查中重用已解析的路径。 [6fc676c5b563](https://github.com/openclaw/openclaw/commit/6fc676c5b563072bd29700ca0e6bb2937c195086)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- Service/account 调度会取消挂起的工作,并在所有者清理后加入已承认的回调,并满足上述单独的旧文件升级要求。 [7f0410c2e66e](https://github.com/openclaw/openclaw/commit/7f0410c2e66e912a524e72ca883deef2dca09d0f)。感谢 [@steipete](https://github.com/steipete).
- Claw 清理和 MCP 设置状态保存在后台运行; cleanup 会等到其所有权记录被保存。 [#163112](https://github.com/openclaw/openclaw/pull/163112)。感谢 [@steipete](https://github.com/steipete).
- Stopping Beam 和 Codex 桌面观察者取消民意调查并重试并等待承认的工作,从而防止后期发布。 [#163914](https://github.com/openclaw/openclaw/pull/163914)。感谢 [@steipete](https://github.com/steipete).
- 自定义旧版 PCM Talk 集成可避免在替换后到达取消时启动过时的回复。 [#163732](https://github.com/openclaw/openclaw/pull/163732)。感谢 [@steipete](https://github.com/steipete).
- Global MCP 清理工作继续报告先前未经确认的处置,而不是在稍后的空清理中失去这种不确定性。 [a6089edc5cd9](https://github.com/openclaw/openclaw/commit/a6089edc5cd9f53f98313b4392d3fc1566258331)。感谢 [@steipete](https://github.com/steipete).
- Crabbox 0.69.0 或更新版本支持从明确不受支持的 Linux 快照捕获中恢复,而不将每个捕获错误视为后备。 [#161465](https://github.com/openclaw/openclaw/pull/161465),[#162334](https://github.com/openclaw/openclaw/pull/162334)。感谢 [@steipete](https://github.com/steipete).
- A 健康的 macOS Crabbox 工作线程可以在繁忙的主机上重新注册,而不会出现错误的重新配置错误。 [#162233](https://github.com/openclaw/openclaw/pull/162233)。感谢 [@steipete](https://github.com/steipete).
- Crabbox 清理保留所选配置文件,并发请求共享可执行文件准备工作。 [#164128](https://github.com/openclaw/openclaw/pull/164128)。感谢 [@steipete](https://github.com/steipete).
- Linux 配置文件明确请求 Linux,清理后的工作错误会保留有用的状态和最近的日志详细信息。 [#164129](https://github.com/openclaw/openclaw/pull/164129)。感谢 [@steipete](https://github.com/steipete).
- 合格协调员超时在原始预算内最多获得 3 次尝试;新的不受支持的后端拒绝确定了配置文件问题。 [#164231](https://github.com/openclaw/openclaw/pull/164231)。感谢 [@steipete](https://github.com/steipete).
- GitHub 发布帐户选择和状态在冲突的保留快照活动期间保持可读。 [#161551](https://github.com/openclaw/openclaw/pull/161551)。感谢 [@steipete](https://github.com/steipete).
- 个人 GitHub 确认状态遵循会话 archive/restore 并拒绝因存档更改而导致过时的读取。 [#141994](https://github.com/openclaw/openclaw/pull/141994)。谢谢[@wangmiao0668000666](https://github.com/wangmiao0668000666),[@steipete](https://github.com/steipete).
- Tool 搜索发现组合模式和元组项内的可信工具参数。请参见 [ 工具 Search](/tools/tool-search)。 [#164032](https://github.com/openclaw/openclaw/pull/164032)。谢谢[@harshitgupta31415](https://github.com/harshitgupta31415),[@obviyus](https://github.com/obviyus).
- 重复的工具和已安装的技能搜索在回合和代码模式单元中重复使用未更改的单词索引。 [#164166](https://github.com/openclaw/openclaw/pull/164166)。感谢 [@steipete](https://github.com/steipete).
- Control UI 指南解释了呈现的选项卡、小部件和链接阅读器贡献面。请参见 [ 主机挂钩 ](/plugins/sdk-overview/host-hooks)。 [#147599](https://github.com/openclaw/openclaw/pull/147599)。谢谢[@Colton-Harris](https://github.com/Colton-Harris),[@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- Client 指南区分会话元数据、最近存储的消息和显示标准化历史记录。请参阅 [ 会话 RPC 读者 ](/gateway/protocol/rpc-session-control)。 [#155449](https://github.com/openclaw/openclaw/pull/155449)。谢谢[@winddd666](https://github.com/winddd666),[@datus1982](https://github.com/datus1982).
- Affected 插件和 MCP 工具架构接受有效的自定义字符串以及命名预设。 [#159755](https://github.com/openclaw/openclaw/pull/159755)。感谢 [@Shenrui-Ma](https://github.com/Shenrui-Ma).
- 过度嵌套的 MCP 结果失败,输出指导更平坦,包括一致的 [ 代码模式输出 ](/tools/code-mode/output) 错误。 [#160825](https://github.com/openclaw/openclaw/pull/160825)。谢谢[@wangmiao0668000666](https://github.com/wangmiao0668000666),[@hpyhandsome](https://github.com/hpyhandsome).
- 编码的[插件架构引用](/plugins/manifest)保留分隔符和默认值;使用 `~1` 作为键中的文字斜杠,使用 `~0` 作为波形符。 [#161954](https://github.com/openclaw/openclaw/pull/161954)。感谢 [@boeingchoco](https://github.com/boeingchoco)、[@obviyus](https://github.com/obviyus).
- 编码的本地工具引用保留输入类型和支持的数字转换,同时拒绝无效文本。 [#162435](https://github.com/openclaw/openclaw/pull/162435)。感谢 [@boeingchoco](https://github.com/boeingchoco)、[@obviyus](https://github.com/obviyus)、[@he-yufeng](https://github.com/he-yufeng).
- Native 插件准备重复使用对受影响的硬链接安装中未更改的捕获文件的成功检查。 [#162254](https://github.com/openclaw/openclaw/pull/162254)。感谢 [@steipete](https://github.com/steipete)、[@WG-Mojo](https://github.com/WG-Mojo)、[@eddiekk](https://github.com/eddiekk)、[@NickM83](https://github.com/NickM83).
- Bun-支持的 npm 插件操作使用捆绑的 npm 12.1.0,同时保留显式的 Git 和远程 tarball 源限制。 [#162581](https://github.com/openclaw/openclaw/pull/162581)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 运行 Bun 插件会在源代码编辑后保留通过支持的包别名达到的选定依赖项内容。 [#164223](https://github.com/openclaw/openclaw/pull/164223)。感谢 [@steipete](https://github.com/steipete).
- 重复配置检查避免再次编译临时条件默认验证器。 [#164208](https://github.com/openclaw/openclaw/pull/164208)。感谢 [@steipete](https://github.com/steipete).
- 会议标题重试使用更窄的索引,而精确重试保持重复数据删除并且修订保持不同。 [#164127](https://github.com/openclaw/openclaw/pull/164127)。感谢 [@steipete](https://github.com/steipete).
- Logbook 待分析轮询避免扫描已完成的历史记录,同时保留待处理订单和重试。 [#164130](https://github.com/openclaw/openclaw/pull/164130)。感谢 [@steipete](https://github.com/steipete).
- Lobster 插件的运行时 2026.9.14 更新更正了结构化 LLM 任务 request/result 转换。 [#162558](https://github.com/openclaw/openclaw/pull/162558)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- Comfy 指南将托管 MCP 帐户登录与工作流程插件 API 密钥分开。请参阅 [MCP OAuth](/cli/mcp/transports#oauth-workflow) 和 [Comfy MCP](https://docs.comfy.org/agent-tools/mcp)。 [#163197](https://github.com/openclaw/openclaw/pull/163197)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- QA 实验室多通道接受有效的存储库子项,例如 `..qa-artifacts`,同时拒绝父项、根和符号链接转义。 [#163223](https://github.com/openclaw/openclaw/pull/163223)。感谢 [@steipete](https://github.com/steipete).
- QuickJS 代码模式卡和设置使用共享的白色背景吉祥物。 [#163804](https://github.com/openclaw/openclaw/pull/163804)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- Voice Call 保留记录的所有权,并将旧的无主活动呼叫留给提供商端挂断和新呼叫。 [#163118](https://github.com/openclaw/openclaw/pull/163118)。感谢 [@steipete](https://github.com/steipete).
- Doctor 修复旧的 MCP `type` 别名,显式规范传输胜过冲突的旧类型。 [#162256](https://github.com/openclaw/openclaw/pull/162256)。感谢 [@steipete](https://github.com/steipete).
- MCP 列表保留不透明的分页标记,并且直接发送到 `ollama.com` 的受支持模型可以在不改变本地中继兼容性的情况下获得最大程度的思考。 [db0c17463643](https://github.com/openclaw/openclaw/commit/db0c17463643179148600aa03be5f1f0cc5815b2)。
- 当目录包含空格时,Gmail 安装程序会保留完整发现的 Python 可执行路径。 [fd333c7e1773](https://github.com/openclaw/openclaw/commit/fd333c7e17731cfbb28375b58110b4cd30d3f52a)。感谢 [@steipete](https://github.com/steipete).
- [Firecrawl 指南](/tools/firecrawl) 直接链接到提供商网站和 API-key 仪表板。 [#157257](https://github.com/openclaw/openclaw/pull/157257)。感谢 [@JuampiHernandez](https://github.com/JuampiHernandez).
- Malformed Claude Workshop回复立即拒绝等待的MCP请求,而不是将其保留到SDK超时。 [#158916](https://github.com/openclaw/openclaw/pull/158916)。谢谢[@steipete](https://github.com/steipete),[@VACInc](https://github.com/VACInc).
- Diffs 屏幕截图遵守准备期限,Canvas 资产可以在短暂读取失败后重试,失败的 Twitch 启动会清除其期限计时器。 Diffs 语言包作者应检查已删除的顶级 `api.ts` 的导入;更换未经验证。 [#161096](https://github.com/openclaw/openclaw/pull/161096)。感谢 [@steipete](https://github.com/steipete).
- Saved ClickClack 讨论更新从服务启动开始,而不是退回到过早轮询。 [#161150](https://github.com/openclaw/openclaw/pull/161150)。谢谢[@ericcurtin](https://github.com/ericcurtin),[@steipete](https://github.com/steipete).
- Canvas 重新连接避免重复操作,Logbook 拒绝反向修剪间隔,Tavily 跳过不可能的日期,失败的 LanceDB 表发现关闭其连接。 [#161706](https://github.com/openclaw/openclaw/pull/161706)。感谢 [@steipete](https://github.com/steipete).
- Memory Wiki 导入反引号重的文本,Plivo V3 使用原型命名的参数验证有效的 webhook。 [#162425](https://github.com/openclaw/openclaw/pull/162425)。感谢 [@steipete](https://github.com/steipete).
- 并行搜索缓存区分分隔符敏感请求和显式命名的 `default` 会话。 [#163911](https://github.com/openclaw/openclaw/pull/163911)。感谢 [@steipete](https://github.com/steipete).
- 采用下载的模型目录重用未更改的外部插件,而不是重新加载它们并使网关在启动后不久无响应。初始插件加载和显式重新加载仍然完成自己的工作。 [#167544](https://github.com/openclaw/openclaw/pull/167544)。谢谢[@cmrstudio56](https://github.com/cmrstudio56),[@obviyus](https://github.com/obviyus).
- Installed-plugin 启动重复的普通文件读取次数较少。在Windows上,符合条件的普通小插件文件也使用现有的有界复制路径;大文件和本机文件保留其受保护的路径。更改或不完整的插件捕获仍然被拒绝。 [#168017](https://github.com/openclaw/openclaw/pull/168017),[#168256](https://github.com/openclaw/openclaw/pull/168256)。谢谢[@gollymashed](https://github.com/gollymashed),[@krumch](https://github.com/krumch),[@RomneyDa](https://github.com/RomneyDa),[@RuiCatalao7](https://github.com/RuiCatalao7),[@steipete](https://github.com/steipete), [@utesara](https://github.com/utesara).
- 当祖先 Node 目录通过结点重定向时,Windows 可以加载有效的已安装插件。已验证的包根目录之外的条目仍然被拒绝。 [052baa8c](https://github.com/openclaw/openclaw/commit/052baa8ce55fdd45316e58d3f6b8889a19421520)。感谢 [@steipete](https://github.com/steipete).
- Doctor 使用更新的插件自己的修复回调和设置规则。准备大型插件可以在支持的文件系统上使用更少的磁盘写入,而以后的编辑保持独立。重新加载会验证复制的内容,并要求您重试(如果文件在准备过程中发生更改)。 [7039983b](https://github.com/openclaw/openclaw/commit/7039983bd7909452ff4cb2a4b3ad2251678f4e22),[dd51d9cc](https://github.com/openclaw/openclaw/commit/dd51d9ccd5a83ea810e85907403b7ba2a0f29d25)。谢谢[@jjjhenriksen](https://github.com/jjjhenriksen),[@RomneyDa](https://github.com/RomneyDa).
- MCP 库更新将保存的登录记录绑定到其授权服务器。如果该服务器发生更改,请显式重新连接,包括保存旧客户端信息的时间。 [f9310588](https://github.com/openclaw/openclaw/commit/f9310588a85ab3acaf17248e360f050b26c3c6af)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen)、[@RomneyDa](https://github.com/RomneyDa)、[@vincentkoc](https://github.com/vincentkoc).
- 插件状态操作通过无害的并发对话编辑继续进行,同时在活动会话编写器更改后仍然拒绝工作。 [01c06759](https://github.com/openclaw/openclaw/commit/01c06759eb299ac56c07dafe742f542915cdc884)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 有效的网关启动可以避免为受影响的外部插件加载不必要的诊断模块。无效的配置和显式的 Doctor 仍然会收到插件的修复检查。请参阅运行 Gateway](/cli/gateway/running) 的 [。 [a84bd1a5](https://github.com/openclaw/openclaw/commit/a84bd1a593ff44246ce8222b1f488bbc54ee98fd)。感谢 [@RomneyDa](https://github.com/RomneyDa).
### 安全与隐私
- Guests 可以再次启动私人沙盒助手,通知其子代理并要求代理重命名他们创建的对话,而无需广泛的写入访问权限。共享工作遵循所选的经过验证的参与者的权限和原始运行的限制,在共享信任边界内。在多用户安装中,只有创建者或管理员才能存档或恢复线程;分配的非创建者在升级后会丢失这些操作,包括在现有线程上。
- 共享控制、代理发现和命令列表在延迟或重新连接后重新检查访问。会话读取访问适用于共享 GitHub 发布选项和收据,而自动化会在访问或所有权更改后隐藏私人工作笔记。
- 批准链接会在您做出决定之前显示提供的付款、收件人、过帐和自动化详细信息。不相关的编辑保留待批准;相关权限的变更使其失效。抑制审核输出的命令遵循普通 read/write 审批策略,包括符合条件的自动审核。
- 配对和执行批准设置使用正在运行的网关的当前状态。较新的 CLI 在没有所需支持的情况下拒绝较旧的网关;在重试之前,请通过其服务所有者更新或停止它。在重复结果不确定的突变之前检查当前请求或设置。对于缩小的浏览器令牌,请在网关主机上使用 `openclaw dashboard --json` 恢复管理员访问权限,并在十分钟内在同一浏览器、源和网关中打开新的 URL。
- 节点上的工作遵循当前的 [ 工作空间和修补工具限制 ](/nodes/session-hosting)。同一计算机上符合条件的本机应用程序可以避免在现有本地策略下重复进行初始批准,并且重复使用的可写 SSH 沙箱会接收新的上传内容。严格文件系统模式可以拒绝在没有 `openat2` 的情况下对 Windows 或 Linux 进行递归清理,从而留下目录;使用支持所需保护的平台。将旧文件系统模式变量名称迁移到其本机模式等效名称。
- Credential 提示确认已完成的保存,即使已接受的保存在重置后私下完成也是如此。如果运行时刷新失败,请使用 `secrets.reload` 而不是再次提交答案。没有提供者的旧核心秘密引用需要 `openclaw doctor --fix`。保留原始备份并检查修复情况,特别是对于 Talk 和实时 Talk,其设置可以在修复之前丢弃旧的无提供者 API-key 对象。
- Logout 从仍保存的配置文件中删除复制的目录凭据,并且秘密排除的 Git 备份会省略目录键和标头。已被旧注销删除的配置文件以及之前创建或推送的备份需要单独检查。允许的 CLI 命令和文字环回 HTTP 请求与秘密出口代理一起使用; HTTP 的秘密替换仍然被拒绝。提供商错误隐藏反映的凭据,共享 OAuth 配置文件避免不必要的副本,A2A 状态标识需要修复的令牌设置。
- 秘密屏蔽保留 `pass:` 之后的普通文本,并减少受影响的长输出暂停,包括自定义模式。分块自定义扫描可能会错过跨边界匹配并将分块开始视为锚点;并非所有模式都能避免停顿。后备诊断也掩盖了秘密。保留的私有运行时条目不参与压缩摘要,并保存 CLI 注释,而无需重写记录;未解决的恢复会话问题可能会丢弃受影响的旧上下文情况中新排队的文本或图像。
- 使用其托管 Bun 运行时或 macOS 捆绑运行时启动 OpenClaw 不再隐式安装缺少的软件包。显式安装依赖项;现有服务通过正常重新安装或更新接收启动标志,直接库存-Bun 启动应使用 `--no-install`。私网Matrix和Mattermost设置需要医生对2026.9.7进行修复后才能升级; Tlon保留更新时迁移,而直接替换需要`openclaw doctor --fix`。请参阅 [Bun 安装](/install/bun) 和 [ 配置迁移指南](/gateway/doctor/config-migrations)。
受保护的凭据指南在要求您存储秘密之前解释了计划的操作是否可以使用秘密。它不添加 SSH 或 sudo 密码消费者;故意可读的网关环境条目保留其单独的行为。
来源和完整变更列表
- 共享轮次及其子项使用所选的已验证参与者的权限,受原始运行的限制。模型帐户凭据保持不变,并且可以在保留工作期间撤销权限。 [#160525](https://github.com/openclaw/openclaw/pull/160525)。感谢 [@steipete](https://github.com/steipete).
- 具有自己会话写入权限的来宾可以启动隐藏的沙盒帮助程序并接收其结果,包括在屈服之后。帮助者保留发起人的模型和沙箱限制。 [#163367](https://github.com/openclaw/openclaw/pull/163367)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- 仅限会话的编写者可以通知他们拥有的授权子进程,而无需开始新的运行。通知在进程的生命周期内都驻留在内存中,因此重新启动并不能提供持久的传递。 [#162986](https://github.com/openclaw/openclaw/pull/162986)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- Guests 可以要求客服人员更改他们创建的对话的显示名称,包括在默认沙箱策略下。显式工具限制仍然适用,并且重命名另一个创建的对话需要其持久会话 ID。 [#163421](https://github.com/openclaw/openclaw/pull/163421)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- 在多用户安装中,只有线程的创建者或管理员可以对其进行存档或恢复。这也适用于现有线程;仅仅被分配责任不再授予该许可。请参阅 [ 多用户对话](/concepts/multi-user)。 [#160932](https://github.com/openclaw/openclaw/pull/160932)。感谢 [@stevenlee-oai](https://github.com/stevenlee-oai).
- 会话范围的用户可以阅读共享的 GitHub 发布选项和他们可能查看的对话的收据。选项需要受支持的当前托管存储库或工作树;个人帐户和出版物突变保留自己的权限。 [#162984](https://github.com/openclaw/openclaw/pull/162984)。感谢 [@shakkernerd](https://github.com/shakkernerd).
- 当连接授予和角色都暗示使用不同权限名称进行会话读取时,Shared GitHub 发布选项保持可读。稍后角色撤销仍然会阻止读取。 [#163910](https://github.com/openclaw/openclaw/pull/163910)。感谢 [@steipete](https://github.com/steipete).
- Agent 发现遵循当前角色,并在重新连接后等待新名册。当草稿身份编辑仍然引用相同的配置文件和意图时,它们就可以生存,并且 Stop/completion 竞赛不再占用容量插槽。 [#161019](https://github.com/openclaw/openclaw/pull/161019)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- 共享控件在等待后检查新存储的权限和可见性。过时的成员身份或所有权无法将请求带入替换对话,并且陈旧的缓存可见性不再将所需的更新变成无操作。 [#163572](https://github.com/openclaw/openclaw/pull/163572)。感谢 [@steipete](https://github.com/steipete).
- 如果在发现期间访问、对话或选定的技能修订发生变化,则共享对话的命令和技能列表将被保留。 [#163643](https://github.com/openclaw/openclaw/pull/163643)。感谢 [@steipete](https://github.com/steipete).
- 延迟的所有者、成员资格和建议更改拒绝过时的权限。取消或撤销的建议不能成为新的输入;已经接受的建议可以解决,而无需重播。提供商审核暂停会阻止新的建议和编辑,同时允许驳回和接受和解。 [ef27c1fc2b](https://github.com/openclaw/openclaw/commit/ef27c1fc2be3a68c8904e12cf6fe909f05fe4f5d)。感谢 [@steipete](https://github.com/steipete).
- 当运行时模块独立加载或重新加载时,授权代理工作不再无法通过错误的权限检查。撤销、取消和范围限制仍然适用。 [#163725](https://github.com/openclaw/openclaw/pull/163725)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 调用者访问权限被撤销或所有权变更后,私有自动化工作记录将被保留。较旧的作业还可以避免由其创建元数据引起的错误冲突。 [#161387](https://github.com/openclaw/openclaw/pull/161387)。感谢 [@steipete](https://github.com/steipete).
- 独立审批页面显示提供的付款金额和收件人、自动化条款和持续时间、消息收件人或发布目标。这无需授予许可即可提供决策上下文。 [#164534](https://github.com/openclaw/openclaw/pull/164534)。感谢 [@steipete](https://github.com/steipete).
- 绑定到请求的批准在不相关的代理和秘密存储编辑中仍然存在。相关权限或路由更改将永久撤销待批准,即使这些设置稍后恢复也是如此。 [#160856](https://github.com/openclaw/openclaw/pull/160856)。感谢 [@steipete](https://github.com/steipete).
- 抑制审核输出的命令对读取和写入使用普通批准策略。符合条件的请求可以使用自动审核,而不是专门的人工提示;明确拒绝、允许名单和始终询问政策仍然有效。 [#161718](https://github.com/openclaw/openclaw/pull/161718)。感谢 [@jesse-merhi](https://github.com/jesse-merhi).
- 列出和撤销常设计划命令授权将数据库管理从网关主线程中移出,并围绕更改进行权限检查。命令启动时的授权验证和使用保留其现有路径。参见 [ 执行批准 ](/tools/exec-approvals)。 [#162549](https://github.com/openclaw/openclaw/pull/162549)。感谢 [@steipete](https://github.com/steipete).
- 配对 list/approve 和默认批准 get/set/allowlist 编辑使用经过身份验证的网关路由或独占离线所有权。拒绝、丢失凭据或丢失回复永远不会触发自动本地重播;明确的网关和节点目标仍然可用。 [#164075](https://github.com/openclaw/openclaw/pull/164075)。感谢 [@steipete](https://github.com/steipete).
- 具有无效文件绑定或策略元数据的准备好的节点命令在执行批准之前仍被拒绝。删除了已停用的顶级命令文本后备;支持的 `plan.rawCommand` 仍然是规范输入。 [#164544](https://github.com/openclaw/openclaw/pull/164544)。感谢 [@steipete](https://github.com/steipete).
- 授权的 GitHub 发布可以包括在血统明确时从已验证目标准确继承的未更改的操作工作流程。创作的工作流编辑和冲突解决仍然需要完全的写入权限。 [#162396](https://github.com/openclaw/openclaw/pull/162396)。感谢 [@steipete](https://github.com/steipete).
- A 浏览器使用缩小的令牌解释权限不足,而不是提供无效的重试。要恢复管理员访问权限,请在网关主机上运行 `openclaw dashboard --json`,并在十分钟内在同一浏览器、源站和网关中打开新的浏览器 URL。 [#162951](https://github.com/openclaw/openclaw/pull/162951)。感谢 [@steipete](https://github.com/steipete).
- A CLI `/btw` 即使后端清理失败,问题执行上下文也会关闭,因此后续工作无法重用它。清理错误仍然可见。 [#162070](https://github.com/openclaw/openclaw/pull/162070)。感谢 [@steipete](https://github.com/steipete).
- 意外的 `openclaw security audit --fix` 错误在审核之前停止并返回退出状态 1. JSON 调用方收到 [CLI 失败响应](/cli#json-failures);运行单独的 `openclaw security audit` 来检查当前状态。 [#164159](https://github.com/openclaw/openclaw/pull/164159)。感谢 [@steipete](https://github.com/steipete).
- 安全审核取消了模型时代和提供商层建议 `models.legacy` 和 `models.weak_tier`。结构化报告使用者应考虑那些被删除的 ID;单独的小模型工具暴露检查仍然存在。 [ecb897146e](https://github.com/openclaw/openclaw/commit/ecb897146e5c47a6cde4e0d5552ce7d70c3700c3)。感谢 [@jesse-merhi](https://github.com/jesse-merhi).
- Node 轮流从网关接收当前文件系统、模型和补丁工具策略。全局和特定于代理的仅限工作区和 `applyPatch` 设置以会话权限优先级应用,并且热情的工作人员每次都会刷新其工具目录。请参阅 [cloud-worker 安全模型](/gateway/cloud-workers/security-model)。 [10ea4739bd](https://github.com/openclaw/openclaw/commit/10ea4739bd0f3d72663fd924197530bef1c4f6b6)。感谢 [@steipete](https://github.com/steipete).
- 采用受支持的访问协定的 Codex 主机支持的文件桥会检查实际文件目标的读取、打开和元数据。拒绝别名和准备后更改的目标;本合同并不涵盖所有桥接或文件操作。 [#150731](https://github.com/openclaw/openclaw/pull/150731)。谢谢[@vincentkoc](https://github.com/vincentkoc),[@eleqtrizit](https://github.com/eleqtrizit).
- 新上传到达可重复使用的可写SSH沙箱,并保留托管原始文件和预处理或预览文件以供重新启动。只读沙箱继续拒绝写入;这包括入站上传。 [#158026](https://github.com/openclaw/openclaw/pull/158026)。感谢 [@Olli0103](https://github.com/Olli0103)、[@obviyus](https://github.com/obviyus)、[@DaveFan-NCHC](https://github.com/DaveFan-NCHC)、[@FelixIsaac](https://github.com/FelixIsaac).
- Strict `OPENCLAW_FS_SAFE_NATIVE_MODE=require` 对文件突变使用更强的本机检查。递归清理可以在没有 `openat2` 的 Windows 或 Linux 上拒绝,留下目录;当需要这些保证时,请使用受支持的平台。默认自动模式仍然尽力而为。 [#160617](https://github.com/openclaw/openclaw/pull/160617)。感谢 [@steipete](https://github.com/steipete).
- 文件系统升级保留旧版 `require` 设置,而不是默默地放松它们并添加 Windows 悬空符号链接独占创建保护措施。将 `FS_SAFE_PYTHON_MODE` 和 `OPENCLAW_FS_SAFE_PYTHON_MODE` 移至其名称 `*_NATIVE_MODE`。删除 `FS_SAFE_PYTHON`、`OPENCLAW_FS_SAFE_PYTHON`、`OPENCLAW_PINNED_PYTHON` 和 `OPENCLAW_PINNED_WRITE_PYTHON`。已弃用的插件 SDK 提示仍被接受但被忽略;直接 fs 安全消费者必须使用 `configureFsSafeNative` 和 `FsSafeNativeConfig`,而不使用 `pythonPath`。 [#163408](https://github.com/openclaw/openclaw/pull/163408)。感谢 [@steipete](https://github.com/steipete).
- Windows 插件路径在检查前拒绝外部共享和不明确的设备路径。使用允许的相对路径或根的 host/share 拼写作为拒绝的别名;删除命名空间前缀并不是一种安全的修复。 [#162574](https://github.com/openclaw/openclaw/pull/162574)。感谢 [@steipete](https://github.com/steipete).
- 已配对的本地本机应用程序可以在现有本地自动批准策略下添加具有相同密钥的第一个节点角色,包括符合条件的待定重试。令牌替换、撤销、远程和浏览器连接保留批准要求。请参阅 [pairing](/gateway/pairing)。 [#163730](https://github.com/openclaw/openclaw/pull/163730)。感谢 [@steipete](https://github.com/steipete).
- Eligible静默配对的同机本机节点无需额外的审查面板即可接收其初始允许的功能,包括实际连接为本地的远程模式应用程序。 `autoApproveLocal=false`保留手动审批;后来的功能添加、命令拒绝、OS 权限和执行批准仍然适用。 [#163862](https://github.com/openclaw/openclaw/pull/163862)。感谢 [@steipete](https://github.com/steipete).
- 秘密设置操作通过数据库工作人员运行并等待确认的持久性。凭证问题仅发布安全存储的标记;已接受的保存在重置后仍然存在,并且补偿回滚不能覆盖较新写入者的条目。 [31806d84f3](https://github.com/openclaw/openclaw/commit/31806d84f3bb35b4389fe06ed3963734d01855cf)。感谢 [@steipete](https://github.com/steipete).
- Core 凭证读取器需要显式 `source`、`provider` 和 `id`。 Doctor 修复了注册的遗留路径并报告删除了额外的字段;公共 SDK 输入适配器仍然接受普通的无提供者引用,而扩展的无提供者身份验证输入在保存之前会被拒绝。将额外的元数据保留在引用对象之外。运行 `openclaw doctor --fix` 以获取较旧的核心参考并保留原始备份; Talk 和实时 Talk 可能会在修复之前丢弃无提供者的 API-key 对象。 [2c0278b46c](https://github.com/openclaw/openclaw/commit/2c0278b46cd29614fc08f65a1632f4f863146f4e)。感谢 [@steipete](https://github.com/steipete).
- Profile 注销会在配置文件仍保存时擦除匹配的复制目录凭据,并防止正在进行的工作恢复它们。已被旧注销删除的配置文件无法以这种方式追溯清理;不完整的防护修复体需要进行轮廓检查。 [#143647](https://github.com/openclaw/openclaw/pull/143647)。谢谢[@jason-allen-oneal](https://github.com/jason-allen-oneal),[@obviyus](https://github.com/obviyus),[@steipete](https://github.com/steipete),[@NovaUnboundAi](https://github.com/NovaUnboundAi),[@CHAESH](https://github.com/CHAESH), [@matthewmoroz](https://github.com/matthewmoroz)、[@sunhsiao](https://github.com/sunhsiao)、[@ndakota79](https://github.com/ndakota79).
- Agent 命令环境和配置的秘密值在工作线程中读取,而不是在网关主线程上查询。命令每次运行重用一个快照并刷新下一次运行;取消可以防止启动后重新使用而不会中毒。超过 32 个 MiB 的快照会明显失败,而不是提供部分环境,并且各个值保留 64 个 KiB 的限制。 [#164242](https://github.com/openclaw/openclaw/pull/164242)。感谢 [@steipete](https://github.com/steipete).
- Perfilled CLI 命令通过使用允许的运行上下文与秘密出口代理配合使用。现有的批准和退役运行限制继续适用。 [#160760](https://github.com/openclaw/openclaw/pull/160760)。感谢 [@VACInc](https://github.com/VACInc).
- 秘密出口代理可以将允许的 HTTP 请求转发到文字 `localhost`、`127.0.0.1` 和 `[::1]` 地址。 DNS 别名被排除,并且 HTTP 上的秘密替换仍然被拒绝。请参阅 [ 秘密存储和出口](/gateway/secrets/secret-store-and-egress)。 [#160974](https://github.com/openclaw/openclaw/pull/160974)。感谢 [@steipete](https://github.com/steipete).
- LM Studio 加载和 Copilot 发现或嵌入错误掩盖了从编码请求标头反映的凭据。 Chutes 还接受 IPv6 环回 OAuth 回调 `[::1]`,同时保留重定向 URI。 [#162488](https://github.com/openclaw/openclaw/pull/162488)。感谢 [@steipete](https://github.com/steipete).
- 多代理 OAuth 同步在同级代理之前访问共享凭证所有者,从而保留继承性,而无需不必要的新凭证副本。此修复不会删除以前重复存储的凭据。 [#163243](https://github.com/openclaw/openclaw/pull/163243)。感谢 [@steipete](https://github.com/steipete).
- 秘密索引在正确的部分打开现有的 [Bitwarden Secrets Manager](/gateway/secrets/integration-examples#bitwarden-secrets-manager-bws) 和 [password-store](/gateway/secrets/integration-examples#password-store-pass) 配方。 [721efcefc0](https://github.com/openclaw/openclaw/commit/721efcefc0c79af2ec7e2af21c47f283e8ee6601)。感谢 [@Shenrui-Ma](https://github.com/Shenrui-Ma).
- A2A 状态识别具有未解析令牌设置的对等点,并告诉操作员在重新加载或重新启动之前要修复哪些内容。自动插件设置通过配置重写保留凭证解析事实,并且添加另一个对等点会在保存的配置中保留不可用的对等点。有意无令牌的出站对等方保留匿名发送。 [cb24ec1fa7](https://github.com/openclaw/openclaw/commit/cb24ec1fa7d5ce1d7162eedec3dc9447d391e6a8)。感谢 [@eleqtrizit](https://github.com/eleqtrizit).
- `pass:` 之后的普通散文仍然可读,而受支持的密码记录和受影响的长输入 Bun 案例保留其默认屏蔽。之前在存储的输出中丢失的单词不会被恢复。 [#160888](https://github.com/openclaw/openclaw/pull/160888)。感谢 [@steipete](https://github.com/steipete).
- 内置令牌屏蔽可处理包含加号、斜杠或等号的受影响长字符串,而无需先前的停顿。 [#161089](https://github.com/openclaw/openclaw/pull/161089)。感谢 [@steipete](https://github.com/steipete).
- 自定义`logging.redactPatterns`再次使用16个KiB块。跨越块的匹配可能会被错过,并且锚定模式应用在每个块的开始处;内置数据 URL 处理保持独立。 [#161514](https://github.com/openclaw/openclaw/pull/161514)。感谢 [@steipete](https://github.com/steipete).
- 当 JSON 序列化失败时,WebSocket 日志值使用秘密掩码和长度限制。无效的日志级别警告还会在写入 stderr 之前屏蔽现有编辑器识别的值。 [#164177](https://github.com/openclaw/openclaw/pull/164177)。感谢 [@steipete](https://github.com/steipete).
- 秘密屏蔽重用编译的匹配器来减少临时正则表达式分配,同时保持相同的屏蔽输出。 [#164152](https://github.com/openclaw/openclaw/pull/164152)。感谢 [@steipete](https://github.com/steipete).
- 旧生成的 HTML 信任记录的清理会在文件系统检查等待时保留为同一路径写入的较新记录。现有的精确字节信任和路径限制继续适用。 [#164424](https://github.com/openclaw/openclaw/pull/164424)。感谢 [@steipete](https://github.com/steipete).
- 当压缩摘要和保存的 CLI 注释读取现有转录本(包括缺少重播元数据或选择退出重播的条目)时, 保留的私有运行时上下文条目将被排除。存储的转录本字节不会被重写。在受影响的遗留上下文情况下,恢复的会话可能会丢弃新排队的文本或图像;该问题的解决尚未得到证实。 [#164561](https://github.com/openclaw/openclaw/pull/164561)。感谢 [@steipete](https://github.com/steipete).
- 托管的 Bun 服务和 OpenClaw- 拥有的子进程在缺少导入时在本地失败,而不是在运行时安装包。用户命令、`bunx`、任意第三方启动器和工作线程解析仍然在此启动策略之外。 [#163270](https://github.com/openclaw/openclaw/pull/163270)。感谢 [@steipete](https://github.com/steipete).
- 捆绑的 macOS 运行时禁用使用该可执行文件的帮助程序和子程序之间的隐式包安装。显式安装控制仍然可用。其依赖项更新还减少了重复的文件监视事件,并修复了排队的 WebSocket 升级、事件侦听器异常传播、进程标题可见性和工作堆报告。 [#163313](https://github.com/openclaw/openclaw/pull/163313)。感谢 [@steipete](https://github.com/steipete).
- Matrix、Mattermost和Tlon使用支持的嵌套私网设置;旧的平键不再授予访问权限或使其失效。当根或帐户级别规范选择为 true 时,Matrix 仍然允许访问,因此帐户级别 false 不会覆盖根级别 true。 [#163535](https://github.com/openclaw/openclaw/pull/163535)。感谢 [@steipete](https://github.com/steipete).
- Project `.env` 文件不再控制安装中涉及的八个 Homebrew 下载、源和配置变量。将所需的覆盖移至启动 shell 或全局环境;普通项目偏好仍然受到支持。 [#150912](https://github.com/openclaw/openclaw/pull/150912)。感谢 [@mmaps](https://github.com/mmaps).
- Docker 从源签出构建,排除根目录和嵌套的 `.crabbox` 目录,将其临时凭证和每次运行状态保留在构建映像之外。 [#164163](https://github.com/openclaw/openclaw/pull/164163)。感谢 [@steipete](https://github.com/steipete).
- 锁定的依赖关系图使用修补的 `source-map-js` 1.2.2 进行索引源映射拒绝服务咨询 GHSA-68fv-2mgg-jv7q。 [6d86072f8c](https://github.com/openclaw/openclaw/commit/6d86072f8c4cede7419d9b53f84dd85430c33ce4)。感谢 [@steipete](https://github.com/steipete),[@shakkernerd](https://github.com/shakkernerd). 的审核
- Agents 在要求您存储受保护的凭据之前解释它是否具有受支持的使用者。受保护的凭据支持授权出站 HTTPS 请求,而不是 SSH 或 sudo 密码、子进程输入或 shell 替换。现有的 `--kind env` 条目是故意可读的并适用于网关执行。请参阅 [ 秘密指南 ](/tools/secrets) 和 [CLI 选项 ](/cli/secrets)。 [#167978](https://github.com/openclaw/openclaw/pull/167978),[3d0c697e](https://github.com/openclaw/openclaw/commit/3d0c697eba0ff29875458652ebf6273f6b7cea32)。谢谢[@MarkMa84](https://github.com/MarkMa84),[@RomneyDa](https://github.com/RomneyDa).
### 生活质量改善
- Child 通过重叠更新或以后的清理失败停止保留已完成的取消。 Swarm Stop 等待执行和清理,在终端状态出现后可能保持挂起状态。超时或结果不完整后,用`subagents action=list`检查剩余子项并重试;替换工作需要有自己的 Stop。注册失败会保留儿童 ID,以便在重试之前进行检查。请参见 [ 子操作 ](/tools/subagents/operations)。
- 中断的回复仍可以使用已完成的工具结果。当启用自动完成唤醒时,静默命令超时可以通知其对话。在重复工作之前检查外部影响。请参阅 [ 后台进程处理](/gateway/background-process)。
- 当短会话密钥重叠时,对话控件会保留其他代理的回复和排队工作。文件、图像和使用情况报告保留在所选对话中,清除导出搜索可恢复侧边栏。请参见 [ 会话控制](/concepts/session)。
- 中途添加澄清保留第一个可执行工具或并行批处理;仍可以跳过未启动的顺序调用。使用 `/stop` 或 `/queue interrupt` 取消。具有不受支持的媒体的云工作环境会要求您停止或回收会话并在本地重试。请参见 [steering](/concepts/queue-steering) 和 [ 转录处理 ](/reference/transcript-hygiene)。
- 常见命令错误解释如何纠正或恢复请求。缺失的结果仍然未知,因此请在重试具有副作用的操作之前检查当前状态。 `gateway call` 检查连接设置;使用 `config validate` 进行完整配置检查。请参见 [ 网关调用 ](/cli/gateway/query)、[ 命令参数 ](/tools/exec) 和 [ 可选工具循环检测 ](/tools/loop-detection)。
- A 断开的终端发送保留您未发送的草稿。 [自定义使用页脚](/concepts/usage-tracking)重复保存后刷新,现有[拦截器答案](/tools/progress-card)不再需要多余的替换说明。较旧的 ACPX 文件状态导入和旧版 Copilot URL 重写已被删除。
- 工具密集型对话保留较少的重复结果和丢弃的字符串;可重复使用的读者发布已完成的请求。 **Plugin 和 SDK 调用者必须在提交脚本有效负载后立即将其视为不可变,即使异步保存处于挂起状态也是如此。** 创建新值以供以后更新。挂钩接收保存的重写活动并忽略抑制的条目。请参阅 [SDK 运行时指南](/plugins/sdk-runtime)。
- 更多历史记录、使用情况和会话簿记在后台数据库工作线程中运行,从而减少线程处理请求的存储工作。确认保存发布一次;不确定的结果仍悬而未决或返回恢复指导。请参阅 [ 工作人员访问参考 ](/reference/database-schemas/worker-access)。
- Workspace 在更改文件或报告成功之前保存和恢复等待持久记录。当工作在单独的项目中运行时,库存角色文件保留在 [ 配置的代理工作区](/concepts/system-prompt) 中。
在原始调用者的权限下进行用户后续操作后,可以返回已完成的本机子代理结果。已结束子级的延迟交付也不需要无限期地保留其父级的已完成批次;积极的工作仍在等待。
来源和完整变更列表
- 在压缩后恢复未完成的内置运行时对话,然后重新启动网关,保留原始请求一次并保留不同的排队后续请求。 [#160128](https://github.com/openclaw/openclaw/pull/160128)。感谢 [@steipete](https://github.com/steipete).
- 当最近的消息超出上下文限制时进行解释,并建议一个带有简短摘要的新会话。 [#160934](https://github.com/openclaw/openclaw/pull/160934)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 保留已完成的后台工具结果可用于最终答案和空答案重试,并将内部最终确定提示保留在用户消息历史记录之外。 [#161091](https://github.com/openclaw/openclaw/pull/161091)。感谢 [@steipete](https://github.com/steipete).
- 在重叠会话元数据更新期间完成停止子进程,在重试或重新启动时保留更新和记录的停止。在影响替换会话之前,清理仍会检查所有权。 [#161461](https://github.com/openclaw/openclaw/pull/161461)。感谢 [@steipete](https://github.com/steipete).
- 让停止的收集器子级完成记录完成并在同步会话元数据写入期间释放其插槽,从而允许启动排队工作,同时保留标签和传递身份。 [#161676](https://github.com/openclaw/openclaw/pull/161676)。感谢 [@steipete](https://github.com/steipete)、[@VACInc](https://github.com/VACInc).
- 使用不合格的会话密钥取消监视子进程时记录所属代理,并在同一密钥下保留其他代理正在运行的工作和排队的消息。较旧的无主记录仍使用当前配置。 [#162540](https://github.com/openclaw/openclaw/pull/162540)。感谢 [@steipete](https://github.com/steipete).
- 当停止子进程与会话元数据更新重叠时,返回接受的终端取消,同时拒绝将旧运行的结果发布到替换会话中。 [#163096](https://github.com/openclaw/openclaw/pull/163096)。感谢 [@steipete](https://github.com/steipete).
- 当停止会话已经准备好的 Swarm 子进程时,避免不必要的准备写入。该会话的待定更改和最终取消发布仍按正常顺序完成。 [#163485](https://github.com/openclaw/openclaw/pull/163485)。感谢 [@steipete](https://github.com/steipete).
- 使 Swarm 停止等待所选子项的执行和排队启动清理并报告清理失败。清理完成之前可以显示终端任务状态;超时或不完全取消后,使用子代理 action=list 检查剩余的子项并重试。 [#163558](https://github.com/openclaw/openclaw/pull/163558)。感谢 [@steipete](https://github.com/steipete).
- 当启用自动完成唤醒时,在静默后台命令超时后恢复原始对话。在重试非幂等工作之前检查外部影响。 [#164171](https://github.com/openclaw/openclaw/pull/164171)。感谢 [@etzelm](https://github.com/etzelm)、[@obviyus](https://github.com/obviyus).
- 使用承认的本机数据库位置通过符号链接或目录连接保存工作人员转录,避免响应生成后路径别名持久性失败。 [#164289](https://github.com/openclaw/openclaw/pull/164289)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在处理停止时区分已确认的会话删除和不完整或跳过的清理。 [28885d3](https://github.com/openclaw/openclaw/commit/28885d3f8745f51e39ecb54389283dc391c15381)。感谢 [@steipete](https://github.com/steipete).
- 保留稍后停止清理失败时已提交的子取消的计数,并显示清理错误。使用子代理检查剩余的运行;替换工作需要其自己的停止请求。 [6123d17](https://github.com/openclaw/openclaw/commit/6123d17b9f281f07f0074c564f6ffa20deec50ae)。感谢 [@steipete](https://github.com/steipete).
- 让清理保存它已接受的子取消,而不是与清理保存竞争。 [e9571d7](https://github.com/openclaw/openclaw/commit/e9571d77e76bd6d35996273d9e8398ad539b26e1)。感谢 [@steipete](https://github.com/steipete).
- 在重叠元数据更新期间保持子项取消及其保存的中止标记一致,而无需停止替换工作。 [fef7992](https://github.com/openclaw/openclaw/commit/fef7992b3697b5f56a3f469ec951ec210b8918b4)。感谢 [@steipete](https://github.com/steipete).
- 在所需注册失败后,负责取消确切的孩子。错误保留子 session/run ID 和待清理状态;在清理完成之前,容量将保持保留状态,因此在重试之前请检查保留的子项。会话维护计划也与存档等待分开运行。 [7555e3f](https://github.com/openclaw/openclaw/commit/7555e3f88132bc5915e42141d9a09aa435ed7c2a)。感谢 [@steipete](https://github.com/steipete).
- 当所选子项停止后仍在保存子代理元数据时,避免出现错误的永久取消错误。在继续树发现之前等待该元数据。 [cf5b871](https://github.com/openclaw/openclaw/commit/cf5b87163b768a011611e085d2356ad32213cb07)。感谢 [@steipete](https://github.com/steipete).
- 在活动运行上下文清除后,将运行文件和完成记录附加到其原始代理和对话。 [#161119](https://github.com/openclaw/openclaw/pull/161119)。感谢 [@steipete](https://github.com/steipete).
- 在同时进行的 Codex 和会话共享发现请求中共享待处理的本地身份查找,从而减少重复的启动数据库工作,而无需更改发现的节点和会话。丢失或失败的身份读取仍然可以重试。 [#161496](https://github.com/openclaw/openclaw/pull/161496)。感谢 [@steipete](https://github.com/steipete).
- 当网关客户端建立热消息订阅时避免重复验证,同时保留访问检查和批准重放。 [#161555](https://github.com/openclaw/openclaw/pull/161555)。感谢 [@steipete](https://github.com/steipete).
- 在停止、删除、重置或存档具有冲突会话密钥的对话时保留另一个代理的主动回复、排队消息和命令。选定的智能体自己的工作仍然被取消。 [#161736](https://github.com/openclaw/openclaw/pull/161736)。感谢 [@steipete](https://github.com/steipete).
- 在审阅暂停、工作区放置更改、倒带、广泛中止和中断期间保留其他代理的排队回复和命令,共享短会话密钥。广泛的清理仅删除所选代理自己在会话中所做的工作。 [#162179](https://github.com/openclaw/openclaw/pull/162179)。感谢 [@steipete](https://github.com/steipete).
- 在元数据更改后重建不相关的行之前准备请求的会话列表行,因此重叠的请求可以共享准备工作。 [#162280](https://github.com/openclaw/openclaw/pull/162280)。感谢 [@steipete](https://github.com/steipete).
- 忽略调用历史记录中的嵌套工具结果卡,除非 includeTools 明确为 true。 [#162904](https://github.com/openclaw/openclaw/pull/162904)。感谢 [@steipete](https://github.com/steipete)、[@RomneyDa](https://github.com/RomneyDa)、[@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@jalehman](https://github.com/jalehman)、[@vincentkoc](https://github.com/vincentkoc).
- 在后台更新后保持会话所有者和参与者详细信息可见,保留较新的重叠更改并发布已提交的更新,尽管观察者错误。 [#163030](https://github.com/openclaw/openclaw/pull/163030)。感谢 [@steipete](https://github.com/steipete).
- 在会话别名更改后,在其原始所属对话中查找运行的文件和图像,而显式会话选择仍遵循当前别名。当前可见性检查适用,并且更改或替换的会话返回可重试的失败。 [#163054](https://github.com/openclaw/openclaw/pull/163054)。感谢 [@steipete](https://github.com/steipete).
- 从选定的记录或经过验证的存储中读取使用情况摘要、图表、日志和成本,拒绝陈旧或混合源位置。 [#163182](https://github.com/openclaw/openclaw/pull/163182)。感谢 [@steipete](https://github.com/steipete).
- 在恢复存档历史记录时保留有效的共享会话访问,避免分叉、倒带或切换分支时不必要的重试。 [#163669](https://github.com/openclaw/openclaw/pull/163669)。感谢 [@steipete](https://github.com/steipete).
- 当数据库路径使用别名或重复使用会话管理器时,使用当前批准的内容保存接受的消息和引导输入一次。 [#163753](https://github.com/openclaw/openclaw/pull/163753)。感谢 [@joshavant](https://github.com/joshavant).
- 当澄清到达中途时保留第一个可执行工具和并行工具批次,在新消息之前提供真实结果。顺序工具启动后,仍可以跳过剩余未启动的调用;使用 /stop 或 /queue 中断来取消工作。 [#163852](https://github.com/openclaw/openclaw/pull/163852)。感谢 [@steipete](https://github.com/steipete).
- 当元数据和过滤器发生变化时,重复使用大型重复列表的会话排序。 [#163941](https://github.com/openclaw/openclaw/pull/163941)。感谢 [@steipete](https://github.com/steipete).
- 当 Escape 清除搜索时,恢复 HTML 对话导出中的完整侧边栏,并将格式错误的存储的读取范围值显示为文字文本。有效的数字范围保留其显示。 [#163997](https://github.com/openclaw/openclaw/pull/163997)。感谢 [@steipete](https://github.com/steipete).
- 当不相关的数据库注册在读取过程中发生更改时,保持会话使用情况和上下文权重报告可用,同时仍然检查所选商店和代理属性。 [#164217](https://github.com/openclaw/openclaw/pull/164217)。感谢 [@steipete](https://github.com/steipete).
- 当旧的取消订阅重复时,让替换订阅者接收活动、上下文、模型并重新连接更新。立即绑定失败后删除临时 HTTP 侦听器。 [#164221](https://github.com/openclaw/openclaw/pull/164221)。感谢 [@steipete](https://github.com/steipete).
- 修复会话工具指南中网关超时示例的链接,该示例解释了呼叫者等待与接收代理的执行预算分开的情况。 [0338bb3](https://github.com/openclaw/openclaw/commit/0338bb3adbafa24f8887e169634169ae60d690af)。感谢 [@LinzeShi](https://github.com/LinzeShi).
- 释放已删除的代理的模型、身份验证、内存和数据库资源,而无需重新启动网关。重新创建的代理可以再次使用外部会话存储,而删除则保留保留文件的现有选择并保护幸存代理的存储。 [40d284f](https://github.com/openclaw/openclaw/commit/40d284f9a6aaa6b11f6d9d7bc1db253781d7ef76)。感谢 [@ceckert](https://github.com/ceckert)、[@steipete](https://github.com/steipete).
- 将字面上的内部状态块保留在流式和最终回复之外,并将应用程序上下文附加到正确的转向消息。具有不受支持的媒体的云工作者上下文现在明确要求您停止或回收会话并在本地重试。 [cd9913f](https://github.com/openclaw/openclaw/commit/cd9913f1b1105f9c4e7b96fde8c1431a77e5878d)。感谢 [@RomneyDa](https://github.com/RomneyDa). 感谢 [@Bartok9](https://github.com/Bartok9) 之前的空快照方向。
- 让新代理的同时第一个会话请求共享数据库创建,避免另一个请求首先创建同一存储时发生错误替换错误。 [36507e7](https://github.com/openclaw/openclaw/commit/36507e78d6ef52dc58fa66cfd51494a8e5481458)。感谢 [@RomneyDa](https://github.com/RomneyDa). 感谢 [@steipete](https://github.com/steipete) 的原始会话创建修复。
- Reject 不受支持的进程等待参数,并包含使用 `timeout` 的说明,保持输出可用于更正的请求。 [#153844](https://github.com/openclaw/openclaw/pull/153844)。感谢 [@wangmiao0668000666](https://github.com/wangmiao0668000666)、[@obviyus](https://github.com/obviyus).
- 在命令运行之前拒绝不受支持的 `exec` 工作目录参数,并提供使用 `workdir` 的指导。 [#154248](https://github.com/openclaw/openclaw/pull/154248)。感谢 [@wangmiao0668000666](https://github.com/wangmiao0668000666)、[@obviyus](https://github.com/obviyus).
- 启用工具循环检测时,识别因参数无效而拒绝的重复工具调用,以便代理可以更正请求。 [#158709](https://github.com/openclaw/openclaw/pull/158709)。感谢 [@ali-log](https://github.com/ali-log)、[@51Google](https://github.com/51Google)、[@obviyus](https://github.com/obviyus)、[@VACInc](https://github.com/VACInc).
- 在加载和重新加载时保留不寻常的键绑定名称及其字符串或数组覆盖。 [#161749](https://github.com/openclaw/openclaw/pull/161749)。感谢 [@steipete](https://github.com/steipete).
- Move 重复性重复作业从调试开始到跟踪,保留有用的诊断历史记录。使用跟踪日志记录来查看每个重复的启动;一次性启动和失败都保持现有水平。 [#161895](https://github.com/openclaw/openclaw/pull/161895)。感谢 [@matthematics1137](https://github.com/matthematics1137)、[@obviyus](https://github.com/obviyus).
- 在任一后备分支中遵守显式会话创建传输超时,包括继承的生成策略。使用默认或空截止日期的捆绑呼叫者保留其现有的等待。 [#161969](https://github.com/openclaw/openclaw/pull/161969)。感谢 [@steipete](https://github.com/steipete).
- 指导代理报告请求的未交付结果、有意义的更改和未解决的问题,同时对已处理的后台结果保持沉默。 [#162302](https://github.com/openclaw/openclaw/pull/162302)。感谢 [@jalehman](https://github.com/jalehman).
- 在命令启动时禁用完成通知时,在运行进程状态、日志和列表中保留手动结果收集提醒。结构化的后续和无退出唤醒标签将保留直至完成;执行和通知政策保持不变。 [#162303](https://github.com/openclaw/openclaw/pull/162303)。感谢 [@VACInc](https://github.com/VACInc).
- 避免对受影响的版本查询和包根库导入使用命令清理模块。 [#162311](https://github.com/openclaw/openclaw/pull/162311)。感谢 [@SunnyShu0925](https://github.com/SunnyShu0925)、[@love-ai-open-source](https://github.com/love-ai-open-source).
- 在工具详细信息和 CLI 诊断中缩短主目录时保留不相关的路径,包括其主目录是文件系统根目录的容器。 [#162483](https://github.com/openclaw/openclaw/pull/162483)。感谢 [@boeingchoco](https://github.com/boeingchoco)、[@obviyus](https://github.com/obviyus).
- 当转向跳过从未启动的待处理工具时,避免出现错误的工具阻塞警告。 [#162513](https://github.com/openclaw/openclaw/pull/162513)。感谢 [@steipete](https://github.com/steipete)、[@RileyJJY](https://github.com/RileyJJY)、[@dori-jitter](https://github.com/dori-jitter)、[@VACInc](https://github.com/VACInc).
- 当主目录相关的 PATH 条目通过符号链接及其父目录时,选择预期的本地转录程序,保留配置的优先级和包含 PATH 分隔符的主目录。 [#162680](https://github.com/openclaw/openclaw/pull/162680)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 在重复编辑器保存替换文件(包括删除和重新创建)后刷新基于文件的自定义使用页脚。刷新仍然取决于文件系统通知,打开的旧文件句柄可能会在 Linux 上延迟。 [#162733](https://github.com/openclaw/openclaw/pull/162733)。感谢 [@boeingchoco](https://github.com/boeingchoco).
- 在拆分消息或截断终端文本时,在受影响的 Bun 运行时上保留预期的表情符号边界,避免浪费可用空间的不必要的剪切。 [#162749](https://github.com/openclaw/openclaw/pull/162749)。感谢 [@steipete](https://github.com/steipete).
- 在 CLI 诊断中保留包含文字反斜杠的 POSIX 同级路径绝对,同时缩短实际主目录后代。 [#162800](https://github.com/openclaw/openclaw/pull/162800)。感谢 [@ly85206559](https://github.com/ly85206559)、[@boeingchoco](https://github.com/boeingchoco).
- 当暂停的工作没有授权下一步时,指导代理留下未完成的任务、阻止者、所有者和恢复情况的注释。 [#162903](https://github.com/openclaw/openclaw/pull/162903)。感谢 [@steipete](https://github.com/steipete)、[@RomneyDa](https://github.com/RomneyDa)、[@fuller-stack-dev](https://github.com/fuller-stack-dev)、[@jalehman](https://github.com/jalehman)、[@vincentkoc](https://github.com/vincentkoc).
- 在断开连接的发送被拒绝后保留未发送的以斜杠为前缀的终端聊天,保留较新的草稿并允许在重新连接后重试。 [#163201](https://github.com/openclaw/openclaw/pull/163201)。感谢 [@ooiuuii](https://github.com/ooiuuii)、[@obviyus](https://github.com/obviyus).
- 将缺失的工具结果视为未知结果,并指导代理在重复具有副作用的操作之前检查当前状态。当请求历史记录意外更改时警告操作员。 [#163379](https://github.com/openclaw/openclaw/pull/163379)。感谢 [@steipete](https://github.com/steipete).
- 为常见的聊天、终端和 Control UI 错误提供简短的解释和恢复步骤,并具有可扩展的详细信息。保持不确定的调度结果、手动数据库恢复和停止保存警告可见。 [#163381](https://github.com/openclaw/openclaw/pull/163381)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 恢复断开连接的Codex设备、过时的工作人员和离线跑步者的特定恢复指南。 [#163538](https://github.com/openclaw/openclaw/pull/163538)。感谢 [@vincentkoc](https://github.com/vincentkoc)、[@steipete](https://github.com/steipete).
- 解释允许的嵌套配置参数未设置并指向配置集而不是调用它未知。该消息不建立对该参数的提供程序支持。 [#163682](https://github.com/openclaw/openclaw/pull/163682)。感谢 [@steipete](https://github.com/steipete).
- Cap 过大的日志跟踪间隔,因此计时器溢出无法将长时间等待转变为快速网关轮询。 [#163791](https://github.com/openclaw/openclaw/pull/163791)。感谢 [@LinzeShi](https://github.com/LinzeShi).
- 当可见子会话启动或注册失败时显示网关的特定错误,包括未经确认的清理。 [#163798](https://github.com/openclaw/openclaw/pull/163798)。感谢 [@obviyus](https://github.com/obviyus)、[@DonnieFi](https://github.com/DonnieFi).
- 让 Bun 源安装从外部代理工作区启动,在共享存储使用报告中保留所选代理,并通过正常重新启动或暂停来跟踪承认的子完成工作。 [#163821](https://github.com/openclaw/openclaw/pull/163821)。感谢 [@steipete](https://github.com/steipete).
- 恢复标准 MIT 许可证识别,同时通过 README 和包保留相同的条款和第三方通知。 [#163838](https://github.com/openclaw/openclaw/pull/163838)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen). 感谢 [@ashleywolf](https://github.com/ashleywolf) 报告许可证识别问题。
- 在终端 UI 空闲时观察模型准备失败,防止额外的未处理拒绝报告,同时保留原始错误。 [#163842](https://github.com/openclaw/openclaw/pull/163842)。感谢 [@jalehman](https://github.com/jalehman).
- 终端关闭后抑制延迟批准消息。较旧的 ACPX 文件状态导入和旧版 Copilot-host-to-Codex URL 重写已被删除。 [#163854](https://github.com/openclaw/openclaw/pull/163854)。感谢 [@steipete](https://github.com/steipete).
- 即使光标键模式未知,也将文字 `constructor` 和 `__proto__` 文本发送到交互进程。 [#163963](https://github.com/openclaw/openclaw/pull/163963)。感谢 [@steipete](https://github.com/steipete).
- 保留附加到提交请求的排队语音、通话和上传诊断信息,而不是先前任务的跟踪。 [#164105](https://github.com/openclaw/openclaw/pull/164105)。感谢 [@harshitgupta31415](https://github.com/harshitgupta31415)、[@obviyus](https://github.com/obviyus).
- 在删除一次性代理执行状态之前关闭临时代理和共享数据库,包括当工作程序注册较晚完成时。 [#164483](https://github.com/openclaw/openclaw/pull/164483)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 保留已报告结果并解释具体批准、输入或依赖性阻止程序的答案。它的完成检查可以默默地完成,而授权的未完成工作仍然会收到检查。 [#164896](https://github.com/openclaw/openclaw/pull/164896)。感谢 [@obviyus](https://github.com/obviyus).
- Start 在当前会话工作目录中进行回复,如果清除了其覆盖,则使用配置的默认值。 [863e377](https://github.com/openclaw/openclaw/commit/863e377524a970787dfb2540b32722810c512cff)。感谢 [@steipete](https://github.com/steipete).
- Make Gateway CLI 选项链接跳转到其在运行、查询和发现参考页面上的描述。 [1edf7ea](https://github.com/openclaw/openclaw/commit/1edf7ea3ab5dd59c9ed6091c030a232504b5a58d)。感谢 [@qingminglong](https://github.com/qingminglong).
- Give `config patch` 拒绝可用的 `--replace-path` 重试建议,包括提供商名称中的标点符号和引号。需要时显示单独的 bash/zsh 和 PowerShell 拼写。 [e6b3a11](https://github.com/openclaw/openclaw/commit/e6b3a11851de205f5139ea4ea33051409ad36ebb)。感谢 [@sxh313](https://github.com/sxh313)、[@obviyus](https://github.com/obviyus).
- 避免未使用的 CLI 启动导入,并让 `gateway call` 验证连接设置而不检查不相关的配置。使用 `config validate` 进行全面检查。识别侦听器后,保留文字解析的凭据并报告清理权限失败。 [01d59ff](https://github.com/openclaw/openclaw/commit/01d59ffc5392541eed49b5c57cad93077c93013a)。感谢 [@steipete](https://github.com/steipete).
- 在维护期间选择必须保护的子会话时减少重复复制。 [#161526](https://github.com/openclaw/openclaw/pull/161526)。感谢 [@steipete](https://github.com/steipete).
- 仅复制相关子运行记录以用于控制和提示上下文,避免大型历史记录中不相关的任务。 [#161690](https://github.com/openclaw/openclaw/pull/161690)。感谢 [@steipete](https://github.com/steipete).
- 在通过本机 SQLite 清理检查的 macOS 和 Linux Bun 构建上重用数据库工作器。股票Bun、1.4.2、Windows和不确定的支票保留保守的工人退休金。 [#161764](https://github.com/openclaw/openclaw/pull/161764)。感谢 [@steipete](https://github.com/steipete)、[@vincentkoc](https://github.com/vincentkoc).
- 在启动会话、历史记录和使用情况读取器时加载更少的不相关模块。 [#162609](https://github.com/openclaw/openclaw/pull/162609)。感谢 [@steipete](https://github.com/steipete).
- 共享发送到多个客户端的会话更新的准备工作,并避免在一次输出过程中重复进行秘密过滤器检查。 [#162810](https://github.com/openclaw/openclaw/pull/162810)。感谢 [@steipete](https://github.com/steipete).
- 在停止发现或重新连接后释放目录侦听器和断开连接的客户端缓存,同时继续跟踪真正未完成的本机工作。 [#163688](https://github.com/openclaw/openclaw/pull/163688)。感谢 [@steipete](https://github.com/steipete).
- 在验证和采用并发历史记录更新时避免复制旧的记录。 [#163710](https://github.com/openclaw/openclaw/pull/163710)。感谢 [@steipete](https://github.com/steipete).
- 避免在大型商店的生命周期操作期间重建完整会话列表或复制不相关的详细信息。后台存储切换仍然会增加总请求时间。 [#163815](https://github.com/openclaw/openclaw/pull/163815)。感谢 [@steipete](https://github.com/steipete).
- 共享不可变的已发布会话和工作人员事实,而不是重复复制它们以进行库存和布局读取。 [#164102](https://github.com/openclaw/openclaw/pull/164102)。感谢 [@steipete](https://github.com/steipete).
- 在长时间使用大量工具运行期间,从已安装的工具、私有代码模式结果和已发布的子记录中保留更少的不必要数据。在现有滚动保留限制内批量保留轨迹事件。 [#164199](https://github.com/openclaw/openclaw/pull/164199)。感谢 [@steipete](https://github.com/steipete).
- Share提交的转录本数据以保留更少的重复工具结果。插件和 SDK 调用者必须立即将有效负载视为不可变,包括在异步保存挂起时,并为更新创建新值。 [#164251](https://github.com/openclaw/openclaw/pull/164251)。感谢 [@steipete](https://github.com/steipete).
- 当转录本仅保留简短摘录(包括通过准备好的密文元数据进行的摘录)时,Release 会丢弃大型工具输出。 [#164361](https://github.com/openclaw/openclaw/pull/164361)。感谢 [@steipete](https://github.com/steipete).
- 从可重用的 SQLite 读取工作线程中释放已完成的读取请求及其提示或转录数据,同时使这些工作线程可供以后读取。 [#164370](https://github.com/openclaw/openclaw/pull/164370)。感谢 [@steipete](https://github.com/steipete).
- 在长时间的代码模式会话期间释放重复的已完成工具数据和已完成运行状态,保留保存的历史记录和五分钟热工作窗口。生命周期挂钩接收保存的重写活动并忽略抑制的条目。 [#164386](https://github.com/openclaw/openclaw/pull/164386)。感谢 [@steipete](https://github.com/steipete).
- 在回复和工具准备期间重复使用冻结的配置捕获,而不是重复复制未更改的设置。活动轮流保留其承认的策略,并且新作品会收到更新的设置。 [#164398](https://github.com/openclaw/openclaw/pull/164398)。感谢 [@steipete](https://github.com/steipete).
- 保留更少的嵌套抄本簿记并共享等效模式的已编译验证器。模式内容决定重用; SDK 的 `cacheKey` 不再选择它。 [#164467](https://github.com/openclaw/openclaw/pull/164467)。感谢 [@steipete](https://github.com/steipete).
- 在初始历史记录和模型上下文之间共享相等的不可变数据,包括隐身会话,同时将私有字段保留在模型视图之外。 [#164502](https://github.com/openclaw/openclaw/pull/164502)。感谢 [@steipete](https://github.com/steipete).
- 让符合条件的空闲历史记录读取器使用其记录的功能释放其数据库,并推迟默认的堆限制探测,直到内存诊断需要为止。 [9137cfc](https://github.com/openclaw/openclaw/commit/9137cfcc5f4e2a3a6cac458590b491c1031b535a)。感谢 [@steipete](https://github.com/steipete).
- 减少转录工作人员对其使用的板和进度卡模式的导入,避免更广泛的网关协议依赖性。 [a02d441](https://github.com/openclaw/openclaw/commit/a02d441dbf8aa40a13b6be0a18c5f2b1f15bc77e)。感谢 [@RomneyDa](https://github.com/RomneyDa). 感谢 [@steipete](https://github.com/steipete) 的原始转录工作者修复。
- 在数据库工作线程中读取共享的GitHub发布状态和恢复记录,减少网关请求线程上的存储工作。 [#161214](https://github.com/openclaw/openclaw/pull/161214)。感谢 [@steipete](https://github.com/steipete).
- 减少对缓存状态、配置文件访问和会话列表的重复数据库检查,同时检测架构更改和撤销所有权。 [#161678](https://github.com/openclaw/openclaw/pull/161678)。感谢 [@steipete](https://github.com/steipete).
- 在数据库工作线程中收集云工作线程空闲暂停候选者,同时保留现有的暂停策略和待恢复排除项。 [#161849](https://github.com/openclaw/openclaw/pull/161849)。感谢 [@steipete](https://github.com/steipete).
- 在数据库工作线程中收集远程工作线程磁盘监视器候选者,同时保留现有探测和磁盘警告。 [#161878](https://github.com/openclaw/openclaw/pull/161878)。感谢 [@steipete](https://github.com/steipete).
- 解决数据库工作人员中所涵盖的元数据、模型列表、搜索和配置文件请求的请求者配置文件,在影响之前检查当前访问。 [#162414](https://github.com/openclaw/openclaw/pull/162414)。感谢 [@steipete](https://github.com/steipete).
- 在延迟的监视结果到达时保持更新的上游会话链接完好无损,在事件写入失败后保留重试进度,并继续处理其他提供程序结果。 [#162518](https://github.com/openclaw/openclaw/pull/162518)。感谢 [@steipete](https://github.com/steipete).
- 在写入持久历史记录之前在数据库工作人员中运行对话存档检查。 [#162521](https://github.com/openclaw/openclaw/pull/162521)。感谢 [@steipete](https://github.com/steipete).
- 收集数据库工作人员中的运行状况和状态会话摘要,同时保留计数、最近会话订单和当前商店所有权。 [#162625](https://github.com/openclaw/openclaw/pull/162625)。感谢 [@steipete](https://github.com/steipete).
- 在继续工作区结果恢复之前,将远程工作人员确认保存在数据库工作人员中。 [#162975](https://github.com/openclaw/openclaw/pull/162975)。感谢 [@steipete](https://github.com/steipete).
- 让网关处理会话列表准备批次之间的其他待处理工作,同时并发调用者仍然共享准备工作并接收相同的有序可见结果。 [#163031](https://github.com/openclaw/openclaw/pull/163031)。感谢 [@steipete](https://github.com/steipete).
- 读取数据库工作人员中的存档会话状态,并仅在成功完成恢复后发送恢复通知。 [#163041](https://github.com/openclaw/openclaw/pull/163041)。感谢 [@steipete](https://github.com/steipete).
- 检查数据库工作人员中的附件所有权,并在返回受保护的媒体之前重新检查当前会话访问和下载票证。 [#163049](https://github.com/openclaw/openclaw/pull/163049)。感谢 [@steipete](https://github.com/steipete).
- 读取数据库工作人员中恢复、使用总量和 MCP 应用程序恢复的长期历史记录,在提交后发布准备好的消息。 [#163053](https://github.com/openclaw/openclaw/pull/163053)。感谢 [@steipete](https://github.com/steipete).
- Prepare 覆盖数据库工作线程中的代理和恢复会话读取,拒绝取消或会话替换后的延迟结果。 [#163115](https://github.com/openclaw/openclaw/pull/163115)。感谢 [@steipete](https://github.com/steipete).
- 复制并重新链接数据库工作人员中重新启动中断的对话,同时保持恢复原子性。 [#163119](https://github.com/openclaw/openclaw/pull/163119)。感谢 [@steipete](https://github.com/steipete).
- Move 完成和回复准备记录读取到数据库工作人员中,在通知观察者之前采用已提交的消息。 [#163120](https://github.com/openclaw/openclaw/pull/163120)。感谢 [@steipete](https://github.com/steipete).
- 在会话创建期间检查特定于代理的存储时,避免扫描每个保存的会话密钥。 [#163163](https://github.com/openclaw/openclaw/pull/163163)。感谢 [@steipete](https://github.com/steipete).
- 在数据库工作人员中准备涵盖的对话列表、路由地址和手动压缩绑定。 [#163208](https://github.com/openclaw/openclaw/pull/163208)。感谢 [@steipete](https://github.com/steipete).
- 在数据库工作线程中保存和修剪持久使用报告缓存数据,保持刷新锁定和已知丢失回复恢复,而无需重复写入。 [#163287](https://github.com/openclaw/openclaw/pull/163287)。感谢 [@steipete](https://github.com/steipete).
- 将选定的例行会话元数据事务移至数据库工作线程中,并在确认提交后发布。丢失的工作人员回复不会重复已提交的写入。 [#163378](https://github.com/openclaw/openclaw/pull/163378)。感谢 [@steipete](https://github.com/steipete).
- 读取数据库工作人员中的会话版本、有限历史记录、更新监视和通知确认,而不会在切换到同一数据库期间丢失排队事件。 [#163513](https://github.com/openclaw/openclaw/pull/163513)。感谢 [@steipete](https://github.com/steipete).
- 在数据库工作线程中读取共享会话建议,并在返回之前按当前访问权限对其进行过滤。 [#163546](https://github.com/openclaw/openclaw/pull/163546)。感谢 [@steipete](https://github.com/steipete).
- 在数据库工作线程中读取聊天历史记录和启动的持久挂起消息,并在丢失工作线程回复后保留确认的中断状态。 [#163582](https://github.com/openclaw/openclaw/pull/163582)。感谢 [@steipete](https://github.com/steipete).
- 将工作人员转录重放簿记移至数据库工作人员中,同时保留序列顺序和重复检测。 Unknown writes stay pending for recovery. [#163594](https://github.com/openclaw/openclaw/pull/163594)。感谢 [@steipete](https://github.com/steipete).
- Read 保存了数据库工作人员中压缩、重置挂钩、附带问题、导出和异步 SDK 消费者的历史记录。工作线程故障不会回退到阻塞持久读取。 [#163605](https://github.com/openclaw/openclaw/pull/163605)。感谢 [@steipete](https://github.com/steipete).
- 在后台存储工作中支持将记录、排队输入、会话和目标更改一起保存。 Publish confirmed saves once; unknown outcomes stop without repeating writes. [#163889](https://github.com/openclaw/openclaw/pull/163889)。感谢 [@steipete](https://github.com/steipete).
- 当磁盘支持的会话准备失败时,继续检查隐身工作人员,使受影响的磁盘会话未知,而不是将它们视为不存在。 [#163972](https://github.com/openclaw/openclaw/pull/163972)。感谢 [@RomneyDa](https://github.com/RomneyDa).
- 批量读取数据库架构元数据,而不是对每个表和索引重复查询。 [#164077](https://github.com/openclaw/openclaw/pull/164077)。感谢 [@steipete](https://github.com/steipete).
- 避免在例行元数据更新期间序列化未更改的提示、技能和差异快照,同时完全保存更改或清除的快照。 [#164093](https://github.com/openclaw/openclaw/pull/164093)。感谢 [@steipete](https://github.com/steipete).
- 每个会话列表批次检查一次董事会成员资格,而不是每行一次,使用一个提交的快照来获取结果。 [#164094](https://github.com/openclaw/openclaw/pull/164094)。感谢 [@steipete](https://github.com/steipete).
- 跟踪对话环境活动,每次触摸减少一次数据库读取,同时保留当前附件和所有权检查。 [#164108](https://github.com/openclaw/openclaw/pull/164108)。感谢 [@steipete](https://github.com/steipete).
- 对已接纳的状态句柄使用索引所有权检查,同时保留对其他连接的保守检查。 [#164110](https://github.com/openclaw/openclaw/pull/164110)。感谢 [@steipete](https://github.com/steipete).
- 重用有界准备好的数据库语句,同时每个查询仍然读取当前数据。 [#164117](https://github.com/openclaw/openclaw/pull/164117)。感谢 [@steipete](https://github.com/steipete).
- 读取所需的活动和生命周期详细信息,而无需加载未使用的已保存提示、技能或差异基线。 [#164125](https://github.com/openclaw/openclaw/pull/164125)。感谢 [@steipete](https://github.com/steipete).
- 在后台存储工作中保存待处理的聊天和座席输入。最终结果和清理等待接受的保存; SDK 调用者可以显式等待完成,而无需重放不确定的写入。 [#164284](https://github.com/openclaw/openclaw/pull/164284)。感谢 [@steipete](https://github.com/steipete).
- 在后台存储中准备观看对话上下文,并与当前可见性检查一起使用。插件作者可以等待新的权威助手; the synchronous helper remains supported. [#164288](https://github.com/openclaw/openclaw/pull/164288)。感谢 [@steipete](https://github.com/steipete).
- 记录会话创建、压缩和子启动信号,以及修剪数据库工作线程中的生命周期历史记录。 [#164367](https://github.com/openclaw/openclaw/pull/164367)。感谢 [@steipete](https://github.com/steipete).
- 删除或恢复后台存储工作中保存的Codex和代理API会话绑定,阻止在不确定结果后重用。 [#164391](https://github.com/openclaw/openclaw/pull/164391)。感谢 [@steipete](https://github.com/steipete).
- 将选定的聊天作者声明、模型切换更新和最终交付簿记移至数据库工作人员中。 [#164514](https://github.com/openclaw/openclaw/pull/164514)。感谢 [@steipete](https://github.com/steipete).
- 在数据库工作线程中重新读取选定的会话创建元数据,同时检查当前路由和干预写入。 [#165360](https://github.com/openclaw/openclaw/pull/165360)。感谢 [@steipete](https://github.com/steipete).
- 允许并发的第一个脚本写入来创建新的会话存储,而不会将另一个写入者的创建误认为是替换。 [922d989](https://github.com/openclaw/openclaw/commit/922d98926bb27143c812be35f9a918c1e48b045a).感谢 [@steipete](https://github.com/steipete).
- 避免在冷转录本准备期间重复数据库准入读取。 [0853228](https://github.com/openclaw/openclaw/commit/08532288490cc7f07543d4254d03fcd5aa1b09d3)。感谢 [@steipete](https://github.com/steipete).
- 在数据库工作线程中运行持久的单会话重置存储,并在丢失回复后发布确认的重置,而无需重复写入。 [850c49c](https://github.com/openclaw/openclaw/commit/850c49ccec1b918e0eaa7aa6fe26f37b527d3f01).感谢 [@steipete](https://github.com/steipete).
- 当直接、子或会话绑定的计划工作在单独的项目中运行时,将新的库存角色模板保留在已配置的代理工作区中。项目保留其工作目录和AGENTS.md指令;现有文件仍保留。 [#161088](https://github.com/openclaw/openclaw/pull/161088)。感谢 [@obviyus](https://github.com/obviyus)、[@nikosml](https://github.com/nikosml).
- 在数据库工作线程中存储工作区保存和恢复日志。在更改文件或报告成功之前等待持久记录;不确定的提交保留文件和恢复记录。 [#161539](https://github.com/openclaw/openclaw/pull/161539)。感谢 [@steipete](https://github.com/steipete).
- 在后台存储工作中准备工作区快照、别名、设置更新和到期清理。插件作者可以采用SQLite-free `guard.assertHost`; `beforePersistentApply` 在下一个 SDK 主要版本之前仍受支持。 [#163496](https://github.com/openclaw/openclaw/pull/163496)。 Thanks to [@steipete](https://github.com/steipete).
- Share Git 发现,用于匹配并发选择加入观察项目请求。默认项目列表保持不变,缓慢的批量发现仍然会延迟不相关的元数据读取。 [#162016](https://github.com/openclaw/openclaw/pull/162016)。感谢 [@steipete](https://github.com/steipete).
- 在有限等待尚未交付其结果的已结束子级之后,已完成的委派工作可以返回到原始对话。活跃的孩子仍在等待,迟到的孩子结果可能会单独到达。请参阅 [ 子代理公告 ](/tools/subagents/announce)。 [#165987](https://github.com/openclaw/openclaw/pull/165987)。谢谢[@LifeViwer](https://github.com/LifeViwer),[@mgr-nick](https://github.com/mgr-nick),[@obviyus](https://github.com/obviyus),[@Oldrich333](https://github.com/Oldrich333),[@VACInc](https://github.com/VACInc), [@vinsew](https://github.com/vinsew).
- 在本机子代理工作时发送后续内容不再阻止其完成的结果到达原始对话。传递保留原始调用者的权限; revoked access still stops it. See [subagent handoffs](/concepts/subagent-yield-handoff). [#168068](https://github.com/openclaw/openclaw/pull/168068)。谢谢[@A1fred-AI](https://github.com/A1fred-AI),[@adamamzalag](https://github.com/adamamzalag),[@klabir](https://github.com/klabir),[@Oldrich333](https://github.com/Oldrich333),[@stackingrockss](https://github.com/stackingrockss), [@steipete](https://github.com/steipete).
### 其他错误修复
- A Linux耗尽文件句柄的命令会失败,但不会停止其他流命令。关于限制性Linux主机使用Node并且匹配本机主机和工作线程构建,尽管进程组信号被拒绝,清理仍可以释放下一回合的工作线程。如果无法确认清理工作,则工作人员仍无法使用;单独重新启动并不能清除该条件。云工作人员移动和调度可以恢复最终结果,而无需等待超时。
- 取消工作人员聊天可以让当前轮次清理,而无需其他提供商调用。当主管在其代理准备就绪之前消失时,启动清理仍然可以重试。即使库存不可读,关闭也会尝试工作连接和传输清理,然后报告该错误。
- Credential 保存配对主机的启动回复。 Linux 清理不再将覆盖的已退出任务误认为是正在运行的任务; permission errors remain inconclusive.保存的工作区恢复错误保留屏幕上显示的可读过程诊断信息。
- 存储库会话保留已保存的工作区标识,而无关的写入则保留新的会话状态事件。丢失的类别编辑回复不再重复不相关的读取。工作开始之前的临时数据库争用会受到有限的重试;在派遣之前丢失的工人可以被替换,而无需重新轮班。 Doctor warnings show underlying failures。
- 快照清理会保留重用路径的替换。所涵盖的暂存、锁定和回滚故障在有效清理完成时保留其原始错误。如果快照管理过程丢失,未解析的文件将继续受到保护,直到服务恢复。单独重新启动并不能保证手动删除的安全;请参阅 [ 数据库恢复指南 ](/reference/database-schemas/integrity-and-recovery)。
- Native 隐身对话删除成功。档案、待处理的输入和转录检查可识别同一数据库的别名。尽管存在不相关的注册表更改或无效的磁盘候选,会话发现仍会保留有效的隐身和放置信息。
- 预定的转弯和Control UI在本机上聊天Windows避免受影响的会话读取错误。当长路径不安全时,命令和工作人员可以跳过可选的编译缓存。如果外部设置`NODE_COMPILE_CACHE`之前挂起OpenClaw启动,使用`NODE_DISABLE_COMPILE_CACHE=1`. SQLite检查子流程还保留明确认可的Node编译器设置。
- 在助手开始或正在运行的工作被替换之前,包含文字 NUL 的命令将被拒绝,并提供纠正指导。 [exec 工具](/tools/exec) 仍然支持有效的多行命令。在 POSIX 系统上,`config patch --file` 和 `config set --batch-file` 拒绝没有写入器的命名管道,而不是无限期等待;常规文件和符号链接仍然受支持。
- 配置错误显示哪个文件未通过验证以及原因。如果在应用更改时外部编辑使文件无效或删除文件,则请求会报告错误并保留最后的工作运行时设置。修复文件,调用 `config.get`,然后重新应用更改。配对列表会跳过格式错误的条目,拒绝无效的架构类型列表,并保留现有的系统代理批准详细信息。
- 网络更新修复了压缩响应和重定向,同时保留了 Slack 代理兼容性。可以再次观看替换的技能文件夹,并提供轮询回退。 Doctor 在清理后保留加载的本机插件文件。
- 已完成的聊天、旧的显示行、断开连接的工具订阅和简短预览会释放不需要的数据,而不会中断已接受的工作。非 Windows Bash 和 Zsh 缓存保留最近的 shell 快照。废弃的 HTTP 响应可以在垃圾收集运行时释放缓冲区; SDK 调用者仍应完成或取消响应正文以进行及时清理。
当使用刷新与其他工作重叠时,会话操作可以避免循环数据库等待。过期的请求可以离开等待队列,并且取消不会撤消已接受的操作。
来源和完整变更列表
- 当文件描述符用完时,[Linux 流命令单独失败,留下不相关的命令运行](https://github.com/openclaw/openclaw/pull/151672)。感谢 [@awss1i](https://github.com/awss1i)、[@obviyus](https://github.com/obviyus).
- [Native Windows 计划轮流和 Control UI 聊天可避免会话读取 DataCloneError 失败,包括配置的会话存储](https://github.com/openclaw/openclaw/pull/160075)。感谢[@steipete](https://github.com/steipete)、[@aniketkrs](https://github.com/aniketkrs)、[@yashas-13](https://github.com/yashas-13)、[@WG-Mojo](https://github.com/WG-Mojo)、[@hailongguo0530-alt](https://github.com/hailongguo0530-alt)、 [@jonathanlindsay](https://github.com/jonathanlindsay)、[@chiyunshen](https://github.com/chiyunshen)、[@jocojolo](https://github.com/jocojolo)、[@mick-lu-lingyue](https://github.com/mick-lu-lingyue)、[@zouxiao777](https://github.com/zouxiao777)、 [@zhangming678](https://github.com/zhangming678)、[@yihan331313](https://github.com/yihan331313)、[@godinpt-floada](https://github.com/godinpt-floada)、[@webdood](https://github.com/webdood)、[@veritasaiflows-cell](https://github.com/veritasaiflows-cell)、 [@aron-intframe](https://github.com/aron-intframe),[@Monkeykingll](https://github.com/Monkeykingll),[@avirtudazo-officeconnect](https://github.com/avirtudazo-officeconnect).
- [ 限制性 Linux 主机可以在进程组信号被拒绝时完成后代进程清理,并具有匹配的本机主机和工作程序版本 ](https://github.com/openclaw/openclaw/pull/160465)。感谢 [@sallyom](https://github.com/sallyom)、[@steipete](https://github.com/steipete)、[@RomneyDa](https://github.com/RomneyDa).
- [将会话移动或分派给云工作人员可以解决可恢复的最终结果,而不是等待超时](https://github.com/openclaw/openclaw/pull/160535)。感谢 [@steipete](https://github.com/steipete).
- 当对未更改环境的读取被阻止时,[ 保存网关凭据会保留配对主机启动回复。无法完成的调用会报告失败,而不是等待误导性的 timeout.](https://github.com/openclaw/openclaw/pull/160590). 感谢 [@steipete](https://github.com/steipete).
- [A 丢失对已提交类别编辑的回复不再使不相关的会话读取](https://github.com/openclaw/openclaw/pull/160656) 无效。感谢 [@vincentkoc](https://github.com/vincentkoc).
- [ 中断的数据库读取会保留仍在使用中的快照,直到其原始所有者完成清理工作](https://github.com/openclaw/openclaw/pull/160946)。感谢 [@steipete](https://github.com/steipete).
- [ 格式错误的配对列表条目不再中止整个读取,无效的模式类型列表被拒绝,SDK 读取器保留现有的系统代理批准 details.](https://github.com/openclaw/openclaw/pull/161054). 感谢 [@steipete](https://github.com/steipete).
- [存储库会话在回复丢失时保留其提交的工作区身份,并且清理会保留替换数据库文件](https://github.com/openclaw/openclaw/pull/161124)。感谢 [@steipete](https://github.com/steipete).
- [ 旧临时数据库快照的后期清理在同一路径上留下了完整的替换](https://github.com/openclaw/openclaw/pull/161300)。感谢 [@steipete](https://github.com/steipete).
- [ 创建快照目录之前的数据库争用会报告原始重试错误,而不会出现错误的清理失败](https://github.com/openclaw/openclaw/pull/161372)。感谢 [@steipete](https://github.com/steipete).
- 当 Supervisor 在其命令代理准备就绪之前消失时,[Cleanup 仍可重试](https://github.com/openclaw/openclaw/pull/161374)。感谢 [@steipete](https://github.com/steipete).
- [不相关的数据库或会话元数据写入不再丢弃新记录的会话状态事件](https://github.com/openclaw/openclaw/pull/161553)。感谢 [@steipete](https://github.com/steipete).
- [无效或缺失的外部配置编辑会返回应用程序错误,而不是让请求等待](https://github.com/openclaw/openclaw/pull/161868)。感谢 [@steipete](https://github.com/steipete).
- [ 即使回调抛出,数据库回滚清理也会完成,同时保留原始错误](https://github.com/openclaw/openclaw/pull/162139)。感谢 [@steipete](https://github.com/steipete).
- [ 代理工作开始之前的临时数据库争用会进行有界重试,并且稍后的请求可以在失败后重试。医生修复警告还显示底层failures.](https://github.com/openclaw/openclaw/pull/162750).感谢[@steipete](https://github.com/steipete),[@marcoschierhorn](https://github.com/marcoschierhorn),[@waynegault](https://github.com/waynegault),[@produtoramaxvision](https://github.com/produtoramaxvision), [@hannnnn-l](https://github.com/hannnnn-l)、[@islandpreneur007](https://github.com/islandpreneur007)、[@yaohd100](https://github.com/yaohd100)、[@RomneyDa](https://github.com/RomneyDa).
- [HTTP 依赖项更新修复了压缩响应和重定向处理,同时保留 Slack 代理兼容性](https://github.com/openclaw/openclaw/pull/162774)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- [Windows CLI 启动,当路径太长时,子进程可以跳过可选的编译缓存](https://github.com/openclaw/openclaw/pull/162841)。感谢 [@steipete](https://github.com/steipete)、[@NickM83](https://github.com/NickM83).
- [非 Windows 网关 Bash 和 Zsh shell 快照仅保留 128 个最新工作目录和环境缓存条目](https://github.com/openclaw/openclaw/pull/162967)。感谢 [@steipete](https://github.com/steipete)、[@aniruddhaadak80](https://github.com/aniruddhaadak80).
- [ 取消工作人员聊天可以使其现有轮次完成清理,而无需启动另一个提供程序调用 ](https://github.com/openclaw/openclaw/pull/163154)。感谢 [@Patrick-Erichsen](https://github.com/Patrick-Erichsen).
- [ 在调度之前替换不可用的代理数据库工作线程,因此无需重新发送挂起的轮次](https://github.com/openclaw/openclaw/pull/163258)。感谢 [@goutamadwant](https://github.com/goutamadwant)、[@steipete](https://github.com/steipete)、[@hawkit](https://github.com/hawkit).
- 当通过文件系统别名 ](https://github.com/openclaw/openclaw/pull/163488) 访问状态目录时,[ 挂起的会话输入正确附加。感谢 [@RomneyDa](https://github.com/RomneyDa)、[@vincentkoc](https://github.com/vincentkoc).
- [ 旧父显示行释放过时的子数据,同时保留链接和查看器信息](https://github.com/openclaw/openclaw/pull/163763)。感谢 [@steipete](https://github.com/steipete).
- [已完成聊天注册并发布过时的使用和提示数据。断开连接的会话读取在接受工作后停止进一步准备重试 settles.](https://github.com/openclaw/openclaw/pull/163834). 感谢 [@steipete](https://github.com/steipete).
- [ 废弃的提供程序、MCP 和插件 HTTP 响应可以在垃圾收集运行时释放其保留的缓冲区和读取器](https://github.com/openclaw/openclaw/pull/164124)。感谢 [@steipete](https://github.com/steipete).
- [在 POSIX 系统上,配置补丁 --file 和配置集 --batch-file 在没有编写器的情况下拒绝命名管道,而不是挂起 ](https://github.com/openclaw/openclaw/pull/164161)。感谢 [@GoldArowana](https://github.com/GoldArowana).
- [断开连接的客户端释放工具事件订阅,并且后期可见性请求无法重新创建这些订阅。已接受代理工作 continues.](https://github.com/openclaw/openclaw/pull/164307). 感谢 [@steipete](https://github.com/steipete).
- [短命令尾部、内存 Wiki 预览和 Web 获取元数据不再将丢弃的大字符串保留在内存中](https://github.com/openclaw/openclaw/pull/164441)。感谢 [@steipete](https://github.com/steipete).
- 即使无法读取工作器库存,[Shutdown 也会尝试工作器隧道和共享传输清理,然后报告库存错误](https://github.com/openclaw/openclaw/pull/164522)。感谢 [@steipete](https://github.com/steipete).
- [SQLite 检查子进程保留其原始 order.](https://github.com/openclaw/openclaw/pull/164675). 中已识别的显式 Node 编译器启用和禁用标志感谢 [@RomneyDa](https://github.com/RomneyDa).
- [ 在帮助程序启动或替换正在运行的工作 ](https://github.com/openclaw/openclaw/pull/164770) 之前,包含文字 NUL 字符的命令将被拒绝。感谢 [@shakkernerd](https://github.com/shakkernerd)、[@IWhatsskill](https://github.com/IWhatsskill).
- [可以再次观看替换的技能文件夹,文件观看保留其轮询回退,Doctor在cleanup.](https://github.com/openclaw/openclaw/commit/52992fb086a7f48c863ce98b7bfbeb8c8a0950ca).之后保持加载的本机插件文件可用感谢[@steipete](https://github.com/steipete),[@vincentkoc](https://github.com/vincentkoc).
- [本机隐身会话删除成功,并且当其数据库路径是别名](https://github.com/openclaw/openclaw/commit/3baeac6d1ffe3322b404d76cde45b25bd84563a9)时,存档保留在配置的存储的工件目录中。感谢 [@steipete](https://github.com/steipete).
- [ 拒绝快照目录创建保留其原始错误并让其他有效快照完成清理](https://github.com/openclaw/openclaw/commit/477cab2d714874b0807b8ed7afab7172be8975c7)。感谢 [@steipete](https://github.com/steipete).
- [ 当最后一个本机操作在清理检查 ](https://github.com/openclaw/openclaw/commit/646a3bdaf60ba92986935d09a36798c2d189bf58) 之间结束时,工作器取消可以完成。感谢 [@steipete](https://github.com/steipete).
- [Linux 进程检查在检查之间状态文件消失时确认退出,而不将权限错误视为退出证据](https://github.com/openclaw/openclaw/commit/112df95f5ee65a0b17622735e2b616d2910dc79b)。感谢 [@steipete](https://github.com/steipete).
- [ 当进程开始日期包含填充空格时,保存的工作区恢复错误与显示的诊断匹配](https://github.com/openclaw/openclaw/commit/d2f875598efa320abe3302077c128ce540390b53)。感谢 [@steipete](https://github.com/steipete).
- [Linux 清理功能可识别内核回收期间退出的进程,同时保留活动线程和权限保护](https://github.com/openclaw/openclaw/commit/b57aca41466b11c0f92c1fa3945cfb221185bde2)。感谢 [@steipete](https://github.com/steipete).
- [与图像路由无关的网关请求避免了不必要的图像处理程序会话上下文查找](https://github.com/openclaw/openclaw/commit/658e1e292a28fc5ae5781a90e80b0ea6b9cfec6e)。感谢 [@steipete](https://github.com/steipete).
- [简明 CLI 配置错误包括文件路径和验证原因(当这些详细信息尚未打印时)](https://github.com/openclaw/openclaw/commit/eb978fd65e310c4a78f4c449dea13a5156217ebe)。感谢 [@steipete](https://github.com/steipete).
- 尽管不相关的注册表更改或无效的磁盘候选](https://github.com/openclaw/openclaw/commit/9cc3eee461ed564ee008f3090702d114e533b949),[会话发现仍保留有效的隐身和放置信息。感谢 [@steipete](https://github.com/steipete).
- [ 成绩单和问答收据检查接受同一数据库的等效路径,包括文件系统别名](https://github.com/openclaw/openclaw/commit/32d49385f67f09054c8d9b03f10e0e7f3c68d33b)。感谢 [@vincentkoc](https://github.com/vincentkoc).
- 会话传送、历史记录、面板和相关会话操作避免了当使用刷新与其他工作重叠时出现循环数据库等待,从而允许请求完成或返回其预期错误。 [#167662](https://github.com/openclaw/openclaw/pull/167662)。感谢 [@steipete](https://github.com/steipete).
- 当新的续订工作线程以不同的运行时间原点启动时,Bun 网关和 CLI 命令保留对共享状态的访问。将来更新的时钟更改仍然会中断所有权,并且可能需要重新启动网关。请参阅 [ 网关锁 ](/gateway/gateway-lock)。 [#167669](https://github.com/openclaw/openclaw/pull/167669)。感谢 [@steipete](https://github.com/steipete).
- Core 和十二个扩展将其文件系统帮助程序更新为所选版本,以保留克隆目标的可读句柄。 [a808a7e4](https://github.com/openclaw/openclaw/commit/a808a7e4f8f64ccbfc61ce916478afc892f9171e)。感谢 [@steipete](https://github.com/steipete).
- 普通工作线程回调计入任务的原始超时。取消的存储请求可以在开始之前离开队列,而不会干扰其他调用者;取消不会撤消已接受的工作。 [e15a4e97](https://github.com/openclaw/openclaw/commit/e15a4e971938774d890612a45a0386b9c6b99276)。感谢 [@steipete](https://github.com/steipete).
- 过期的历史记录和使用请求会在数据库争用的情况下停止其等待工作。当队列清除时,取消的使用写入稍后不再运行。 [0965e459](https://github.com/openclaw/openclaw/commit/0965e45991cbf457ef89ed44dfdf2bfdec644008)。感谢 [@steipete](https://github.com/steipete).
- 停用导入的会话源不再允许其存档内容再次导入到替换对话中。 [eff7e0b4](https://github.com/openclaw/openclaw/commit/eff7e0b4a26889fe2ee42c8f62d9167220cc5079)。谢谢[@RomneyDa](https://github.com/RomneyDa),[@steipete](https://github.com/steipete).