Skip to content

v3.3.0 发布说明 🚀

大家久等了。本次姗姗来迟的 v3.3.0 是我们项目建立以来最大的一次功能更新,汇聚了来自15位贡献者的60多个PR和Commit,整合和测试压力巨大。(写Release Note压力也很大,总感觉漏了点啥,大家有发现记得联系我修改)。

本次更新重点聚焦在 更可感知的 AI Card 体验、更多原生交互能力、更完整的附件/引用链路,以及更稳的 Stream 长连接与回复收尾。其中有几个值得大家尽快体验的亮点:

  • AI Card 实时流式预览优化PR #341(by @Zhumin-lv-wn)引入 CardDraftController / DraftStreamLoop,支持更平滑的 thinking / answer 预览,并提供 cardRealTimeStream 配置开关。
  • 原生 ackReaction / emoji 思考反馈PR #287(by @kansousama)与最终清理落地的 PR #344(by @ming1523)共同补强思考中反馈与 reaction 配置能力。
  • 宽屏 AI Card 与可导入模板PR #271(by @soimy)扩展卡片模板形态,降低大段内容在桌面端的压缩感。
  • learn 学习命令与多目标规则管理PR #281(by @ming1523)扩展规则学习和命令路由能力。

✨ 新功能 (New Features)

  1. AI Card 与交互体验增强 (AI Card & Interaction)
  • 引入 AI Card 实时流式预览优化PR #341(by @Zhumin-lv-wn)新增 CardDraftController / DraftStreamLoop,支持更平滑的 thinking / answer 预览,并提供 cardRealTimeStream 配置开关。
  • 支持宽屏 AI Card 与可导入模板PR #271(by @soimy)扩展卡片模板形态,降低大段内容在桌面端的压缩感。
  • thinking 提示语支持配置化PR #214(by @androidshu)允许自定义默认思考中提示。
  • 支持 emoji / native ack reaction 反馈模式PR #287(by @kansousama)与最终清理落地的 PR #344(by @ming1523)共同补强思考中反馈与 reaction 配置能力。
  • 优化 Markdown 表格发送兼容性PR #300(by @ming1523)改善钉钉客户端对表格内容的展示一致性。
  1. 路由、命令与配置能力扩展 (Routing, Commands & Configuration)
  • 支持 named account 继承 channel 级默认配置PR #194(by @qiffang)简化多账号配置复用。
  • 在群聊系统提示中补充 senderDingtalkId / senderNamePR #239(by @wulien)增强 group prompt 的身份上下文。
  • 增加 learn rule 生命周期与多目标命令PR #281(by @ming1523)扩展规则学习和命令路由能力。
  • 新增 DingTalk 文档 gateway methodsPR #301(by @ming1523)补齐文档类能力入口。
  • 支持 owner 控制群共享会话别名PR #307(by @ming1523)增强群聊多会话治理。
  • 补充多 agent / 多 bot 绑定说明PR #328(by @dxsup)完善多机器人场景的接入文档。
  1. 引用消息、附件与内容理解增强 (Quoted Messages & Attachments)
  • 完善引用消息能力与回补路径PR #250/#263/#279(by @Zhumin-lv-wn)逐步补齐 quoted message、原始消息恢复和 quoted file 匹配能力。
  • 增加基于持久化的 quote journal fallbackPR #251(by @soimy)让 originalMsgId 丢失时仍有机会恢复引用上下文。
  • 支持 PDF / DOCX 入站附件正文抽取PR #298(by @ming1523)将文档正文解析进上下文,显著增强文件类消息可用性。
  • 图片消息上下文保留入站媒体路径PR #246(by @androidshu)让后续能力更容易消费入站图片文件。

