状态:稳定。
### 变更
- **品牌重塑**:将 npm 包/CLI 重命名为 `openclaw`,添加 `openclaw` 兼容性垫片,并将扩展移至 `@openclaw/*` 作用域。
- **入门引导**:为 Beta 版加强安全警告文案及访问控制预期。
- **入门引导**:在非交互式流程中添加 Venice API 密钥。(#1893)感谢 @jonisjongithub。
- **配置**:自动迁移旧版状态/配置路径,并在旧版文件名间保持配置解析一致性。
- **网关**:对通过查询参数传递的钩子令牌发出警告;记录首选的头部认证方式。(#2200)感谢 @YuriNachos。
- **网关**:添加危险的控制界面设备认证绕过标志及审计警告。(#2248)
- **诊断**:对未经验证的网关暴露发出警告。(#2016)感谢 @Alex-Alaniz。
- **Web 界面**:在 WebChat 中保持子代理公告回复可见。(#1977)感谢 @andrescardonas7。
- **浏览器**:通过网关/节点路由浏览器控制;移除独立的浏览器控制命令和控制 URL 配置。
- **浏览器**:在可用时通过节点代理路由 `browser.request`;遵守代理超时设置;从 `gateway.port` 派生浏览器端口。
- **浏览器**:回退到 URL 匹配以解决扩展中继目标解析问题。(#1999)感谢 @jonit-dev。
- **Telegram**:允许为媒体发送添加标题参数。(#1888)感谢 @mguellsegarra。
- **Telegram**:支持插件 sendPayload 的 channelData(媒体/按钮)并验证插件命令。(#1917)感谢 @JoshuaLelon。
- **Telegram**:在流式传输禁用时避免阻塞回复。(#1885)感谢 @ivancasco。
- **Telegram**:添加可选静默发送标志(禁用通知)。(#2382)感谢 @Suksham-sharma。
- **Telegram**:支持通过 message(action="edit") 编辑已发送的消息。(#2394)感谢 @marcelomar21。
- **Telegram**:支持消息工具和入站上下文的引用回复。(#2900)感谢 @aduk059。
- **Telegram**:添加支持接收/发送带有视觉缓存的贴纸。(#2629)感谢 @longjos。
- **Telegram**:将贴纸像素发送给视觉模型。(#2650)
- **Telegram**:在重启哨兵通知中保留话题 ID。(#1807)感谢 @hsrvc。
- **Discord**:为状态/成员添加可配置的特权网关意图。(#2266)感谢 @kentaro。
- **Slack**:在流式回复后清除确认反应。(#2044)感谢 @fancyboi999。
- **Matrix**:将插件 SDK 切换为 @vector-im/matrix-bot-sdk。
- **Tlon**:将线程回复 ID 格式化为 @ud。(#1837)感谢 @wca4a。
- **工具**:添加按发送者分组的工具策略并修复优先级。(#1757)感谢 @adam91holt。
- **代理**:在压缩保护修剪期间总结被丢弃的消息。(#2509)感谢 @jogi47。
- **代理**:扩展 cron 工具描述,包含完整的模式文档。(#1988)感谢 @tomascupr。
- **代理**:在 exec 允许列表检查中遵守 tools.exec.safeBins。(#2281)
- **内存搜索**:允许为内存索引添加额外路径(忽略符号链接)。(#3600)感谢 @kira-ariaki。
- **技能**:为 Nano Banana Pro 技能添加多图像输入支持。(#1958)感谢 @tyler6204。
- **技能**:为 GitHub、Notion、Slack、Discord 添加缺失的依赖元数据。(#1995)感谢 @jackheuberger。
- **命令**:使用 Telegram 分页对 /help 和 /commands 输出进行分组。(#2504)感谢 @hougangdev。
- **路由**:添加按账户的 DM 会话作用域并记录多账户隔离。(#3095)感谢 @jarvis-sam。
- **路由**:预编译会话键正则表达式。(#1697)感谢 @Ray0907。
- **CLI**:使用 Node 的模块编译缓存以加快启动速度。(#2808)感谢 @pi0。
- **认证**:在 ASCII 提示后显示可复制的 Google 认证 URL。(#1787)感谢 @robbyczgw-cla。
- **TUI**:在渲染选择列表时避免宽度溢出。(#1686)感谢 @mossein。
- **macOS**:为 macOS 源代码、捆绑标识符和共享工具包路径完成 OpenClaw 应用重命名。(#2844)感谢 @fal3。
- **品牌**:更新 launchd 标签、移动端捆绑 ID 和日志子系统为 bot.molt(旧版 com.clawdbot 迁移)。感谢 @thewilloftheshadow。
- **macOS**:将项目本地 `node_modules/.bin` PATH 优先级限制在调试版本(降低 PATH 劫持风险)。
- **macOS**:在远程目标中保留自定义 SSH 用户名。(#2046)感谢 @algal。
- **macOS**:通过将 Textual 升级到 0.3.1 避免渲染代码块时崩溃。(#2033)感谢 @garricn。
- **更新**:忽略 dist/control-ui 的脏检查并在 UI 构建后恢复。(#1976)感谢 @Glucksberg。
- **构建**:在构建期间捆绑 A2UI 资源并停止跟踪生成的捆绑包。(#2455)感谢 @0oAstro。
- **CI**:增加 macOS 检查的 Node 堆大小。(#1890)感谢 @realZachi。
- **配置**:在 `${VAR}` 替换之前应用 config.env。(#1813)感谢 @spanishflu-est1918。
- **网关**:在合并存储时优先使用最新的会话元数据。(#1823)感谢 @emanuelst。
- **文档**:收紧 Fly 私有部署步骤。(#2289)感谢 @dguido。
- **文档**:添加迁移到新机器的指南。(#2381)
- **文档**:添加 Northflank 一键部署指南。(#2167)感谢 @AdeboyeDN。
- **文档**:在提供商侧边栏中添加 Vercel AI 网关。(#1901)感谢 @jerilynzheng。
- **文档**:添加 Render 部署指南。(#1975)感谢 @anurag。
- **文档**:添加 Claude Max API 代理指南。(#1875)感谢 @atalovesyou。
- **文档**:添加 DigitalOcean 部署指南。(#1870)感谢 @0xJonHoldsCrypto。
- **文档**:添加 Oracle Cloud (OCI) 平台指南 + 交叉链接。(#2333)感谢 @hirefrank。
- **文档**:添加 Raspberry Pi 安装指南。(#1871)感谢 @0xJonHoldsCrypto。
- **文档**:添加 GCP Compute Engine 部署指南。(#1848)感谢 @hougangdev。
- **文档**:添加 LINE 频道指南。感谢 @thewilloftheshadow。
- **文档**:为控制界面刷新感谢两位贡献者。(#1852)感谢 @EnzeD。
- **文档**:保持文档标题粘性,以便在滚动时导航栏保持可见。(#2445)感谢 @chenyuan99。
- **文档**:更新 exe.dev 安装说明。([#3047](https://github.com/openclaw/openclaw/pull/3047))感谢 @zackerthescar。
### 重大变更
- **重大变更**:网关认证模式 "none" 已被移除;网关现在需要令牌/密码(Tailscale Serve 身份仍被允许)。
### 修复
- **Telegram**:通过在回退前跟踪规范化跳过,避免静默的空回复。(#3796)
- **提及**:即使存在显式提及,也遵守 mentionPatterns。(#3303)感谢 @HirokiKobayashi-R。
- **Discord**:在目标解析中恢复用户名目录查找。(#3131)感谢 @bonald。
- **代理**:将 MiniMax 基础 URL 测试预期与默认提供商配置对齐。(#3131)感谢 @bonald。
- **代理**:防止对过大的图像错误和表面大小限制进行重试。(#2871)感谢 @Suksham-sharma。
- **代理**:为内联模型继承提供商 baseUrl/api。(#2740)感谢 @lploc94。
- **内存搜索**:保持自动提供商模型默认值,仅在配置时包含远程模型。(#2576)感谢 @papago2355。
- **Telegram**:在多代理路由的原生命令上下文中包含 AccountId。(#2942)感谢 @Chloe-VP。
- **Telegram**:在媒体提取中处理视频笔记附件。(#2905)感谢 @mylukin。
- **TTS**:在运行时读取 OPENAI_TTS_BASE_URL 而非模块加载时,以遵守 config.env。(#3341)感谢 @hclsys。
- **macOS**:在向上滚动时发送新消息时自动滚动到底部。(#2471)感谢 @kennyklee。
- **Web 界面**:在输入时自动展开聊天撰写文本区域(具有合理的最大高度)。(#2950)感谢 @shivamraut101。
- **网关**:防止瞬态网络错误(获取失败、超时、DNS)导致崩溃。添加了致命错误检测,仅在真正关键的错误时退出。修复 #2895、#2879、#2873。(#2980)感谢 @elliotsecops。
- **代理**:保护频道工具 listActions 以避免插件崩溃。(#2859)感谢 @mbelinky。
- **Discord**:阻止 resolveDiscordTarget 将目录参数传递到消息目标解析器中。修复 #3167。感谢 @thewilloftheshadow。
- **Discord**:当用户名匹配时,避免将裸频道名称解析为用户 DM。感谢 @thewilloftheshadow。
- **Discord**:为目标解析修复目录配置类型导入。感谢 @thewilloftheshadow。
- **提供商**:更新 MiniMax API 端点和兼容模式。(#3064)感谢 @hlbbbbbbb。
- **Telegram**:在轮询中将更多网络错误视为可恢复的。(#3013)感谢 @ryancontent。
- **Discord**:将用户名解析为用户 ID 以用于出站消息。(#2649)感谢 @nonggialiang。
- **提供商**:将 Moonshot Kimi 模型引用更新为 kimi-k2.5。(#2762)感谢 @MarvinCui。
- **网关**:在未处理的拒绝中抑制 AbortError 和瞬态网络错误。(#2451)感谢 @Glucksberg。
- **TTS**:在纯文本命令上保留 /tts 状态回复,并避免重复的块流音频。(#2451)感谢 @Glucksberg。
- **安全**:固定 npm overrides 以保持
[email protected] 用于安装工具链。
- **安全**:正确测试 Windows ACL 审计以包含配置。(#2403)感谢 @dominicnunez。
- **CLI**:在解析 argv 时识别版本化的 Node 可执行文件。(#2490)感谢 @David-Marsh-Photo。
- **CLI**:避免在微调器下提示网关运行时。(#2874)
- **BlueBubbles**:合并入站 URL 链接预览消息。(#1981)感谢 @tyler6204。
- **Cron**:允许事件过滤器包含 "heartbeat" 的有效载荷。(#2219)感谢 @dwfinkelstein。
- **CLI**:在注册插件命令时避免为全局帮助/版本加载配置。(#2212)感谢 @dial481。
- **代理**:在引导内存上下文时包含 memory.md。(#2318)感谢 @czekaj。
- **代理**:在进程终止时释放会话锁并覆盖更多信号。(#2483)感谢 @janeexai。
- **代理**:在模型故障转移期间跳过冷却的提供商。(#2143)感谢 @YiWang24。
- **Telegram**:加强轮询 + 重试行为以应对瞬态网络错误和 Node 22 传输问题。(#2420)感谢 @techboss。
- **Telegram**:忽略非论坛群组的 message_thread_id,同时保留 DM 线程会话。(#2731)感谢 @dylanneve1。
- **Telegram**:按行包装推理斜体以避免原始下划线。(#2181)感谢 @YuriNachos。
- **Telegram**:集中处理投递和机器人调用的 API 错误日志记录。(#2492)感谢 @altryne。
- **语音通话**:对 ngrok URL 强制执行 Twilio webhook 签名验证;默认禁用 ngrok 免费层绕过。
- **安全**:通过本地 tailscaled 验证身份来加强 Tailscale Serve 认证,然后再信任头部。
- **媒体**:修复文本附件 MIME 错误分类,包含 CSV/TSV 推断和 UTF-16 检测;为文件输出添加 XML 属性转义。(#3628)感谢 @frankekn。
- **构建**:将 memory-core 对等依赖项与 lockfile 对齐。
- **安全**:添加 mDNS 发现模式,默认最小化以减少信息泄露。(#1882)感谢 @orlyjamie。
- **安全**:通过 DNS 固定来加强 URL 获取,以减少重绑定风险。感谢 Chris Zheng。
- **Web 界面**:改进 WebChat 图像粘贴预览并允许仅发送图像。(#1925)感谢 @smartprogrammer93。
- **安全**:默认包装外部钩子内容,并提供每个钩子的选择退出选项。(#1827)感谢 @mertcicekci0。
- **网关**:默认认证现在为失败即关闭(需要令牌/密码;Tailscale Serve 身份仍被允许)。
- **网关**:将环回 + 非本地主机连接视为远程连接,除非存在受信任的代理头部。
- **入门引导**:从入门引导/配置流程和 CLI 标志中移除不受支持的网关认证 "off" 选项。
Status: stable.
### Changes
- Rebrand: rename the npm package/CLI to `openclaw`, add a `openclaw` compatibility shim, and move extensions to the `@openclaw/*` scope.
- Onboarding: strengthen security warning copy for beta + access control expectations.
- Onboarding: add Venice API key to non-interactive flow. (#1893) Thanks @jonisjongithub.
- Config: auto-migrate legacy state/config paths and keep config resolution consistent across legacy filenames.
- Gateway: warn on hook tokens via query params; document header auth preference. (#2200) Thanks @YuriNachos.
- Gateway: add dangerous Control UI device auth bypass flag + audit warnings. (#2248)
- Doctor: warn on gateway exposure without auth. (#2016) Thanks @Alex-Alaniz.
- Web UI: keep sub-agent announce replies visible in WebChat. (#1977) Thanks @andrescardonas7.
- Browser: route browser control via gateway/node; remove standalone browser control command and control URL config.
- Browser: route `browser.request` via node proxies when available; honor proxy timeouts; derive browser ports from `gateway.port`.
- Browser: fall back to URL matching for extension relay target resolution. (#1999) Thanks @jonit-dev.
- Telegram: allow caption param for media sends. (#1888) Thanks @mguellsegarra.
- Telegram: support plugin sendPayload channelData (media/buttons) and validate plugin commands. (#1917) Thanks @JoshuaLelon.
- Telegram: avoid block replies when streaming is disabled. (#1885) Thanks @ivancasco.
- Telegram: add optional silent send flag (disable notifications). (#2382) Thanks @Suksham-sharma.
- Telegram: support editing sent messages via message(action="edit"). (#2394) Thanks @marcelomar21.
- Telegram: support quote replies for message tool and inbound context. (#2900) Thanks @aduk059.
- Telegram: add sticker receive/send with vision caching. (#2629) Thanks @longjos.
- Telegram: send sticker pixels to vision models. (#2650)
- Telegram: keep topic IDs in restart sentinel notifications. (#1807) Thanks @hsrvc.
- Discord: add configurable privileged gateway intents for presences/members. (#2266) Thanks @kentaro.
- Slack: clear ack reaction after streamed replies. (#2044) Thanks @fancyboi999.
- Matrix: switch plugin SDK to @vector-im/matrix-bot-sdk.
- Tlon: format thread reply IDs as @ud. (#1837) Thanks @wca4a.
- Tools: add per-sender group tool policies and fix precedence. (#1757) Thanks @adam91holt.
- Agents: summarize dropped messages during compaction safeguard pruning. (#2509) Thanks @jogi47.
- Agents: expand cron tool description with full schema docs. (#1988) Thanks @tomascupr.
- Agents: honor tools.exec.safeBins in exec allowlist checks. (#2281)
- Memory Search: allow extra paths for memory indexing (ignores symlinks). (#3600) Thanks @kira-ariaki.
- Skills: add multi-image input support to Nano Banana Pro skill. (#1958) Thanks @tyler6204.
- Skills: add missing dependency metadata for GitHub, Notion, Slack, Discord. (#1995) Thanks @jackheuberger.
- Commands: group /help and /commands output with Telegram paging. (#2504) Thanks @hougangdev.
- Routing: add per-account DM session scope and document multi-account isolation. (#3095) Thanks @jarvis-sam.
- Routing: precompile session key regexes. (#1697) Thanks @Ray0907.
- CLI: use Node's module compile cache for faster startup. (#2808) Thanks @pi0.
- Auth: show copyable Google auth URL after ASCII prompt. (#1787) Thanks @robbyczgw-cla.
- TUI: avoid width overflow when rendering selection lists. (#1686) Thanks @mossein.
- macOS: finish OpenClaw app rename for macOS sources, bundle identifiers, and shared kit paths. (#2844) Thanks @fal3.
- Branding: update launchd labels, mobile bundle IDs, and logging subsystems to bot.molt (legacy com.clawdbot migrations). Thanks @thewilloftheshadow.
- macOS: limit project-local `node_modules/.bin` PATH preference to debug builds (reduce PATH hijacking risk).
- macOS: keep custom SSH usernames in remote target. (#2046) Thanks @algal.
- macOS: avoid crash when rendering code blocks by bumping Textual to 0.3.1. (#2033) Thanks @garricn.
- Update: ignore dist/control-ui for dirty checks and restore after ui builds. (#1976) Thanks @Glucksberg.
- Build: bundle A2UI assets during build and stop tracking generated bundles. (#2455) Thanks @0oAstro.
- CI: increase Node heap size for macOS checks. (#1890) Thanks @realZachi.
- Config: apply config.env before ${VAR} substitution. (#1813) Thanks @spanishflu-est1918.
- Gateway: prefer newest session metadata when combining stores. (#1823) Thanks @emanuelst.
- Docs: tighten Fly private deployment steps. (#2289) Thanks @dguido.
- Docs: add migration guide for moving to a new machine. (#2381)
- Docs: add Northflank one-click deployment guide. (#2167) Thanks @AdeboyeDN.
- Docs: add Vercel AI Gateway to providers sidebar. (#1901) Thanks @jerilynzheng.
- Docs: add Render deployment guide. (#1975) Thanks @anurag.
- Docs: add Claude Max API Proxy guide. (#1875) Thanks @atalovesyou.
- Docs: add DigitalOcean deployment guide. (#1870) Thanks @0xJonHoldsCrypto.
- Docs: add Oracle Cloud (OCI) platform guide + cross-links. (#2333) Thanks @hirefrank.
- Docs: add Raspberry Pi install guide. (#1871) Thanks @0xJonHoldsCrypto.
- Docs: add GCP Compute Engine deployment guide. (#1848) Thanks @hougangdev.
- Docs: add LINE channel guide. Thanks @thewilloftheshadow.
- Docs: credit both contributors for Control UI refresh. (#1852) Thanks @EnzeD.
- Docs: keep docs header sticky so navbar stays visible while scrolling. (#2445) Thanks @chenyuan99.
- Docs: update exe.dev install instructions. ([#3047](https://github.com/openclaw/openclaw/pull/3047)) Thanks @zackerthescar.
### Breaking
- **BREAKING:** Gateway auth mode "none" is removed; gateway now requires token/password (Tailscale Serve identity still allowed).
### Fixes
- Telegram: avoid silent empty replies by tracking normalization skips before fallback. (#3796)
- Mentions: honor mentionPatterns even when explicit mentions are present. (#3303) Thanks @HirokiKobayashi-R.
- Discord: restore username directory lookup in target resolution. (#3131) Thanks @bonald.
- Agents: align MiniMax base URL test expectation with default provider config. (#3131) Thanks @bonald.
- Agents: prevent retries on oversized image errors and surface size limits. (#2871) Thanks @Suksham-sharma.
- Agents: inherit provider baseUrl/api for inline models. (#2740) Thanks @lploc94.
- Memory Search: keep auto provider model defaults and only include remote when configured. (#2576) Thanks @papago2355.
- Telegram: include AccountId in native command context for multi-agent routing. (#2942) Thanks @Chloe-VP.
- Telegram: handle video note attachments in media extraction. (#2905) Thanks @mylukin.
- TTS: read OPENAI_TTS_BASE_URL at runtime instead of module load to honor config.env. (#3341) Thanks @hclsys.
- macOS: auto-scroll to bottom when sending a new message while scrolled up. (#2471) Thanks @kennyklee.
- Web UI: auto-expand the chat compose textarea while typing (with sensible max height). (#2950) Thanks @shivamraut101.
- Gateway: prevent crashes on transient network errors (fetch failures, timeouts, DNS). Added fatal error detection to only exit on truly critical errors. Fixes #2895, #2879, #2873. (#2980) Thanks @elliotsecops.
- Agents: guard channel tool listActions to avoid plugin crashes. (#2859) Thanks @mbelinky.
- Discord: stop resolveDiscordTarget from passing directory params into messaging target parsers. Fixes #3167. Thanks @thewilloftheshadow.
- Discord: avoid resolving bare channel names to user DMs when a username matches. Thanks @thewilloftheshadow.
- Discord: fix directory config type import for target resolution. Thanks @thewilloftheshadow.
- Providers: update MiniMax API endpoint and compatibility mode. (#3064) Thanks @hlbbbbbbb.
- Telegram: treat more network errors as recoverable in polling. (#3013) Thanks @ryancontent.
- Discord: resolve usernames to user IDs for outbound messages. (#2649) Thanks @nonggialiang.
- Providers: update Moonshot Kimi model references to kimi-k2.5. (#2762) Thanks @MarvinCui.
- Gateway: suppress AbortError and transient network errors in unhandled rejections. (#2451) Thanks @Glucksberg.
- TTS: keep /tts status replies on text-only commands and avoid duplicate block-stream audio. (#2451) Thanks @Glucksberg.
- Security: pin npm overrides to keep
[email protected] for install toolchains.
- Security: properly test Windows ACL audit for config includes. (#2403) Thanks @dominicnunez.
- CLI: recognize versioned Node executables when parsing argv. (#2490) Thanks @David-Marsh-Photo.
- CLI: avoid prompting for gateway runtime under the spinner. (#2874)
- BlueBubbles: coalesce inbound URL link preview messages. (#1981) Thanks @tyler6204.
- Cron: allow payloads containing "heartbeat" in event filter. (#2219) Thanks @dwfinkelstein.
- CLI: avoid loading config for global help/version while registering plugin commands. (#2212) Thanks @dial481.
- Agents: include memory.md when bootstrapping memory context. (#2318) Thanks @czekaj.
- Agents: release session locks on process termination and cover more signals. (#2483) Thanks @janeexai.
- Agents: skip cooldowned providers during model failover. (#2143) Thanks @YiWang24.
- Telegram: harden polling + retry behavior for transient network errors and Node 22 transport issues. (#2420) Thanks @techboss.
- Telegram: ignore non-forum group message_thread_id while preserving DM thread sessions. (#2731) Thanks @dylanneve1.
- Telegram: wrap reasoning italics per line to avoid raw underscores. (#2181) Thanks @YuriNachos.
- Telegram: centralize API error logging for delivery and bot calls. (#2492) Thanks @altryne.
- Voice Call: enforce Twilio webhook signature verification for ngrok URLs; disable ngrok free tier bypass by default.
- Security: harden Tailscale Serve auth by validating identity via local tailscaled before trusting headers.
- Media: fix text attachment MIME misclassification with CSV/TSV inference and UTF-16 detection; add XML attribute escaping for file output. (#3628) Thanks @frankekn.
- Build: align memory-core peer dependency with lockfile.
- Security: add mDNS discovery mode with minimal default to reduce information disclosure. (#1882) Thanks @orlyjamie.
- Security: harden URL fetches with DNS pinning to reduce rebinding risk. Thanks Chris Zheng.
- Web UI: improve WebChat image paste previews and allow image-only sends. (#1925) Thanks @smartprogrammer93.
- Security: wrap external hook content by default with a per-hook opt-out. (#1827) Thanks @mertcicekci0.
- Gateway: default auth now fail-closed (token/password required; Tailscale Serve identity remains allowed).
- Gateway: treat loopback + non-local Host connections as remote unless trusted proxy headers are present.
- Onboarding: remove unsupported gateway auth "off" choice from onboarding/configure flows and CLI flags.