← 返回更新日志

OpenClaw v2026.4.9-beta.1 预发布

2026-04-09 · GitHub 原文
### 变更 - 记忆/梦境:新增基于历史记录的 REM 回填通道(使用 `rem-harness --path`)、日记提交/重置流程、更清晰的持久化事实提取,以及实时短期记忆整合功能,使旧每日笔记可在无需第二记忆栈的情况下回放到梦境与持久记忆中。感谢 @mbelinky。 - 控制界面/梦境:新增结构化日记视图,支持时间线导航、回填/重置控制、可追溯的梦境摘要,以及基于场景的通道(含提示信息)与安全清除 grounded 操作,用于 staged 回填信号。(#63395)感谢 @mbelinky。 - QA/实验室:新增角色氛围评估报告,支持模型选择与并行运行,使实时 QA 能更快对比候选行为。 - 插件/提供商认证:允许提供商清单声明 `providerAuthAliases`,使不同提供商变体可共享环境变量、认证配置文件、基于配置的认证及 API 密钥引导选项,无需核心特定连接。(#63001)感谢 @ngutman。 ### 修复 - 浏览器/安全:在由点击、求值、钩子触发点击及批量操作流驱动的主动框架导航后,重新运行阻止目标安全检查,防止浏览器交互在跳转至禁止 URL 时绕过 SSRF 隔离。(#63226)感谢 @eleqtrizit。 - 安全/.env:阻止来自不受信任工作区 `.env` 文件的运行时控制环境变量、浏览器控制覆盖及跳过服务器环境变量,并在懒加载前拒绝不安全的 URL 风格浏览器控制覆盖说明符。(#62660, #62663)感谢 @eleqtrizit。 - 网关/节点执行事件:将远程节点 `exec.started`、`exec.finished` 和 `exec.denied` 摘要标记为不可信系统事件,并在入队前清理节点提供的命令/输出/原因文本,防止远程节点输出向后续回合注入可信的 `System:` 内容。(#62659)感谢 @eleqtrizit。 - 插件/引导认证选择:在非交互式引导期间,阻止不受信任的工作区插件与捆绑提供商认证选择 ID 冲突,确保捆绑提供商设置将操作员密钥保留在不受信任的工作区插件处理程序之外,除非这些插件被明确信任。(#62368)感谢 @pgondhi987。 - 安全/依赖审计:强制将 `basic-ftp` 升级至 `5.2.1`(修复 CRLF 命令注入),并在生产解析路径中提升 Hono 及 `@hono/node-server`。 - Android/配对:在新 QR 扫描时清除过时的设置码认证,从全新配对引导操作员与节点会话,引导后优先使用存储的设备令牌,并在应用置于后台时暂停配对自动重试,使“扫描一次”Android 配对恢复可靠。(#63199)感谢 @obviyus。 - Matrix/网关:等待 Matrix 同步就绪后再标记启动成功, containment Matrix 后台处理程序故障,并将致命 Matrix 同步停止路由至通道级重启处理,而非使整个网关崩溃。(#62779)感谢 @gumadeiras。 - Slack/媒体:在 `files.slack.com` 同源重定向中保留 Bearer 认证,但在跨源 Slack CDN 跳转中剥离,使 `url_private_download` 图像附件可再次加载。(#62960)感谢 @vincentkoc。 - 回复/诊断:对排队回复运行使用活动运行时快照,在预飞行辅助程序接触配置前解析回复运行 SecretRefs,向用户暴露网关 OAuth 重新认证失败,并使 `openclaw doctor` 指出精确的重新认证命令。(#62693, #63217)感谢 @mbelinky。 - 控制界面:在快速会话切换期间防护过时会话历史重新加载,确保选中会话与渲染记录保持同步。(#62975)感谢 @scoootscooob。 - 网关/聊天:在实时聊天更新与历史清理中抑制精确及流式 `ANNOUNCE_SKIP` / `REPLY_SKIP` 控制回复,防止内部代理间控制令牌泄露至面向用户的网关聊天界面。(#51739)感谢 @Pinghuachiu。 - 自动回复/NO_REPLY:在回复规范化与 ACP 可见流式传输前剥离粘连的前导 `NO_REPLY` 令牌,防止静默标记文本泄露至用户可见回复,同时保留实质性 `NO_REPLY ...` 文本。 - 会话/路由:在会话间公告流量中保留已建立的外部路由,防止 `sessions_send` 后续消息窃取 Telegram、Discord 或其他外部频道的递送。(#58013)感谢 @duqaXxX。 - 网关/会话:在 `/reset` 与 `/new` 时清除自动回退固定模型覆盖,同时保留显式用户模型选择(包括覆盖源跟踪存在前创建的旧会话)。(#63155)感谢 @frankekn。 - Slack/ACP:将 Slack ACP 块回复视为可见交付输出,使 OpenClaw 在 Slack 已渲染回复后停止重新发送最终回退文本。(#62858)感谢 @gumadeiras。 - Slack/部分流式传输:按分发类型进行回合本地去重,并在预览定稿失败时保持最终回退回复路径激活,防止过时预览文本抑制实际最终答案。(#62859)感谢 @gumadeiras。 - Matrix/诊断:在 `openclaw doctor --fix` 期间将旧版 `channels.matrix.dm.policy: "trusted"` 配置迁移回兼容 DM 策略,将显式 `allowFrom` 边界保留为 `allowlist`,并将空旧配置默认设为 `pairing`。(#62942)感谢 @lukeboyett。 - npm 打包:镜像捆绑频道运行时依赖,暂存 Nostr 运行时依赖,从清单与构建区块推导所需根镜像,并在无仓库 `node_modules` 情况下测试打包发布压缩包,使全新安装在缺失插件依赖时快速失败而非运行时崩溃。(#63065)感谢 @scoootscooob。 - QA/实时认证:当实时 QA 场景遇到分类认证或运行时失败回复(包括原始场景等待路径)时快速失败,并清理缺失密钥指引,使网关认证问题作为可操作错误而非超时暴露。(#63333)感谢 @shakkernerd。 - 提供商/OpenAI:在 OpenAI Responses、WebSocket 及兼容补全传输中,将缺失推理力度默认设为 `high`,同时仍遵循显式每运行推理级别。 - 提供商/Ollama:允许使用原生 `api: "ollama"` 路径的 Ollama 模型在 `/think` 设为非关闭级别时选择性地显示思考输出。(#62712)感谢 @hoyyeva。 - Codex CLI:通过 Codex 的 `model_instructions_file` 配置覆盖传递 OpenClaw 的系统提示,使全新 Codex CLI 会话接收与 Claude CLI 会话相同的提示指引。 - 认证/配置文件:直接持久化显式认证配置文件更新,并跳过外部 CLI 同步以进行本地写入,使配置文件更改无需陈旧外部凭证状态即可保存。 - 代理/超时:使 LLM 空闲超时在配置时继承 `agents.defaults.timeoutSeconds`,禁用未配置的 cron 运行空闲监视器,并将空闲超时错误指向 `agents.defaults.llm.idleTimeoutSeconds`。感谢 @drvoss。 - 代理/故障转移:将 Z.ai 供应商代码 `1311` 分类为计费,`1113` 分类为认证(包括长包装 `1311` 负载),防止这些错误落入通用故障处理。(#49552)感谢 @1bcMax。 - QQBot/媒体标签:支持 HTML 实体编码尖括号(`&lt;`/`&gt;`)、属性中的 URL 斜杠及自闭合媒体标签,使上游 `<qqimg>` 负载可正确解析与标准化。(#60493)感谢 @ylc0919。 - 记忆/梦境:通过保留源日标签、拒绝缺失或符号链接目标、标准化网关回填中的日记标题、收紧声明分割及日记源元数据,强化 grounded 回填输入、日记写入、状态负载与日记操作分类。感谢 @mbelinky。 - 记忆/梦境:接受嵌入的心跳触发令牌,使轻量级与 REM 梦境在运行时包装器包含额外心跳文本时仍可运行。 - Android/手动连接:仅允许 TLS 手动网关端点使用空白端口输入,使标准 HTTPS Tailscale 主机默认为 `443`,且不静默更改明文手动连接。(#63134)感谢 @Tyler-RNG。 - Windows/更新:在开发更新期间为 Windows `pnpm build` 步骤添加堆内存余量,使更新预飞行构建不再因默认 Node 内存不足而失败。 - 插件 SDK:通过公共包导出频道插件基座与网络搜索配置合约,使插件无需私有导入即可使用。 - 插件/合约:将仅测试辅助程序移出生产合约 barrel,通过捆绑测试表面加载共享合约 harness,并强化防护,阻止间接重新导出与规范 `*.test.ts` 文件。(#63311)感谢 @altaywtf。 - 控制界面/模型:为 OpenRouter 目录模型中已包含斜杠的 ID 保留提供商限定引用,使选择器提交允许列表兼容的模型引用,而非丢弃 `openrouter/` 前缀。(#63416)感谢 @sallyom。 - 插件 SDK/命令认证:将命令状态构建器拆分至轻量级 `openclaw/plugin-sdk/command-status` 子路径,同时保留已弃用的 `command-auth` 兼容导出,使仅认证插件导入不再在 CLI 引导路径中拉取状态/上下文预热。(#63174)感谢 @hxy91819。