帖子

OpenClaw 小龙虾 2026.4.26 更新说明

📊 统计概览

  • 总 PR 数量: 150+ 项变更
  • 新功能: QQBot 完整群聊支持、Cerebras 提供商、Matrix 端到端加密、openclaw migrate 迁移工具、原生配置差异对比面板
  • 安全修复: 令牌回转回声消除、API Key 响应脱敏、标签隐私边界、工具循环检测隔离
  • Bug 修复: 大量稳定性修复(Windows ESM 路径、WSL2 OOM、Docker TLS、Mattermost DM 等)

🆕 重大新功能

Channels/QQBot:完整群聊支持

  • 群聊历史追踪、@提及门控、激活模式、按群独立配置
  • C2C stream_messages 流式传输 + StreamingController 生命周期管理
  • 统一 sendMedia 支持大文件分片上传
  • 引擎重构为 pipeline 阶段、聚焦出站子模块、内置斜杠命令模块
  • 通过 createEngineAdapters() 实现显式依赖注入 [#70624] @cxyhhhhh

Channels/元宝(腾讯混元)

  • 在官方渠道目录、合约套件和社区插件文档中注册腾讯元宝外部渠道插件 openclaw-plugin-yuanbao
  • 新增 docs/channels/yuanbao.md 快速入门指南(WebSocket 机器人私聊和群聊)[#72756] @loongfay

Providers:Cerebras 提供商

  • 作为捆绑插件添加,含 onboard 引导、静态模型目录、文档和清单端点元数据

CLI/migration:openclaw migrate 迁移工具

  • 支持 plan、dry-run、JSON 输出、迁移前备份
  • onboarding 检测、仅存档报告
  • Claude Code/Desktop 导入器
  • Hermes 导入器(配置、记忆/插件提示、模型提供商、MCP 服务器、技能、命令、支持的凭据)
  • @vincentkoc 和 @NousResearch

Matrix/E2EE:端到端加密

  • 新增 openclaw matrix encryption setup 一键配置
  • Matrix 加密启用、恢复引导、验证状态打印
  • @gumadeiras

Control UI:原始配置差异对比面板

  • 解析 JSON5,脱敏显示敏感值,避免假 raw-edit 回调
  • Ref #39831, supersedes #48621, #46654
  • @JiajunBernoulli 和 @BunsDev

Agents/compaction:主动转录大小检测

  • 新增 agents.defaults.compaction.maxActiveTranscriptBytes 可选前置触发器
  • 当活动 JSONL 过大时自动执行本地压缩
  • 压缩成功后旋转到更小的后继文件
  • @vincentkoc

🎮 渠道与平台

Control UI/Talk

  • 添加通用浏览器实时传输合约
  • Google Live 浏览器 Talk 会话(受限临时令牌)
  • 后端纯实时语音插件的 Gateway 中继
  • @VACInc

Control UI

  • 优化快速设置仪表盘网格,桌面/平板/移动端对齐 [#39831]
  • @BunsDev
  • 升级后显示加载/重载/重试状态,日志面板不空白 [#72450] @sobergou
  • 保持会话级助手身份加载权威性,非主 agent 会话不显示主 agent 名称 [#72776] @rockytian-top
  • 明确 Reload Config 丢弃本地草稿,被动刷新保留待定编辑 [#40352] @realmikechong-dotcom
  • 缓存/合并/过期刷新工具清单,聊天运行不卡 UI 请求 [#72365] @Gabiii2398, @1yihui
  • Update now 要求真实进程替换,报告跳过/错误原因 [#62492] @IAMSamuelRodda
  • Dreaming 模式变更前要求确认,含重启警告 [#63804] @bbddbb1
  • Cron 任务以清理后 Markdown 渲染 [#48504] @garethdaine
  • 保留 WebChat 客户端版本标签,避免重复消息日志 [#72753] @LumenFromTheFuture

Discord

  • 持久化路由模型选择器覆盖 [#61473] @Nanako0129
  • 线程会话继承父频道 /model 覆盖(仅模型,不继承转录)[#72755] @solavrc
  • 忽略 Markdown 图片徽章,保留 Telegram 回复和显式 MEDIA 附件 [#72642] @solavrc, @Bartok9
  • 优雅处理已解决的执行审批按钮 [#66906] @rlerikse

Telegram

  • 长时预览流式回复发送最终消息,时间戳反映完成时间 @rubencu
  • 隐藏失败写入警告(当助手已明确承认时)[#51065] @Bartok9, @Bortlesboat

Feishu/Lark

  • Windows 侧载归一化,解决 C: ESM 加载器错误 [#72783] @jackychen-png
  • 交互式回复以原生卡片发送(可点击按钮)[#13175] @Horacehxw
  • 不将纯广播 @all 视为 bot 提及 [#37706] @JosepLee
  • 引用/回复交互式卡片文本跨多架构提取 [#38776] @lishuaigit 等

WhatsApp

  • 尊重 HTTPS_PROXY/HTTP_PROXY 代理 QR 登录 WebSocket [#72547] @mebusw, @SymbolStar

Mattermost

  • DM 回复保持顶层,不嵌入回复根 [#60115] @vincentkoc 等

Matrix/E2EE

  • 稳定恢复和故障设备 QA 流程,避免设备清理同步竞争 @gumadeiras

Docker

  • Slim 镜像安装 CA 证书包,修复 TLS 失败 [#72787] @ryuhaneul
  • 预创建 /home/node/.openclaw 带正确权限 [#48072] @timoxue, @jeanibarz
  • Docker Compose 添加 Linux host-gateway 映射 [#68684] @safrano9999, @skolez

WebChat

  • 支持非视频文件附件上传 [#70947] @IAMSamuelRodda
  • /new/reset 指令不显示在聊天历史中 [#72369] @collynes, @haishmg

🧠 记忆与 Dreaming

Memory/QMD

  • 同源集合合并为一次 QMD 搜索调用 [#72484] @BsnizND, @zeroaltitude
  • 接受多种状态向量计数格式 [#63652] @apoapostolov, @WarrenJones
  • BM25 模式下跳过向量状态探测和嵌入维护 [#59234] @PrinceOfEgypt 等
  • 报告脏状态直到同步完成 [#60244] @xinzf
  • --mask 限定根目录索引范围至 MEMORY.md [#65480] @ccage-simp 等

Memory-core

  • 运行时配置变更后重新解析嵌入后端 [#61098] @BradGroux, @Linux2010
  • 一次性命令走瞬态管理器,避免 macOS EMFILE [#59101] @mbear469210, @maoyuanxue

Memory/Dreaming

  • 新增 dreaming.model 梦境日记叙事子 agent 配置旋钮 [#65963] @esqandil, @mjamiv
  • 子 agent 未创建时跳过会话清理,无警告噪音 [#67152] @jsompis
  • 标记插件创建的子 agent 会话,梦境清理不越权 [#72712] @BSG2000

OpenAI-compatible Memory

  • 可选 memorySearch.inputType / queryInputType / documentInputType 支持非对称嵌入端点 [#63313] @HOYALIM, @prospect1314521

Ollama/memory

  • 特定模型检索查询前缀(nomic-embed-text, qwen3-embedding, mxbai-embed-large)[#45013] @laolin5564

🔒 安全加固

  • Gateway/令牌: 停止在共享/admin 响应中回显回转后的持有者令牌 [#66773] @MoerAI
  • Gateway/skills: API Key 和 secret 命名环境变量在响应中脱敏 [#69998] @Ziy1-Tan
  • Agents/reasoning: 孤立结束推理标签+后续答案文本视为隐私边界 [#67092] @AnildoSilva
  • Agents/tools: 工具循环检测隔离到活动运行,不继承历史计数 [#40144] @mattbrown319
  • 执行审批: 接受符号链接的 OPENCLAW_HOME 作为可信根 [#64663] @FunJim
  • 日志/会话: 配置脱敏模式应用到持久化会话转录 [#42982] @panpan0000

🛠️ CLI 与运维

CLI/update

  • npm 全局更新前验证临时前缀,防止混装 [#72665] @sakalaboator, @He-Pin
  • 遵守 OPENCLAW_NO_AUTO_UPDATE=1 启动禁用开关 [#72715] @Xivi08

CLI/plugins

  • 接受 ClawHub API 通配符范围(如 *)[#56446] @darconada, @claygeo
  • 新增 npm:<package> 安装前缀跳过 ClawHub 查找 [#55805] @Zeoy2020, @vagusX
  • 配置门控捆绑插件安装不持久化无效占位配置 @vincentkoc
  • 拒绝格式错误的尾部 @ 插件规格 [#56579] @Kansodata
  • 保留未版本化的 ClawHub 安装规格,更新时跟随新版本 [#63010] @kangsen1234, @robinspt
  • 安全阻止的插件安装不重试为 hook 包 [#61175] @KonsultDigital, @ziyincody
  • 从活动 profile 状态目录解析安装目标 [#69960] @FrancisLyman, @Sanjays2402

CLI/doctor

  • 超时后标记记忆探针为 inconclusive [#44426] Cengiz
  • 删除悬挂频道配置和心跳目标 [#65293] @yidecode
  • 修复捆绑插件运行时依赖(带 spinner 和心跳进度)[#72775] @dfpalhano

CLI/nodes

  • 新增 openclaw nodes remove --node 清除陈旧配对记录
  • 无过滤列表优先已配对节点视图 [#46871] @skainguyen1412

CLI/help

  • 位置参数帮助调用不走模型预热 @gumadeeras

CLI/agent

  • 标记嵌入式回退运行为 meta.transport: "embedded" [#71416] @amknight

CLI/tasks

  • JSON 路径走精简模式,不加载插件运行时 [#66238] @ChuckChambers

🧩 插件系统

插件启动/注册

  • Gateway PluginLookUpTable 和清单注册复用,新增启动追踪指标 @shakkernerd, @mcaxtr
  • 默认 memory-core 槽位在 Gateway 启动时加载(可用时)
  • 全局/工作区插件根目录跟随符号链接 [#36754] @Quackstro, @ming1523, @xsfX20
  • 跳过测试文件和目录的安全扫描 [#66840] @saurabhjain1592, @Magicray1217
  • 允许精确包管理器对等链接回可信主机包 [#70819] @fgabelmannjr
  • 镜像核心日志依赖处理为分阶段运行时依赖 [#72228] @deepujain
  • 保留构建目录,避免并行覆盖临时目录 @VACInc
  • 隐藏运行时 npm 子窗口(Windows)[#72315] @athuljayaram, @joshfeng

插件/安装

  • 分阶段依赖在 Gateway 启动前准备 [#72058] @amnesia106, @drvoss
  • OPENCLAW_PLUGIN_STAGE_DIR 支持分层运行时依赖根 [#72396] @liorb-mountapps

插件/Windows 兼容

  • 驱动字母路径 ESM 归一化:agent 运行时 [#72636]、插件服务 [#72573]、飞书 [#72783]、浏览器模块 [#72168]
  • C 盘 ESM URL 问题修复 @Andyz-CData, @llzzww316, @feineryonah-byte 等

插件/提供商层

  • 将预运行时模型 ID 归一化、端点元数据、请求家族提示等移入插件清单 @shakkernerd
  • 弃用直接插件配置读取/写入辅助函数 @shakkernerd

插件/构建

  • 优先原生 require 编译后的 JavaScript [#62842] @Effet
  • 库存医生端弃用迁移和兼容性 @vincentkoc

⚙️ Agent 与执行引擎

Agent 运行

  • 写入锁仅在冷启动后获取,回退不被阻塞
  • 应用 tools.exec.timeoutSec 到后台/yieldMs/节点命令 [#67600] @dlmpx, @kagura-agent
  • 移除尾部助手预填充(Anthropic 扩展思考时)[#72739] @superandylin
  • 同样移除 Gemini 尾部模型预填充 [#72556] @Veda-openclaw
  • 空参数工具调用归一化为 {} [#72587] @amknight
  • 清除子 agent 完成后活动状态 [#70187] @amknight

回退与模型切换

  • 区分空响应/无错误详情/未分类三种故障类型 [#71922] @andyk-ms, @nikolaykazakovvs-ux
  • 内部模型切换冲突视为未知回退失败 [#63229] @clawdia-lobster
  • 保持自动持久化回退模型跨轮次选择 @kibedu
  • 跳转到已知后续模型重定向 [#57471] @yuxiaoyang2007-prog

ACP 适配器

  • 随 OpenClaw 发布 Claude ACP 适配器
  • 要求结果消息完成后空闲才完成提示 [#72080] @siavash-saki, @iannwu

子 Agent

  • 强制执行 subagents.allowAgents 白名单 [#72827] @oiGaDio
  • ACP sessions_spawn 即使在 acp.dispatch.enabled=false 时也允许 [#63591] @moeedahmed
  • 保留跨不同频道账户的完成投递 @sfuminya, @suyua9
  • 任务仅放在子 agent 系统提示中,短初始启动消息 [#72019] @Wizongod, @ly85206559

启动优化

  • CLI 包级导入无依赖 [#63024] @hu19940121
  • 延迟加载 QMD、请求处理器、设置向导等直到需要时 @vincentkoc
  • 重复引导上下文文件去重 [#59344] @koen666
  • 文件变化时刷新缓存快照 [#64871] @aimqwest, @mikejuyoon

🔧 提供商与模型

Ollama

  • 尊重 /api/show 能力、自定义 Modelfile 参数、配置上下文默认、原生参数和思考级别 [#64710] 等 @yuan-b 等
  • 分发嵌入到 /api/embed [#39983] @sskkcc 等
  • 剥离自定义提供商前缀,跳过本机发现(除非配置接入)@maximus-dss 等
  • 解析字符串化原生工具调用参数、重试空/纯思考轮次 [#69735] @rongshuzhao 等

LM Studio

  • 信任已配置的 loopback/LAN/tailnet 端点 [#60994] @tnowakow
  • 允许交互式 onboard 保留 API Key 为空 [#66937] @olamedia
  • 剥离前轮 Gemma 4 思考 [#68704] @chip-snomo, @Kailigithub

本地模型

  • 自定义只有 baseUrl 的提供商默认走 Chat Completions 适配器 [#40024] @parachuteshe
  • 接受持久化非秘密本地认证标记 [#49736] @charles-zh
  • 分类多种模型调用失败类型,附加进程内存快照 [#65551] @BigWiLLi111

Docker 端提供商

  • Docker 默认走 host.docker.internal 连接本地 LM Studio/Ollama [#68684]

OpenRouter

  • 移除退役 Hunter Alpha/Healer Alpha 静态目录行 [#43942] @EvanDataForge

Groq / LM Studio 推理

  • 声明提供商原生推理力度值 [#32638] @Aqu1bp 等

Qwen / vLLM

  • 插件自有 Qwen 思考控制(vLLM chat-template kwargs + DashScope 标记)[#72329] @stavrostzagadouris
  • 保留精确自定义 Model Studio 提供商配置 [#64483] @FiredMosquito831

🌐 网络与代理

  • ALL_PROXY/all_proxy 传入全局 Undici 代理 [#43821] @RickyTong1
  • WhatsApp 尊重 HTTPS_PROXY/HTTP_PROXY [#72547]
  • 自托管模型发现走守卫 fetch,不重开 SSRF [#46359] @cdxiaodong

🎤 语音与媒体

  • TTS SecretRef 解析在运行时回复/音频路径生效 [#68690] @joshavant
  • 图像分析尊重 tools.media.image.timeoutSeconds [#67889] @AllenT22, @alchip
  • Google Meet:本地 Chrome 加入走 OpenClaw 浏览器控制,媒体权限、BlackHole 音频、已配置 profile @DougButdorf, @oromeis
  • 语音通话:SecretRef 支持 Twilio 认证和 TTS API Key [#68690] @joshavant
  • 清理陈旧 Chrome-node 实时桥、处理中断/VAD/函数响应 [#72371] @BsnizND, @VACInc

🐛 关键 Bug 修复

问题 修复
LSP 子进程在停止/重启后存活 终止 stdio LSP 进程树 [#72357]
令牌回显敏感信息 停止从共享响应回显 [#66773]
Windows C: 路径 ESM 错误 多模块驱动字母路径归一化 [#72783] 等
Docker 容器化网关 TLS 失败 安装 CA 证书包 [#72787]
OOM Killer 持续终止进程 内存快照附加到诊断事件 [#65551]
WebChat 升级后日志面板空白 显示加载/重试状态 [#72450]
记忆嵌入后端不刷新 运行时配置变更时重新解析 [#61098]
工具循环检测跨轮次继承 隔离到活动运行 [#40144]
睡眠会话 OOM + 看门狗 WhatsApp Web 传输活动看门狗 [#70678]
Mattermost DM 回复不顶层 抑制 DM 回复根 [#60115]
重复插件启动警告 跟踪 npm 安装覆盖时抑制 [#48673]
目录变更后热重载失效 Chokidar v5 + 过滤监听 [#27404]

📝 其他重要变更

  • 代理/bootstrap: 文件变化时刷新缓存快照 @aimqwest, @mikejuyoon
  • Bonjour: DNS 安全时默认使用系统主机名 [#72355] @mscheuerlein-bot 等
  • Bonjour/Windows: 隐藏 ARP shell 探测 [#70238] @alexandre-leng 等
  • 日志: 添加 hostname/agent_id/session_id 到 JSONL 记录 [#51075] @stevengonsalvez
  • 日志/追踪: 内请求追踪范围跨 HTTP 和 WebSocket [#40353] @liangruochong44-ui
  • OTEL: 捕获隐私安全模型调用指标 [#33832] @wwh830
  • Git hooks: 跳过 .gitignore 新忽略的暂存路径 [#72744] @100yenadmin
  • Web搜索: SecretRef 通过主动运行时配置解析 [#68690] @VACInc
  • 自动回复: 不可重放失败后毒化消息去重 [#69303] @martingarramon 等
  • Docker/QA: 为 Docker 添加可观测性覆盖 @vincentkoc
  • MCP: 类型 http 条目归一化为 streamable-http [#72757] @Studioscale
  • OpenCode: 暴露 Anthropic Opus/Sonnet 4.x 思考级别 [#72729] @haishmg, @aaajiao
  • OCR 语音转录配置: 弃用占位符迁移至 {{MediaPath}} [#72760] @krisfanue3-hash
  • Tasks/记忆: SQLite WAL 边车定时检查点和截断 [#72774] @dfpalhano
  • macOS Gateway: 检测已安装但未加载的 LaunchAgent [#67335] @ze1tgeist88 等
  • macOS Gateway: 写 launchd 服务带状态目录和工作目录 [#53679] @dlturock 等

https://www.fireself.cn/post/Vfg3pdFD

未登录无法操作

评论 0

列表为空,暂无内容
须弥技术

专业PHP开发,运维技术社区

打开 App