## 2026.6.8
### 亮点
- Telegram 和 WhatsApp 频道消息投递更丰富、更稳定:Telegram 可发送包含表格、列表、可展开引用块的结构化富文本,支持保留提示词的命令行后端投递、已废弃原生草稿迁移,以及更安全的富媒体边界;WhatsApp 现可遵循已配置的 ACP 绑定。(#92679, #84082, #89421, #92513)感谢 @obviyus、@jzakirov、@spacegeologist 和 @TurboTheTurtle。
- Agent 和 Gateway 在账户级 DM 发送、生成式媒体补全、重启时中止关闭、暂停的子 agent、暂停的 cron 媒体、心跳去重、会话身份提示以及未知的 OpenAI agent 选择器拒绝等场景下的恢复能力更精准。(#92788, #91246, #91357, #92631, #92146, #91287, #92468, #92510)感谢 @yetval、@TurboTheTurtle、@ooiuuii、@openperf、@IWhatsskill、@ZengWen-DT 和 @zhangguiping-xydt。
- 提供商/模型处理得到扩展和收紧:新增 GLM-5.2、Claude Haiku 4.5 目录行,OpenRouter 和 Google Vertex 提供商前缀标准化,托管 SecretRef 认证,限定模型浏览发现,无存储 OpenAI Responses 重放门控,以及 Claude 4.5 Copilot 工具流安全性。(#92796, #90116, #92627, #91218, #90686, #92247, #90706, #75393)感谢 @arkyu2077、@liuhao1024、@bymle、@rohitjavvadi、@samson910022、@snowzlm 和 @Kailigithub。
- `/usage` 和回复负载钩子现支持原生完整页脚渲染器、默认模板、固定小数位格式化、凭据感知限制、更好的部分计数处理,以及针对损坏模板的警告(不再静默输出错误结果)。(#92657, #89835, #89629)感谢 @Marvinthebored。
- UI 和移动端流程更稳定:工作区文件可折叠且默认收起,WebChat 回滚在流式传输中正常工作,侧边栏会话选择器在桌面工作台之上保持可交互,重置软参数在 UI 调度后存活,过时仪表盘会话的父级关系得以保留,iOS 可重连过时的前台网关。(#92779, #92622, #92705, #91353, #90658, #92552)感谢 @shakkernerd、@TurboTheTurtle、@NianJiuZst、@zhouhe-xydt、@luoyanglang 和 @Solvely-Colin。
- 内存、状态和诊断恢复更干净:过大的 OpenAI 嵌入批次在 431s 前拆分,QMD 内存搜索在瞬态模式下保持可用,SQLite 在 NFS 状态卷上避免使用 WAL,卡住会话的恢复调度不再重置警告退避,Infinity 分块限制保持真正无界。(#92650, #92618, #92639, #91247, #92752, #92735)感谢 @mushuiyu886、@TurboTheTurtle、@849261680、@gnanam1990 和 @yhterrance。
### 变更
- 提供商/模型:新增 GLM-5.2 支持和 Claude Haiku 4.5 目录条目,同时保持提供商限定模型 ID 在 OpenRouter 和 Google Vertex 路径间的标准化。(#92796, #90116, #92627, #91218)感谢 @arkyu2077、@liuhao1024 和 @bymle。
- 频道插件:推出 Telegram 富消息投递和 WhatsApp ACP 绑定支持,包括富提示词向 CLI 后端的传递,以及用于更丰富草稿的传输工具。(#92679, #92513)感谢 @obviyus 和 @TurboTheTurtle。
- Agent 命令:在 CLI 后端会话中支持 `/btw`,并将 CLI 使用错误退出归类为使用失败而非成功运行。(#92669, #92162)感谢 @joshavant 和 @Pandah97。
- 用量钩子:新增内置完整页脚渲染、默认页脚模板、每轮用量状态、凭据感知限制,以及用于用量条模板的固定小数位格式化。(#92657, #89835, #89629)感谢 @Marvinthebored。
- 文档和运维指南:记录节点配置示例,明确安装前钩子作用域,修正 agent 默认并发注释,更新 ZAI 提供商文档,并根据当前 Telegram 和 WhatsApp 行为更新频道/群组文档。(#92677, #92766, #92695)感谢 @liuhao1024、@sallyom 和 @ArielSmoliar。
### 修复
- 频道与投递:保留账户级 DM 频道发送策略、Telegram 富文本最终回复、Telegram 富表格和列表、Telegram 线程创建 CLI 重映射、Slack 出站 `message_sent` 钩子、贡献消息工具架构可选性、同频道生成式媒体补全,以及围绕代理对和 Infinity 限制的频道分块。(#92788, #92679, #89421, #89943, #91137, #91246, #92735)感谢 @yetval、@obviyus、@spacegeologist、@rishitamrakar、@lundog、@TurboTheTurtle 和 @yhterrance。
- Agent、cron 和 Gateway 运行时:在重启关闭中止前标记活跃主会话,暂停其终端也发出中止信号的子 agent 运行,保留已产生的媒体补全,对主会话心跳事件去重,在运行时提示中暴露会话身份,拒绝未知的 OpenAI agent 选择器,在 WebChat 中保留生成的媒体补全和斜杠命令块回复,并要求 HTTP 会话/模型覆盖界面需要管理员权限。(#91357, #92631, #92146, #91287, #92468, #92510, #91246, #92651, #92646)感谢 @ooiuuii、@openperf、@IWhatsskill、@ZengWen-DT、@zhangguiping-xydt 和 @TurboTheTurtle。
- 提供商与模型重放:保持无存储 OpenAI Responses 重放兼容性,避免 Claude 4.5 在 Copilot 中的急切工具流,对 SecretRef 模型条目使用配置文件认证,限制模型浏览,在运行时需要裸 ID 的地方去除提供商前缀,并暴露嵌套嵌入获取失败。(#90706, #75393, #90686, #92247, #92627, #91218, #92628)感谢 @snowzlm、@Kailigithub、@rohitjavvadi、@samson910022、@liuhao1024、@bymle 和 @mushuiyu886。
- 内存、状态、诊断与配置:拆分头部过大的嵌入批次,在瞬态模式下保持 QMD 内存搜索启用,避免 SQLite 在 NFS 卷上使用 WAL,保留卡住会话警告退避之外的恢复调度,并在配置写入测试中保持 shell 环境回退限制。(#92650, #92618, #92639, #91247, #92752)感谢 @mushuiyu886、@TurboTheTurtle、@849261680 和 @gnanam1990。
- UI/移动端/TUI:保留仪表盘会话父级关系、WebChat 回滚、重置软命令参数、侧边栏会话选择器可交互性、可折叠工作区文件、已解析的 `/model` 确认引用,以及过时前台 iOS Gateway 重连。(#90658, #92622, #91353, #92705, #92779, #92773, #92552)感谢 @luoyanglang、@TurboTheTurtle、@zhouhe-xydt、@NianJiuZst、@shakkernerd、@NarahariRaghava 和 @Solvely-Colin。
- 发布与测试可靠性:延长慢速 Gateway/全套件看门狗,在限流时拆分本地全套件分片,稳定插件认证标记工具,避免脆弱的提供商引用错误文本,并使 QA Lab 引导选择断言与仅流程场景保持一致。(#92652)
## 2026.6.8
### Highlights
- Telegram and WhatsApp channel delivery are richer and less brittle: Telegram can send structured rich text with tables, lists, expandable blockquotes, prompt-preserving CLI backend delivery, retired native draft migration, and safer rich-media boundaries, while WhatsApp now honors configured ACP bindings. (#92679, #84082, #89421, #92513) Thanks @obviyus, @jzakirov, @spacegeologist, and @TurboTheTurtle.
- Agent and Gateway recovery is sharper across account-scoped DM sends, generated media completions, restart shutdown aborts, yielded subagent pauses, yielded cron media, heartbeat dedupe, session identity prompts, and unknown OpenAI agent selector rejection. (#92788, #91246, #91357, #92631, #92146, #91287, #92468, #92510) Thanks @yetval, @TurboTheTurtle, @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, bounded model browse discovery, storeless OpenAI Responses replay gating, and Claude 4.5 Copilot tool-streaming safety. (#92796, #90116, #92627, #91218, #90686, #92247, #90706, #75393) Thanks @arkyu2077, @liuhao1024, @bymle, @rohitjavvadi, @samson910022, @snowzlm, and @Kailigithub.
- `/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, and Infinity chunk limits stay genuinely unbounded. (#92650, #92618, #92639, #91247, #92752, #92735) Thanks @mushuiyu886, @TurboTheTurtle, @849261680, @gnanam1990, 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 rich prompt handoff to CLI backends and transport fixtures for richer drafts. (#92679, #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, rich Telegram final replies, rich Telegram tables and lists, Telegram thread-create CLI remapping, 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, #92679, #89421, #89943, #91137, #91246, #92735) Thanks @yetval, @obviyus, @spacegeologist, @rishitamrakar, @lundog, @TurboTheTurtle, and @yhterrance.
- Agent, cron, and Gateway runtime: mark active main sessions before restart shutdown aborts, pause yielded subagent runs whose terminal also signals abort, preserve yielded media completions, de-duplicate main-session heartbeat events, expose session identity in runtime prompts, reject unknown OpenAI agent selectors, keep generated media completions and slash-command block replies in WebChat, and require admin privileges for HTTP session/model override surfaces. (#91357, #92631, #92146, #91287, #92468, #92510, #91246, #92651, #92646) Thanks @ooiuuii, @openperf, @IWhatsskill, @ZengWen-DT, @zhangguiping-xydt, and @TurboTheTurtle.
- Providers and model replay: preserve storeless OpenAI Responses replay compatibility, avoid eager tool streaming for Claude 4.5 in Copilot, 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, #75393, #90686, #92247, #92627, #91218, #92628) Thanks @snowzlm, @Kailigithub, @rohitjavvadi, @samson910022, @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, and keep shell environment fallbacks contained in config write tests. (#92650, #92618, #92639, #91247, #92752) Thanks @mushuiyu886, @TurboTheTurtle, @849261680, and @gnanam1990.
- 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, and stale foreground iOS Gateway reconnects. (#90658, #92622, #91353, #92705, #92779, #92773, #92552) Thanks @luoyanglang, @TurboTheTurtle, @zhouhe-xydt, @NianJiuZst, @shakkernerd, @NarahariRaghava, and @Solvely-Colin.
- 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, and keep QA Lab bootstrap selection assertions aligned with flow-only scenarios. (#92652)