v3.6.11 发布说明
本次 patch 版本恢复内联指令(语音 / 回复引用)解析与 OpenClaw 2026.8.x 宿主的兼容性:2026.8 起 openclaw/plugin-sdk/text-runtime 子路径被移除,插件改为在 src/messaging/inline-directives.ts 本地复现宿主语义,同时保持代码块内指令 tag 的字面量行为;入站信封格式化则改为直接引用 openclaw/plugin-sdk/channel-inbound 的独立导出。
最新版本入口:latest.md
🛠 兼容性与修复
-
内联指令解析兼容 OpenClaw 2026.8.x 宿主
PR #597(by @slzszyt-ux)新增本地parseInlineDirectives实现,不再引用 2026.8 已移除的openclaw/plugin-sdk/text-runtime子路径,语音(audio_as_voice)与回复(reply_to/reply_to_current)指令解析在 2026.8 宿主上恢复正常。- 代码块(inline / 围栏 / 缩进)内的指令 tag 一律按字面量处理:不被剥离,也不触发语音或回复语义;指令剥离与空白归一化均不再使用失效的原始偏移。
[[...]]未匹配任何已知指令时原样返回,不做空白规范化,避免误伤方括号 markdown / LaTeX。
-
入站信封格式化改用 SDK 独立导出
- 2026.8.x 起
rt.channel.reply.formatInboundEnvelope已从插件运行时门面移除,入站处理改为直接从openclaw/plugin-sdk/channel-inbound导入formatInboundEnvelope,修复运行时抛出rt.channel.reply.formatInboundEnvelope is not a function、钉钉消息通过鉴权后无法回复的问题;引用消息单测同步改为 mock 新的导入点。 PR #607(by @liqingfei)独立定位并修复了同一处门面移除问题,其formatInboundEnvelope修复方案与PR #601(commit09c68638)的最终实现一致;因修复内容已随本版本发布,该 PR 按 superseded 关闭。- 该 PR 同时提出的
resolveEnvelopeFormatOptions直连导入未采纳:该成员在 OpenClaw2026.8.1~2026.9.2的运行时门面中仍然保留,无需改动。
- 2026.8.x 起
📦 兼容性与依赖
- 最低宿主版本维持
2026.7.1-2:本功能使用的代码区域辅助findCodeRegions/isInsideCode自该版本起由openclaw/plugin-sdk/text-chunking公开导出。 - 同一份代码同时兼容 OpenClaw
2026.7.x与2026.8.x宿主线,不新增依赖要求。
Important
已将 OpenClaw 宿主升级到 2026.8.x 的用户,请同步升级到本版本或更高版本,以保留语音 / 回复内联指令能力。
🤝 鸣谢
感谢 @slzszyt-ux 与 @liqingfei 的 PR 贡献。@liqingfei 独立定位并提交了 formatInboundEnvelope 门面移除的修复(PR #607),虽因与 PR #601 内容重复未能合入,但对问题的确认与排查提供了帮助。
发布页面:https://github.com/soimy/openclaw-channel-dingtalk/releases/tag/v3.6.11
Full Changelog: v3.6.10...v3.6.11