Appearance
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)
- 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)改善钉钉客户端对表格内容的展示一致性。
- 路由、命令与配置能力扩展 (Routing, Commands & Configuration)
- 支持 named account 继承 channel 级默认配置:
PR #194(by @qiffang)简化多账号配置复用。 - 在群聊系统提示中补充
senderDingtalkId/senderName:PR #239(by @wulien)增强 group prompt 的身份上下文。 - 增加 learn rule 生命周期与多目标命令:
PR #281(by @ming1523)扩展规则学习和命令路由能力。 - 新增 DingTalk 文档 gateway methods:
PR #301(by @ming1523)补齐文档类能力入口。 - 支持 owner 控制群共享会话别名:
PR #307(by @ming1523)增强群聊多会话治理。 - 补充多 agent / 多 bot 绑定说明:
PR #328(by @dxsup)完善多机器人场景的接入文档。
- 引用消息、附件与内容理解增强 (Quoted Messages & Attachments)
- 完善引用消息能力与回补路径:
PR #250/#263/#279(by @Zhumin-lv-wn)逐步补齐 quoted message、原始消息恢复和 quoted file 匹配能力。 - 增加基于持久化的 quote journal fallback:
PR #251(by @soimy)让originalMsgId丢失时仍有机会恢复引用上下文。 - 支持 PDF / DOCX 入站附件正文抽取:
PR #298(by @ming1523)将文档正文解析进上下文,显著增强文件类消息可用性。 - 图片消息上下文保留入站媒体路径:
PR #246(by @androidshu)让后续能力更容易消费入站图片文件。
🛠 修复与稳定性改进 (Fixes & Stability)
- 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)避免转发/聊天记录消息表现为空白。
- 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 场景下重新校准连接保活逻辑。 - 修复冷启动后主动发送偶发 400:
PR #313(by @bkloveming)引入 peer ID registry 的 lazy preload 预热机制,避免 delivery queue 初次发送失败。 - 修复 action send 的
mediaUrl上传预处理:PR #248(by @androidshu)补强远端 URL / 本地路径分流与上传前准备。 - 修复 dashboard
Unsupported schema node:PR #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