🛠 修复与稳定性改进 (Fixes & Stability)

  1. AI Card 与回复链路修复 (AI Card & Reply Fixes)
  • 修复重启后卡片遗留和 finalize 卡死问题PR #217(by @androidshu)补上重启后 stuck AI Card 的恢复与 finalize 收尾。
  • 增加 AI Card 熔断与错误降级能力PR #253(by @ming1523)为短时异常引入 circuit breaker,减少连续失败时的卡片链路抖动。
  • 修复 reasoning 内容重复堆叠PR #291(by @aoxiaotian-ai)将 reasoning stream 切换为 replace 模式,缓解 AI Card 重复输出。
  • 支持多个 final chunk 正确收尾PR #326(by @huww98)补齐多次 final chunk 场景,避免最终内容被吞。
  • 修复卡片 final/tool deliver 的空文本保护PR #346(by @aoxiaotian-ai)避免 textToSend 为空时直接打断后续发送。
  • 修复 finalize 使用内容不完整与多轮 tool call 收尾错误PR #348/#350/#352(by @Zhumin-lv-wn)连续收敛 accumulated content 与 AI Card streaming finalization 的边界问题。
  • 停止原因不再被静默吞掉PR #231(by @huww98)修复异常/停止场景下无用户可见反馈的问题。
  • 入站回包支持发送 MEDIA 附件PR #311(by @LazyBug1E0CF)补齐 inbound reply handler 的媒体投递路径。
  • chatRecord 空载荷时给出明确提示PR #257(by @ming1523)避免转发/聊天记录消息表现为空白。
  1. Stream 连接与发送稳定性修复 (Connection & Delivery Stability)
  • 补充官方流式连接排障文档与诊断信息PR #249(by @soimy)新增连接问题排查文档,便于定位 400/503/断流类问题。
  • 修复 health monitor 误判导致的 stale-socket 重启循环PR #265(by @soimy)减少僵尸连接误判后的重复重连。
  • 增加系统休眠后的 WebSocket 恢复检测PR #280(by @jotcmd)增强桌面/服务器休眠恢复后的连接自愈能力。
  • 引入多层防御的 Stream 重连策略PR #308(by @Zhumin-lv-wn)补强 disconnect 监听、warm reconnect、idle timeout 与僵尸连接检测。
  • 调大健康检查间隔与 grace window,降低 reconnect storm 风险PR #323(by @zwj0117),并由 PR #325(by @aoxiaotian-ai)补齐测试时序。
  • 恢复 connection manager heartbeat 监控基线PR #343(by @soimy)在 quiet stream 场景下重新校准连接保活逻辑。
  • 修复冷启动后主动发送偶发 400PR #313(by @bkloveming)引入 peer ID registry 的 lazy preload 预热机制,避免 delivery queue 初次发送失败。
  • 修复 action send 的 mediaUrl 上传预处理PR #248(by @androidshu)补强远端 URL / 本地路径分流与上传前准备。
  • 修复 dashboard Unsupported schema nodePR #324(by @soimy)恢复配置 schema 在 UI / Raw 路径下的一致性。
  • Windows 路径兼容性得到补强PR #241(by @suyili)修复了路径解析导致的重复目录问题,对本地文件/图片发送场景更友好。

📌 行为调整说明 (Notes)

  • 异步回执模式未纳入本次最终行为基线PR #295(by @ming1523)曾引入异步回执模式,但随后在 PR #334(by @soimy)中回滚。因此当前版本不应将该能力视为稳定默认行为。
  • thinking reaction 经过一次回滚后重新干净落地PR #332(by @ming1523)为早期版本,随后被回退;最终以 PR #344 的清理版本重新合入主线。
  • 还有一些优秀的PR,因为大家都在期待新版本的关系,为了不影响节奏顺延到下个小版本的发布中再合并。

🤝 贡献者 (Contributors)

感谢本版本周期的贡献者:

  • @qiffang
  • @androidshu
  • @soimy
  • @Zhumin-lv-wn
  • @ming1523
  • @huww98
  • @wulien
  • @suyili
  • @jotcmd
  • @kansousama
  • @aoxiaotian-ai
  • @LazyBug1E0CF
  • @bkloveming
  • @zwj0117
  • @dxsup

🌟 新贡献者(New Contributors)

  • @qiffang first contribution in #194
  • @huww98 first contribution in #221
  • @wulien first contribution in #239
  • @suyili first contribution in #241
  • @ming1523 first contribution in #257
  • @jotcmd first contribution in #280
  • @kansousama first contribution in #287
  • @aoxiaotian-ai first contribution in #291
  • @LazyBug1E0CF first contribution in #311
  • @bkloveming first contribution in #313
  • @zwj0117 first contribution in #323

Full Changelog: https://github.com/soimy/openclaw-channel-dingtalk/compare/v3.2.0...v3.3.0