← 返回更新日志

OpenClaw v2026.5.24-beta.1 预发布

2026-05-24 · GitHub 原文
以下是将您提供的内容翻译成中文的结果,保持了原有的格式(包括Markdown列表、链接、代码块等)。 ### 变更 - Gateway/性能:复用进程稳定的频道目录读取,避免重复的捆绑频道边界检查,并轮转Gateway监视CPU分析文件,使基准测试运行不会积累无界的数据。 - Gateway/性能:在进程本地热路径中缓存稳定的安装记录、频道目录、捆绑频道和Telegram会话存储元数据,以减少重复的JSON和清单读取。 - Gateway/性能:在启动、配置、模型、频道、设置和秘密元数据读取器中复用不可变的插件元数据快照,使热路径避免重复的插件文件统计和清单注册表重载。 - Talk/实时:让WebUI和Discord语音呼叫者能够在咨询仍在运行时查询活跃的OpenClaw运行状态、取消、引导或排队后续工作。(#84231) 感谢 @Solvely-Colin。 - Discord/语音:添加带有代理名称默认值的实时唤醒名称门控,并为更长的 `USER.md`/`SOUL.md` 文件提高配置文件引导上下文预算。 - Gateway/性能:延迟加载启动空闲的插件工作、核心Gateway方法处理程序和嵌入式ACPX运行时,使Gateway健康和就绪信号不再等待未使用的处理程序树或ACPX探测。 - Gateway/性能:缓存插件SDK公共表面别名映射,并跳过无关的macOS Linuxbrew PATH探测,使Gateway启动避免重复的文件系统遍历和缓慢的缺失目录统计。 - 图像工具:添加自适应模型感知图像压缩,带有 `agents.defaults.imageQuality` 偏好设置,用于选择令牌高效、平衡或高细节的媒体处理。 - 会议记录:在核心npm包之外添加一个仅源代码的外部会议记录插件和SDK源代码提供者契约,包含自动启动捕获配置、手动转录导入、只读 `openclaw meeting-notes` CLI访问以及Discord语音作为首个实时来源。 - 会议记录/Discord:在会议记录自动捕获之前释放频道账户启动,在Gateway启动期间等待Discord语音管理器,并在频道关闭前停止插件服务,以便在启动和清理期间语音捕获状态仍然可用。 - 文档/频道/配置:添加Signal `configPath`、Telegram通配符主题默认值、本地时间备份归档名称、Termux home回退、包含路径验证、秘密扫描器安全占位符指南、Gemini CLI/Antigravity媒体指南以及macOS VM自动登录指南。感谢 @NorseGaud, @yudistiraashadi, @huangqian8, @VibhorGautam, @maweibin, @tianxingleo, @IgnacioPro, 和 @xzcxzcyy-claw。 - 文档:阐明模型使用可移植性、Codex迁移前提条件、状态引导措辞、线程绑定子代理限制、钩子所有权以及配置保留安全指南。感谢 @aniruddhaadak80, @leno23, @TomDjerry, @matthewxmurphy, @vincentkoc, 和 @stablegenius49。 - 文档:阐明README入门和Gateway启动路径、WhatsApp QR/408恢复、cron输出语言提示、技能高级功能、网关上游403故障排除以及插件回退覆盖指南。感谢 @deepujain, @Zacxxx, @Jah-yee, @neyric, @usimic, @Renu-Cybe, @BigUncle, 和 @SeashoreShi。 - 文档:阐明上下文修剪比率边界、本地仪表板恢复、CLI环境标记、远程入门令牌行为以及用于子进程代理的Peekaboo Bridge权限。感谢 @ayesha-aziz123, @dishraters, @hougangdev, 和 @brandonlipman。 - 文档:阐明浏览器CDP诊断、插件SDK允许列表导入、状态反应计时默认值、队列引导行为、有限工具故障排除、cron HEARTBEAT处理、Telegram多代理组、Bitwarden SecretRef设置以及EasyRunner部署。感谢 @Quratulain-bilal, @mbelinky, @Mickey-, @vancece, @xenouzik, @posigit, @surlymochan, @janaka, 和 @choiking。 - CLI/模型:让 `openclaw models auth login` 将单个返回的提供商认证配置文件存储在请求的 `--profile-id` 下,并记录命名的Codex OAuth配置文件设置。(#49315) 感谢 @DanielLSM。 - Crabbox/Testbox:从临时完整检出运行干净的稀疏检出Testbox同步,并通过Corepack pnpm路由远程更改的门控。 - 文档:阐明仅IPv4 Gateway BYOH绑定、可信代理范围清除、Android配对批准、macOS Accessibility授权、Zalo配置文件环境变量、密码存储SecretRef设置以及中文内存导航。感谢 @itskai-dev, @gwh7078, @longstoryscott, @MoeJaberr, 和 @yuaiccc。 - 文档:将GLM合并到Z.AI下,添加Upstash Box安装指南和Gateway暴露运行手册,阐明MEDIA指令、Copilot和Voyage设置、配置路径引用、真实行为证明以及内存文件写入指南。感谢 @BobDu, @alitariksahin, @Jefsky, @musaabhasan, @OmerZeyveli, @leno23, @WuKongAI-CMU, @luoyanglang, 和 @majin1102。 - 文档:阐明媒体提供商凭据、Codex/OpenClaw代码模式边界、Slack和Telegram确认反应、飞书动态代理、秘密明文边界、内存指南以及中文术语表。感谢 @nielskaspers, @cosmopolitan033, @drclaw-iq, @alexgduarte, @zccyman, @chengoak, 和 @cassthebandit。 - 打包:从npm tarball中排除文档图片和资产,减少发布的包大小,而不影响运行时文档搜索或CLI行为。感谢 @SebTardif。 - 媒体理解:停止自动探测Gemini CLI,并仅在配置的提供商API之后将Antigravity CLI用作较低优先级的图像/视频回退。 - 诊断:为Gateway秘密准备发出清理后的 `secrets.prepare` 时间线跨度,使操作员能够区分秘密启动延迟而不暴露提供商名称、秘密ID或秘密值。(#83019) 感谢 @samzong。 - 诊断:为核心、插件、MCP和频道工具执行导出有界的技能使用指标/跨度和工具源/所有者标签,而不暴露原始路径或会话标识符。(#80370) 感谢 @gauravprasadgp。 - 代理/子代理:将默认子代理引导上下文限制为 `AGENTS.md` 和 `TOOLS.md`,默认情况下将角色、身份、用户、内存、心跳和设置文件排除在委托工作进程之外。(#85283) 感谢 @100yenadmin。 - 维护者技能:在显示bug-sweep PR URL之前要求干净的自动审阅,并将仅变更日志冲突视为常规繁忙维护搅动。 - 维护者技能:将插件SDK/API边界工作从 `openclaw-landable-bug-sweep` 中排除,以便bugbash扫描专注于小的纸面修复。 - QA-Lab/诊断:扩展OpenTelemetry烟雾测试工具以证明追踪、指标和日志导出,并添加一流的Prometheus和可观测性烟雾别名。 - 插件SDK:添加通用频道消息轮询发送器,使频道插件无需依赖特定于频道的SDK门面即可暴露轮询投递。 - 插件SDK/cron投递:通过现代目标解析器和出站会话路由API路由cron投递,弃用基于解析器的目标辅助程序和 `plugin-sdk/messaging-targets`,并将捆绑调用者移至 `plugin-sdk/channel-targets`。 - Crabbox:使本地包装器的提供商验证与已安装的Crabbox二进制文件同步,同时保留支持的别名,如 `docker` 和 `blacksmith`。(#85302) 感谢 @hxy91819。 - 维护者技能:添加 `openclaw-landable-bug-sweep` 用于从问题/PR扫描中生成五个小的、经过审查的、CI绿色的OpenClaw错误修复PR。 - 控制UI/聊天:在聊天会话选择器中添加搜索和“加载更多”分页,将初始会话加载保持在有界范围内,同时使更旧的对话可达。(#85237) 感谢 @amknight。 - CLI/入门:当 bare `openclaw` 在编写配置之前运行时启动经典入门,同时将已配置的安装保留在Crestodian上。(#72343) 感谢 @fuller-stack-dev。 - Discord:允许为长时间运行的组件工作流配置有界的 `agentComponents.ttlMs` 回调注册表生命周期,带有按账户覆盖和24小时上限。(#84189) 感谢 @100menotu001。 - xAI/Grok:为Grok `web_search` 复用xAI OAuth认证配置文件,通过web搜索线程化活动代理认证,添加Grok模型别名,并让媒体提供商声明默认操作超时。(#85182) 感谢 @fuller-stack-dev。 - 插件SDK:添加行级会话工作流辅助程序并弃用 `loadSessionStore`,使插件无需依赖遗留的整个存储形状即可读取和修补会话。(#84693) 感谢 @efpiva。 - Gateway/插件:在调度期间复用兼容的Gateway启动插件注册表,使安全插件调度避免冗余的注册表加载。(#84324) 感谢 @ai-hpc。 - 插件/SDK:添加通用的 `embeddingProviders` 能力契约和注册API,使嵌入可以成为内存特定适配器之外的可复用提供商表面。 - 依赖项:刷新提供商、插件、UI和工具包,将 `protobufjs` 更新到8.4.0以清除当前npm公告,并将Claude ACP补丁向前移植到 `@agentclientprotocol/claude-agent-acp` 0.36.1。 - 代理/工具:移除旧的发送者-所有者工具门控路径,使配置的工具在受信任会话中保持可见,同时命令和频道操作认证仍然携带真实发送者身份。 - QA-Lab:为运行时奇偶校验审计添加精选的模拟JSONL重放夹具和首次漂移报告。(#80323, 引用 #80176) 感谢 @100yenadmin。 - QA-Lab:为清洁后的工具调用断言添加QA总线工具追踪可见性场景。 - QA-Lab:用具体的观察到的QA行为替换种子场景提示中的通用证据框架。 - QA-Lab:在覆盖率报告中列出命名的场景包,以便个人代理隐私覆盖率在审计中保持可见。 - QA-Lab:在覆盖率报告中列出实时传输通道成员资格,以便实时传输检查与种子qa-channel场景保持分离。 - 发布/包:在包接受阶段之前运行包完整性检查,以便公共安装/更新验证在私有QA资产可能泄露到包之前失败。 - QA-Lab:在发布-浸泡工件中包含可选的100轮运行时奇偶校验浸泡,以便长时间运行的Codex/Pi转录漂移在默认门控之外保持可见。(#80395) 感谢 @100yenadmin。 - QA-Lab:为Codex应用程序服务器超时和停滞运行哨兵添加仅实时长上下文进度监视狗场景。(#80323) 感谢 @100yenadmin。 - QA-Lab:将Gateway重启恢复和流式最终完整性场景标记为仅实时运行时奇偶校验通道。(#80323) 感谢 @100yenadmin。 - QA-Lab:添加个人代理故障恢复场景,检查诚实的部分状态、重试边界和本地恢复工件。(#83872) 感谢 @iFiras-Max1。 - QA-Lab:包含一个可选的 `update.run` 包自升级哨兵,用于破坏性的最新包恢复检查。 - QA-Lab:为缺失的安装、固定版本漂移、首次轮次安装排序和医生迁移安全性添加Codex插件生命周期和认证配置文件夹具覆盖。(#80323, 引用 #80174) 感谢 @100yenadmin。 - 模型/性能:在Gateway启动时预热提供商认证状态映射,使 `/models` 和每个模型列表调用在热路径上短路每个提供商的插件/外部CLI发现。每次调用成本从约20秒降至约5毫秒(约4100倍);一次性启动预热在热重载后重置并重新预热。(#84816) 感谢 @sjf。 - 发布/安全:使用生成的shrinkwrap发布根npm包和OpenClaw拥有的npm插件,为合适的插件tarball支持捆绑的插件运行时依赖项,并要求对lockfile/shrinkwrap更改进行审查,以便已发布的安装使用锁定的依赖图。 - 测试/性能:将doctor核心健康检查单元覆盖率与真实的技能/工作空间发现隔离,使 `doctor-core-checks` 不再主导单元性能,同时保留一个真实的技能就绪烟雾测试。(#84493) 感谢 @frankekn。 ### 修复 - Gateway/更新:在开发频道git更新期间避免获取无关标签,使移动的发布标签不会阻塞基于分支的更新。(#84737) 感谢 @rubencu。 - MiniMax:将OAuth令牌过期存储为绝对毫秒时间戳,使OAuth配置文件不再在每个请求上显示为已过期。(#83480) 感谢 @NianJiuZst。 - 代理/Anthropic:为签名思考提供商剥离缺失或空的思考签名,即使恢复提供了没有签名保留的狭窄重放策略。修复 #84430。(#84448) 感谢 @NianJiuZst。 - 代理/频道:当中止的主会话无法在重启后恢复时发送可见通知,包括Telegram群组目标。(#85805) 感谢 @pfrederiksen。 - Discord/语音:序列化重叠的语音加入,在配置的超时内重试中止的启动就绪,将仅会议记录会话升级为实时(当正常跟随加入到达时),在未离开语音的情况下分离提升的会议记录所有权,并在默认实时唤醒名称中包含 `OpenClaw`。 - Gateway/重启:为嵌入式运行遵守配置的重启耗尽预算,并避免在强制重启超时后两次使用延迟超时。(#85708) 感谢 @Kaspre。 - Gateway/启动:在隔离的启动会话中运行 `BOOT.md` 启动检查,使Gateway重启不会覆盖代理的主会话映射。(#85479) - 会议记录:在生成的摘要中包含说话者标签的转录部分,使Discord群组语音捕获显示每个捕获话语的说话者。 - Discord/语音:当Discord流关闭/玩家空闲事件未到达时恢复陈旧的实时回放状态,并在构建后重写后保持生成的运行时插件别名可用。 - Discord/语音:当会议记录附加到现有语音会话或实时咨询启动时保持实时回放运行,并将实时用户转录路由到会议记录。 - 配置/秘密:在根和包含配置写入持久化之前预检活动运行时SecretRefs,并在写入后刷新失败时回滚未更改的文件/环境状态。修复 #46531。(#84454) 感谢 @samzong。 - CLI/模型:当 `models status` 重新生成 `models.json` 时,保留SecretRef支持的自定义提供商 `apiKey` 标记,避免磁盘上的已解析明文秘密。修复 #84632。(#84658) 感谢 @NianJiuZst。 - WhatsApp/自动回复:通过前台回复栅栏投递延迟的媒体回复,使重叠的无回复轮次不再隐藏已可见的响应。(#85517) 感谢 @cavit99。 - 会话/安全:将代理到代理的通配符允许列表正则表达式替换为预编译的线性匹配器,使跨代理访问检查避免易受回溯攻击的模式。(#85849) 感谢 @SebTardif。 - WebChat:保持运行完成指示器处于进行中状态,直到延迟的历史重放渲染助手回复,使“完成”不再出现在响应文本之前。(#85374) 感谢 @neeravmakwana。 - 代理/工具:为超时或取消的进程树提供有界的SIGTERM清理窗口,然后发送SIGKILL,同时保留树感知取消。修复 #66399。(#85865) 感谢 @IWhatsskill。 - 代理/子代理:将中止的子代理停止原因视为已终止的终端故障,使父会话收到错误通知而不是静默成功。修复 #72293。(#85860) 感谢 @IWhatsskill。 - 代理/提供商:根据最终请求负载限制类似代理的OpenAI Chat Completions输出上限,使严格的本地/API兼容服务器不再拒绝已消耗部分上下文窗口的提示。修复 #83086。(#85889) 感谢 @rendrag-git。 - 代理/压缩:为由提供商拥有的CLI运行时会话跳过代理框架预检,使超出阈值的Claude CLI会话通过正常压缩继续,而不是因缺少框架而失败。修复 #84857。(#84878) 感谢 @zhangguiping-xydt。 - Codex/应用服务器:通过短暂的轮次后宽限期保持成功的原生钩子中继可用,使迟到的Codex钩子子进程能够完成策略执行而不清除替代中继。(#83987) 感谢 @Kaspre。 - 控制UI/配置:从源配置快照保存表单模式编辑内容,使运行时仅提供商默认值(如空的 `models.providers.<id>.baseUrl`)不会被写回并被拒绝。修复 #85831。感谢 @garyd9。 - 浏览器/现有会话:启动Chrome DevTools MCP,默认禁用使用统计信息,使其遥测监视狗保持关闭,除非操作员明确选择加入。(#85886) 感谢 @rohitjavvadi。 - Telegram:在重试发送、轮询和置顶之前标准化遗留的持久群组重试目标,使群组重试使用真实的聊天ID。(#85656) 感谢 @luoyanglang。 - 代理/PDF:通过插件元数据路由MiniMax PDF回退策略,使MiniMax使用文本提取而不是VLM图像回退。(#85590, 修复 #85575) 感谢 @neeravmakwana。 - CLI/插件:收紧超时、数字选项、媒体负载、权限、配置文件/TLS、插件元数据、JSON和远程URL处理;防止卡住的进度/应用服务器/IRC/Synology/Twitch等待;并保持导入的聊天历史顺序稳定。 - Telegram/配置:当 `channels.telegram.defaultAccount` 命名了一个已配置且也排在首位的账户时,抑制缺少的 `accounts.default` 警告。修复 #83948。感谢 @crypto86m。 - WebChat:汇总内部消息工具源回复,使工具卡片不再重复可见的回复正文。(#84773) 感谢 @jason-allen-oneal。 - Gateway/WebChat:当Cursor ACP已经持久化了相同的 `acp-runtime` 回复时,隐藏重复的 `gateway-injected` 助手行。修复 #85741。感谢 @lxf-lxf。 - WebChat:将可见的附件按钮限定为它自己的编辑器文件输入,使单击“上传”可靠地打开文件选择器。(#83952, 修复 #47983) 感谢 @jason-allen-oneal。 - Gateway:保留延迟的生命周期错误清理,用于后续的非终端事件,使提供商超时能够持久化失败的会话状态,而不是让会话卡在运行状态。(#85256, 修复 #63819) 感谢 @samzong。 - Gateway/更新:停止在更新重新生成期间将继承的macOS `XPC_SERVICE_NAME` 值视为launchd监督,使GUI生成的Gateway使用分离的重新生成而不是因缺少LaunchAgent而退出。修复 #85224。感谢 @richardmqq。 - 代理/子代理:在超时摘要期间报告仅工具的子进程进度,而不是显示无可见输出。 - Telegram/ACP:当入站ACP目标未携带单独的线程ID时,保留显式的 `:topic:` 对话后缀。 - 浏览器/代理:绕过精确本地管理的Chrome CDP就绪性和DevTools WebSocket端点的管理代理,使 `openclaw browser start` 在操作员代理阻止回环出口时正常工作。(#83255) 感谢 @lightcap。 - Ollama:绕过已配置的本地嵌入源的管理代理,同时为未配置的目标保留SSRF防护栏。感谢 @Kaspre。 - OpenAI/图像:通过原生OpenAI Images API(而不是Codex OAuth流式后端)路由Codex API密钥图像生成,避免来自有效API密钥的401错误。 - 代理/OpenAI completions:为类似代理的OpenAI兼容端点省略空的工具负载字段,使严格的vLLM风格服务器接受无工具的轮次。(#85835) 感谢 @rendrag-git。 - 沙箱:保持工作区技能挂载对远程容器cwd文件操作为只读,并在创建受保护覆盖之前拒绝符号链接技能根目录。(#85591) 感谢 @jason-allen-oneal。 - 脚本/Windows:将剩余的QA、发布、配置文件和实时媒体 `pnpm` 启动通过托管运行器路由,使原生Windows避免脆弱的 `.cmd` 执行和shell-argv警告。 - 发布:对齐生成的配置/API基线和会议记录插件版本,使发布预检在原生Windows上保持绿色。 - 安装/Windows:通过Node准备辅助程序运行Git钩子设置,使原生Windows安装不再打印POSIX shell错误。 - 检查/Windows:在原生Windows上分块并序列化扩展oxlint分片,使更改的门控避免Go支持的语言检查器内存峰值。 - 发布/Windows:通过显式的 `cmd.exe` 包装运行已安装的 `openclaw.cmd` 验证,使npm prepublish/postpublish检查避免Node shell-argv警告。 - 插件/Windows:通过共享的npm运行器运行插件npm包暂存,使原生Windows发布检查避免 bare `npm` 查找和 `.cmd` shell-argv处理。 - 检查/Windows:通过托管子运行器路由完整的 `pnpm check` 阶段命令,使Windows在那里也避免Node shell-argv弃用警告。 - 代理/fs:允许仅工作区的主机写入/编辑工具通过工作区内的符号链接目录父级写入,同时保留工作区外符号链接的拒绝。修复 #84696。感谢 @garbagenetwork。 - 检查/Windows:通过显式的 `cmd.exe` 包装(而不是带argv的Node shell模式)运行托管子命令,避免在更改检查期间出现Node 24子进程弃用警告。 - Gateway:从代理提示历史中省略内部流错误占位符条目,使失败的助手轮次不会作为模型编写的文本重放。(#85652) 感谢 @anyech。 - 会话:在锁获取期间强制执行会话写锁定最大持有策略,使长时间持有的锁可以在陈旧锁窗口之前被回收。(#85764) 感谢 @njuboy11。 - 会话/状态:当内部子代理交接运行使用回退模型时,保留面向用户的模型、回退、使用和成本归属。(#85726, 修复 #85082) 感谢 @brokemac79。 - 安装/更新:在派生默认开发检出和安装程序入门路径时遵循 `OPENCLAW_HOME`,同时保持显式的 `OPENCLAW_GIT_DIR` 和 `OPENCLAW_CONFIG_PATH` 覆盖具有权威性。修复 #54014。感谢 @robertPiro。 - 模型:修剪已退役的Groq、GitHub Copilot、OpenAI、xAI和旧Claude目录条目,并通过doctor迁移将现有配置升级到当前提供商引用。 - 插件/Gateway:将插件网关方法处理程序的非空返回值视为成功响应,使 `openclaw gateway call` 在完成插件工作后不再超时。修复 #59470。感谢 @HTMG23。 - Doctor/更新:通过比较规范路径(在显示包管理器更新指南之前)识别基于连接点的源检出作为git安装。修复 #82215。感谢 @igormf。 - 频道:在直接聊天、群组、频道和论坛主题中遵循 `/verbose on` 进行工具/进度摘要,同时保留安静的默认行为。(#85488) 感谢 @kurplunkin。 - 更新:当重启脚本进程无法生成时,保持分离的Gateway重启交接尽力而为。(#83892) 感谢 @davinci282828。 - Telegram:通过插件状态持久化提示上下文消息缓存,并在发送和草稿流式传输后记录机器人编写的回复,使后续轮次无需依赖JSON sidecar即可包含先前的助手回复。(#85231) 感谢 @keshavbotagent。 - 代理/子代理:保持Codex角色和用户工作区文件为轮次范围的,使原生Codex子代理默认仅继承共享工具指南。(#85811) 感谢 @lastguru-net。 - CLI/技能:当技能设置没有缺失的依赖项需要安装时,显示“全部就绪”通知以及下一步命令。(#85032) 感谢 @aniruddhaadak80。 - Microsoft Foundry:通过Foundry Responses API路由DeepSeek V4 Pro和Flash模型,同时将较旧的DeepSeek模型保留在现有路径上。(#85549) 感谢 @roslinmahmud。 - 状态/使用:在完整使用输出中显示已配置的AWS SDK模型成本估算,同时保持仅令牌的使用回复无成本。(#85619) 感谢 @ItsOtherMauridian。 - 代理/OpenAI Responses:为OpenAI Responses API系列重试不可见的仅推理轮次,而不是将其视为空的失败轮次。(#85603) 感谢 @SebTardif。 - 指令标签:当显示剥离未进行指令标签更改时,保留消息和内容部分对象标识。(#85682) 感谢 @willamhou。 - Telegram:从 `sendMessage` 操作发送本地 `path`/`filePath` 和结构化附件媒体,而不是丢弃它们或发送纯文本消息。(#85219) 感谢 @keshavbotagent。 - 会话/状态:当新鲜的提供商使用信息不可用时显示估计的上下文预算,并在会话重置和压缩边界上清除过时的估计值。(#84830) 感谢 @giodl73-repo。 - Gateway/配置:在启动时将相对的 `OPENCLAUD_STATE_DIR` 覆盖固定到绝对路径,使后续工作目录更改无法重新定位网关状态。(#52264) 感谢 @PerfectPan。 - 检查/Parallels:使更改的通道脚本、shrinkwrap生成和Parallels包烟雾主机命令通过原生Windows安全路径和 `npm`/`pnpm` shims运行。 - 发布/包:通过Windows安全的npm命令shims运行npm发布、prepublish和postpublish验证,使原生Windows检查能够执行 `npm.cmd` 而不是将其视为二进制文件。 - 代理/框架:通过框架选择传递CLI运行时别名,使提供商拥有的CLI别名在到达正确的运行时之前不再被拒绝。(#85631) 感谢 @potterdigital。 - 秘密:在交互式 `secrets configure` 确认之后显示不可逆的应用警告,使已确认的迁移仍然获得最终的安全提示。(#85638) 感谢 @alkor2000。 - 代理/CLI输出:当存在助手使用事件时,忽略累积的Claude `stream-json` 结果使用情况,防止夸大的缓存读取计数。(#85625) 感谢 @zhouhe-xydt。 - CLI:通过保持其保持活动间隔引用来保持 `waitForever()` 存活,使公共辅助程序不再因Node的未解决等待代码而立即退出。(#85694) 感谢 @m1qaweb。 - 代理/引导:针对缺失的文件名保护引导名称检查,使格式错误的引导条目发出警告并截断而不是崩溃。修复 #85523。(#85615) 感谢 @zhouhe-xydt。 - CLI/任务:拒绝部分数字的 `openclaw tasks audit --limit` 值,使审计限制必须是真正的正整数,而不是接受像 `5abc` 这样的字符串。(#84901) 感谢 @jbetala7。 - 状态/诊断:限制深度Docker审计探测,使 `openclaw status --deep` 报告缓慢的容器检查,而不是在无界检查后挂起。(#85476) 感谢 @giodl73-repo。 - 提供商/Anthropic:将1M上下文处理迁移到支持GA的Claude 4.x模型,通过将符合条件的模型大小调整为1M(不使用已退役的 `context-1m-2025-08-07` beta),在旧配置中忽略该已退役的beta,并保留OAuth所需的Anthropic beta标头。(#45613) 感谢 @haoyu-haoyu。 - Cron/Telegram:通过Telegram插件(而不是cron核心)解析论坛主题投递目标,包括用于公告投递的 `:topic:` 和 `:topicId` 形式。感谢 @etticat。 - Twitch:防止陈旧的消息处理程序清理回调移除同一账户的较新处理程序注册,在重新连接后保留入站消息投递。修复 #83888。(#85425) 感谢 @alkor2000。 - 控制UI/聊天:保持浅色模式模型、思考、配置和代理选择箭头可见,而不平铺背景图标。修复 #85713。感谢 @Linux2010。 - 内存/LanceDB:通过活动内存提供商桥暴露公共内存工件,使内存维基导入持久内存文件、每日笔记、梦境报告和事件日志,而不依赖于内存核心内部实现。修复 #83604。(#85060) 感谢 @brokemac79。 - Crabbox:通过内联hydrate工作流的Node/pnpm设置(而不是调用仓库本地复合操作)使AWS hydration与本地Actions重放兼容。 - 代理/子代理:简化原生子代理完成交接,使子级向请求者报告其最新的可见助手结果而不使用 `message`,同时保持父级拥有的消息工具投递策略不变。修复 #85070。(#85089) 感谢 @brokemac79。 - Docker设置:停止在设置日志和打印的后续命令中显示Gateway承载令牌。 - Gateway:将频道账户启动工作推迟到HTTP就绪之后,并移除启动模型预热,避免启动事件循环停滞和计时器延迟警告。 - 模型/性能:在models.json规划期间复用插件元数据,保持捆绑目录增强清单/静态,并使用静态提供商目录进行仅元数据的启动发现,使提供商模型标准化、认证发现和Gateway启动元数据不会重新加载广泛的插件运行时。 - 代理:当PI兼容的候选者不需要代理框架插件准备时,让嵌入式压缩回退重试继续。 - 代理/工具:在决定媒体、图像生成、视频生成、音乐生成和PDF工具是否可用时,遵循配置的自定义提供商API密钥。(#85570) - StepFun:停止宣传陈旧的通用API密钥认证选择,使入门仅提供运行时支持的Standard和Step Plan选项。 - 诊断:将OpenTelemetry日志正文保持在显式内容捕获之后,并从OpenTelemetry和Prometheus标签中清理作用域内的代理会话密钥,同时保留有界的队列通道前缀。 - Windows安装程序:当 `pnpm install` 或 `pnpm build` 失败时,使Git检出安装失败,而不是将包装器写入缺失的CLI构建。 - 会话:在 `/new` 轮换期间暴露先前转录归档失败,使磁盘重命名错误被记录下来,而不是静默隐藏搁浅的转录文件。修复 #81984。(#85586, 来自 #82081) 感谢 @0xghost42。 - TUI/代理:将内部UI消息工具回复镜像到最终聊天输出中,使仅消息工具的代理在 `openclaw tui` 中保持可见。修复 #85538。感谢 @danpolasek。 - Gateway/TUI:通过回复规范化保留源回复元数据,并通过实时聊天流发出仅消息工具的代理回复,使 `openclaw tui` 渲染Codex回复而无需等待历史刷新。感谢 @shakkernerd。 - Codex/TUI:在Codex推理完成后保持长源回复运行活动,使延迟的可见 `message` 调用仍然能够到达 `openclaw tui`。感谢 @shakkernerd。 - TUI:在响应监视狗通知之后保持安静的活动运行处于繁忙状态,而不是重新打开提示并鼓励在后台轮次仍在运行时重复提交。感谢 @shakkernerd。 - 代理:保留最新的助手思考块,同时从较旧轮次中剥离无效的重放签名,并在没有思考重放的情况下重试Anthropic思考失败。修复 #85557。感谢 @bryanbaer。 - 代理:将并行的OpenAI兼容工具调用增量保留在单独的参数缓冲区中,使交错的工具调用不再损坏流式参数。(#82263) 感谢 @luna-system。 - 内存/doctor:将缺失或无法使用的QMD工作区目录报告为工作区失败,而不是通用二进制失败。(#63167) 感谢 @sercada。 - 调试代理:记录CONNECT客户端套接字错误并销毁配对的 upstream 套接字,使突然的客户端断开连接不再泄漏隧道资源。(#82444) 感谢 @SebTardif。 - 差异:当一个差异卡片失败时,继续 hydration 后续差异卡片,使单个损坏的卡片不再空白整个差异查看器。(#84775) 感谢 @cosmopolitan033。 - Mac应用:使用原生设置侧边栏窗口 chrome,使侧边栏切换保持在左侧,并且内容不再在 oversized 标题栏填充下被裁剪。 - QA-Lab/Codex:为流程场景捆绑认证/插件夹具导入,并让终端异步媒体工具在不超时的情况下结束Codex应用服务器轮次。(#80397, 引用 #80323) 感谢 @100yenadmin。 - WhatsApp:在调度前通过插件状态持久化入站消息投递状态,并将已读回执延迟到处理程序完成之后,使可重试的失败可以在不添加插件本地磁盘缓存的情况下重新投递。感谢 @samzong。 - Gateway/代理:当陈旧的缓存代理会话条目与存储更新竞争时,保留新鲜的会话覆盖和元数据,使子代理模型/提供商覆盖和路由策略在并发写入中存活。(#19328) 感谢 @CodeReclaimers。 - 控制UI/聊天:保持聊天会话搜索与会话选择器内联,使标题不再显示重复的独立搜索行。 - 控制UI/聊天:折叠专注模式标题 chrome 并抑制隐藏标题的滚动更新,使专注模式在滚动时不再跳跃。感谢 @amknight。 - Codex应用服务器:当服务器端压缩超时时,重新启动原生应用服务器并重试一次,使预检压缩停滞恢复而不是使每次调度失败。(#85500) - 恢复控制UI网关令牌配对 [AI]。(#85459) 感谢 @pgondhi987。 - OpenAI视频:为本地/自定义视频端点遵循配置的提供商请求私有网络选择加入,使显式受信任的模拟和自托管提供商不被阻止。感谢 @shakkernerd。 - OpenAI视频:将上传的视频编辑请求发送到文档化的 `/videos/edits` 端点,并附带 `video` 文件,而不是将MP4引用发布到 `/videos`。感谢 @shakkernerd。 - 代理/频道:通过网关代理完成交接保留消息工具投递证据,使成功的生成媒体发送之后不会出现虚假的失败消息。感谢 @shakkernerd。 - CLI/更新:在后核心收敛期间修复管理的npm插件 `openclaw` 对等链接,并在重启前拒绝陈旧或错误目标的对等链接。(#83794) 感谢 @fuller-stack-dev。 - CLI/代理:当频道有多个已配置账户时,将新的省略账户绑定默认为所有账户,并阐明账户范围文档。(#49769) 感谢 @Gcaufy。 - Codex应用服务器:让授权的 `/codex` 控制命令(如 `/codex detach`)转义插件拥有的对话绑定,同时将未知或未经授权的斜杠文本路由到绑定的插件。修复 #85157。(#85188) 感谢 @TurboTheTurtle。 - 自动回复/模型:通过共享有界的只读目录路径与Gateway模型列表,保持 `/models` 浏览回复快速。(#84735) 感谢 @safrano9999。 - 浏览器/Doctor:在生成Chrome之前从 `Info.plist` 读取macOS Chrome应用包版本,并扩展回退版本探测超时,避免Gatekeeper延迟导致的虚假冷缓存警告。修复 #85418。感谢 @davidcittadini。 - Codex应用服务器:当有效执行主机为 `node` 时禁用原生代码模式,并保持OpenClaw `exec`/`process` 可用,使 `/exec host=node` 通过选定的节点(而不是网关)路由shell命令。修复 #85012。(#85090) 感谢 @sahilsatralkar。 - 代理:将嵌入式自动压缩会话写锁定监视狗限制为压缩超时(而不是整个运行超时),使卡住的压缩无法在整个运行窗口内持有实时会话锁。(#84949) 感谢 @luoyanglang。 - Gateway/代理:返回阶段感知的 `agent.wait` 超时归因,并仅在提供商启动的超时上冷却认证配置文件。引用 #65504。感谢 @100yenadmin。 - Gateway/systemd:在瞬态用户范围内启动管理的更新交接辅助程序,使systemd监督的“立即更新”流程在网关单元重启后存活。修复 #84068。 - Gateway:将提供商认证状态预热推迟到启动就绪之后,使早期的网关工具/会话请求不会被提供商认证发现阻塞。(#85272) 感谢 @dutifulbob。 - Gateway/模型:在认证配置文件失败后合并提供商认证状态重新预热,并记录事件循环延迟用于预热/重新预热工作,使提供商认证突发不再在频道回复后面堆叠完整的认证扫描。 - Gateway/模型:停止已取消的提供商认证状态预热继续完整的提供商扫描,使重新加载和认证失败突发不再使启动保持忙碌。 - 代理/Codex:将第一个计划更新显示为瞬态聊天状态通知,而不将其计为最终的助手内容。 - CLI/更新:遍历macOS进程祖先并在包更新停止管理的Gateway服务之前遵循继承的Gateway运行时PID,使嵌套的带内更新程序子级可以拒绝而不是杀死拥有它们的LaunchAgent监督的Gateway。修复 #85120。 - Gateway/LaunchAgent:等待launchd重新加载启动完成,并在引导程序竞争时回退到kickstart,使重新加载交接不会使服务处于注销状态。修复 #84630。(#84641) 感谢 @NianJiuZst。 - Gateway/LaunchAgent:当服务已加载时,将并发的launchd引导程序视为成功的重启,避免虚假的macOS Gateway重启失败。修复 #84721。(#84722) 感谢 @googlerest。 - Gateway/服务:在管理的服务PATH生成和doctor审计期望中包括活动的 `openclaw` 命令bin目录,用于npm全局macOS安装。修复 #84201。(#84475) 感谢 @jbetala7。 - 控制UI/聊天:为已知的非推理模型禁用思考选择器,而不是显示重复的“关闭”选项。修复 #84069。感谢 @DrippingMellow。 - 内存:在解析之前展开已配置的额外内存路径中的 `~`,使相对于主目录的文件夹不会被当作相对于工作区。修复 #58026。感谢 @stadman。 - 技能:在检查技能要求时将 `openclaw.os: macos` 视为Darwin,使仅macOS的技能在macOS主机上不再报告为缺失。修复 #61338。感谢 @Jessecq1995。 - 控制UI/日志:从显示的网关日志消息中剥离ANSI转义序列,使颜色代码不再显示为原始文本。修复 #64399。感谢 @guguangxin-eng。 - Docker:使用 `node` 所有权预先创建工作区和认证配置文件配置挂载点,使首次运行的命名卷不会以root所有权启动。修复 #85076。感谢 @Noerr。 - Telegram:通过出站Markdown分块传递已配置的Markdown表格模式,使分块发送一致地渲染表格。修复 #85085。感谢 @ShuaiHui。 - 诊断/OTel:在下划线式诊断ID属性旁边去除驼峰式ID,使导出的遥测数据无法泄露运行、会话、消息、聊天、追踪或工具调用标识符。(#72645) 感谢 @Lion0710。 - CLI/更新:在包切换期间保留管理的Gateway服务环境,使macOS LaunchAgent修复/重启读取更新前的服务状态,而不是调用者shell状态。(#83026) - 代理/提供商:在自定义提供商认证钩子和传输选择中遵循每模型 `api` 和 `baseUrl` 覆盖。修复 #80487。(#80488) 感谢 @huveewomg。 - Gateway/重启:在原地升级信号处理之前急切加载生命周期运行时,使包替换不会死锁重启导入。(#84890) 感谢 @myps6415。 - CLI/更新:从稳定的现有目录启动管理的Gateway更新交接辅助程序,并在macOS LaunchAgent交接期间容忍已删除的cwd/包根目录。修复 #83808。(#83875) 感谢 @jason-allen-oneal。 - 技能:跨代理工作区只监视每个共享技能目录一次,而不是每个代理一次,防止文件描述符耗尽(`EMFILE`)导致捆绑的MCP进程被处置并在多代理网关上的会话停滞。修复 #84968。(#85130) 感谢 @openperf。 - 发布/安全:将生成的npm shrinkwrap包版本保持在pnpm锁图内,使已发布的包锁无法绕过pnpm依赖年龄和覆盖策略。 - Cron:为常见网络错误代码(如 `EAI_AGAIN`, `EHOSTUNREACH`, 和 `ENETUNREACH`)遵循 `cron.retry.retryOn: ["network"]`。 - Gateway聊天:在代理启动后广播返回的代理运行错误负载,使ACP/WebChat客户端接收终端空闲超时错误。修复 #84945。 - Gateway聊天显示:在清理后的聊天历史中保留OpenAI兼容的 `prompt_tokens`, `completion_tokens`, 和 `total_tokens` 使用字段,使llama.cpp会话保持上下文计数。修复 #77992。感谢 @MarTT79。 - 仪表板/CLI:即使在SSH环境变量存在的情况下,也允许通过 `open` 启动macOS浏览器,同时保留Linux SSH无显示保护。修复 #67088。感谢 @theglove44。 - Codex应用服务器:将原生网络搜索观测结果排除在镜像的聊天转录之外,同时在工具进度遥测中保留可用的操作查询元数据。修复 #85109。感谢 @ugitmebaby。 - OpenCode Go:在提供商请求之前剥离不支持的Kimi推理重放字段,使重复的 `kimi-k2.6` 轮次不会失败模式验证。修复 #83812。感谢 @Sleeck。 - 浏览器/CDP:当Chrome DevTools端点接受连接但返回空HTTP回复时,添加WSL2端口代理自循环提示。修复 #59209。感谢 @Owlock。 - 代理/工具:添加有界的工具策略审计日志条目,标识哪个允许/拒绝规则移除了工具或阻止了沙箱工具调用。修复 #55801。感谢 @justinjkline。 - CLI/日志:通过被动后端客户端路径读取隐式本地Gateway日志,使 `openclaw logs --follow` 不会注册为配对设备,并在实时本地RPC不可用时使用活动的Linux systemd日志而不是陈旧的配置文件回退。修复 #83656 和 #66841。 - 代理/OpenAI:在边界感知的传输失败上保留结构化的提供商错误代码、类型和编辑后的主体元数据。 - Doctor/Codex:将原生Codex资产警告指向规范的 `openclaw migrate plan codex` 预览命令。修复 #84948。感谢 @markoa。 - CLI/模型:使 `capability model auth logout --agent` 从选定的非默认代理存储中移除认证配置文件。修复 #85092。感谢 @islandpreneur007。 - Gateway/模型:在模型列表认证检查期间复用准备好的提供商认证元数据,使重复查找避免广泛的插件发现,同时保留合成的本地认证。 - CLI/状态:当 `openclaw status --deep` 已经可以到达运行的Gateway RPC服务时,抑制systemd用户服务设置提示。修复 #85094。感谢 @islandpreneur007。 - CLI/设备:当同设备修复请求替换正在被批准的请求ID时,恢复本地批准。 - CLI/代理:在回退到嵌入式 `openclaw agent` 执行之前,重试瞬态正常关闭的Gateway握手。 - CLI/更新:将管理的Gateway服务停止/重启状态行排除在 `openclaw update --json` 的标准输出之外,使包更新自动化能够解析JSON负载。 - 插件:为原生外部插件运行时解析OpenClaw插件SDK子路径,无需改变包安装或加宽进程范围的模块解析。 - 代理/OpenAI:保留Responses和Chat Completions的 `reasoning_tokens` 使用元数据,而不将其重复计入聚合输出令牌。(#85319) - 控制UI/聊天:将粘贴的 `data:image/...;base64,...` 剪贴板文本转换为图像附件,而不是将负载转储到编辑器中。修复 #62604。感谢 @cpwilhelmi。 - 提供商/Gemini:从网络搜索时间范围过滤器中剥离小数秒,使Gemini接受新鲜度限制的搜索请求。(#85071) 感谢 @Noerr。 - OpenAI Codex:保留稀疏 `openai-codex/gpt-5.5` 目录行的图像输入支持。(#85095) 感谢 @sercada。 - CLI/模型:为OpenAI Codex认证添加管道或粘贴的API密钥路径,并在API密钥粘贴到令牌模式认证时发出警告。(#85533) 感谢 @joshavant。 - Telegram:对缺失框架的孤立入口失败进行死信处理,使一个中毒的暂存更新不再阻塞后续的同通道消息。修复 #85470。(#85605) 感谢 @joshavant。 - 插件/发现:在派生插件ID提示时去除 `-plugin` 包后缀,使包名称与清单ID对齐。(#85170) 感谢 @JulyanXu。 - Tlon:停止在插件清单中宣传不存在的代理工具契约。 - Telegram:通过Markdown渲染保留围栏代码块语言,使Telegram接收 `language-*` 代码类。(#85209) 感谢 @leno23。 - Windows安装程序:从Windows本地目录运行npm和Corepack命令shims,使从WSL2 UNC路径启动的安装在OpenClaw安装之前不会失败。 - Windows更新:当依赖项安装、构建、UI构建或医生修复失败时,将git支持的更新回滚到先前的检出。 - Windows安装程序:在PATH上持久化用户本地的可移植Git,并为git支持的安装和更新激活仓库固定的pnpm版本。 - Windows安装程序:当原生Windows没有Node且没有winget、Chocolatey或Scoop时,引导用户本地的可移植Node.js,使首次运行安装可以在裸主机上继续。 - Windows安装程序:使用原生 `tar` 提取下载的可移植Node.js目录,然后回退到.NET zip提取,避免PowerShell 5.1归档和路径长度失败。 - fix(集成):强制执行频道读取目标允许列表 [AI]。(#84982) 感谢 @pgondhi987。 - 代理/心跳:将单一所有者 `session.dmScope=main` 直接消息执行和cron事件唤醒路由回代理主会话,使异步完成不再在孤立的直接DM队列中搁浅上下文。修复 #71581。(#83743) 感谢 @Kaspre。 - 代理/代码模式:通过 `command` 钩子别名暴露外部代码模式 `exec` 源,带有 `toolKind`/`toolInputKind` 区分器,使执行形状的策略能够区分代码模式单元格。(#83483) 感谢 @Kaspre。 - 代理/代码模式:为已知的工作者失败返回结构化的超时和运行时不可用错误代码。修复 #83389。(#83444) 感谢 @Kaspre。 - QA-Lab:当场景需要启动配置补丁时隔离多场景套件工作者,防止消息路由配置泄漏到无关场景中。 - QA-Lab:使commits心跳目标无场景请求立即心跳,而不是等待下一个计划的心跳。 - Codex/插件SDK:通过通用框架任务运行时投递Codex原生子代理完成,使框架支持的插件能够镜像持久的任务生命周期和完成投递,而无需Codex特定的SDK导入。(#83445) 感谢 @bryanpearson。 - Gateway CLI:在本地挑战后连接组装失败时立即显示,而不是等待包装器超时。修复 #68944。(#85253) 感谢 @samzong。 - 消息:在回复到达WebChat或外部频道之前,从出站回复中剥离不支持的网络搜索引用控制标记。修复 #85193。(#85204) 感谢 @neeravmakwana。 - 代理/exec:将拒绝的exec批准视为终止状态,而不是将其反馈回代理后续工作,并在中止处理中识别中文停止短语。修复 #69386。(#85194) 感谢 @samzong。 - CLI/代理:在SIGINT/SIGTERM上中止接受的Gateway支持的 `openclaw agent` 运行,使cron和监督器超时不会使远程代理工作保持活动状态。修复 #71710。(#84381) 感谢 @Kaspre。 - Codex应用服务器:使用结构化的失败元数据重试重放安全的stdio客户端关闭轮次一次,同时显示空闲 `turn/completed` 超时,而不是盲目重放活动的共享服务器轮次。感谢 @VACInc。 - Codex应用服务器:拒绝嵌入Node或包管理器参数的命令覆盖,并将用户指向 `appServer.args`,使Windows启动避免shell解析失败。(#84417) 感谢 @TurboTheTurtle。 - 代理/Copilot:在发送前丢弃不安全的GitHub Copilot Responses推理重放项,使Telegram直接会话不再因过长的重放ID而失败。修复 #85197。(#85198) 感谢 @galiniliev。 - UI:为顶栏颜色模式按钮添加可访问的工具提示,使系统、浅色和深色选项在悬停和聚焦时被标记。(#85227) 感谢 @amknight。 - fix:约束Windows任务脚本名称 [AI]。(#85064) 感谢 @pgondhi987。 - 控制UI:防止聊天会话选择器隐藏较旧或跨代理配置的对话,同时保留有界的配置代理刷新。(#85211) 感谢 @amknight。 - 代理/Anthropic:在流式Anthropic工具使用JSON中保留不安全整数工具调用输入值,防止Discord风格的ID在调度前被舍入。修复 #47229。(#83063) 感谢 @leno23。 - 代理/Codex:在提供商提交之前在LLM边界估计工具密集的提示压力,使持久会话在溢出上下文窗口之前压缩。(#85541) 感谢 @fuller-stack-dev 和 @joshavant。 - 代理/钩子:在进程清理之前等待本地一次性CLI和Codex `agent_end` 插件钩子,使终端可观测性可靠刷新。(#85007) - 提供商/Google:当陈旧的目录元数据显示 `reasoning:false` 时,保留Gemini 3 cron `thinkingDefault: "low"`,使计划运行保持提供商支持的思考而不是降级为关闭。(#85185) 感谢 @neeravmakwana。 - CLI/代理:允许 `openclaw agent --session-key` 定位显式的会话密钥,包括代理作用域的遗留密钥。(#85121) 感谢 @Kaspre。 - 自动回复/ACP:在开始工具工作之前等待同频道块回复投递,同时仍然遵循ACP调度中止,使停止的轮次不会等待缓慢的频道发送。(#83722) 感谢 @IWhatsskill。 - Codex/ACP:将仅报告进度、省略最终可交付成果或请求者投递失败的必要子运行完成标记为阻塞,同时保留真实的最终报告。(#85110) 感谢 @IWhatsskill。 - 频道:将裸的中止消息(如 `stop`、`abort` 和 `wait`)视为入站去抖路径中的立即控制命令,使停止请求不会因待处理消息合并而延迟。(#83348) 感谢 @IWhatsskill。 - 频道/消息工具:在代理内频道选择期间解析配置的外部频道插件,使 `openclaw agent --local` 消息工具发送不再将可用频道报告为不可用。(#85022) 感谢 @Kaspre。 - 代理/心跳:为计划的心跳运行遵循群组/频道 `message_tool` 可见回复策略和模型特定的Codex运行时配置,使失败的内部工具输出保持私有。修复 #85310。(#85357) 感谢 @neeravmakwana。 - Gateway/ACP:当父会话被重置或删除时,关闭通过 `sessions_spawn` 生成的子ACP会话,而不是留下孤立的 `claude-agent-acp` 进程堆积并耗尽内存。修复 #68916。(#85190) 感谢 @openperf。 - Codex应用服务器:当OpenClaw exec解析到node主机时阻止原生执行路径,同时保留一方CLI节点绑定路径。修复 #85012。(#85534) 感谢 @joshavant。 - 诊断:限制清理超时详细日志,当异步诊断突发超过队列上限时发出丢弃摘要,并通过诊断遥测显示异步队列丢弃。 - 代理/子代理:将阻塞的子运行完成显示为错误而不是成功的子代理完成。(#80886) 感谢 @TurboTheTurtle。 - 上下文引擎:当选定的代理运行时无法满足声明的上下文引擎主机要求时,以描述性错误关闭失败。 - 代理/Pi:将接受的嵌入式 `sessions_spawn` 子会话交接视为终端进度,使父轮次不再报告虚假的不可投递失败。(#85054) 感谢 @samzong。 - CLI/模型:从运行时配置解析 `openclaw models set` 别名,同时将编写的别名保持在运行时仅默认值之前。(#83262) 感谢 @IWhatsskill。 - Doctor:将个人Codex CLI资产通知显示为信息而不是警告。修复 #84859。 - WhatsApp:将Baileys更新到 `7.0.0-rc13` 并删除过时的日志记录器类型补丁。 - CLI/更新:在暂存npm安装之前预打包GitHub/git包更新目标,恢复 `openclaw update --tag main` 用于一次性包更新。(#81296) 感谢 @fuller-stack-dev。 - Gateway:将成功的同源消息工具发送镜像到会话转录中,使已投递的回复保持在后续历史/上下文中。(#84837) 感谢 @iFiras-Max1。 - 媒体生成:当生成的媒体通过活动会话回复完成时,防止图像、音乐和视频完成投递重复或丢失任务所有权。(#84006) 感谢 @fuller-stack-dev。 - CLI/doctor:在pnpm/npm升级后从旧版本OpenClaw包根目录中删除过时的捆绑插件加载路径。修复 #58626。感谢 @solink7。 - 基础设施/json:在加载JSON状态时重试瞬态“读取期间文件已更改”竞争,使配置和状态读取恢复而不是使轮次失败。(#84285) - 插件/提供商:在设置模式发现期间,除非显式信任,否则对工作区提供商插件关闭失败,防止不受信任的工作区插件代码在提供商设置期间运行。(#81069) 感谢 @mmaps。 - 提供商/Ollama:将配置的Ollama Cloud `OLLAMA_API_KEY` 标记解析为真实的发现密钥,使云提供商条目保持经过认证的模型目录访问。(#85037) - Discord:通过运行时记录器转发结构化的错误和原因元数据,使持久组件注册表回退警告可操作。修复 #84185。(#84190) 感谢 @100menotu001。 - Gateway/会话:在同一提供商内切换模型时保留兼容的会话认证配置文件覆盖,包括提供商认证别名。修复 #81837。(#81886) 感谢 @TurboTheTurtle。 - Gateway/状态:在 `openclaw status --all` 中显示入站投递遥测计数器和传输可用性警告。修复 #49577。(#72724) - Docker:修剪包排除的插件源工作空间和依赖项闭包,使运行时镜像不保留未选择加入的插件的包。 - 提供商/Ollama:将Docker/OrbStack主机别名视为本地Ollama端点,使 `ollama-local` 标记认证在OpenClaw运行在VM/容器内而Ollama运行在主机上时正常工作。修复 #84875。 - QA-Lab:默认将显式可搜索/延迟的OpenClaw动态工具行保持为仅报告,使工具覆盖率门控不会将模拟发现差距视为硬性产品失败。(#80319) 感谢 @100yenadmin。 - 代理/配置:防止非Google提供商模型引用被Google Gemini预览ID标准化重写。(#84762) 感谢 @zhangguiping-xydt。 - 安装程序:在启动入门之前要求真实控制终端,使无头的 `curl | bash` 安装在安装CLI后干净完成。 - 代理/Codex:当提示超时与Codex应用服务器完成竞争时,提升已完成的最终助手响应,而不是返回空的超时信封。引用 #84516。 - Codex应用服务器:防止中断的轮次状态被单独视为OpenClaw中止,使仅工具轮次仍然有资格进行无可见答案恢复。修复 #84492。 - 代理:当运行时模型元数据不可用时,通过存储的会话窗口限制心跳模型泄漏上下文提示,使溢出恢复建议不会建议比活动会话实际拥有的更大的窗口。 - 控制UI/Web推送:使用 `https://openclaw.ai` 作为生成的默认VAPID主题,而不是旧的本地主机邮箱,使iOS PWA推送设置在 `OPENCLAW_VAPID_SUBJECT` 未设置时使用Apple可接受的主题。修复 #83134。(#83317) 感谢 @IWhatsskill。 - 控制UI:区分继承的关闭思考设置与显式的关闭选项,使思考选择器不再显示两个相同的关闭行。(#85223) 感谢 @amknight。 - 代理/Pi:防止嵌入式会话转录写入在打包的npm入门代理轮次后触发虚假的接管检测。 - Codex/TUI:显示Codex原生轮次后压缩失败,而不是继续未压缩,并在本地空闲/下一轮次处理之前序列化成功的原生压缩。修复 #84305。(#85160) 感谢 @joshavant。 - 内存/搜索:当 `dreaming.enabled=false` 时,停止回忆跟踪写入梦境副作用工件,同时保留正常搜索结果。修复 #84436。(#84444) 感谢 @NianJiuZst。 - 差异:从封闭的图标名称映射(而不是HTML字符串)渲染查看器工具栏图标,消除工具栏图标XSS sink。(#83955) 感谢 @tanshanshan。 - QA:即使继承的shell环境禁用了捆绑插件,也将 `pnpm qa:e2e` 自检运行保持在私有QA运行时信封内。 - fix(config):验证浏览器沙箱绑定源 [AI]。(#84799) 感谢 @pgondhi987。 - doctor:约束遗留插件清理路径 [AI]。(#84801) 感谢 @pgondhi987。 - 更新/doctor:修剪指向旧编译捆绑输出的陈旧的本地捆绑插件安装记录,使当前捆绑插件模式在升级后获胜。(#84863) 感谢 @fuller-stack-dev。 - 提供商/Ollama:在助手重放期间保留原生Ollama工具调用ID,使Gemini over Ollama Cloud能够保持其隐藏的函数调用思考签名句柄。 - Discord:在源调度通道上保持会话恢复和 `/stop` 中止所有权,同时绑定的ACP轮次继续路由到其目标会话,使卡住的预运行工作和迟到的回复在停止后被清除而不是泄漏。修复 #84477。(#85100) 感谢 @joshavant。 - Discord/语音通话:将强制实时语音咨询诊断保留在调试日志中而不是代理提示中,使呼叫者在提供商错过 `openclaw_agent_consult` 时听不到OpenClaw策略文本。(#84411) 感谢 @fuller-stack-dev。 - Codex应用服务器:将观察到的执行后缺失的轮次完成标记为重放不安全并释放会话,使后续轮次可以运行。修复 #84076。(#85107) 感谢 @joshavant。 - Codex应用服务器:为可见的 `message` 动态工具发送提供更长的超时预算,使缓慢的频道投递能够返回自己的结果或错误,而不是触发30秒的Codex包装器。(#85216) 感谢 @amknight。 - Codex应用服务器:添加专用的后工具原始助手完成空闲超时配置,使受信任的重型轮次在工具交接后可以等待更长时间,而不会削弱最终的助手释放。 - Matrix:在陈旧的 `m.direct` 或严格的双成员DM回退可能绕过提及门控之前,将显式配置的双人房间保留在房间路由上。修复 #85017。(#85137) 感谢 @joshavant。 - 代理/子代理:要求显式的子代理允许列表目标必须是已配置的代理,使陈旧的已删除代理ID从 `agents_list` 中省略并被 `sessions_spawn` 拒绝。修复 #84811。(#85154) 感谢 @joshavant。 - PDF工具:在120秒后超时空闲的远程PDF正文读取,使停滞的远程文档返回错误而不是卡住会话。修复 #68649。(#84768) 感谢 @luoyanglang。 - 诊断/OpenTelemetry插件:抑制已处理的OTLP导出器promise拒绝,使收集器关闭不再崩溃Gateway。(#81085) 感谢 @luoyanglang。 - 代理/exec:从拒绝的exec失败日志中省略原始命令文本和环境值,同时保留安全的相关元数据。修复 #85049。(#85140) 感谢 @joshavant。 - 媒体理解:将图像描述的默认令牌数恢复为4096,使支持推理的视觉模型在返回文本之前不再截断,同时保留较小模型的上限。(#84932) 感谢 @scotthuang。 - 媒体/音频:跳过空的结构化sherpa-onnx转录,而不是将原始JSON负载视为口述文本。(#84667) 感谢 @TurboTheTurtle。 - 代理/exec:为子进程保留继承的XDG基目录环境值,同时仍然拒绝代理提供的XDG覆盖。修复 #84854。(#85139) 感谢 @joshavant。 - Node/Linux:通过将节点服务令牌值写入特定节点的环境文件,使 `OPENCLAW_GATEWAY_TOKEN` 保持不在生成的systemd单元文件中。(#84408) - 内存核心/梦境:每个工作空间和阶段复用稳定的叙事子代理会话密钥,同时保持每次运行的幂等性和有界清理,使陈旧的 `dreaming-narrative-*` 会话不会积累。修复 #68252, #69187, 和 #70402。(#70464) 感谢 @chiyouYCH。 - 轨迹/支持:在构建支持元数据时容忍部分技能快照条目,使被拒绝的技能路径扫描不再中止轨迹捕获。(#71185) 感谢 @lukeboyett。 - TUI:将重复的空闲Esc中止通知合并为单个 `no active run xN` 系统行,而不是追加重复行。 - Telegram:在默认的隔离轮询路径中遵循 `channels.telegram.pollingStallThresholdMs`,重新启动静默工作者而不是使入站更新卡住。修复 #83950。(#84861) 感谢 @joshavant。 - Telegram:通过Telegram聊天/消息标识对重放的消息调度进行去重,使隔离入口的重放不会触发重复的模型调度。修复 #84886。(#85208) 感谢 @joshavant。 - Slack:在回复投递和调度计数之前抑制推理负载,使Slack监视器、斜杠命令、回退和直接回复路径不会泄漏模型推理。修复 #84319。(#84322) 感谢 @ffluk3 和 @joshavant。 - Slack:当Slack原生批准启用时,投递原生插件批准提示和更新,同时将插件批准授权与exec批准者分开。 - Slack:当实时Slack轮次源是 `D...` 对话时,将原生插件批准提示保留在发起应用对话线程中。 - 代理/Pi:禁用嵌入式pi-coding-agent运行时自动重试,使OpenClaw自己的重试和故障转移循环不会通过嵌套的SDK重试重放失败的工具调用。修复 #73781。(#74434) 感谢 @yelog。 - CLI/性能:将 `setup --help`, `onboard --help`, 和 `configure --help` 保留在全向导运行时之外,同时保留现有的帮助输出。(#84488) 感谢 @frankekn。 - CLI/性能:将 `agents --help` 保留在代理动作/运行时导入之外,使帮助、完成和命令发现路径避免加载完整的代理运行时。(#84483) 感谢 @frankekn。 - CLI/性能:将 `secrets --help` 和 `nodes --help` 保留在预计算帮助路径上,使父帮助避免加载动作繁重的命令运行时模块。(#84818) 感谢 @frankekn。 - CLI/性能:从启动元数据提供 `doctor`, `gateway`, `models`, 和 `plugins` 父帮助,使常见子命令帮助避免完整的CLI程序构造。(#84786) 感谢 @frankekn。 - Codex/无损:当Telegram DM使用每对等运行时策略密钥时,将上下文引擎历史保留在规范运行会话上。修复 #84936。(#84954) 感谢 @neeravmakwana。 - Codex:保持心跳响应工具架构持久,而不暴露被轮次策略禁用的动态工具,使心跳唤醒可以重用线程,同时作用域工具允许列表保持强制执行。(#84681) 感谢 @jalehman。 - 认证/OAuth:当存储的OAuth凭证没有刷新令牌时跳过刷新适配器,使代理轮次因缺少密钥而快速失败,而不是等待120秒的刷新超时。感谢 @romneyda。 - 认证/Codex:在嵌入式运行器的秘密运行时认证加载器中加载遗留OAuth sidecar凭据,使Telegram回复、cron触发的轮次和其他隔离的子代理通道能够到达现有的 #83312 刷新和重写迁移,而不是显示 `No API key found for provider "openai-codex"` 直到用户运行 `openclaw doctor`。感谢 @Totalsolutionsync 和 @romneyda。 - Codex/故障转移:将 `deactivated_workspace` 分类为永久性认证失败,使配置的回退模型能够在Codex工作空间被停用时前进。(#55893) 感谢 @litang9。 - Exec:在POSIX网关运行中,将配置的 `tools.exec.pathPrepend` 条目保持在用户shell启动PATH更改之前。(#81403) 感谢 @medns。 - Gateway/会话:允许共享秘密承载调用者在没有显式作用域标头的情况下读取和流式传输会话历史。(#81815) 感谢 @medns。 - 代理/嵌入式运行器:将HTML认证提供商响应分类为 `auth_html` 并返回重新认证提示,而不是 `upstream_html` 返回的CDN阻止副本。Cloudflare Access登录页面、nginx基本认证挑战和网关登录墙都产生HTML认证主体,以前被误诊为瞬态CDN阻塞。(#79900) 感谢 @martingarramon。 - TUI/流式监视狗:一旦同一运行的聊天事件到达,立即关闭“此响应花费的时间比预期长”通知,使该消息在运行只是短暂静音后不再位于恢复的响应旁边。引用 #67052, #69081 (已关闭), 先前尝试 #69026。感谢 @jpruit20 和 @romneyda。 - 代理/Pi:在嵌入式提示被释放用于模型I/O时容忍OpenClaw拥有的转录写入,使长时间运行的飞书、Slack、Telegram和cron轮次不会因虚假的会话接管错误而失败。修复 #84059。(#84250) 感谢 @tianxiaochannel-oss88。 ### 发布验证 - npm 包:https://www.npmjs.com/package/openclaw/v/2026.5.24-beta.1 - 注册表 tarball:https://registry.npmjs.org/openclaw/-/openclaw-2026.5.24-beta.1.tgz - 完整性校验:`sha512-dGiCraGkifa+Zps/FHYCdnSUE2CJ28I3uSl5SVWHpEUZLGmkXoCC69ollYf+jMrRElhO7J9Hqy2Qt7p+PvBclA==` - 完整发布 CI 报告:https://github.com/openclaw/releases-private/blob/main/evidence/2026.5.24-beta.1/release-evidence.md - 发布发布:https://github.com/openclaw/openclaw/actions/runs/26364043947 - npm 预检:https://github.com/openclaw/openclaw/actions/runs/26362633423 - 完整发布验证:https://github.com/openclaw/openclaw/actions/runs/26362633403 - 插件 npm 发布:https://github.com/openclaw/openclaw/actions/runs/26364110488 - 插件 ClawHub 发布:单独调度,此证明不等待:https://github.com/openclaw/openclaw/actions/runs/26364111683 - OpenClaw npm 发布:https://github.com/openclaw/openclaw/actions/runs/26364159610 - npm Telegram 测试版端到端测试:https://github.com/openclaw/openclaw/actions/runs/26364277200