### 亮点
- Telegram 和 WhatsApp 频道投递更丰富、更稳定:Telegram 可发送包含表格、列表、可展开引用块的结构化富文本,保留有意换行、提示保留的 CLI 后端投递、已弃用原生草稿迁移,以及更安全的富媒体边界;WhatsApp 现已遵循配置的 ACP 绑定。(#92679、#93164、#84082、#89421、#92513)感谢 @obviyus、@jzakirov、@spacegeologist 和 @TurboTheTurtle。
- Agent 和 Gateway 恢复能力在以下场景中更精准:账号作用域 DM 发送、生成的媒体补全、自动回复消息工具最终回复、重置归档回退读取、重启时中止关闭、暂停的子 Agent 暂停、可信子 Agent 思考覆盖回退、暂停的 cron 媒体、心跳去重、会话标识提示,以及未知的 OpenAI Agent 选择器拒绝。(#92788、#91246、#92879、#91357、#92631、#92412、#92146、#91287、#92468、#92510)感谢 @yetval、@TurboTheTurtle、@masatohoshino、@CadanHu、@ooiuuii、@openperf、@IWhatsskill、@ZengWen-DT 和 @zhangguiping-xydt。
- 提供商/模型处理得到扩展和收紧:新增 GLM-5.2、Claude Haiku 4.5 目录条目,OpenRouter 和 Google Vertex 提供商前缀归一化,托管 SecretRef 认证,通过 Codex 的 OAuth 图像默认路由,受限的模型浏览发现,LM Studio 二进制思考关闭投递,无存储的 OpenAI Responses 重放门控,无效的 OpenAI 推理签名和泛化的 Anthropic 思考签名恢复,Claude 4.5 Copilot 工具流安全,以及针对不可读或后钩子工具模式的 OpenAI/Anthropic 系列负载隔离。(#92796、#90116、#92627、#91218、#90686、#92824、#92247、#92002、#90706、#92941、#92201、#92916、#75393、#92908、#92921、#92928)感谢 @arkyu2077、@liuhao1024、@bymle、@rohitjavvadi、@nxmxbbd、@bek91、@samson910022、@mmyzwl、@CarlCapital、@snowzlm、@Kailigithub 和 @vincentkoc。
- `/usage` 和回复负载钩子现在拥有原生完整页脚渲染器、默认模板、固定小数格式、凭据感知限制、更好的部分计数处理,以及针对损坏模板的警告而非静默输出错误。(#92657、#89835、#89629)感谢 @Marvinthebored。
- UI 和移动端流程更稳定:工作区文件可折叠且默认折叠,WebChat 回滚在流式传输中幸存,侧边栏会话选择器在桌面工作台之上保持可交互,重置软参数在 UI 分发中幸存,过时仪表板会话父系谱系得以保留,iOS 重新连接过时的前台网关。(#92779、#92622、#92705、#91353、#90658、#92552)感谢 @shakkernerd、@TurboTheTurtle、@NianJiuZst、@zhouhe-xydt、@luoyanglang 和 @Solvely-Colin。
- 内存、状态和诊断恢复更干净:过大的 OpenAI 嵌入批次在 431 秒前拆分,QMD 内存搜索在临时模式下保持可用,SQLite 在 NFS 状态卷上避免 WAL,卡会话恢复调度不再重置警告退避,完整内存重建保留回滚/缓存恢复,原始 Memory Wiki 源页面不再显得格式错误,Infinity 块限制保持真正无边界。(#92650、#92618、#92639、#91247、#92752、#92881、#59137、#92876、#69700、#92735)感谢 @mushuiyu886、@TurboTheTurtle、@849261680、@gnanam1990、@TSHOGX、@arlen8411 和 @yhterrance。
### 变更
- 提供商/模型:添加 GLM-5.2 支持和 Claude Haiku 4.5 目录条目,同时保持提供商限定模型 ID 在 OpenRouter 和 Google Vertex 路径中归一化。(#92796、#90116、#92627、#91218)感谢 @arkyu2077、@liuhao1024 和 @bymle。
- 频道插件:发布 Telegram 富消息投递和 WhatsApp ACP 绑定支持,包括保留的有意换行、向 CLI 后端的丰富提示交接,以及用于更丰富草稿的传输固件。(#92679、#93164、#92513)感谢 @obviyus 和 @TurboTheTurtle。
- Agent 命令:在 CLI 后端会话中支持 `/btw`,并将 CLI 使用错误退出归类为使用失败而非成功运行。(#92669、#92162)感谢 @joshavant 和 @Pandah97。
- 使用钩子:添加内置完整页脚渲染、默认页脚模板、每轮使用状态、凭据感知限制,以及使用栏模板的固定小数格式。(#92657、#89835、#89629)感谢 @Marvinthebored。
- 文档和操作员指南:记录节点配置示例,明确安装前钩子作用域,更正代理默认并发注释,刷新 ZAI 提供商文档,并更新当前 Telegram 和 WhatsApp 行为的频道/群组文档。(#92677、#92766、#92695)感谢 @liuhao1024、@sallyom 和 @ArielSmoliar。
### 修复
- 频道和投递:保留账号作用域 DM 频道发送策略、Telegram 和状态输出中的有意富消息换行、丰富的 Telegram 最终回复、丰富的 Telegram 表格和列表、Telegram 线程创建 CLI 重映射、飞书持久绑定重用后的动态代理路由、Slack 出站 `message_sent` 钩子、贡献消息工具模式可选性、同频道生成的媒体补全,以及围绕代理对和 Infinity 限制的频道分块。(#92788、#93164、#92679、#89421、#89943、#42837、#92814、#91137、#91246、#92735)感谢 @yetval、@obviyus、@spacegeologist、@rishitamrakar、@liuhao1024、@lundog、@TurboTheTurtle 和 @yhterrance。
- Discord:为生成的自动线程标题设置 60 秒超时和 4096 令牌推理模型输出预算,上限为所选模型输出上限。(#64734)感谢 @hanamizuki。
- Agent、cron 和 Gateway 运行时:在重启中止关闭前标记活跃主会话,暂停其终端也发出中止信号的已产生子 Agent 运行,通过提供商/模型回退钳制可信子 Agent 思考覆盖,保留已产生媒体补全,通过自动回复传递频道消息工具最终回复同时隐藏内部投递提示,在缺少活跃异步转录时恢复重置归档回退读取,对主会话心跳事件去重,在运行时提示中暴露会话标识,拒绝未知的 OpenAI Agent 选择器,保留生成的媒体补全、斜杠命令块回复和 WebChat 中的轨迹导出命令,并要求对 HTTP 会话/模型覆盖表面具有管理员权限。(#91357、#92631、#92412、#92146、#92879、#91287、#92468、#92510、#91246、#92651、#92646)感谢 @ooiuuii、@openperf、@IWhatsskill、@masatohoshino、@CadanHu、@ZengWen-DT、@zhangguiping-xydt 和 @TurboTheTurtle。
- 提供商和模型重放:保留无存储的 OpenAI Responses 重放兼容性,恢复无效的 OpenAI 推理签名和泛化的 Anthropic 思考签名重放错误,将 OAuth 图像默认通过 Codex 路由至符合条件的 OpenAI 配置文件,避免在 Copilot 中为 Claude 4.5 使用急切工具流,隔离不可读和后钩子的 OpenAI/Anthropic 系列工具模式而不扩大允许的工具选择,向 LM Studio 二进制思考模型发送显式思考关闭请求,为 SecretRef 模型条目尊重配置文件认证,限制模型浏览,在运行时需要裸 ID 时去除提供商前缀,并暴露嵌套嵌入获取失败。(#90706、#92941、#92201、#92916、#92824、#75393、#92908、#92921、#92928、#92002、#90686、#92247、#92627、#91218、#92628)感谢 @snowzlm、@mmyzwl、@CarlCapital、@bek91、@Kailigithub、@vincentkoc、@rohitjavvadi、@samson910022、@nxmxbbd、@liuhao1024、@bymle 和 @mushuiyu886。
- 内存、状态、诊断和配置:拆分头部过大的嵌入批次,在临时模式下保持 QMD 内存搜索启用,在 NFS 卷上避免 SQLite WAL,在卡会话警告退避之外保留恢复调度,保留完整重建回滚/缓存恢复,将原始 Memory Wiki 源页面视为源证据,并在配置写入测试中保持 shell 环境回退受控。(#92650、#92618、#92639、#91247、#92752、#92881、#59137、#92876、#69700)感谢 @mushuiyu886、@TurboTheTurtle、@849261680、@gnanam1990、@TSHOGX 和 @arlen8411。
- UI/移动端/TUI:保留仪表板会话父系谱系、WebChat 回滚、重置软命令参数、侧边栏会话选择器可交互性、折叠的工作区文件、已解析的 `/model` 确认引用、过时前台 iOS Gateway 重新连接,以及在继承 stdio 子进程退出后暂停的 setup-parent stdin。(#90658、#92622、#91353、#92705、#92779、#92773、#92552、#93159)感谢 @luoyanglang、@TurboTheTurtle、@zhouhe-xydt、@NianJiuZst、@shakkernerd、@NarahariRaghava、@Solvely-Colin 和 @fuller-stack-dev。
- 发布和测试可靠性:扩展慢速 Gateway/全套件看门狗,在受限时分片本地全套件,稳定插件认证标记固件,避免脆弱的提供商引用错误文本,将 Telegram RTT 采样纳入实时 QA 证据,简化围绕规范覆盖 ID 的 QA 评分卡映射,保持 QA Lab 引导选择断言与仅流程场景一致,当运行时奇偶生产者状态非绿色时跳过 QA 覆盖工件消费者,保持飞书生命周期发布检查指向活跃固件配置,将轨迹导出实时种子轮次与 Codex 原生 shell 审批隔离,在锁定预期 SHA 时保留发布检查子引用,为较慢的提供商响应放宽实时 OpenAI TTS 预算,并避免对未解析的最新标签更新发出错误降级提示。(#92652、#92550、#92558、#92911)感谢 @RomneyDa 和 @Andy312432。
### 发布验证
- npm 包:https://www.npmjs.com/package/openclaw/v/2026.6.8-beta.2
- 注册表 tarball:https://registry.npmjs.org/openclaw/-/openclaw-2026.6.8-beta.2.tgz
- 完整性校验:`sha512-44ab7b24zUY14dpEVt9TZpd6o6PfbYfnNjSbALHULsCkE7e1ju+ZOia46EawvRLqbYqOwjM9oucnbk7P9/eWsQ==`
- 发布 SHA:`b1736723d716b1abe1f8d324772371661146f3b8`
- 发布动作:https://github.com/openclaw/openclaw/actions/runs/27587320308
- 发布后恢复:精确 npm 安装,35 个 npm 插件和 35 个 ClawHub 包在注册表传播后验证通过
- npm 预检:https://github.com/openclaw/openclaw/actions/runs/27582865457
- 完整发布验证:https://github.com/openclaw/openclaw/actions/runs/27584541070
- 插件 npm 发布:https://github.com/openclaw/openclaw/actions/runs/27587508776
- 插件 ClawHub 发布:https://github.com/openclaw/openclaw/actions/runs/27587512198
- 插件 ClawHub 引导:不需要
- OpenClaw npm 发布:https://github.com/openclaw/openclaw/actions/runs/27587814328
- npm Telegram beta 端到端测试:https://github.com/openclaw/openclaw/actions/runs/27588410701
### Highlights
- Telegram and WhatsApp channel delivery are richer and less brittle: Telegram can send structured rich text with tables, lists, expandable blockquotes, preserved intentional line breaks, prompt-preserving CLI backend delivery, retired native draft migration, and safer rich-media boundaries, while WhatsApp now honors configured ACP bindings. (#92679, #93164, #84082, #89421, #92513) Thanks @obviyus, @jzakirov, @spacegeologist, and @TurboTheTurtle.
- Agent and Gateway recovery is sharper across account-scoped DM sends, generated media completions, auto-reply message-tool final replies, reset archive fallback reads, restart shutdown aborts, yielded subagent pauses, trusted subagent thinking override fallback, yielded cron media, heartbeat dedupe, session identity prompts, and unknown OpenAI agent selector rejection. (#92788, #91246, #92879, #91357, #92631, #92412, #92146, #91287, #92468, #92510) Thanks @yetval, @TurboTheTurtle, @masatohoshino, @CadanHu, @ooiuuii, @openperf, @IWhatsskill, @ZengWen-DT, and @zhangguiping-xydt.
- Provider/model handling expands and tightens with GLM-5.2, Claude Haiku 4.5 catalog rows, OpenRouter and Google Vertex provider-prefix normalization, managed SecretRef auth, OAuth image-default routing through Codex, bounded model browse discovery, LM Studio binary thinking-off delivery, storeless OpenAI Responses replay gating, invalid OpenAI reasoning-signature and genericized Anthropic thinking-signature recovery, Claude 4.5 Copilot tool-streaming safety, and OpenAI/Anthropic-family payload quarantine for unreadable or post-hook tool schemas. (#92796, #90116, #92627, #91218, #90686, #92824, #92247, #92002, #90706, #92941, #92201, #92916, #75393, #92908, #92921, #92928) Thanks @arkyu2077, @liuhao1024, @bymle, @rohitjavvadi, @nxmxbbd, @bek91, @samson910022, @mmyzwl, @CarlCapital, @snowzlm, @Kailigithub, and @vincentkoc.
- `/usage` and reply payload hooks now have a native full footer renderer, default template, fixed-decimal formatting, credential-aware limits, better partial-count handling, and warnings for broken templates instead of silent bad output. (#92657, #89835, #89629) Thanks @Marvinthebored.
- UI and mobile flows are steadier: workspace files can collapse and start collapsed, WebChat backscroll survives streaming, the sidebar session picker remains interactive above the desktop workbench, reset soft args survive UI dispatch, stale dashboard session parent lineage is preserved, and iOS reconnects stale foreground gateways. (#92779, #92622, #92705, #91353, #90658, #92552) Thanks @shakkernerd, @TurboTheTurtle, @NianJiuZst, @zhouhe-xydt, @luoyanglang, and @Solvely-Colin.
- Memory, state, and diagnostics recover cleaner: oversized OpenAI embedding batches split before 431s, QMD memory search stays available in transient mode, SQLite avoids WAL on NFS state volumes, stuck-session recovery scheduling no longer resets warning backoff, full memory reindexes preserve rollback/cache recovery, raw Memory Wiki source pages stop looking malformed, and Infinity chunk limits stay genuinely unbounded. (#92650, #92618, #92639, #91247, #92752, #92881, #59137, #92876, #69700, #92735) Thanks @mushuiyu886, @TurboTheTurtle, @849261680, @gnanam1990, @TSHOGX, @arlen8411, and @yhterrance.
### Changes
- Providers/models: add GLM-5.2 support and Claude Haiku 4.5 catalog entries while keeping provider-qualified model IDs normalized across OpenRouter and Google Vertex paths. (#92796, #90116, #92627, #91218) Thanks @arkyu2077, @liuhao1024, and @bymle.
- Channel plugins: ship Telegram rich-message delivery and WhatsApp ACP binding support, including preserved intentional line breaks, rich prompt handoff to CLI backends, and transport fixtures for richer drafts. (#92679, #93164, #92513) Thanks @obviyus and @TurboTheTurtle.
- Agent commands: support `/btw` in CLI-backed sessions and keep CLI usage-error exits classified as usage failures instead of successful runs. (#92669, #92162) Thanks @joshavant and @Pandah97.
- Usage hooks: add built-in full footer rendering, default footer templates, per-turn usage state, credential-aware limits, and fixed-decimal formatting for usage-bar templates. (#92657, #89835, #89629) Thanks @Marvinthebored.
- Docs and operator guidance: document node config examples, clarify before-install hook scope, correct agent default concurrency comments, refresh ZAI provider docs, and update channel/group docs for current Telegram and WhatsApp behavior. (#92677, #92766, #92695) Thanks @liuhao1024, @sallyom, and @ArielSmoliar.
### Fixes
- Channels and delivery: preserve account-scoped DM channel send policy, intentional rich-message line breaks in Telegram and status output, rich Telegram final replies, rich Telegram tables and lists, Telegram thread-create CLI remapping, Feishu dynamic-agent routes after persisted binding reuse, Slack outbound `message_sent` hooks, contributed message-tool schema optionality, same-channel generated media completions, and channel chunking around surrogate pairs and Infinity limits. (#92788, #93164, #92679, #89421, #89943, #42837, #92814, #91137, #91246, #92735) Thanks @yetval, @obviyus, @spacegeologist, @rishitamrakar, @liuhao1024, @lundog, @TurboTheTurtle, and @yhterrance.
- Discord: give generated auto-thread titles a 60-second timeout and 4,096-token reasoning-model output budget, clamped to the selected model output cap. (#64734) Thanks @hanamizuki.
- Agent, cron, and Gateway runtime: mark active main sessions before restart shutdown aborts, pause yielded subagent runs whose terminal also signals abort, clamp trusted subagent thinking overrides through provider/model fallback, preserve yielded media completions, deliver channel message-tool final replies through auto-reply while hiding internal delivery hints, restore reset archive fallback reads when active async transcripts are missing, de-duplicate main-session heartbeat events, expose session identity in runtime prompts, reject unknown OpenAI agent selectors, keep generated media completions, slash-command block replies, and trajectory export commands in WebChat, and require admin privileges for HTTP session/model override surfaces. (#91357, #92631, #92412, #92146, #92879, #91287, #92468, #92510, #91246, #92651, #92646) Thanks @ooiuuii, @openperf, @IWhatsskill, @masatohoshino, @CadanHu, @ZengWen-DT, @zhangguiping-xydt, and @TurboTheTurtle.
- Providers and model replay: preserve storeless OpenAI Responses replay compatibility, recover invalid OpenAI reasoning signatures and genericized Anthropic thinking-signature replay errors, route OAuth image defaults through Codex for eligible OpenAI profiles, avoid eager tool streaming for Claude 4.5 in Copilot, quarantine unreadable and post-hook OpenAI/Anthropic-family tool schemas without broadening allowed tool choices, deliver explicit thinking-off requests to LM Studio binary-thinking models, honor profile auth for SecretRef model entries, bound model browsing, strip provider prefixes where runtimes need bare IDs, and surface nested embedding fetch failures. (#90706, #92941, #92201, #92916, #92824, #75393, #92908, #92921, #92928, #92002, #90686, #92247, #92627, #91218, #92628) Thanks @snowzlm, @mmyzwl, @CarlCapital, @bek91, @Kailigithub, @vincentkoc, @rohitjavvadi, @samson910022, @nxmxbbd, @liuhao1024, @bymle, and @mushuiyu886.
- Memory, state, diagnostics, and config: split header-too-large embedding batches, keep QMD memory search enabled in transient mode, avoid SQLite WAL on NFS volumes, preserve recovery scheduling outside stuck-session warning backoff, preserve full-reindex rollback/cache recovery, treat raw Memory Wiki source pages as source evidence, and keep shell environment fallbacks contained in config write tests. (#92650, #92618, #92639, #91247, #92752, #92881, #59137, #92876, #69700) Thanks @mushuiyu886, @TurboTheTurtle, @849261680, @gnanam1990, @TSHOGX, and @arlen8411.
- UI/mobile/TUI: preserve dashboard session parent lineage, WebChat backscroll, reset soft command args, sidebar session picker interactivity, collapsed workspace files, resolved `/model` confirmation refs, stale foreground iOS Gateway reconnects, and paused setup-parent stdin after inherited-stdio child exit. (#90658, #92622, #91353, #92705, #92779, #92773, #92552, #93159) Thanks @luoyanglang, @TurboTheTurtle, @zhouhe-xydt, @NianJiuZst, @shakkernerd, @NarahariRaghava, @Solvely-Colin, and @fuller-stack-dev.
- Release and test reliability: extend slow Gateway/full-suite watchdogs, split local full-suite shards when throttled, stabilize plugin auth marker fixtures, avoid brittle provider-ref error text, fold Telegram RTT sampling into live QA evidence, simplify QA scorecard mappings around canonical coverage IDs, keep QA Lab bootstrap selection assertions aligned with flow-only scenarios, skip QA coverage artifact consumers when runtime parity producer status is not green, keep Feishu lifecycle release checks pointed at the active fixture config, isolate trajectory-export live seed turns from Codex-native shell approvals, preserve release-check child refs while pinning expected SHAs, widen live OpenAI TTS budgets for slower provider responses, and avoid false downgrade prompts for unresolved latest-tag updates. (#92652, #92550, #92558, #92911) Thanks @RomneyDa and @Andy312432.
### Release verification
- npm package: https://www.npmjs.com/package/openclaw/v/2026.6.8-beta.2
- registry tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.6.8-beta.2.tgz
- integrity: `sha512-44ab7b24zUY14dpEVt9TZpd6o6PfbYfnNjSbALHULsCkE7e1ju+ZOia46EawvRLqbYqOwjM9oucnbk7P9/eWsQ==`
- release SHA: `b1736723d716b1abe1f8d324772371661146f3b8`
- release publish: https://github.com/openclaw/openclaw/actions/runs/27587320308
- postpublish recovery: exact npm install, 35 npm plugins, and 35 ClawHub packages verified after registry propagation
- npm preflight: https://github.com/openclaw/openclaw/actions/runs/27582865457
- full release validation: https://github.com/openclaw/openclaw/actions/runs/27584541070
- plugin npm publish: https://github.com/openclaw/openclaw/actions/runs/27587508776
- plugin ClawHub publish: https://github.com/openclaw/openclaw/actions/runs/27587512198
- plugin ClawHub bootstrap: not needed
- OpenClaw npm publish: https://github.com/openclaw/openclaw/actions/runs/27587814328
- npm Telegram beta E2E: https://github.com/openclaw/openclaw/actions/runs/27588410701