Release v0.1.5发布🎉🎉🎉
🔒 安全加固:同步上游 73 项安全修复(P0-A + P0-B + P0-C),覆盖 v2026.2.1 ~ v2026.2.14 全部安全补丁。
🐛 关键 Bug 修复:同步上游 48 项关键 Bug 修复(P1-A ~ P1-D),涵盖会话/网关/定时任务/心跳/内存/CJK 等核心稳定性问题。
✨ 核心功能同步:同步上游 37 项核心功能改进(P2-A ~ P2-E),覆盖 Agent/会话管理、Cron 增强、Config 改进等。
🤖 模型/Provider 支持:同步上游 17 项模型与 Provider 支持(P3-A + P3-B),覆盖中国 Provider、新模型、国际 Provider 等。
📡 频道 Bug 修复:同步上游 47 项频道 Bug 修复(P4-A ~ P4-H),覆盖 Telegram/WhatsApp/Discord/Slack/Signal/飞书/Web UI/TUI 等全部通道。
✨ 本版本新增功能
- QMD 记忆搜索系统:新增 QMD(Quick Memory Documents)本地记忆搜索功能,支持将工作区文档建立向量索引并通过自然语言进行语义搜索;Agent 可在对话中自动检索相关记忆上下文,CLI 支持通过
openclaw-cn memory search直接搜索 - 飞书默认关闭流式输出:飞书频道默认关闭
streaming和blockStreaming,减少 API 请求消耗,降低飞书 API 配额压力 - 火山引擎引导修复:修复 Volcengine 引导流程误用 Venice 配置导致的 401 认证错误和模型选择错误
- 飞书出站会话修复:修复 Agent 通过
message工具向同频道发送文件时,因 Feishuoc_前缀歧义(同时用于群聊和单聊)创建多余会话的问题
🤖 模型 / Provider 支持(Model & Provider)
P3-A:中国相关 Provider
- 月之暗面 Moonshot:Onboarding 新增 Moonshot (.cn) 认证选项 + China base URL(upstream openclaw#7180)
- 智谱 Z.AI:新增 Z.AI 端点认证选项 + 模型目录(upstream openclaw#13456)
- GLM-5:新增 GLM-5 合成模型目录支持(upstream openclaw#15867)
- MiniMax M2.5:更新 MiniMax 默认模型到 M2.5(upstream openclaw#14865)
- MiniMax Provider 修复:将 MiniMax API-key provider 切换到 anthropic-messages(upstream openclaw#15297)
P3-B:国际 Provider
- Claude Opus 4.6:新增 Claude Opus 4.6 内置模型目录(upstream openclaw#9853)
- Antigravity Opus 4.6:Opus 4.6 前向兼容 + thinking 签名清理(upstream openclaw#14218)
- gpt-5.3-codex:新增 gpt-5.3-codex 严格回退(upstream openclaw#9995)
- gpt-5.3-codex-spark:新增 Codex Spark 前向兼容模型(upstream openclaw#14990, openclaw#15174)
- Codex OAuth:实现 Codex OAuth 登录流程(upstream openclaw#15406)
- xAI Grok:新增 xAI (Grok) Provider 支持(upstream openclaw#9885)
- Hugging Face:新增 Hugging Face Inference Provider(upstream openclaw#13472)
- Cloudflare AI Gateway:新增 Cloudflare AI Gateway Provider(upstream openclaw#7914)
- HTTP 400 容错:将 HTTP 400 视为 failover 可选状态(upstream openclaw#1879)
- GitHub Copilot xhigh:允许 github-copilot 模型使用 xhigh thinking(upstream openclaw#11646)
- Ollama baseUrl:使用配置的 baseUrl 进行 Ollama 模型发现(upstream openclaw#14131)
- Ollama 原生流式:新增 Ollama 原生 /api/chat 流式 + 工具调用 Provider(upstream openclaw#11853)
✨ 核心功能(Core Features)
P2-A:Agent / 会话管理
- 系统提示安全护栏:增强 system prompt 安全检查(upstream openclaw#5445)
- 缓存保留重命名:
cacheControlTtl重命名为cacheRetention(upstream ba4a55f) - 子代理默认 thinking:为子代理设置默认 thinking 模式(upstream openclaw#7372)
- 会话历史限制:限制 sessions_history 载荷大小(upstream openclaw#10000)
- Agent 管理 RPC:新增 agent 管理 RPC 方法(upstream openclaw#11045)
- OPENCLAW_HOME 路径覆盖:支持通过环境变量覆盖配置目录(upstream openclaw#12091)
- Pre-prompt 上下文诊断:增加 pre-prompt 上下文诊断信息(upstream openclaw#8930)
- BOOTSTRAP.MD 部分工作区:支持部分工作区 BOOTSTRAP.MD 引导(upstream openclaw#16457)
- Tool 变更可见性:保持未解决的变更工具失败可见(upstream openclaw#16131)
P2-B:Cron 增强
- Announce 投递模式:新增 announce 投递模式 + 增强作业配置(upstream 3f82dae)
- 默认 announce + ISO 8601:隔离作业默认使用 announce 投递 + ISO 8601 支持(upstream 0bb0dfc)
- One-shot 清理:成功后默认删除一次性作业(upstream ab9f06f)
- deleteAfterRun:honor deleteAfterRun + 排除 maxTokens 重编辑(upstream openclaw#13342)
- Session 模型覆盖:隔离 agent 运行时尊重 session 模型覆盖(upstream openclaw#14983)
P2-C:Config 改进
- maxTokens 钳位:将 maxTokens 钳位到 contextWindow(upstream openclaw#5516)
- 避免重编辑 maxTokens:避免重编辑 maxTokens 类字段(upstream openclaw#14006)
- 忽略 meta 字段变更:config watcher 忽略 meta 字段变更(upstream openclaw#13460)
- 保留环境变量引用:写回 config 时保留
${VAR}环境变量引用(upstream openclaw#11560) - 接受 $schema:根 config 接受
$schema键(upstream openclaw#14998) - 遗留音频迁移:遗留音频转录配置迁移 + exec 审批提示修复(upstream openclaw#5042)
P2-D:其他核心功能
- Agents 仪表板:Web UI 新增 Agents 仪表板(upstream 2a68bcb)
- per-channel responsePrefix:支持每通道 responsePrefix 覆盖(upstream openclaw#9001)
- Token 使用仪表板:Web UI 新增 token 使用量仪表板(upstream openclaw#10072)
- Voyage 嵌入:文档化 Voyage embeddings + VOYAGE_API_KEY(upstream openclaw#7078)
- 压缩分隔符:聊天历史中显示压缩分隔符(upstream openclaw#11341)
- 本地时间日志:
logs命令新增--localTime选项(upstream openclaw#13818) - Cloudflare Markdown:web_fetch 支持 Cloudflare Markdown for Agents(upstream openclaw#15376)
- QAT 嵌入:对齐 QAT 默认文档/测试(upstream openclaw#15429)
- 流式刷新:段落边界上刷新 block streaming(upstream openclaw#7014)
🔒 安全(Security)
P0-A / P0-B(v2026.2.1 ~ v2026.2.13)
- 沙箱安全:限制沙箱路径遍历、命令注入与进程逃逸(upstream openclaw#10531, openclaw#12803, openclaw#15269, openclaw#15325, openclaw#15336, openclaw#15399, openclaw#15410, openclaw#15536)
- ACP 权限加固:阻止高风险工具通过 HTTP
/tools/invoke调用,新增DANGEROUS_ACP_TOOLS集合与resolvePermissionRequest审批流(upstream openclaw#15390) - Canvas 认证:限制 Canvas IP 认证仅允许私网/回环地址(upstream openclaw#14661)
- 浏览器路径约束:约束浏览器 trace 和下载输出路径在安全根目录内(upstream openclaw#15652)
- A2UI 文件安全:使用
openFileWithinRoot替代手动路径遍历检查(upstream openclaw#10525) - WhatsApp 凭证权限:强制 WhatsApp 凭证文件使用
0o600权限(upstream openclaw#10529) - WebSocket 日志清理:清理 WebSocket 日志中的敏感 header 信息(upstream openclaw#15592)
- 审计区分:区分 webhook 与内部 hook 的审计摘要(upstream openclaw#13474)
- 路由绑定作用域:强制严格 binding-scope 匹配 + 角色路由支持(upstream openclaw#15274)
- Exec 审批流程:为 Agent 工具执行添加两阶段审批流程(upstream openclaw#4726)
- Heredoc 白名单:在允许列表安全模式下支持 heredoc 操作符(upstream openclaw#13811)
- Hook 去重:修复 embedded runtime 中
before_tool_call重复触发问题(upstream openclaw#15635) - Tool-call ID 清理:清理 OpenAI/Codex/Anthropic 的 tool-call ID 格式(upstream openclaw#15279)
- 链接理解 SSRF:修复链接理解功能的 SSRF 漏洞(upstream #649826e)
- 安全审计:新增
doctor-security深度安全审计命令,检测 30+ 项安全配置(upstream openclaw#12803, openclaw#13129) - 工具配置沙箱:强制沙箱工具配置文件验证与默认安全策略(upstream openclaw#15536)
- CSRF/认证:加固 gateway HTTP 端点认证与 CSRF 防护(upstream openclaw#15399, openclaw#15410)
P0-C(v2026.2.14 安全批次)
- Hook transform 限制:限制 hook transform 函数的可用范围(upstream
a0361b8ba) - Hook manifest 路径:加固 hook manifest 路径验证(upstream
18e8bd68c) - Hooks 加固:强化 hooks 整体安全机制(upstream
35c0e66ed) - Archive 提取限制:限制 archive 提取的文件数量和大小(upstream
d3ee5deb8) - 媒体 Base64 拒绝:拒绝超大 Base64 编码的媒体负载(upstream
31791233d) - 媒体大小边界:限制媒体绑定大小上限(upstream
00a089088) - Slack DM 认证:加固 Slack DM 频道认证策略(upstream
f19eabee5) - Telegram 发送者 ID:移除用户名匹配,强制要求发送者 ID 验证(upstream
e3b432e48) - Telegram webhookSecret:为 Telegram webhook 添加 secret 验证和
127.0.0.1绑定(upstream633fe8b9c) - Windows 子进程:加固 Windows 平台子进程执行安全(upstream
a7eb0dd9a) - CLI PID 清理:使用 ppid 过滤加固 CLI 进程清理逻辑(upstream
6084d13b9,eb60e2e1b) - apply_patch 边界:移除路径遍历函数
expandPath/resolvePathFromCwd(upstream5544646a0,4a44da7d9) - apply_patch 符号链接:阻止 apply_patch 通过符号链接逃逸沙箱(upstream
914b9d1e7) - macOS 钥匙串注入:使用
execFileSync防止 macOS 钥匙串命令注入(upstream3967ece62) - Chutes OAuth 状态:加固 Chutes OAuth 状态验证(upstream
3967ece62,a99ad11a4) - Gateway URL 覆盖:限制 gateway URL 参数覆盖(upstream
2d5647a80) - Gateway SSRF:阻止 gateway 出站消息 SSRF(upstream
c5406e1d2) - node.invoke 审批:为 node.invoke 添加工具审批流程(upstream
01b3226ec) - Skills 配置脱敏:在 skills/hooks 状态输出中脱敏配置值(upstream
d3428053d) - IPv4 映射 SSRF:阻止完整格式 IPv4 映射 IPv6 绕过 SSRF 防护(upstream
c0c0e0f9a) - 浏览器 CSRF:阻止跨域请求对回环浏览器路由的修改操作(upstream
b566b09f8) - safeBins 绕过:阻止 shell 展开绕过 safeBins 限制(upstream
77b89719d,24d2c6292) - exec PATH 加固:加固 exec PATH 处理逻辑(upstream
013e8f6b3) - 发现路由 + TLS 固定:加固发现路由和 TLS 证书固定(upstream
d583782ee) - macOS 深度链接:加固 macOS 深度链接处理(upstream
28d9dd7a7) - QMD 作用域:防止 QMD 作用域 deny 绕过(upstream
f9bb748a6) - LanceDB 内存加固:加固 LanceDB 内存召回和自动捕获(upstream
61725fb37,ed7d83bcf) - 媒体本地路径:限制本地媒体读取在工作区/沙箱允许目录内(upstream
6863b9dbe,683aa09b5,9f368ac9e) - Discord 语音媒体:加固 Discord 语音消息媒体加载(upstream
725741486) - Telnyx webhook:集中化 Telnyx webhook 验证,缺少公钥时默认拒绝(upstream
f47584fec,29b587e73) - Twilio webhook:在 ngrok 回环模式下强制 Twilio 签名验证(upstream
ff11d8793) - Archive 提取加固:加固 archive 提取 + 浏览器下载 + Signal 安装(upstream
3aa94afcf)
🐛 关键 Bug 修复(Critical Bugs)
P1-A:会话与网关稳定性(24 项)
- 压缩后失忆:修复会话压缩后上下文丢失问题(upstream
0cf93b8fa) - 上下文溢出截断:修复上下文溢出时工具结果被截断问题(upstream
0deb8b0da) - 会话重置中止:在 sessions.reset 前中止活跃运行(upstream
3efb75212) - transcript 路径解析:修复 transcript 路径解析逻辑(upstream
cab0abf52) - 压缩安全超时:为压缩操作添加安全超时机制(upstream
c0cd3c3c0) - 进程日志分页:修复进程日志分页问题(upstream
dec685970) - 压缩超时死锁:修复压缩超时导致的死锁问题(upstream
e6f67d5f3) - 空流故障转移:修复空流响应的故障转移逻辑(upstream
eb846c95b) - 预写式投递队列:新增预写式投递队列防止消息丢失(upstream
207e2c5af) - 重启前排空活跃对话:重启前排空活跃对话防止消息丢失(upstream
acb9cbb89) - 安装时自动生成 token:修复 gateway install 时自动生成认证 token(upstream
94d685816) - 防止 undefined token:防止 auth 配置中出现 undefined token(upstream
f8c91b3c5) - EPIPE 异步处理:修复关闭时的异步 EPIPE 错误处理(upstream
2ef4ac08c) - 全局安装 Dashboard 资源:修复全局安装时 Dashboard 资源缺失问题(upstream
8d5094e1f) - SIGUSR1 后清理状态:清理 SIGUSR1 进程内重启后的过时状态(upstream
4e9f933e8) - 通知队列发送失败保留:发送失败时保留通知队列项目(upstream
2a8360928) - WebSocket 5MB 限制:提升 WebSocket 最大负载至 5MB 以支持图片上传(upstream
626a1d069) - 多 Agent 用量发现:修复多 Agent sessions.usage 发现逻辑(upstream
9271fcb3d) - agentId transcript 路径:使用 session key agentId 解析 transcript 路径(upstream
dc3c73361) - agentId 贯穿状态/用量路径:将 agentId 贯穿到所有状态和用量查询路径(upstream
990413534) - 归档旧 transcript:在 /new 和 /reset 时归档旧 transcript 文件(upstream
31537c669) - 停止钳制 totalTokens:停止钳制派生的 totalTokens 值(upstream
fd076eb43) - 防止子进程 FD 泄漏:修复子进程清理时的文件描述符泄漏(upstream
4c350bc4c) - 防止缓存 TTL 双重压缩:防止 cache-ttl 条目绕过保护导致的双重压缩(upstream
dcb921944)
P1-B:定时任务与心跳(16 项)
- Cron 调度回归修复:修复 cron 调度和提醒投递回归问题(upstream
821520a05) - 防止跳过到期任务:防止 recomputeNextRuns 跳过到期任务(upstream
313e2f2e8) - Cron 心跳可靠性:改进 cron 心跳可靠性(upstream
40e23b05f) - legacy atMs 字段:处理调度中的 legacy atMs 字段(upstream
b0befb5f5) - 防止跳过执行:防止 nextRunAtMs 推进时跳过 cron 执行(upstream
39e3d58fe) - 主 session 任务传递 agentId:修复主 session 任务传递 agentId 给 heartbeat(upstream
04e3a66f9) - 活跃任务执行时重置定时器:在活跃任务执行期间 onTimer 触发时重新设置定时器(upstream
ace5e33ce) - 防止同时触发重复:防止多个任务同时触发时重复执行(upstream
dd6047d99) - 调度错误隔离:隔离调度错误防止一个坏任务影响所有任务(upstream
04f695e56) - 心跳调度器异常处理:防止 runOnce 抛出异常时心跳调度器死亡(upstream
5147656d6) - 防止 list/status 跳过 cron:防止 list/status 静默跳过周期性 cron 任务(upstream
c60844931) - 心跳定时器改进:改进心跳定时器逻辑(upstream
7b89e68d1) - 心跳唤醒竞态:防止唤醒处理器竞态导致心跳调度器静默死亡(upstream
40aff672c) - 豁免唤醒/hook 原因:豁免 wake 和 hook 原因的空心跳跳过逻辑(upstream
7f0d6b1fc) - HEARTBEAT_OK 清理:忽略 HEARTBEAT_OK token 周围的非单词字符(upstream
f9379ecee) - HEARTBEAT.md 自动创建:工作区初始化时不再自动创建 HEARTBEAT.md(upstream
386bb0c61)
P1-C:内存泄漏(7 项)
- 诊断会话状态模块:拆分诊断会话状态模块减少内存占用(upstream
0dec23450) - Agent 运行序列跟踪:限定 Agent 运行序列跟踪器增长(upstream
fc8f59261) - 中止内存映射:限定中止回调内存映射增长(upstream
414b7db8a) - Slack 线程缓存:限定 Slack 线程启动器缓存增长(upstream
6d0cd54ac) - 目录缓存内存:限定出站目录缓存内存增长(upstream
48fef2786) - 远程节点缓存:断开连接时清理远程节点缓存(upstream
dabfcbe94) - Skills 监视器 FD:避免 skills 监视器文件描述符耗尽(upstream
0e046f61a)
P1-D:CJK 兼容(1 项)
- Voice Wake CJK 崩溃:防止 CJK 触发词导致 Voice Wake 崩溃(upstream
c32b92b7a)
📡 频道 Bug 修复(Channel Fixes)
P4-A:Telegram(14 项)
- 线程规格强制:强制 DM 与 Forum 发送线程规格生效(upstream openclaw#6833)
- 转发元数据:包含
forward_from_chat转发元数据(upstream openclaw#8392) - DM topic threadId 注入:自动为 DM topic 注入 threadId(upstream openclaw#7235)
- session 模型覆盖:inline 模型选择器尊重 session 模型覆盖(upstream openclaw#8193)
- 引用解析加固:加固 quote 解析并保留引用上下文(upstream openclaw#12156)
- 过期 topic 恢复:从过期 topic thread ID 恢复主动消息发送(upstream openclaw#11620)
- Markdown spoiler:渲染 Markdown spoiler 为 tg-spoiler 标签(upstream openclaw#11543)
- DM allowFrom:匹配 DM allowFrom 对发送者 user ID 而非用户名(upstream openclaw#12779)
- blockquote 渲染:渲染 blockquote 为原生 HTML blockquote(upstream openclaw#14608)
- model picker 空消息:处理 model picker 中无文本消息情况(upstream openclaw#14397)
- REACTION_INVALID 警告:将 REACTION_INVALID 作为非致命警告输出(upstream openclaw#14340)
- 命令上限 100:bot 菜单注册命令数上限 100(upstream openclaw#15844)
- skill 命令作用域:scope skill 命令到已解析的 agent(upstream openclaw#15599)
- webhook 回调超时:设置 webhook 回调超时处理(upstream openclaw#16763)
P4-A 附加:媒体(1 项)
- MP3/M4A 语音兼容:将 MP3/M4A 视为语音兼容音频格式(upstream openclaw#15438)
P4-B:WhatsApp(4 项)
- 粗体/删除线转换:将 Markdown 粗体/删除线转换为 WhatsApp 格式(upstream openclaw#14285)
- 纯媒体发送:允许纯媒体发送 + 规范化前导空白负载(upstream openclaw#14408)
- 语音 MIME 类型:语音消息默认 MIME 类型(upstream openclaw#14444)
- 文档文件名保留:保留出站文档文件名(upstream openclaw#15594)
P4-C:Discord(9 项)
- 线程父级绑定:继承线程父级频道绑定用于路由(upstream openclaw#3892)
- PluralKit 代理发送者:解析 PluralKit 代理发送者身份(upstream openclaw#5838)
- 论坛/媒体线程:支持论坛/媒体 thread-create 起始消息(upstream openclaw#10062)
- DM 反应处理:处理 DM 频道的反应事件(upstream openclaw#10418)
- 线程 replyToMode:线程中尊重 replyToMode 设置(upstream openclaw#11062)
- 纯媒体消息:省略纯媒体消息的空内容字段(upstream openclaw#9507)
- 数字 guild 白名单:避免数字 guild 白名单条目误路由(upstream openclaw#12326)
- historyLimit 应用:将频道 historyLimit 应用到 sessions(upstream openclaw#11224)
- 空 channels 白名单:empty channels 配置视为无白名单而非全拒绝(upstream openclaw#16714)
P4-D:Slack(5 项)
- 媒体抓取限制:加固媒体抓取限制和文件 URL 校验(upstream openclaw#6639)
- mention 剥离模式:为 /new 和 /reset 命令添加 mention stripPatterns(upstream openclaw#9971)
- replyToMode 默认值:将默认 replyToMode 从 off 改为 all(upstream openclaw#14364)
- bot mention 命令检测:检测以 bot mention 开头的命令消息(upstream openclaw#14142)
- 线程归属权门控:新增 thread-ownership 出站门控插件(upstream openclaw#15775)
P4-E:Signal(4 项)
- E.164 校验:强制 E.164 电话号码格式校验(upstream openclaw#15063)
- mention 渲染:将 mention 占位符渲染为 @uuid/@phone(upstream openclaw#2013)
- 大小写敏感 group ID:保留大小写敏感的 group: 目标 ID(upstream openclaw#16748)
- 非 x64 安装:非 x64 Linux 上自动安装 signal-cli(upstream openclaw#15443)
P4-F:飞书 Feishu(4 项)
- Buffer 直传:直接传递 Buffer 到 SDK upload API(upstream openclaw#10345)
- mention 门控群组:仅在 bot 被 @ 时触发 mention 门控群组处理(upstream openclaw#11088)
- 探活状态上下文:probe status 使用已解析的账户上下文(upstream openclaw#11233)
- DocX block 顺序:保留 DocX 顶层转换 block 顺序(upstream openclaw#13994)
P4-G:Web UI(4 项)
- 滚动位置:流式输出时尊重用户滚动位置(upstream openclaw#7226)
- logo 路径:basePath 设置时正确解析 header logo 路径(upstream openclaw#7178)
- DOMPurify img:将 img 添加到 DOMPurify 允许标签列表(upstream openclaw#15437)
- Windows 路径换行符:保留 Windows 路径中的 literal
\\n序列(upstream openclaw#11547)
P4-H:TUI(6 项)
- 并发流保留:并发 run finalize 时保留进行中的流式回复(upstream openclaw#10704)
- 工具边界文本:保持 pre-tool 流式文本可见(upstream openclaw#6958)
- ANSI 清理:清理历史文本中的 ANSI/控制字符(upstream openclaw#13007)
- 窄终端加固:加固窄终端渲染时的清理器(upstream openclaw#5355)
- 亮色主题对比:亮色主题使用终端默认前景色渲染(upstream openclaw#16750)
- 流式文本保留:保留更丰富的流式助手文本内容(upstream openclaw#15452)